⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckuxla.c

📁 早期freebsd实现
💻 C
📖 第 1 页 / 共 5 页
字号:
#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 + -