ckcuni.c
资源名称:cku197.tar.Z [点击查看]
上传用户:dufan58
上传日期:2007-01-05
资源大小:3407k
文件大小:695k
源码类别:
通讯/手机编程
开发平台:
Windows_Unix
- case 0x00a3: return((CHAR)(156 & 0xff));
- case 0x00a4: return((CHAR)(207 & 0xff));
- case 0x00a5: return((CHAR)(190 & 0xff));
- case 0x00a6: return((CHAR)(221 & 0xff));
- case 0x00a7: return((CHAR)(245 & 0xff));
- case 0x00a8: return((CHAR)(249 & 0xff));
- case 0x00a9: return((CHAR)(184 & 0xff));
- case 0x00aa: return((CHAR)(166 & 0xff));
- case 0x00ab: return((CHAR)(174 & 0xff));
- case 0x00ac: return((CHAR)(170 & 0xff));
- case 0x00ad: return((CHAR)(240 & 0xff));
- case 0x00ae: return((CHAR)(169 & 0xff));
- case 0x00af: return((CHAR)(238 & 0xff));
- case 0x00b0: return((CHAR)(248 & 0xff));
- case 0x00b1: return((CHAR)(241 & 0xff));
- case 0x00b2: return((CHAR)(253 & 0xff));
- case 0x00b3: return((CHAR)(252 & 0xff));
- case 0x00b4: return((CHAR)(239 & 0xff));
- case 0x00b5: return((CHAR)(230 & 0xff));
- case 0x00b6: return((CHAR)(244 & 0xff));
- case 0x00b7: return((CHAR)(250 & 0xff));
- case 0x00b8: return((CHAR)(247 & 0xff));
- case 0x00b9: return((CHAR)(251 & 0xff));
- case 0x00ba: return((CHAR)(167 & 0xff));
- case 0x00bb: return((CHAR)(175 & 0xff));
- case 0x00bc: return((CHAR)(172 & 0xff));
- case 0x00bd: return((CHAR)(171 & 0xff));
- case 0x00be: return((CHAR)(243 & 0xff));
- case 0x00bf: return((CHAR)(168 & 0xff));
- case 0x00c0: return((CHAR)(183 & 0xff));
- case 0x00c1: return((CHAR)(181 & 0xff));
- case 0x00c2: return((CHAR)(182 & 0xff));
- case 0x00c3: return((CHAR)(199 & 0xff));
- case 0x00c4: return((CHAR)(142 & 0xff));
- case 0x00c5: return((CHAR)(143 & 0xff));
- case 0x00c6: return((CHAR)(146 & 0xff));
- case 0x00c7: return((CHAR)(128 & 0xff));
- case 0x00c8: return((CHAR)(212 & 0xff));
- case 0x00c9: return((CHAR)(144 & 0xff));
- case 0x00ca: return((CHAR)(210 & 0xff));
- case 0x00cb: return((CHAR)(211 & 0xff));
- case 0x00cc: return((CHAR)(222 & 0xff));
- case 0x00cd: return((CHAR)(214 & 0xff));
- case 0x00ce: return((CHAR)(215 & 0xff));
- case 0x00cf: return((CHAR)(216 & 0xff));
- case 0x00d0: return((CHAR)(209 & 0xff));
- case 0x00d1: return((CHAR)(165 & 0xff));
- case 0x00d2: return((CHAR)(227 & 0xff));
- case 0x00d3: return((CHAR)(224 & 0xff));
- case 0x00d4: return((CHAR)(226 & 0xff));
- case 0x00d5: return((CHAR)(229 & 0xff));
- case 0x00d6: return((CHAR)(153 & 0xff));
- case 0x00d7: return((CHAR)(158 & 0xff));
- case 0x00d8: return((CHAR)(157 & 0xff));
- case 0x00d9: return((CHAR)(235 & 0xff));
- case 0x00da: return((CHAR)(233 & 0xff));
- case 0x00db: return((CHAR)(234 & 0xff));
- case 0x00dc: return((CHAR)(154 & 0xff));
- case 0x00dd: return((CHAR)(237 & 0xff));
- case 0x00de: return((CHAR)(232 & 0xff));
- case 0x00df: return((CHAR)(225 & 0xff));
- case 0x00e0: return((CHAR)(133 & 0xff));
- case 0x00e1: return((CHAR)(160 & 0xff));
- case 0x00e2: return((CHAR)(131 & 0xff));
- case 0x00e3: return((CHAR)(198 & 0xff));
- case 0x00e4: return((CHAR)(132 & 0xff));
- case 0x00e5: return((CHAR)(134 & 0xff));
- case 0x00e6: return((CHAR)(145 & 0xff));
- case 0x00e7: return((CHAR)(135 & 0xff));
- case 0x00e8: return((CHAR)(138 & 0xff));
- case 0x00e9: return((CHAR)(130 & 0xff));
- case 0x00ea: return((CHAR)(136 & 0xff));
- case 0x00eb: return((CHAR)(137 & 0xff));
- case 0x00ec: return((CHAR)(141 & 0xff));
- case 0x00ed: return((CHAR)(161 & 0xff));
- case 0x00ee: return((CHAR)(140 & 0xff));
- case 0x00ef: return((CHAR)(139 & 0xff));
- case 0x00f0: return((CHAR)(208 & 0xff));
- case 0x00f1: return((CHAR)(164 & 0xff));
- case 0x00f2: return((CHAR)(149 & 0xff));
- case 0x00f3: return((CHAR)(162 & 0xff));
- case 0x00f4: return((CHAR)(147 & 0xff));
- case 0x00f5: return((CHAR)(228 & 0xff));
- case 0x00f6: return((CHAR)(148 & 0xff));
- case 0x00f7: return((CHAR)(246 & 0xff));
- case 0x00f8: return((CHAR)(155 & 0xff));
- case 0x00f9: return((CHAR)(151 & 0xff));
- case 0x00fa: return((CHAR)(163 & 0xff));
- case 0x00fb: return((CHAR)(150 & 0xff));
- case 0x00fc: return((CHAR)(129 & 0xff));
- case 0x00fd: return((CHAR)(236 & 0xff));
- case 0x00fe: return((CHAR)(231 & 0xff));
- case 0x00ff: return((CHAR)(152 & 0xff));
- case 0x0131: return((CHAR)(213 & 0xff));
- case 0x0192: return((CHAR)(159 & 0xff));
- case 0x2017: return((CHAR)(242 & 0xff));
- case 0x2500: return((CHAR)(196 & 0xff));
- case 0x2502: return((CHAR)(179 & 0xff));
- case 0x250c: return((CHAR)(218 & 0xff));
- case 0x2510: return((CHAR)(191 & 0xff));
- case 0x2514: return((CHAR)(192 & 0xff));
- case 0x2518: return((CHAR)(217 & 0xff));
- case 0x251c: return((CHAR)(195 & 0xff));
- case 0x2524: return((CHAR)(180 & 0xff));
- case 0x252c: return((CHAR)(194 & 0xff));
- case 0x2534: return((CHAR)(193 & 0xff));
- case 0x253c: return((CHAR)(197 & 0xff));
- case 0x2550: return((CHAR)(205 & 0xff));
- case 0x2551: return((CHAR)(186 & 0xff));
- case 0x2554: return((CHAR)(201 & 0xff));
- case 0x2557: return((CHAR)(187 & 0xff));
- case 0x255a: return((CHAR)(200 & 0xff));
- case 0x255d: return((CHAR)(188 & 0xff));
- case 0x2560: return((CHAR)(204 & 0xff));
- case 0x2563: return((CHAR)(185 & 0xff));
- case 0x2566: return((CHAR)(203 & 0xff));
- case 0x2569: return((CHAR)(202 & 0xff));
- case 0x256c: return((CHAR)(206 & 0xff));
- case 0x2580: return((CHAR)(223 & 0xff));
- case 0x2584: return((CHAR)(220 & 0xff));
- case 0x2588: return((CHAR)(219 & 0xff));
- case 0x2591: return((CHAR)(176 & 0xff));
- case 0x2592: return((CHAR)(177 & 0xff));
- case 0x2593: return((CHAR)(178 & 0xff));
- case 0x25a0: return((CHAR)(254 & 0xff));
- default: return(tx_cpsub(c)); /* For box characters etc */
- }
- }
- int /* PC Code Page 858 */
- #ifdef CK_ANSIC
- tx_cp858(USHORT c)
- #else
- tx_cp858(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x00a0: return((CHAR)(255 & 0xff));
- case 0x00a1: return((CHAR)(173 & 0xff));
- case 0x00a2: return((CHAR)(189 & 0xff));
- case 0x00a3: return((CHAR)(156 & 0xff));
- case 0x00a4: return((CHAR)(207 & 0xff));
- case 0x00a5: return((CHAR)(190 & 0xff));
- case 0x00a6: return((CHAR)(221 & 0xff));
- case 0x00a7: return((CHAR)(245 & 0xff));
- case 0x00a8: return((CHAR)(249 & 0xff));
- case 0x00a9: return((CHAR)(184 & 0xff));
- case 0x00aa: return((CHAR)(166 & 0xff));
- case 0x00ab: return((CHAR)(174 & 0xff));
- case 0x00ac: return((CHAR)(170 & 0xff));
- case 0x00ad: return((CHAR)(240 & 0xff));
- case 0x00ae: return((CHAR)(169 & 0xff));
- case 0x00af: return((CHAR)(238 & 0xff));
- case 0x00b0: return((CHAR)(248 & 0xff));
- case 0x00b1: return((CHAR)(241 & 0xff));
- case 0x00b2: return((CHAR)(253 & 0xff));
- case 0x00b3: return((CHAR)(252 & 0xff));
- case 0x00b4: return((CHAR)(239 & 0xff));
- case 0x00b5: return((CHAR)(230 & 0xff));
- case 0x00b6: return((CHAR)(244 & 0xff));
- case 0x00b7: return((CHAR)(250 & 0xff));
- case 0x00b8: return((CHAR)(247 & 0xff));
- case 0x00b9: return((CHAR)(251 & 0xff));
- case 0x00ba: return((CHAR)(167 & 0xff));
- case 0x00bb: return((CHAR)(175 & 0xff));
- case 0x00bc: return((CHAR)(172 & 0xff));
- case 0x00bd: return((CHAR)(171 & 0xff));
- case 0x00be: return((CHAR)(243 & 0xff));
- case 0x00bf: return((CHAR)(168 & 0xff));
- case 0x00c0: return((CHAR)(183 & 0xff));
- case 0x00c1: return((CHAR)(181 & 0xff));
- case 0x00c2: return((CHAR)(182 & 0xff));
- case 0x00c3: return((CHAR)(199 & 0xff));
- case 0x00c4: return((CHAR)(142 & 0xff));
- case 0x00c5: return((CHAR)(143 & 0xff));
- case 0x00c6: return((CHAR)(146 & 0xff));
- case 0x00c7: return((CHAR)(128 & 0xff));
- case 0x00c8: return((CHAR)(212 & 0xff));
- case 0x00c9: return((CHAR)(144 & 0xff));
- case 0x00ca: return((CHAR)(210 & 0xff));
- case 0x00cb: return((CHAR)(211 & 0xff));
- case 0x00cc: return((CHAR)(222 & 0xff));
- case 0x00cd: return((CHAR)(214 & 0xff));
- case 0x00ce: return((CHAR)(215 & 0xff));
- case 0x00cf: return((CHAR)(216 & 0xff));
- case 0x00d0: return((CHAR)(209 & 0xff));
- case 0x00d1: return((CHAR)(165 & 0xff));
- case 0x00d2: return((CHAR)(227 & 0xff));
- case 0x00d3: return((CHAR)(224 & 0xff));
- case 0x00d4: return((CHAR)(226 & 0xff));
- case 0x00d5: return((CHAR)(229 & 0xff));
- case 0x00d6: return((CHAR)(153 & 0xff));
- case 0x00d7: return((CHAR)(158 & 0xff));
- case 0x00d8: return((CHAR)(157 & 0xff));
- case 0x00d9: return((CHAR)(235 & 0xff));
- case 0x00da: return((CHAR)(233 & 0xff));
- case 0x00db: return((CHAR)(234 & 0xff));
- case 0x00dc: return((CHAR)(154 & 0xff));
- case 0x00dd: return((CHAR)(237 & 0xff));
- case 0x00de: return((CHAR)(232 & 0xff));
- case 0x00df: return((CHAR)(225 & 0xff));
- case 0x00e0: return((CHAR)(133 & 0xff));
- case 0x00e1: return((CHAR)(160 & 0xff));
- case 0x00e2: return((CHAR)(131 & 0xff));
- case 0x00e3: return((CHAR)(198 & 0xff));
- case 0x00e4: return((CHAR)(132 & 0xff));
- case 0x00e5: return((CHAR)(134 & 0xff));
- case 0x00e6: return((CHAR)(145 & 0xff));
- case 0x00e7: return((CHAR)(135 & 0xff));
- case 0x00e8: return((CHAR)(138 & 0xff));
- case 0x00e9: return((CHAR)(130 & 0xff));
- case 0x00ea: return((CHAR)(136 & 0xff));
- case 0x00eb: return((CHAR)(137 & 0xff));
- case 0x00ec: return((CHAR)(141 & 0xff));
- case 0x00ed: return((CHAR)(161 & 0xff));
- case 0x00ee: return((CHAR)(140 & 0xff));
- case 0x00ef: return((CHAR)(139 & 0xff));
- case 0x00f0: return((CHAR)(208 & 0xff));
- case 0x00f1: return((CHAR)(164 & 0xff));
- case 0x00f2: return((CHAR)(149 & 0xff));
- case 0x00f3: return((CHAR)(162 & 0xff));
- case 0x00f4: return((CHAR)(147 & 0xff));
- case 0x00f5: return((CHAR)(228 & 0xff));
- case 0x00f6: return((CHAR)(148 & 0xff));
- case 0x00f7: return((CHAR)(246 & 0xff));
- case 0x00f8: return((CHAR)(155 & 0xff));
- case 0x00f9: return((CHAR)(151 & 0xff));
- case 0x00fa: return((CHAR)(163 & 0xff));
- case 0x00fb: return((CHAR)(150 & 0xff));
- case 0x00fc: return((CHAR)(129 & 0xff));
- case 0x00fd: return((CHAR)(236 & 0xff));
- case 0x00fe: return((CHAR)(231 & 0xff));
- case 0x00ff: return((CHAR)(152 & 0xff));
- case 0x20ac: return((CHAR)(213 & 0xff));
- case 0x0192: return((CHAR)(159 & 0xff));
- case 0x2017: return((CHAR)(242 & 0xff));
- case 0x2500: return((CHAR)(196 & 0xff));
- case 0x2502: return((CHAR)(179 & 0xff));
- case 0x250c: return((CHAR)(218 & 0xff));
- case 0x2510: return((CHAR)(191 & 0xff));
- case 0x2514: return((CHAR)(192 & 0xff));
- case 0x2518: return((CHAR)(217 & 0xff));
- case 0x251c: return((CHAR)(195 & 0xff));
- case 0x2524: return((CHAR)(180 & 0xff));
- case 0x252c: return((CHAR)(194 & 0xff));
- case 0x2534: return((CHAR)(193 & 0xff));
- case 0x253c: return((CHAR)(197 & 0xff));
- case 0x2550: return((CHAR)(205 & 0xff));
- case 0x2551: return((CHAR)(186 & 0xff));
- case 0x2554: return((CHAR)(201 & 0xff));
- case 0x2557: return((CHAR)(187 & 0xff));
- case 0x255a: return((CHAR)(200 & 0xff));
- case 0x255d: return((CHAR)(188 & 0xff));
- case 0x2560: return((CHAR)(204 & 0xff));
- case 0x2563: return((CHAR)(185 & 0xff));
- case 0x2566: return((CHAR)(203 & 0xff));
- case 0x2569: return((CHAR)(202 & 0xff));
- case 0x256c: return((CHAR)(206 & 0xff));
- case 0x2580: return((CHAR)(223 & 0xff));
- case 0x2584: return((CHAR)(220 & 0xff));
- case 0x2588: return((CHAR)(219 & 0xff));
- case 0x2591: return((CHAR)(176 & 0xff));
- case 0x2592: return((CHAR)(177 & 0xff));
- case 0x2593: return((CHAR)(178 & 0xff));
- case 0x25a0: return((CHAR)(254 & 0xff));
- default: return(tx_cpsub(c)); /* For box characters etc */
- }
- }
- int /* Windows Code Page 1250 (Latin-2) */
- #ifdef CK_ANSIC
- tx_cp1250(USHORT c)
- #else
- tx_cp1250(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80 || c > 0xbf && c <= 0xff) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x002D: return((CHAR)(0xad & 0xff));
- case 0x00A0: return((CHAR)(0xa0 & 0xff));
- case 0x00A4: return((CHAR)(0xa4 & 0xff));
- case 0x00A6: return((CHAR)(0xa6 & 0xff));
- case 0x00A7: return((CHAR)(0xa7 & 0xff));
- case 0x00A8: return((CHAR)(0xa8 & 0xff));
- case 0x00A9: return((CHAR)(0xa9 & 0xff));
- case 0x00AB: return((CHAR)(0xab & 0xff));
- case 0x00AC: return((CHAR)(0xac & 0xff));
- case 0x00AE: return((CHAR)(0xae & 0xff));
- case 0x00B0: return((CHAR)(0xb0 & 0xff));
- case 0x00B1: return((CHAR)(0xb1 & 0xff));
- case 0x00B4: return((CHAR)(0xb4 & 0xff));
- case 0x00B5: return((CHAR)(0xb5 & 0xff));
- case 0x00B6: return((CHAR)(0xb6 & 0xff));
- case 0x00B7: return((CHAR)(0xb7 & 0xff));
- case 0x00B8: return((CHAR)(0xb8 & 0xff));
- case 0x00BB: return((CHAR)(0xbb & 0xff));
- case 0x0104: return((CHAR)(0xa5 & 0xff));
- case 0x0105: return((CHAR)(0xb9 & 0xff));
- case 0x013D: return((CHAR)(0xbc & 0xff));
- case 0x013E: return((CHAR)(0xbe & 0xff));
- case 0x0141: return((CHAR)(0xa3 & 0xff));
- case 0x0142: return((CHAR)(0xb3 & 0xff));
- case 0x015A: return((CHAR)(0x8c & 0xff)); /* S acute */
- case 0x015E: return((CHAR)(0xaa & 0xff));
- case 0x015F: return((CHAR)(0xba & 0xff));
- case 0x015b: return((CHAR)(0x9c & 0xff)); /* s acute */
- case 0x0164: return((CHAR)(0x8d & 0xff)); /* T caron */
- case 0x0165: return((CHAR)(0x9d & 0xff)); /* t caron */
- case 0x0173: return((CHAR)(0x9e & 0xff)); /* z caron */
- case 0x0179: return((CHAR)(0x8f & 0xff)); /* Z acute */
- case 0x017A: return((CHAR)(0x9f & 0xff)); /* z acute */
- case 0x017B: return((CHAR)(0xaf & 0xff));
- case 0x017C: return((CHAR)(0xbf & 0xff));
- case 0x017D: return((CHAR)(0x8e & 0xff)); /* Z caron */
- case 0x02C7: return((CHAR)(0xa1 & 0xff));
- case 0x02D8: return((CHAR)(0xa2 & 0xff));
- case 0x02DB: return((CHAR)(0xb2 & 0xff));
- case 0x02DD: return((CHAR)(0xbd & 0xff));
- case 0x2010: case 0x2011: /* Hyphens */
- return((CHAR)(0x2d & 0xff));
- case 0x2012: case 0x2013: /* en-dashes */
- return((CHAR)(0x96 & 0xff));
- case 0x2014: case 0x2015: /* em-dashes */
- return((CHAR)(0x97 & 0xff));
- case 0x2018: /* Various quotation marks... */
- return((CHAR)(0x91 & 0xff));
- case 0x2019:
- return((CHAR)(0x92 & 0xff));
- case 0x201c:
- return((CHAR)(0x93 & 0xff));
- case 0x201d:
- return((CHAR)(0x94 & 0xff));
- case 0x201e:
- return((CHAR)(0x84 & 0xff));
- case 0x2020: /* Dagger */
- return((CHAR)(0x86 & 0xff));
- case 0x2021: /* Double Dagger */
- return((CHAR)(0x87 & 0xff));
- case 0x2022: /* Bullet */
- return((CHAR)(0x95 & 0xff));
- case 0x2026: /* Ellipsis */
- return((CHAR)(0x85 & 0xff));
- case 0x2030: /* Per mil */
- return((CHAR)(0x89 & 0xff));
- case 0x20AC: /* Euro */
- return((CHAR)(0x80 & 0xff));
- case 0x2122: /* Trade Mark */
- return((CHAR)(0x99 & 0xff));
- default: return(0x003f);
- }
- }
- int /* Windows Code Page 1251 (Cyrillic) */
- #ifdef CK_ANSIC
- tx_cp1251(USHORT c)
- #else
- tx_cp1251(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- /* This is simply the inverse of u_cp1251.map */
- switch (c) {
- case 0x003c: return((CHAR)(0x8b & 0xff));
- case 0x003e: return((CHAR)(0x9b & 0xff));
- case 0x007e: return((CHAR)(0x98 & 0xff));
- case 0x00A0: return((CHAR)(0xa0 & 0xff));
- case 0x00A4: return((CHAR)(0xa4 & 0xff));
- case 0x00A6: return((CHAR)(0xa6 & 0xff));
- case 0x00A7: return((CHAR)(0xa7 & 0xff));
- case 0x00A9: return((CHAR)(0xa9 & 0xff));
- case 0x00AB: return((CHAR)(0xab & 0xff));
- case 0x00AC: return((CHAR)(0xac & 0xff));
- case 0x00AD: return((CHAR)(0xad & 0xff));
- case 0x00AE: return((CHAR)(0xae & 0xff));
- case 0x00b0: return((CHAR)(0xb0 & 0xff));
- case 0x00b1: return((CHAR)(0xb1 & 0xff));
- case 0x00B5: return((CHAR)(0xb5 & 0xff));
- case 0x00B6: return((CHAR)(0xb6 & 0xff));
- case 0x00B7: return((CHAR)(0xb7 & 0xff));
- case 0x00BB: return((CHAR)(0xbb & 0xff));
- case 0x0401: return((CHAR)(0xa8 & 0xff));
- case 0x0402: return((CHAR)(0x80 & 0xff));
- case 0x0403: return((CHAR)(0x81 & 0xff));
- case 0x0404: return((CHAR)(0xaa & 0xff));
- case 0x0405: return((CHAR)(0xbd & 0xff));
- case 0x0406: return((CHAR)(0xb2 & 0xff));
- case 0x0407: return((CHAR)(0xaf & 0xff));
- case 0x0408: return((CHAR)(0xa3 & 0xff));
- case 0x0409: return((CHAR)(0x8a & 0xff));
- case 0x040a: return((CHAR)(0x8c & 0xff));
- case 0x040b: return((CHAR)(0x8e & 0xff));
- case 0x040c: return((CHAR)(0x8d & 0xff));
- case 0x040e: return((CHAR)(0xa1 & 0xff));
- case 0x040f: return((CHAR)(0x8f & 0xff));
- case 0x0410: return((CHAR)(0xc0 & 0xff));
- case 0x0411: return((CHAR)(0xc1 & 0xff));
- case 0x0412: return((CHAR)(0xc2 & 0xff));
- case 0x0413: return((CHAR)(0xc3 & 0xff));
- case 0x0414: return((CHAR)(0xc4 & 0xff));
- case 0x0415: return((CHAR)(0xc5 & 0xff));
- case 0x0416: return((CHAR)(0xc6 & 0xff));
- case 0x0417: return((CHAR)(0xc7 & 0xff));
- case 0x0418: return((CHAR)(0xc8 & 0xff));
- case 0x0419: return((CHAR)(0xc9 & 0xff));
- case 0x041a: return((CHAR)(0xca & 0xff));
- case 0x041b: return((CHAR)(0xcb & 0xff));
- case 0x041c: return((CHAR)(0xcc & 0xff));
- case 0x041d: return((CHAR)(0xcd & 0xff));
- case 0x041e: return((CHAR)(0xce & 0xff));
- case 0x041f: return((CHAR)(0xcf & 0xff));
- case 0x0420: return((CHAR)(0xd0 & 0xff));
- case 0x0421: return((CHAR)(0xd1 & 0xff));
- case 0x0422: return((CHAR)(0xd2 & 0xff));
- case 0x0423: return((CHAR)(0xd3 & 0xff));
- case 0x0424: return((CHAR)(0xd4 & 0xff));
- case 0x0425: return((CHAR)(0xd5 & 0xff));
- case 0x0426: return((CHAR)(0xd6 & 0xff));
- case 0x0427: return((CHAR)(0xd7 & 0xff));
- case 0x0428: return((CHAR)(0xd8 & 0xff));
- case 0x0429: return((CHAR)(0xd9 & 0xff));
- case 0x042a: return((CHAR)(0xda & 0xff));
- case 0x042b: return((CHAR)(0xdb & 0xff));
- case 0x042c: return((CHAR)(0xdc & 0xff));
- case 0x042d: return((CHAR)(0xdd & 0xff));
- case 0x042e: return((CHAR)(0xde & 0xff));
- case 0x042f: return((CHAR)(0xdf & 0xff));
- case 0x0430: return((CHAR)(0xe0 & 0xff));
- case 0x0431: return((CHAR)(0xe1 & 0xff));
- case 0x0432: return((CHAR)(0xe2 & 0xff));
- case 0x0433: return((CHAR)(0xe3 & 0xff));
- case 0x0434: return((CHAR)(0xe4 & 0xff));
- case 0x0435: return((CHAR)(0xe5 & 0xff));
- case 0x0436: return((CHAR)(0xe6 & 0xff));
- case 0x0437: return((CHAR)(0xe7 & 0xff));
- case 0x0438: return((CHAR)(0xe8 & 0xff));
- case 0x0439: return((CHAR)(0xe9 & 0xff));
- case 0x043a: return((CHAR)(0xea & 0xff));
- case 0x043b: return((CHAR)(0xeb & 0xff));
- case 0x043c: return((CHAR)(0xec & 0xff));
- case 0x043d: return((CHAR)(0xed & 0xff));
- case 0x043e: return((CHAR)(0xee & 0xff));
- case 0x043f: return((CHAR)(0xef & 0xff));
- case 0x0440: return((CHAR)(0xf0 & 0xff));
- case 0x0441: return((CHAR)(0xf1 & 0xff));
- case 0x0442: return((CHAR)(0xf2 & 0xff));
- case 0x0443: return((CHAR)(0xf3 & 0xff));
- case 0x0444: return((CHAR)(0xf4 & 0xff));
- case 0x0445: return((CHAR)(0xf5 & 0xff));
- case 0x0446: return((CHAR)(0xf6 & 0xff));
- case 0x0447: return((CHAR)(0xf7 & 0xff));
- case 0x0448: return((CHAR)(0xf8 & 0xff));
- case 0x0449: return((CHAR)(0xf9 & 0xff));
- case 0x044a: return((CHAR)(0xfa & 0xff));
- case 0x044b: return((CHAR)(0xfb & 0xff));
- case 0x044c: return((CHAR)(0xfc & 0xff));
- case 0x044d: return((CHAR)(0xfd & 0xff));
- case 0x044e: return((CHAR)(0xfe & 0xff));
- case 0x044f: return((CHAR)(0xff & 0xff));
- case 0x0451: return((CHAR)(0xb8 & 0xff));
- case 0x0452: return((CHAR)(0x90 & 0xff));
- case 0x0453: return((CHAR)(0x83 & 0xff));
- case 0x0454: return((CHAR)(0xba & 0xff));
- case 0x0455: return((CHAR)(0xbe & 0xff));
- case 0x0456: return((CHAR)(0xb3 & 0xff));
- case 0x0457: return((CHAR)(0xbf & 0xff));
- case 0x0458: return((CHAR)(0xbc & 0xff));
- case 0x0459: return((CHAR)(0x9a & 0xff));
- case 0x045a: return((CHAR)(0x9c & 0xff));
- case 0x045b: return((CHAR)(0x9e & 0xff));
- case 0x045c: return((CHAR)(0x9d & 0xff));
- case 0x045e: return((CHAR)(0xa2 & 0xff));
- case 0x045f: return((CHAR)(0x9f & 0xff));
- case 0x0490: return((CHAR)(0xa5 & 0xff));
- case 0x0491: return((CHAR)(0xb4 & 0xff));
- case 0x2012: return((CHAR)(0x96 & 0xff));
- case 0x2014: return((CHAR)(0x97 & 0xff));
- case 0x2018: return((CHAR)(0x91 & 0xff));
- case 0x2019: return((CHAR)(0x92 & 0xff));
- case 0x201a: return((CHAR)(0x82 & 0xff));
- case 0x201c: return((CHAR)(0x93 & 0xff));
- case 0x201d: return((CHAR)(0x94 & 0xff));
- case 0x201e: return((CHAR)(0x84 & 0xff));
- case 0x2020: return((CHAR)(0x86 & 0xff));
- case 0x2021: return((CHAR)(0x87 & 0xff));
- case 0x2022: return((CHAR)(0x95 & 0xff));
- case 0x2026: return((CHAR)(0x85 & 0xff));
- case 0x2031: return((CHAR)(0x89 & 0xff));
- case 0x20AC: /* Euro */
- return((CHAR)(0x88 & 0xff));
- case 0x2116: return((CHAR)(0xb9 & 0xff));
- case 0x2122: return((CHAR)(0x99 & 0xff));
- default: return(0x003f);
- }
- }
- int /* Unicode to Windows Code Page 1252 (Latin-1) */
- #ifdef CK_ANSIC
- tx_cp1252(USHORT c)
- #else
- tx_cp1252(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80 || c > 0x9f && c <= 0xff) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x0152: /* OE */
- return((CHAR)(0x8c & 0xff));
- case 0x0153: /* oe */
- return((CHAR)(0x9c & 0xff));
- case 0x0160: /* S caron */
- return((CHAR)(0x8a & 0xff));
- case 0x0161: /* s caron */
- return((CHAR)(0x9a & 0xff));
- case 0x0178: /* Y diaeresis */
- return((CHAR)(0x9f & 0xff));
- case 0x017D: /* Z caron */
- return((CHAR)(0x8e & 0xff));
- case 0x017E: /* z caron */
- return((CHAR)(0x9e & 0xff));
- case 0x0192: /* Florin */
- return((CHAR)(0x83 & 0xff));
- case 0x2010: case 0x2011: /* Hyphens */
- return((CHAR)(0x2d & 0xff));
- case 0x2012: case 0x2013: /* en-dashes */
- return((CHAR)(0x96 & 0xff));
- case 0x2014: case 0x2015: /* em-dashes */
- return((CHAR)(0x97 & 0xff));
- case 0x2018: /* Various quotation marks... */
- return((CHAR)(0x91 & 0xff));
- case 0x2019:
- return((CHAR)(0x92 & 0xff));
- case 0x201c:
- return((CHAR)(0x93 & 0xff));
- case 0x201d:
- return((CHAR)(0x94 & 0xff));
- case 0x201e:
- return((CHAR)(0x84 & 0xff));
- case 0x2020: /* Dagger */
- return((CHAR)(0x86 & 0xff));
- case 0x2021: /* Double Dagger */
- return((CHAR)(0x87 & 0xff));
- case 0x2022: /* Bullet */
- return((CHAR)(0x95 & 0xff));
- case 0x2026: /* Ellipsis */
- return((CHAR)(0x85 & 0xff));
- case 0x2030: /* Per mil */
- return((CHAR)(0x89 & 0xff));
- case 0x20AC: /* Euro */
- return((CHAR)(0x80 & 0xff));
- case 0x2122: /* Trade Mark */
- return((CHAR)(0x99 & 0xff));
- default: return(0x003f);
- }
- }
- int /* PC Code Page 852 */
- #ifdef CK_ANSIC
- tx_cp852(USHORT c)
- #else
- tx_cp852(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x00a0: return((CHAR)(255 & 0xff));
- case 0x00a4: return((CHAR)(207 & 0xff));
- case 0x00a7: return((CHAR)(245 & 0xff));
- case 0x00a8: return((CHAR)(249 & 0xff));
- case 0x00ab: return((CHAR)(174 & 0xff));
- case 0x00ac: return((CHAR)(170 & 0xff));
- case 0x00ad: return((CHAR)(240 & 0xff));
- case 0x00b0: return((CHAR)(248 & 0xff));
- case 0x00b4: return((CHAR)(239 & 0xff));
- case 0x00b8: return((CHAR)(247 & 0xff));
- case 0x00bb: return((CHAR)(175 & 0xff));
- case 0x00c1: return((CHAR)(181 & 0xff));
- case 0x00c2: return((CHAR)(182 & 0xff));
- case 0x00c4: return((CHAR)(142 & 0xff));
- case 0x00c7: return((CHAR)(128 & 0xff));
- case 0x00c9: return((CHAR)(144 & 0xff));
- case 0x00cb: return((CHAR)(211 & 0xff));
- case 0x00cd: return((CHAR)(214 & 0xff));
- case 0x00ce: return((CHAR)(215 & 0xff));
- case 0x00d3: return((CHAR)(224 & 0xff));
- case 0x00d4: return((CHAR)(226 & 0xff));
- case 0x00d6: return((CHAR)(153 & 0xff));
- case 0x00d7: return((CHAR)(158 & 0xff));
- case 0x00da: return((CHAR)(233 & 0xff));
- case 0x00dc: return((CHAR)(154 & 0xff));
- case 0x00dd: return((CHAR)(237 & 0xff));
- case 0x00df: return((CHAR)(225 & 0xff));
- case 0x00e1: return((CHAR)(160 & 0xff));
- case 0x00e2: return((CHAR)(131 & 0xff));
- case 0x00e4: return((CHAR)(132 & 0xff));
- case 0x00e7: return((CHAR)(135 & 0xff));
- case 0x00e9: return((CHAR)(130 & 0xff));
- case 0x00eb: return((CHAR)(137 & 0xff));
- case 0x00ed: return((CHAR)(161 & 0xff));
- case 0x00ee: return((CHAR)(140 & 0xff));
- case 0x00f3: return((CHAR)(162 & 0xff));
- case 0x00f4: return((CHAR)(147 & 0xff));
- case 0x00f6: return((CHAR)(148 & 0xff));
- case 0x00f7: return((CHAR)(246 & 0xff));
- case 0x00fa: return((CHAR)(163 & 0xff));
- case 0x00fc: return((CHAR)(129 & 0xff));
- case 0x00fd: return((CHAR)(236 & 0xff));
- case 0x0102: return((CHAR)(198 & 0xff));
- case 0x0103: return((CHAR)(199 & 0xff));
- case 0x0104: return((CHAR)(164 & 0xff));
- case 0x0105: return((CHAR)(165 & 0xff));
- case 0x0106: return((CHAR)(143 & 0xff));
- case 0x0107: return((CHAR)(134 & 0xff));
- case 0x010c: return((CHAR)(172 & 0xff));
- case 0x010d: return((CHAR)(159 & 0xff));
- case 0x010e: return((CHAR)(210 & 0xff));
- case 0x010f: return((CHAR)(212 & 0xff));
- case 0x0110: return((CHAR)(209 & 0xff));
- case 0x0111: return((CHAR)(208 & 0xff));
- case 0x0118: return((CHAR)(168 & 0xff));
- case 0x0119: return((CHAR)(169 & 0xff));
- case 0x011a: return((CHAR)(183 & 0xff));
- case 0x011b: return((CHAR)(216 & 0xff));
- case 0x0139: return((CHAR)(145 & 0xff));
- case 0x013a: return((CHAR)(146 & 0xff));
- case 0x013d: return((CHAR)(149 & 0xff));
- case 0x013e: return((CHAR)(150 & 0xff));
- case 0x0141: return((CHAR)(157 & 0xff));
- case 0x0142: return((CHAR)(136 & 0xff));
- case 0x0143: return((CHAR)(227 & 0xff));
- case 0x0144: return((CHAR)(228 & 0xff));
- case 0x0147: return((CHAR)(213 & 0xff));
- case 0x0148: return((CHAR)(229 & 0xff));
- case 0x0150: return((CHAR)(138 & 0xff));
- case 0x0151: return((CHAR)(139 & 0xff));
- case 0x0154: return((CHAR)(232 & 0xff));
- case 0x0155: return((CHAR)(234 & 0xff));
- case 0x0158: return((CHAR)(252 & 0xff));
- case 0x0159: return((CHAR)(253 & 0xff));
- case 0x015a: return((CHAR)(151 & 0xff));
- case 0x015b: return((CHAR)(152 & 0xff));
- case 0x015e: return((CHAR)(184 & 0xff));
- case 0x015f: return((CHAR)(173 & 0xff));
- case 0x0160: return((CHAR)(230 & 0xff));
- case 0x0161: return((CHAR)(231 & 0xff));
- case 0x0162: return((CHAR)(221 & 0xff));
- case 0x0163: return((CHAR)(238 & 0xff));
- case 0x0164: return((CHAR)(155 & 0xff));
- case 0x0165: return((CHAR)(156 & 0xff));
- case 0x016e: return((CHAR)(222 & 0xff));
- case 0x016f: return((CHAR)(133 & 0xff));
- case 0x0170: return((CHAR)(235 & 0xff));
- case 0x0171: return((CHAR)(251 & 0xff));
- case 0x0179: return((CHAR)(141 & 0xff));
- case 0x017a: return((CHAR)(171 & 0xff));
- case 0x017b: return((CHAR)(189 & 0xff));
- case 0x017c: return((CHAR)(190 & 0xff));
- case 0x017d: return((CHAR)(166 & 0xff));
- case 0x017e: return((CHAR)(167 & 0xff));
- case 0x02c7: return((CHAR)(243 & 0xff));
- case 0x02d8: return((CHAR)(244 & 0xff));
- case 0x02d9: return((CHAR)(250 & 0xff));
- case 0x02db: return((CHAR)(242 & 0xff));
- case 0x02dd: return((CHAR)(241 & 0xff));
- case 0x2500: return((CHAR)(196 & 0xff));
- case 0x2502: return((CHAR)(179 & 0xff));
- case 0x250c: return((CHAR)(218 & 0xff));
- case 0x2510: return((CHAR)(191 & 0xff));
- case 0x2514: return((CHAR)(192 & 0xff));
- case 0x2518: return((CHAR)(217 & 0xff));
- case 0x251c: return((CHAR)(195 & 0xff));
- case 0x2524: return((CHAR)(180 & 0xff));
- case 0x252c: return((CHAR)(194 & 0xff));
- case 0x2534: return((CHAR)(193 & 0xff));
- case 0x253c: return((CHAR)(197 & 0xff));
- case 0x2550: return((CHAR)(205 & 0xff));
- case 0x2551: return((CHAR)(186 & 0xff));
- case 0x2554: return((CHAR)(201 & 0xff));
- case 0x2557: return((CHAR)(187 & 0xff));
- case 0x255a: return((CHAR)(200 & 0xff));
- case 0x255d: return((CHAR)(188 & 0xff));
- case 0x2560: return((CHAR)(204 & 0xff));
- case 0x2563: return((CHAR)(185 & 0xff));
- case 0x2566: return((CHAR)(203 & 0xff));
- case 0x2569: return((CHAR)(202 & 0xff));
- case 0x256c: return((CHAR)(206 & 0xff));
- case 0x2580: return((CHAR)(223 & 0xff));
- case 0x2584: return((CHAR)(220 & 0xff));
- case 0x2588: return((CHAR)(219 & 0xff));
- case 0x2591: return((CHAR)(176 & 0xff));
- case 0x2592: return((CHAR)(177 & 0xff));
- case 0x2593: return((CHAR)(178 & 0xff));
- case 0x25a0: return((CHAR)(254 & 0xff));
- default: return(tx_cpsub(c)); /* For box characters etc */
- }
- }
- int /* Windows Code Page 1253 (Greek) */
- #ifdef CK_ANSIC
- tx_cp1253(USHORT c)
- #else
- tx_cp1253(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x003c: return((CHAR)(0x8b & 0xff));
- case 0x003e: return((CHAR)(0x9b & 0xff));
- case 0x00A0: return((CHAR)(0xa0 & 0xff));
- case 0x00A3: return((CHAR)(0xa3 & 0xff));
- case 0x00A4: return((CHAR)(0xa4 & 0xff));
- case 0x00A5: return((CHAR)(0xa5 & 0xff));
- case 0x00A6: return((CHAR)(0xa6 & 0xff));
- case 0x00A7: return((CHAR)(0xa7 & 0xff));
- case 0x00A8: return((CHAR)(0xa8 & 0xff));
- case 0x00A9: return((CHAR)(0xa9 & 0xff));
- case 0x00AA: return((CHAR)(0xaa & 0xff));
- case 0x00AB: return((CHAR)(0xab & 0xff));
- case 0x00AC: return((CHAR)(0xac & 0xff));
- case 0x00AD: return((CHAR)(0xad & 0xff));
- case 0x00AE: return((CHAR)(0xae & 0xff));
- case 0x00AF: return((CHAR)(0xaf & 0xff));
- case 0x00B0: return((CHAR)(0xb0 & 0xff));
- case 0x00B1: return((CHAR)(0xb1 & 0xff));
- case 0x00B2: return((CHAR)(0xb2 & 0xff));
- case 0x00B3: return((CHAR)(0xb3 & 0xff));
- case 0x00B5: return((CHAR)(0xb5 & 0xff));
- case 0x00B6: return((CHAR)(0xb6 & 0xff));
- case 0x00b7: return((CHAR)(0xa1 & 0xff));
- case 0x00BB: return((CHAR)(0xbb & 0xff));
- case 0x00BD: return((CHAR)(0xbd & 0xff));
- case 0x0192: return((CHAR)(0x83 & 0xff));
- case 0x0386: return((CHAR)(0xa2 & 0xff));
- case 0x0388: return((CHAR)(0xb8 & 0xff));
- case 0x0389: return((CHAR)(0xb9 & 0xff));
- case 0x038A: return((CHAR)(0xba & 0xff));
- case 0x038C: return((CHAR)(0xbc & 0xff));
- case 0x038E: return((CHAR)(0xbe & 0xff));
- case 0x038F: return((CHAR)(0xbf & 0xff));
- case 0x0390: return((CHAR)(0xc0 & 0xff));
- case 0x0391: return((CHAR)(0xc1 & 0xff));
- case 0x0392: return((CHAR)(0xc2 & 0xff));
- case 0x0393: return((CHAR)(0xc3 & 0xff));
- case 0x0394: return((CHAR)(0xc4 & 0xff));
- case 0x0395: return((CHAR)(0xc5 & 0xff));
- case 0x0396: return((CHAR)(0xc6 & 0xff));
- case 0x0397: return((CHAR)(0xc7 & 0xff));
- case 0x0398: return((CHAR)(0xc8 & 0xff));
- case 0x0399: return((CHAR)(0xc9 & 0xff));
- case 0x039A: return((CHAR)(0xca & 0xff));
- case 0x039B: return((CHAR)(0xcb & 0xff));
- case 0x039C: return((CHAR)(0xcc & 0xff));
- case 0x039D: return((CHAR)(0xcd & 0xff));
- case 0x039E: return((CHAR)(0xce & 0xff));
- case 0x039F: return((CHAR)(0xcf & 0xff));
- case 0x03a0: return((CHAR)(0xd0 & 0xff));
- case 0x03a1: return((CHAR)(0xd1 & 0xff));
- case 0x03a3: return((CHAR)(0xd3 & 0xff));
- case 0x03a4: return((CHAR)(0xd4 & 0xff));
- case 0x03a5: return((CHAR)(0xd5 & 0xff));
- case 0x03a6: return((CHAR)(0xd6 & 0xff));
- case 0x03a7: return((CHAR)(0xd7 & 0xff));
- case 0x03a8: return((CHAR)(0xd8 & 0xff));
- case 0x03a9: return((CHAR)(0xd9 & 0xff));
- case 0x03aA: return((CHAR)(0xda & 0xff));
- case 0x03aB: return((CHAR)(0xdb & 0xff));
- case 0x03aC: return((CHAR)(0xdc & 0xff));
- case 0x03aD: return((CHAR)(0xdd & 0xff));
- case 0x03aE: return((CHAR)(0xde & 0xff));
- case 0x03aF: return((CHAR)(0xdf & 0xff));
- case 0x03b0: return((CHAR)(0xe0 & 0xff));
- case 0x03b1: return((CHAR)(0xe1 & 0xff));
- case 0x03b2: return((CHAR)(0xe2 & 0xff));
- case 0x03b3: return((CHAR)(0xe3 & 0xff));
- case 0x03b4: return((CHAR)(0xe4 & 0xff));
- case 0x03b5: return((CHAR)(0xe5 & 0xff));
- case 0x03b6: return((CHAR)(0xe6 & 0xff));
- case 0x03b7: return((CHAR)(0xe7 & 0xff));
- case 0x03b8: return((CHAR)(0xe8 & 0xff));
- case 0x03b9: return((CHAR)(0xe9 & 0xff));
- case 0x03bA: return((CHAR)(0xea & 0xff));
- case 0x03bB: return((CHAR)(0xeb & 0xff));
- case 0x03bC: return((CHAR)(0xec & 0xff));
- case 0x03bD: return((CHAR)(0xed & 0xff));
- case 0x03bE: return((CHAR)(0xee & 0xff));
- case 0x03bF: return((CHAR)(0xef & 0xff));
- case 0x03c0: return((CHAR)(0xf0 & 0xff));
- case 0x03c1: return((CHAR)(0xf1 & 0xff));
- case 0x03c2: return((CHAR)(0xf2 & 0xff));
- case 0x03c3: return((CHAR)(0xf3 & 0xff));
- case 0x03c4: return((CHAR)(0xf4 & 0xff));
- case 0x03c5: return((CHAR)(0xf5 & 0xff));
- case 0x03c6: return((CHAR)(0xf6 & 0xff));
- case 0x03c7: return((CHAR)(0xf7 & 0xff));
- case 0x03c8: return((CHAR)(0xf8 & 0xff));
- case 0x03c9: return((CHAR)(0xf9 & 0xff));
- case 0x03cA: return((CHAR)(0xfa & 0xff));
- case 0x03cB: return((CHAR)(0xfb & 0xff));
- case 0x03cC: return((CHAR)(0xfc & 0xff));
- case 0x03cD: return((CHAR)(0xfd & 0xff));
- case 0x03cE: return((CHAR)(0xfe & 0xff));
- case 0x2012: return((CHAR)(0x96 & 0xff));
- case 0x2014: return((CHAR)(0x97 & 0xff));
- case 0x2018: return((CHAR)(0x91 & 0xff));
- case 0x2019: return((CHAR)(0x92 & 0xff));
- case 0x201a: return((CHAR)(0x82 & 0xff));
- case 0x201c: return((CHAR)(0x93 & 0xff));
- case 0x201d: return((CHAR)(0x94 & 0xff));
- case 0x201e: return((CHAR)(0x84 & 0xff));
- case 0x2020: return((CHAR)(0x86 & 0xff));
- case 0x2021: return((CHAR)(0x87 & 0xff));
- case 0x2022: return((CHAR)(0x95 & 0xff));
- case 0x2026: return((CHAR)(0x85 & 0xff));
- case 0x2031: return((CHAR)(0x89 & 0xff));
- case 0x20AC: /* Euro */
- return((CHAR)(0x80 & 0xff));
- case 0x2122: return((CHAR)(0x99 & 0xff));
- default: return(0x003f);
- }
- }
- int /* Windows Code Page 1254 (Turkish) */
- #ifdef CK_ANSIC
- tx_cp1254(USHORT c)
- #else
- tx_cp1254(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80)
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x011e: return((CHAR)(0xd0 & 0xff)); /* G breve */
- case 0x0130: return((CHAR)(0xdd & 0xff)); /* I with dot */
- case 0x015e: return((CHAR)(0xde & 0xff)); /* S cedilla */
- case 0x011f: return((CHAR)(0xf0 & 0xff)); /* g breve */
- case 0x0131: return((CHAR)(0xfd & 0xff)); /* i dotless */
- case 0x015f: return((CHAR)(0xfe & 0xff)); /* s cedilla */
- default: return(tx_cp1252(c)); /* The rest is like Windows Latin-1 */
- }
- }
- int
- #ifdef CK_ANSIC
- tx_cp1255(USHORT c)
- #else
- tx_cp1255(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x080)
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x20AC:
- return((CHAR)(0x80 & 0xff)); /* EURO SIGN */
- case 0x201A:
- return((CHAR)(0x82 & 0xff)); /* SINGLE LOW-9 QUOTATION MARK */
- case 0x0192:
- return((CHAR)(0x83 & 0xff)); /* LATIN SMALL LETTER F WITH HOOK */
- case 0x201E:
- return((CHAR)(0x84 & 0xff)); /* DOUBLE LOW-9 QUOTATION MARK */
- case 0x2026:
- return((CHAR)(0x85 & 0xff)); /* HORIZONTAL ELLIPSIS */
- case 0x2020:
- return((CHAR)(0x86 & 0xff)); /* DAGGER */
- case 0x2021:
- return((CHAR)(0x87 & 0xff)); /* DOUBLE DAGGER */
- case 0x02C6:
- return((CHAR)(0x88 & 0xff)); /* MODIFIER LETTER CIRCUMFLEX ACCENT */
- case 0x2030:
- return((CHAR)(0x89 & 0xff)); /* PER MILLE SIGN */
- case 0x2039:
- return((CHAR)(0x8B & 0xff)); /* SINGLE LEFT-POINTING ANGLE QUOTE */
- case 0x2018:
- return((CHAR)(0x91 & 0xff)); /* LEFT SINGLE QUOTATION MARK */
- case 0x2019:
- return((CHAR)(0x92 & 0xff)); /* RIGHT SINGLE QUOTATION MARK */
- case 0x201C:
- return((CHAR)(0x93 & 0xff)); /* LEFT DOUBLE QUOTATION MARK */
- case 0x201D:
- return((CHAR)(0x94 & 0xff)); /* RIGHT DOUBLE QUOTATION MARK */
- case 0x2022:
- return((CHAR)(0x95 & 0xff)); /* BULLET */
- case 0x2013:
- return((CHAR)(0x96 & 0xff)); /* EN DASH */
- case 0x2014:
- return((CHAR)(0x97 & 0xff)); /* EM DASH */
- case 0x02DC:
- return((CHAR)(0x98 & 0xff)); /* SMALL TILDE */
- case 0x2122:
- return((CHAR)(0x99 & 0xff)); /* TRADE MARK SIGN */
- case 0x203A:
- return((CHAR)(0x9B & 0xff)); /* SINGLE RIGHT-POINTING ANGLE QUOTE */
- case 0x00A0:
- return((CHAR)(0xA0 & 0xff)); /* NO-BREAK SPACE */
- case 0x00A1:
- return((CHAR)(0xA1 & 0xff)); /* INVERTED EXCLAMATION MARK */
- case 0x00A2:
- return((CHAR)(0xA2 & 0xff)); /* CENT SIGN */
- case 0x00A3:
- return((CHAR)(0xA3 & 0xff)); /* POUND SIGN */
- case 0x20AA:
- return((CHAR)(0xA4 & 0xff)); /* NEW SHEQEL SIGN */
- case 0x00A5:
- return((CHAR)(0xA5 & 0xff)); /* YEN SIGN */
- case 0x00A6:
- return((CHAR)(0xA6 & 0xff)); /* BROKEN BAR */
- case 0x00A7:
- return((CHAR)(0xA7 & 0xff)); /* SECTION SIGN */
- case 0x00A8:
- return((CHAR)(0xA8 & 0xff)); /* DIAERESIS */
- case 0x00A9:
- return((CHAR)(0xA9 & 0xff)); /* COPYRIGHT SIGN */
- case 0x00D7:
- return((CHAR)(0xAA & 0xff)); /* MULTIPLICATION SIGN */
- case 0x00AB:
- return((CHAR)(0xAB & 0xff)); /* LEFT-POINTING DOUBLE ANGLE QUOTE */
- case 0x00AC:
- return((CHAR)(0xAC & 0xff)); /* NOT SIGN */
- case 0x00AD:
- return((CHAR)(0xAD & 0xff)); /* SOFT HYPHEN */
- case 0x00AE:
- return((CHAR)(0xAE & 0xff)); /* REGISTERED SIGN */
- case 0x00AF:
- return((CHAR)(0xAF & 0xff)); /* MACRON */
- case 0x00B0:
- return((CHAR)(0xB0 & 0xff)); /* DEGREE SIGN */
- case 0x00B1:
- return((CHAR)(0xB1 & 0xff)); /* PLUS-MINUS SIGN */
- case 0x00B2:
- return((CHAR)(0xB2 & 0xff)); /* SUPERSCRIPT TWO */
- case 0x00B3:
- return((CHAR)(0xB3 & 0xff)); /* SUPERSCRIPT THREE */
- case 0x00B4:
- return((CHAR)(0xB4 & 0xff)); /* ACUTE ACCENT */
- case 0x00B5:
- return((CHAR)(0xB5 & 0xff)); /* MICRO SIGN */
- case 0x00B6:
- return((CHAR)(0xB6 & 0xff)); /* PILCROW SIGN */
- case 0x00B7:
- return((CHAR)(0xB7 & 0xff)); /* MIDDLE DOT */
- case 0x00B8:
- return((CHAR)(0xB8 & 0xff)); /* CEDILLA */
- case 0x00B9:
- return((CHAR)(0xB9 & 0xff)); /* SUPERSCRIPT ONE */
- case 0x00F7:
- return((CHAR)(0xBA & 0xff)); /* DIVISION SIGN */
- case 0x00BB:
- return((CHAR)(0xBB & 0xff)); /* RIGHT-POINTING DOUBLE ANGLE QUOTE */
- case 0x00BC:
- return((CHAR)(0xBC & 0xff)); /* VULGAR FRACTION ONE QUARTER */
- case 0x00BD:
- return((CHAR)(0xBD & 0xff)); /* VULGAR FRACTION ONE HALF */
- case 0x00BE:
- return((CHAR)(0xBE & 0xff)); /* VULGAR FRACTION THREE QUARTERS */
- case 0x00BF:
- return((CHAR)(0xBF & 0xff)); /* INVERTED QUESTION MARK */
- case 0x05B0:
- return((CHAR)(0xC0 & 0xff)); /* HEBREW POINT SHEVA */
- case 0x05B1:
- return((CHAR)(0xC1 & 0xff)); /* HEBREW POINT HATAF SEGOL */
- case 0x05B2:
- return((CHAR)(0xC2 & 0xff)); /* HEBREW POINT HATAF PATAH */
- case 0x05B3:
- return((CHAR)(0xC3 & 0xff)); /* HEBREW POINT HATAF QAMATS */
- case 0x05B4:
- return((CHAR)(0xC4 & 0xff)); /* HEBREW POINT HIRIQ */
- case 0x05B5:
- return((CHAR)(0xC5 & 0xff)); /* HEBREW POINT TSERE */
- case 0x05B6:
- return((CHAR)(0xC6 & 0xff)); /* HEBREW POINT SEGOL */
- case 0x05B7:
- return((CHAR)(0xC7 & 0xff)); /* HEBREW POINT PATAH */
- case 0x05B8:
- return((CHAR)(0xC8 & 0xff)); /* HEBREW POINT QAMATS */
- case 0x05B9:
- return((CHAR)(0xC9 & 0xff)); /* HEBREW POINT HOLAM */
- case 0x05BB:
- return((CHAR)(0xCB & 0xff)); /* HEBREW POINT QUBUTS */
- case 0x05BC:
- return((CHAR)(0xCC & 0xff)); /* HEBREW POINT DAGESH OR MAPIQ */
- case 0x05BD:
- return((CHAR)(0xCD & 0xff)); /* HEBREW POINT METEG */
- case 0x05BE:
- return((CHAR)(0xCE & 0xff)); /* HEBREW PUNCTUATION MAQAF */
- case 0x05BF:
- return((CHAR)(0xCF & 0xff)); /* HEBREW POINT RAFE */
- case 0x05C0:
- return((CHAR)(0xD0 & 0xff)); /* HEBREW PUNCTUATION PASEQ */
- case 0x05C1:
- return((CHAR)(0xD1 & 0xff)); /* HEBREW POINT SHIN DOT */
- case 0x05C2:
- return((CHAR)(0xD2 & 0xff)); /* HEBREW POINT SIN DOT */
- case 0x05C3:
- return((CHAR)(0xD3 & 0xff)); /* HEBREW PUNCTUATION SOF PASUQ */
- case 0x05F0:
- return((CHAR)(0xD4 & 0xff)); /* HEBREW LIG. YIDDISH DOUBLE VAV */
- case 0x05F1:
- return((CHAR)(0xD5 & 0xff)); /* HEBREW LIGATURE YIDDISH VAV YOD */
- case 0x05F2:
- return((CHAR)(0xD6 & 0xff)); /* HEBREW LIG. YIDDISH DOUBLE YOD */
- case 0x05F3:
- return((CHAR)(0xD7 & 0xff)); /* HEBREW PUNCTUATION GERESH */
- case 0x05F4:
- return((CHAR)(0xD8 & 0xff)); /* HEBREW PUNCTUATION GERSHAYIM */
- case 0x05D0:
- return((CHAR)(0xE0 & 0xff)); /* HEBREW LETTER ALEF */
- case 0x05D1:
- return((CHAR)(0xE1 & 0xff)); /* HEBREW LETTER BET */
- case 0x05D2:
- return((CHAR)(0xE2 & 0xff)); /* HEBREW LETTER GIMEL */
- case 0x05D3:
- return((CHAR)(0xE3 & 0xff)); /* HEBREW LETTER DALET */
- case 0x05D4:
- return((CHAR)(0xE4 & 0xff)); /* HEBREW LETTER HE */
- case 0x05D5:
- return((CHAR)(0xE5 & 0xff)); /* HEBREW LETTER VAV */
- case 0x05D6:
- return((CHAR)(0xE6 & 0xff)); /* HEBREW LETTER ZAYIN */
- case 0x05D7:
- return((CHAR)(0xE7 & 0xff)); /* HEBREW LETTER HET */
- case 0x05D8:
- return((CHAR)(0xE8 & 0xff)); /* HEBREW LETTER TET */
- case 0x05D9:
- return((CHAR)(0xE9 & 0xff)); /* HEBREW LETTER YOD */
- case 0x05DA:
- return((CHAR)(0xEA & 0xff)); /* HEBREW LETTER FINAL KAF */
- case 0x05DB:
- return((CHAR)(0xEB & 0xff)); /* HEBREW LETTER KAF */
- case 0x05DC:
- return((CHAR)(0xEC & 0xff)); /* HEBREW LETTER LAMED */
- case 0x05DD:
- return((CHAR)(0xED & 0xff)); /* HEBREW LETTER FINAL MEM */
- case 0x05DE:
- return((CHAR)(0xEE & 0xff)); /* HEBREW LETTER MEM */
- case 0x05DF:
- return((CHAR)(0xEF & 0xff)); /* HEBREW LETTER FINAL NUN */
- case 0x05E0:
- return((CHAR)(0xF0 & 0xff)); /* HEBREW LETTER NUN */
- case 0x05E1:
- return((CHAR)(0xF1 & 0xff)); /* HEBREW LETTER SAMEKH */
- case 0x05E2:
- return((CHAR)(0xF2 & 0xff)); /* HEBREW LETTER AYIN */
- case 0x05E3:
- return((CHAR)(0xF3 & 0xff)); /* HEBREW LETTER FINAL PE */
- case 0x05E4:
- return((CHAR)(0xF4 & 0xff)); /* HEBREW LETTER PE */
- case 0x05E5:
- return((CHAR)(0xF5 & 0xff)); /* HEBREW LETTER FINAL TSADI */
- case 0x05E6:
- return((CHAR)(0xF6 & 0xff)); /* HEBREW LETTER TSADI */
- case 0x05E7:
- return((CHAR)(0xF7 & 0xff)); /* HEBREW LETTER QOF */
- case 0x05E8:
- return((CHAR)(0xF8 & 0xff)); /* HEBREW LETTER RESH */
- case 0x05E9:
- return((CHAR)(0xF9 & 0xff)); /* HEBREW LETTER SHIN */
- case 0x05EA:
- return((CHAR)(0xFA & 0xff)); /* HEBREW LETTER TAV */
- case 0x200E:
- return((CHAR)(0xFD & 0xff)); /* LEFT-TO-RIGHT MARK */
- case 0x200F:
- return((CHAR)(0xFE & 0xff)); /* RIGHT-TO-LEFT MARK */
- default: return(0x003f);
- }
- }
- int /* Windows Arabic */
- #ifdef CK_ANSIC
- tx_cp1256(USHORT c)
- #else
- tx_cp1256(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80)
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x20AC:
- return((CHAR)(0x80 & 0xff)); /* EURO SIGN */
- case 0x067E:
- return((CHAR)(0x81 & 0xff)); /* ARABIC LETTER PEH */
- case 0x201A:
- return((CHAR)(0x82 & 0xff)); /* SINGLE LOW-9 QUOTATION MARK */
- case 0x0192:
- return((CHAR)(0x83 & 0xff)); /* LATIN SMALL LETTER F WITH HOOK */
- case 0x201E:
- return((CHAR)(0x84 & 0xff)); /* DOUBLE LOW-9 QUOTATION MARK */
- case 0x2026:
- return((CHAR)(0x85 & 0xff)); /* HORIZONTAL ELLIPSIS */
- case 0x2020:
- return((CHAR)(0x86 & 0xff)); /* DAGGER */
- case 0x2021:
- return((CHAR)(0x87 & 0xff)); /* DOUBLE DAGGER */
- case 0x02C6:
- return((CHAR)(0x88 & 0xff)); /* MODIFIER LETTER CIRCUMFLEX ACCENT */
- case 0x2030:
- return((CHAR)(0x89 & 0xff)); /* PER MILLE SIGN */
- case 0x2039:
- return((CHAR)(0x8B & 0xff)); /* SINGLE LEFT-POINTING ANGLE QUOTE */
- case 0x0152:
- return((CHAR)(0x8C & 0xff)); /* LATIN CAPITAL LIGATURE OE */
- case 0x0686:
- return((CHAR)(0x8D & 0xff)); /* ARABIC LETTER TCHEH */
- case 0x0698:
- return((CHAR)(0x8E & 0xff)); /* ARABIC LETTER JEH */
- case 0x06AF:
- return((CHAR)(0x90 & 0xff)); /* ARABIC LETTER GAF */
- case 0x2018:
- return((CHAR)(0x91 & 0xff)); /* LEFT SINGLE QUOTATION MARK */
- case 0x2019:
- return((CHAR)(0x92 & 0xff)); /* RIGHT SINGLE QUOTATION MARK */
- case 0x201C:
- return((CHAR)(0x93 & 0xff)); /* LEFT DOUBLE QUOTATION MARK */
- case 0x201D:
- return((CHAR)(0x94 & 0xff)); /* RIGHT DOUBLE QUOTATION MARK */
- case 0x2022:
- return((CHAR)(0x95 & 0xff)); /* BULLET */
- case 0x2013:
- return((CHAR)(0x96 & 0xff)); /* EN DASH */
- case 0x2014:
- return((CHAR)(0x97 & 0xff)); /* EM DASH */
- case 0x2122:
- return((CHAR)(0x99 & 0xff)); /* TRADE MARK SIGN */
- case 0x203A:
- return((CHAR)(0x9B & 0xff)); /* SINGLE RIGHT-POINTING ANGLE QUOTE */
- case 0x0153:
- return((CHAR)(0x9C & 0xff)); /* LATIN SMALL LIGATURE OE */
- case 0x200C:
- return((CHAR)(0x9D & 0xff)); /* ZERO WIDTH NON-JOINER */
- case 0x200D:
- return((CHAR)(0x9E & 0xff)); /* ZERO WIDTH JOINER */
- case 0x00A0:
- return((CHAR)(0xA0 & 0xff)); /* NO-BREAK SPACE */
- case 0x060C:
- return((CHAR)(0xA1 & 0xff)); /* ARABIC COMMA */
- case 0x00A2:
- return((CHAR)(0xA2 & 0xff)); /* CENT SIGN */
- case 0x00A3:
- return((CHAR)(0xA3 & 0xff)); /* POUND SIGN */
- case 0x00A4:
- return((CHAR)(0xA4 & 0xff)); /* CURRENCY SIGN */
- case 0x00A5:
- return((CHAR)(0xA5 & 0xff)); /* YEN SIGN */
- case 0x00A6:
- return((CHAR)(0xA6 & 0xff)); /* BROKEN BAR */
- case 0x00A7:
- return((CHAR)(0xA7 & 0xff)); /* SECTION SIGN */
- case 0x00A8:
- return((CHAR)(0xA8 & 0xff)); /* DIAERESIS */
- case 0x00A9:
- return((CHAR)(0xA9 & 0xff)); /* COPYRIGHT SIGN */
- case 0x00AB:
- return((CHAR)(0xAB & 0xff)); /* LEFT-POINTING DOUBLE ANGLE QUOTE */
- case 0x00AC:
- return((CHAR)(0xAC & 0xff)); /* NOT SIGN */
- case 0x00AD:
- return((CHAR)(0xAD & 0xff)); /* SOFT HYPHEN */
- case 0x00AE:
- return((CHAR)(0xAE & 0xff)); /* REGISTERED SIGN */
- case 0x00AF:
- return((CHAR)(0xAF & 0xff)); /* MACRON */
- case 0x00B0:
- return((CHAR)(0xB0 & 0xff)); /* DEGREE SIGN */
- case 0x00B1:
- return((CHAR)(0xB1 & 0xff)); /* PLUS-MINUS SIGN */
- case 0x00B2:
- return((CHAR)(0xB2 & 0xff)); /* SUPERSCRIPT TWO */
- case 0x00B3:
- return((CHAR)(0xB3 & 0xff)); /* SUPERSCRIPT THREE */
- case 0x00B4:
- return((CHAR)(0xB4 & 0xff)); /* ACUTE ACCENT */
- case 0x00B5:
- return((CHAR)(0xB5 & 0xff)); /* MICRO SIGN */
- case 0x00B6:
- return((CHAR)(0xB6 & 0xff)); /* PILCROW SIGN */
- case 0x00B7:
- return((CHAR)(0xB7 & 0xff)); /* MIDDLE DOT */
- case 0x00B8:
- return((CHAR)(0xB8 & 0xff)); /* CEDILLA */
- case 0x00B9:
- return((CHAR)(0xB9 & 0xff)); /* SUPERSCRIPT ONE */
- case 0x061B:
- return((CHAR)(0xBA & 0xff)); /* ARABIC SEMICOLON */
- case 0x00BB:
- return((CHAR)(0xBB & 0xff)); /* RIGHT-POINTING DOUBLE ANGLE QUOTE */
- case 0x00BC:
- return((CHAR)(0xBC & 0xff)); /* VULGAR FRACTION ONE QUARTER */
- case 0x00BD:
- return((CHAR)(0xBD & 0xff)); /* VULGAR FRACTION ONE HALF */
- case 0x00BE:
- return((CHAR)(0xBE & 0xff)); /* VULGAR FRACTION THREE QUARTERS */
- case 0x061F:
- return((CHAR)(0xBF & 0xff)); /* ARABIC QUESTION MARK */
- case 0x0621:
- return((CHAR)(0xC1 & 0xff)); /* ARABIC LETTER HAMZA */
- case 0x0622:
- return((CHAR)(0xC2 & 0xff)); /* ARABIC LTR. ALEF WITH MADDA ABOVE */
- case 0x0623:
- return((CHAR)(0xC3 & 0xff)); /* ARABIC LTR. ALEF WITH HAMZA ABOVE */
- case 0x0624:
- return((CHAR)(0xC4 & 0xff)); /* ARABIC LTR. WAW WITH HAMZA ABOVE */
- case 0x0625:
- return((CHAR)(0xC5 & 0xff)); /* ARABIC LTR. ALEF WITH HAMZA BELOW */
- case 0x0626:
- return((CHAR)(0xC6 & 0xff)); /* ARABIC LTR. YEH WITH HAMZA ABOVE */
- case 0x0627:
- return((CHAR)(0xC7 & 0xff)); /* ARABIC LTR. ALEF */
- case 0x0628:
- return((CHAR)(0xC8 & 0xff)); /* ARABIC LTR. BEH */
- case 0x0629:
- return((CHAR)(0xC9 & 0xff)); /* ARABIC LETTER TEH MARBUTA */
- case 0x062A:
- return((CHAR)(0xCA & 0xff)); /* ARABIC LETTER TEH */
- case 0x062B:
- return((CHAR)(0xCB & 0xff)); /* ARABIC LETTER THEH */
- case 0x062C:
- return((CHAR)(0xCC & 0xff)); /* ARABIC LETTER JEEM */
- case 0x062D:
- return((CHAR)(0xCD & 0xff)); /* ARABIC LETTER HAH */
- case 0x062E:
- return((CHAR)(0xCE & 0xff)); /* ARABIC LETTER KHAH */
- case 0x062F:
- return((CHAR)(0xCF & 0xff)); /* ARABIC LETTER DAL */
- case 0x0630:
- return((CHAR)(0xD0 & 0xff)); /* ARABIC LETTER THAL */
- case 0x0631:
- return((CHAR)(0xD1 & 0xff)); /* ARABIC LETTER REH */
- case 0x0632:
- return((CHAR)(0xD2 & 0xff)); /* ARABIC LETTER ZAIN */
- case 0x0633:
- return((CHAR)(0xD3 & 0xff)); /* ARABIC LETTER SEEN */
- case 0x0634:
- return((CHAR)(0xD4 & 0xff)); /* ARABIC LETTER SHEEN */
- case 0x0635:
- return((CHAR)(0xD5 & 0xff)); /* ARABIC LETTER SAD */
- case 0x0636:
- return((CHAR)(0xD6 & 0xff)); /* ARABIC LETTER DAD */
- case 0x00D7:
- return((CHAR)(0xD7 & 0xff)); /* MULTIPLICATION SIGN */
- case 0x0637:
- return((CHAR)(0xD8 & 0xff)); /* ARABIC LETTER TAH */
- case 0x0638:
- return((CHAR)(0xD9 & 0xff)); /* ARABIC LETTER ZAH */
- case 0x0639:
- return((CHAR)(0xDA & 0xff)); /* ARABIC LETTER AIN */
- case 0x063A:
- return((CHAR)(0xDB & 0xff)); /* ARABIC LETTER GHAIN */
- case 0x0640:
- return((CHAR)(0xDC & 0xff)); /* ARABIC TATWEEL */
- case 0x0641:
- return((CHAR)(0xDD & 0xff)); /* ARABIC LETTER FEH */
- case 0x0642:
- return((CHAR)(0xDE & 0xff)); /* ARABIC LETTER QAF */
- case 0x0643:
- return((CHAR)(0xDF & 0xff)); /* ARABIC LETTER KAF */
- case 0x00E0:
- return((CHAR)(0xE0 & 0xff)); /* LATIN SMALL LETTER A WITH GRAVE */
- case 0x0644:
- return((CHAR)(0xE1 & 0xff)); /* ARABIC LETTER LAM */
- case 0x00E2:
- return((CHAR)(0xE2 & 0xff)); /* SMALL LETTER A WITH CIRCUMFLEX */
- case 0x0645:
- return((CHAR)(0xE3 & 0xff)); /* ARABIC LETTER MEEM */
- case 0x0646:
- return((CHAR)(0xE4 & 0xff)); /* ARABIC LETTER NOON */
- case 0x0647:
- return((CHAR)(0xE5 & 0xff)); /* ARABIC LETTER HEH */
- case 0x0648:
- return((CHAR)(0xE6 & 0xff)); /* ARABIC LETTER WAW */
- case 0x00E7:
- return((CHAR)(0xE7 & 0xff)); /* LATIN SMALL LETTER C WITH CEDILLA */
- case 0x00E8:
- return((CHAR)(0xE8 & 0xff)); /* LATIN SMALL LETTER E WITH GRAVE */
- case 0x00E9:
- return((CHAR)(0xE9 & 0xff)); /* LATIN SMALL LETTER E WITH ACUTE */
- case 0x00EA:
- return((CHAR)(0xEA & 0xff)); /* SMALL LETTER E WITH CIRCUMFLEX */
- case 0x00EB:
- return((CHAR)(0xEB & 0xff)); /* SMALL LETTER E WITH DIAERESIS */
- case 0x0649:
- return((CHAR)(0xEC & 0xff)); /* ARABIC LETTER ALEF MAKSURA */
- case 0x064A:
- return((CHAR)(0xED & 0xff)); /* ARABIC LETTER YEH */
- case 0x00EE:
- return((CHAR)(0xEE & 0xff)); /* SMALL LETTER I WITH CIRCUMFLEX */
- case 0x00EF:
- return((CHAR)(0xEF & 0xff)); /* SMALL LETTER I WITH DIAERESIS */
- case 0x064B:
- return((CHAR)(0xF0 & 0xff)); /* ARABIC FATHATAN */
- case 0x064C:
- return((CHAR)(0xF1 & 0xff)); /* ARABIC DAMMATAN */
- case 0x064D:
- return((CHAR)(0xF2 & 0xff)); /* ARABIC KASRATAN */
- case 0x064E:
- return((CHAR)(0xF3 & 0xff)); /* ARABIC FATHA */
- case 0x00F4:
- return((CHAR)(0xF4 & 0xff)); /* SMALL LETTER O WITH CIRCUMFLEX */
- case 0x064F:
- return((CHAR)(0xF5 & 0xff)); /* ARABIC DAMMA */
- case 0x0650:
- return((CHAR)(0xF6 & 0xff)); /* ARABIC KASRA */
- case 0x00F7:
- return((CHAR)(0xF7 & 0xff)); /* DIVISION SIGN */
- case 0x0651:
- return((CHAR)(0xF8 & 0xff)); /* ARABIC SHADDA */
- case 0x00F9:
- return((CHAR)(0xF9 & 0xff)); /* LATIN SMALL LETTER U WITH GRAVE */
- case 0x0652:
- return((CHAR)(0xFA & 0xff)); /* ARABIC SUKUN */
- case 0x00FB:
- return((CHAR)(0xFB & 0xff)); /* SMALL LETTER U WITH CIRCUMFLEX */
- case 0x00FC:
- return((CHAR)(0xFC & 0xff)); /* SMALL LETTER U WITH DIAERESIS */
- case 0x200E:
- return((CHAR)(0xFD & 0xff)); /* LEFT-TO-RIGHT MARK */
- case 0x200F:
- return((CHAR)(0xFE & 0xff)); /* RIGHT-TO-LEFT MARK */
- default: return(0x003f);
- }
- }
- int /* Windows Code Page 1257 (Latin-4) */
- #ifdef CK_ANSIC
- tx_cp1257(USHORT c)
- #else
- tx_cp1257(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80)
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x003c: return((CHAR)(0x8b & 0xff));
- case 0x003e: return((CHAR)(0x9b & 0xff));
- case 0x00A0: return((CHAR)(0xa0 & 0xff));
- case 0x00A2: return((CHAR)(0xa2 & 0xff));
- case 0x00A3: return((CHAR)(0xa3 & 0xff));
- case 0x00A4: return((CHAR)(0xa4 & 0xff));
- case 0x00A6: return((CHAR)(0xa6 & 0xff));
- case 0x00A7: return((CHAR)(0xa7 & 0xff));
- case 0x00A9: return((CHAR)(0xa9 & 0xff));
- case 0x00AB: return((CHAR)(0xab & 0xff));
- case 0x00AC: return((CHAR)(0xac & 0xff));
- case 0x00AD: return((CHAR)(0xad & 0xff));
- case 0x00AE: return((CHAR)(0xae & 0xff));
- case 0x00B0: return((CHAR)(0xb0 & 0xff));
- case 0x00B1: return((CHAR)(0xb1 & 0xff));
- case 0x00B2: return((CHAR)(0xb2 & 0xff));
- case 0x00B3: return((CHAR)(0xb3 & 0xff));
- case 0x00B5: return((CHAR)(0xb5 & 0xff));
- case 0x00B6: return((CHAR)(0xb6 & 0xff));
- case 0x00B7: return((CHAR)(0xb7 & 0xff));
- case 0x00B9: return((CHAR)(0xb9 & 0xff));
- case 0x00BB: return((CHAR)(0xbb & 0xff));
- case 0x00BC: return((CHAR)(0xbc & 0xff));
- case 0x00BD: return((CHAR)(0xbd & 0xff));
- case 0x00BE: return((CHAR)(0xbe & 0xff));
- case 0x00C4: return((CHAR)(0xc4 & 0xff));
- case 0x00C5: return((CHAR)(0xc5 & 0xff));
- case 0x00c6: return((CHAR)(0xaf & 0xff));
- case 0x00C9: return((CHAR)(0xc9 & 0xff));
- case 0x00d3: return((CHAR)(0xd3 & 0xff));
- case 0x00D5: return((CHAR)(0xd5 & 0xff));
- case 0x00D6: return((CHAR)(0xd6 & 0xff));
- case 0x00D7: return((CHAR)(0xd7 & 0xff));
- case 0x00d8: return((CHAR)(0xa8 & 0xff));
- case 0x00DC: return((CHAR)(0xdc & 0xff));
- case 0x00DF: return((CHAR)(0xdf & 0xff));
- case 0x00E4: return((CHAR)(0xe4 & 0xff));
- case 0x00E5: return((CHAR)(0xe5 & 0xff));
- case 0x00e6: return((CHAR)(0xbf & 0xff));
- case 0x00E9: return((CHAR)(0xe9 & 0xff));
- case 0x00f3: return((CHAR)(0xf3 & 0xff));
- case 0x00F5: return((CHAR)(0xf5 & 0xff));
- case 0x00F6: return((CHAR)(0xf6 & 0xff));
- case 0x00F7: return((CHAR)(0xf7 & 0xff));
- case 0x00f8: return((CHAR)(0xb8 & 0xff));
- case 0x00fc: return((CHAR)(0xfc & 0xff));
- case 0x0100: return((CHAR)(0xc2 & 0xff));
- case 0x0101: return((CHAR)(0xe2 & 0xff));
- case 0x0104: return((CHAR)(0xc0 & 0xff));
- case 0x0105: return((CHAR)(0xe0 & 0xff));
- case 0x0106: return((CHAR)(0xc3 & 0xff));
- case 0x0107: return((CHAR)(0xe3 & 0xff));
- case 0x010C: return((CHAR)(0xc8 & 0xff));
- case 0x010D: return((CHAR)(0xe8 & 0xff));
- case 0x0112: return((CHAR)(0xc7 & 0xff));
- case 0x0113: return((CHAR)(0xe7 & 0xff));
- case 0x0116: return((CHAR)(0xcb & 0xff));
- case 0x0117: return((CHAR)(0xeb & 0xff));
- case 0x0118: return((CHAR)(0xc6 & 0xff));
- case 0x0119: return((CHAR)(0xe6 & 0xff));
- case 0x0122: return((CHAR)(0xcc & 0xff));
- case 0x0123: return((CHAR)(0xec & 0xff));
- case 0x012a: return((CHAR)(0xce & 0xff));
- case 0x012b: return((CHAR)(0xee & 0xff));
- case 0x012e: return((CHAR)(0xc1 & 0xff));
- case 0x012f: return((CHAR)(0xe1 & 0xff));
- case 0x0136: return((CHAR)(0xcd & 0xff));
- case 0x0137: return((CHAR)(0xed & 0xff));
- case 0x013c: return((CHAR)(0xef & 0xff));
- case 0x0141: return((CHAR)(0xd9 & 0xff));
- case 0x0142: return((CHAR)(0xf9 & 0xff));
- case 0x0143: return((CHAR)(0xd1 & 0xff));
- case 0x0144: return((CHAR)(0xf1 & 0xff));
- case 0x0145: return((CHAR)(0xd2 & 0xff));
- case 0x0146: return((CHAR)(0xf2 & 0xff));
- case 0x014c: return((CHAR)(0xd4 & 0xff));
- case 0x014d: return((CHAR)(0xf4 & 0xff));
- case 0x0156: return((CHAR)(0xaa & 0xff));
- case 0x0157: return((CHAR)(0xba & 0xff));
- case 0x015A: return((CHAR)(0xda & 0xff));
- case 0x015b: return((CHAR)(0xfa & 0xff));
- case 0x0160: return((CHAR)(0xd0 & 0xff));
- case 0x0161: return((CHAR)(0xf0 & 0xff));
- case 0x016a: return((CHAR)(0xdb & 0xff));
- case 0x016b: return((CHAR)(0xfb & 0xff));
- case 0x0172: return((CHAR)(0xd8 & 0xff));
- case 0x0173: return((CHAR)(0xf8 & 0xff));
- case 0x0179: return((CHAR)(0xca & 0xff));
- case 0x017a: return((CHAR)(0xea & 0xff));
- case 0x017b: return((CHAR)(0xdd & 0xff));
- case 0x017c: return((CHAR)(0xfd & 0xff));
- case 0x017d: return((CHAR)(0xde & 0xff));
- case 0x017e: return((CHAR)(0xfe & 0xff));
- case 0x2012: return((CHAR)(0x96 & 0xff));
- case 0x2014: return((CHAR)(0x97 & 0xff));
- case 0x2018: return((CHAR)(0x91 & 0xff));
- case 0x2019: return((CHAR)(0x92 & 0xff));
- case 0x201a: return((CHAR)(0x82 & 0xff));
- case 0x201c: return((CHAR)(0x93 & 0xff));
- case 0x201d: return((CHAR)(0x94 & 0xff));
- case 0x201e: return((CHAR)(0x84 & 0xff));
- case 0x2020: return((CHAR)(0x86 & 0xff));
- case 0x2021: return((CHAR)(0x87 & 0xff));
- case 0x2022: return((CHAR)(0x95 & 0xff));
- case 0x2026: return((CHAR)(0x85 & 0xff));
- case 0x2031: return((CHAR)(0x89 & 0xff));
- case 0x20AC: /* Euro */
- return((CHAR)(0x80 & 0xff));
- case 0x2122: return((CHAR)(0x99 & 0xff));
- default: return(0x003f);
- }
- }
- int /* Windows Code Page 1258 (Viet Nam) */
- #ifdef CK_ANSIC
- tx_cp1258(USHORT c)
- #else
- tx_cp1258(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x20AC:
- return((CHAR)(0x80 & 0xff)); /* EURO SIGN */
- case 0x201A:
- return((CHAR)(0x82 & 0xff)); /* SINGLE LOW-9 QUOTATION MARK */
- case 0x0192:
- return((CHAR)(0x83 & 0xff)); /* LATIN SMALL LETTER F WITH HOOK */
- case 0x201E:
- return((CHAR)(0x84 & 0xff)); /* DOUBLE LOW-9 QUOTATION MARK */
- case 0x2026: return((CHAR)(0x85 & 0xff)); /* HORIZONTAL ELLIPSIS */
- case 0x2020: return((CHAR)(0x86 & 0xff)); /* DAGGER */
- case 0x2021: return((CHAR)(0x87 & 0xff)); /* DOUBLE DAGGER */
- case 0x02C6:
- return((CHAR)(0x88 & 0xff)); /* MODIFIER LETTER CIRCUMFLEX ACCENT */
- case 0x2030: return((CHAR)(0x89 & 0xff)); /* PER MILLE SIGN */
- case 0x2039:
- return((CHAR)(0x8B & 0xff)); /* SINGLE LEFT ANGLE QUOTATION MARK */
- case 0x0152: return((CHAR)(0x8C & 0xff)); /* LATIN CAPITAL LIGATURE OE */
- case 0x2018:
- return((CHAR)(0x91 & 0xff)); /* LEFT SINGLE QUOTATION MARK */
- case 0x2019:
- return((CHAR)(0x92 & 0xff)); /* RIGHT SINGLE QUOTATION MARK */
- case 0x201C:
- return((CHAR)(0x93 & 0xff)); /* LEFT DOUBLE QUOTATION MARK */
- case 0x201D:
- return((CHAR)(0x94 & 0xff)); /* RIGHT DOUBLE QUOTATION MARK */
- case 0x2022:
- return((CHAR)(0x95 & 0xff)); /* BULLET */
- case 0x2013:
- return((CHAR)(0x96 & 0xff)); /* EN DASH */
- case 0x2014:
- return((CHAR)(0x97 & 0xff)); /* EM DASH */
- case 0x02DC:
- return((CHAR)(0x98 & 0xff)); /* SMALL TILDE */
- case 0x2122:
- return((CHAR)(0x99 & 0xff)); /* TRADE MARK SIGN */
- case 0x203A:
- /* SINGLE RIGHT-POINTING ANGLE QUOTATION MAR K*/
- return((CHAR)(0x9B & 0xff));
- case 0x0153:
- return((CHAR)(0x9C & 0xff)); /* LATIN SMALL LIGATURE OE */
- case 0x0178:
- /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
- return((CHAR)(0x9F & 0xff));
- case 0x00A0:
- return((CHAR)(0xA0 & 0xff)); /* NO-BREAK SPACE */
- case 0x00A1:
- return((CHAR)(0xA1 & 0xff)); /* INVERTED EXCLAMATION MARK */
- case 0x00A2:
- return((CHAR)(0xA2 & 0xff)); /* CENT SIGN */
- case 0x00A3:
- return((CHAR)(0xA3 & 0xff)); /* POUND SIGN */
- case 0x00A4:
- return((CHAR)(0xA4 & 0xff)); /* CURRENCY SIGN */
- case 0x00A5:
- return((CHAR)(0xA5 & 0xff)); /* YEN SIGN */
- case 0x00A6:
- return((CHAR)(0xA6 & 0xff)); /* BROKEN BAR */
- case 0x00A7:
- return((CHAR)(0xA7 & 0xff)); /* SECTION SIGN */
- case 0x00A8:
- return((CHAR)(0xA8 & 0xff)); /* DIAERESIS */
- case 0x00A9:
- return((CHAR)(0xA9 & 0xff)); /* COPYRIGHT SIGN */
- case 0x00AA:
- return((CHAR)(0xAA & 0xff)); /* FEMININE ORDINAL INDICATOR */
- case 0x00AB:
- /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
- return((CHAR)(0xAB & 0xff));
- case 0x00AC:
- return((CHAR)(0xAC & 0xff)); /* NOT SIGN */
- case 0x00AD:
- return((CHAR)(0xAD & 0xff)); /* SOFT HYPHEN */
- case 0x00AE:
- return((CHAR)(0xAE & 0xff)); /* REGISTERED SIGN */
- case 0x00AF:
- return((CHAR)(0xAF & 0xff)); /* MACRON */
- case 0x00B0:
- return((CHAR)(0xB0 & 0xff)); /* DEGREE SIGN */
- case 0x00B1:
- return((CHAR)(0xB1 & 0xff)); /* PLUS-MINUS SIGN */
- case 0x00B2:
- return((CHAR)(0xB2 & 0xff)); /* SUPERSCRIPT TWO */
- case 0x00B3:
- return((CHAR)(0xB3 & 0xff)); /* SUPERSCRIPT THREE */
- case 0x00B4:
- return((CHAR)(0xB4 & 0xff)); /* ACUTE ACCENT */
- case 0x00B5:
- return((CHAR)(0xB5 & 0xff)); /* MICRO SIGN */
- case 0x00B6:
- return((CHAR)(0xB6 & 0xff)); /* PILCROW SIGN */
- case 0x00B7:
- return((CHAR)(0xB7 & 0xff)); /* MIDDLE DOT */
- case 0x00B8:
- return((CHAR)(0xB8 & 0xff)); /* CEDILLA */
- case 0x00B9:
- return((CHAR)(0xB9 & 0xff)); /* SUPERSCRIPT ONE */
- case 0x00BA:
- return((CHAR)(0xBA & 0xff)); /* MASCULINE ORDINAL INDICATOR */
- case 0x00BB:
- /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MAR K*/
- return((CHAR)(0xBB & 0xff));
- case 0x00BC:
- return((CHAR)(0xBC & 0xff)); /* VULGAR FRACTION ONE QUARTER */
- case 0x00BD:
- return((CHAR)(0xBD & 0xff)); /* VULGAR FRACTION ONE HALF */
- case 0x00BE:
- return((CHAR)(0xBE & 0xff)); /* VULGAR FRACTION THREE QUARTERS */
- case 0x00BF:
- return((CHAR)(0xBF & 0xff)); /* INVERTED QUESTION MARK */
- case 0x00C0:
- return((CHAR)(0xC0 & 0xff)); /* LATIN CAPITAL LETTER A WITH GRAVE */
- case 0x00C1:
- return((CHAR)(0xC1 & 0xff)); /* LATIN CAPITAL LETTER A WITH ACUTE */
- case 0x00C2:
- return((CHAR)(0xC2 & 0xff)); /* A CIRCUMFLEX */
- case 0x0102:
- return((CHAR)(0xC3 & 0xff)); /* LATIN CAPITAL LETTER A WITH BREVE */
- case 0x00C4:
- return((CHAR)(0xC4 & 0xff)); /* A DIAERESIS */
- case 0x00C5:
- return((CHAR)(0xC5 & 0xff)); /* A RING */
- case 0x00C6:
- return((CHAR)(0xC6 & 0xff)); /* LATIN CAPITAL LETTER AE */
- case 0x00C7:
- return((CHAR)(0xC7 & 0xff)); /* C CEDILLA */
- case 0x00C8:
- return((CHAR)(0xC8 & 0xff)); /* E GRAVE */
- case 0x00C9:
- return((CHAR)(0xC9 & 0xff)); /* LATIN CAPITAL LETTER E WITH ACUTE */
- case 0x00CA:
- return((CHAR)(0xCA & 0xff)); /* E WITH CIRCUMFLEX */
- case 0x00CB:
- return((CHAR)(0xCB & 0xff)); /* E WITH DIAERESIS */
- case 0x0300:
- return((CHAR)(0xCC & 0xff)); /* COMBINING GRAVE ACCENT */
- case 0x00CD:
- return((CHAR)(0xCD & 0xff)); /* I WITH ACUTE */
- case 0x00CE:
- return((CHAR)(0xCE & 0xff)); /* I WITH CIRCUMFLEX */
- case 0x00CF:
- return((CHAR)(0xCF & 0xff)); /* I WITH DIAERESIS */
- case 0x0110:
- return((CHAR)(0xD0 & 0xff)); /* D WITH STROKE */
- case 0x00D1:
- return((CHAR)(0xD1 & 0xff)); /* LATIN CAPITAL LETTER N WITH TILDE */
- case 0x0309:
- return((CHAR)(0xD2 & 0xff)); /* COMBINING HOOK ABOVE */
- case 0x00D3:
- return((CHAR)(0xD3 & 0xff)); /* LATIN CAPITAL LETTER O WITH ACUTE */
- case 0x00D4:
- return((CHAR)(0xD4 & 0xff)); /* O WITH CIRCUMFLEX */
- case 0x01A0:
- return((CHAR)(0xD5 & 0xff)); /* LATIN CAPITAL LETTER O WITH HORN */
- case 0x00D6:
- return((CHAR)(0xD6 & 0xff)); /* O WITH DIAERESIS */
- case 0x00D7:
- return((CHAR)(0xD7 & 0xff)); /* MULTIPLICATION SIGN */
- case 0x00D8:
- return((CHAR)(0xD8 & 0xff)); /* O WITH STROKE */
- case 0x00D9:
- return((CHAR)(0xD9 & 0xff)); /* LATIN CAPITAL LETTER U WITH GRAVE */
- case 0x00DA:
- return((CHAR)(0xDA & 0xff)); /* LATIN CAPITAL LETTER U WITH ACUTE */
- case 0x00DB:
- return((CHAR)(0xDB & 0xff)); /* U WITH CIRCUMFLEX */
- case 0x00DC:
- return((CHAR)(0xDC & 0xff)); /* U WITH DIAERESIS */
- case 0x01AF:
- return((CHAR)(0xDD & 0xff)); /* LATIN CAPITAL LETTER U WITH HORN */
- case 0x0303:
- return((CHAR)(0xDE & 0xff)); /* COMBINING TILDE */
- case 0x00DF:
- return((CHAR)(0xDF & 0xff)); /* LATIN SMALL LETTER SHARP S */
- case 0x00E0:
- return((CHAR)(0xE0 & 0xff)); /* LATIN SMALL LETTER A WITH GRAVE */
- case 0x00E1:
- return((CHAR)(0xE1 & 0xff)); /* LATIN SMALL LETTER A WITH ACUTE */
- case 0x00E2:
- return((CHAR)(0xE2 & 0xff)); /* SMALL A WITH CIRCUMFLEX */
- case 0x0103:
- return((CHAR)(0xE3 & 0xff)); /* LATIN SMALL LETTER A WITH BREVE */
- case 0x00E4:
- return((CHAR)(0xE4 & 0xff)); /* SMALL A WITH DIAERESIS */
- case 0x00E5:
- return((CHAR)(0xE5 & 0xff)); /* SMALL A WITH RING ABOVE */
- case 0x00E6:
- return((CHAR)(0xE6 & 0xff)); /* LATIN SMALL LETTER AE */
- case 0x00E7:
- return((CHAR)(0xE7 & 0xff)); /* LATIN SMALL LETTER C WITH CEDILLA */
- case 0x00E8:
- return((CHAR)(0xE8 & 0xff)); /* LATIN SMALL LETTER E WITH GRAVE */
- case 0x00E9:
- return((CHAR)(0xE9 & 0xff)); /* LATIN SMALL LETTER E WITH ACUTE */
- case 0x00EA:
- return((CHAR)(0xEA & 0xff)); /* SMALL E WITH CIRCUMFLEX */
- case 0x00EB:
- return((CHAR)(0xEB & 0xff)); /* SMALL E WITH DIAERESIS */
- case 0x0301:
- return((CHAR)(0xEC & 0xff)); /* COMBINING ACUTE ACCENT */
- case 0x00ED:
- return((CHAR)(0xED & 0xff)); /* LATIN SMALL LETTER I WITH ACUTE */
- case 0x00EE:
- return((CHAR)(0xEE & 0xff)); /* SMALL I WITH CIRCUMFLEX */
- case 0x00EF:
- return((CHAR)(0xEF & 0xff)); /* SMALL I WITH DIAERESIS */
- case 0x0111:
- return((CHAR)(0xF0 & 0xff)); /* LATIN SMALL LETTER D WITH STROKE */
- case 0x00F1:
- return((CHAR)(0xF1 & 0xff)); /* LATIN SMALL LETTER N WITH TILDE */
- case 0x0323:
- return((CHAR)(0xF2 & 0xff)); /* COMBINING DOT BELOW */
- case 0x00F3:
- return((CHAR)(0xF3 & 0xff)); /* LATIN SMALL LETTER O WITH ACUTE */
- case 0x00F4:
- return((CHAR)(0xF4 & 0xff)); /* SMALL O WITH CIRCUMFLEX */
- case 0x01A1:
- return((CHAR)(0xF5 & 0xff)); /* LATIN SMALL LETTER O WITH HORN */
- case 0x00F6:
- return((CHAR)(0xF6 & 0xff)); /* SMALL O WITH DIAERESIS */
- case 0x00F7:
- return((CHAR)(0xF7 & 0xff)); /* DIVISION SIGN */
- case 0x00F8:
- return((CHAR)(0xF8 & 0xff)); /* LATIN SMALL LETTER O WITH STROKE */
- case 0x00F9:
- return((CHAR)(0xF9 & 0xff)); /* LATIN SMALL LETTER U WITH GRAVE */
- case 0x00FA:
- return((CHAR)(0xFA & 0xff)); /* LATIN SMALL LETTER U WITH ACUTE */
- case 0x00FB:
- return((CHAR)(0xFB & 0xff)); /* SMALL U WITH CIRCUMFLEX */
- case 0x00FC:
- return((CHAR)(0xFC & 0xff)); /* SMALL U WITH DIAERESIS */
- case 0x01B0:
- return((CHAR)(0xFD & 0xff)); /* LATIN SMALL LETTER U WITH HORN */
- case 0x20AB:
- return((CHAR)(0xFE & 0xff)); /* DONG SIGN */
- case 0x00FF:
- return((CHAR)(0xFF & 0xff)); /* SMALL Y WITH DIAERESIS */
- default: return(0x003f);
- }
- }
- int /* Code Page 037 - EBCDIC (U.S.) */
- #ifdef CK_ANSIC
- tx_cp37(USHORT c)
- #else
- tx_cp37(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- switch (c) {
- case 0x0000:
- return((CHAR)(0x00 & 0xff)); /* NULL */
- case 0x0001:
- return((CHAR)(0x01 & 0xff)); /* START OF HEADING */
- case 0x0002:
- return((CHAR)(0x02 & 0xff)); /* START OF TEXT */
- case 0x0003:
- return((CHAR)(0x03 & 0xff)); /* END OF TEXT */
- case 0x009C:
- return((CHAR)(0x04 & 0xff)); /* CONTROL */
- case 0x0009:
- return((CHAR)(0x05 & 0xff)); /* HORIZONTAL TABULATION */
- case 0x0086:
- return((CHAR)(0x06 & 0xff)); /* CONTROL */
- case 0x007F:
- return((CHAR)(0x07 & 0xff)); /* DELETE */
- case 0x0097:
- return((CHAR)(0x08 & 0xff)); /* CONTROL */
- case 0x008D:
- return((CHAR)(0x09 & 0xff)); /* CONTROL */
- case 0x008E:
- return((CHAR)(0x0A & 0xff)); /* CONTROL */
- case 0x000B:
- return((CHAR)(0x0B & 0xff)); /* VERTICAL TABULATION */
- case 0x000C:
- return((CHAR)(0x0C & 0xff)); /* FORM FEED */
- case 0x000D:
- return((CHAR)(0x0D & 0xff)); /* CARRIAGE RETURN */
- case 0x000E:
- return((CHAR)(0x0E & 0xff)); /* SHIFT OUT */
- case 0x000F:
- return((CHAR)(0x0F & 0xff)); /* SHIFT IN */
- case 0x0010:
- return((CHAR)(0x10 & 0xff)); /* DATA LINK ESCAPE */
- case 0x0011:
- return((CHAR)(0x11 & 0xff)); /* DEVICE CONTROL ONE */
- case 0x0012:
- return((CHAR)(0x12 & 0xff)); /* DEVICE CONTROL TWO */
- case 0x0013:
- return((CHAR)(0x13 & 0xff)); /* DEVICE CONTROL THREE */
- case 0x009D:
- return((CHAR)(0x14 & 0xff)); /* CONTROL */
- case 0x0085:
- return((CHAR)(0x15 & 0xff)); /* CONTROL */
- case 0x0008:
- return((CHAR)(0x16 & 0xff)); /* BACKSPACE */
- case 0x0087:
- return((CHAR)(0x17 & 0xff)); /* CONTROL */
- case 0x0018:
- return((CHAR)(0x18 & 0xff)); /* CANCEL */
- case 0x0019:
- return((CHAR)(0x19 & 0xff)); /* END OF MEDIUM */
- case 0x0092:
- return((CHAR)(0x1A & 0xff)); /* CONTROL */
- case 0x008F:
- return((CHAR)(0x1B & 0xff)); /* CONTROL */
- case 0x001C:
- return((CHAR)(0x1C & 0xff)); /* FILE SEPARATOR */
- case 0x001D:
- return((CHAR)(0x1D & 0xff)); /* GROUP SEPARATOR */
- case 0x001E:
- return((CHAR)(0x1E & 0xff)); /* RECORD SEPARATOR */
- case 0x001F:
- return((CHAR)(0x1F & 0xff)); /* UNIT SEPARATOR */
- case 0x0080:
- return((CHAR)(0x20 & 0xff)); /* CONTROL */
- case 0x0081:
- return((CHAR)(0x21 & 0xff)); /* CONTROL */
- case 0x0082:
- return((CHAR)(0x22 & 0xff)); /* CONTROL */
- case 0x0083:
- return((CHAR)(0x23 & 0xff)); /* CONTROL */
- case 0x0084:
- return((CHAR)(0x24 & 0xff)); /* CONTROL */
- case 0x000A:
- return((CHAR)(0x25 & 0xff)); /* LINE FEED */
- case 0x0017:
- return((CHAR)(0x26 & 0xff)); /* END OF TRANSMISSION BLOCK */
- case 0x001B:
- return((CHAR)(0x27 & 0xff)); /* ESCAPE */
- case 0x0088:
- return((CHAR)(0x28 & 0xff)); /* CONTROL */
- case 0x0089:
- return((CHAR)(0x29 & 0xff)); /* CONTROL */
- case 0x008A:
- return((CHAR)(0x2A & 0xff)); /* CONTROL */
- case 0x008B:
- return((CHAR)(0x2B & 0xff)); /* CONTROL */
- case 0x008C:
- return((CHAR)(0x2C & 0xff)); /* CONTROL */
- case 0x0005:
- return((CHAR)(0x2D & 0xff)); /* ENQUIRY */
- case 0x0006:
- return((CHAR)(0x2E & 0xff)); /* ACKNOWLEDGE */
- case 0x0007:
- return((CHAR)(0x2F & 0xff)); /* BELL */
- case 0x0090:
- return((CHAR)(0x30 & 0xff)); /* CONTROL */
- case 0x0091:
- return((CHAR)(0x31 & 0xff)); /* CONTROL */
- case 0x0016:
- return((CHAR)(0x32 & 0xff)); /* SYNCHRONOUS IDLE */
- case 0x0093:
- return((CHAR)(0x33 & 0xff)); /* CONTROL */
- case 0x0094:
- return((CHAR)(0x34 & 0xff)); /* CONTROL */
- case 0x0095:
- return((CHAR)(0x35 & 0xff)); /* CONTROL */
- case 0x0096:
- return((CHAR)(0x36 & 0xff)); /* CONTROL */
- case 0x0004:
- return((CHAR)(0x37 & 0xff)); /* END OF TRANSMISSION */
- case 0x0098:
- return((CHAR)(0x38 & 0xff)); /* CONTROL */
- case 0x0099:
- return((CHAR)(0x39 & 0xff)); /* CONTROL */
- case 0x009A:
- return((CHAR)(0x3A & 0xff)); /* CONTROL */
- case 0x009B:
- return((CHAR)(0x3B & 0xff)); /* CONTROL */
- case 0x0014:
- return((CHAR)(0x3C & 0xff)); /* DEVICE CONTROL FOUR */
- case 0x0015:
- return((CHAR)(0x3D & 0xff)); /* NEGATIVE ACKNOWLEDGE */
- case 0x009E:
- return((CHAR)(0x3E & 0xff)); /* CONTROL */
- case 0x001A:
- return((CHAR)(0x3F & 0xff)); /* SUBSTITUTE */
- case 0x0020:
- return((CHAR)(0x40 & 0xff)); /* SPACE */
- case 0x00A0:
- return((CHAR)(0x41 & 0xff)); /* NO-BREAK SPACE */
- case 0x00E2:
- return((CHAR)(0x42 & 0xff)); /* SMALL LETTER A WITH CIRCUMFLEX */
- case 0x00E4:
- return((CHAR)(0x43 & 0xff)); /* SMALL LETTER A WITH DIAERESIS */
- case 0x00E0:
- return((CHAR)(0x44 & 0xff)); /* LATIN SMALL LETTER A WITH GRAVE */
- case 0x00E1:
- return((CHAR)(0x45 & 0xff)); /* LATIN SMALL LETTER A WITH ACUTE */
- case 0x00E3:
- return((CHAR)(0x46 & 0xff)); /* LATIN SMALL LETTER A WITH TILDE */
- case 0x00E5:
- return((CHAR)(0x47 & 0xff)); /* SMALL LETTER A WITH RING ABOVE */
- case 0x00E7:
- return((CHAR)(0x48 & 0xff)); /* LATIN SMALL LETTER C WITH CEDILLA */
- case 0x00F1:
- return((CHAR)(0x49 & 0xff)); /* LATIN SMALL LETTER N WITH TILDE */
- case 0x00A2:
- return((CHAR)(0x4A & 0xff)); /* CENT SIGN */
- case 0x002E:
- return((CHAR)(0x4B & 0xff)); /* FULL STOP */
- case 0x003C:
- return((CHAR)(0x4C & 0xff)); /* LESS-THAN SIGN */
- case 0x0028:
- return((CHAR)(0x4D & 0xff)); /* LEFT PARENTHESIS */
- case 0x002B:
- return((CHAR)(0x4E & 0xff)); /* PLUS SIGN */
- case 0x007C:
- return((CHAR)(0x4F & 0xff)); /* VERTICAL LINE */
- case 0x0026:
- return((CHAR)(0x50 & 0xff)); /* AMPERSAND */
- case 0x00E9:
- return((CHAR)(0x51 & 0xff)); /* SMALL LETTER E WITH ACUTE */
- case 0x00EA:
- return((CHAR)(0x52 & 0xff)); /* SMALL LETTER E WITH CIRCUMFLEX */
- case 0x00EB:
- return((CHAR)(0x53 & 0xff)); /* SMALL LETTER E WITH DIAERESIS */
- case 0x00E8:
- return((CHAR)(0x54 & 0xff)); /* LATIN SMALL LETTER E WITH GRAVE */
- case 0x00ED:
- return((CHAR)(0x55 & 0xff)); /* LATIN SMALL LETTER I WITH ACUTE */
- case 0x00EE:
- return((CHAR)(0x56 & 0xff)); /* SMALL LETTER I WITH CIRCUMFLEX */
- case 0x00EF:
- return((CHAR)(0x57 & 0xff)); /* SMALL LETTER I WITH DIAERESIS */
- case 0x00EC:
- return((CHAR)(0x58 & 0xff)); /* LATIN SMALL LETTER I WITH GRAVE */
- case 0x00DF:
- return((CHAR)(0x59 & 0xff)); /* SMALL LETTER SHARP S (GERMAN) */
- case 0x0021:
- return((CHAR)(0x5A & 0xff)); /* EXCLAMATION MARK */
- case 0x0024:
- return((CHAR)(0x5B & 0xff)); /* DOLLAR SIGN */
- case 0x002A:
- return((CHAR)(0x5C & 0xff)); /* ASTERISK */
- case 0x0029:
- return((CHAR)(0x5D & 0xff)); /* RIGHT PARENTHESIS */
- case 0x003B:
- return((CHAR)(0x5E & 0xff)); /* SEMICOLON */
- case 0x00AC:
- return((CHAR)(0x5F & 0xff)); /* NOT SIGN */
- case 0x002D:
- return((CHAR)(0x60 & 0xff)); /* HYPHEN-MINUS */
- case 0x002F:
- return((CHAR)(0x61 & 0xff)); /* SOLIDUS */
- case 0x00C2:
- return((CHAR)(0x62 & 0xff)); /* CAPITAL LETTER A WITH CIRCUMFLEX */
- case 0x00C4:
- return((CHAR)(0x63 & 0xff)); /* CAPITAL LETTER A WITH DIAERESIS */
- case 0x00C0:
- return((CHAR)(0x64 & 0xff)); /* LATIN CAPITAL LETTER A WITH GRAVE */
- case 0x00C1:
- return((CHAR)(0x65 & 0xff)); /* LATIN CAPITAL LETTER A WITH ACUTE */
- case 0x00C3:
- return((CHAR)(0x66 & 0xff)); /* LATIN CAPITAL LETTER A WITH TILDE */
- case 0x00C5:
- return((CHAR)(0x67 & 0xff)); /* CAPITAL LETTER A WITH RING ABOVE */
- case 0x00C7:
- return((CHAR)(0x68 & 0xff)); /* CAPITAL LETTER C WITH CEDILLA */
- case 0x00D1:
- return((CHAR)(0x69 & 0xff)); /* LATIN CAPITAL LETTER N WITH TILDE */
- case 0x00A6:
- return((CHAR)(0x6A & 0xff)); /* BROKEN BAR */
- case 0x002C:
- return((CHAR)(0x6B & 0xff)); /* COMMA */
- case 0x0025:
- return((CHAR)(0x6C & 0xff)); /* PERCENT SIGN */
- case 0x005F:
- return((CHAR)(0x6D & 0xff)); /* LOW LINE */
- case 0x003E:
- return((CHAR)(0x6E & 0xff)); /* GREATER-THAN SIGN */
- case 0x003F:
- return((CHAR)(0x6F & 0xff)); /* QUESTION MARK */
- case 0x00F8:
- return((CHAR)(0x70 & 0xff)); /* LATIN SMALL LETTER O WITH STROKE */
- case 0x00C9:
- return((CHAR)(0x71 & 0xff)); /* LATIN CAPITAL LETTER E WITH ACUTE */
- case 0x00CA:
- /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
- return((CHAR)(0x72 & 0xff));
- case 0x00CB:
- /* LATIN CAPITAL LETTER E WITH DIAERESIS */
- return((CHAR)(0x73 & 0xff));
- case 0x00C8:
- return((CHAR)(0x74 & 0xff)); /* LATIN CAPITAL LETTER E WITH GRAVE */
- case 0x00CD:
- return((CHAR)(0x75 & 0xff)); /* LATIN CAPITAL LETTER I WITH ACUTE */
- case 0x00CE:
- /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
- return((CHAR)(0x76 & 0xff));
- case 0x00CF:
- /* LATIN CAPITAL LETTER I WITH DIAERESIS */
- return((CHAR)(0x77 & 0xff));
- case 0x00CC:
- return((CHAR)(0x78 & 0xff)); /* LATIN CAPITAL LETTER I WITH GRAVE */
- case 0x0060:
- return((CHAR)(0x79 & 0xff)); /* GRAVE ACCENT */
- case 0x003A:
- return((CHAR)(0x7A & 0xff)); /* COLON */
- case 0x0023:
- return((CHAR)(0x7B & 0xff)); /* NUMBER SIGN */
- case 0x0040:
- return((CHAR)(0x7C & 0xff)); /* COMMERCIAL AT */
- case 0x0027:
- return((CHAR)(0x7D & 0xff)); /* APOSTROPHE */
- case 0x003D:
- return((CHAR)(0x7E & 0xff)); /* EQUALS SIGN */
- case 0x0022:
- return((CHAR)(0x7F & 0xff)); /* QUOTATION MARK */
- case 0x00D8:
- /* LATIN CAPITAL LETTER O WITH STROKE */
- return((CHAR)(0x80 & 0xff));
- case 0x0061:
- return((CHAR)(0x81 & 0xff)); /* LATIN SMALL LETTER A */
- case 0x0062:
- return((CHAR)(0x82 & 0xff)); /* LATIN SMALL LETTER B */
- case 0x0063:
- return((CHAR)(0x83 & 0xff)); /* LATIN SMALL LETTER C */
- case 0x0064:
- return((CHAR)(0x84 & 0xff)); /* LATIN SMALL LETTER D */
- case 0x0065:
- return((CHAR)(0x85 & 0xff)); /* LATIN SMALL LETTER E */
- case 0x0066:
- return((CHAR)(0x86 & 0xff)); /* LATIN SMALL LETTER F */
- case 0x0067:
- return((CHAR)(0x87 & 0xff)); /* LATIN SMALL LETTER G */
- case 0x0068:
- return((CHAR)(0x88 & 0xff)); /* LATIN SMALL LETTER H */
- case 0x0069:
- return((CHAR)(0x89 & 0xff)); /* LATIN SMALL LETTER I */
- case 0x00AB:
- /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
- return((CHAR)(0x8A & 0xff));
- case 0x00BB:
- /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MAR K*/
- return((CHAR)(0x8B & 0xff));
- case 0x00F0:
- /* LATIN SMALL LETTER ETH (ICELANDIC) */
- return((CHAR)(0x8C & 0xff));
- case 0x00FD:
- return((CHAR)(0x8D & 0xff)); /* LATIN SMALL LETTER Y WITH ACUTE */
- case 0x00FE:
- /* LATIN SMALL LETTER THORN (ICELANDIC) */
- return((CHAR)(0x8E & 0xff));
- case 0x00B1:
- return((CHAR)(0x8F & 0xff)); /* PLUS-MINUS SIGN */
- case 0x00B0:
- return((CHAR)(0x90 & 0xff)); /* DEGREE SIGN */
- case 0x006A:
- return((CHAR)(0x91 & 0xff)); /* LATIN SMALL LETTER J */
- case 0x006B:
- return((CHAR)(0x92 & 0xff)); /* LATIN SMALL LETTER K */
- case 0x006C:
- return((CHAR)(0x93 & 0xff)); /* LATIN SMALL LETTER L */
- case 0x006D:
- return((CHAR)(0x94 & 0xff)); /* LATIN SMALL LETTER M */
- case 0x006E:
- return((CHAR)(0x95 & 0xff)); /* LATIN SMALL LETTER N */
- case 0x006F:
- return((CHAR)(0x96 & 0xff)); /* LATIN SMALL LETTER O */
- case 0x0070:
- return((CHAR)(0x97 & 0xff)); /* LATIN SMALL LETTER P */
- case 0x0071:
- return((CHAR)(0x98 & 0xff)); /* LATIN SMALL LETTER Q */
- case 0x0072:
- return((CHAR)(0x99 & 0xff)); /* LATIN SMALL LETTER R */
- case 0x00AA:
- return((CHAR)(0x9A & 0xff)); /* FEMININE ORDINAL INDICATOR */
- case 0x00BA:
- return((CHAR)(0x9B & 0xff)); /* MASCULINE ORDINAL INDICATOR */
- case 0x00E6:
- return((CHAR)(0x9C & 0xff)); /* LATIN SMALL LIGATURE AE */
- case 0x00B8:
- return((CHAR)(0x9D & 0xff)); /* CEDILLA */
- case 0x00C6:
- return((CHAR)(0x9E & 0xff)); /* LATIN CAPITAL LIGATURE AE */
- case 0x00A4:
- return((CHAR)(0x9F & 0xff)); /* CURRENCY SIGN */
- case 0x00B5:
- return((CHAR)(0xA0 & 0xff)); /* MICRO SIGN */
- case 0x007E:
- return((CHAR)(0xA1 & 0xff)); /* TILDE */
- case 0x0073:
- return((CHAR)(0xA2 & 0xff)); /* LATIN SMALL LETTER S */
- case 0x0074:
- return((CHAR)(0xA3 & 0xff)); /* LATIN SMALL LETTER T */
- case 0x0075:
- return((CHAR)(0xA4 & 0xff)); /* LATIN SMALL LETTER U */
- case 0x0076:
- return((CHAR)(0xA5 & 0xff)); /* LATIN SMALL LETTER V */
- case 0x0077:
- return((CHAR)(0xA6 & 0xff)); /* LATIN SMALL LETTER W */
- case 0x0078:
- return((CHAR)(0xA7 & 0xff)); /* LATIN SMALL LETTER X */
- case 0x0079:
- return((CHAR)(0xA8 & 0xff)); /* LATIN SMALL LETTER Y */
- case 0x007A:
- return((CHAR)(0xA9 & 0xff)); /* LATIN SMALL LETTER Z */
- case 0x00A1:
- return((CHAR)(0xAA & 0xff)); /* INVERTED EXCLAMATION MARK */
- case 0x00BF:
- return((CHAR)(0xAB & 0xff)); /* INVERTED QUESTION MARK */
- case 0x00D0:
- /* LATIN CAPITAL LETTER ETH (ICELANDIC) */
- return((CHAR)(0xAC & 0xff));
- case 0x00DD:
- return((CHAR)(0xAD & 0xff)); /* LATIN CAPITAL LETTER Y WITH ACUTE */
- case 0x00DE:
- /* LATIN CAPITAL LETTER THORN (ICELANDIC) */
- return((CHAR)(0xAE & 0xff));
- case 0x00AE:
- return((CHAR)(0xAF & 0xff)); /* REGISTERED SIGN */
- case 0x005E:
- return((CHAR)(0xB0 & 0xff)); /* CIRCUMFLEX ACCENT */
- case 0x00A3:
- return((CHAR)(0xB1 & 0xff)); /* POUND SIGN */
- case 0x00A5:
- return((CHAR)(0xB2 & 0xff)); /* YEN SIGN */
- case 0x00B7:
- return((CHAR)(0xB3 & 0xff)); /* MIDDLE DOT */
- case 0x00A9:
- return((CHAR)(0xB4 & 0xff)); /* COPYRIGHT SIGN */
- case 0x00A7:
- return((CHAR)(0xB5 & 0xff)); /* SECTION SIGN */
- case 0x00B6:
- return((CHAR)(0xB6 & 0xff)); /* PILCROW SIGN */
- case 0x00BC:
- return((CHAR)(0xB7 & 0xff)); /* VULGAR FRACTION ONE QUARTER */
- case 0x00BD:
- return((CHAR)(0xB8 & 0xff)); /* VULGAR FRACTION ONE HALF */
- case 0x00BE:
- return((CHAR)(0xB9 & 0xff)); /* VULGAR FRACTION THREE QUARTERS */
- case 0x005B:
- return((CHAR)(0xBA & 0xff)); /* LEFT SQUARE BRACKET */
- case 0x005D:
- return((CHAR)(0xBB & 0xff)); /* RIGHT SQUARE BRACKET */
- case 0x00AF:
- return((CHAR)(0xBC & 0xff)); /* MACRON */
- case 0x00A8:
- return((CHAR)(0xBD & 0xff)); /* DIAERESIS */
- case 0x00B4:
- return((CHAR)(0xBE & 0xff)); /* ACUTE ACCENT */
- case 0x00D7:
- return((CHAR)(0xBF & 0xff)); /* MULTIPLICATION SIGN */
- case 0x007B:
- return((CHAR)(0xC0 & 0xff)); /* LEFT CURLY BRACKET */
- case 0x0041:
- return((CHAR)(0xC1 & 0xff)); /* LATIN CAPITAL LETTER A */
- case 0x0042:
- return((CHAR)(0xC2 & 0xff)); /* LATIN CAPITAL LETTER B */
- case 0x0043:
- return((CHAR)(0xC3 & 0xff)); /* LATIN CAPITAL LETTER C */
- case 0x0044:
- return((CHAR)(0xC4 & 0xff)); /* LATIN CAPITAL LETTER D */
- case 0x0045:
- return((CHAR)(0xC5 & 0xff)); /* LATIN CAPITAL LETTER E */
- case 0x0046:
- return((CHAR)(0xC6 & 0xff)); /* LATIN CAPITAL LETTER F */
- case 0x0047:
- return((CHAR)(0xC7 & 0xff)); /* LATIN CAPITAL LETTER G */
- case 0x0048:
- return((CHAR)(0xC8 & 0xff)); /* LATIN CAPITAL LETTER H */
- case 0x0049:
- return((CHAR)(0xC9 & 0xff)); /* LATIN CAPITAL LETTER I */
- case 0x00AD:
- return((CHAR)(0xCA & 0xff)); /* SOFT HYPHEN */
- case 0x00F4:
- return((CHAR)(0xCB & 0xff)); /* SMALL LETTER O WITH CIRCUMFLEX */
- case 0x00F6:
- return((CHAR)(0xCC & 0xff)); /* SMALL LETTER O WITH DIAERESIS */
- case 0x00F2:
- return((CHAR)(0xCD & 0xff)); /* LATIN SMALL LETTER O WITH GRAVE */
- case 0x00F3:
- return((CHAR)(0xCE & 0xff)); /* LATIN SMALL LETTER O WITH ACUTE */
- case 0x00F5:
- return((CHAR)(0xCF & 0xff)); /* LATIN SMALL LETTER O WITH TILDE */
- case 0x007D:
- return((CHAR)(0xD0 & 0xff)); /* RIGHT CURLY BRACKET */
- case 0x004A:
- return((CHAR)(0xD1 & 0xff)); /* LATIN CAPITAL LETTER J */
- case 0x004B:
- return((CHAR)(0xD2 & 0xff)); /* LATIN CAPITAL LETTER K */
- case 0x004C:
- return((CHAR)(0xD3 & 0xff)); /* LATIN CAPITAL LETTER L */
- case 0x004D:
- return((CHAR)(0xD4 & 0xff)); /* LATIN CAPITAL LETTER M */
- case 0x004E:
- return((CHAR)(0xD5 & 0xff)); /* LATIN CAPITAL LETTER N */
- case 0x004F:
- return((CHAR)(0xD6 & 0xff)); /* LATIN CAPITAL LETTER O */
- case 0x0050:
- return((CHAR)(0xD7 & 0xff)); /* LATIN CAPITAL LETTER P */
- case 0x0051:
- return((CHAR)(0xD8 & 0xff)); /* LATIN CAPITAL LETTER Q */
- case 0x0052:
- return((CHAR)(0xD9 & 0xff)); /* LATIN CAPITAL LETTER R */
- case 0x00B9:
- return((CHAR)(0xDA & 0xff)); /* SUPERSCRIPT ONE */
- case 0x00FB:
- return((CHAR)(0xDB & 0xff)); /* SMALL LETTER U WITH CIRCUMFLEX */
- case 0x00FC:
- return((CHAR)(0xDC & 0xff)); /* SMALL LETTER U WITH DIAERESIS */
- case 0x00F9:
- return((CHAR)(0xDD & 0xff)); /* SMALL LETTER U WITH GRAVE */
- case 0x00FA:
- return((CHAR)(0xDE & 0xff)); /* SMALL LETTER U WITH ACUTE */
- case 0x00FF:
- return((CHAR)(0xDF & 0xff)); /* SMALL LETTER Y WITH DIAERESIS */
- case 0x005C:
- return((CHAR)(0xE0 & 0xff)); /* REVERSE SOLIDUS */
- case 0x00F7:
- return((CHAR)(0xE1 & 0xff)); /* DIVISION SIGN */
- case 0x0053:
- return((CHAR)(0xE2 & 0xff)); /* LATIN CAPITAL LETTER S */
- case 0x0054:
- return((CHAR)(0xE3 & 0xff)); /* LATIN CAPITAL LETTER T */
- case 0x0055:
- return((CHAR)(0xE4 & 0xff)); /* LATIN CAPITAL LETTER U */
- case 0x0056:
- return((CHAR)(0xE5 & 0xff)); /* LATIN CAPITAL LETTER V */
- case 0x0057:
- return((CHAR)(0xE6 & 0xff)); /* LATIN CAPITAL LETTER W */
- case 0x0058:
- return((CHAR)(0xE7 & 0xff)); /* LATIN CAPITAL LETTER X */
- case 0x0059:
- return((CHAR)(0xE8 & 0xff)); /* LATIN CAPITAL LETTER Y */
- case 0x005A:
- return((CHAR)(0xE9 & 0xff)); /* LATIN CAPITAL LETTER Z */
- case 0x00B2:
- return((CHAR)(0xEA & 0xff)); /* SUPERSCRIPT TWO */
- case 0x00D4:
- return((CHAR)(0xEB & 0xff)); /* CAPITAL LETTER O WITH CIRCUMFLEX */
- case 0x00D6:
- return((CHAR)(0xEC & 0xff)); /* CAPITAL LETTER O WITH DIAERESIS */
- case 0x00D2:
- return((CHAR)(0xED & 0xff)); /* CAPITAL LETTER O WITH GRAVE */
- case 0x00D3:
- return((CHAR)(0xEE & 0xff)); /* CAPITAL LETTER O WITH ACUTE */
- case 0x00D5:
- return((CHAR)(0xEF & 0xff)); /* CAPITAL LETTER O WITH TILDE */
- case 0x0030:
- return((CHAR)(0xF0 & 0xff)); /* DIGIT ZERO */
- case 0x0031:
- return((CHAR)(0xF1 & 0xff)); /* DIGIT ONE */
- case 0x0032:
- return((CHAR)(0xF2 & 0xff)); /* DIGIT TWO */
- case 0x0033:
- return((CHAR)(0xF3 & 0xff)); /* DIGIT THREE */
- case 0x0034:
- return((CHAR)(0xF4 & 0xff)); /* DIGIT FOUR */
- case 0x0035:
- return((CHAR)(0xF5 & 0xff)); /* DIGIT FIVE */
- case 0x0036:
- return((CHAR)(0xF6 & 0xff)); /* DIGIT SIX */
- case 0x0037:
- return((CHAR)(0xF7 & 0xff)); /* DIGIT SEVEN */
- case 0x0038:
- return((CHAR)(0xF8 & 0xff)); /* DIGIT EIGHT */
- case 0x0039:
- return((CHAR)(0xF9 & 0xff)); /* DIGIT NINE */
- case 0x00B3:
- return((CHAR)(0xFA & 0xff)); /* SUPERSCRIPT THREE */
- case 0x00DB:
- return((CHAR)(0xFB & 0xff)); /* CAPITAL LETTER U WITH CIRCUMFLEX */
- case 0x00DC:
- return((CHAR)(0xFC & 0xff)); /* CAPITAL LETTER U WITH DIAERESIS */
- case 0x00D9:
- return((CHAR)(0xFD & 0xff)); /* LATIN CAPITAL LETTER U WITH GRAVE */
- case 0x00DA:
- return((CHAR)(0xFE & 0xff)); /* LATIN CAPITAL LETTER U WITH ACUTE */
- case 0x009F:
- return((CHAR)(0xFF & 0xff)); /* CONTROL */
- default: return(0x003f);
- }
- }
- int /* PC Code Page 855 */
- #ifdef CK_ANSIC
- tx_cp855(USHORT c)
- #else
- tx_cp855(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x00a4: return((CHAR)(207 & 0xff));
- case 0x00a7: return((CHAR)(253 & 0xff));
- case 0x00ab: return((CHAR)(174 & 0xff));
- case 0x00bb: return((CHAR)(175 & 0xff));
- case 0x0401: return((CHAR)(133 & 0xff));
- case 0x0402: return((CHAR)(129 & 0xff));
- case 0x0403: return((CHAR)(131 & 0xff));
- case 0x0404: return((CHAR)(135 & 0xff));
- case 0x0405: return((CHAR)(137 & 0xff));
- case 0x0406: return((CHAR)(139 & 0xff));
- case 0x0407: return((CHAR)(141 & 0xff));
- case 0x0408: return((CHAR)(143 & 0xff));
- case 0x0409: return((CHAR)(145 & 0xff));
- case 0x040a: return((CHAR)(147 & 0xff));
- case 0x040b: return((CHAR)(149 & 0xff));
- case 0x040c: return((CHAR)(151 & 0xff));
- case 0x040e: return((CHAR)(153 & 0xff));
- case 0x040f: return((CHAR)(155 & 0xff));
- case 0x0410: return((CHAR)(161 & 0xff));
- case 0x0411: return((CHAR)(163 & 0xff));
- case 0x0412: return((CHAR)(236 & 0xff));
- case 0x0413: return((CHAR)(173 & 0xff));
- case 0x0414: return((CHAR)(167 & 0xff));
- case 0x0415: return((CHAR)(169 & 0xff));
- case 0x0416: return((CHAR)(234 & 0xff));
- case 0x0417: return((CHAR)(244 & 0xff));
- case 0x0418: return((CHAR)(184 & 0xff));
- case 0x0419: return((CHAR)(190 & 0xff));
- case 0x041a: return((CHAR)(199 & 0xff));
- case 0x041b: return((CHAR)(209 & 0xff));
- case 0x041c: return((CHAR)(211 & 0xff));
- case 0x041d: return((CHAR)(213 & 0xff));
- case 0x041e: return((CHAR)(215 & 0xff));
- case 0x041f: return((CHAR)(221 & 0xff));
- case 0x0420: return((CHAR)(226 & 0xff));
- case 0x0421: return((CHAR)(228 & 0xff));
- case 0x0422: return((CHAR)(230 & 0xff));
- case 0x0423: return((CHAR)(232 & 0xff));
- case 0x0424: return((CHAR)(171 & 0xff));
- case 0x0425: return((CHAR)(182 & 0xff));
- case 0x0426: return((CHAR)(165 & 0xff));
- case 0x0427: return((CHAR)(252 & 0xff));
- case 0x0428: return((CHAR)(246 & 0xff));
- case 0x0429: return((CHAR)(250 & 0xff));
- case 0x042a: return((CHAR)(159 & 0xff));
- case 0x042b: return((CHAR)(242 & 0xff));
- case 0x042c: return((CHAR)(238 & 0xff));
- case 0x042d: return((CHAR)(248 & 0xff));
- case 0x042e: return((CHAR)(157 & 0xff));
- case 0x042f: return((CHAR)(224 & 0xff));
- case 0x0430: return((CHAR)(160 & 0xff));
- case 0x0431: return((CHAR)(162 & 0xff));
- case 0x0432: return((CHAR)(235 & 0xff));
- case 0x0433: return((CHAR)(172 & 0xff));
- case 0x0434: return((CHAR)(166 & 0xff));
- case 0x0435: return((CHAR)(168 & 0xff));
- case 0x0436: return((CHAR)(233 & 0xff));
- case 0x0437: return((CHAR)(243 & 0xff));
- case 0x0438: return((CHAR)(183 & 0xff));
- case 0x0439: return((CHAR)(189 & 0xff));
- case 0x043a: return((CHAR)(198 & 0xff));
- case 0x043b: return((CHAR)(208 & 0xff));
- case 0x043c: return((CHAR)(210 & 0xff));
- case 0x043d: return((CHAR)(212 & 0xff));
- case 0x043e: return((CHAR)(214 & 0xff));
- case 0x043f: return((CHAR)(216 & 0xff));
- case 0x0440: return((CHAR)(225 & 0xff));
- case 0x0441: return((CHAR)(227 & 0xff));
- case 0x0442: return((CHAR)(229 & 0xff));
- case 0x0443: return((CHAR)(231 & 0xff));
- case 0x0444: return((CHAR)(170 & 0xff));
- case 0x0445: return((CHAR)(181 & 0xff));
- case 0x0446: return((CHAR)(164 & 0xff));
- case 0x0447: return((CHAR)(251 & 0xff));
- case 0x0448: return((CHAR)(245 & 0xff));
- case 0x0449: return((CHAR)(249 & 0xff));
- case 0x044a: return((CHAR)(158 & 0xff));
- case 0x044b: return((CHAR)(241 & 0xff));
- case 0x044c: return((CHAR)(237 & 0xff));
- case 0x044d: return((CHAR)(247 & 0xff));
- case 0x044e: return((CHAR)(156 & 0xff));
- case 0x044f: return((CHAR)(222 & 0xff));
- case 0x0451: return((CHAR)(132 & 0xff));
- case 0x0452: return((CHAR)(128 & 0xff));
- case 0x0453: return((CHAR)(130 & 0xff));
- case 0x0454: return((CHAR)(134 & 0xff));
- case 0x0455: return((CHAR)(136 & 0xff));
- case 0x0456: return((CHAR)(138 & 0xff));
- case 0x0457: return((CHAR)(140 & 0xff));
- case 0x0458: return((CHAR)(142 & 0xff));
- case 0x0459: return((CHAR)(144 & 0xff));
- case 0x045a: return((CHAR)(146 & 0xff));
- case 0x045b: return((CHAR)(148 & 0xff));
- case 0x045c: return((CHAR)(150 & 0xff));
- case 0x045e: return((CHAR)(152 & 0xff));
- case 0x045f: return((CHAR)(154 & 0xff));
- case 0x2116: return((CHAR)(239 & 0xff));
- case 0x2500: return((CHAR)(196 & 0xff));
- case 0x2502: return((CHAR)(179 & 0xff));
- case 0x250c: return((CHAR)(218 & 0xff));
- case 0x2510: return((CHAR)(191 & 0xff));
- case 0x2514: return((CHAR)(192 & 0xff));
- case 0x2518: return((CHAR)(217 & 0xff));
- case 0x251c: return((CHAR)(195 & 0xff));
- case 0x2524: return((CHAR)(180 & 0xff));
- case 0x252c: return((CHAR)(194 & 0xff));
- case 0x2534: return((CHAR)(193 & 0xff));
- case 0x253c: return((CHAR)(197 & 0xff));
- case 0x2550: return((CHAR)(205 & 0xff));
- case 0x2551: return((CHAR)(186 & 0xff));
- case 0x2554: return((CHAR)(201 & 0xff));
- case 0x2557: return((CHAR)(187 & 0xff));
- case 0x255a: return((CHAR)(200 & 0xff));
- case 0x255d: return((CHAR)(188 & 0xff));
- case 0x2560: return((CHAR)(204 & 0xff));
- case 0x2563: return((CHAR)(185 & 0xff));
- case 0x2566: return((CHAR)(203 & 0xff));
- case 0x2569: return((CHAR)(202 & 0xff));
- case 0x256c: return((CHAR)(206 & 0xff));
- case 0x2580: return((CHAR)(223 & 0xff));
- case 0x2584: return((CHAR)(220 & 0xff));
- case 0x2588: return((CHAR)(219 & 0xff));
- case 0x2591: return((CHAR)(176 & 0xff));
- case 0x2592: return((CHAR)(177 & 0xff));
- case 0x2593: return((CHAR)(178 & 0xff));
- case 0x25a0: return((CHAR)(254 & 0xff));
- default: return(tx_cpsub(c)); /* For box characters etc */
- }
- }
- int /* PC Code Page 856 */
- #ifdef CK_ANSIC
- tx_cp856(USHORT c)
- #else
- tx_cp856(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x00a0: return((CHAR)(0xff & 0xff));
- case 0x00a7: return((CHAR)(0xd6 & 0xff));
- case 0x00b0: return((CHAR)(0xf8 & 0xff));
- case 0x00b1: return((CHAR)(0xf1 & 0xff));
- case 0x00b2: return((CHAR)(0xfd & 0xff));
- case 0x00b5: return((CHAR)(0xe6 & 0xff));
- case 0x00b7: return((CHAR)(0xfa & 0xff));
- case 0x00df: return((CHAR)(0xe1 & 0xff));
- case 0x00f7: return((CHAR)(0xf6 & 0xff));
- case 0x0393: return((CHAR)(0xe2 & 0xff));
- case 0x0398: return((CHAR)(0xe9 & 0xff));
- case 0x03a3: return((CHAR)(0xe4 & 0xff));
- case 0x03a6: return((CHAR)(0xe8 & 0xff));
- case 0x03a9: return((CHAR)(0xea & 0xff));
- case 0x03b1: return((CHAR)(0xe0 & 0xff));
- case 0x03b4: return((CHAR)(0xeb & 0xff));
- case 0x03b5: return((CHAR)(0xee & 0xff));
- case 0x03c0: return((CHAR)(0xe3 & 0xff));
- case 0x03c3: return((CHAR)(0xe5 & 0xff));
- case 0x03c4: return((CHAR)(0xe7 & 0xff));
- case 0x03c6: return((CHAR)(0xed & 0xff));
- case 0x0410: return((CHAR)(0x80 & 0xff));
- case 0x0411: return((CHAR)(0x81 & 0xff));
- case 0x0412: return((CHAR)(0x82 & 0xff));
- case 0x0413: return((CHAR)(0x83 & 0xff));
- case 0x0414: return((CHAR)(0x84 & 0xff));
- case 0x0415: return((CHAR)(0x85 & 0xff));
- case 0x0416: return((CHAR)(0x86 & 0xff));
- case 0x0417: return((CHAR)(0x87 & 0xff));
- case 0x0418: return((CHAR)(0x88 & 0xff));
- case 0x0419: return((CHAR)(0x89 & 0xff));
- case 0x041a: return((CHAR)(0x8a & 0xff));
- case 0x041b: return((CHAR)(0x8b & 0xff));
- case 0x041c: return((CHAR)(0x8c & 0xff));
- case 0x041d: return((CHAR)(0x8d & 0xff));
- case 0x041e: return((CHAR)(0x8e & 0xff));
- case 0x041f: return((CHAR)(0x8f & 0xff));
- case 0x0420: return((CHAR)(0x90 & 0xff));
- case 0x0421: return((CHAR)(0x91 & 0xff));
- case 0x0422: return((CHAR)(0x92 & 0xff));
- case 0x0423: return((CHAR)(0x93 & 0xff));
- case 0x0424: return((CHAR)(0x94 & 0xff));
- case 0x0425: return((CHAR)(0x95 & 0xff));
- case 0x0426: return((CHAR)(0x96 & 0xff));
- case 0x0427: return((CHAR)(0x97 & 0xff));
- case 0x0428: return((CHAR)(0x98 & 0xff));
- case 0x0429: return((CHAR)(0x99 & 0xff));
- case 0x042a: return((CHAR)(0x9a & 0xff));
- case 0x042b: return((CHAR)(0x9b & 0xff));
- case 0x042c: return((CHAR)(0x9c & 0xff));
- case 0x042d: return((CHAR)(0x9d & 0xff));
- case 0x042e: return((CHAR)(0x9e & 0xff));
- case 0x042f: return((CHAR)(0x9f & 0xff));
- case 0x0430: return((CHAR)(0xa0 & 0xff));
- case 0x0431: return((CHAR)(0xa1 & 0xff));
- case 0x0432: return((CHAR)(0xa2 & 0xff));
- case 0x0433: return((CHAR)(0xa3 & 0xff));
- case 0x0434: return((CHAR)(0xa4 & 0xff));
- case 0x0435: return((CHAR)(0xa5 & 0xff));
- case 0x0436: return((CHAR)(0xa6 & 0xff));
- case 0x0437: return((CHAR)(0xa7 & 0xff));
- case 0x0438: return((CHAR)(0xa8 & 0xff));
- case 0x0439: return((CHAR)(0xa9 & 0xff));
- case 0x043a: return((CHAR)(0xaa & 0xff));
- case 0x043b: return((CHAR)(0xab & 0xff));
- case 0x043c: return((CHAR)(0xac & 0xff));
- case 0x043d: return((CHAR)(0xad & 0xff));
- case 0x043e: return((CHAR)(0xae & 0xff));
- case 0x043f: return((CHAR)(0xaf & 0xff));
- case 0x0440: return((CHAR)(0xb0 & 0xff));
- case 0x0441: return((CHAR)(0xb1 & 0xff));
- case 0x0442: return((CHAR)(0xb2 & 0xff));
- case 0x0443: return((CHAR)(0xb3 & 0xff));
- case 0x0444: return((CHAR)(0xb4 & 0xff));
- case 0x0445: return((CHAR)(0xb5 & 0xff));
- case 0x0446: return((CHAR)(0xb6 & 0xff));
- case 0x0447: return((CHAR)(0xb7 & 0xff));
- case 0x0448: return((CHAR)(0xb8 & 0xff));
- case 0x0449: return((CHAR)(0xb9 & 0xff));
- case 0x044a: return((CHAR)(0xba & 0xff));
- case 0x044b: return((CHAR)(0xbb & 0xff));
- case 0x044c: return((CHAR)(0xbc & 0xff));
- case 0x044d: return((CHAR)(0xbd & 0xff));
- case 0x044e: return((CHAR)(0xbe & 0xff));
- case 0x044f: return((CHAR)(0xbf & 0xff));
- case 0x207f: return((CHAR)(0xfc & 0xff));
- case 0x2116: return((CHAR)(0xd5 & 0xff));
- case 0x2219: return((CHAR)(0xf9 & 0xff));
- case 0x221a: return((CHAR)(0xfb & 0xff));
- case 0x221e: return((CHAR)(0xec & 0xff));
- case 0x2229: return((CHAR)(0xef & 0xff));
- case 0x2248: return((CHAR)(0xf7 & 0xff));
- case 0x2261: return((CHAR)(0xf0 & 0xff));
- case 0x2264: return((CHAR)(0xf3 & 0xff));
- case 0x2265: return((CHAR)(0xf2 & 0xff));
- case 0x2320: return((CHAR)(0xf4 & 0xff));
- case 0x2321: return((CHAR)(0xf5 & 0xff));
- case 0x2500: return((CHAR)(0xc4 & 0xff));
- case 0x2502: return((CHAR)(0xd3 & 0xff));
- case 0x250c: return((CHAR)(0xda & 0xff));
- case 0x2510: return((CHAR)(0xcf & 0xff));
- case 0x2514: return((CHAR)(0xc0 & 0xff));
- case 0x2518: return((CHAR)(0xd9 & 0xff));
- case 0x251c: return((CHAR)(0xc3 & 0xff));
- case 0x2524: return((CHAR)(0xd4 & 0xff));
- case 0x252c: return((CHAR)(0xc2 & 0xff));
- case 0x2534: return((CHAR)(0xc1 & 0xff));
- case 0x253c: return((CHAR)(0xc5 & 0xff));
- case 0x2550: return((CHAR)(0xcd & 0xff));
- case 0x2551: return((CHAR)(0xc7 & 0xff));
- case 0x2554: return((CHAR)(0xc9 & 0xff));
- case 0x2557: return((CHAR)(0xd7 & 0xff));
- case 0x255a: return((CHAR)(0xc8 & 0xff));
- case 0x255d: return((CHAR)(0xd8 & 0xff));
- case 0x2560: return((CHAR)(0xcc & 0xff));
- case 0x2563: return((CHAR)(0xc6 & 0xff));
- case 0x2566: return((CHAR)(0xcb & 0xff));
- case 0x2569: return((CHAR)(0xca & 0xff));
- case 0x256c: return((CHAR)(0xce & 0xff));
- case 0x2580: return((CHAR)(0xdf & 0xff));
- case 0x2584: return((CHAR)(0xdc & 0xff));
- case 0x2588: return((CHAR)(0xdb & 0xff));
- case 0x258c: return((CHAR)(0xdd & 0xff));
- case 0x2590: return((CHAR)(0xde & 0xff));
- case 0x2591: return((CHAR)(0xd0 & 0xff));
- case 0x2592: return((CHAR)(0xd1 & 0xff));
- case 0x2593: return((CHAR)(0xd2 & 0xff));
- case 0x25a0: return((CHAR)(0xfe & 0xff));
- default: return(tx_cpsub(c)); /* For box characters etc */
- }
- }
- int /* PC Code Page 857 */
- #ifdef CK_ANSIC
- tx_cp857(USHORT c)
- #else
- tx_cp857(c) USHORT c;
- #endif /* CK_ANSIC */
- {
- if (c < 0x80) /* Has C1 graphics */
- return((CHAR)(c & 0xff));
- switch (c) {
- case 0x00c7: return((CHAR)(128 & 0xff));
- case 0x00fc: return((CHAR)(129 & 0xff));
- case 0x00e9: return((CHAR)(130 & 0xff));
- case 0x00e2: return((CHAR)(131 & 0xff));
- case 0x00e4: return((CHAR)(132 & 0xff));
- case 0x00e0: return((CHAR)(133 & 0xff));
- case 0x00e5: return((CHAR)(134 & 0xff));
- case 0x00e7: return((CHAR)(135 & 0xff));
- case 0x00ea: return((CHAR)(136 & 0xff));
- case 0x00eb: return((CHAR)(137 & 0xff));
- case 0x00e8: return((CHAR)(138 & 0xff));
- case 0x00ef: return((CHAR)(139 & 0xff));
- case 0x00ee: return((CHAR)(140 & 0xff));
- case 0x0131: return((CHAR)(141 & 0xff));
- case 0x00c4: return((CHAR)(142 & 0xff));
- case 0x00c5: return((CHAR)(143 & 0xff));
- case 0x00c9: return((CHAR)(144 & 0xff));
- case 0x00e6: return((CHAR)(145 & 0xff));
- case 0x00c6: return((CHAR)(146 & 0xff));
- case 0x00f4: return((CHAR)(147 & 0xff));
- case 0x00f6: return((CHAR)(148 & 0xff));
- case 0x00f2: return((CHAR)(149 & 0xff));
- case 0x00fb: return((CHAR)(150 & 0xff));
- case 0x00f9: return((CHAR)(151 & 0xff));
- case 0x0130: return((CHAR)(152 & 0xff));