📄 ckuxla.c
字号:
#ifdef CYRILLIC "cp866-cyrillic", FC_CP866, 0, /* CP866 Cyrillic */ "cyrillic-iso", FC_CYRILL, 0, /* ISO Latin/Cyrillic Alphabet */#endif /* CYRILLIC */ "danish", FC_NOASCII, 0, /* Norwegian and Danish NRC */#ifdef KANJI "dec-kanji", FC_JDEC, 0, /* Japanese DEC Kanji */#endif /* KANJI */ "dec-multinational", FC_DECMCS, 0, /* DEC multinational character set */ "dg-international", FC_DGMCS, 0, /* Data General multinational */ "dutch", FC_DUASCII, 0, /* Dutch NRC */ "finnish", FC_FIASCII, 0, /* Finnish NRC */ "french", FC_FRASCII, 0, /* French NRC */ "fr-canadian", FC_FCASCII, CM_INV, /* French Canadian NRC */ "german", FC_GEASCII, 0, /* German NRC */ "hungarian", FC_HUASCII, 0, /* Hungarian NRC */ "italian", FC_ITASCII, 0, /* Italian NRC */#ifdef KANJI "japanese-euc", FC_JEUC, 0, /* Japanese EUC */ "jis7-kanji", FC_JIS7, 0, /* Japanese JIS7 7bit code */#endif /* KANJI */#ifdef CYRILLIC "koi8-cyrillic", FC_KOI8, 0, /* Old KOI-8 Cyrillic */#endif /* CYRILLIC */#ifdef LATIN2 "l", FC_1LATIN, CM_ABR|CM_INV, "la", FC_1LATIN, CM_ABR|CM_INV, "lat", FC_1LATIN, CM_ABR|CM_INV, "lati", FC_1LATIN, CM_ABR|CM_INV, "latin", FC_1LATIN, CM_ABR|CM_INV,#endif /* LATIN2 */ "latin1-iso", FC_1LATIN, 0, /* ISO Latin Alphabet 1 */#ifdef LATIN2 "latin2-iso", FC_2LATIN, 0, /* ISO Latin Alphabet 2 */#endif /* LATIN2 */ "macintosh-latin", FC_APPQD, 0, /* "Extended Mac Latin" */ "next-multinational", FC_NEXT, 0, /* NeXT workstation */ "norwegian", FC_NOASCII, 0, /* Norwegian and Danish NRC */ "portuguese", FC_POASCII, 0, /* Portuguese NRC */#ifdef KANJI "shift-jis-kanji", FC_SHJIS, 0, /* Japanese Kanji Shift-JIS */#endif /* KANJI */#ifdef CYRILLIC "short-koi", FC_KOI7, 0, /* Short KOI Cyrillic */#endif /* CYRILLIC */ "spanish", FC_SPASCII, 0, /* Spanish NRC */ "swedish", FC_SWASCII, 0, /* Swedish NRC */ "swiss", FC_CHASCII, 0 /* Swiss NRC */};int nfilc = (sizeof(fcstab) / sizeof(struct keytab)); /* size of this table */struct keytab ttcstab[] = { /* Keyword table for SET TERMINAL CHARACTER-SET *//* IMPORTANT: This table is a replica of fcstab, immediately above, with the addition of TRANSPARENT. If you make changes to this table, make the corresponding changes to fcstab.*//* Keyword Value Flags */ "apple-quickdraw", FC_APPQD, CM_INV, /* Apple Quickdraw */ "ascii", FC_USASCII, 0, /* ASCII */ "british", FC_UKASCII, 0, /* British NRC */ "canadian-french", FC_FCASCII, 0, /* French Canadian NRC */ "cp437", FC_CP437, 0, /* IBM CP437 */ "cp850", FC_CP850, 0, /* IBM CP850 */#ifdef LATIN2 "cp852", FC_CP852, 0, /* IBM CP852 */#endif /* LATIN2 */#ifdef CYRILLIC "cp866-cyrillic", FC_CP866, 0, /* CP866 Cyrillic */ "cyrillic-iso", FC_CYRILL, 0, /* ISO Latin/Cyrillic Alphabet */#endif /* CYRILLIC */ "danish", FC_NOASCII, 0, /* Norwegian and Danish NRC */#ifdef COMMENT#ifdef KANJI "dec-kanji", FC_JDEC, 0, /* Japanese DEC Kanji */#endif /* KANJI */#endif /* COMMENT */ "dec-multinational", FC_DECMCS, 0, /* DEC multinational character set */ "dg-international", FC_DGMCS, 0, /* Data General multinational */ "dutch", FC_DUASCII, 0, /* Dutch NRC */ "finnish", FC_FIASCII, 0, /* Finnish NRC */ "french", FC_FRASCII, 0, /* French NRC */ "fr-canadian", FC_FCASCII, CM_INV, /* French Canadian NRC */ "german", FC_GEASCII, 0, /* German NRC */ "hungarian", FC_HUASCII, 0, /* Hungarian NRC */ "italian", FC_ITASCII, 0, /* Italian NRC */#ifdef COMMENT/* Kanji terminal character sets not implemented yet */#ifdef KANJI "japanese-euc", FC_JEUC, 0, /* Japanese EUC */ "jis7-kanji", FC_JIS7, 0, /* Japanese JIS7 7bit code */#endif /* KANJI */#endif /* COMMENT */#ifdef CYRILLIC "koi8-cyrillic", FC_KOI8, 0, /* Old KOI-8 Cyrillic */#endif /* CYRILLIC */#ifdef LATIN2 "l", FC_1LATIN, CM_ABR|CM_INV, "la", FC_1LATIN, CM_ABR|CM_INV, "lat", FC_1LATIN, CM_ABR|CM_INV, "lati", FC_1LATIN, CM_ABR|CM_INV, "latin", FC_1LATIN, CM_ABR|CM_INV,#endif /* LATIN2 */ "latin1-iso", FC_1LATIN, 0, /* ISO Latin Alphabet 1 */#ifdef LATIN2 "latin2-iso", FC_2LATIN, 0, /* ISO Latin Alphabet 2 */#endif /* LATIN2 */ "macintosh-latin", FC_APPQD, 0, /* "Extended Mac Latin */ "next-multinational", FC_NEXT, 0, /* NeXT workstation */ "norwegian", FC_NOASCII, 0, /* Norwegian and Danish NRC */ "portuguese", FC_POASCII, 0, /* Portuguese NRC */#ifdef COMMENT/* Kanji terminal character sets not implemented yet. */#ifdef KANJI "shift-jis-kanji", FC_SHJIS, 0, /* Japanese Kanji Shift-JIS */#endif /* KANJI */#endif /* COMMENT */#ifdef CYRILLIC "short-koi", FC_KOI7, 0, /* Short KOI Cyrillic */#endif /* CYRILLIC */ "spanish", FC_SPASCII, 0, /* Spanish NRC */ "swedish", FC_SWASCII, 0, /* Swedish NRC */ "swiss", FC_CHASCII, 0, /* Swiss NRC */ "transparent", FC_TRANSP, 0 /* Transparent */};int ntermc = (sizeof(ttcstab) / sizeof(struct keytab)); /* size of table *//* Languages: This table allows C-Kermit to have a SET LANGUAGE command to apply special language-specific rules when translating from a character set that contains national characters into plain ASCII, like German umlaut-a becomes ae. Originally, I thought it would be a good idea to let SET LANGUAGE also select an appropriate FILE CHARACTER-SET and TRANSFER CHARACTER-SET automatically, and these are included in the langinfo structure. Later I realized that this was a bad idea. Users are confused by unexpected side effects. If this functionality is desired, it's better to define a macro to do it.*/struct langinfo langs[] = {/* Language code File Charset Xfer Charset Name */ L_USASCII, FC_USASCII, TC_USASCII, "ASCII (American English)", L_DANISH, FC_NOASCII, TC_1LATIN, "Danish", L_DUTCH, FC_DUASCII, TC_1LATIN, "Dutch", L_FINNISH, FC_FIASCII, TC_1LATIN, "Finnish", L_FRENCH, FC_FRASCII, TC_1LATIN, "French", L_GERMAN, FC_GEASCII, TC_1LATIN, "German", L_HUNGARIAN, FC_HUASCII, TC_2LATIN, "Hungarian", L_ICELANDIC, FC_USASCII, TC_1LATIN, "Icelandic", L_ITALIAN, FC_ITASCII, TC_1LATIN, "Italian",#ifdef KANJI L_JAPANESE, FC_JEUC, TC_JEUC, "Japanese",#endif /* KANJI */ L_NORWEGIAN, FC_NOASCII, TC_1LATIN, "Norwegian", L_PORTUGUESE, FC_POASCII, TC_1LATIN, "Portuguese",#ifdef CYRILLIC L_RUSSIAN, FC_CP866, TC_CYRILL, "Russian",#endif /* CYRILLIC */ L_SPANISH, FC_SPASCII, TC_1LATIN, "Spanish", L_SWEDISH, FC_SWASCII, TC_1LATIN, "Swedish", L_SWISS, FC_CHASCII, TC_1LATIN, "Swiss"};int nlangs = (sizeof(langs) / sizeof(struct langinfo));/* Keyword table for the SET LANGUAGE command. Only a few of these (German, Scandinavian, etc) actually do anything. The language is used to invoke special translation rules when converting from an 8-bit character set to ASCII; for example, German u-diaeresis becomes "ue", Dutch y-diaeresis becomes "ij". Languages without associated rules are invisible (CM_INV).*/struct keytab lngtab[] = { "ascii", L_USASCII, CM_INV, "danish", L_DANISH, 0, "dutch", L_DUTCH, 0, "english", L_USASCII, CM_INV, "finnish", L_FINNISH, 0, "french", L_FRENCH, 0, "german", L_GERMAN, 0, "hungarian", L_HUNGARIAN, CM_INV, "icelandic", L_ICELANDIC, 0, "italian", L_ITALIAN, CM_INV,#ifdef KANJI "japanese", L_JAPANESE, CM_INV,#endif /* KANJI */ "norwegian", L_NORWEGIAN, 0, "none", L_USASCII, 0, "portuguese", L_PORTUGUESE, CM_INV,#ifdef CYRILLIC "russian", L_RUSSIAN, 0,#endif /* CYRILLIC */ "spanish", L_SPANISH, CM_INV, "swedish", L_SWEDISH, 0,#ifdef CYRILLIC "ukrainian", L_RUSSIAN, 0#endif /* CYRILLIC */};int nlng = (sizeof(lngtab) / sizeof(struct keytab)); /* how many languages *//* Translation tables ... *//* For each pair of (transfer,file) character sets, we need two translation functions, one for sending, one for receiving.*//* Here is the first table, Latin-1 to ASCII, fully annotated... This one is absolutely NOT invertible, since we're going from an 8-bit set to a 7-bit set. Accented letters are mapped to unaccented equivalents, C1 control characters are all translated to "?", etc.*/CHARyl1as[] = { /* ISO 8859-1 Latin Alphabet 1 to US ASCII */ /* Source character Description => Translation */ /* Dec row/col Set */ 0, /* 000 00/00 C0 NUL Ctrl-@ => (self) */ 1, /* 001 00/01 C0 SOH Ctrl-A => (self) */ 2, /* 002 00/02 C0 STX Ctrl-B => (self) */ 3, /* 003 00/03 C0 ETX Ctrl-C => (self) */ 4, /* 004 00/04 C0 EOT Ctrl-D => (self) */ 5, /* 005 00/05 C0 ENQ Ctrl-E => (self) */ 6, /* 006 00/06 C0 ACK Ctrl-F => (self) */ 7, /* 007 00/07 C0 BEL Ctrl-G => (self) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -