1--TEST--
2Translation of HTML entities for encoding MacRoman
3--FILE--
4<?php
5$arr = array(
60x00C4 => array(0x80, "LATIN CAPITAL LETTER A WITH DIAERESIS"),
70x00C5 => array(0x81, "LATIN CAPITAL LETTER A WITH RING ABOVE"),
80x00C7 => array(0x82, "LATIN CAPITAL LETTER C WITH CEDILLA"),
90x00C9 => array(0x83, "LATIN CAPITAL LETTER E WITH ACUTE"),
100x00D1 => array(0x84, "LATIN CAPITAL LETTER N WITH TILDE"),
110x00D6 => array(0x85, "LATIN CAPITAL LETTER O WITH DIAERESIS"),
120x00DC => array(0x86, "LATIN CAPITAL LETTER U WITH DIAERESIS"),
130x00E1 => array(0x87, "LATIN SMALL LETTER A WITH ACUTE"),
140x00E0 => array(0x88, "LATIN SMALL LETTER A WITH GRAVE"),
150x00E2 => array(0x89, "LATIN SMALL LETTER A WITH CIRCUMFLEX"),
160x00E4 => array(0x8A, "LATIN SMALL LETTER A WITH DIAERESIS"),
170x00E3 => array(0x8B, "LATIN SMALL LETTER A WITH TILDE"),
180x00E5 => array(0x8C, "LATIN SMALL LETTER A WITH RING ABOVE"),
190x00E7 => array(0x8D, "LATIN SMALL LETTER C WITH CEDILLA"),
200x00E9 => array(0x8E, "LATIN SMALL LETTER E WITH ACUTE"),
210x00E8 => array(0x8F, "LATIN SMALL LETTER E WITH GRAVE"),
220x00EA => array(0x90, "LATIN SMALL LETTER E WITH CIRCUMFLEX"),
230x00EB => array(0x91, "LATIN SMALL LETTER E WITH DIAERESIS"),
240x00ED => array(0x92, "LATIN SMALL LETTER I WITH ACUTE"),
250x00EC => array(0x93, "LATIN SMALL LETTER I WITH GRAVE"),
260x00EE => array(0x94, "LATIN SMALL LETTER I WITH CIRCUMFLEX"),
270x00EF => array(0x95, "LATIN SMALL LETTER I WITH DIAERESIS"),
280x00F1 => array(0x96, "LATIN SMALL LETTER N WITH TILDE"),
290x00F3 => array(0x97, "LATIN SMALL LETTER O WITH ACUTE"),
300x00F2 => array(0x98, "LATIN SMALL LETTER O WITH GRAVE"),
310x00F4 => array(0x99, "LATIN SMALL LETTER O WITH CIRCUMFLEX"),
320x00F6 => array(0x9A, "LATIN SMALL LETTER O WITH DIAERESIS"),
330x00F5 => array(0x9B, "LATIN SMALL LETTER O WITH TILDE"),
340x00FA => array(0x9C, "LATIN SMALL LETTER U WITH ACUTE"),
350x00F9 => array(0x9D, "LATIN SMALL LETTER U WITH GRAVE"),
360x00FB => array(0x9E, "LATIN SMALL LETTER U WITH CIRCUMFLEX"),
370x00FC => array(0x9F, "LATIN SMALL LETTER U WITH DIAERESIS"),
380x2020 => array(0xA0, "DAGGER"),
390x00B0 => array(0xA1, "DEGREE SIGN"),
400x00A2 => array(0xA2, "CENT SIGN"),
410x00A3 => array(0xA3, "POUND SIGN"),
420x00A7 => array(0xA4, "SECTION SIGN"),
430x2022 => array(0xA5, "BULLET"),
440x00B6 => array(0xA6, "PILCROW SIGN"),
450x00DF => array(0xA7, "LATIN SMALL LETTER SHARP S"),
460x00AE => array(0xA8, "REGISTERED SIGN"),
470x00A9 => array(0xA9, "COPYRIGHT SIGN"),
480x2122 => array(0xAA, "TRADE MARK SIGN"),
490x00B4 => array(0xAB, "ACUTE ACCENT"),
500x00A8 => array(0xAC, "DIAERESIS"),
510x2260 => array(0xAD, "NOT EQUAL TO"),
520x00C6 => array(0xAE, "LATIN CAPITAL LETTER AE"),
530x00D8 => array(0xAF, "LATIN CAPITAL LETTER O WITH STROKE"),
540x221E => array(0xB0, "INFINITY"),
550x00B1 => array(0xB1, "PLUS-MINUS SIGN"),
560x2264 => array(0xB2, "LESS-THAN OR EQUAL TO"),
570x2265 => array(0xB3, "GREATER-THAN OR EQUAL TO"),
580x00A5 => array(0xB4, "YEN SIGN"),
590x00B5 => array(0xB5, "MICRO SIGN"),
600x2202 => array(0xB6, "PARTIAL DIFFERENTIAL"),
610x2211 => array(0xB7, "N-ARY SUMMATION"),
620x220F => array(0xB8, "N-ARY PRODUCT"),
630x03C0 => array(0xB9, "GREEK SMALL LETTER PI"),
640x222B => array(0xBA, "INTEGRAL"),
650x00AA => array(0xBB, "FEMININE ORDINAL INDICATOR"),
660x00BA => array(0xBC, "MASCULINE ORDINAL INDICATOR"),
670x03A9 => array(0xBD, "GREEK CAPITAL LETTER OMEGA"),
680x00E6 => array(0xBE, "LATIN SMALL LETTER AE"),
690x00F8 => array(0xBF, "LATIN SMALL LETTER O WITH STROKE"),
700x00BF => array(0xC0, "INVERTED QUESTION MARK"),
710x00A1 => array(0xC1, "INVERTED EXCLAMATION MARK"),
720x00AC => array(0xC2, "NOT SIGN"),
730x221A => array(0xC3, "SQUARE ROOT"),
740x0192 => array(0xC4, "LATIN SMALL LETTER F WITH HOOK"),
750x2248 => array(0xC5, "ALMOST EQUAL TO"),
760x2206 => array(0xC6, "INCREMENT"),
770x00AB => array(0xC7, "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK"),
780x00BB => array(0xC8, "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK"),
790x2026 => array(0xC9, "HORIZONTAL ELLIPSIS"),
800x00A0 => array(0xCA, "NO-BREAK SPACE"),
810x00C0 => array(0xCB, "LATIN CAPITAL LETTER A WITH GRAVE"),
820x00C3 => array(0xCC, "LATIN CAPITAL LETTER A WITH TILDE"),
830x00D5 => array(0xCD, "LATIN CAPITAL LETTER O WITH TILDE"),
840x0152 => array(0xCE, "LATIN CAPITAL LIGATURE OE"),
850x0153 => array(0xCF, "LATIN SMALL LIGATURE OE"),
860x2013 => array(0xD0, "EN DASH"),
870x2014 => array(0xD1, "EM DASH"),
880x201C => array(0xD2, "LEFT DOUBLE QUOTATION MARK"),
890x201D => array(0xD3, "RIGHT DOUBLE QUOTATION MARK"),
900x2018 => array(0xD4, "LEFT SINGLE QUOTATION MARK"),
910x2019 => array(0xD5, "RIGHT SINGLE QUOTATION MARK"),
920x00F7 => array(0xD6, "DIVISION SIGN"),
930x25CA => array(0xD7, "LOZENGE"),
940x00FF => array(0xD8, "LATIN SMALL LETTER Y WITH DIAERESIS"),
950x0178 => array(0xD9, "LATIN CAPITAL LETTER Y WITH DIAERESIS"),
960x2044 => array(0xDA, "FRACTION SLASH"),
970x20AC => array(0xDB, "EURO SIGN"),
980x2039 => array(0xDC, "SINGLE LEFT-POINTING ANGLE QUOTATION MARK"),
990x203A => array(0xDD, "SINGLE RIGHT-POINTING ANGLE QUOTATION MARK"),
1000xFB01 => array(0xDE, "LATIN SMALL LIGATURE FI"),
1010xFB02 => array(0xDF, "LATIN SMALL LIGATURE FL"),
1020x2021 => array(0xE0, "DOUBLE DAGGER"),
1030x00B7 => array(0xE1, "MIDDLE DOT"),
1040x201A => array(0xE2, "SINGLE LOW-9 QUOTATION MARK"),
1050x201E => array(0xE3, "DOUBLE LOW-9 QUOTATION MARK"),
1060x2030 => array(0xE4, "PER MILLE SIGN"),
1070x00C2 => array(0xE5, "LATIN CAPITAL LETTER A WITH CIRCUMFLEX"),
1080x00CA => array(0xE6, "LATIN CAPITAL LETTER E WITH CIRCUMFLEX"),
1090x00C1 => array(0xE7, "LATIN CAPITAL LETTER A WITH ACUTE"),
1100x00CB => array(0xE8, "LATIN CAPITAL LETTER E WITH DIAERESIS"),
1110x00C8 => array(0xE9, "LATIN CAPITAL LETTER E WITH GRAVE"),
1120x00CD => array(0xEA, "LATIN CAPITAL LETTER I WITH ACUTE"),
1130x00CE => array(0xEB, "LATIN CAPITAL LETTER I WITH CIRCUMFLEX"),
1140x00CF => array(0xEC, "LATIN CAPITAL LETTER I WITH DIAERESIS"),
1150x00CC => array(0xED, "LATIN CAPITAL LETTER I WITH GRAVE"),
1160x00D3 => array(0xEE, "LATIN CAPITAL LETTER O WITH ACUTE"),
1170x00D4 => array(0xEF, "LATIN CAPITAL LETTER O WITH CIRCUMFLEX"),
1180xF8FF => array(0xF0, "Apple logo"),
1190x00D2 => array(0xF1, "LATIN CAPITAL LETTER O WITH GRAVE"),
1200x00DA => array(0xF2, "LATIN CAPITAL LETTER U WITH ACUTE"),
1210x00DB => array(0xF3, "LATIN CAPITAL LETTER U WITH CIRCUMFLEX"),
1220x00D9 => array(0xF4, "LATIN CAPITAL LETTER U WITH GRAVE"),
1230x0131 => array(0xF5, "LATIN SMALL LETTER DOTLESS I"),
1240x02C6 => array(0xF6, "MODIFIER LETTER CIRCUMFLEX ACCENT"),
1250x02DC => array(0xF7, "SMALL TILDE"),
1260x00AF => array(0xF8, "MACRON"),
1270x02D8 => array(0xF9, "BREVE"),
1280x02D9 => array(0xFA, "DOT ABOVE"),
1290x02DA => array(0xFB, "RING ABOVE"),
1300x00B8 => array(0xFC, "CEDILLA"),
1310x02DD => array(0xFD, "DOUBLE ACUTE ACCENT"),
1320x02DB => array(0xFE, "OGONEK"),
1330x02C7 => array(0xFF, "CARON"),
134);
135
136$res = html_entity_decode("&#x7F;", ENT_QUOTES, 'MacRoman');
137echo "Special test for &#x7F; (shouldn't decode):\n";
138echo $res,"\n\n";
139
140foreach ($arr as $u => $v) {
141    $ent = sprintf("&#x%X;", $u);
142    $res = html_entity_decode($ent, ENT_QUOTES, 'MacRoman');
143    $d = unpack("H*", $res);
144    echo sprintf("%s: %s => %s\n", $v[1], $ent, $d[1]);
145
146    $ent = sprintf("&#x%X;", $v[0]);
147    $res = html_entity_decode($ent, ENT_QUOTES, 'MacRoman');
148    if ($res[0] != "&" || $res[1] != "#")
149        $res = unpack("H*", $res)[1];
150    echo sprintf("%s => %s\n\n", $ent, $res);
151}
152--EXPECT--
153Special test for &#x7F; (shouldn't decode):
154&#x7F;
155
156LATIN CAPITAL LETTER A WITH DIAERESIS: &#xC4; => 80
157&#x80; => &#x80;
158
159LATIN CAPITAL LETTER A WITH RING ABOVE: &#xC5; => 81
160&#x81; => &#x81;
161
162LATIN CAPITAL LETTER C WITH CEDILLA: &#xC7; => 82
163&#x82; => &#x82;
164
165LATIN CAPITAL LETTER E WITH ACUTE: &#xC9; => 83
166&#x83; => &#x83;
167
168LATIN CAPITAL LETTER N WITH TILDE: &#xD1; => 84
169&#x84; => &#x84;
170
171LATIN CAPITAL LETTER O WITH DIAERESIS: &#xD6; => 85
172&#x85; => &#x85;
173
174LATIN CAPITAL LETTER U WITH DIAERESIS: &#xDC; => 86
175&#x86; => &#x86;
176
177LATIN SMALL LETTER A WITH ACUTE: &#xE1; => 87
178&#x87; => &#x87;
179
180LATIN SMALL LETTER A WITH GRAVE: &#xE0; => 88
181&#x88; => &#x88;
182
183LATIN SMALL LETTER A WITH CIRCUMFLEX: &#xE2; => 89
184&#x89; => &#x89;
185
186LATIN SMALL LETTER A WITH DIAERESIS: &#xE4; => 8a
187&#x8A; => &#x8A;
188
189LATIN SMALL LETTER A WITH TILDE: &#xE3; => 8b
190&#x8B; => &#x8B;
191
192LATIN SMALL LETTER A WITH RING ABOVE: &#xE5; => 8c
193&#x8C; => &#x8C;
194
195LATIN SMALL LETTER C WITH CEDILLA: &#xE7; => 8d
196&#x8D; => &#x8D;
197
198LATIN SMALL LETTER E WITH ACUTE: &#xE9; => 8e
199&#x8E; => &#x8E;
200
201LATIN SMALL LETTER E WITH GRAVE: &#xE8; => 8f
202&#x8F; => &#x8F;
203
204LATIN SMALL LETTER E WITH CIRCUMFLEX: &#xEA; => 90
205&#x90; => &#x90;
206
207LATIN SMALL LETTER E WITH DIAERESIS: &#xEB; => 91
208&#x91; => &#x91;
209
210LATIN SMALL LETTER I WITH ACUTE: &#xED; => 92
211&#x92; => &#x92;
212
213LATIN SMALL LETTER I WITH GRAVE: &#xEC; => 93
214&#x93; => &#x93;
215
216LATIN SMALL LETTER I WITH CIRCUMFLEX: &#xEE; => 94
217&#x94; => &#x94;
218
219LATIN SMALL LETTER I WITH DIAERESIS: &#xEF; => 95
220&#x95; => &#x95;
221
222LATIN SMALL LETTER N WITH TILDE: &#xF1; => 96
223&#x96; => &#x96;
224
225LATIN SMALL LETTER O WITH ACUTE: &#xF3; => 97
226&#x97; => &#x97;
227
228LATIN SMALL LETTER O WITH GRAVE: &#xF2; => 98
229&#x98; => &#x98;
230
231LATIN SMALL LETTER O WITH CIRCUMFLEX: &#xF4; => 99
232&#x99; => &#x99;
233
234LATIN SMALL LETTER O WITH DIAERESIS: &#xF6; => 9a
235&#x9A; => &#x9A;
236
237LATIN SMALL LETTER O WITH TILDE: &#xF5; => 9b
238&#x9B; => &#x9B;
239
240LATIN SMALL LETTER U WITH ACUTE: &#xFA; => 9c
241&#x9C; => &#x9C;
242
243LATIN SMALL LETTER U WITH GRAVE: &#xF9; => 9d
244&#x9D; => &#x9D;
245
246LATIN SMALL LETTER U WITH CIRCUMFLEX: &#xFB; => 9e
247&#x9E; => &#x9E;
248
249LATIN SMALL LETTER U WITH DIAERESIS: &#xFC; => 9f
250&#x9F; => &#x9F;
251
252DAGGER: &#x2020; => a0
253&#xA0; => ca
254
255DEGREE SIGN: &#xB0; => a1
256&#xA1; => c1
257
258CENT SIGN: &#xA2; => a2
259&#xA2; => a2
260
261POUND SIGN: &#xA3; => a3
262&#xA3; => a3
263
264SECTION SIGN: &#xA7; => a4
265&#xA4; => &#xA4;
266
267BULLET: &#x2022; => a5
268&#xA5; => b4
269
270PILCROW SIGN: &#xB6; => a6
271&#xA6; => &#xA6;
272
273LATIN SMALL LETTER SHARP S: &#xDF; => a7
274&#xA7; => a4
275
276REGISTERED SIGN: &#xAE; => a8
277&#xA8; => ac
278
279COPYRIGHT SIGN: &#xA9; => a9
280&#xA9; => a9
281
282TRADE MARK SIGN: &#x2122; => aa
283&#xAA; => bb
284
285ACUTE ACCENT: &#xB4; => ab
286&#xAB; => c7
287
288DIAERESIS: &#xA8; => ac
289&#xAC; => c2
290
291NOT EQUAL TO: &#x2260; => ad
292&#xAD; => &#xAD;
293
294LATIN CAPITAL LETTER AE: &#xC6; => ae
295&#xAE; => a8
296
297LATIN CAPITAL LETTER O WITH STROKE: &#xD8; => af
298&#xAF; => f8
299
300INFINITY: &#x221E; => b0
301&#xB0; => a1
302
303PLUS-MINUS SIGN: &#xB1; => b1
304&#xB1; => b1
305
306LESS-THAN OR EQUAL TO: &#x2264; => b2
307&#xB2; => &#xB2;
308
309GREATER-THAN OR EQUAL TO: &#x2265; => b3
310&#xB3; => &#xB3;
311
312YEN SIGN: &#xA5; => b4
313&#xB4; => ab
314
315MICRO SIGN: &#xB5; => b5
316&#xB5; => b5
317
318PARTIAL DIFFERENTIAL: &#x2202; => b6
319&#xB6; => a6
320
321N-ARY SUMMATION: &#x2211; => b7
322&#xB7; => e1
323
324N-ARY PRODUCT: &#x220F; => b8
325&#xB8; => fc
326
327GREEK SMALL LETTER PI: &#x3C0; => b9
328&#xB9; => &#xB9;
329
330INTEGRAL: &#x222B; => ba
331&#xBA; => bc
332
333FEMININE ORDINAL INDICATOR: &#xAA; => bb
334&#xBB; => c8
335
336MASCULINE ORDINAL INDICATOR: &#xBA; => bc
337&#xBC; => &#xBC;
338
339GREEK CAPITAL LETTER OMEGA: &#x3A9; => bd
340&#xBD; => &#xBD;
341
342LATIN SMALL LETTER AE: &#xE6; => be
343&#xBE; => &#xBE;
344
345LATIN SMALL LETTER O WITH STROKE: &#xF8; => bf
346&#xBF; => c0
347
348INVERTED QUESTION MARK: &#xBF; => c0
349&#xC0; => cb
350
351INVERTED EXCLAMATION MARK: &#xA1; => c1
352&#xC1; => e7
353
354NOT SIGN: &#xAC; => c2
355&#xC2; => e5
356
357SQUARE ROOT: &#x221A; => c3
358&#xC3; => cc
359
360LATIN SMALL LETTER F WITH HOOK: &#x192; => c4
361&#xC4; => 80
362
363ALMOST EQUAL TO: &#x2248; => c5
364&#xC5; => 81
365
366INCREMENT: &#x2206; => c6
367&#xC6; => ae
368
369LEFT-POINTING DOUBLE ANGLE QUOTATION MARK: &#xAB; => c7
370&#xC7; => 82
371
372RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK: &#xBB; => c8
373&#xC8; => e9
374
375HORIZONTAL ELLIPSIS: &#x2026; => c9
376&#xC9; => 83
377
378NO-BREAK SPACE: &#xA0; => ca
379&#xCA; => e6
380
381LATIN CAPITAL LETTER A WITH GRAVE: &#xC0; => cb
382&#xCB; => e8
383
384LATIN CAPITAL LETTER A WITH TILDE: &#xC3; => cc
385&#xCC; => ed
386
387LATIN CAPITAL LETTER O WITH TILDE: &#xD5; => cd
388&#xCD; => ea
389
390LATIN CAPITAL LIGATURE OE: &#x152; => ce
391&#xCE; => eb
392
393LATIN SMALL LIGATURE OE: &#x153; => cf
394&#xCF; => ec
395
396EN DASH: &#x2013; => d0
397&#xD0; => &#xD0;
398
399EM DASH: &#x2014; => d1
400&#xD1; => 84
401
402LEFT DOUBLE QUOTATION MARK: &#x201C; => d2
403&#xD2; => f1
404
405RIGHT DOUBLE QUOTATION MARK: &#x201D; => d3
406&#xD3; => ee
407
408LEFT SINGLE QUOTATION MARK: &#x2018; => d4
409&#xD4; => ef
410
411RIGHT SINGLE QUOTATION MARK: &#x2019; => d5
412&#xD5; => cd
413
414DIVISION SIGN: &#xF7; => d6
415&#xD6; => 85
416
417LOZENGE: &#x25CA; => d7
418&#xD7; => &#xD7;
419
420LATIN SMALL LETTER Y WITH DIAERESIS: &#xFF; => d8
421&#xD8; => af
422
423LATIN CAPITAL LETTER Y WITH DIAERESIS: &#x178; => d9
424&#xD9; => f4
425
426FRACTION SLASH: &#x2044; => da
427&#xDA; => f2
428
429EURO SIGN: &#x20AC; => db
430&#xDB; => f3
431
432SINGLE LEFT-POINTING ANGLE QUOTATION MARK: &#x2039; => dc
433&#xDC; => 86
434
435SINGLE RIGHT-POINTING ANGLE QUOTATION MARK: &#x203A; => dd
436&#xDD; => &#xDD;
437
438LATIN SMALL LIGATURE FI: &#xFB01; => de
439&#xDE; => &#xDE;
440
441LATIN SMALL LIGATURE FL: &#xFB02; => df
442&#xDF; => a7
443
444DOUBLE DAGGER: &#x2021; => e0
445&#xE0; => 88
446
447MIDDLE DOT: &#xB7; => e1
448&#xE1; => 87
449
450SINGLE LOW-9 QUOTATION MARK: &#x201A; => e2
451&#xE2; => 89
452
453DOUBLE LOW-9 QUOTATION MARK: &#x201E; => e3
454&#xE3; => 8b
455
456PER MILLE SIGN: &#x2030; => e4
457&#xE4; => 8a
458
459LATIN CAPITAL LETTER A WITH CIRCUMFLEX: &#xC2; => e5
460&#xE5; => 8c
461
462LATIN CAPITAL LETTER E WITH CIRCUMFLEX: &#xCA; => e6
463&#xE6; => be
464
465LATIN CAPITAL LETTER A WITH ACUTE: &#xC1; => e7
466&#xE7; => 8d
467
468LATIN CAPITAL LETTER E WITH DIAERESIS: &#xCB; => e8
469&#xE8; => 8f
470
471LATIN CAPITAL LETTER E WITH GRAVE: &#xC8; => e9
472&#xE9; => 8e
473
474LATIN CAPITAL LETTER I WITH ACUTE: &#xCD; => ea
475&#xEA; => 90
476
477LATIN CAPITAL LETTER I WITH CIRCUMFLEX: &#xCE; => eb
478&#xEB; => 91
479
480LATIN CAPITAL LETTER I WITH DIAERESIS: &#xCF; => ec
481&#xEC; => 93
482
483LATIN CAPITAL LETTER I WITH GRAVE: &#xCC; => ed
484&#xED; => 92
485
486LATIN CAPITAL LETTER O WITH ACUTE: &#xD3; => ee
487&#xEE; => 94
488
489LATIN CAPITAL LETTER O WITH CIRCUMFLEX: &#xD4; => ef
490&#xEF; => 95
491
492Apple logo: &#xF8FF; => f0
493&#xF0; => &#xF0;
494
495LATIN CAPITAL LETTER O WITH GRAVE: &#xD2; => f1
496&#xF1; => 96
497
498LATIN CAPITAL LETTER U WITH ACUTE: &#xDA; => f2
499&#xF2; => 98
500
501LATIN CAPITAL LETTER U WITH CIRCUMFLEX: &#xDB; => f3
502&#xF3; => 97
503
504LATIN CAPITAL LETTER U WITH GRAVE: &#xD9; => f4
505&#xF4; => 99
506
507LATIN SMALL LETTER DOTLESS I: &#x131; => f5
508&#xF5; => 9b
509
510MODIFIER LETTER CIRCUMFLEX ACCENT: &#x2C6; => f6
511&#xF6; => 9a
512
513SMALL TILDE: &#x2DC; => f7
514&#xF7; => d6
515
516MACRON: &#xAF; => f8
517&#xF8; => bf
518
519BREVE: &#x2D8; => f9
520&#xF9; => 9d
521
522DOT ABOVE: &#x2D9; => fa
523&#xFA; => 9c
524
525RING ABOVE: &#x2DA; => fb
526&#xFB; => 9e
527
528CEDILLA: &#xB8; => fc
529&#xFC; => 9f
530
531DOUBLE ACUTE ACCENT: &#x2DD; => fd
532&#xFD; => &#xFD;
533
534OGONEK: &#x2DB; => fe
535&#xFE; => &#xFE;
536
537CARON: &#x2C7; => ff
538&#xFF; => d8
539
540
541