The SYSGEN configuration utility/Invalid Translation Table
From CometWiki
[INVALID CHARACTER TRANSLATION]
Minimum requirements: . An Invalid Translation Table section is not required for inclusion in an INI file.
If this section is omitted, any invalid characters found in file names will be translated according to the default translation table.
Refer to the minimal INI file to see the minimum requirements to configure Comet.
The INVALID CHARACTER TRANSLATION section specifies how invalid characters found in legacy files names (i.e., characters that are not valid in DOS file names) are translated. The translation table will be applied to all files transferred from a Qantel to Comet system.
Do not rearrange the entries in this table (i.e., take the first table entry and place it fifth, and take the third entry and place it tenth, etc.). Doing so will scramble the table and you'll be left wondering what's going on.
If you want to change the entries in the table, merely change the first character in each INI line. For example, change the "Q" to another character.
Q ;Replaces = Q ;Replaces / Q ;Replaces \ Q ;Replaces * Q ;Replaces . Q ;Replaces " Q ;Replaces [ Q ;Replaces ] Q ;Replaces : Q ;Replaces | Q ;Replaces < Q ;Replaces > Q ;Replaces + Q ;Replaces ; Q ;Replaces , Q ;Replaces ?
The INVALID CHARACTER TRANSLATION group has 16 segment titles:
[INVALID CHARACTER TRANSLATION]
% ;Replaces = ~ ;Replaces / ' ;Replaces \ ( ;Replaces * - ;Replaces . Q ;Replaces " { ;Replaces [ } ;Replaces ] ! ;Replaces : ! ;Replaces | ( ;Replaces < ( ;Replaces > % ;Replaces + ! ;Replaces ; _ ;Replaces , % ;Replaces ?
The syntax rules employed in other segment groups (INI lines ending with a semicolon and options separated by commas) could not be employed here since these characters are part of the defined table above. When entering your INVALID CHARACTER TRANSLATION table, please enter it as seen above (except for your own table entries). Type the invalid character that needs to be translated in the first character position and do NOT change anything else.
There are two pitfalls with special characters in DOS file names. DOS reserves certain symbols (the asterisk, for example), which cannot be used in file names. While this usually is no problem for new Comet installations, it can be a problem for users converting from a legacy Qantel system (where virtually any ASCII character could be used in a file name).
You can create your own custom set of replacement characters or just use the Comet's default table, which is:
Default Translation Table
replace | with | replace | with | replace | with |
= | dash | " | ' | < | ( |
/ | ~ | [ | { | > | ) |
\ | ` | ] | Right curly bracket | Plus Sign | # |
* | Q | : | ! | ; | ! |
. | underscore | ! | , | _ | |
? | % |
Potential Problems
If you are designing your own translation table, beware of some problems that may arise. For example, to replace the "." (period) with an "_" (underscore). This will work as far as DOS is concerned, but could cause problems when used as a data file name within Comet, since the MTB compiler sees the underscore as a line continuation character (even if it is inside of quotation marks). This means you cannot successfully compile a program that uses a file name containing an underscore.
Another potential program is trying to replace the "=" (equal sign) with the "-" (minus sign). Once again, DOS will accept this without a problem. However, if you ever try to use the ATTRIB command to set or clear DOS file attributes (read-only, archive, system, hidden, etc.), and if the file name begins with a minus sign, you will be stuck. The ATTRIB command uses the minus sign as a switch to remove a file's attribute; it will not let you use the minus sign as the first character in a file name.