¿ªÔÆÌåÓý

Re: Automatic generation of transcoding tables for IND$FILE #rexx #VMCE


 

I use MECAFF IND$FILE on VMCE all the time.

IBM never release the source to their version of IND$FILE, that I? know of .

Rather than give detailed translate table info, can you tell me what problem you are solving?
Are some bytes mistranslated? Which 3270 emulator are you using??

Thanks/ Bob Bolch

On Sat, Sep 10, 2022, 3:44 PM Martin Scheffler <San-Lorenzo@...> wrote:
I have to be frank: is IND$FILE really being used for ASCII/EBCDIC transfer ? Please tell me if you are using IND$FILE sucessfully or if you have tried and given up because of the encoding trouble.
If there are lots of people waiting for IND$FILE to become useful, I have some good news. I will ruggedize and beautify my small utility and publish it here.
Second, I have verified how to implant a modern set of a2e/e2a tables into IND$DENC C F1 (MECAFF MCF394? 394? F/A? R/O). I have written a REXX macro for KEDIT to convert the HTML source of to C source code ready as drop-in replacement into IND$DENC C.

Does anyone know if IBM's IND$FILE works like the MECAFF IND$FILE ?

Output of processing the HTML SOURCE of :

/* internal mapping ASCII -> EBCDIC */
static unsigned char a2e_base[256] = {
??? 0x00, /* 00 (U+0000)?? <control-0000> */
??? 0x01, /* 01 (U+0001)?? <control-0001> */
??? 0x02, /* 02 (U+0002)?? <control-0002> */
??? 0x03, /* 03 (U+0003)?? <control-0003> */
??? 0x37, /* 37 (U+0004)?? <control-0004> */
??? 0x2D, /* 2D (U+0005)?? <control-0005> */
??? 0x2E, /* 2E (U+0006)?? <control-0006> */
??? 0x2F, /* 2F (U+0007)?? <control-0007> */
??? 0x16, /* 16 (U+0008)?? <control-0008> */
??? 0x05, /* 05 (U+0009)?? <control-0009> */
??? 0x25, /* 25 (U+000A)?? <control-000A> */
??? 0x0B, /* 0B (U+000B)?? <control-000B> */
??? 0x0C, /* 0C (U+000C)?? <control-000C> */
??? 0x0D, /* 0D (U+000D)?? <control-000D> */
??? 0x0E, /* 0E (U+000E)?? <control-000E> */
??? 0x0F, /* 0F (U+000F)?? <control-000F> */
??? 0x10, /* 10 (U+0010)?? <control-0010> */
??? 0x11, /* 11 (U+0011)?? <control-0011> */
??? 0x12, /* 12 (U+0012)?? <control-0012> */
??? 0x13, /* 13 (U+0013)?? <control-0013> */
??? 0x3C, /* 3C (U+0014)?? <control-0014> */
??? 0x3D, /* 3D (U+0015)?? <control-0015> */
??? 0x32, /* 32 (U+0016)?? <control-0016> */
??? 0x26, /* 26 (U+0017)?? <control-0017> */
??? 0x18, /* 18 (U+0018)?? <control-0018> */
??? 0x19, /* 19 (U+0019)?? <control-0019> */
??? 0x3F, /* 3F (U+001A)?? <control-001A> */
??? 0x27, /* 27 (U+001B)?? <control-001B> */
??? 0x1C, /* 1C (U+001C)?? <control-001C> */
??? 0x1D, /* 1D (U+001D)?? <control-001D> */
??? 0x1E, /* 1E (U+001E)?? <control-001E> */
??? 0x1F, /* 1F (U+001F)?? <control-001F> */
??? 0x40, /* 40 (U+0020)?? SPACE */
??? 0x5A, /* 5A (U+0021) ! EXCLAMATION MARK */
??? 0x7F, /* 7F (U+0022) " QUOTATION MARK */
??? 0x7B, /* 7B (U+0023) # NUMBER SIGN */
??? 0x5B, /* 5B (U+0024) $ DOLLAR SIGN */
??? 0x6C, /* 6C (U+0025) % PERCENT SIGN */
??? 0x50, /* 50 (U+0026) & AMPERSAND */
??? 0x7D, /* 7D (U+0027) ' APOSTROPHE */
??? 0x4D, /* 4D (U+0028) ( LEFT PARENTHESIS */
??? 0x5D, /* 5D (U+0029) ) RIGHT PARENTHESIS */
??? 0x5C, /* 5C (U+002A) * ASTERISK */
??? 0x4E, /* 4E (U+002B) + PLUS SIGN */
??? 0x6B, /* 6B (U+002C) , COMMA */
??? 0x60, /* 60 (U+002D) - HYPHEN-MINUS */
??? 0x4B, /* 4B (U+002E) . FULL STOP */
??? 0x61, /* 61 (U+002F) / SOLIDUS */
??? 0xF0, /* F0 (U+0030) 0 DIGIT ZERO */
??? 0xF1, /* F1 (U+0031) 1 DIGIT ONE */
??? 0xF2, /* F2 (U+0032) 2 DIGIT TWO */
??? 0xF3, /* F3 (U+0033) 3 DIGIT THREE */
??? 0xF4, /* F4 (U+0034) 4 DIGIT FOUR */
??? 0xF5, /* F5 (U+0035) 5 DIGIT FIVE */
??? 0xF6, /* F6 (U+0036) 6 DIGIT SIX */
??? 0xF7, /* F7 (U+0037) 7 DIGIT SEVEN */
??? 0xF8, /* F8 (U+0038) 8 DIGIT EIGHT */
??? 0xF9, /* F9 (U+0039) 9 DIGIT NINE */
??? 0x7A, /* 7A (U+003A) : COLON */
??? 0x5E, /* 5E (U+003B) ; SEMICOLON */
??? 0x4C, /* 4C (U+003C) < LESS-THAN SIGN */
??? 0x7E, /* 7E (U+003D) = EQUALS SIGN */
??? 0x6E, /* 6E (U+003E) > GREATER-THAN SIGN */
??? 0x6F, /* 6F (U+003F) ? QUESTION MARK */
??? 0x7C, /* 7C (U+0040) @ COMMERCIAL AT */
??? 0xC1, /* C1 (U+0041) A LATIN CAPITAL LETTER A */
??? 0xC2, /* C2 (U+0042) B LATIN CAPITAL LETTER B */
??? 0xC3, /* C3 (U+0043) C LATIN CAPITAL LETTER C */
??? 0xC4, /* C4 (U+0044) D LATIN CAPITAL LETTER D */
??? 0xC5, /* C5 (U+0045) E LATIN CAPITAL LETTER E */
??? 0xC6, /* C6 (U+0046) F LATIN CAPITAL LETTER F */
??? 0xC7, /* C7 (U+0047) G LATIN CAPITAL LETTER G */
??? 0xC8, /* C8 (U+0048) H LATIN CAPITAL LETTER H */
??? 0xC9, /* C9 (U+0049) I LATIN CAPITAL LETTER I */
??? 0xD1, /* D1 (U+004A) J LATIN CAPITAL LETTER J */
??? 0xD2, /* D2 (U+004B) K LATIN CAPITAL LETTER K */
??? 0xD3, /* D3 (U+004C) L LATIN CAPITAL LETTER L */
??? 0xD4, /* D4 (U+004D) M LATIN CAPITAL LETTER M */
??? 0xD5, /* D5 (U+004E) N LATIN CAPITAL LETTER N */
??? 0xD6, /* D6 (U+004F) O LATIN CAPITAL LETTER O */
??? 0xD7, /* D7 (U+0050) P LATIN CAPITAL LETTER P */
??? 0xD8, /* D8 (U+0051) Q LATIN CAPITAL LETTER Q */
??? 0xD9, /* D9 (U+0052) R LATIN CAPITAL LETTER R */
??? 0xE2, /* E2 (U+0053) S LATIN CAPITAL LETTER S */
??? 0xE3, /* E3 (U+0054) T LATIN CAPITAL LETTER T */
??? 0xE4, /* E4 (U+0055) U LATIN CAPITAL LETTER U */
??? 0xE5, /* E5 (U+0056) V LATIN CAPITAL LETTER V */
??? 0xE6, /* E6 (U+0057) W LATIN CAPITAL LETTER W */
??? 0xE7, /* E7 (U+0058) X LATIN CAPITAL LETTER X */
??? 0xE8, /* E8 (U+0059) Y LATIN CAPITAL LETTER Y */
??? 0xE9, /* E9 (U+005A) Z LATIN CAPITAL LETTER Z */
??? 0xAD, /* AD (U+005B) [ LEFT SQUARE BRACKET */
??? 0xE0, /* E0 (U+005C) \ REVERSE SOLIDUS */
??? 0xBD, /* BD (U+005D) ] RIGHT SQUARE BRACKET */
??? 0x5F, /* 5F (U+005E) ^ CIRCUMFLEX ACCENT */
??? 0x6D, /* 6D (U+005F) _ LOW LINE */
??? 0x79, /* 79 (U+0060) ` GRAVE ACCENT */
??? 0x81, /* 81 (U+0061) a LATIN SMALL LETTER A */
??? 0x82, /* 82 (U+0062) b LATIN SMALL LETTER B */
??? 0x83, /* 83 (U+0063) c LATIN SMALL LETTER C */
??? 0x84, /* 84 (U+0064) d LATIN SMALL LETTER D */
??? 0x85, /* 85 (U+0065) e LATIN SMALL LETTER E */
??? 0x86, /* 86 (U+0066) f LATIN SMALL LETTER F */
??? 0x87, /* 87 (U+0067) g LATIN SMALL LETTER G */
??? 0x88, /* 88 (U+0068) h LATIN SMALL LETTER H */
??? 0x89, /* 89 (U+0069) i LATIN SMALL LETTER I */
??? 0x91, /* 91 (U+006A) j LATIN SMALL LETTER J */
??? 0x92, /* 92 (U+006B) k LATIN SMALL LETTER K */
??? 0x93, /* 93 (U+006C) l LATIN SMALL LETTER L */
??? 0x94, /* 94 (U+006D) m LATIN SMALL LETTER M */
??? 0x95, /* 95 (U+006E) n LATIN SMALL LETTER N */
??? 0x96, /* 96 (U+006F) o LATIN SMALL LETTER O */
??? 0x97, /* 97 (U+0070) p LATIN SMALL LETTER P */
??? 0x98, /* 98 (U+0071) q LATIN SMALL LETTER Q */
??? 0x99, /* 99 (U+0072) r LATIN SMALL LETTER R */
??? 0xA2, /* A2 (U+0073) s LATIN SMALL LETTER S */
??? 0xA3, /* A3 (U+0074) t LATIN SMALL LETTER T */
??? 0xA4, /* A4 (U+0075) u LATIN SMALL LETTER U */
??? 0xA5, /* A5 (U+0076) v LATIN SMALL LETTER V */
??? 0xA6, /* A6 (U+0077) w LATIN SMALL LETTER W */
??? 0xA7, /* A7 (U+0078) x LATIN SMALL LETTER X */
??? 0xA8, /* A8 (U+0079) y LATIN SMALL LETTER Y */
??? 0xA9, /* A9 (U+007A) z LATIN SMALL LETTER Z */
??? 0xC0, /* C0 (U+007B) { LEFT CURLY BRACKET */
??? 0x4F, /* 4F (U+007C) | VERTICAL LINE */
??? 0xD0, /* D0 (U+007D) } RIGHT CURLY BRACKET */
??? 0xA1, /* A1 (U+007E) ~ TILDE */
??? 0x07, /* 07 (U+007F)?? <control-007F> */
??? 0x20, /* 20 (U+0080)?? <control-0080> */
??? 0x21, /* 21 (U+0081)?? <control-0081> */
??? 0x22, /* 22 (U+0082)?? <control-0082> */
??? 0x23, /* 23 (U+0083)?? <control-0083> */
??? 0x24, /* 24 (U+0084)?? <control-0084> */
??? 0x15, /* 15 (U+0085)?? <control-0085> */
??? 0x06, /* 06 (U+0086)?? <control-0086> */
??? 0x17, /* 17 (U+0087)?? <control-0087> */
??? 0x28, /* 28 (U+0088)?? <control-0088> */
??? 0x29, /* 29 (U+0089)?? <control-0089> */
??? 0x2A, /* 2A (U+008A)?? <control-008A> */
??? 0x2B, /* 2B (U+008B)?? <control-008B> */
??? 0x2C, /* 2C (U+008C)?? <control-008C> */
??? 0x09, /* 09 (U+008D)?? <control-008D> */
??? 0x0A, /* 0A (U+008E)?? <control-008E> */
??? 0x1B, /* 1B (U+008F)?? <control-008F> */
??? 0x30, /* 30 (U+0090)?? <control-0090> */
??? 0x31, /* 31 (U+0091)?? <control-0091> */
??? 0x1A, /* 1A (U+0092)?? <control-0092> */
??? 0x33, /* 33 (U+0093)?? <control-0093> */
??? 0x34, /* 34 (U+0094)?? <control-0094> */
??? 0x35, /* 35 (U+0095)?? <control-0095> */
??? 0x36, /* 36 (U+0096)?? <control-0096> */
??? 0x08, /* 08 (U+0097)?? <control-0097> */
??? 0x38, /* 38 (U+0098)?? <control-0098> */
??? 0x39, /* 39 (U+0099)?? <control-0099> */
??? 0x3A, /* 3A (U+009A)?? <control-009A> */
??? 0x3B, /* 3B (U+009B)?? <control-009B> */
??? 0x04, /* 04 (U+009C)?? <control-009C> */
??? 0x14, /* 14 (U+009D)?? <control-009D> */
??? 0x3E, /* 3E (U+009E)?? <control-009E> */
??? 0xFF, /* FF (U+009F)?? <control-009F> */
??? 0x41, /* 41 (U+00A0) ? NO-BREAK SPACE */
??? 0xAA, /* AA (U+00A1) ? INVERTED EXCLAMATION MARK */
??? 0x4A, /* 4A (U+00A2) ? CENT SIGN */
??? 0xB1, /* B1 (U+00A3) ? POUND SIGN */
??? 0x9F, /* 9F (U+00A4) ¡è CURRENCY SIGN */
??? 0xB2, /* B2 (U+00A5) ? YEN SIGN */
??? 0x6A, /* 6A (U+00A6) ? BROKEN BAR */
??? 0xB5, /* B5 (U+00A7) ¡ì SECTION SIGN */
??? 0xBB, /* BB (U+00A8) ¡§ DIAERESIS */
??? 0xB4, /* B4 (U+00A9) ? COPYRIGHT SIGN */
??? 0x9A, /* 9A (U+00AA) ? FEMININE ORDINAL INDICATOR */
??? 0x8A, /* 8A (U+00AB) ? LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
??? 0xB0, /* B0 (U+00AC) ? NOT SIGN */
??? 0xCA, /* CA (U+00AD) ? SOFT HYPHEN */
??? 0xAF, /* AF (U+00AE) ? REGISTERED SIGN */
??? 0xBC, /* BC (U+00AF) ? MACRON */
??? 0x90, /* 90 (U+00B0) ¡ã DEGREE SIGN */
??? 0x8F, /* 8F (U+00B1) ¡À PLUS-MINUS SIGN */
??? 0xEA, /* EA (U+00B2) ? SUPERSCRIPT TWO */
??? 0xFA, /* FA (U+00B3) ? SUPERSCRIPT THREE */
??? 0xBE, /* BE (U+00B4) ? ACUTE ACCENT */
??? 0xA0, /* A0 (U+00B5) ? MICRO SIGN */
??? 0xB6, /* B6 (U+00B6) ? PILCROW SIGN */
??? 0xB3, /* B3 (U+00B7) ¡¤ MIDDLE DOT */
??? 0x9D, /* 9D (U+00B8) ? CEDILLA */
??? 0xDA, /* DA (U+00B9) ? SUPERSCRIPT ONE */
??? 0x9B, /* 9B (U+00BA) ? MASCULINE ORDINAL INDICATOR */
??? 0x8B, /* 8B (U+00BB) ? RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
??? 0xB7, /* B7 (U+00BC) ? VULGAR FRACTION ONE QUARTER */
??? 0xB8, /* B8 (U+00BD) ? VULGAR FRACTION ONE HALF */
??? 0xB9, /* B9 (U+00BE) ? VULGAR FRACTION THREE QUARTERS */
??? 0xAB, /* AB (U+00BF) ? INVERTED QUESTION MARK */
??? 0x64, /* 64 (U+00C0) ? LATIN CAPITAL LETTER A WITH GRAVE */
??? 0x65, /* 65 (U+00C1) ? LATIN CAPITAL LETTER A WITH ACUTE */
??? 0x62, /* 62 (U+00C2) ? LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
??? 0x66, /* 66 (U+00C3) ? LATIN CAPITAL LETTER A WITH TILDE */
??? 0x63, /* 63 (U+00C4) ? LATIN CAPITAL LETTER A WITH DIAERESIS */
??? 0x67, /* 67 (U+00C5) ? LATIN CAPITAL LETTER A WITH RING ABOVE */
??? 0x9E, /* 9E (U+00C6) ? LATIN CAPITAL LETTER AE */
??? 0x68, /* 68 (U+00C7) ? LATIN CAPITAL LETTER C WITH CEDILLA */
??? 0x74, /* 74 (U+00C8) ? LATIN CAPITAL LETTER E WITH GRAVE */
??? 0x71, /* 71 (U+00C9) ? LATIN CAPITAL LETTER E WITH ACUTE */
??? 0x72, /* 72 (U+00CA) ? LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
??? 0x73, /* 73 (U+00CB) ? LATIN CAPITAL LETTER E WITH DIAERESIS */
??? 0x78, /* 78 (U+00CC) ? LATIN CAPITAL LETTER I WITH GRAVE */
??? 0x75, /* 75 (U+00CD) ? LATIN CAPITAL LETTER I WITH ACUTE */
??? 0x76, /* 76 (U+00CE) ? LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
??? 0x77, /* 77 (U+00CF) ? LATIN CAPITAL LETTER I WITH DIAERESIS */
??? 0xAC, /* AC (U+00D0) ? LATIN CAPITAL LETTER ETH */
??? 0x69, /* 69 (U+00D1) ? LATIN CAPITAL LETTER N WITH TILDE */
??? 0xED, /* ED (U+00D2) ? LATIN CAPITAL LETTER O WITH GRAVE */
??? 0xEE, /* EE (U+00D3) ? LATIN CAPITAL LETTER O WITH ACUTE */
??? 0xEB, /* EB (U+00D4) ? LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
??? 0xEF, /* EF (U+00D5) ? LATIN CAPITAL LETTER O WITH TILDE */
??? 0xEC, /* EC (U+00D6) ? LATIN CAPITAL LETTER O WITH DIAERESIS */
??? 0xBF, /* BF (U+00D7) ¡Á MULTIPLICATION SIGN */
??? 0x80, /* 80 (U+00D8) ? LATIN CAPITAL LETTER O WITH STROKE */
??? 0xFD, /* FD (U+00D9) ? LATIN CAPITAL LETTER U WITH GRAVE */
??? 0xFE, /* FE (U+00DA) ? LATIN CAPITAL LETTER U WITH ACUTE */
??? 0xFB, /* FB (U+00DB) ? LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
??? 0xFC, /* FC (U+00DC) ? LATIN CAPITAL LETTER U WITH DIAERESIS */
??? 0xBA, /* BA (U+00DD) ? LATIN CAPITAL LETTER Y WITH ACUTE */
??? 0xAE, /* AE (U+00DE) ? LATIN CAPITAL LETTER THORN */
??? 0x59, /* 59 (U+00DF) ? LATIN SMALL LETTER SHARP S */
??? 0x44, /* 44 (U+00E0) ¨¤ LATIN SMALL LETTER A WITH GRAVE */
??? 0x45, /* 45 (U+00E1) ¨¢ LATIN SMALL LETTER A WITH ACUTE */
??? 0x42, /* 42 (U+00E2) ? LATIN SMALL LETTER A WITH CIRCUMFLEX */
??? 0x46, /* 46 (U+00E3) ? LATIN SMALL LETTER A WITH TILDE */
??? 0x43, /* 43 (U+00E4) ? LATIN SMALL LETTER A WITH DIAERESIS */
??? 0x47, /* 47 (U+00E5) ? LATIN SMALL LETTER A WITH RING ABOVE */
??? 0x9C, /* 9C (U+00E6) ? LATIN SMALL LETTER AE */
??? 0x48, /* 48 (U+00E7) ? LATIN SMALL LETTER C WITH CEDILLA */
??? 0x54, /* 54 (U+00E8) ¨¨ LATIN SMALL LETTER E WITH GRAVE */
??? 0x51, /* 51 (U+00E9) ¨¦ LATIN SMALL LETTER E WITH ACUTE */
??? 0x52, /* 52 (U+00EA) ¨º LATIN SMALL LETTER E WITH CIRCUMFLEX */
??? 0x53, /* 53 (U+00EB) ? LATIN SMALL LETTER E WITH DIAERESIS */
??? 0x58, /* 58 (U+00EC) ¨¬ LATIN SMALL LETTER I WITH GRAVE */
??? 0x55, /* 55 (U+00ED) ¨ª LATIN SMALL LETTER I WITH ACUTE */
??? 0x56, /* 56 (U+00EE) ? LATIN SMALL LETTER I WITH CIRCUMFLEX */
??? 0x57, /* 57 (U+00EF) ? LATIN SMALL LETTER I WITH DIAERESIS */
??? 0x8C, /* 8C (U+00F0) ? LATIN SMALL LETTER ETH */
??? 0x49, /* 49 (U+00F1) ? LATIN SMALL LETTER N WITH TILDE */
??? 0xCD, /* CD (U+00F2) ¨° LATIN SMALL LETTER O WITH GRAVE */
??? 0xCE, /* CE (U+00F3) ¨® LATIN SMALL LETTER O WITH ACUTE */
??? 0xCB, /* CB (U+00F4) ? LATIN SMALL LETTER O WITH CIRCUMFLEX */
??? 0xCF, /* CF (U+00F5) ? LATIN SMALL LETTER O WITH TILDE */
??? 0xCC, /* CC (U+00F6) ? LATIN SMALL LETTER O WITH DIAERESIS */
??? 0xE1, /* E1 (U+00F7) ¡Â DIVISION SIGN */
??? 0x70, /* 70 (U+00F8) ? LATIN SMALL LETTER O WITH STROKE */
??? 0xDD, /* DD (U+00F9) ¨´ LATIN SMALL LETTER U WITH GRAVE */
??? 0xDE, /* DE (U+00FA) ¨² LATIN SMALL LETTER U WITH ACUTE */
??? 0xDB, /* DB (U+00FB) ? LATIN SMALL LETTER U WITH CIRCUMFLEX */
??? 0xDC, /* DC (U+00FC) ¨¹ LATIN SMALL LETTER U WITH DIAERESIS */
??? 0x8D, /* 8D (U+00FD) ? LATIN SMALL LETTER Y WITH ACUTE */
??? 0x8E, /* 8E (U+00FE) ? LATIN SMALL LETTER THORN */
??? 0xDF? /* DF (U+00FF) ? LATIN SMALL LETTER Y WITH DIAERESIS */
};
/* internal mapping EBCDIC -> ASCII */
static unsigned char e2a_base[256] = {
??? 0x00, /* 00 (U+0000)?? <control-0000> */
??? 0x01, /* 01 (U+0001)?? <control-0001> */
??? 0x02, /* 02 (U+0002)?? <control-0002> */
??? 0x03, /* 03 (U+0003)?? <control-0003> */
??? 0x9C, /* 04 (U+009C)?? <control-009C> */
??? 0x09, /* 05 (U+0009)?? <control-0009> */
??? 0x86, /* 06 (U+0086)?? <control-0086> */
??? 0x7F, /* 07 (U+007F)?? <control-007F> */
??? 0x97, /* 08 (U+0097)?? <control-0097> */
??? 0x8D, /* 09 (U+008D)?? <control-008D> */
??? 0x8E, /* 0A (U+008E)?? <control-008E> */
??? 0x0B, /* 0B (U+000B)?? <control-000B> */
??? 0x0C, /* 0C (U+000C)?? <control-000C> */
??? 0x0D, /* 0D (U+000D)?? <control-000D> */
??? 0x0E, /* 0E (U+000E)?? <control-000E> */
??? 0x0F, /* 0F (U+000F)?? <control-000F> */
??? 0x10, /* 10 (U+0010)?? <control-0010> */
??? 0x11, /* 11 (U+0011)?? <control-0011> */
??? 0x12, /* 12 (U+0012)?? <control-0012> */
??? 0x13, /* 13 (U+0013)?? <control-0013> */
??? 0x9D, /* 14 (U+009D)?? <control-009D> */
??? 0x85, /* 15 (U+0085)?? <control-0085> */
??? 0x08, /* 16 (U+0008)?? <control-0008> */
??? 0x87, /* 17 (U+0087)?? <control-0087> */
??? 0x18, /* 18 (U+0018)?? <control-0018> */
??? 0x19, /* 19 (U+0019)?? <control-0019> */
??? 0x92, /* 1A (U+0092)?? <control-0092> */
??? 0x8F, /* 1B (U+008F)?? <control-008F> */
??? 0x1C, /* 1C (U+001C)?? <control-001C> */
??? 0x1D, /* 1D (U+001D)?? <control-001D> */
??? 0x1E, /* 1E (U+001E)?? <control-001E> */
??? 0x1F, /* 1F (U+001F)?? <control-001F> */
??? 0x80, /* 20 (U+0080)?? <control-0080> */
??? 0x81, /* 21 (U+0081)?? <control-0081> */
??? 0x82, /* 22 (U+0082)?? <control-0082> */
??? 0x83, /* 23 (U+0083)?? <control-0083> */
??? 0x84, /* 24 (U+0084)?? <control-0084> */
??? 0x0A, /* 25 (U+000A)?? <control-000A> */
??? 0x17, /* 26 (U+0017)?? <control-0017> */
??? 0x1B, /* 27 (U+001B)?? <control-001B> */
??? 0x88, /* 28 (U+0088)?? <control-0088> */
??? 0x89, /* 29 (U+0089)?? <control-0089> */
??? 0x8A, /* 2A (U+008A)?? <control-008A> */
??? 0x8B, /* 2B (U+008B)?? <control-008B> */
??? 0x8C, /* 2C (U+008C)?? <control-008C> */
??? 0x05, /* 2D (U+0005)?? <control-0005> */
??? 0x06, /* 2E (U+0006)?? <control-0006> */
??? 0x07, /* 2F (U+0007)?? <control-0007> */
??? 0x90, /* 30 (U+0090)?? <control-0090> */
??? 0x91, /* 31 (U+0091)?? <control-0091> */
??? 0x16, /* 32 (U+0016)?? <control-0016> */
??? 0x93, /* 33 (U+0093)?? <control-0093> */
??? 0x94, /* 34 (U+0094)?? <control-0094> */
??? 0x95, /* 35 (U+0095)?? <control-0095> */
??? 0x96, /* 36 (U+0096)?? <control-0096> */
??? 0x04, /* 37 (U+0004)?? <control-0004> */
??? 0x98, /* 38 (U+0098)?? <control-0098> */
??? 0x99, /* 39 (U+0099)?? <control-0099> */
??? 0x9A, /* 3A (U+009A)?? <control-009A> */
??? 0x9B, /* 3B (U+009B)?? <control-009B> */
??? 0x14, /* 3C (U+0014)?? <control-0014> */
??? 0x15, /* 3D (U+0015)?? <control-0015> */
??? 0x9E, /* 3E (U+009E)?? <control-009E> */
??? 0x1A, /* 3F (U+001A)?? <control-001A> */
??? 0x20, /* 40 (U+0020)?? SPACE */
??? 0xA0, /* 41 (U+00A0) ? NO-BREAK SPACE */
??? 0xE2, /* 42 (U+00E2) ? LATIN SMALL LETTER A WITH CIRCUMFLEX */
??? 0xE4, /* 43 (U+00E4) ? LATIN SMALL LETTER A WITH DIAERESIS */
??? 0xE0, /* 44 (U+00E0) ¨¤ LATIN SMALL LETTER A WITH GRAVE */
??? 0xE1, /* 45 (U+00E1) ¨¢ LATIN SMALL LETTER A WITH ACUTE */
??? 0xE3, /* 46 (U+00E3) ? LATIN SMALL LETTER A WITH TILDE */
??? 0xE5, /* 47 (U+00E5) ? LATIN SMALL LETTER A WITH RING ABOVE */
??? 0xE7, /* 48 (U+00E7) ? LATIN SMALL LETTER C WITH CEDILLA */
??? 0xF1, /* 49 (U+00F1) ? LATIN SMALL LETTER N WITH TILDE */
??? 0xA2, /* 4A (U+00A2) ? CENT SIGN */
??? 0x2E, /* 4B (U+002E) . FULL STOP */
??? 0x3C, /* 4C (U+003C) < LESS-THAN SIGN */
??? 0x28, /* 4D (U+0028) ( LEFT PARENTHESIS */
??? 0x2B, /* 4E (U+002B) + PLUS SIGN */
??? 0x7C, /* 4F (U+007C) | VERTICAL LINE */
??? 0x26, /* 50 (U+0026) & AMPERSAND */
??? 0xE9, /* 51 (U+00E9) ¨¦ LATIN SMALL LETTER E WITH ACUTE */
??? 0xEA, /* 52 (U+00EA) ¨º LATIN SMALL LETTER E WITH CIRCUMFLEX */
??? 0xEB, /* 53 (U+00EB) ? LATIN SMALL LETTER E WITH DIAERESIS */
??? 0xE8, /* 54 (U+00E8) ¨¨ LATIN SMALL LETTER E WITH GRAVE */
??? 0xED, /* 55 (U+00ED) ¨ª LATIN SMALL LETTER I WITH ACUTE */
??? 0xEE, /* 56 (U+00EE) ? LATIN SMALL LETTER I WITH CIRCUMFLEX */
??? 0xEF, /* 57 (U+00EF) ? LATIN SMALL LETTER I WITH DIAERESIS */
??? 0xEC, /* 58 (U+00EC) ¨¬ LATIN SMALL LETTER I WITH GRAVE */
??? 0xDF, /* 59 (U+00DF) ? LATIN SMALL LETTER SHARP S */
??? 0x21, /* 5A (U+0021) ! EXCLAMATION MARK */
??? 0x24, /* 5B (U+0024) $ DOLLAR SIGN */
??? 0x2A, /* 5C (U+002A) * ASTERISK */
??? 0x29, /* 5D (U+0029) ) RIGHT PARENTHESIS */
??? 0x3B, /* 5E (U+003B) ; SEMICOLON */
??? 0x5E, /* 5F (U+005E) ^ CIRCUMFLEX ACCENT */
??? 0x2D, /* 60 (U+002D) - HYPHEN-MINUS */
??? 0x2F, /* 61 (U+002F) / SOLIDUS */
??? 0xC2, /* 62 (U+00C2) ? LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
??? 0xC4, /* 63 (U+00C4) ? LATIN CAPITAL LETTER A WITH DIAERESIS */
??? 0xC0, /* 64 (U+00C0) ? LATIN CAPITAL LETTER A WITH GRAVE */
??? 0xC1, /* 65 (U+00C1) ? LATIN CAPITAL LETTER A WITH ACUTE */
??? 0xC3, /* 66 (U+00C3) ? LATIN CAPITAL LETTER A WITH TILDE */
??? 0xC5, /* 67 (U+00C5) ? LATIN CAPITAL LETTER A WITH RING ABOVE */
??? 0xC7, /* 68 (U+00C7) ? LATIN CAPITAL LETTER C WITH CEDILLA */
??? 0xD1, /* 69 (U+00D1) ? LATIN CAPITAL LETTER N WITH TILDE */
??? 0xA6, /* 6A (U+00A6) ? BROKEN BAR */
??? 0x2C, /* 6B (U+002C) , COMMA */
??? 0x25, /* 6C (U+0025) % PERCENT SIGN */
??? 0x5F, /* 6D (U+005F) _ LOW LINE */
??? 0x3E, /* 6E (U+003E) > GREATER-THAN SIGN */
??? 0x3F, /* 6F (U+003F) ? QUESTION MARK */
??? 0xF8, /* 70 (U+00F8) ? LATIN SMALL LETTER O WITH STROKE */
??? 0xC9, /* 71 (U+00C9) ? LATIN CAPITAL LETTER E WITH ACUTE */
??? 0xCA, /* 72 (U+00CA) ? LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
??? 0xCB, /* 73 (U+00CB) ? LATIN CAPITAL LETTER E WITH DIAERESIS */
??? 0xC8, /* 74 (U+00C8) ? LATIN CAPITAL LETTER E WITH GRAVE */
??? 0xCD, /* 75 (U+00CD) ? LATIN CAPITAL LETTER I WITH ACUTE */
??? 0xCE, /* 76 (U+00CE) ? LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
??? 0xCF, /* 77 (U+00CF) ? LATIN CAPITAL LETTER I WITH DIAERESIS */
??? 0xCC, /* 78 (U+00CC) ? LATIN CAPITAL LETTER I WITH GRAVE */
??? 0x60, /* 79 (U+0060) ` GRAVE ACCENT */
??? 0x3A, /* 7A (U+003A) : COLON */
??? 0x23, /* 7B (U+0023) # NUMBER SIGN */
??? 0x40, /* 7C (U+0040) @ COMMERCIAL AT */
??? 0x27, /* 7D (U+0027) ' APOSTROPHE */
??? 0x3D, /* 7E (U+003D) = EQUALS SIGN */
??? 0x22, /* 7F (U+0022) " QUOTATION MARK */
??? 0xD8, /* 80 (U+00D8) ? LATIN CAPITAL LETTER O WITH STROKE */
??? 0x61, /* 81 (U+0061) a LATIN SMALL LETTER A */
??? 0x62, /* 82 (U+0062) b LATIN SMALL LETTER B */
??? 0x63, /* 83 (U+0063) c LATIN SMALL LETTER C */
??? 0x64, /* 84 (U+0064) d LATIN SMALL LETTER D */
??? 0x65, /* 85 (U+0065) e LATIN SMALL LETTER E */
??? 0x66, /* 86 (U+0066) f LATIN SMALL LETTER F */
??? 0x67, /* 87 (U+0067) g LATIN SMALL LETTER G */
??? 0x68, /* 88 (U+0068) h LATIN SMALL LETTER H */
??? 0x69, /* 89 (U+0069) i LATIN SMALL LETTER I */
??? 0xAB, /* 8A (U+00AB) ? LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
??? 0xBB, /* 8B (U+00BB) ? RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
??? 0xF0, /* 8C (U+00F0) ? LATIN SMALL LETTER ETH */
??? 0xFD, /* 8D (U+00FD) ? LATIN SMALL LETTER Y WITH ACUTE */
??? 0xFE, /* 8E (U+00FE) ? LATIN SMALL LETTER THORN */
??? 0xB1, /* 8F (U+00B1) ¡À PLUS-MINUS SIGN */
??? 0xB0, /* 90 (U+00B0) ¡ã DEGREE SIGN */
??? 0x6A, /* 91 (U+006A) j LATIN SMALL LETTER J */
??? 0x6B, /* 92 (U+006B) k LATIN SMALL LETTER K */
??? 0x6C, /* 93 (U+006C) l LATIN SMALL LETTER L */
??? 0x6D, /* 94 (U+006D) m LATIN SMALL LETTER M */
??? 0x6E, /* 95 (U+006E) n LATIN SMALL LETTER N */
??? 0x6F, /* 96 (U+006F) o LATIN SMALL LETTER O */
??? 0x70, /* 97 (U+0070) p LATIN SMALL LETTER P */
??? 0x71, /* 98 (U+0071) q LATIN SMALL LETTER Q */
??? 0x72, /* 99 (U+0072) r LATIN SMALL LETTER R */
??? 0xAA, /* 9A (U+00AA) ? FEMININE ORDINAL INDICATOR */
??? 0xBA, /* 9B (U+00BA) ? MASCULINE ORDINAL INDICATOR */
??? 0xE6, /* 9C (U+00E6) ? LATIN SMALL LETTER AE */
??? 0xB8, /* 9D (U+00B8) ? CEDILLA */
??? 0xC6, /* 9E (U+00C6) ? LATIN CAPITAL LETTER AE */
??? 0xA4, /* 9F (U+00A4) ¡è CURRENCY SIGN */
??? 0xB5, /* A0 (U+00B5) ? MICRO SIGN */
??? 0x7E, /* A1 (U+007E) ~ TILDE */
??? 0x73, /* A2 (U+0073) s LATIN SMALL LETTER S */
??? 0x74, /* A3 (U+0074) t LATIN SMALL LETTER T */
??? 0x75, /* A4 (U+0075) u LATIN SMALL LETTER U */
??? 0x76, /* A5 (U+0076) v LATIN SMALL LETTER V */
??? 0x77, /* A6 (U+0077) w LATIN SMALL LETTER W */
??? 0x78, /* A7 (U+0078) x LATIN SMALL LETTER X */
??? 0x79, /* A8 (U+0079) y LATIN SMALL LETTER Y */
??? 0x7A, /* A9 (U+007A) z LATIN SMALL LETTER Z */
??? 0xA1, /* AA (U+00A1) ? INVERTED EXCLAMATION MARK */
??? 0xBF, /* AB (U+00BF) ? INVERTED QUESTION MARK */
??? 0xD0, /* AC (U+00D0) ? LATIN CAPITAL LETTER ETH */
??? 0x5B, /* AD (U+005B) [ LEFT SQUARE BRACKET */
??? 0xDE, /* AE (U+00DE) ? LATIN CAPITAL LETTER THORN */
??? 0xAE, /* AF (U+00AE) ? REGISTERED SIGN */
??? 0xAC, /* B0 (U+00AC) ? NOT SIGN */
??? 0xA3, /* B1 (U+00A3) ? POUND SIGN */
??? 0xA5, /* B2 (U+00A5) ? YEN SIGN */
??? 0xB7, /* B3 (U+00B7) ¡¤ MIDDLE DOT */
??? 0xA9, /* B4 (U+00A9) ? COPYRIGHT SIGN */
??? 0xA7, /* B5 (U+00A7) ¡ì SECTION SIGN */
??? 0xB6, /* B6 (U+00B6) ? PILCROW SIGN */
??? 0xBC, /* B7 (U+00BC) ? VULGAR FRACTION ONE QUARTER */
??? 0xBD, /* B8 (U+00BD) ? VULGAR FRACTION ONE HALF */
??? 0xBE, /* B9 (U+00BE) ? VULGAR FRACTION THREE QUARTERS */
??? 0xDD, /* BA (U+00DD) ? LATIN CAPITAL LETTER Y WITH ACUTE */
??? 0xA8, /* BB (U+00A8) ¡§ DIAERESIS */
??? 0xAF, /* BC (U+00AF) ? MACRON */
??? 0x5D, /* BD (U+005D) ] RIGHT SQUARE BRACKET */
??? 0xB4, /* BE (U+00B4) ? ACUTE ACCENT */
??? 0xD7, /* BF (U+00D7) ¡Á MULTIPLICATION SIGN */
??? 0x7B, /* C0 (U+007B) { LEFT CURLY BRACKET */
??? 0x41, /* C1 (U+0041) A LATIN CAPITAL LETTER A */
??? 0x42, /* C2 (U+0042) B LATIN CAPITAL LETTER B */
??? 0x43, /* C3 (U+0043) C LATIN CAPITAL LETTER C */
??? 0x44, /* C4 (U+0044) D LATIN CAPITAL LETTER D */
??? 0x45, /* C5 (U+0045) E LATIN CAPITAL LETTER E */
??? 0x46, /* C6 (U+0046) F LATIN CAPITAL LETTER F */
??? 0x47, /* C7 (U+0047) G LATIN CAPITAL LETTER G */
??? 0x48, /* C8 (U+0048) H LATIN CAPITAL LETTER H */
??? 0x49, /* C9 (U+0049) I LATIN CAPITAL LETTER I */
??? 0xAD, /* CA (U+00AD) ? SOFT HYPHEN */
??? 0xF4, /* CB (U+00F4) ? LATIN SMALL LETTER O WITH CIRCUMFLEX */
??? 0xF6, /* CC (U+00F6) ? LATIN SMALL LETTER O WITH DIAERESIS */
??? 0xF2, /* CD (U+00F2) ¨° LATIN SMALL LETTER O WITH GRAVE */
??? 0xF3, /* CE (U+00F3) ¨® LATIN SMALL LETTER O WITH ACUTE */
??? 0xF5, /* CF (U+00F5) ? LATIN SMALL LETTER O WITH TILDE */
??? 0x7D, /* D0 (U+007D) } RIGHT CURLY BRACKET */
??? 0x4A, /* D1 (U+004A) J LATIN CAPITAL LETTER J */
??? 0x4B, /* D2 (U+004B) K LATIN CAPITAL LETTER K */
??? 0x4C, /* D3 (U+004C) L LATIN CAPITAL LETTER L */
??? 0x4D, /* D4 (U+004D) M LATIN CAPITAL LETTER M */
??? 0x4E, /* D5 (U+004E) N LATIN CAPITAL LETTER N */
??? 0x4F, /* D6 (U+004F) O LATIN CAPITAL LETTER O */
??? 0x50, /* D7 (U+0050) P LATIN CAPITAL LETTER P */
??? 0x51, /* D8 (U+0051) Q LATIN CAPITAL LETTER Q */
??? 0x52, /* D9 (U+0052) R LATIN CAPITAL LETTER R */
??? 0xB9, /* DA (U+00B9) ? SUPERSCRIPT ONE */
??? 0xFB, /* DB (U+00FB) ? LATIN SMALL LETTER U WITH CIRCUMFLEX */
??? 0xFC, /* DC (U+00FC) ¨¹ LATIN SMALL LETTER U WITH DIAERESIS */
??? 0xF9, /* DD (U+00F9) ¨´ LATIN SMALL LETTER U WITH GRAVE */
??? 0xFA, /* DE (U+00FA) ¨² LATIN SMALL LETTER U WITH ACUTE */
??? 0xFF, /* DF (U+00FF) ? LATIN SMALL LETTER Y WITH DIAERESIS */
??? 0x5C, /* E0 (U+005C) \ REVERSE SOLIDUS */
??? 0xF7, /* E1 (U+00F7) ¡Â DIVISION SIGN */
??? 0x53, /* E2 (U+0053) S LATIN CAPITAL LETTER S */
??? 0x54, /* E3 (U+0054) T LATIN CAPITAL LETTER T */
??? 0x55, /* E4 (U+0055) U LATIN CAPITAL LETTER U */
??? 0x56, /* E5 (U+0056) V LATIN CAPITAL LETTER V */
??? 0x57, /* E6 (U+0057) W LATIN CAPITAL LETTER W */
??? 0x58, /* E7 (U+0058) X LATIN CAPITAL LETTER X */
??? 0x59, /* E8 (U+0059) Y LATIN CAPITAL LETTER Y */
??? 0x5A, /* E9 (U+005A) Z LATIN CAPITAL LETTER Z */
??? 0xB2, /* EA (U+00B2) ? SUPERSCRIPT TWO */
??? 0xD4, /* EB (U+00D4) ? LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
??? 0xD6, /* EC (U+00D6) ? LATIN CAPITAL LETTER O WITH DIAERESIS */
??? 0xD2, /* ED (U+00D2) ? LATIN CAPITAL LETTER O WITH GRAVE */
??? 0xD3, /* EE (U+00D3) ? LATIN CAPITAL LETTER O WITH ACUTE */
??? 0xD5, /* EF (U+00D5) ? LATIN CAPITAL LETTER O WITH TILDE */
??? 0x30, /* F0 (U+0030) 0 DIGIT ZERO */
??? 0x31, /* F1 (U+0031) 1 DIGIT ONE */
??? 0x32, /* F2 (U+0032) 2 DIGIT TWO */
??? 0x33, /* F3 (U+0033) 3 DIGIT THREE */
??? 0x34, /* F4 (U+0034) 4 DIGIT FOUR */
??? 0x35, /* F5 (U+0035) 5 DIGIT FIVE */
??? 0x36, /* F6 (U+0036) 6 DIGIT SIX */
??? 0x37, /* F7 (U+0037) 7 DIGIT SEVEN */
??? 0x38, /* F8 (U+0038) 8 DIGIT EIGHT */
??? 0x39, /* F9 (U+0039) 9 DIGIT NINE */
??? 0xB3, /* FA (U+00B3) ? SUPERSCRIPT THREE */
??? 0xDB, /* FB (U+00DB) ? LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
??? 0xDC, /* FC (U+00DC) ? LATIN CAPITAL LETTER U WITH DIAERESIS */
??? 0xD9, /* FD (U+00D9) ? LATIN CAPITAL LETTER U WITH GRAVE */
??? 0xDA, /* FE (U+00DA) ? LATIN CAPITAL LETTER U WITH ACUTE */
??? 0x9F? /* FF (U+009F)?? <control-009F> */
};
000 00 000 (U+0000)?? <control-0000>
001 01 001 (U+0001)?? <control-0001>
002 02 002 (U+0002)?? <control-0002>
003 03 003 (U+0003)?? <control-0003>
004 04 156 (U+009C)?? <control-009C>
005 05 009 (U+0009)?? <control-0009>
006 06 134 (U+0086)?? <control-0086>
007 07 127 (U+007F)?? <control-007F>
008 08 151 (U+0097)?? <control-0097>
009 09 141 (U+008D)?? <control-008D>
010 0A 142 (U+008E)?? <control-008E>
011 0B 011 (U+000B)?? <control-000B>
012 0C 012 (U+000C)?? <control-000C>
013 0D 013 (U+000D)?? <control-000D>
014 0E 014 (U+000E)?? <control-000E>
015 0F 015 (U+000F)?? <control-000F>
016 10 016 (U+0010)?? <control-0010>
017 11 017 (U+0011)?? <control-0011>
018 12 018 (U+0012)?? <control-0012>
019 13 019 (U+0013)?? <control-0013>
020 14 157 (U+009D)?? <control-009D>
021 15 133 (U+0085)?? <control-0085>
022 16 008 (U+0008)?? <control-0008>
023 17 135 (U+0087)?? <control-0087>
024 18 024 (U+0018)?? <control-0018>
025 19 025 (U+0019)?? <control-0019>
026 1A 146 (U+0092)?? <control-0092>
027 1B 143 (U+008F)?? <control-008F>
028 1C 028 (U+001C)?? <control-001C>
029 1D 029 (U+001D)?? <control-001D>
030 1E 030 (U+001E)?? <control-001E>
031 1F 031 (U+001F)?? <control-001F>
032 20 128 (U+0080)?? <control-0080>
033 21 129 (U+0081)?? <control-0081>
034 22 130 (U+0082)?? <control-0082>
035 23 131 (U+0083)?? <control-0083>
036 24 132 (U+0084)?? <control-0084>
037 25 010 (U+000A)?? <control-000A>
038 26 023 (U+0017)?? <control-0017>
039 27 027 (U+001B)?? <control-001B>
040 28 136 (U+0088)?? <control-0088>
041 29 137 (U+0089)?? <control-0089>
042 2A 138 (U+008A)?? <control-008A>
043 2B 139 (U+008B)?? <control-008B>
044 2C 140 (U+008C)?? <control-008C>
045 2D 005 (U+0005)?? <control-0005>
046 2E 006 (U+0006)?? <control-0006>
047 2F 007 (U+0007)?? <control-0007>
048 30 144 (U+0090)?? <control-0090>
049 31 145 (U+0091)?? <control-0091>
050 32 022 (U+0016)?? <control-0016>
051 33 147 (U+0093)?? <control-0093>
052 34 148 (U+0094)?? <control-0094>
053 35 149 (U+0095)?? <control-0095>
054 36 150 (U+0096)?? <control-0096>
055 37 004 (U+0004)?? <control-0004>
056 38 152 (U+0098)?? <control-0098>
057 39 153 (U+0099)?? <control-0099>
058 3A 154 (U+009A)?? <control-009A>
059 3B 155 (U+009B)?? <control-009B>
060 3C 020 (U+0014)?? <control-0014>
061 3D 021 (U+0015)?? <control-0015>
062 3E 158 (U+009E)?? <control-009E>
063 3F 026 (U+001A)?? <control-001A>
064 40 032 (U+0020)?? SPACE
065 41 160 (U+00A0) ? NO-BREAK SPACE
066 42 226 (U+00E2) ? LATIN SMALL LETTER A WITH CIRCUMFLEX
067 43 228 (U+00E4) ? LATIN SMALL LETTER A WITH DIAERESIS
068 44 224 (U+00E0) ¨¤ LATIN SMALL LETTER A WITH GRAVE
069 45 225 (U+00E1) ¨¢ LATIN SMALL LETTER A WITH ACUTE
070 46 227 (U+00E3) ? LATIN SMALL LETTER A WITH TILDE
071 47 229 (U+00E5) ? LATIN SMALL LETTER A WITH RING ABOVE
072 48 231 (U+00E7) ? LATIN SMALL LETTER C WITH CEDILLA
073 49 241 (U+00F1) ? LATIN SMALL LETTER N WITH TILDE
074 4A 162 (U+00A2) ? CENT SIGN
075 4B 046 (U+002E) . FULL STOP
076 4C 060 (U+003C) < LESS-THAN SIGN
077 4D 040 (U+0028) ( LEFT PARENTHESIS
078 4E 043 (U+002B) + PLUS SIGN
079 4F 124 (U+007C) | VERTICAL LINE
080 50 038 (U+0026) & AMPERSAND
081 51 233 (U+00E9) ¨¦ LATIN SMALL LETTER E WITH ACUTE
082 52 234 (U+00EA) ¨º LATIN SMALL LETTER E WITH CIRCUMFLEX
083 53 235 (U+00EB) ? LATIN SMALL LETTER E WITH DIAERESIS
084 54 232 (U+00E8) ¨¨ LATIN SMALL LETTER E WITH GRAVE
085 55 237 (U+00ED) ¨ª LATIN SMALL LETTER I WITH ACUTE
086 56 238 (U+00EE) ? LATIN SMALL LETTER I WITH CIRCUMFLEX
087 57 239 (U+00EF) ? LATIN SMALL LETTER I WITH DIAERESIS
088 58 236 (U+00EC) ¨¬ LATIN SMALL LETTER I WITH GRAVE
089 59 223 (U+00DF) ? LATIN SMALL LETTER SHARP S
090 5A 033 (U+0021) ! EXCLAMATION MARK
091 5B 036 (U+0024) $ DOLLAR SIGN
092 5C 042 (U+002A) * ASTERISK
093 5D 041 (U+0029) ) RIGHT PARENTHESIS
094 5E 059 (U+003B) ; SEMICOLON
095 5F 094 (U+005E) ^ CIRCUMFLEX ACCENT
096 60 045 (U+002D) - HYPHEN-MINUS
097 61 047 (U+002F) / SOLIDUS
098 62 194 (U+00C2) ? LATIN CAPITAL LETTER A WITH CIRCUMFLEX
099 63 196 (U+00C4) ? LATIN CAPITAL LETTER A WITH DIAERESIS
100 64 192 (U+00C0) ? LATIN CAPITAL LETTER A WITH GRAVE
101 65 193 (U+00C1) ? LATIN CAPITAL LETTER A WITH ACUTE
102 66 195 (U+00C3) ? LATIN CAPITAL LETTER A WITH TILDE
103 67 197 (U+00C5) ? LATIN CAPITAL LETTER A WITH RING ABOVE
104 68 199 (U+00C7) ? LATIN CAPITAL LETTER C WITH CEDILLA
105 69 209 (U+00D1) ? LATIN CAPITAL LETTER N WITH TILDE
106 6A 166 (U+00A6) ? BROKEN BAR
107 6B 044 (U+002C) , COMMA
108 6C 037 (U+0025) % PERCENT SIGN
109 6D 095 (U+005F) _ LOW LINE
110 6E 062 (U+003E) > GREATER-THAN SIGN
111 6F 063 (U+003F) ? QUESTION MARK
112 70 248 (U+00F8) ? LATIN SMALL LETTER O WITH STROKE
113 71 201 (U+00C9) ? LATIN CAPITAL LETTER E WITH ACUTE
114 72 202 (U+00CA) ? LATIN CAPITAL LETTER E WITH CIRCUMFLEX
115 73 203 (U+00CB) ? LATIN CAPITAL LETTER E WITH DIAERESIS
116 74 200 (U+00C8) ? LATIN CAPITAL LETTER E WITH GRAVE
117 75 205 (U+00CD) ? LATIN CAPITAL LETTER I WITH ACUTE
118 76 206 (U+00CE) ? LATIN CAPITAL LETTER I WITH CIRCUMFLEX
119 77 207 (U+00CF) ? LATIN CAPITAL LETTER I WITH DIAERESIS
120 78 204 (U+00CC) ? LATIN CAPITAL LETTER I WITH GRAVE
121 79 096 (U+0060) ` GRAVE ACCENT
122 7A 058 (U+003A) : COLON
123 7B 035 (U+0023) # NUMBER SIGN
124 7C 064 (U+0040) @ COMMERCIAL AT
125 7D 039 (U+0027) ' APOSTROPHE
126 7E 061 (U+003D) = EQUALS SIGN
127 7F 034 (U+0022) " QUOTATION MARK
128 80 216 (U+00D8) ? LATIN CAPITAL LETTER O WITH STROKE
129 81 097 (U+0061) a LATIN SMALL LETTER A
130 82 098 (U+0062) b LATIN SMALL LETTER B
131 83 099 (U+0063) c LATIN SMALL LETTER C
132 84 100 (U+0064) d LATIN SMALL LETTER D
133 85 101 (U+0065) e LATIN SMALL LETTER E
134 86 102 (U+0066) f LATIN SMALL LETTER F
135 87 103 (U+0067) g LATIN SMALL LETTER G
136 88 104 (U+0068) h LATIN SMALL LETTER H
137 89 105 (U+0069) i LATIN SMALL LETTER I
138 8A 171 (U+00AB) ? LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
139 8B 187 (U+00BB) ? RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
140 8C 240 (U+00F0) ? LATIN SMALL LETTER ETH
141 8D 253 (U+00FD) ? LATIN SMALL LETTER Y WITH ACUTE
142 8E 254 (U+00FE) ? LATIN SMALL LETTER THORN
143 8F 177 (U+00B1) ¡À PLUS-MINUS SIGN
144 90 176 (U+00B0) ¡ã DEGREE SIGN
145 91 106 (U+006A) j LATIN SMALL LETTER J
146 92 107 (U+006B) k LATIN SMALL LETTER K
147 93 108 (U+006C) l LATIN SMALL LETTER L
148 94 109 (U+006D) m LATIN SMALL LETTER M
149 95 110 (U+006E) n LATIN SMALL LETTER N
150 96 111 (U+006F) o LATIN SMALL LETTER O
151 97 112 (U+0070) p LATIN SMALL LETTER P
152 98 113 (U+0071) q LATIN SMALL LETTER Q
153 99 114 (U+0072) r LATIN SMALL LETTER R
154 9A 170 (U+00AA) ? FEMININE ORDINAL INDICATOR
155 9B 186 (U+00BA) ? MASCULINE ORDINAL INDICATOR
156 9C 230 (U+00E6) ? LATIN SMALL LETTER AE
157 9D 184 (U+00B8) ? CEDILLA
158 9E 198 (U+00C6) ? LATIN CAPITAL LETTER AE
159 9F 164 (U+00A4) ¡è CURRENCY SIGN
160 A0 181 (U+00B5) ? MICRO SIGN
161 A1 126 (U+007E) ~ TILDE
162 A2 115 (U+0073) s LATIN SMALL LETTER S
163 A3 116 (U+0074) t LATIN SMALL LETTER T
164 A4 117 (U+0075) u LATIN SMALL LETTER U
165 A5 118 (U+0076) v LATIN SMALL LETTER V
166 A6 119 (U+0077) w LATIN SMALL LETTER W
167 A7 120 (U+0078) x LATIN SMALL LETTER X
168 A8 121 (U+0079) y LATIN SMALL LETTER Y
169 A9 122 (U+007A) z LATIN SMALL LETTER Z
170 AA 161 (U+00A1) ? INVERTED EXCLAMATION MARK
171 AB 191 (U+00BF) ? INVERTED QUESTION MARK
172 AC 208 (U+00D0) ? LATIN CAPITAL LETTER ETH
173 AD 091 (U+005B) [ LEFT SQUARE BRACKET
174 AE 222 (U+00DE) ? LATIN CAPITAL LETTER THORN
175 AF 174 (U+00AE) ? REGISTERED SIGN
176 B0 172 (U+00AC) ? NOT SIGN
177 B1 163 (U+00A3) ? POUND SIGN
178 B2 165 (U+00A5) ? YEN SIGN
179 B3 183 (U+00B7) ¡¤ MIDDLE DOT
180 B4 169 (U+00A9) ? COPYRIGHT SIGN
181 B5 167 (U+00A7) ¡ì SECTION SIGN
182 B6 182 (U+00B6) ? PILCROW SIGN
183 B7 188 (U+00BC) ? VULGAR FRACTION ONE QUARTER
184 B8 189 (U+00BD) ? VULGAR FRACTION ONE HALF
185 B9 190 (U+00BE) ? VULGAR FRACTION THREE QUARTERS
186 BA 221 (U+00DD) ? LATIN CAPITAL LETTER Y WITH ACUTE
187 BB 168 (U+00A8) ¡§ DIAERESIS
188 BC 175 (U+00AF) ? MACRON
189 BD 093 (U+005D) ] RIGHT SQUARE BRACKET
190 BE 180 (U+00B4) ? ACUTE ACCENT
191 BF 215 (U+00D7) ¡Á MULTIPLICATION SIGN
192 C0 123 (U+007B) { LEFT CURLY BRACKET
193 C1 065 (U+0041) A LATIN CAPITAL LETTER A
194 C2 066 (U+0042) B LATIN CAPITAL LETTER B
195 C3 067 (U+0043) C LATIN CAPITAL LETTER C
196 C4 068 (U+0044) D LATIN CAPITAL LETTER D
197 C5 069 (U+0045) E LATIN CAPITAL LETTER E
198 C6 070 (U+0046) F LATIN CAPITAL LETTER F
199 C7 071 (U+0047) G LATIN CAPITAL LETTER G
200 C8 072 (U+0048) H LATIN CAPITAL LETTER H
201 C9 073 (U+0049) I LATIN CAPITAL LETTER I
202 CA 173 (U+00AD) ? SOFT HYPHEN
203 CB 244 (U+00F4) ? LATIN SMALL LETTER O WITH CIRCUMFLEX
204 CC 246 (U+00F6) ? LATIN SMALL LETTER O WITH DIAERESIS
205 CD 242 (U+00F2) ¨° LATIN SMALL LETTER O WITH GRAVE
206 CE 243 (U+00F3) ¨® LATIN SMALL LETTER O WITH ACUTE
207 CF 245 (U+00F5) ? LATIN SMALL LETTER O WITH TILDE
208 D0 125 (U+007D) } RIGHT CURLY BRACKET
209 D1 074 (U+004A) J LATIN CAPITAL LETTER J
210 D2 075 (U+004B) K LATIN CAPITAL LETTER K
211 D3 076 (U+004C) L LATIN CAPITAL LETTER L
212 D4 077 (U+004D) M LATIN CAPITAL LETTER M
213 D5 078 (U+004E) N LATIN CAPITAL LETTER N
214 D6 079 (U+004F) O LATIN CAPITAL LETTER O
215 D7 080 (U+0050) P LATIN CAPITAL LETTER P
216 D8 081 (U+0051) Q LATIN CAPITAL LETTER Q
217 D9 082 (U+0052) R LATIN CAPITAL LETTER R
218 DA 185 (U+00B9) ? SUPERSCRIPT ONE
219 DB 251 (U+00FB) ? LATIN SMALL LETTER U WITH CIRCUMFLEX
220 DC 252 (U+00FC) ¨¹ LATIN SMALL LETTER U WITH DIAERESIS
221 DD 249 (U+00F9) ¨´ LATIN SMALL LETTER U WITH GRAVE
222 DE 250 (U+00FA) ¨² LATIN SMALL LETTER U WITH ACUTE
223 DF 255 (U+00FF) ? LATIN SMALL LETTER Y WITH DIAERESIS
224 E0 092 (U+005C) \ REVERSE SOLIDUS
225 E1 247 (U+00F7) ¡Â DIVISION SIGN
226 E2 083 (U+0053) S LATIN CAPITAL LETTER S
227 E3 084 (U+0054) T LATIN CAPITAL LETTER T
228 E4 085 (U+0055) U LATIN CAPITAL LETTER U
229 E5 086 (U+0056) V LATIN CAPITAL LETTER V
230 E6 087 (U+0057) W LATIN CAPITAL LETTER W
231 E7 088 (U+0058) X LATIN CAPITAL LETTER X
232 E8 089 (U+0059) Y LATIN CAPITAL LETTER Y
233 E9 090 (U+005A) Z LATIN CAPITAL LETTER Z
234 EA 178 (U+00B2) ? SUPERSCRIPT TWO
235 EB 212 (U+00D4) ? LATIN CAPITAL LETTER O WITH CIRCUMFLEX
236 EC 214 (U+00D6) ? LATIN CAPITAL LETTER O WITH DIAERESIS
237 ED 210 (U+00D2) ? LATIN CAPITAL LETTER O WITH GRAVE
238 EE 211 (U+00D3) ? LATIN CAPITAL LETTER O WITH ACUTE
239 EF 213 (U+00D5) ? LATIN CAPITAL LETTER O WITH TILDE
240 F0 048 (U+0030) 0 DIGIT ZERO
241 F1 049 (U+0031) 1 DIGIT ONE
242 F2 050 (U+0032) 2 DIGIT TWO
243 F3 051 (U+0033) 3 DIGIT THREE
244 F4 052 (U+0034) 4 DIGIT FOUR
245 F5 053 (U+0035) 5 DIGIT FIVE
246 F6 054 (U+0036) 6 DIGIT SIX
247 F7 055 (U+0037) 7 DIGIT SEVEN
248 F8 056 (U+0038) 8 DIGIT EIGHT
249 F9 057 (U+0039) 9 DIGIT NINE
250 FA 179 (U+00B3) ? SUPERSCRIPT THREE
251 FB 219 (U+00DB) ? LATIN CAPITAL LETTER U WITH CIRCUMFLEX
252 FC 220 (U+00DC) ? LATIN CAPITAL LETTER U WITH DIAERESIS
253 FD 217 (U+00D9) ? LATIN CAPITAL LETTER U WITH GRAVE
254 FE 218 (U+00DA) ? LATIN CAPITAL LETTER U WITH ACUTE
255 FF 159 (U+009F)?? <control-009F>





/* REXX */

l = '<span class="small">'
r = '</span>'

i = 0
out_queue. = ""
a2e. = ""
e2a. = ""
unicode_name. = ""

"top"


do forever
? "nomsg locate /"l"/"
? if rc <> 0 then leave

? parse value curline.3() with (l) unicode_x (r)
? unicode_d = x2d(unicode_x)

? e2a.i = unicode_d
? a2e.unicode_d = i
? parse value curline.3() with 'title="' unicode_name.unicode_d '"'

? i = i + 1
? out_queue.i = unicode_x
end

if i > 0 then do
? "xedit (UNTITLED"
? do j = 1 to i
??? e = j-1
??? a = e2a.e
??? if left(unicode_name.a,9) = "<control-" then c = " "; else c = d2c(a)
??? "input" right("000"||(j-1),3) right("00"d2x(j-1),2) right("000"x2d(out_queue.j),3) "(U+"out_queue.j")" c unicode_name.a
? end
? "top"
end
else exit 28

"input" "/* internal mapping ASCII -> EBCDIC */"
"input" "static unsigned char a2e_base[256] = {"
? do a = 0 to 255
??? e = a2e.a
??? if left(unicode_name.a,9) = "<control-" then c = " "; else c = d2c(a)
??? str = "0x"right("00"d2x(e),2)
??? if a < 255 then str = str","; else str = str" "
??? str = str "/*" right("00"d2x(e),2) "(U+00"right("00"d2x(a),2)")" c unicode_name.a "*/"
??? "input??? " str
? end
"input" "};"

"input" "/* internal mapping EBCDIC -> ASCII */"
"input" "static unsigned char e2a_base[256] = {"
? do e = 0 to 255
??? a = e2a.e
??? if left(unicode_name.a,9) = "<control-" then c = " "; else c = d2c(a)
??? str = "0x"right("00"d2x(a),2)
??? if e < 255 then str = str","; else str = str" "
??? str = str "/*" right("00"d2x(e),2) "(U+00"right("00"d2x(a),2)")" c unicode_name.a "*/"
??? "input??? " str
? end
"input" "};"
"top"
exit




Join [email protected] to automatically receive all group messages.