Code Page Setup

A code page as used in TinyTERM is a list of character codes equated to Term Character Set numbers (TCS). Code pages are usually defined to support specific languages or groups of languages which share common writing systems. For example, Code Page 1251 provides character codes for the Russian alphabet. Also Code pages can support different graphic characters such as line draw characters and other symbols for different uses.

This document is to help our users who need to modify their code pages to support foreign languages and/or graphic character sets.

Types of Code Pages

There are two basic types of code pages, Input or "*.cpi", this means that it lists the character number then the TCS number, such as "128=1117". Output or "*.cpo" code page lists the TCS number first then the character number, e.g. "1117=128". A code page can have both input and output and most will. TCS numbers go from 512 to approximately 1117. In general TCS numbers are equal to the font number plus 512 for characters in the first font. Key code, font or character numbers are usually 0 to 255. The TCS number for a character can be found by going to the "Edit Keyboard Map" - "Sessions" - "Keyboard" - "Edit" -"Chart Open". ( See Fig. 1 Keyboard Mapper) Then Drag and Drop a character from one of the four Chart Pages (See Fig. 2 Chart Page) to the "Value Viewer" line. On the "Value" line it will display the TCS number in brackets such as <1117>. On the "Value Viewer" line the symbol or character is displayed. (See Fig. 1) To find the key code, font or character number the Microsoft Character Mapper set for the desired font can be used or any font map for the font in question

Fig. 1 Keyboard Mapper
Fig. 2 Chart

There are at present four places code pages are used. When a key is pressed by the user the Keyboard Code Page is used to get the TCS number from the key. The Transmit code page is used to convert the TCS number to a character number to transmit to the host. The host echos back this character and the Receive code page gets a TCS number from this input. The Font code pages are then used to get the proper font and character number for the emulator display. These code pages will now be discussed in more detail.

Keyboard Code Page

The Keyboard code page is found in TinyTERM in the "Sessions" - "Code Page" Dialog. (See Fig. 3 Code Page) This is an input type code page and quite often is identical to the Receive code page, so that the same code page can be used for both. The Keyboard code page gets the key number of the key that was pressed by the user and equates it to a TCS number that is used by the Transmit Code page to find the host key. IMPORTANT if a key is mapped to a different character or sequence of characters, using the Keyboard Mapper (See Fig. 1 Keyboard Mapper) the Keyboard code page is not used, the TCS number or numbers from the mapping are used instead.

Fig. 3 Code Page

Transmit Code Page

The Transmit Code Page is also found in TinyTERM in the "Sessions" - "Code Page" Dialog. (See Fig. 3 Code Page) This is an output type code page. The TCS number from the "Keyboard code page" or mapped TCS numbers are used to find a number that the host will recognize for the character in question, this number is then sent to the host. If only the first font is used, the Transmit code page could be identical to the Font code page.

Receive Code Page

The Receive Code Page is also found in TinyTERM in the "Sessions" - "Code Page" Dialog. (See Fig. 3 Code Page) The Receive Code Page is an input type code page. This code page quite often is identical to the "Keyboard code page". This code page gets a character number from the host and equates it to a TCS number that is in turn used for the input to the Font Code page. This input could have been the result of a key being echoed, in which case would most likely be the same character code that was sent to the host, or could be a data stream coming from the host.

Font Code Pages

The Font Code Pages are found in TinyTERM in the "Sessions" - "Fonts" Dialog. (See Fig. 4 Font 1 Code Page) If you go to the "Fonts" dialog you will see a list of fonts under "Font/Code Page display order" and a list of code pages under "Code Page for selected font". When you click on each of the fonts you will see in the "Code Page for selected font" its code page. EACH font has its own Font code page. (See Fig. 5 - 7) If you want to change the code page for the selected font you can do so by just selecting a different code page, then select "OK" or "Apply" and then save the tpx session. This code page will be now be designated for the chosen font. If not saved, the next time the program is run, the old font code pages will again be used. The Font Code page is an output code page.

IMPORTANT if a font code page has the TCS number equal to a zero such as "1117=0", then this font will not be used and the program will go to the next font to look for a font number in the next fonts code page. When the program finds a number such as "1117=198". The font and the font character number are sent to the emulator screen to be displayed. If no font number can be found after searching each of the font code pages, then a "?" will be displayed using the default font.

Advanced Code Page Settings

These code pages are for specific emulators or other uses and will not be discussed here. (See Fig. 3 Code Page)

Fig. 4 Font 1 Code Page
Fig. 5 Font 2 Code Page
Fig. 6 Font 3 Code Page
Fig. 7 Font 7 Code Page

Examples

Using Term as the 1st font. Derive the code page entries for "+" which has the TCS number 555, the host, font and key numbers is "43".

Use Font 4 TermTCS3 character 198 (0xC6) Euro Symbol "_" (TCS number 1117) and output to the Host a 128 (0x80).

The United Kingdom keyboard has a "ª" which is in both font 1(Term) and TermTCS1 (font 2). The key number is 172(0xAC), the TrueType output to the Host is also 172; but the TCS number is 682 (512+170=682), this is because in the Term font the character number is 170. Configure the code pages for both the 1st font and the 2nd font.

The German and French keyboards have a "" which is in font 2 (TermTCS1). The key, font and host number is 167; the TCS Number is 533.