What are these ASCII tables all about?
As may be guessed from its name, the folder ASCII.TAB contains a variety of ASCII tables for the converter part of the (!AIE) (import\export) driver. These ASCII tables must carry the file extender *.ATT (stands for ASCII Transformation Table) combined with any desired filename.
The thing that matters is their content, and as these files are constructed as pure ASCII they are easily read, and can be opened and edited with any ASCII editor – even with the (!AIE) driver.
Please take a closer look at the existing drivers. They are all
constructed in the same simple manner and you can alter them more or
less freely to suit your requirements. Just go along with James Dean
(because they do not know what they are doing ...
).
Here is a very simple example of such an ATT-file, which does no more than convert all capital A's of a file during import to capital B's.
================================================================================ CALAMUS ATT # ATT = ASCII Transformation Table DISPLAYNAME=A -> B # maxlen = 15 VALUEFORMAT=1 # 0 = hex, 1 = dec # comment lines start with '#', # empty lines are ignored. # 1st value = source # 2nd value = target 065=066 # A becomes B ================================================================================ |
If you cut the text between the two horizontal lines and save it
to a file named A_TO_B.ATT in the A
characters to B
– and who hasn't always wanted to do that ...?
The file must always start with a so-called Header
(CALAMUS
ATT). If these 13 characters are missing at the start then the file
will be ignored by the (!AIE) driver.
This is followed by a line containing a magic word
,
DISPLAYNAME=
, with which you can assign any desired name to
this ATT table. You could also name this converter John
, but
you will certainly be able to find a more sensible and meaningful
name.
This is followed by the magic word VALUEFORMAT=
. If you put
a 1
after this then the following values will be interpreted as
decimal values
, whereas if you put a 0
the (!AIE) driver
expects so-called Hexadecimal values
for the character
conversions.
Between and after these lines you can see some comments, which
always start with a #
character. To look at it another way: As
soon as a #
appears in a line, the rest of the line will be
ignored.
After this comes the last, and in this example only, converter
instruction: 065=066
. As the VALUEFORMAT is set to 1 (decimal),
this means that all characters with the decimal ASCII value 065 (A)
are to be converted, namely to a character with the decimal ASCII
value 066 (B).
You are likely to know some famous
ASCII values that you
can input in various programs (and of course Calamus) by holding down
the [Alternate] key and quickly pressing a three-number sequence on
the numeric block at the right of your keyboard. The French (e
circumflex) for instance in Atari-ASCII has a decimal value of 136.
The Atari-ß (sz) takes the value 158, the similar greek Beta
character (á) is at 225, etc.
If after this long explanation for a small converter :-) you take another look at the other files of this type, you will quickly discover how you can define your own ASCII-converter tables to suit your own purposes.
Important: If you create your own tables for very special cases, or even just for everyday use that we have not yet covered, then we would be grateful if you would send these files to us so that we can include them directly with the (!AIE) driver. Make a note in a comment line that you have created the file and possibly where you can be contacted in order to agree improvements etc.