ckcuni.c
资源名称:cku197.tar.Z [点击查看]
上传用户:dufan58
上传日期:2007-01-05
资源大小:3407k
文件大小:695k
源码类别:
通讯/手机编程
开发平台:
Windows_Unix
- 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
- 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
- 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
- 0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
- };
- struct x_to_unicode u_cp857 = {
- 128, 0, X2U_CP, AL_ROMAN,"PC Code Page 857","cp857", 0, NULL,
- 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, /* 0x80 */
- 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5, /* 0x88 */
- 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, /* 0x90 */
- 0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f, /* 0x98 */
- 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f, /* 0xa0 */
- 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, /* 0xa8 */
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0, /* 0xb0 */
- 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510, /* 0xb8 */
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3, /* 0xc0 */
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, /* 0xc8 */
- 0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, 0x20ac, 0x00cd, 0x00ce, /* 0xd0 */
- 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580, /* 0xd8 */
- 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0xfffd, /* 0xe0 */
- 0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x00af, 0x00b4, /* 0xe8 */
- 0x00ad, 0x00b1, 0xfffd, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8, /* 0xf0 */
- 0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 /* 0xf8 */
- };
- struct x_to_unicode u_cp858 = {
- 128, 0, X2U_CP, AL_ROMAN,"PC Code Page 858","cp858", 0, NULL,
- 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
- 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
- 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
- 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192,
- 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
- 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,
- 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
- 0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x20ac, 0x00cd, 0x00ce,
- 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,
- 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe,
- 0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4,
- 0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
- 0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
- };
- struct x_to_unicode u_cp862 = {
- 128, 0, X2U_CP, AL_HEBREW,"PC Code Page 862","cp862", 0, NULL,
- 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
- 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
- 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
- 0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
- 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
- 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
- 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
- 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
- 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
- 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
- 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
- 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
- 0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
- };
- struct x_to_unicode u_cp864 = {
- 128, 0, X2U_CP, AL_ARABIC,"PC Code Page 864","cp864", 0, NULL,
- 0x00b0, 0x00b7, 0x2219, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c,
- 0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518,
- 0x03b2, 0x221e, 0x03c6, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab,
- 0x00bb, 0xfef7, 0xfef8, 0xfffd, 0xfffd, 0xfefb, 0xfefc, 0xfffd,
- 0x00a0, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, 0xfffd, 0xfffd,
- 0xfe8e, 0xfe8f, 0xfe95, 0xfe99, 0x060c, 0xfe9d, 0xfea1, 0xfea5,
- 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
- 0x0668, 0x0669, 0xfed1, 0x061b, 0xfeb1, 0xfeb5, 0xfeb9, 0x061f,
- 0x00a2, 0xfe80, 0xfe81, 0xfe83, 0xfe85, 0xfeca, 0xfe8b, 0xfe8d,
- 0xfe91, 0xfe93, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0xfea9,
- 0xfeab, 0xfead, 0xfeaf, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0xfec1,
- 0xfec5, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0xfec9,
- 0x0640, 0xfed3, 0xfed7, 0xfedb, 0xfedf, 0xfee3, 0xfee7, 0xfeeb,
- 0xfeed, 0xfeef, 0xfef3, 0xfebd, 0xfecc, 0xfece, 0xfecd, 0xfee1,
- 0xfe7d, 0x0651, 0xfee5, 0xfee9, 0xfeec, 0xfef0, 0xfef2, 0xfed0,
- 0xfed5, 0xfef5, 0xfef6, 0xfedd, 0xfed9, 0xfef1, 0x25a0, 0xfffd
- };
- struct x_to_unicode u_cp866 = {
- 128, 0, X2U_CP, AL_CYRIL,"PC Code Page 866","cp866", 0, NULL,
- 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
- 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
- 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
- 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
- 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
- 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
- 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
- 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
- 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
- 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
- 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
- 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e,
- 0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0
- };
- struct x_to_unicode u_cp869 = {
- 128, 0, X2U_CP, AL_GREEK,"PC Code Page 869","cp869", 0, NULL,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x0386, 0xfffd,
- 0x00b7, 0x00ac, 0x00a6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389,
- 0x038a, 0x03aa, 0x038c, 0xfffd, 0xfffd, 0x038e, 0x03ab, 0x00a9,
- 0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af,
- 0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394,
- 0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb,
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c,
- 0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510,
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1,
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3,
- 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2,
- 0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580,
- 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd,
- 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x0384,
- 0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385,
- 0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0
- };
- /* Windows code pages */
- struct x_to_unicode u_cp1250 = { /* Windows Latin-2 */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1250","cp1250", 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0x005e, 0x2031, 0x0160, 0x003c, 0x015a, 0x0164, 0x017d, 0x0179, /* 88 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014, /* 90 */
- 0xfffd, 0x2122, 0x0161, 0x003e, 0x015b, 0x0165, 0x017e, 0x017a, /* 98 */
- 0x00A0, 0x02c7, 0x02d8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7, /* A0 */
- 0x00A8, 0x00a9, 0x015E, 0x00ab, 0x00ac, 0x002D, 0x00ae, 0x017B, /* A8 */
- 0x00B0, 0x00b1, 0x02DB, 0x0142, 0x00B4, 0x00b5, 0x00b6, 0x00b7, /* B0 */
- 0x00B8, 0x0105, 0x015F, 0x00bb, 0x013d, 0x02DD, 0x013E, 0x017C, /* B8 */
- 0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, /* C0 */
- 0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E,
- 0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7,
- 0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF,
- 0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7,
- 0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F,
- 0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7,
- 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9
- };
- struct x_to_unicode u_cp1251 = { /* Windows Cyrillic */
- 128, 0, X2U_CP, AL_CYRIL,"Windows Code Page 1251","cp1251", 0, NULL,
- 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0x20ac, 0x2031, 0x0409, 0x003c, 0x040a, 0x040c, 0x040b, 0x040f, /* 88 */
- 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014, /* 90 */
- 0x007e, 0x2122, 0x0459, 0x003e, 0x045a, 0x045c, 0x045b, 0x045f, /* 98 */
- 0x00A0, 0x040e, 0x045e, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, /* a0 */
- 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, /* a8 */
- 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, /* b0 */
- 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, /* b8 */
- 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* c0 */
- 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, /* c8 */
- 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* d0 */
- 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, /* d8 */
- 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* e0 */
- 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, /* e8 */
- 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* f0 */
- 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f /* f8 */
- };
- struct x_to_unicode u_cp1252 = { /* Windows Latin-1 */
- /*
- The following code points added September 1998:
- 0x80: Euro
- 0x8E: Latin Capital Letter Z with Caron
- 0x9E: Latin Small Letter Z with Caron
- Announced by Murray Sargent <murrays@microsoft.com> to Unicode consortium,
- email, 3 September 1998. The code page was changed in June 1998. The
- change is reflected in Windows 98 and "recent service packs" for Window 95
- and Windows NT 4.0.
- */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1252","cp1252", 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x005e, 0x2031, 0x0160, 0x003c, 0x0152, 0xfffd, 0x017D, 0xfffd,
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014,
- 0x007e, 0x2122, 0x0161, 0x003e, 0x0153, 0xfffd, 0x017E, 0x0178,
- 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
- 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
- 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
- 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
- 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
- 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF,
- 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
- 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
- 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
- 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF
- };
- struct x_to_unicode u_cp1253 = { /* Windows Greece */
- 128, 0, X2U_CP, AL_GREEK,"Windows Code Page 1253","cp1253", 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0xfffd, 0x2031, 0xfffd, 0x003c, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* 88 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014, /* 90 */
- 0xfffd, 0x2122, 0xfffd, 0x003e, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* 98 */
- 0x00A0, 0x00b7, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* a0 */
- 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* a8 */
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B7, 0x00B5, 0x00B6, 0x00B7, /* b0 */
- 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, /* b8 */
- 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, /* c0 */
- 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, /* c8 */
- 0x03a0, 0x03a1, 0xfffd, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, /* d0 */
- 0x03a8, 0x03a9, 0x03aA, 0x03aB, 0x03aC, 0x03aD, 0x03aE, 0x03aF, /* d8 */
- 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, /* e0 */
- 0x03b8, 0x03b9, 0x03bA, 0x03bB, 0x03bC, 0x03bD, 0x03bE, 0x03bF, /* e8 */
- 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, /* f0 */
- 0x03c8, 0x03c9, 0x03cA, 0x03cB, 0x03cC, 0x03cD, 0x03cE, 0xfffd /* f8 */
- };
- struct x_to_unicode u_cp1254 = { /* Windows Turkey */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1254","cp1254", 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0x005e, 0x2031, 0x0160, 0x003c, 0x0152, 0xfffd, 0xfffd, 0xfffd, /* 88 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014, /* 90 */
- 0x007e, 0x2122, 0x0161, 0x003e, 0x0153, 0xfffd, 0xfffd, 0x0178, /* 98 */
- 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
- 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
- 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
- 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
- 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
- 0x011e, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
- 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015e, 0x00DF,
- 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
- 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
- 0x011f, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
- 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015f, 0x00FF
- };
- struct x_to_unicode u_cp1255 = { /* Windows Hebrew */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1255 (Hebrew)","cp1255",
- 0, NULL,
- 0x20AC, 0xFFFD, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x02c6, 0x2030, 0xfffd, 0x2039, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
- 0x02dc, 0x2122, 0xfffd, 0x203a, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
- 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
- 0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,
- 0x05b8, 0x05b9, 0xfffd, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,
- 0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,
- 0x05f4, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
- 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
- 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
- 0x05e8, 0x05e9, 0x05ea, 0xfffd, 0xfffd, 0x200e, 0x200f, 0xfffd
- };
- struct x_to_unicode u_cp1256 = { /* Windows Arabic */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1256 (Arabic)","cp1256",
- 0, NULL,
- 0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x02c6, 0x2030, 0xfffd, 0x2039, 0x0152, 0x0686, 0x0698, 0xfffd, /* 88 */
- 0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, /* 90 */
- 0xfffd, 0x2122, 0xfffd, 0x003a, 0x0153, 0x200c, 0x200d, 0xfffd, /* 98 */
- 0x00A0, 0x060c, 0x00A2, 0x00A3, 0x00A4, 0x00a5, 0x00A6, 0x00A7, /* a0 */
- 0x00a8, 0x00A9, 0xfffd, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00af, /* a8 */
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00b4, 0x00B5, 0x00B6, 0x00B7, /* b0 */
- 0x00b8, 0x00B9, 0x061b, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061f, /* b8 */
- 0xfffd, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, /* c0 */
- 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f, /* c8 */
- 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7, /* d0 */
- 0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643, /* d8 */
- 0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7, /* e0 */
- 0x00e8, 0x00E9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef, /* e8 */
- 0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00F7, /* f0 */
- 0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0xfffd /* f8 */
- };
- struct x_to_unicode u_cp1257 = { /* Windows Latin-4 */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1257","cp1257", 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0xfffd, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0xfffd, 0x2031, 0xfffd, 0x003c, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* 88 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2012, 0x2014, /* 90 */
- 0xfffd, 0x2122, 0xfffd, 0x003e, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* 98 */
- 0x00A0, 0xfffd, 0x00A2, 0x00A3, 0x00A4, 0xfffd, 0x00A6, 0x00A7, /* a0 */
- 0x00d8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00c6, /* a8 */
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0xfffd, 0x00B5, 0x00B6, 0x00B7, /* b0 */
- 0x00f8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00e6, /* b8 */
- 0x0104, 0x012e, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, /* c0 */
- 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x00b7, /* c8 */
- 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00D5, 0x00D6, 0x00D7, /* d0 */
- 0x0172, 0x0141, 0x015A, 0x016a, 0x00DC, 0x017b, 0x017d, 0x00DF, /* d8 */
- 0x0105, 0x012f, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, /* e0 */
- 0x010D, 0x00E9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c, /* e8 */
- 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00F5, 0x00F6, 0x00F7, /* f0 */
- 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0xfffd /* f8 */
- };
- struct x_to_unicode u_cp1258 = { /* Windows Viet Nam */
- 128, 0, X2U_CP, AL_ROMAN,"Windows Code Page 1258 (Viet Nam)","cp1258",
- 0, NULL,
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, /* 80 */
- 0x02c6, 0x2030, 0xfffd, 0x2039, 0x0152, 0xfffd, 0xfffd, 0xfffd, /* 88 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, /* 90 */
- 0x02dc, 0x2122, 0xfffd, 0x203a, 0x0153, 0xfffd, 0xfffd, 0x0178, /* 98 */
- 0x00A0, 0x00a1, 0x00A2, 0x00A3, 0x00A4, 0x00a5, 0x00A6, 0x00A7, /* a0 */
- 0x00a8, 0x00A9, 0x00aa, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00af, /* a8 */
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00b4, 0x00B5, 0x00B6, 0x00B7, /* b0 */
- 0x00b8, 0x00B9, 0x00ba, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00bf, /* b8 */
- 0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00C4, 0x00C5, 0x00c6, 0x00c7, /* c0 */
- 0x00c8, 0x00C9, 0x00ca, 0x00cb, 0x0300, 0x00cd, 0x00ce, 0x00cf, /* c8 */
- 0x0110, 0x00d1, 0x0309, 0x00d3, 0x00d4, 0x01a0, 0x00D6, 0x00D7, /* d0 */
- 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00DC, 0x01af, 0x0303, 0x00DF, /* d8 */
- 0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00E4, 0x00E5, 0x00e6, 0x00d7, /* e0 */
- 0x00e8, 0x00E9, 0x00ea, 0x00eb, 0x0301, 0x00ed, 0x00ee, 0x00ef, /* e8 */
- 0x0111, 0x00f1, 0x0323, 0x00f3, 0x00f4, 0x01a1, 0x00F6, 0x00F7, /* f0 */
- 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x01b0, 0x20ab, 0x00ff /* f8 */
- };
- struct x_to_unicode u_cp37 = { /* EBCDIC U.S. */
- 256, 0, X2U_CP, AL_ROMAN,"Code Page 037 EBCDIC (U.S.)","cp037", 0, NULL,
- 0x0000, 0x0001, 0x0002, 0x0003, 0x009C, 0x0009, 0x0086, 0x007F,
- 0x0097, 0x008D, 0x008E, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
- 0x0010, 0x0011, 0x0012, 0x0013, 0x009D, 0x0085, 0x0008, 0x0087,
- 0x0018, 0x0019, 0x0092, 0x008F, 0x001C, 0x001D, 0x001E, 0x001F,
- 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000A, 0x0017, 0x001B,
- 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x0005, 0x0006, 0x0007,
- 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
- 0x0098, 0x0099, 0x009A, 0x009B, 0x0014, 0x0015, 0x009E, 0x001A,
- 0x0020, 0x00A0, 0x00E2, 0x00E4, 0x00E0, 0x00E1, 0x00E3, 0x00E5,
- 0x00E7, 0x00F1, 0x00A2, 0x002E, 0x003C, 0x0028, 0x002B, 0x007C,
- 0x0026, 0x00E9, 0x00EA, 0x00EB, 0x00E8, 0x00ED, 0x00EE, 0x00EF,
- 0x00EC, 0x00DF, 0x0021, 0x0024, 0x002A, 0x0029, 0x003B, 0x00AC,
- 0x002D, 0x002F, 0x00C2, 0x00C4, 0x00C0, 0x00C1, 0x00C3, 0x00C5,
- 0x00C7, 0x00D1, 0x00A6, 0x002C, 0x0025, 0x005F, 0x003E, 0x003F,
- 0x00F8, 0x00C9, 0x00CA, 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF,
- 0x00CC, 0x0060, 0x003A, 0x0023, 0x0040, 0x0027, 0x003D, 0x0022,
- 0x00D8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
- 0x0068, 0x0069, 0x00AB, 0x00BB, 0x00F0, 0x00FD, 0x00FE, 0x00B1,
- 0x00B0, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070,
- 0x0071, 0x0072, 0x00AA, 0x00BA, 0x00E6, 0x00B8, 0x00C6, 0x00A4,
- 0x00B5, 0x007E, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
- 0x0079, 0x007A, 0x00A1, 0x00BF, 0x00D0, 0x00DD, 0x00DE, 0x00AE,
- 0x005E, 0x00A3, 0x00A5, 0x00B7, 0x00A9, 0x00A7, 0x00B6, 0x00BC,
- 0x00BD, 0x00BE, 0x005B, 0x005D, 0x00AF, 0x00A8, 0x00B4, 0x00D7,
- 0x007B, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x00AD, 0x00F4, 0x00F6, 0x00F2, 0x00F3, 0x00F5,
- 0x007D, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, 0x0050,
- 0x0051, 0x0052, 0x00B9, 0x00FB, 0x00FC, 0x00F9, 0x00FA, 0x00FF,
- 0x005C, 0x00F7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
- 0x0059, 0x005A, 0x00B2, 0x00D4, 0x00D6, 0x00D2, 0x00D3, 0x00D5,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x00B3, 0x00DB, 0x00DC, 0x00D9, 0x00DA, 0x009F
- };
- /* Other proprietary 8-bit sets */
- struct x_to_unicode u_decmcs = {
- 96, 32, X2U_DEC|X2U_STD, AL_ROMAN, "DEC Multinational", "dec-mcs", 0, "%5",
- 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0xfffd, 0x00A5, 0xfffd, 0x00A7,
- 0x00A4, 0x00A9, 0x00AA, 0x00AB, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0xfffd, 0x00B5, 0x00B6, 0x00B7,
- 0xfffd, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0xfffd, 0x00BF,
- 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
- 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
- 0xfffd, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0152,
- 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0xfffd, 0x00DF,
- 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
- 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
- 0xfffd, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0153,
- 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0xfffd, 0x00FF
- };
- struct x_to_unicode u_hproman8 = {
- 96, 32, X2U_STD, AL_ROMAN, "Hewlett Packard Roman 8", "hp-roman8", 0, NULL,
- 0x00a0, 0x00c0, 0x00c2, 0x00c8, 0x00ca, 0x00cb, 0x00ce, 0x00cf,
- 0x00b4, 0x00a6, 0x00a9, 0x00a8, 0x00ac, 0x00d9, 0x00db, 0x20a4,
- 0x00af, 0x00dd, 0x00fd, 0x00b0, 0x00c7, 0x00e7, 0x00d1, 0x00f1,
- 0x00a1, 0x00bf, 0x00a4, 0x00a3, 0x00a5, 0x00a7, 0x0192, 0x00a2,
- 0x00e2, 0x00ea, 0x00f4, 0x00fb, 0x00e1, 0x00e9, 0x00f3, 0x00fa,
- 0x00e0, 0x00e8, 0x00f2, 0x00f9, 0x00e4, 0x00eb, 0x00f6, 0x00fc,
- 0x00c5, 0x00ee, 0x00d8, 0x00c6, 0x00e5, 0x00ed, 0x00f8, 0x00e6,
- 0x00c4, 0x00ec, 0x00d6, 0x00dc, 0x00c9, 0x00ef, 0x00df, 0x00d4,
- 0x00c1, 0x00c3, 0x00e3, 0x00d0, 0x00f0, 0x00cd, 0x00cc, 0x00d3,
- 0x00d2, 0x00d5, 0x00f5, 0x0160, 0x0161, 0x00da, 0x00b8, 0x00ff,
- 0x00de, 0x00fe, 0x00b7, 0x00b5, 0x00b6, 0x00be, 0x2015, 0x00bc,
- 0x00bd, 0x00aa, 0x00ba, 0x00ab, 0x2588, 0x00bb, 0x00b1, 0xfffd
- };
- struct x_to_unicode u_dgi = {
- 96,32,X2U_STD,AL_ROMAN,"Data General International","dg-international",0,NULL,
- 0x00a0, 0x00ac, 0x00bd, 0x00b5, 0x00b2, 0x00b3, 0x00a4, 0x00a2,
- 0x00a3, 0x00aa, 0x00ba, 0x00a1, 0x00bf, 0x00a9, 0x00ae, 0x2021,
- 0x00bb, 0x00ab, 0x00b6, 0x2122, 0x0192, 0x00a5, 0x00b1, 0x2264,
- 0x2265, 0x00b7, 0x00b8, 0x00a7, 0x00b0, 0x00a8, 0x00b4, 0x2191,
- 0x00c1, 0x00c0, 0x00c2, 0x00c4, 0x00c3, 0x00c5, 0x00c6, 0x00c7,
- 0x00c9, 0x00c8, 0x00ca, 0x00cb, 0x00cd, 0x00cc, 0x00ce, 0x00cf,
- 0x00d1, 0x00d3, 0x00d2, 0x00d4, 0x00d6, 0x00d5, 0x00d8, 0x0276,
- 0x00da, 0x00d9, 0x00db, 0x00dc, 0xfffd, 0x0178, 0xfffd, 0xfffd,
- 0x00e1, 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e6, 0x00e7,
- 0x00e9, 0x00e8, 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef,
- 0x00f1, 0x00f3, 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00f8, 0x0153,
- 0x00fa, 0x00f9, 0x00fb, 0x00fc, 0x00df, 0x00ff, 0xfffd, 0x2588
- };
- struct x_to_unicode u_nextstep = {
- 128, 0, 0, AL_ROMAN,"NeXTSTEP Multinational","next-multinational",0,NULL,
- 0x00a0, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c7,
- 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
- 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d9,
- 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00b5, 0x00d7, 0x00f7,
- 0x00a9, 0x00a1, 0x00a2, 0x00a3, 0x2044, 0x00a5, 0x0192, 0x00a7,
- 0x00a4, 0x2019, 0x201c, 0x00ab, 0x2039, 0x203a, 0xfb01, 0xfb02,
- 0x00ae, 0x2013, 0x2020, 0x2021, 0x00b7, 0x00a6, 0x00b6, 0x2022,
- 0x201a, 0x201e, 0x201d, 0x00bb, 0x2026, 0x2030, 0x00ac, 0x00bf,
- 0x00b9, 0x02cb, 0x00b4, 0x02c6, 0x02dc, 0x00af, 0x02d8, 0x02d9,
- 0x00a8, 0x00b2, 0x02da, 0x00b8, 0x00b3, 0x02dd, 0x02db, 0x02c7,
- 0x2014, 0x00b1, 0x00bc, 0x00bd, 0x00be, 0x00e0, 0x00e1, 0x00e2,
- 0x00e3, 0x00e4, 0x00e5, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb,
- 0x00ec, 0x00c6, 0x00ed, 0x00aa, 0x00ee, 0x00ef, 0x00f0, 0x00f1,
- 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00f2, 0x00f3, 0x00f4, 0x00f5,
- 0x00f6, 0x00e6, 0x00f9, 0x00fa, 0x00fb, 0x0131, 0x00fc, 0x00fd,
- 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x00ff, 0xfffd, 0xfffd
- };
- struct x_to_unicode u_maclatin = {
- 128, 0, 0, AL_ROMAN,"Macintosh Latin","maclatin", 0, NULL,
- 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1,
- 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8,
- 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3,
- 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC,
- 0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF,
- 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8,
- 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211,
- 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x2126, 0x00E6, 0x00F8,
- 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB,
- 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153,
- 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA,
- 0x00FF, 0x0178, 0x2044, 0x00A4, 0x00D0, 0x00F0, 0x00DE, 0x00FE,
- 0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1,
- 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4,
- 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC,
- 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7
- };
- struct x_to_unicode u_quickdraw = {
- 128, 0, 0, AL_ROMAN,"QuickDraw","quickdraw", 0, NULL,
- 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1,
- 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8,
- 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3,
- 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC,
- 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF,
- 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8,
- 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211,
- 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8,
- 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB,
- 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153,
- 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA,
- 0x00FF, 0x0178, 0x2044, 0x00A4, 0x2039, 0x203A, 0xFB01, 0xFB02,
- 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1,
- 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4,
- 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC,
- 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7
- };
- /* DEC special graphics / technical sets for VT emulation */
- #ifdef KERMITFONT
- struct x_to_unicode u_dectech = {
- 94, 33, X2U_DEC|X2U_STD,AL_ROMAN,"DEC Technical", "dec-technical", 0, ">",
- 0xE400, 0x250c, 0x2500, 0x2320, 0x2321, 0x2502, 0xE204,
- 0xE203, 0xE209, 0xE208, 0xE202, 0xE201, 0xE207, 0xE206, 0xE200,
- 0xE205, 0xE20D, 0xE20C, 0x2572, 0x2571, 0xE20E, 0xE20F, 0x232a,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x2264, 0x2260, 0x2265, 0x222b,
- 0x2234, 0x221d, 0x221e, 0x00f7, 0x2206, 0x2207, 0x03a6, 0x0393,
- 0x223c, 0x2243, 0x0398, 0x00d7, 0x039b, 0x21d4, 0x21d2, 0x2261,
- 0x220f, 0x03a8, 0xE401, 0x03a3, 0xFFFD, 0xfffd, 0x221a, 0x03a9,
- 0x039e, 0x03d2, 0x2282, 0x2283, 0x2229, 0x222a, 0x2227, 0x2228,
- 0x00ac, 0x03b1, 0x03b2, 0x03c7, 0x03b4, 0x03b5, 0x03c6, 0x03b3,
- 0x03b7, 0x03b9, 0x03b8, 0x03ba, 0x03bb, 0xFFFD, 0x03bd, 0x2202,
- 0x03c0, 0x03c8, 0x03c1, 0x03c3, 0x03c4, 0xFFFD, 0x0192, 0x03c9,
- 0x03be, 0x03c5, 0x03b6, 0x2190, 0x2191, 0x2192, 0x2193
- };
- #else
- struct x_to_unicode u_dectech = {
- 94, 33, X2U_DEC|X2U_STD,AL_ROMAN,"DEC Technical", "dec-technical", 0, ">",
- 0x221a, 0x250c, 0x2500, 0x2320, 0x2321, 0x2502, 0x2308, /* 21-27 */
- 0x230a, 0x2309, 0x230b, 0x256d, 0x2570, 0x256e, 0x256f, 0x2525, /* 28-2f */
- 0x251d, 0x2211, 0x2211, 0x2572, 0x2571, 0x231d, 0x231f, 0x232a, /* 30-37 */
- 0x005b, 0x2022, 0x005d, 0x00b1, 0x2264, 0x2260, 0x2265, 0x222b, /* 38-3f */
- 0x2234, 0x221d, 0x221e, 0x00f7, 0x25b3, 0x25bd, 0x03a6, 0x0393, /* 40-47 */
- 0x223c, 0x2243, 0x0398, 0x00d7, 0x039b, 0x21d4, 0x21d2, 0x2261, /* 48-4f */
- 0x220f, 0x03a8, 0x2218, 0x2211, 0x00a7, 0x00b6, 0x221a, 0x03a9, /* 50-57 */
- 0x039e, 0x03d2, 0x2282, 0x2283, 0x2229, 0x222a, 0x2227, 0x2228, /* 58-5f */
- 0x00ac, 0x03b1, 0x03b2, 0x03c7, 0x03b4, 0x03b5, 0x03c6, 0x03b3, /* 60-67 */
- 0x03b7, 0x03b9, 0x03b8, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x2202, /* 68-6f */
- 0x03c0, 0x03c8, 0x03c1, 0x03c3, 0x03c4, 0x0020, 0x0192, 0x03c9, /* 70-77 */
- 0x03be, 0x03c5, 0x03b6, 0x2190, 0x2191, 0x2192, 0x2193 /* 78-7e */
- };
- #endif /* KERMITFONT */
- #ifdef KERMITFONT
- struct x_to_unicode u_decspec = {
- 94,33,X2U_DEC|X2U_STD,AL_ROMAN,"DEC Special Graphics","dec-special",0,"0",
- 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x2666, 0x2591, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0, 0x00b1,
- 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c, 0xE311,
- 0xE313, 0xE315, 0xE317, 0xE319, 0x251c, 0x2524, 0x2534, 0x252c,
- 0x2502, 0x2264, 0x2265, 0x03c0, 0x2260, 0x00a3, 0x00B7
- };
- #else
- struct x_to_unicode u_decspec = {
- 94,33,X2U_DEC|X2U_STD,AL_ROMAN,"DEC Special Graphics","dec-special",0,"0",
- 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
- 0x2666, 0x2591, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0, 0x00b1,
- 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c, 0x2594,
- 0x2500, 0x2500, 0x2500, 0x2500, 0x251c, 0x2524, 0x2534, 0x252c,
- 0x2502, 0x2264, 0x2265, 0x03a0, 0x2260, 0x00a3, 0x00B7
- };
- #endif /* KERMITFONT */
- /*
- Hazeltine 1500/1520 graphic set. Includes several approximations:
- . (0,9) should be heavy black right arrow. Unicode has one of these
- at U+27A1 but...
- . (3,9) should be heavy black down arrow; Unicode doesn't have one.
- So we use the white versions of the heavy arrows instead.
- . (1,9) the letters "Pe" in one cell, doesn't exist in Unicode.
- Substitution is just "P".
- */
- struct x_to_unicode u_hz1500 = {
- 94,33,X2U_STD,AL_ROMAN,"Hazeltime Graphics","hz1500-graphics",0,"0",
- /* 0 1 2 3 4 5 6 7 */
- 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, /* 0 */
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, /* 1 */
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, /* 2 */
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, /* 3 */
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, /* 4 */
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, /* 5 */
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, /* 6 */
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, /* 7 */
- 0x2500, 0x2502, 0x253c, 0x2534, 0x252c, 0x2514, 0x250c, 0x00b1, /* 8 */
- 0x21e8, 0x0050, 0x00f7, 0x21e9, 0x2510, 0x2518, 0x251c, 0x2524, /* 9 */
- 0x0070, 0x0071, 0x0072, 0x250c, 0x0074, 0x0075, 0x0076, 0x0077, /* a */
- 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e /* b */
- };
- #ifdef KERMITFONT
- struct x_to_unicode u_heath19g = {
- 94,33,X2U_STD,AL_ROMAN,"Heath-19 Special Graphics","h19-special",0,NULL,
- 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x25cf, 0xe30b,
- 0x2502, 0x2500, 0x253c, 0x2510, 0x2518, 0x2514, 0x250c, 0x00b1,
- 0x2192, 0x2592, 0x00f7, 0x2193, 0xe321, 0xe320, 0xe322, 0xe328,
- 0x2580, 0xe325, 0xe30a, 0x252c, 0x2524, 0x2534, 0x251c, 0x2573,
- 0x2571, 0x2572, 0xe311, 0xe319, 0xe300, 0xe309, 0x00b6
- };
- #else
- struct x_to_unicode u_heath19g = {
- 94,33,X2U_STD,AL_ROMAN,"Heath-19 Special Graphics","h19-special",0,NULL,
- 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
- 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
- 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
- 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
- 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
- 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
- 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x25cf, 0x25e5,
- 0x2502, 0x2500, 0x253c, 0x2510, 0x2518, 0x2514, 0x250c, 0x00b1,
- 0x2192, 0x2592, 0x00f7, 0x2193, 0x2590, 0x258c, 0x258c, 0x2590,
- 0x2580, 0x2590, 0x25e4, 0x252c, 0x2524, 0x2534, 0x251c, 0x2573,
- 0x2571, 0x2572, 0x2500, 0x2500, 0x2502, 0x2502, 0x00b6
- };
- #endif /* KERMITFONT */
- /* DG Graphic sets - "KERMITFONT" these later... */
- /* Missing, backwards question mark
- eighth note
- "DT" control pic
- horizontal scan lines
- */
- struct x_to_unicode u_dgspec = { /* Needs to be checked */
- 94, 33, X2U_STD,AL_ROMAN,"DG Special Graphics","dg-specialgraphics",0,NULL,
- 0xfffd, 0xfffd, 0x2424, 0x2594, 0x2594, 0x2581, 0x2581,
- 0x25a1, 0x263a, 0x263b, 0x2665, 0x2663, 0x2660, 0x25cf, 0x25d8,
- 0x25cb, 0x25d9, 0x2642, 0x2640, 0x266a, 0x266c, 0x263c, 0x2195,
- 0x2583, 0x21a8, 0x231e, 0x2194, 0x2207, 0x00ff, 0x20a7, 0x00aa,
- 0x00ba, 0x231c, 0x231d, 0x2591, 0x2591, 0x2593, 0x2561, 0x2562,
- 0x2556, 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b,
- 0x255e, 0x255f, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550,
- 0x256c, 0x2567, 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552,
- 0x2553, 0x256b, 0x256a, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
- 0x0393, 0x03c0, 0x03a3, 0x03a6, 0x0398, 0x03d5, 0x03b5, 0x03a0,
- 0x039e, 0x00b7, 0x03b7, 0x25a0, 0x0178, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd
- };
- /* Missing: arrow-to-line, various orientations */
- struct x_to_unicode u_dgline = {
- 94, 33, X2U_STD,AL_ROMAN,"DG Line Drawing","dg-linedrawing",0,NULL,
- 0x250c, 0x2510, 0x2514, 0x2518, 0x252c, 0x2524, 0x251c,
- 0x2534, 0x253c, 0x2502, 0x2500, 0x219f, 0x21e5, 0x21e4, 0x21a1,
- 0x2506, 0x250f, 0x2513, 0x2517, 0x251b, 0x2533, 0x252b, 0x2523,
- 0x253b, 0x254b, 0x2503, 0x2501, 0x2504, 0x00f7, 0x00a2, 0x2122,
- 0x00ae, 0x00a9, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd
- };
- struct x_to_unicode u_dgword = {
- 94, 33, X2U_STD,AL_ROMAN,"DG Word Processing","dg-wordprocessing",0,NULL,
- 0x2308, 0x230a, 0x2309, 0x230b, 0x0192, 0x223c, 0x2202,
- 0xfffd, 0xfffd, 0x2320, 0x2321, 0x221a, 0xfffd, 0x221e, 0x221d,
- 0x2070, 0x00b9, 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077,
- 0x2078, 0x2079, 0x2260, 0xfffd, 0x21ef, 0xfffd, 0x21e5, 0x00b7,
- 0x203c, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
- 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
- 0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
- 0x03c9, 0x03a9, 0x0394, 0x00b6, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0x22a6, 0x25c6, 0x25b6, 0x25b7, 0x25c0, 0x25b2, 0x25bc, 0x2327,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x25e3, 0x25e2,
- 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
- 0x2088, 0x2089, 0xfffd, 0x2191, 0x2192, 0x2190, 0x2193
- };
- /* HP Graphic sets - "KERMITFONT" these later... */
- /*
- Many are missing from Unicode,
- Single-to-triple-line box-drawing characters.
- Double/double cross & some others.
- */
- struct x_to_unicode u_hpline = { /* Needs to be checked */
- 94, 33, X2U_STD,AL_ROMAN,"HP Line Drawing Graphics",
- "hp-line-drawing",0,NULL,
- 0x2520, 0x2528, 0x252f, 0x2537, 0x255f, 0x2562, 0x2564,
- 0x2567, 0x2551, 0x2542, 0x253f, 0x2550, 0x230a, 0x2502, 0x253c,
- 0x254b, 0x2523, 0x252b, 0x2533, 0x253b, 0x251c, 0x2524, 0x252c,
- 0x2534, 0x2550, 0x2503, 0x2501, 0x256b, 0x2308, 0x256a, 0x256c,
- 0x255e, 0x2517, 0x2549, 0x2588, 0x258c, 0x258e, 0x2514, 0x2518,
- 0x2510, 0x2555, 0x252c, 0x2556, 0x2556, 0x2547, 0x2548, 0x2555,
- 0x230b, 0x250f, 0x250c, 0x251b, 0x2510, 0x2524, 0x254a, 0x2513,
- 0x2584, 0x2309, 0x2582, 0x2561, 0x2504, 0x2559, 0x2576, 0x2565,
- 0x255e, 0x2517, 0x2549, 0x2588, 0x258c, 0x258e, 0x2514, 0x2518,
- 0x2510, 0x2555, 0x252c, 0x2556, 0x2556, 0x2547, 0x2548, 0x2555,
- 0x230b, 0x250f, 0x250c, 0x251b, 0x2510, 0x2524, 0x254a, 0x2513,
- 0x2584, 0x2309, 0x2582, 0x2561, 0x2504, 0x2559, 0x2576
- };
- struct x_to_unicode u_hpmath = {
- 94, 33, X2U_STD,AL_ROMAN,"HP Math/Technical","hp-math/technical",0,NULL,
- 0x221a, 0x2223, 0x00a7, 0x2207, 0x00b1, 0x03b1, 0x2320,
- 0x00f7, 0x2243, 0x03a0, 0x0393, 0x03c8, 0x2261, 0x03a6, 0x039e,
- 0x2070, 0x00b9, 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077,
- 0x2078, 0x2079, 0x03a9, 0x039b, 0x221e, 0x2321, 0x2020, 0x03a3,
- 0x00b6, 0x03b1, 0x03b2, 0x03c8, 0x03d5, 0x03b5, 0x2202, 0x03bb,
- 0x03b7, 0x03b9, 0x0398, 0x03ba, 0x03c9, 0x03bc, 0x03bd, 0x03c1,
- 0x03c0, 0x03b3, 0x03b8, 0x03c3, 0x03c4, 0x03be, 0x0394, 0x03b4,
- 0x00d7, 0x03c5, 0x03b6, 0x2191, 0x2192, 0x03d2, 0x2190, 0x2193,
- 0x00b6, 0x03b1, 0x03b2, 0x03c8, 0x03d5, 0x03b5, 0x2202, 0x03bb,
- 0x03b7, 0x03b9, 0x0398, 0x03ba, 0x03c9, 0x03bc, 0x03bd, 0x03c1,
- 0x03c0, 0x03b3, 0x03b8, 0x03c3, 0x03c4, 0x03be, 0x0394, 0x03b4,
- 0x00d7, 0x03c5, 0x03b6, 0x2191, 0x2192, 0x03d2, 0x2190
- };
- struct x_to_unicode u_tvig = {
- 15,65,0,0,"Televideo Special Graphics","tvi-special",0,NULL,
- 0x2570, 0x256D, 0x256E, 0x256F, 0x2514, 0x250C, 0x2510,
- 0x2518, 0x253C, 0x2502, 0x2500, 0x2524, 0x251C, 0x252C, 0x2534
- };
- struct x_to_unicode u_wyse_gn = {
- #ifdef COMMENT
- 16,16,0,0,"Wyse Normal-Mode Graphics","wy-graphics-normal",0,NULL,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591
- #else
- 80,48,0,0,"Wyse Normal-Mode Graphics","wy-graphics-normal",0,NULL,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591,
- 0x252C, 0x2514, 0x250C, 0x2510, 0x251C, 0x2518, 0x2502, 0x2588,
- 0x253C, 0x2524, 0x2500, 0x2592, 0x2550, 0x2534, 0x2551, 0x2591
- #endif /* COMMENT */
- };
- struct x_to_unicode u_wyse_g1 = {
- 79,48,0,0,"Wyse Graphics 1","wy-graphics-1",0,NULL,
- 0x2070, 0x00B9, 0x00B2, 0x00B3, 0x2074, 0x2075, 0x2075, 0x2077,
- 0x2078, 0x2079, 0xFFFD, 0xFFFD, 0x25BA, 0x25C4, 0x25B2, 0x25BC,
- 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
- 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
- 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
- 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
- 0x2088, 0x2089, 0x2518, 0x2510, 0x250C, 0x2514, 0x253C, 0x258C,
- 0x2590, 0x2500, 0x2584, 0x2580, 0x251C, 0x2524, 0x2534, 0x252C,
- 0x2502, 0xFFFD, 0x256E, 0x256F, 0x2570, 0x256D, 0x258C
- };
- struct x_to_unicode u_wyse_g2 = {
- 41,64,0,0,"Wyse Graphics 2","wy-graphics-2",0,NULL,
- 0x250C, 0xFFFD, 0xFFFD, 0xFFFD, 0x2510, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x2514, 0xFFFD, 0xFFFD, 0xFFFD, 0x2518, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x252C, 0xFFFD, 0xFFFD, 0xFFFD, 0x2524, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x251C, 0xFFFD, 0xFFFD, 0xFFFD, 0x2534, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x2500, 0xFFFD, 0xFFFD, 0xFFFD, 0x2502, 0xFFFD, 0xFFFD, 0xFFFD,
- 0x253C
- };
- #ifdef KERMITFONT
- struct x_to_unicode u_wyse_g3 = {
- 31,65,0,0,"Wyse Graphics 3","wy-graphics-3",0,NULL,
- 0x2570, 0x256D, 0x256E, 0x256F, 0x2514, 0x250C, 0x2510,
- 0x2518, 0x253C, 0x2502, 0x2500, 0x2524, 0x251C, 0x252C, 0x2534,
- 0xE311, 0xE319, 0x2666, 0xE328, 0xE321, 0xE320, 0xE322, 0x2590,
- 0x2584, 0x258C, 0x2580, 0xE323, 0xE326, 0xE327, 0xE329, 0x258C
- };
- #else
- struct x_to_unicode u_wyse_g3 = {
- 31,65,0,0,"Wyse Graphics 3","wy-graphics-3",0,NULL,
- 0x2570, 0x256D, 0x256E, 0x256F, 0x2514, 0x250C, 0x2510,
- 0x2518, 0x253C, 0x2502, 0x2500, 0x2524, 0x251C, 0x252C, 0x2534,
- 0x2500, 0x2500, 0x2666, 0x2590, 0x2590, 0x258c, 0x258c, 0x2590,
- 0x2584, 0x258C, 0x2580, 0x2588, 0x2588, 0x2588, 0x2588, 0x258C
- };
- #endif /* KERMITFONT */
- /*
- QNX Console -- This is exactly the same as CP437 except for the code
- point at 0xEE (epsilon vs element-of), which I think was just a mistake
- in reading glyphs by the QNX people, but who knows. Also the glyph at
- 0xED might be a fi (as it is in CP437, and as I have it here) or it might
- be a null-set symbol.
- */
- struct x_to_unicode u_qnxgrph = {
- 128,0,0,0,"QNX Console","qnx-console",0,NULL,
- 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, /* 128 */
- 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, /* 136 */
- 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, /* 144 */
- 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192, /* 152 */
- 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, /* 160 */
- 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, /* 168 */
- 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 176 */
- 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, /* 184 */
- 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, /* 192 */
- 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, /* 200 */
- 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, /* 208 */
- 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, /* 216 */
- 0x221d, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, /* 224 */
- 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x2208, 0x2229, /* 232 */
- 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, /* 240 */
- 0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25ae, 0x00a0 /* 248 */
- };
- struct x_to_unicode u_snibrack = {
- 94, 33, 0, 0,"Siemens Nixdorf 97801 Brackets","sni-brackets",0,"w",
- 0x2590, 0x258c, 0x2584, 0x2580, 0x2590, 0x258c, 0x2584, /* a0-7 */
- 0x2580, 0x2329, 0x2327, 0x25af, 0x00b7, 0x25b9, 0x25c1, 0x003c, /* a8-f */
- 0x253b, 0x2533, 0x2523, 0x252b, 0x2329, 0x232a, 0x2304, 0x2303, /* b0-7 */
- 0x25e4, 0x25e5, 0x25e3, 0x25e2, 0x253f, 0x231b, 0x25cf, 0x25cb, /* b8-f */
- 0x2502, 0x2500, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, /* c0-7 */
- 0x252c, 0x2534, 0x253c, 0x2192, 0x2190, 0x2191, 0x2193, 0x2575, /* c8-f */
- 0x2577, 0x25d4, 0x256d, 0x256e, 0x2570, 0x256f, 0x251c, 0x2524, /* d0-7 */
- 0x252c, 0x2534, 0x253c, 0x253c, 0x2592, 0x2591, 0x2592, 0x2593, /* d8-f */
- 0x2503, 0x2501, 0x250f, 0x2513, 0x2517, 0x251b, 0x2523, 0x252b, /* e0-7 */
- 0x2533, 0x253b, 0x254b, 0x279e, 0x2190, 0x2191, 0x2193, 0x2579, /* e8-f */
- 0x257b, 0x2261, 0x2554, 0x2557, 0x255a, 0x255d, 0x2523, 0x252b, /* f0-7 */
- 0x2533, 0x253b, 0x254b, 0x254b, 0x0393, 0x03c3, 0x03c4 /* f8-f */
- };
- struct x_to_unicode u_sniblanks = {
- 94, 33, 0, 0,"Siemens Nixdorf 97801 Blanks","sni-blanks",0,"y",
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* a0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* a8-f */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* b0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* b8-f */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* c0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* c8-f */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* d0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* d8-f */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* e0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* e8-f */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, /* f0-7 */
- 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020 /* f8-f */
- };
- struct x_to_unicode u_snifacet = {
- 94, 33, 0, 0,"Siemens Nixdorf 97801 Facet","sni-facet",0,"c",
- 0x0020, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2587, /* a1-a7 */
- 0x005f, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586, 0x2587, /* a8-af */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* b0-b7 */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* b8-bf */
- 0x2503, 0x2501, 0x250f, 0x2513, 0x2517, 0x251b, 0x2523, 0x252b, /* c0-c7 */
- 0x2533, 0x253b, 0x254b, 0x258f, 0x2595, 0xfffd, 0xfffd, 0xfffd, /* c8-cf */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* d0-d7 */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x2591, 0x2591, 0x2588, /* d8-df */
- 0x2503, 0x2501, 0x250f, 0x2513, 0x2517, 0x251b, 0x2523, 0x252b, /* e0-e7 */
- 0x2533, 0x253b, 0x254b, 0xfffd, 0xfffd, 0x2593, 0x2593, 0x0020, /* e8-ef */
- 0x2585, 0x2586, 0x2587, 0x2588, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* f0-f7 */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x2594, 0x2594, 0xfffd /* f8-fe */
- };
- struct x_to_unicode u_sniibm = {
- 94, 33, 0, 0,"Siemens Nixdorf 97801 IBM","sni-ibm",0,"v",
- 0x263a, 0x263b, 0x2665, 0x2666, 0x2663, 0x2660, 0x25cf,
- 0x25d8, 0x25cb, 0x25d9, 0x2642, 0x2640, 0x266a, 0x266b, 0x263c,
- 0x25ba, 0x25c4, 0x2195, 0x203c, 0x00b6, 0x25c1, 0x2582, 0x21a8,
- 0x2191, 0x2193, 0x2192, 0x2190, 0x2319, 0x2194, 0x25b4, 0x25be,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* Hex */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, /* bytes */
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0x2070, 0x00b9, 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077,
- 0x2078, 0x2079, 0x207b, 0x207a, 0xfffd, 0xfffd, 0x2320, 0x2321,
- 0x2080, 0x2081, 0x2082, 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
- 0x2088, 0x2089, 0x208b, 0x208a, 0x221e, 0x03b1, 0x03a6
- };
- struct x_to_unicode u_snieuro = {
- 94, 33, 0, 0,"Siemens Nixdorf 97801 Euro","sni-euro",0,"u",
- 0x00e0, 0x00e1, 0x00e2, 0x00e4, 0x00e5, 0x0105, 0x00e3,
- 0x0103, 0x00e6, 0x00e7, 0x010d, 0x0107, 0x00f0, 0x0111, 0x010f,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x011b, 0x0119, 0x011f, 0x0131,
- 0x00ee, 0x00ec, 0x01d0, 0x00ef, 0x0133, 0x013a, 0x0142, 0x013e,
- 0x0148, 0x0144, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f6, 0x00f5,
- 0x00f8, 0x0151, 0x0153, 0x00fe, 0x0159, 0x0155, 0x0161, 0x015b,
- 0x015f, 0x00df, 0x0163, 0x0165, 0x00f9, 0x00fa, 0x00fb, 0x00fc,
- 0x016f, 0x0171, 0x00fd, 0x00ff, 0x017e, 0x017a, 0x017c, 0x00c9,
- 0x00c5, 0x00c6, 0x00d0, 0x0130, 0x0132, 0x0167, 0x00d8, 0x0152,
- 0x00de, 0x00c4, 0x00d6, 0x00dc, 0x00a7, 0x0024, 0x00a3, 0x00ae,
- 0x00a9, 0x03a9, 0x00b5, 0x00b0, 0x00c7, 0x20a7, 0x03c0, 0x02d8,
- 0x00b4, 0x02dd, 0x00d1, 0x2514, 0x2518, 0x007e, 0x02c7
- };
- struct x_to_unicode u_smiley = {
- 32,0,X2U_CXG,0,"PC C0 Graphics","smiley-faces",0,NULL,
- 0x00a0, 0x263a, 0x263b, 0x2665, 0x2666, 0x2663, 0x2660, 0x2022,
- 0x25d8, 0x25ef, 0x25d9, 0x2642, 0x2640, 0x266a, 0x266c, 0x263c,
- 0x25ba, 0x25c4, 0x2195, 0x203c, 0x00b6, 0x00a7, 0x25ac, 0x21a8,
- 0x2191, 0x2193, 0x2192, 0x2190, 0x2319, 0x2194, 0x25b2, 0x25bc
- };
- struct x_to_unicode u_c0pics = {
- 128,0,X2U_CXG,0,"C0/C1 Display Controls","display-controls",0,NULL,
- 0x2400, 0x2401, 0x2402, 0x2403, 0x2404, 0x2405, 0x2406, 0x2407,
- 0x2408, 0x2409, 0x240a, 0x240b, 0x240c, 0x240d, 0x240e, 0x240f,
- 0x2410, 0x2411, 0x2412, 0x2413, 0x2414, 0x2415, 0x2416, 0x2417,
- 0x2418, 0x2419, 0x241a, 0x241b, 0x241c, 0x241d, 0x241e, 0x241f,
- 0x2420, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x2421
- };
- #ifdef KERMITFONT
- struct x_to_unicode u_c1pics = {
- 32,0,X2U_CXG,0,"C1 Display Controls","c1-display-controls",0,NULL,
- 0xe080, 0xe081, 0xe082, 0xe083, 0xe084, 0xe085, 0xe086, 0xe087,
- 0xe088, 0xe089, 0xe08a, 0xe08b, 0xe08c, 0xe08d, 0xe08e, 0xe08f,
- 0xe090, 0xe091, 0xe092, 0xe093, 0xe094, 0xe095, 0xe096, 0xe097,
- 0xe098, 0xe099, 0xe09a, 0xe09b, 0xe09c, 0xe09d, 0xe09e, 0xe09f
- };
- #else
- struct x_to_unicode u_c1pics = {
- 32,0,X2U_CXG,0,"C1 Display Controls","c1-display-controls",0,NULL,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd
- };
- #endif /* KERMITFONT */
- /* Blah-to-Unicode functions */
- USHORT
- #ifdef CK_ANSIC
- ascii_u(CHAR c)
- #else
- ascii_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- /*
- NOTE: Strict ANSI compilers complain about "<" and similar comparisons
- between unsigned and signed quantities, as found in all the routines of
- the "blah_u()" class -- casts must be added to squelch the warnings.
- */
- if (c < u_ascii.offset)
- return(c);
- else if (c >= u_ascii.offset + u_ascii.size)
- return(c);
- else
- return(u_ascii.map[c - u_ascii.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- british_u(CHAR c)
- #else
- british_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_british.offset)
- return(c);
- else if (c >= u_british.offset + u_british.size)
- return(c);
- else
- return(u_british.map[c - u_british.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dutch_u(CHAR c)
- #else
- dutch_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_dutch.offset)
- return(c);
- else if (c >= u_dutch.offset + u_dutch.size)
- return(c);
- else
- return(u_dutch.map[c - u_dutch.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- finnish_u(CHAR c)
- #else
- finnish_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_finnish.offset)
- return(c);
- else if (c >= u_finnish.offset + u_finnish.size)
- return(c);
- else
- return(u_finnish.map[c - u_finnish.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- french_u(CHAR c)
- #else
- french_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_french.offset)
- return(c);
- else if (c >= u_french.offset + u_french.size)
- return(c);
- else
- return(u_french.map[c - u_french.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- fr_canadian_u(CHAR c)
- #else
- fr_canadian_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_fr_canadian.offset)
- return(c);
- else if (c >= u_fr_canadian.offset + u_fr_canadian.size)
- return(c);
- else
- return(u_fr_canadian.map[c - u_fr_canadian.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- german_u(CHAR c)
- #else
- german_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_german.offset)
- return(c);
- else if (c >= u_german.offset + u_german.size)
- return(c);
- else
- return(u_german.map[c - u_german.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hungarian_u(CHAR c)
- #else
- hungarian_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_hungarian.offset)
- return(c);
- else if (c >= u_hungarian.offset + u_hungarian.size)
- return(c);
- else
- return(u_hungarian.map[c - u_hungarian.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- italian_u(CHAR c)
- #else
- italian_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_italian.offset)
- return(c);
- else if (c >= u_italian.offset + u_italian.size)
- return(c);
- else
- return(u_italian.map[c - u_italian.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- icelandic_u(CHAR c)
- #else
- icelandic_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_icelandic.offset)
- return(c);
- else if (c >= u_icelandic.offset + u_icelandic.size)
- return(c);
- else
- return(u_icelandic.map[c - u_icelandic.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- jis0201r_u(CHAR c)
- #else
- jis0201r_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_jis0201r.offset)
- return(c);
- else if (c >= u_jis0201r.offset + u_jis0201r.size)
- return(c);
- else
- return(u_jis0201r.map[c - u_jis0201r.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- jis0201k_u(CHAR c)
- #else
- jis0201k_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_jis0201k.offset)
- return(c);
- else if (c >= u_jis0201k.offset + u_jis0201k.size)
- return(c);
- else
- return(u_jis0201k.map[c - u_jis0201k.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- norwegian_u(CHAR c)
- #else
- norwegian_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_norwegian.offset)
- return(c);
- else if (c >= u_norwegian.offset + u_norwegian.size)
- return(c);
- else
- return(u_norwegian.map[c - u_norwegian.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- danish_u(CHAR c)
- #else
- danish_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_danish.offset)
- return(c);
- else if (c >= u_danish.offset + u_danish.size)
- return(c);
- else
- return(u_danish.map[c - u_danish.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- portuguese_u(CHAR c)
- #else
- portuguese_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_portuguese.offset)
- return(c);
- else if (c >= u_portuguese.offset + u_portuguese.size)
- return(c);
- else
- return(u_portuguese.map[c - u_portuguese.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- spanish_u(CHAR c)
- #else
- spanish_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_spanish.offset)
- return(c);
- else if (c >= u_spanish.offset + u_spanish.size)
- return(c);
- else
- return(u_spanish.map[c - u_spanish.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- swedish_u(CHAR c)
- #else
- swedish_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_swedish.offset)
- return(c);
- else if (c >= u_swedish.offset + u_swedish.size)
- return(c);
- else
- return(u_swedish.map[c - u_swedish.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- swiss_u(CHAR c)
- #else
- swiss_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_swiss.offset)
- return(c);
- else if (c >= u_swiss.offset + u_swiss.size)
- return(c);
- else
- return(u_swiss.map[c - u_swiss.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- ident_u(CHAR c)
- #else /* CK_ANSIC */
- ident_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return((USHORT)c);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_1_u(CHAR c)
- #else
- iso_8859_1_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_1.offset)
- return(c);
- else if (c >= u_8859_1.offset + u_8859_1.size)
- return(c);
- else
- return(u_8859_1.map[c - u_8859_1.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_2_u(CHAR c)
- #else
- iso_8859_2_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_2.offset)
- return(c);
- else if (c >= u_8859_2.offset + u_8859_2.size)
- return(c);
- else
- return(u_8859_2.map[c - u_8859_2.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_3_u(CHAR c)
- #else
- iso_8859_3_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_3.offset)
- return(c);
- else if (c >= u_8859_3.offset + u_8859_3.size)
- return(c);
- else
- return(u_8859_3.map[c - u_8859_3.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_4_u(CHAR c)
- #else
- iso_8859_4_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_4.offset)
- return(c);
- else if (c >= u_8859_4.offset + u_8859_4.size)
- return(c);
- else
- return(u_8859_4.map[c - u_8859_4.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_5_u(CHAR c)
- #else
- iso_8859_5_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_5.offset)
- return(c);
- else if (c >= u_8859_5.offset + u_8859_5.size)
- return(c);
- else
- return(u_8859_5.map[c - u_8859_5.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- koi8_u(CHAR c)
- #else
- koi8_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_koi8.offset)
- return(c);
- else if (c >= u_koi8.offset + u_koi8.size)
- return(c);
- else
- return(u_koi8.map[c - u_koi8.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- koi8r_u(CHAR c) /* KOI8-R to Unicode */
- #else
- koi8r_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- debug(F001,"koi8r_u","",c);
- c &= 0x7f;
- if (c < u_koi8r.offset)
- return(c);
- else if (c >= u_koi8r.offset + u_koi8r.size)
- return(c);
- else
- return(u_koi8r.map[c - u_koi8r.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- koi8u_u(CHAR c)
- #else
- koi8u_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_koi8u.offset)
- return(c);
- else if (c >= u_koi8u.offset + u_koi8u.size)
- return(c);
- else
- return(u_koi8u.map[c - u_koi8u.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_6_u(CHAR c)
- #else
- iso_8859_6_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_6.offset)
- return(c);
- else if (c >= u_8859_6.offset + u_8859_6.size)
- return(c);
- else
- return(u_8859_6.map[c - u_8859_6.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_7_u(CHAR c)
- #else
- iso_8859_7_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_7.offset)
- return(c);
- else if (c >= u_8859_7.offset + u_8859_7.size)
- return(c);
- else
- return(u_8859_7.map[c - u_8859_7.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_8_u(CHAR c)
- #else
- iso_8859_8_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_8.offset)
- return(c);
- else if (c >= u_8859_8.offset + u_8859_8.size)
- return(c);
- else
- return(u_8859_8.map[c - u_8859_8.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hebrew7_u(CHAR c)
- #else
- hebrew7_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_hebrew7.offset)
- return(c);
- else if (c >= u_hebrew7.offset + u_hebrew7.size)
- return(c);
- else
- return(u_hebrew7.map[c - u_hebrew7.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- elot927_u(CHAR c)
- #else
- elot927_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_elot927.offset)
- return(c);
- else if (c >= u_elot927.offset + u_elot927.size)
- return(c);
- else
- return(u_elot927.map[c - u_elot927.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_9_u(CHAR c)
- #else
- iso_8859_9_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_9.offset)
- return(c);
- else if (c >= u_8859_9.offset + u_8859_9.size)
- return(c);
- else
- return(u_8859_9.map[c - u_8859_9.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_10_u(CHAR c)
- #else
- iso_8859_10_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_10.offset)
- return(c);
- else if (c >= u_8859_10.offset + u_8859_10.size)
- return(c);
- else
- return(u_8859_10.map[c - u_8859_10.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- iso_8859_15_u(CHAR c)
- #else
- iso_8859_15_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_8859_15.offset)
- return(c);
- else if (c >= u_8859_15.offset + u_8859_15.size)
- return(c);
- else
- return(u_8859_15.map[c - u_8859_15.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- koi7_u(CHAR c)
- #else
- koi7_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_koi7.offset)
- return(c);
- else if (c >= u_koi7.offset + u_koi7.size)
- return(c);
- else
- return(u_koi7.map[c - u_koi7.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- decmcs_u(CHAR c)
- #else
- decmcs_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_decmcs.offset)
- return(c);
- else if (c >= u_decmcs.offset + u_decmcs.size)
- return(c);
- else
- return(u_decmcs.map[c - u_decmcs.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- nextstep_u(CHAR c)
- #else
- nextstep_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_nextstep.map[(c & 0x7f) - u_nextstep.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dgi_u(CHAR c)
- #else
- dgi_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_dgi.map[(c & 0x7f) - u_dgi.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hproman8_u(CHAR c)
- #else
- hproman8_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_hproman8.map[(c & 0x7f) - u_hproman8.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp37_u(CHAR c)
- #else
- cp37_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp37.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp437_u(CHAR c)
- #else
- cp437_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp437.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- mazovia_u(CHAR c) /* Mazovia = CP437 with substitutions */
- #else
- mazovia_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_mazovia.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp850_u(CHAR c)
- #else
- cp850_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp850.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp858_u(CHAR c)
- #else
- cp858_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp858.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1250_u(CHAR c)
- #else
- cp1250_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1250.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1251_u(CHAR c)
- #else
- cp1251_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1251.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1252_u(CHAR c)
- #else
- cp1252_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1252.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1253_u(CHAR c)
- #else
- cp1253_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1253.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1254_u(CHAR c)
- #else
- cp1254_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1254.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1255_u(CHAR c)
- #else
- cp1255_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1255.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1256_u(CHAR c)
- #else
- cp1256_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1256.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1257_u(CHAR c)
- #else
- cp1257_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1257.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp1258_u(CHAR c)
- #else
- cp1258_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp1258.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp852_u(CHAR c)
- #else
- cp852_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp852.map[c & 0x7f]);
- }
- USHORT /* Cyrillic */
- #ifdef CK_ANSIC
- cp855_u(CHAR c)
- #else
- cp855_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp855.map[c & 0x7f]);
- }
- USHORT /* Bulgaria */
- #ifdef CK_ANSIC
- cp856_u(CHAR c)
- #else
- cp856_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp856.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp857_u(CHAR c)
- #else
- cp857_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp857.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp862_u(CHAR c)
- #else
- cp862_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp862.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp864_u(CHAR c)
- #else
- cp864_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp864.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp866_u(CHAR c)
- #else
- cp866_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp866.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- cp869_u(CHAR c)
- #else
- cp869_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_cp869.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- maclatin_u(CHAR c)
- #else
- maclatin_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_maclatin.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- quickdraw_u(CHAR c)
- #else
- quickdraw_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- return(u_quickdraw.map[c & 0x7f]);
- }
- USHORT
- #ifdef CK_ANSIC
- decspec_u(CHAR c)
- #else
- decspec_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_decspec.offset)
- return(c);
- else if (c >= u_decspec.offset + u_decspec.size)
- return(c);
- else
- return(u_decspec.map[c - u_decspec.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dectech_u(CHAR c)
- #else
- dectech_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_dectech.offset)
- return(c);
- else if (c >= u_dectech.offset + u_dectech.size)
- return(c);
- else
- return(u_dectech.map[c - u_dectech.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dgspec_u(CHAR c)
- #else
- dgspec_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_dgspec.offset)
- return(c);
- else if (c >= u_dgspec.offset + u_dgspec.size)
- return(c);
- else
- return(u_dgspec.map[c - u_dgspec.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dgline_u(CHAR c)
- #else
- dgline_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_dgline.offset)
- return(c);
- else if (c >= u_dgline.offset + u_dgline.size)
- return(c);
- else
- return(u_dgline.map[c - u_dgline.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- dgword_u(CHAR c)
- #else
- dgword_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_dgword.offset)
- return(c);
- else if (c >= u_dgword.offset + u_dgword.size)
- return(c);
- else
- return(u_dgword.map[c - u_dgword.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hpline_u(CHAR c)
- #else
- hpline_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_hpline.offset)
- return(c);
- else if (c >= u_hpline.offset + u_hpline.size)
- return(c);
- else
- return(u_hpline.map[c - u_hpline.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hpmath_u(CHAR c)
- #else
- hpmath_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_hpmath.offset)
- return(c);
- else if (c >= u_hpmath.offset + u_hpmath.size)
- return(c);
- else
- return(u_hpmath.map[c - u_hpmath.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- qnxgrph_u(CHAR c)
- #else
- qnxgrph_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_qnxgrph.offset)
- return(c);
- else if (c >= u_qnxgrph.offset + u_qnxgrph.size)
- return(c);
- else
- return(u_qnxgrph.map[c - u_qnxgrph.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- hz1500_u(CHAR c)
- #else
- hz1500_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_hz1500.offset)
- return(c);
- else if (c >= u_hz1500.offset + u_hz1500.size)
- return(c);
- else
- return(u_hz1500.map[c - u_hz1500.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- sniblanks_u(CHAR c)
- #else
- sniblanks_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_sniblanks.offset)
- return(c);
- else if (c >= u_sniblanks.offset + u_sniblanks.size)
- return(c);
- else
- return(u_sniblanks.map[c - u_sniblanks.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- snibrack_u(CHAR c)
- #else
- snibrack_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_snibrack.offset)
- return(c);
- else if (c >= u_snibrack.offset + u_snibrack.size)
- return(c);
- else
- return(u_snibrack.map[c - u_snibrack.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- snifacet_u(CHAR c)
- #else
- snifacet_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_snifacet.offset)
- return(c);
- else if (c >= u_snifacet.offset + u_snifacet.size)
- return(c);
- else
- return(u_snifacet.map[c - u_snifacet.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- sniibm_u(CHAR c)
- #else
- sniibm_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_sniibm.offset)
- return(c);
- else if (c >= u_sniibm.offset + u_sniibm.size)
- return(c);
- else
- return(u_sniibm.map[c - u_sniibm.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- snieuro_u(CHAR c)
- #else
- snieuro_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_snieuro.offset)
- return(c);
- else if (c >= u_snieuro.offset + u_snieuro.size)
- return(c);
- else
- return(u_snieuro.map[c - u_snieuro.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- heath19g_u(CHAR c)
- #else
- heath19g_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_heath19g.offset)
- return(c);
- else if (c >= u_heath19g.offset + u_heath19g.size)
- return(c);
- else
- return(u_heath19g.map[c - u_heath19g.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- tvig_u(CHAR c)
- #else
- tvig_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_tvig.offset)
- return(c);
- else if (c >= u_tvig.offset + u_tvig.size)
- return(c);
- else
- return(u_tvig.map[c - u_tvig.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- wyse_gn_u(CHAR c)
- #else
- wyse_gn_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_wyse_gn.offset)
- return(c);
- else if (c >= u_wyse_gn.offset + u_wyse_gn.size)
- return(c);
- else
- return(u_wyse_gn.map[c - u_wyse_gn.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- wyse_g1_u(CHAR c)
- #else
- wyse_g1_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_wyse_g1.offset)
- return(c);
- else if (c >= u_wyse_g1.offset + u_wyse_g1.size)
- return(c);
- else
- return(u_wyse_g1.map[c - u_wyse_g1.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- wyse_g2_u(CHAR c)
- #else
- wyse_g2_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_wyse_g2.offset)
- return(c);
- else if (c >= u_wyse_g2.offset + u_wyse_g2.size)
- return(c);
- else
- return(u_wyse_g2.map[c - u_wyse_g2.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- wyse_g3_u(CHAR c)
- #else
- wyse_g3_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_wyse_g3.offset)
- return(c);
- else if (c >= u_wyse_g3.offset + u_wyse_g3.size)
- return(c);
- else
- return(u_wyse_g3.map[c - u_wyse_g3.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- smiley_u(CHAR c)
- #else
- smiley_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_smiley.offset)
- return(c);
- else if (c >= u_smiley.offset + u_smiley.size)
- return(c);
- else
- return(u_smiley.map[c - u_smiley.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- c0pics_u(CHAR c)
- #else
- c0pics_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_c0pics.offset)
- return(c);
- else if (c >= u_c0pics.offset + u_c0pics.size)
- return(c);
- else
- return(u_c0pics.map[c - u_c0pics.offset]);
- }
- USHORT
- #ifdef CK_ANSIC
- c1pics_u(CHAR c)
- #else
- c1pics_u(c) CHAR c;
- #endif /* CK_ANSIC */
- {
- c &= 0x7f;
- if (c < u_c1pics.offset)
- return(c);
- else if (c >= u_c1pics.offset + u_c1pics.size)
- return(c);
- else
- return(u_c1pics.map[c - u_c1pics.offset]);
- }
- #ifdef KANJI /* Kanji/Unicode functions */
- static long /* Statistics counters */
- bytes = 0, /* REMOVE THESE LATER... */
- bad = 0,
- kanji = 0,
- kana = 0,
- greek = 0,
- cyrillic = 0,
- special = 0,
- other = 0,
- roman = 0;
- USHORT
- #ifdef CK_ANSIC
- sj_to_un(USHORT sj) /* Shift-JIS to Unicode */
- #else
- sj_to_un(sj) USHORT sj;
- #endif /* CK_ANSIC */
- {
- /* Kanji blocks */
- if (sj >= 0x8140) { /* All possible Kanjis */
- kanji++; /* Optimistically count a Kanji */
- if (sj <= 0x9ffc) { /* 7869-element table */
- return(sju_8140[sj - 0x8140]);
- } else if (sj >= 0xe040 && sj <= 0xeaa4) { /* 2660-element table */
- return(sju_e040[sj - 0xe040]);
- } else if (sj >= 0xf040) { /* User-defined areas */
- if (sj <= 0xf0fc) { /* ten 189-char chunks */
- return(0xe000 + (sj - 0xf040));
- } else if (sj >= 0xf140 && sj <= 0xf1fc) {
- return(0xe0bc + (sj - 0xf140));
- } else if (sj >= 0xf240 && sj <= 0xf2fc) {
- return(0xe178 + (sj - 0xf240));
- } else if (sj >= 0xf340 && sj <= 0xf3fc) {
- return(0xe234 + (sj - 0xf340));
- } else if (sj >= 0xf440 && sj <= 0xf4fc) {
- return(0xe2f0 + (sj - 0xf440));
- } else if (sj >= 0xf540 && sj <= 0xf5fc) {
- return(0xe3ac + (sj - 0xf540));
- } else if (sj >= 0xf640 && sj <= 0xf6fc) {
- return(0xe468 + (sj - 0xf640));
- } else if (sj >= 0xf740 && sj <= 0xf7fc) {
- return(0xe524 + (sj - 0xf740));
- } else if (sj >= 0xf840 && sj <= 0xf8fc) {
- return(0xe5e0 + (sj - 0xf840));
- } else if (sj >= 0xf940 && sj <= 0xf9fc) {
- return(0xe69c + (sj - 0xf940));
- }
- }
- kanji--; /* None of the above, uncount */
- }
- /* C0 / Halfwidth-Roman / C1 block (0x00-0x9f, no holes) */
- else if (sj < 0x00a0) {
- roman++; /* Count a Roman */
- if (sj == 0x5c) { /* Yen sign */
- return(0x00a5);
- } else if (sj == 0x7e) { /* Overline (macron) */
- return(0x203e);
- } else { /* Control or Halfwidth Roman */
- return(sj);
- }
- }
- /* Halfwidth Katakana block (0xa0-0xdf, no holes) */
- else if (sj >= 0xa1 && sj <= 0xdf) {
- kana++;
- return(sj + 0xfec0);
- }
- /* Catch-all must be final */
- bad++;
- return(0xfffd);
- }
- USHORT
- #ifdef CK_ANSIC
- un_to_sj(USHORT un) /* Unicode to Shift-JIS */
- #else
- un_to_sj(un) USHORT un;
- #endif /* CK_ANSIC */
- {
- if (un < 0x00a0) {
- switch (un) {
- case 0x005c: roman++; return(0x815f); /* Backslash */
- case 0x007e: bad++; return(0xfffd); /* No tilde in Shift-JIS */
- default: /* ASCII or C0/C1 control */
- roman++;
- return(un);
- }
- }
- if (un >= 0x00a0 && un < 0x0391) { /* Latin-1 symbols */
- roman++;
- switch(un) {
- case 0x00A2: return(0x8191);
- case 0x00A3: return(0x8192);
- case 0x00A5: return(0x005C); /* Yen */
- case 0x00A7: return(0x8198);
- case 0x00A8: return(0x814E);
- case 0x00AC: return(0x81CA);
- case 0x00B0: return(0x818B);
- case 0x00B1: return(0x817D);
- case 0x00B4: return(0x814C);
- case 0x00B6: return(0x81F7);
- case 0x00D7: return(0x817E);
- case 0x00F7: return(0x8180);
- default:
- roman--;
- bad++;
- return(0xfffd);
- }
- }
- if (un >= 0x0391 && un < 0x0401) { /* Greek */
- greek++;
- if (un <= 0x039c)
- return(usj_0391[un-0x0391]);
- greek--;
- bad++;
- return(0xfffd);
- }
- if (un >= 0x0401 && un < 0x2010) { /* Cyrillic */
- cyrillic++;
- if (un <= 0x0451)
- return(usj_0401[un-0x0401]);
- cyrillic--;
- bad++;
- return(0xfffd);
- }
- if (un >= 0x2010 && un < 0x2500) { /* General punctuation */
- special++;
- switch(un) {
- case 0x2010: return(0x815D);
- case 0x2015: return(0x815C);
- case 0x2016: return(0x8161);
- case 0x2018: return(0x8165);
- case 0x2019: return(0x8166);
- case 0x201C: return(0x8167);
- case 0x201D: return(0x8168);
- case 0x2020: return(0x81F5);
- case 0x2021: return(0x81F6);
- case 0x2025: return(0x8164);
- case 0x2026: return(0x8163);
- case 0x2030: return(0x81F1);
- case 0x2032: return(0x818C);
- case 0x2033: return(0x818D);
- case 0x203B: return(0x81A6);
- case 0x203E: return(0x007E);
- case 0x2103: return(0x818E); /* Letterlike symbols */
- case 0x212B: return(0x81F0);
- case 0x2190: return(0x81A9); /* Arrows */
- case 0x2191: return(0x81AA);
- case 0x2192: return(0x81A8);
- case 0x2193: return(0x81AB);
- case 0x21D2: return(0x81CB);
- case 0x21D4: return(0x81CC);
- case 0x2200: return(0x81CD); /* Math */
- case 0x2202: return(0x81DD);
- case 0x2203: return(0x81CE);
- case 0x2207: return(0x81DE);
- case 0x2208: return(0x81B8);
- case 0x220B: return(0x81B9);
- case 0x2212: return(0x817C);
- case 0x221A: return(0x81E3);
- case 0x221D: return(0x81E5);
- case 0x221E: return(0x8187);
- case 0x2220: return(0x81DA);
- case 0x2227: return(0x81C8);
- case 0x2228: return(0x81C9);
- case 0x2229: return(0x81BF);
- case 0x222A: return(0x81BE);
- case 0x222B: return(0x81E7);
- case 0x222C: return(0x81E8);
- case 0x2234: return(0x8188);
- case 0x2235: return(0x81E6);
- case 0x223D: return(0x81E4);
- case 0x2252: return(0x81E0);
- case 0x2260: return(0x8182);
- case 0x2261: return(0x81DF);
- case 0x2266: return(0x8185);
- case 0x2267: return(0x8186);
- case 0x226A: return(0x81E1);
- case 0x226B: return(0x81E2);
- case 0x2282: return(0x81BC);
- case 0x2283: return(0x81BD);
- case 0x2286: return(0x81BA);
- case 0x2287: return(0x81BB);
- case 0x22A5: return(0x81DB);
- case 0x2312: return(0x81DC); /* Arc */
- default:
- special--;
- bad++;
- return(0xfffd);
- }
- }
- if (un >= 0x2500 && un < 0x3000) { /* Box drawing */
- special++;
- switch(un) {
- case 0x2500: return(0x849F);
- case 0x2501: return(0x84AA);
- case 0x2502: return(0x84A0);
- case 0x2503: return(0x84AB);
- case 0x250C: return(0x84A1);
- case 0x250F: return(0x84AC);
- case 0x2510: return(0x84A2);
- case 0x2513: return(0x84AD);
- case 0x2514: return(0x84A4);
- case 0x2517: return(0x84AF);
- case 0x2518: return(0x84A3);
- case 0x251B: return(0x84AE);
- case 0x251C: return(0x84A5);
- case 0x251D: return(0x84BA);
- case 0x2520: return(0x84B5);
- case 0x2523: return(0x84B0);
- case 0x2524: return(0x84A7);
- case 0x2525: return(0x84BC);
- case 0x2528: return(0x84B7);
- case 0x252B: return(0x84B2);
- case 0x252C: return(0x84A6);
- case 0x252F: return(0x84B6);
- case 0x2530: return(0x84BB);
- case 0x2533: return(0x84B1);
- case 0x2534: return(0x84A8);
- case 0x2537: return(0x84B8);
- case 0x2538: return(0x84BD);
- case 0x253B: return(0x84B3);
- case 0x253C: return(0x84A9);
- case 0x253F: return(0x84B9);
- case 0x2542: return(0x84BE);
- case 0x254B: return(0x84B4);
- case 0x25A0: return(0x81A1); /* Geometric shapes */
- case 0x25A1: return(0x81A0);
- case 0x25B2: return(0x81A3);
- case 0x25B3: return(0x81A2);
- case 0x25BC: return(0x81A5);
- case 0x25BD: return(0x81A4);
- case 0x25C6: return(0x819F);
- case 0x25C7: return(0x819E);
- case 0x25CB: return(0x819B);
- case 0x25CE: return(0x819D);
- case 0x25CF: return(0x819C);
- case 0x25EF: return(0x81FC);
- case 0x2605: return(0x819A); /* Misc symbols */
- case 0x2606: return(0x8199);
- case 0x2640: return(0x818A);
- case 0x2642: return(0x8189);
- case 0x266A: return(0x81F4);
- case 0x266D: return(0x81F3);
- case 0x266F: return(0x81F2);
- default:
- special--;
- bad++;
- return(0xfffd);
- }
- }
- if (un >= 0x3000 && un < 0x4e00) { /* CJK symbols & punc */
- kanji++;
- if (un <= 0x30ff)
- return(usj_3000[un-0x3000]);
- kanji--;
- bad++;
- return(0xfffd);
- }
- if (un >= 0xff00 && un < 0xffff) { /* Half/full-width Roman & Katakana */
- if (un <= 0xff9f) {
- if (un > 0xff60)
- kana++;
- return(usj_ff00[un-0xff00]);
- }
- bad++;
- return(0xfffd);
- }
- if (un >= 0x4e00 && un < 0xe000) { /* Kanji */
- kanji++;
- if (un <= 0x9fa0)
- return(usj_4e00[un-0x4e00]);
- kanji--;
- bad++;
- return(0xfffd);
- }
- if (un >= 0xe000 && un < 0xff00) { /* User-defined (Gaiji) */
- kanji++;
- if (un <= 0xe0bb) { /* ten 189-char chunks */
- return(0xf040 + (un - 0xe000));
- } else if (un >= 0xe0bc && un <= 0xe177) {
- return(0xf140 + (un - 0xe0bc));
- } else if (un >= 0xe178 && un <= 0xe233) {
- return(0xf240 + (un - 0xe178));
- } else if (un >= 0xe234 && un <= 0xe2ef) {
- return(0xf340 + (un - 0xe234));
- } else if (un >= 0xe2f0 && un <= 0xe3ab) {
- return(0xf440 + (un - 0xe2f0));
- } else if (un >= 0xe3ac && un <= 0xe467) {
- return(0xf540 + (un - 0xe3ac));
- } else if (un >= 0xe468 && un <= 0xe523) {
- return(0xf640 + (un - 0xe468));
- } else if (un >= 0xe524 && un <= 0xe5df) {
- return(0xf740 + (un - 0xe524));
- } else if (un >= 0xe5e0 && un <= 0xe69b) {
- return(0xf840 + (un - 0xe5e0));
- } else if (un >= 0xe69c && un <= 0xe757) {
- return(0xf940 + (un - 0xe69c));
- }
- bad++;
- return(0xfffd);
- }
- /* NOTREACHED */
- /* Some compilers (correctly) warn of "statement not reached" here. */
- /* But others give up the ghost with "no return value". The former */
- /* is the lesser of two evils. */
- bad++;
- return(0xfffd);
- }
- #endif /* KANJI */
- /* Unicode-to-blah functions, tx_blah(). */
- static int
- #ifdef CK_ANSIC
- tx_punc(USHORT c)
- #else
- tx_punc(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c >= 0x2000 && c <= 0x200a) /* Various-width spaces */
- return((CHAR)(0x20));
- else if (c >= 0x2010 && c <= 0x2015) /* Various-width dashes */
- return((CHAR)'-');
- else if (c >= 0x2018 && c <= 0x201b) /* Assorted single quotes */
- return((CHAR)0x27);
- else if (c >= 0x201c && c <= 0x201f) /* Assorted double quotes */
- return((CHAR)0x22);
- else if (c >= 0x2022 && c <= 0x2024 || c == 0x2043) /* Bullets */
- return((CHAR)0xb7);
- switch (c) {
- case 0x2039: /* Less-than sign */
- return((CHAR)0x3c);
- case 0x203a: /* Greater-than sign */
- return((CHAR)0x3e);
- case 0x2044: /* Solidus -> Slash */
- return((CHAR)0x2f);
- default:
- return(-1);
- }
- }
- int /* For Latin-1 */
- #ifdef CK_ANSIC
- tx_ident(USHORT c)
- #else
- tx_ident(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c == 0x203e) /* Overline -> Macron */
- return((CHAR)0xaf);
- else if (c < 0x100) /* Latin-1 range */
- return((CHAR)(c & 0xff));
- else /* Or maybe from punctuation block */
- return(tx_punc(c));
- }
- int
- #ifdef CK_ANSIC
- tx_usascii(USHORT c)
- #else
- tx_usascii(c) USHORT c; /* US ASCII */
- #endif /* CK_ANSIC */
- {
- if (c < 0x80)
- return((CHAR)(c & 0xff));
- else if (c >= 0x2000 && c <= 0x200a) /* Various-width spaces */
- return((CHAR)(0x20));
- else if (c >= 0x2010 && c <= 0x2015) /* Various-width dashes */
- return((CHAR)'-');
- else if (c >= 0x2018 && c <= 0x201b) /* Assorted single quotes */
- return((CHAR)0x27);
- else if (c >= 0x201c && c <= 0x201f) /* Assorted double quotes */
- return((CHAR)0x22);
- else if (c >= 0x2022 && c <= 0x2024 || c == 0x2043) /* Bullets */
- return((CHAR)0xb7);
- switch (c) {
- case 0x2039: /* Less-than sign */
- return((CHAR)0x3c);
- case 0x203a: /* Greater-than sign */
- return((CHAR)0x3e);
- case 0x2044: /* Solidus -> Slash */
- return((CHAR)0x2f);
- }
- return((c & 0xff80) ? -1 : (CHAR)(c & 0x7f));
- }
- int
- #ifdef CK_ANSIC
- tx_british(USHORT c)
- #else
- tx_british(c) USHORT c; /* British */