Changeset 580

Show
Ignore:
Timestamp:
10/31/04 15:15:14 (4 years ago)
Author:
jajcus
Message:

- convert unknown characters to '?' or the Unicode replacement character (fixes bug #4378)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/enc_uni2win.h

    r183 r580  
    11 
    22char unicode_to_win1250_a0_17f[]={ 
    3         /* 0x00A0 */ 0xa0, /* 0x00A1 */ 0x00, /* 0x00A2 */ 0x00, /* 0x00A3 */ 0x00
    4         /* 0x00A4 */ 0xa4, /* 0x00A5 */ 0x00, /* 0x00A6 */ 0xa6, /* 0x00A7 */ 0xa7, 
    5         /* 0x00A8 */ 0xa8, /* 0x00A9 */ 0xa9, /* 0x00AA */ 0x00, /* 0x00AB */ 0xab, 
    6         /* 0x00AC */ 0xac, /* 0x00AD */ 0xad, /* 0x00AE */ 0xae, /* 0x00AF */ 0x00
    7         /* 0x00B0 */ 0xb0, /* 0x00B1 */ 0xb1, /* 0x00B2 */ 0x00, /* 0x00B3 */ 0x00
    8         /* 0x00B4 */ 0xb4, /* 0x00B5 */ 0xb5, /* 0x00B6 */ 0xb6, /* 0x00B7 */ 0xb7, 
    9         /* 0x00B8 */ 0xb8, /* 0x00B9 */ 0x00, /* 0x00BA */ 0x00, /* 0x00BB */ 0xbb, 
    10         /* 0x00BC */ 0x00, /* 0x00BD */ 0x00, /* 0x00BE */ 0x00, /* 0x00BF */ 0x00
    11         /* 0x00C0 */ 0x00, /* 0x00C1 */ 0xc1, /* 0x00C2 */ 0xc2, /* 0x00C3 */ 0x00
    12         /* 0x00C4 */ 0xc4, /* 0x00C5 */ 0x00, /* 0x00C6 */ 0x00, /* 0x00C7 */ 0xc7, 
    13         /* 0x00C8 */ 0x00, /* 0x00C9 */ 0xc9, /* 0x00CA */ 0x00, /* 0x00CB */ 0xcb, 
    14         /* 0x00CC */ 0x00, /* 0x00CD */ 0xcd, /* 0x00CE */ 0xce, /* 0x00CF */ 0x00
    15         /* 0x00D0 */ 0x00, /* 0x00D1 */ 0x00, /* 0x00D2 */ 0x00, /* 0x00D3 */ 0xd3, 
    16         /* 0x00D4 */ 0xd4, /* 0x00D5 */ 0x00, /* 0x00D6 */ 0xd6, /* 0x00D7 */ 0xd7, 
    17         /* 0x00D8 */ 0x00, /* 0x00D9 */ 0x00, /* 0x00DA */ 0xda, /* 0x00DB */ 0x00
    18         /* 0x00DC */ 0xdc, /* 0x00DD */ 0xdd, /* 0x00DE */ 0x00, /* 0x00DF */ 0xdf, 
    19         /* 0x00E0 */ 0x00, /* 0x00E1 */ 0xe1, /* 0x00E2 */ 0xe2, /* 0x00E3 */ 0x00
    20         /* 0x00E4 */ 0xe4, /* 0x00E5 */ 0x00, /* 0x00E6 */ 0x00, /* 0x00E7 */ 0xe7, 
    21         /* 0x00E8 */ 0x00, /* 0x00E9 */ 0xe9, /* 0x00EA */ 0x00, /* 0x00EB */ 0xeb, 
    22         /* 0x00EC */ 0x00, /* 0x00ED */ 0xed, /* 0x00EE */ 0xee, /* 0x00EF */ 0x00
    23         /* 0x00F0 */ 0x00, /* 0x00F1 */ 0x00, /* 0x00F2 */ 0x00, /* 0x00F3 */ 0xf3, 
    24         /* 0x00F4 */ 0xf4, /* 0x00F5 */ 0x00, /* 0x00F6 */ 0xf6, /* 0x00F7 */ 0xf7, 
    25         /* 0x00F8 */ 0x00, /* 0x00F9 */ 0x00, /* 0x00FA */ 0xfa, /* 0x00FB */ 0x00
    26         /* 0x00FC */ 0xfc, /* 0x00FD */ 0xfd, /* 0x00FE */ 0x00, /* 0x00FF */ 0x00
    27         /* 0x0100 */ 0x00, /* 0x0101 */ 0x00, /* 0x0102 */ 0xc3, /* 0x0103 */ 0xe3, 
     3        /* '?'A0 */ 0xa0, /* '?'A1 */ '?', /* '?'A2 */ '?', /* '?'A3 */ '?'
     4        /* '?'A4 */ 0xa4, /* '?'A5 */ '?', /* '?'A6 */ 0xa6, /* '?'A7 */ 0xa7, 
     5        /* '?'A8 */ 0xa8, /* '?'A9 */ 0xa9, /* '?'AA */ '?', /* '?'AB */ 0xab, 
     6        /* '?'AC */ 0xac, /* '?'AD */ 0xad, /* '?'AE */ 0xae, /* '?'AF */ '?'
     7        /* '?'B0 */ 0xb0, /* '?'B1 */ 0xb1, /* '?'B2 */ '?', /* '?'B3 */ '?'
     8        /* '?'B4 */ 0xb4, /* '?'B5 */ 0xb5, /* '?'B6 */ 0xb6, /* '?'B7 */ 0xb7, 
     9        /* '?'B8 */ 0xb8, /* '?'B9 */ '?', /* '?'BA */ '?', /* '?'BB */ 0xbb, 
     10        /* '?'BC */ '?', /* '?'BD */ '?', /* '?'BE */ '?', /* '?'BF */ '?'
     11        /* '?'C0 */ '?', /* '?'C1 */ 0xc1, /* '?'C2 */ 0xc2, /* '?'C3 */ '?'
     12        /* '?'C4 */ 0xc4, /* '?'C5 */ '?', /* '?'C6 */ '?', /* '?'C7 */ 0xc7, 
     13        /* '?'C8 */ '?', /* '?'C9 */ 0xc9, /* '?'CA */ '?', /* '?'CB */ 0xcb, 
     14        /* '?'CC */ '?', /* '?'CD */ 0xcd, /* '?'CE */ 0xce, /* '?'CF */ '?'
     15        /* '?'D0 */ '?', /* '?'D1 */ '?', /* '?'D2 */ '?', /* '?'D3 */ 0xd3, 
     16        /* '?'D4 */ 0xd4, /* '?'D5 */ '?', /* '?'D6 */ 0xd6, /* '?'D7 */ 0xd7, 
     17        /* '?'D8 */ '?', /* '?'D9 */ '?', /* '?'DA */ 0xda, /* '?'DB */ '?'
     18        /* '?'DC */ 0xdc, /* '?'DD */ 0xdd, /* '?'DE */ '?', /* '?'DF */ 0xdf, 
     19        /* '?'E0 */ '?', /* '?'E1 */ 0xe1, /* '?'E2 */ 0xe2, /* '?'E3 */ '?'
     20        /* '?'E4 */ 0xe4, /* '?'E5 */ '?', /* '?'E6 */ '?', /* '?'E7 */ 0xe7, 
     21        /* '?'E8 */ '?', /* '?'E9 */ 0xe9, /* '?'EA */ '?', /* '?'EB */ 0xeb, 
     22        /* '?'EC */ '?', /* '?'ED */ 0xed, /* '?'EE */ 0xee, /* '?'EF */ '?'
     23        /* '?'F0 */ '?', /* '?'F1 */ '?', /* '?'F2 */ '?', /* '?'F3 */ 0xf3, 
     24        /* '?'F4 */ 0xf4, /* '?'F5 */ '?', /* '?'F6 */ 0xf6, /* '?'F7 */ 0xf7, 
     25        /* '?'F8 */ '?', /* '?'F9 */ '?', /* '?'FA */ 0xfa, /* '?'FB */ '?'
     26        /* '?'FC */ 0xfc, /* '?'FD */ 0xfd, /* '?'FE */ '?', /* '?'FF */ '?'
     27        /* 0x0100 */ '?', /* 0x0101 */ '?', /* 0x0102 */ 0xc3, /* 0x0103 */ 0xe3, 
    2828        /* 0x0104 */ 0xa5, /* 0x0105 */ 0xb9, /* 0x0106 */ 0xc6, /* 0x0107 */ 0xe6, 
    29         /* 0x0108 */ 0x00, /* 0x0109 */ 0x00, /* 0x010A */ 0x00, /* 0x010B */ 0x00
     29        /* 0x0108 */ '?', /* 0x0109 */ '?', /* 0x010A */ '?', /* 0x010B */ '?'
    3030        /* 0x010C */ 0xc8, /* 0x010D */ 0xe8, /* 0x010E */ 0xcf, /* 0x010F */ 0xef, 
    31         /* 0x0110 */ 0xd0, /* 0x0111 */ 0xf0, /* 0x0112 */ 0x00, /* 0x0113 */ 0x00
    32         /* 0x0114 */ 0x00, /* 0x0115 */ 0x00, /* 0x0116 */ 0x00, /* 0x0117 */ 0x00
     31        /* 0x0110 */ 0xd0, /* 0x0111 */ 0xf0, /* 0x0112 */ '?', /* 0x0113 */ '?'
     32        /* 0x0114 */ '?', /* 0x0115 */ '?', /* 0x0116 */ '?', /* 0x0117 */ '?'
    3333        /* 0x0118 */ 0xca, /* 0x0119 */ 0xea, /* 0x011A */ 0xcc, /* 0x011B */ 0xec, 
    34         /* 0x011C */ 0x00, /* 0x011D */ 0x00, /* 0x011E */ 0x00, /* 0x011F */ 0x00
    35         /* 0x0120 */ 0x00, /* 0x0121 */ 0x00, /* 0x0122 */ 0x00, /* 0x0123 */ 0x00
    36         /* 0x0124 */ 0x00, /* 0x0125 */ 0x00, /* 0x0126 */ 0x00, /* 0x0127 */ 0x00
    37         /* 0x0128 */ 0x00, /* 0x0129 */ 0x00, /* 0x012A */ 0x00, /* 0x012B */ 0x00
    38         /* 0x012C */ 0x00, /* 0x012D */ 0x00, /* 0x012E */ 0x00, /* 0x012F */ 0x00
    39         /* 0x0130 */ 0x00, /* 0x0131 */ 0x00, /* 0x0132 */ 0x00, /* 0x0133 */ 0x00
    40         /* 0x0134 */ 0x00, /* 0x0135 */ 0x00, /* 0x0136 */ 0x00, /* 0x0137 */ 0x00
    41         /* 0x0138 */ 0x00, /* 0x0139 */ 0xc5, /* 0x013A */ 0xe5, /* 0x013B */ 0x00
    42         /* 0x013C */ 0x00, /* 0x013D */ 0xbc, /* 0x013E */ 0xbe, /* 0x013F */ 0x00
    43         /* 0x0140 */ 0x00, /* 0x0141 */ 0xa3, /* 0x0142 */ 0xb3, /* 0x0143 */ 0xd1, 
    44         /* 0x0144 */ 0xf1, /* 0x0145 */ 0x00, /* 0x0146 */ 0x00, /* 0x0147 */ 0xd2, 
    45         /* 0x0148 */ 0xf2, /* 0x0149 */ 0x00, /* 0x014A */ 0x00, /* 0x014B */ 0x00
    46         /* 0x014C */ 0x00, /* 0x014D */ 0x00, /* 0x014E */ 0x00, /* 0x014F */ 0x00
    47         /* 0x0150 */ 0xd5, /* 0x0151 */ 0xf5, /* 0x0152 */ 0x00, /* 0x0153 */ 0x00
    48         /* 0x0154 */ 0xc0, /* 0x0155 */ 0xe0, /* 0x0156 */ 0x00, /* 0x0157 */ 0x00
     34        /* 0x011C */ '?', /* 0x011D */ '?', /* 0x011E */ '?', /* 0x011F */ '?'
     35        /* 0x0120 */ '?', /* 0x0121 */ '?', /* 0x0122 */ '?', /* 0x0123 */ '?'
     36        /* 0x0124 */ '?', /* 0x0125 */ '?', /* 0x0126 */ '?', /* 0x0127 */ '?'
     37        /* 0x0128 */ '?', /* 0x0129 */ '?', /* 0x012A */ '?', /* 0x012B */ '?'
     38        /* 0x012C */ '?', /* 0x012D */ '?', /* 0x012E */ '?', /* 0x012F */ '?'
     39        /* 0x0130 */ '?', /* 0x0131 */ '?', /* 0x0132 */ '?', /* 0x0133 */ '?'
     40        /* 0x0134 */ '?', /* 0x0135 */ '?', /* 0x0136 */ '?', /* 0x0137 */ '?'
     41        /* 0x0138 */ '?', /* 0x0139 */ 0xc5, /* 0x013A */ 0xe5, /* 0x013B */ '?'
     42        /* 0x013C */ '?', /* 0x013D */ 0xbc, /* 0x013E */ 0xbe, /* 0x013F */ '?'
     43        /* 0x0140 */ '?', /* 0x0141 */ 0xa3, /* 0x0142 */ 0xb3, /* 0x0143 */ 0xd1, 
     44        /* 0x0144 */ 0xf1, /* 0x0145 */ '?', /* 0x0146 */ '?', /* 0x0147 */ 0xd2, 
     45        /* 0x0148 */ 0xf2, /* 0x0149 */ '?', /* 0x014A */ '?', /* 0x014B */ '?'
     46        /* 0x014C */ '?', /* 0x014D */ '?', /* 0x014E */ '?', /* 0x014F */ '?'
     47        /* 0x0150 */ 0xd5, /* 0x0151 */ 0xf5, /* 0x0152 */ '?', /* 0x0153 */ '?'
     48        /* 0x0154 */ 0xc0, /* 0x0155 */ 0xe0, /* 0x0156 */ '?', /* 0x0157 */ '?'
    4949        /* 0x0158 */ 0xd8, /* 0x0159 */ 0xf8, /* 0x015A */ 0x8c, /* 0x015B */ 0x9c, 
    50         /* 0x015C */ 0x00, /* 0x015D */ 0x00, /* 0x015E */ 0xaa, /* 0x015F */ 0xba, 
     50        /* 0x015C */ '?', /* 0x015D */ '?', /* 0x015E */ 0xaa, /* 0x015F */ 0xba, 
    5151        /* 0x0160 */ 0x8a, /* 0x0161 */ 0x9a, /* 0x0162 */ 0xde, /* 0x0163 */ 0xfe, 
    52         /* 0x0164 */ 0x8d, /* 0x0165 */ 0x9d, /* 0x0166 */ 0x00, /* 0x0167 */ 0x00
    53         /* 0x0168 */ 0x00, /* 0x0169 */ 0x00, /* 0x016A */ 0x00, /* 0x016B */ 0x00
    54         /* 0x016C */ 0x00, /* 0x016D */ 0x00, /* 0x016E */ 0xd9, /* 0x016F */ 0xf9, 
    55         /* 0x0170 */ 0xdb, /* 0x0171 */ 0xfb, /* 0x0172 */ 0x00, /* 0x0173 */ 0x00
    56         /* 0x0174 */ 0x00, /* 0x0175 */ 0x00, /* 0x0176 */ 0x00, /* 0x0177 */ 0x00
    57         /* 0x0178 */ 0x00, /* 0x0179 */ 0x8f, /* 0x017A */ 0x9f, /* 0x017B */ 0xaf, 
    58         /* 0x017C */ 0xbf, /* 0x017D */ 0x8e, /* 0x017E */ 0x9e, /* 0x017F */ 0x00 
     52        /* 0x0164 */ 0x8d, /* 0x0165 */ 0x9d, /* 0x0166 */ '?', /* 0x0167 */ '?'
     53        /* 0x0168 */ '?', /* 0x0169 */ '?', /* 0x016A */ '?', /* 0x016B */ '?'
     54        /* 0x016C */ '?', /* 0x016D */ '?', /* 0x016E */ 0xd9, /* 0x016F */ 0xf9, 
     55        /* 0x0170 */ 0xdb, /* 0x0171 */ 0xfb, /* 0x0172 */ '?', /* 0x0173 */ '?'
     56        /* 0x0174 */ '?', /* 0x0175 */ '?', /* 0x0176 */ '?', /* 0x0177 */ '?'
     57        /* 0x0178 */ '?', /* 0x0179 */ 0x8f, /* 0x017A */ 0x9f, /* 0x017B */ 0xaf, 
     58        /* 0x017C */ 0xbf, /* 0x017D */ 0x8e, /* 0x017E */ 0x9e, /* 0x017F */ '?' 
    5959        }; 
    6060 
     
    6262 
    6363char unicode_to_win1250_2d8_2dd[]={ 
    64         /* 0x02D8 */ 0xa2, /* 0x02D9 */ 0xff, /* 0x02DA */ 0x00, /* 0x02DB */ 0xb2, 
    65         /* 0x02DC */ 0x00, /* 0x02DD */ 0xbd 
     64        /* 0x02D8 */ 0xa2, /* 0x02D9 */ 0xff, /* 0x02DA */ '?', /* 0x02DB */ 0xb2, 
     65        /* 0x02DC */ '?', /* 0x02DD */ 0xbd 
    6666        }; 
    6767 
    6868char unicode_to_win1250_2013_203a[]={ 
    69         /* 0x2013 */ 0x96, /* 0x2014 */ 0x97, /* 0x2015 */ 0x00, /* 0x2016 */ 0x00
    70         /* 0x2017 */ 0x00, /* 0x2018 */ 0x91, /* 0x2019 */ 0x92, /* 0x201A */ 0x82, 
    71         /* 0x201B */ 0x00, /* 0x201C */ 0x93, /* 0x201D */ 0x94, /* 0x201E */ 0x84, 
    72         /* 0x201F */ 0x00, /* 0x2020 */ 0x86, /* 0x2021 */ 0x87, /* 0x2022 */ 0x95, 
    73         /* 0x2023 */ 0x00, /* 0x2024 */ 0x00, /* 0x2025 */ 0x00, /* 0x2026 */ 0x85, 
    74         /* 0x2027 */ 0x00, /* 0x2028 */ 0x00, /* 0x2029 */ 0x00, /* 0x202A */ 0x00
    75         /* 0x202B */ 0x00, /* 0x202C */ 0x00, /* 0x202D */ 0x00, /* 0x202E */ 0x00
    76         /* 0x202F */ 0x00, /* 0x2030 */ 0x89, /* 0x2031 */ 0x00, /* 0x2032 */ 0x00
    77         /* 0x2033 */ 0x00, /* 0x2034 */ 0x00, /* 0x2035 */ 0x00, /* 0x2036 */ 0x00
    78         /* 0x2037 */ 0x00, /* 0x2038 */ 0x00, /* 0x2039 */ 0x8b, /* 0x203A */ 0x9b 
     69        /* 0x2013 */ 0x96, /* 0x2014 */ 0x97, /* 0x2015 */ '?', /* 0x2016 */ '?'
     70        /* 0x2017 */ '?', /* 0x2018 */ 0x91, /* 0x2019 */ 0x92, /* 0x201A */ 0x82, 
     71        /* 0x201B */ '?', /* 0x201C */ 0x93, /* 0x201D */ 0x94, /* 0x201E */ 0x84, 
     72        /* 0x201F */ '?', /* 0x2020 */ 0x86, /* 0x2021 */ 0x87, /* 0x2022 */ 0x95, 
     73        /* 0x2023 */ '?', /* 0x2024 */ '?', /* 0x2025 */ '?', /* 0x2026 */ 0x85, 
     74        /* 0x2027 */ '?', /* 0x2028 */ '?', /* 0x2029 */ '?', /* 0x202A */ '?'
     75        /* 0x202B */ '?', /* 0x202C */ '?', /* 0x202D */ '?', /* 0x202E */ '?'
     76        /* 0x202F */ '?', /* 0x2030 */ 0x89, /* 0x2031 */ '?', /* 0x2032 */ '?'
     77        /* 0x2033 */ '?', /* 0x2034 */ '?', /* 0x2035 */ '?', /* 0x2036 */ '?'
     78        /* 0x2037 */ '?', /* 0x2038 */ '?', /* 0x2039 */ 0x8b, /* 0x203A */ 0x9b 
    7979        }; 
    8080 
  • trunk/src/enc_win2uni.h

    r183 r580  
    11 
    22unsigned win1250_to_unicode[128]={ 
    3         /* 0x80 */ 0x20AC, /* 0x81 */ 0x0000, /* 0x82 */ 0x201A, /* 0x83 */ 0x0000
     3        /* 0x80 */ 0x20AC, /* 0x81 */ 0xFFFD, /* 0x82 */ 0x201A, /* 0x83 */ 0xFFFD
    44        /* 0x84 */ 0x201E, /* 0x85 */ 0x2026, /* 0x86 */ 0x2020, /* 0x87 */ 0x2021, 
    5         /* 0x88 */ 0x0000, /* 0x89 */ 0x2030, /* 0x8a */ 0x0160, /* 0x8b */ 0x2039, 
     5        /* 0x88 */ 0xFFFD, /* 0x89 */ 0x2030, /* 0x8a */ 0x0160, /* 0x8b */ 0x2039, 
    66        /* 0x8c */ 0x015A, /* 0x8d */ 0x0164, /* 0x8e */ 0x017D, /* 0x8f */ 0x0179, 
    7         /* 0x90 */ 0x0000, /* 0x91 */ 0x2018, /* 0x92 */ 0x2019, /* 0x93 */ 0x201C, 
     7        /* 0x90 */ 0xFFFD, /* 0x91 */ 0x2018, /* 0x92 */ 0x2019, /* 0x93 */ 0x201C, 
    88        /* 0x94 */ 0x201D, /* 0x95 */ 0x2022, /* 0x96 */ 0x2013, /* 0x97 */ 0x2014, 
    9         /* 0x98 */ 0x0000, /* 0x99 */ 0x2122, /* 0x9a */ 0x0161, /* 0x9b */ 0x203A, 
     9        /* 0x98 */ 0xFFFD, /* 0x99 */ 0x2122, /* 0x9a */ 0x0161, /* 0x9b */ 0x203A, 
    1010        /* 0x9c */ 0x015B, /* 0x9d */ 0x0165, /* 0x9e */ 0x017E, /* 0x9f */ 0x017A, 
    1111        /* 0xa0 */ 0x00A0, /* 0xa1 */ 0x02C7, /* 0xa2 */ 0x02D8, /* 0xa3 */ 0x0141,