Ignore:
Timestamp:
Apr 14, 2002, 1:42:05 AM (23 years ago)
Author:
umoeller
Message:

Lots of changes from the last three weeks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/helpers/encodings.c

    r147 r153  
    4141#pragma hdrstop
    4242
    43 #define ENCODINGENTRY(id)   enc_ ## id, G_ ## id, ARRAYITEMCOUNT(G_ ## id)
    44 
    4543/*
    4644 *@@ G_aEncodings:
     
    6563} G_aEncodings[] =
    6664    {
     65        #define ENCODINGENTRY(id)   enc_ ## id, G_ ## id, ARRAYITEMCOUNT(G_ ## id)
     66
    6767        ENCODINGENTRY(cp437), 437, SINGLE, "DOS Latin US",
    6868        ENCODINGENTRY(cp737), 737, SINGLE, "DOS Greek",
     
    8282        ENCODINGENTRY(cp869), 869, SINGLE, "DOS Greek2",
    8383        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
    8890        ENCODINGENTRY(cp1004), 1004, SINGLE, "Windows Extended",
    8991        ENCODINGENTRY(cp1250), 1250, SINGLE, "Windows Latin 2",
     
    404406unsigned long encDecodeUTF8(const char **ppch)
    405407{
    406     unsigned long   ulChar = **ppch;
    407 
    408     if (!ulChar)
     408    unsigned long   ulChar;
     409
     410    if (!(ulChar = **ppch))
     411        // null is null
    409412        return 0;
    410413
    411414    // if (ulChar < 0x80): simple, one byte only... use that
    412415
    413     if (ulChar >= 0x80)
     416    if (ulChar < 0x80)
     417    {
     418        (*ppch)++;
     419        return (ulChar);
     420    }
     421    else
    414422    {
    415423        unsigned long ulCount = 1;
     
    490498            *ppch += ulCount;
    491499    }
    492     else
    493         (*ppch)++;
    494500
    495501    return (ulChar);
    496502}
    497503
    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.