00220 char iso_8859_15_chars[] =
00221 {
00222 0x60, 0x27, // GRAVE ACCENT --> APOSTROPHE
00223 0xA0, 0x20, // NO-BREAK SPACE --> SPACE
00224 0xA2, 0x63, // CENT SIGN --> c
00225 0xA6, 0x53, // LATIN CAPITAL LETTER S WITH CARON --> S
00226 0xA8, 0x73, // LATIN SMALL LETTER S WITH CARON --> s
00227 0xA9, 0x43, // COPYRIGHT SIGN --> C
00228 0xAA, 0x61, // FEMININE ORDINAL INDICATOR --> a
00229 0xAB, 0x3C, // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK --> <
00230 0xAC, 0x2D, // NOT SIGN --> -
00231 0xAD, 0x2D, // SOFT HYPHEN --> -
00232 0xAE, 0x52, // REGISTERED SIGN --> R
00233 0xAF, 0x2D, // MACRON --> -
00234 0xB0, 0x6F, // DEGREE SIGN --> o
00235 0xB1, 0x2B, // PLUS-MINUS SIGN --> +
00236 0xB2, 0x32, // SUPERSCRIPT TWO --> 2
00237 0xB3, 0x33, // SUPERSCRIPT THREE --> 3
00238 0xB4, 0x5A, // LATIN CAPITAL LETTER Z WITH CARON --> Z
00239 0xB5, 0x75, // MICRO SIGN --> u
00240 0xB6, 0x49, // PILCROW SIGN --> I
00241 0xB7, 0x2E, // MIDDLE DOT --> .
00242 0xB8, 0x7A, // LATIN SMALL LETTER Z WITH CARON --> z
00243 0xB9, 0x31, // SUPERSCRIPT ONE --> 1
00244 0xBA, 0x6F, // MASCULINE ORDINAL INDICATOR --> o
00245 0xBB, 0x3E, // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK --> >
00246 0xBC, 0x4F, // LATIN CAPITAL LIGATURE OE --> O
00247 0xBD, 0x6F, // LATIN SMALL LIGATURE OE --> o
00248 0xBE, 0x59, // LATIN CAPITAL LETTER Y WITH DIAERESIS --> Y
00249 0xC0, 0x41, // LATIN CAPITAL LETTER A WITH GRAVE --> A
00250 0xC1, 0x41, // LATIN CAPITAL LETTER A WITH ACUTE --> A
00251 0xC2, 0x41, // LATIN CAPITAL LETTER A WITH CIRCUMFLEX --> A
00252 0xC3, 0x41, // LATIN CAPITAL LETTER A WITH TILDE --> A
00253 0xC7, 0x09, // LATIN CAPITAL LETTER C WITH CEDILLA --> 0x09 (LATIN CAPITAL LETTER C WITH CEDILLA)
00254 0xC8, 0x45, // LATIN CAPITAL LETTER E WITH GRAVE --> E
00255 0xCA, 0x45, // LATIN CAPITAL LETTER E WITH CIRCUMFLEX --> E
00256 0xCB, 0x45, // LATIN CAPITAL LETTER E WITH DIAERESIS --> E
00257 0xCC, 0x49, // LATIN CAPITAL LETTER I WITH GRAVE --> I
00258 0xCD, 0x49, // LATIN CAPITAL LETTER I WITH ACUTE --> I
00259 0xCE, 0x49, // LATIN CAPITAL LETTER I WITH CIRCUMFLEX --> I
00260 0xCF, 0x49, // LATIN CAPITAL LETTER I WITH DIAERESIS --> I
00261 0xD0, 0x44, // LATIN CAPITAL LETTER ETH --> D
00262 0xD2, 0x4F, // LATIN CAPITAL LETTER O WITH GRAVE --> O
00263 0xD3, 0x4F, // LATIN CAPITAL LETTER O WITH ACUTE --> O
00264 0xD4, 0x4F, // LATIN CAPITAL LETTER O WITH CIRCUMFLEX --> O
00265 0xD5, 0x4F, // LATIN CAPITAL LETTER O WITH TILDE --> O
00266 0xD7, 0x78, // MULTIPLICATION SIGN --> x
00267 0xD9, 0x55, // LATIN CAPITAL LETTER U WITH GRAVE --> U
00268 0xDA, 0x55, // LATIN CAPITAL LETTER U WITH ACUTE --> U
00269 0xDB, 0x55, // LATIN CAPITAL LETTER U WITH CIRCUMFLEX --> U
00270 0xDD, 0x59, // LATIN CAPITAL LETTER Y WITH ACUTE --> Y
00271 0xDE, 0x62, // LATIN CAPITAL LETTER THORN --> b
00272 0xE1, 0x61, // LATIN SMALL LETTER A WITH ACUTE --> a
00273 0xE2, 0x61, // LATIN SMALL LETTER A WITH CIRCUMFLEX --> a
00274 0xE3, 0x61, // LATIN SMALL LETTER A WITH TILDE --> a
00275 0xE7, 0x09, // LATIN SMALL LETTER C WITH CEDILLA --> LATIN CAPITAL LETTER C WITH CEDILLA
00276 0xEA, 0x65, // LATIN SMALL LETTER E WITH CIRCUMFLEX --> e
00277 0xEB, 0x65, // LATIN SMALL LETTER E WITH DIAERESIS --> e
00278 0xED, 0x69, // LATIN SMALL LETTER I WITH ACUTE --> i
00279 0xEE, 0x69, // LATIN SMALL LETTER I WITH CIRCUMFLEX --> i
00280 0xEF, 0x69, // LATIN SMALL LETTER I WITH DIAERESIS --> i
00281 0xF0, 0x6F, // LATIN SMALL LETTER ETH --> o
00282 0xF3, 0x6F, // LATIN SMALL LETTER O WITH ACUTE --> o
00283 0xF4, 0x6F, // LATIN SMALL LETTER O WITH CIRCUMFLEX --> o
00284 0xF5, 0x6F, // LATIN SMALL LETTER O WITH TILDE --> o
00285 0xF7, 0x2F, // DIVISION SIGN --> / (SOLIDUS)
00286 0xFA, 0x75, // LATIN SMALL LETTER U WITH ACUTE --> u
00287 0xFB, 0x75, // LATIN SMALL LETTER U WITH CIRCUMFLEX --> u
00288 0xFD, 0x79, // LATIN SMALL LETTER Y WITH ACUTE --> y
00289 0xFE, 0x62, // LATIN SMALL LETTER THORN --> b
00290 0xFF, 0x79, // LATIN SMALL LETTER Y WITH DIAERESIS --> y
00291
00292 0 , 0
00293 };
00295 int special_char2gsm(char ch, char *newch)
00296 {
00297 int table_row = 0;
00298 char *table = iso_8859_15_chars;
00299
00300 while (table[table_row *2])
00301 {
00302 if (table[table_row *2] == ch)
00303 {
00304 if (newch)
00305 *newch = table[table_row *2 +1];
00306 return 1;
00307 }
00308 table_row++;
00309 }
00310
00311 return 0;
00312 }
[출처 : http://smstools.sourcearchive.com/documentation/3.1/charset_8c-source.html]
|