Available character sets and code tables supplied
The following character sets are completely integrated in openFT:
Name of the CCS | Meaning |
ISO88591 to ISO8859B and | for the ASCII tables ISO8859-1 to ISO8859-11 and |
ISO646 | for the international 7-Bit ASCII table |
ISO646DE | for the german 7-Bit ASCII reference version |
EDF041 to EDF04A and | for the EBCDIC tables DF04-1 to DF04-10 and DF04-13 and DF04- |
EDF03IRV | for the international 7-Bit EBCDIC table |
EDF03DRV | for the german 7-Bit EBCDIC table |
UTF16 | for Unicode with UTF-16 coding (platform-specific endian) |
UTF8 | for Unicode with UTF-8 coding |
UTFE | for Unicode with the UTF-E coding |
UTF16LE | for Unicode with UTF-16 coding (little-endian) |
UTF16BE | for Unicode with UTF-16 coding (big-endian) |
UTFEIBM | for Unicode with the UTF-EBCDIC coding defined by IBM |
CP1252 | for ANSI character set with Euro symbol defined by Microsoft (s.o.) |
IBM1047 | for the OpenExtensions EBCDIC character set defined by IBM |
CP850 | for the OEM character set defined by Microsoft |
In addition, the code tables IBM037, IBM273 and IBM500 are stored in <openFT installation directory>.OPENFT.SYSCCS on installation. These tables were previously named FTCP037, FTCP273 and FTCP500.
Creating code tables for custom character sets
When migrating from openFT Version V9 (or earlier) to V12, custom code tables must be converted to the new format. It should be noted that the code tables in V9 converted in both directions between EBCDIC.DF.04-1 and the relevant custom code. In V12, the custom code must be mapped to UTF-16, which corresponds to mapping to ISO8859-1 (each character being prefixed by a 00 byte). Newly created code tables now allow characters to be represented that are not contained in ISO8859-1.
You must save the code tables as members in <openft qualifier>.<inst>.SYSCCS. This PO library is empty after installation.
The member name is the CCS name of the associated character set. Assembly is no longer required.
Structure of a code-conversion table
The text file must have the following structure:
The first line starts with a '#'.
The second character is an blank. The remainder of the line contains a comment which characterizes the code contained.
The second line contains an alphabetic character which can at present only have the value 'S'. 'S' stands for single-byte code, i.e. a character is always 1 byte in length.
The third line contains three numbers.
The first number is a 4-digit hexadecimal number. This defines the substitution character to be used if a Unicode character cannot be mapped to the code.
The second number is currently always '0'.
The third number is a decimal number which defines the number of code pages that follow. It currently always has the value '1'.
The following lines define the code pages and have the following structure:
The first of these lines contains the number of the code page in the form of a twodigit hexadecimal number. Currently, only code page 00 is permitted.
Each of the subsequent lines contains the assignment of a character to the corresponding 8-bit code position. A character is represented by its UTF-16 code in the form of a four-digit hexadecimal number. The values are arranged in 16 lines, each of which contains 16 4-digit hexadecimal numbers with no spaces.
Example for ISO8859-15 (Western Europe with Euro symbol)
# Encoding file: iso8859-15, single-byte S 003F 0 1 00 0000000100020003000400050006000700080009000A000B000C000D000E000F 0010001100120013001400150016001700180019001A001B001C001D001E001F 0020002100220023002400250026002700280029002A002B002C002D002E002F 0030003100320033003400350036003700380039003A003B003C003D003E003F 0040004100420043004400450046004700480049004A004B004C004D004E004F 0050005100520053005400550056005700580059005A005B005C005D005E005F 0060006100620063006400650066006700680069006A006B006C006D006E006F 0070007100720073007400750076007700780079007A007B007C007D007E007F 0080008100820083008400850086008700880089008A008B008C008D008E008F 0090009100920093009400950096009700980099009A009B009C009D009E009F 00A000A100A200A320AC00A5016000A7016100A900AA00AB00AC00AD00AE00AF 00B000B100B200B3017D00B500B600B7017E00B900BA00BB01520153017800BF 00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF 00D000D100D200D300D400D500D600D700D800D900DA00DB00DC00DD00DE00DF 00E000E100E200E300E400E500E600E700E800E900EA00EB00EC00ED00EE00EF 00F000F100F200F300F400F500F600F700F800F900FA00FB00FC00FD00FE00FF