KERMIT 95 CYRILLIC CHARACTER-SET SUPPORT As of: Kermit 95 1.1.16 For: Windows 95, Windows NT, OS/2 Date: 8 February 1998 CONTENTS 1. CYRILLIC CHARACTER SETS 2. CYRILLIC FILE TRANSFER 3. CYRILLIC TERMINAL EMULATION 3.1. Windows 95 and Windows 98 3.2. Windows NT 3.3. OS/2 3.4. Configuring K95 for Cyrillic Terminal Emulation 3.4.1. The Local Character Set (Windows 95/98 Only) 3.4.2. The Remote Character Set 4. ENTERING CYRILLIC CHARACTERS ON THE KEYBOARD 1. CYRILLIC CHARACTER SETS The Cyrillic character sets known to Kermit 95 are: Kermit Name Type Description CYRILLIC-ISO 8-bit ISO 8859-5 Latin/Cyrillic, also called "New KOI8" KOI8 8-bit USSR Standard GOST 19768-76 ("Old KOI8") KOI7 7-bit ASCII with lowercase letters replaced by Cyrillic CP855 8-bit Cyrillic PC Code Page CP856(*) 8-bit Cyrillic PC Code Page used in Bulgaria CP866 8-bit Cyrillic PC Code Page used in former Soviet Union CP1251 8-bit Cyrillic Code Page for Windows KOI8 is the character set most widely used in newsgroups and email. CP1251 is sometimes seen in newsgroups -- its encoding is mostly the same as ISO Latin/Cyrillic, but with special Windows "word processing" characters added. CP855, CP856, and CP1251 are for terminal emulation only (i.e. not for file transfer), and were added after publication of "Using C-Kermit", 2nd Edition. (*) Note: At this writing there is some doubt about the identity and repertoire of CP856. It is indeed used in Bulgaria, but IBM lists this code page as Hebrew. ISO Latin/Cyrilic, CP855, and CP1251 include the Cyrillic letters needed for modern Belorussian, Bulgarian, Macedonian, Russian, Serbian, and Ukrainian. The others contain only the Cyrillic characters used in modern Russian orthography. KOI-7 contains only uppercase Roman and Cyrillic letters. 2. CYRILLIC FILE TRANSFER This is described fully in "Using C-Kermit" (both 1st and 2nd editions). 3. CYRILLIC TERMINAL EMULATION Kermit 95 can be used to read and write Cyrillic text on the host if you have a Cyrillic font or code page on your PC. The conditions under which you may do this depend on the specific operating system. 3.1. Windows 95 and Windows 98 In Windows 95 and Windows 98, Cyrillic terminal is possible if you have a Cyrillic code page, CP855, CP856, or CP866 loaded on your PC. However, it is not likely that you have one of these code pages, or can have it, unless you have installed a Cyrillic version of Windows; see the BUGS.TXT file for more information about this. As noted, CP856 and CP866 are sufficient only for modern Russian; CP855, though not widely used, includes the additional characters needed for Ukrainian, Belorussion, etc. 3.2. Windows NT Windows NT, unlike Windows 95 and Windows 98, supports Unicode in a Console window. You should be using Lucida Console as your font, in which case you'll always have Cyrillic terminal emulation available. Lucida Console also has a wider selection of Cyrillic letters, at least the full repertoire of ISO 8859-5, which, as noted, is sufficient for Bulgarian, Byelorussian, Macedonian, Serbocroatian, and Ukrainian, as well as Russian, and possibly also pre-1918 Russian and maybe other, more archaic forms. 3.3. OS/2 The OS/2 version of Kermit 95 comes with a Cyrillic "PC font" equivalent to Code Page 866, that you can load if you don't have a Russian version of OS/2. You can use this in fullscreen sessions only -- NOT in an OS/2 Window, and even then it works only if your video driver allows it. In Kermit/2, the command: SET TERMINAL CODE-PAGE 866 actually attempts to load the Cyrillic CP866 font into your video adapter (this can't be done in Windows 95 or Windows 98). 3.4. Configuring K95 for Cyrillic Terminal Emulation Use the following commands to enable Cyrillic terminal emulation in Kermit 95: SET TERMINAL TYPE VT220 ; (or other desired terminal type) SET TERMINAL LOCAL-CHARACTER-SET { CP855, CP856, CP866, CP1251 } SET TERMINAL REMOTE-CHARACTER-SET - { CYRILLIC-ISO, KOI8, SHORT-KOI, CP855, CP856, CP866, CP1251 } SET TERMINAL BYTESIZE 8 ; Not needed for Short-KOI Check your Kermit 95 character-set selection with SHOW CHARACTER-SETS. 3.4.1. The Local Character Set (Windows 95/98 Only) At the DOS prompt, type "CHCP" to see what Windows think your Console Code page is. If it reports CP866 or CP856 correctly, then you don't need to give a SET TERMINAL LOCAL-CHARACTER-SET, since Kermit 95 will find this out by itself. Otherwise, tell Kermit to: SET TERMINAL LOCAL-CHARACTER-SET CP866 ; (or CP855, or CP866) to let K95 know what the Console window is using, since in this case Windows will not report it correctly to Kermit. You should only specify the one that is actually used in your Console window. Windows does not give Kermit any ability to change it. 3.4.2. The Remote Character Set Choose the remote character set that is appropriate for the host or service you are connecting to. If you are using an 8-bit remote character set (i.e. any Cyrillic set except SHORT-KOI), you must also make sure that the remote host and the connection itself are set up for 8 data bits, no parity. Examples: stty pass8 (Some UNIX) stty -parenb (Some other UNIX) stty -evenp -oddp (Maybe another UNIX) stty cs8 (Another UNIX) stty -istrip (And another UNIX) char/on/8bt (AOS/VS) set terminal /eightbit (VMS) Some of the UNIX stty options might need to be used in combination, e.g.: stty cs8 -istrip (for example, on HP-UX 10.20) If you are going through a terminal server or other intermediate device, it too might need to be commanded into 8-bit transparency. 4. ENTERING CYRILLIC CHARACTERS ON THE KEYBOARD If you are using Windows 95, and you have a Cyrillic keyboard and driver, you might need to tell Kermit 95 to: SET WIN95 KEYBOARD CYRILLIC and then you can use your keyboard in the normal manner (this should not be necessary in recent versions of Kermit 95, but if you have problems, try it anyway). If you don't have a Cyrillic keyboard and driver, you can use Kermit 95's built-in Russian keyboard mode (it is called "Russian" because only the letters of the modern Russian alphabet are handled, due to lack of knowledge about where to put other Cyrillic letters such as Dje, Gje, Lje, Kje, Kze, Nje, I, Yi, Je, Ie, Tshe, etc -- or for that matter, lack of enough keys on Roman keyboards to accommodate them): . The \KkbRussian verb, which may be assigned to any key. By default, it is assigned to Ctrl-Alt-Shift-R. It switches the main keypad into Russian mode (see keymap below). When the keyboard is in Russian mode, the terminal type in the status line has "-R" appended to it, for example "VT220-R". . The \KkbEnglish verb to switch the main keypad back to English mode. The \KkbRussian verb can do this too, since it acts as an on/off switch. . Russian keyboard mode is cleared when you execute the \Kreset (reset terminal) function, which is assigned to Alt-r by default. Of course you can assign these verbs to any other keys of your choice: set key \368 \KkbRussian ; F1 enters Russian keyboard mode set key \369 \KkbEnglish ; F2 enters English keyboard mode The default Cyrillic key layout follows the one used by Microsoft Russian DOS and throughout the former USSR. The names of the Cyrillic letters are from the ISO 8859-5 Standard. The following table shows the key assignments when the keyboard is in Russian mode. If you do not like them, you can use the SET TERMINAL KEY command (new to Kermit 95 1.1.8) to create your own layout. The "code" is the CP866 value, which applies no matter what the remote terminal character set is (Kermit will translate). US key Scan Russian CP866 Equivalent SET KEY command (for CP866) ` 96 io 241 SET KEY \96 \241 ~ 126 Io 240 SET KEY \126 \240 @ 64 " 34 etc... # 35 No 252 (Numero sign) $ 36 % 37 ^ 94 : 58 q 113 i-kratkoye 169 (Lowercase Short i) Q 81 I-Kratkoye 137 (Uppercase Short I) w 119 tse 230 W 87 Tse 150 e 101 u 227 E 69 U 147 r 114 ka 170 R 82 Ka 138 t 116 ie 165 T 84 Ie 133 y 121 en 173 Y 89 En 141 u 117 ghe 163 U 85 Ghe 131 i 105 sha 232 I 73 Sha 152 o 111 shcha 233 See Note 1 O 79 Shcha 153 See Note 1 p 112 ze 167 P 80 Ze 135 [ 91 ha 229 { 123 Ha 149 ] 93 hard sign 234 See Note 2 } 125 Hard Sign 154 See Note 2 \ 92 / 47 a 97 ef 228 A 65 Ef 148 s 115 yeri 235 S 83 Yeri 155 d 100 ve 162 D 68 Ve 130 f 102 a 160 F 70 A 128 g 103 pe 175 G 71 Pe 143 h 104 er 224 H 72 Er 144 j 106 o 174 J 74 O 142 k 107 el 171 K 75 El 139 l 108 de 164 L 76 De 132 ; 59 e 237 : 58 E 157 z 122 ya 239 Z 90 Ya 159 x 120 che 231 X 88 Che 151 c 99 es 225 C 67 Es 145 v 118 em 172 V 86 Em 140 b 98 i 168 B 66 I 136 n 110 te 226 N 78 Te 146 m 109 soft sign 236 M 77 Soft Sign 156 , 44 be 161 < 60 Be 129 . 46 yu 238 > 62 Yu 158 / 47 . 46 ? 63 , 44 Note 1: On Belorussian keyboards, upper and lowercase letter shcha is replaced by upper and lowercase Cyrillic letter I (the one that looks just like a Roman I, not the one that looks like a reverse Roman N). This letter does not exist in code page 866, but you can substitute Roman letter I if desired. Note 2: On Belorussian keyboards, upper and lowercase hard sign is replaced by upper and lowercase Belorussian letter Short U: SET KEY \93 \247 ; Map ] to lowercase Short u SET KEY \125 \246 ; Map } to uppercase Short U On Ukrainian keyboards, these same keys are mapped to Ukrainian letter Yi (looks like Roman I with two dots instead of one): SET KEY \93 \244 ; Map ] to lowercase yi SET KEY \125 \245 ; Map } to uppercase Yi See Table VIII-6 in "Using C-Kermit" pp.470-473 for complete Cyrillic character-set listings for ISO 8859-5, CP866, KOI-8, and Short KOI. To define your own Cyrillic key map, create a file containing the desired SET TERM KEY RUSSIAN commands, in which the assigned values are CP866 values. TAKE this file, and then whenever you execute the \KkbRussian verb, your keyboard will have the mappings defined in this file. (End of CYRILLIC.TXT)