123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- /*
- Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
- See the accompanying file LICENSE, version 2000-Apr-09 or later
- (the contents of which are also included in zip.h) for terms of use.
- If, for some reason, all these files are missing, the Info-ZIP license
- also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
- */
- /*
- Conversion table from MacOS Roman to
- "Western Europe & America" Windows codepage 1252
- Notes on Mac OS Roman:
- ----------------------
- Mac OS Roman character set is used for at least the following Mac OS
- localizations: U.S., British, Canadian French, French, Swiss
- French, German, Swiss German, Italian, Swiss Italian, Dutch,
- Swedish, Norwegian, Danish, Finnish, Spanish, Catalan,
- Portuguese, Brazilian, and the default International system.
- Not every char of the charset MacRoman has their equivalent
- in Windows CodePage1252.
- To make the mapping in most cases possible, I choosed
- most similar chars or at least the BULLET. Chars that
- do not have a direct match are marked with '***'
- The Windows codepage 1252 contains the ISO 8859-1 "Latin 1" codepage,
- with some additional printable characters in the range (0x80 - 0x9F),
- that is reserved to control codes in the ISO 8859-1 character table.
- In all Mac OS encodings, character codes 0x00-0x7F are identical to ASCII
- */
- ZCONST unsigned char MacRoman_to_WinCP1252[128] = {
- /* Win CP1252 UniCode UniCode Names */
- 0xC4 , /* 0x00C4
- 0xC5 , /* 0x00C5
- 0xC7 , /* 0x00C7
- 0xC9 , /* 0x00C9
- 0xD1 , /* 0x00D1
- 0xD6 , /* 0x00D6
- 0xDC , /* 0x00DC
- 0xE1 , /* 0x00E1
- 0xE0 , /* 0x00E0
- 0xE2 , /* 0x00E2
- 0xE4 , /* 0x00E4
- 0xE3 , /* 0x00E3
- 0xE5 , /* 0x00E5
- 0xE7 , /* 0x00E7
- 0xE9 , /* 0x00E9
- 0xE8 , /* 0x00E8
- 0xEA , /* 0x00EA
- 0xEB , /* 0x00EB
- 0xED , /* 0x00ED
- 0xEC , /* 0x00EC
- 0xEE , /* 0x00EE
- 0xEF , /* 0x00EF
- 0xF1 , /* 0x00F1
- 0xF3 , /* 0x00F3
- 0xF2 , /* 0x00F2
- 0xF4 , /* 0x00F4
- 0xF6 , /* 0x00F6
- 0xF5 , /* 0x00F5
- 0xFA , /* 0x00FA
- 0xF9 , /* 0x00F9
- 0xFB , /* 0x00FB
- 0xFC , /* 0x00FC
- 0x86 , /* 0x2020
- 0xB0 , /* 0x00B0
- 0xA2 , /* 0x00A2
- 0xA3 , /* 0x00A3
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0xB6 , /* 0x00B6
- 0xDF , /* 0x00DF
- 0xAE , /* 0x00AE
- 0xA9 , /* 0x00A9
- 0x99 , /* 0x2122
- 0xB4 , /* 0x00B4
- 0xA8 , /* 0x00A8
- 0x95 , /* 0x2022
- 0xC6 , /* 0x00C6
- 0xD8 , /* 0x00D8
- 0x95 , /* 0x2022
- 0xB1 , /* 0x00B1
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0xA5 , /* 0x00A5
- 0xB5 , /* 0x00B5
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0xAA , /* 0x00AA
- 0xBA , /* 0x00BA
- 0x95 , /* 0x2022
- 0xE6 , /* 0x00E6
- 0xF8 , /* 0x00F8
- 0xBF , /* 0x00BF
- 0xA1 , /* 0x00A1
- 0xAC , /* 0x00AC
- 0x95 , /* 0x2022
- 0x83 , /* 0x0192
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0xAB , /* 0x00AB
- 0xBB , /* 0x00BB
- 0x85 , /* 0x2026
- 0xA0 , /* 0x00A0
- 0xC0 , /* 0x00C0
- 0xC3 , /* 0x00C3
- 0xD5 , /* 0x00D5
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x96 , /* 0x2013
- 0x97 , /* 0x2014
- 0x93 , /* 0x201C
- 0x94 , /* 0x201D
- 0x91 , /* 0x2018
- 0x92 , /* 0x2019
- 0xF7 , /* 0x00F7
- 0x95 , /* 0x2022
- 0xFF , /* 0x00FF
- 0x9F , /* 0x0178
- 0x95 , /* 0x2022
- 0xA4 , /* 0x00A4
- 0x8B , /* 0x2039
- 0x9B , /* 0x203A
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x87 , /* 0x2021
- 0xB7 , /* 0x00B7
- 0x82 , /* 0x201A
- 0x84 , /* 0x201E
- 0x89 , /* 0x2030
- 0xC2 , /* 0x00C2
- 0xCA , /* 0x00CA
- 0xC1 , /* 0x00C1
- 0xCB , /* 0x00CB
- 0xC8 , /* 0x00C8
- 0xCD , /* 0x00CD
- 0xCE , /* 0x00CE
- 0xCF , /* 0x00CF
- 0xCC , /* 0x00CC
- 0xD3 , /* 0x00D3
- 0xD4 , /* 0x00D4
- 0x95 , /* 0x2022
- 0xD2 , /* 0x00D2
- 0xDA , /* 0x00DA
- 0xDB , /* 0x00DB
- 0xD9 , /* 0x00D9
- 0x95 , /* 0x2022
- 0x88 , /* 0x02C6
- 0x98 , /* 0x02DC
- 0xAF , /* 0x00AF
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0xB8 , /* 0x00B8
- 0x95 , /* 0x2022
- 0x95 , /* 0x2022
- 0x95 /* 0x2022
- };
- ZCONST unsigned char WinCP1252_to_MacRoman[128] = {
- /* Mac Roman UniCode UniCode Names */
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xE2 , /* 0x201A
- 0xC4 , /* 0x0192
- 0xE3 , /* 0x201E
- 0xC9 , /* 0x2026
- 0xA0 , /* 0x2020
- 0xE0 , /* 0x2021
- 0xF6 , /* 0x02C6
- 0xE4 , /* 0x2030
- 0xA5 , /* 0x2022
- 0xDC , /* 0x2039
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xD4 , /* 0x2018
- 0xD5 , /* 0x2019
- 0xD2 , /* 0x201C
- 0xD3 , /* 0x201D
- 0xA5 , /* 0x2022
- 0xD0 , /* 0x2013
- 0xD1 , /* 0x2014
- 0xF7 , /* 0x02DC
- 0xAA , /* 0x2122
- 0xA5 , /* 0x2022
- 0xDD , /* 0x203A
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xD9 , /* 0x0178
- 0xCA , /* 0x00A0
- 0xC1 , /* 0x00A1
- 0xA2 , /* 0x00A2
- 0xA3 , /* 0x00A3
- 0xDB , /* 0x00A4
- 0xB4 , /* 0x00A5
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xAC , /* 0x00A8
- 0xA9 , /* 0x00A9
- 0xBB , /* 0x00AA
- 0xC7 , /* 0x00AB
- 0xC2 , /* 0x00AC
- 0xA5 , /* 0x2022
- 0xA8 , /* 0x00AE
- 0xF8 , /* 0x00AF
- 0xA1 , /* 0x00B0
- 0xB1 , /* 0x00B1
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xAB , /* 0x00B4
- 0xB5 , /* 0x00B5
- 0xA6 , /* 0x00B6
- 0xE1 , /* 0x00B7
- 0xFC , /* 0x00B8
- 0xA5 , /* 0x2022
- 0xBC , /* 0x00BA
- 0xC8 , /* 0x00BB
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xC0 , /* 0x00BF
- 0xCB , /* 0x00C0
- 0xE7 , /* 0x00C1
- 0xE5 , /* 0x00C2
- 0xCC , /* 0x00C3
- 0x80 , /* 0x00C4
- 0x81 , /* 0x00C5
- 0xAE , /* 0x00C6
- 0x82 , /* 0x00C7
- 0xE9 , /* 0x00C8
- 0x83 , /* 0x00C9
- 0xE6 , /* 0x00CA
- 0xE8 , /* 0x00CB
- 0xED , /* 0x00CC
- 0xEA , /* 0x00CD
- 0xEB , /* 0x00CE
- 0xEC , /* 0x00CF
- 0xA5 , /* 0x2022
- 0x84 , /* 0x00D1
- 0xF1 , /* 0x00D2
- 0xEE , /* 0x00D3
- 0xEF , /* 0x00D4
- 0xCD , /* 0x00D5
- 0x85 , /* 0x00D6
- 0xA5 , /* 0x2022
- 0xAF , /* 0x00D8
- 0xF4 , /* 0x00D9
- 0xF2 , /* 0x00DA
- 0xF3 , /* 0x00DB
- 0x86 , /* 0x00DC
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xA7 , /* 0x00DF
- 0x88 , /* 0x00E0
- 0x87 , /* 0x00E1
- 0x89 , /* 0x00E2
- 0x8B , /* 0x00E3
- 0x8A , /* 0x00E4
- 0x8C , /* 0x00E5
- 0xBE , /* 0x00E6
- 0x8D , /* 0x00E7
- 0x8F , /* 0x00E8
- 0x8E , /* 0x00E9
- 0x90 , /* 0x00EA
- 0x91 , /* 0x00EB
- 0x93 , /* 0x00EC
- 0x92 , /* 0x00ED
- 0x94 , /* 0x00EE
- 0x95 , /* 0x00EF
- 0xA5 , /* 0x2022
- 0x96 , /* 0x00F1
- 0x98 , /* 0x00F2
- 0x97 , /* 0x00F3
- 0x99 , /* 0x00F4
- 0x9B , /* 0x00F5
- 0x9A , /* 0x00F6
- 0xD6 , /* 0x00F7
- 0xBF , /* 0x00F8
- 0x9D , /* 0x00F9
- 0x9C , /* 0x00FA
- 0x9E , /* 0x00FB
- 0x9F , /* 0x00FC
- 0xA5 , /* 0x2022
- 0xA5 , /* 0x2022
- 0xD8 /* 0x00FF
- };
- /*
- The following characters has no equivalent
- to each other:
- MacCodes
- 164 0xA4 0x00A7
- 253 0xFD 0x02DD
- 189 0xBD 0x03A9
- 185 0xB9 0x03C0
- 255 0xFF 0x02C7
- 249 0xF9 0x02D8
- 250 0xFA 0x02D9
- 251 0xFB 0x02DA
- 254 0xFE 0x02DB
- 218 0xDA 0x2044
- 182 0xB6 0x2202
- 198 0xC6 0x2206
- 184 0xB8 0x220F
- 183 0xB7 0x2211
- 195 0xC3 0x221A
- 176 0xB0 0x221E
- 186 0xBA 0x222B
- 197 0xC5 0x2248
- 173 0xAD 0x2260
- 178 0xB2 0x2264
- 179 0xB3 0x2265
- 215 0xD7 0x25CA
- 240 0xF0 0xF8FF
- 222 0xDE 0xFB01
- 223 0xDF 0xFB02
- 245 0xF5 0x0131
- 206 0xCE 0x0152
- 207 0xCF 0x0153
- WinCodes
- 129 0x81
- 141 0x8D
- 143 0x8F
- 144 0x90
- 157 0x9D
- 167 0xA7 0x00A7
- 173 0xAD 0x00AD
- 178 0xB2 0x00B2
- 179 0xB3 0x00B3
- 185 0xB9 0x00B9
- 188 0xBC 0x00BC
- 189 0xBD 0x00BD
- 190 0xBE 0x00BE
- 208 0xD0 0x00D0
- 215 0xD7 0x00D7
- 221 0xDD 0x00DD
- 222 0xDE 0x00DE
- 240 0xF0 0x00F0
- 253 0xFD 0x00FD
- 254 0xFE 0x00FE
- 140 0x8C 0x0152
- 156 0x9C 0x0153
- 138 0x8A 0x0160
- 154 0x9A 0x0161
- 142 0x8E 0x017D
- 158 0x9E 0x017E
- 128 0x80 0x20AC
- 166 0xA6 0x00A6
- */
|