Changeset 153 for trunk/src/helpers/encodings.c
- Timestamp:
- Apr 14, 2002, 1:42:05 AM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/helpers/encodings.c
r147 r153 41 41 #pragma hdrstop 42 42 43 #define ENCODINGENTRY(id) enc_ ## id, G_ ## id, ARRAYITEMCOUNT(G_ ## id)44 45 43 /* 46 44 *@@ G_aEncodings: … … 65 63 } G_aEncodings[] = 66 64 { 65 #define ENCODINGENTRY(id) enc_ ## id, G_ ## id, ARRAYITEMCOUNT(G_ ## id) 66 67 67 ENCODINGENTRY(cp437), 437, SINGLE, "DOS Latin US", 68 68 ENCODINGENTRY(cp737), 737, SINGLE, "DOS Greek", … … 82 82 ENCODINGENTRY(cp869), 869, SINGLE, "DOS Greek2", 83 83 ENCODINGENTRY(cp874), 874, SINGLE, "DOS Thai (TIS-620)", // default in Thailand 84 // ENCODINGENTRY(cp932), 932 or 943?, DOUBLE, "Japanese Windows", 85 // ENCODINGENTRY(cp936), 936 or 946?, DOUBLE, "Chinese", 86 // ENCODINGENTRY(cp949), 951 or 949?, DOUBLE, "Korean", 87 // ENCODINGENTRY(cp950), 947 or 950?, DOUBLE, "Taiwan Big-5", // default in China? 84 85 ENCODINGENTRY(cp932), 932 /* or 943?*/ , DOUBLE, "Japanese Windows", 86 ENCODINGENTRY(cp936), 936 /* or 946?*/ , DOUBLE, "Chinese", 87 ENCODINGENTRY(cp949), 951 /* or 949?*/ , DOUBLE, "Korean", 88 ENCODINGENTRY(cp950), 947 /* or 950?*/ , DOUBLE, "Taiwan Big-5", // default in China? 89 88 90 ENCODINGENTRY(cp1004), 1004, SINGLE, "Windows Extended", 89 91 ENCODINGENTRY(cp1250), 1250, SINGLE, "Windows Latin 2", … … 404 406 unsigned long encDecodeUTF8(const char **ppch) 405 407 { 406 unsigned long ulChar = **ppch; 407 408 if (!ulChar) 408 unsigned long ulChar; 409 410 if (!(ulChar = **ppch)) 411 // null is null 409 412 return 0; 410 413 411 414 // if (ulChar < 0x80): simple, one byte only... use that 412 415 413 if (ulChar >= 0x80) 416 if (ulChar < 0x80) 417 { 418 (*ppch)++; 419 return (ulChar); 420 } 421 else 414 422 { 415 423 unsigned long ulCount = 1; … … 490 498 *ppch += ulCount; 491 499 } 492 else493 (*ppch)++;494 500 495 501 return (ulChar); 496 502 } 497 503 498 #if 0 499 500 /* 501 *@@ encCodepageToUTF8: 502 * 503 *@@added V0.9.18 (2002-03-08) [umoeller] 504 */ 505 506 void encCodepageToUTF8(const char **ppch) 507 { 508 509 } 510 511 putwchar(c) 512 { 513 if (c < 0x80) { 514 putchar (c); 515 } 516 else if (c < 0x800) { 517 putchar (0xC0 | c>>6); 518 putchar (0x80 | c & 0x3F); 519 } 520 else if (c < 0x10000) { 521 putchar (0xE0 | c>>12); 522 putchar (0x80 | c>>6 & 0x3F); 523 putchar (0x80 | c & 0x3F); 524 } 525 else if (c < 0x200000) { 526 putchar (0xF0 | c>>18); 527 putchar (0x80 | c>>12 & 0x3F); 528 putchar (0x80 | c>>6 & 0x3F); 529 putchar (0x80 | c & 0x3F); 530 } 531 } 532 533 #endif 534 504
Note:
See TracChangeset
for help on using the changeset viewer.