Add more codepage data; support disjoint mappings
authorH. Peter Anvin <hpa@zytor.com>
Wed, 25 Jun 2008 19:10:44 +0000 (12:10 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 25 Jun 2008 19:10:44 +0000 (12:10 -0700)
Add additional codepage data from the Unicode Consortium.
Additionally, add support for generating codepage files for the case
where the filesystem codepage and the display codepage do not match.
The standard Makefile doesn't actually do that, however.

43 files changed:
codepage/Makefile
codepage/UnicodeData
codepage/cp1250.txt [new file with mode: 0644]
codepage/cp1251.txt [new file with mode: 0644]
codepage/cp1252.txt [new file with mode: 0644]
codepage/cp1253.txt [new file with mode: 0644]
codepage/cp1254.txt [new file with mode: 0644]
codepage/cp1255.txt [new file with mode: 0644]
codepage/cp1256.txt [new file with mode: 0644]
codepage/cp1257.txt [new file with mode: 0644]
codepage/cp1258.txt [new file with mode: 0644]
codepage/cp437.txt
codepage/cp737.txt [new file with mode: 0644]
codepage/cp775.txt [new file with mode: 0644]
codepage/cp850.txt
codepage/cp852.txt [new file with mode: 0644]
codepage/cp855.txt [new file with mode: 0644]
codepage/cp857.txt [new file with mode: 0644]
codepage/cp860.txt [new file with mode: 0644]
codepage/cp861.txt [new file with mode: 0644]
codepage/cp862.txt [new file with mode: 0644]
codepage/cp863.txt [new file with mode: 0644]
codepage/cp864.txt [new file with mode: 0644]
codepage/cp865.txt
codepage/cp866.txt [new file with mode: 0644]
codepage/cp869.txt [new file with mode: 0644]
codepage/cp874.txt [new file with mode: 0644]
codepage/cptable.pl
codepage/iso8859-1.txt [new file with mode: 0644]
codepage/iso8859-10.txt [new file with mode: 0644]
codepage/iso8859-11.txt [new file with mode: 0644]
codepage/iso8859-13.txt [new file with mode: 0644]
codepage/iso8859-14.txt [new file with mode: 0644]
codepage/iso8859-15.txt [new file with mode: 0644]
codepage/iso8859-16.txt [new file with mode: 0644]
codepage/iso8859-2.txt [new file with mode: 0644]
codepage/iso8859-3.txt [new file with mode: 0644]
codepage/iso8859-4.txt [new file with mode: 0644]
codepage/iso8859-5.txt [new file with mode: 0644]
codepage/iso8859-6.txt [new file with mode: 0644]
codepage/iso8859-7.txt [new file with mode: 0644]
codepage/iso8859-8.txt [new file with mode: 0644]
codepage/iso8859-9.txt [new file with mode: 0644]

index 5495a6a..2a6fd12 100644 (file)
@@ -6,8 +6,10 @@ GENFILES       = $(patsubst %.txt,%.cp,$(CPSRC))
 
 all: $(GENFILES)
 
+# This generates codepage files where the display and filesystem
+# codepages are both the same.
 %.cp: %.txt cptable.pl UnicodeData
-       $(PERL) cptable.pl UnicodeData $< $@
+       $(PERL) cptable.pl UnicodeData $< $< $@
 
 tidy:
        rm -f *.cp *.bin
index 9b2209d..7a1916e 100644 (file)
 007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;;
 007E;TILDE;Sm;0;ON;;;;;N;;;;;
 007F;<control>;Cc;0;BN;;;;;N;DELETE;;;;
+0080;<control>;Cc;0;BN;;;;;N;;;;;
+0081;<control>;Cc;0;BN;;;;;N;;;;;
+0082;<control>;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;;
+0083;<control>;Cc;0;BN;;;;;N;NO BREAK HERE;;;;
+0084;<control>;Cc;0;BN;;;;;N;;;;;
+0085;<control>;Cc;0;B;;;;;N;NEXT LINE (NEL);;;;
+0086;<control>;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;;
+0087;<control>;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;;
+0088;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;;
+0089;<control>;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;;
+008A;<control>;Cc;0;BN;;;;;N;LINE TABULATION SET;;;;
+008B;<control>;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;;
+008C;<control>;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;;
+008D;<control>;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;;
+008E;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;;
+008F;<control>;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;;
+0090;<control>;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;;
+0091;<control>;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;;
+0092;<control>;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;;
+0093;<control>;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;;
+0094;<control>;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;;
+0095;<control>;Cc;0;BN;;;;;N;MESSAGE WAITING;;;;
+0096;<control>;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;;
+0097;<control>;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;;
+0098;<control>;Cc;0;BN;;;;;N;START OF STRING;;;;
+0099;<control>;Cc;0;BN;;;;;N;;;;;
+009A;<control>;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;;
+009B;<control>;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;;
+009C;<control>;Cc;0;BN;;;;;N;STRING TERMINATOR;;;;
+009D;<control>;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;;
+009E;<control>;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;;
+009F;<control>;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;;
 00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;;
 00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;;
 00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;;
 00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD
 00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE
 00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178
+0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101;
+0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100
+0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103;
+0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102
+0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105;
+0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104
+0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107;
+0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106
+0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109;
+0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108
+010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B;
+010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A
+010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D;
+010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C
+010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F;
+010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E
+0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111;
+0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110
+0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113;
+0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112
+0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117;
+0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116
+0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119;
+0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118
+011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B;
+011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A
+011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D;
+011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C
+011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F;
+011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E
+0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121;
+0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120
+0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123;
+0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122
+0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125;
+0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124
+0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127;
+0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126
+0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129;
+0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128
+012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B;
+012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A
+012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F;
+012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E
+0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069;
 0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049
+0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135;
+0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134
+0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137;
+0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136
+0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;;
+0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A;
+013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139
+013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C;
+013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B
+013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E;
+013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D
+0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142;
+0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141
+0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144;
+0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143
+0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146;
+0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145
+0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148;
+0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147
+014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B;
+014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A
+014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D;
+014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C
+0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151;
+0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150
+0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153;
+0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152
+0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155;
+0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154
+0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157;
+0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156
+0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159;
+0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158
+015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B;
+015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A
+015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D;
+015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C
+015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F;
+015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E
+0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161;
+0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160
+0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163;
+0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162
+0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165;
+0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164
+0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167;
+0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166
+0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169;
+0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168
+016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B;
+016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A
+016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D;
+016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C
+016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F;
+016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E
+0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171;
+0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170
+0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173;
+0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172
+0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175;
+0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174
+0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177;
+0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176
 0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF;
+0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A;
+017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179
+017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C;
+017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B
+017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E;
+017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D
 0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192;
 0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191
+01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1;
+01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0
+01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0;
+01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF
+0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219;
+0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218
+021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B;
+021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A
+02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;;
+02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;;
+02D8;BREVE;Sk;0;ON;<compat> 0020 0306;;;;N;SPACING BREVE;;;;
+02D9;DOT ABOVE;Sk;0;ON;<compat> 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;;
+02DB;OGONEK;Sk;0;ON;<compat> 0020 0328;;;;N;SPACING OGONEK;;;;
+02DC;SMALL TILDE;Sk;0;ON;<compat> 0020 0303;;;;N;SPACING TILDE;;;;
+02DD;DOUBLE ACUTE ACCENT;Sk;0;ON;<compat> 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;;
+0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;;
+0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia, Tonos;;;
+0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;;
+0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;;
+0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;;
+037A;GREEK YPOGEGRAMMENI;Lm;0;L;<compat> 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;;
+0384;GREEK TONOS;Sk;0;ON;<compat> 0020 0301;;;;N;GREEK SPACING TONOS;;;;
+0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;;
+0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC;
+0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD;
+0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE;
+038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF;
+038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC;
+038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD;
+038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE;
+0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;;
 0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1;
+0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2;
 0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3;
 0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4;
 0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5;
+0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6;
+0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7;
 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;
+0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9;
+039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA;
+039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB;
 039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC;
+039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD;
+039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE;
+039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF;
 03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0;
+03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1;
 03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3;
 03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4;
+03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5;
 03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6;
+03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7;
+03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8;
 03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9;
+03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA;
+03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB;
+03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386
+03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388
+03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389
+03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A
+03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;;
 03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391
+03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392
 03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393
 03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394
 03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395
+03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396
+03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397
 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398
+03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399
+03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A
+03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B
 03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C
+03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D
+03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E
+03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F
 03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0
+03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1
+03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
 03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3
 03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4
+03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5
 03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6
+03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7
+03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8
 03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9
+03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA
+03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB
+03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C
+03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E
+03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F
+0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451;
+0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452;
+0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453;
+0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454;
+0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455;
+0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456;
+0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457;
+0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458;
+0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459;
+040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A;
+040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B;
+040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C;
+040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E;
+040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F;
+0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430;
+0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431;
+0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432;
+0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433;
+0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434;
+0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435;
+0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436;
+0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437;
+0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438;
+0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439;
+041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A;
+041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B;
+041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C;
+041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D;
+041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E;
+041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F;
+0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440;
+0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441;
+0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442;
+0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443;
+0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444;
+0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445;
+0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446;
+0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447;
+0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448;
+0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449;
+042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A;
+042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B;
+042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C;
+042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D;
+042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E;
+042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F;
+0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410
+0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411
+0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412
+0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413
+0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414
+0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415
+0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416
+0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417
+0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418
+0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419
+043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A
+043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B
+043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C
+043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D
+043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E
+043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F
+0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420
+0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421
+0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422
+0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423
+0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424
+0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425
+0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426
+0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427
+0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428
+0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429
+044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A
+044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B
+044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C
+044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D
+044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E
+044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F
+0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401
+0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402
+0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403
+0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404
+0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405
+0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406
+0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407
+0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408
+0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409
+045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A
+045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B
+045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C
+045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E
+045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F
+0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491;
+0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490
+05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;;
+05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;;
+05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;;
+05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;;
+05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;;
+05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;;
+05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;;
+05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;;
+05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;;
+05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;;
+05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;;
+05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;;
+05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;;
+05BE;HEBREW PUNCTUATION MAQAF;Pd;0;R;;;;;N;;;;;
+05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;;
+05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;;
+05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;;
+05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;;
+05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;;
+05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;;
+05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;;
+05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;;
+05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;;
+05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;;
+05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;;
+05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;;
+05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;;
+05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;;
+05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;;
+05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;;
+05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;;
+05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;;
+05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;;
+05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;;
+05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;;
+05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;;
+05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;;
+05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;;
+05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;;
+05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;;
+05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;;
+05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;;
+05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;;
+05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;;
+05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;;
+05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;;
+05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;;
+05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;;
+060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;;
+061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;;
+061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;;
+0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;;
+0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;;
+0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;;
+0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;;
+0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;;
+0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;;
+0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;;
+0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;;
+0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;;
+062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;;
+062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;;
+062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;;
+062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;;
+062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;;
+062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;;
+0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;;
+0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;;
+0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;;
+0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;;
+0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;;
+0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;;
+0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;;
+0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;;
+0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;;
+0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;;
+063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;;
+0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;;
+0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;;
+0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;;
+0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;;
+0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;;
+0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;;
+0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;;
+0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;;
+0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;;
+0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;;
+064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;;
+064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;;
+064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;;
+064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;;
+064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;;
+064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;;
+0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;;
+0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;;
+0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;;
+0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;;
+0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;;
+0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;;
+0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;;
+0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;;
+0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;;
+0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;;
+0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;;
+0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;;
+0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;;
+066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;;
+0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;;
+067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;;
+0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;;
+0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;;
+0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;;
+0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;;
+06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;;
+06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;;
+06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;;
+06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;;
+06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;;
+06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;;
+0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;;
+0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;;
+0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;;
+0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;;
+0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;;
+0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;;
+0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;;
+0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;;
+0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;;
+0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;;
+0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;;
+0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;;
+0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;;
+0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;;
+0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;;
+0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;;
+0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;;
+0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;;
+0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;;
+0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;;
+0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;;
+0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;;
+0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;;
+0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;;
+0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;;
+0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;;
+0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;;
+0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;;
+0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;;
+0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;;
+0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;;
+0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;;
+0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;;
+0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;;
+0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;;
+0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;;
+0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;;
+0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;;
+0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;;
+0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;;
+0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;;
+0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;;
+0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;;
+0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;;
+0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;;
+0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;;
+0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;;
+0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;;
+0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;;
+0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;;
+0E33;THAI CHARACTER SARA AM;Lo;0;L;<compat> 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;;
+0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;;
+0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;;
+0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;;
+0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;;
+0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;;
+0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;;
+0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;;
+0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;;
+0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;;
+0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;;
+0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;;
+0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;;
+0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;;
+0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;;
+0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;;
+0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;;
+0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;;
+0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;;
+0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;;
+0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;;
+0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;;
+0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;;
+0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;;
+0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;;
+0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;;
+0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;;
+1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03;
+1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02
+1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B;
+1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A
+1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F;
+1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E
+1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41;
+1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40
+1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57;
+1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56
+1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61;
+1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60
+1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B;
+1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A
+1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81;
+1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80
+1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83;
+1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82
+1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85;
+1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84
+1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3;
+1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2
+200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;;
+200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;;
+200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;;
+200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;;
+2013;EN DASH;Pd;0;ON;;;;;N;;;;;
+2014;EM DASH;Pd;0;ON;;;;;N;;;;;
+2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;;
 2017;DOUBLE LOW LINE;Po;0;ON;<compat> 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;;
+2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;;
+2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;;
+201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;;
+201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;;
+201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;;
+201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;;
+2020;DAGGER;Po;0;ON;;;;;N;;;;;
+2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;;
+2022;BULLET;Po;0;ON;;;;;N;;;;;
+2026;HORIZONTAL ELLIPSIS;Po;0;ON;<compat> 002E 002E 002E;;;;N;;;;;
+2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;;
+2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;;
+203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;;
 207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L;<super> 006E;;;;N;;;;;
 20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;;
+20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;;
+20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;;
+20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;;
+20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;;
+2116;NUMERO SIGN;So;0;ON;<compat> 004E 006F;;;;N;NUMERO;;;;
+2122;TRADE MARK SIGN;So;0;ON;<super> 0054 004D;;;;N;TRADEMARK;;;;
 2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;;
 221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;;
 221E;INFINITY;Sm;0;ON;;;;;N;;;;;
 2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;;
 2593;DARK SHADE;So;0;ON;;;;;N;;;;;
 25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;;
+FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL;<medial> 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;;
+FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL;<isolated> 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;;
+FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;;
+FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;;
+FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;;
+FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;;
+FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;;
+FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL;<initial> 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;;
+FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;;
+FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL;<final> 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;;
+FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL;<isolated> 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;;
+FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL;<initial> 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;;
+FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL;<isolated> 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;;
+FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL;<isolated> 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;;
+FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL;<initial> 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;;
+FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL;<isolated> 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;;
+FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL;<initial> 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;;
+FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL;<isolated> 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;;
+FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL;<initial> 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;;
+FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL;<isolated> 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;;
+FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL;<initial> 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;;
+FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL;<isolated> 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;;
+FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL;<initial> 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;;
+FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL;<isolated> 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;;
+FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL;<isolated> 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;;
+FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL;<isolated> 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;;
+FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL;<isolated> 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;;
+FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL;<isolated> 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;;
+FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL;<initial> 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;;
+FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL;<isolated> 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;;
+FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL;<initial> 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;;
+FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL;<isolated> 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;;
+FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL;<initial> 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;;
+FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL;<isolated> 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;;
+FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL;<initial> 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;;
+FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL;<isolated> 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;;
+FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL;<isolated> 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;;
+FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL;<isolated> 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;;
+FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL;<final> 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;;
+FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL;<initial> 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;;
+FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL;<medial> 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;;
+FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL;<isolated> 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;;
+FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL;<final> 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;;
+FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL;<initial> 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;;
+FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL;<medial> 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;;
+FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL;<isolated> 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;;
+FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL;<initial> 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;;
+FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL;<isolated> 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;;
+FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL;<initial> 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;;
+FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL;<isolated> 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;;
+FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL;<initial> 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;;
+FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL;<isolated> 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;;
+FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL;<initial> 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;;
+FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL;<isolated> 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;;
+FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL;<initial> 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;;
+FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL;<isolated> 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;;
+FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL;<initial> 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;;
+FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL;<isolated> 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;;
+FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL;<initial> 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;;
+FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL;<medial> 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;;
+FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL;<isolated> 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;;
+FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL;<isolated> 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;;
+FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL;<final> 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;;
+FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL;<isolated> 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;;
+FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL;<final> 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;;
+FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL;<initial> 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;;
+FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;;
+FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL;<isolated> 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL;<final> 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;;
+FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL;<isolated> 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;;
+FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL;<final> 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;;
diff --git a/codepage/cp1250.txt b/codepage/cp1250.txt
new file mode 100644 (file)
index 0000000..6bfab93
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1250 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1250 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1250 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83           #UNDEFINED
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88           #UNDEFINED
+0x89   0x2030  #PER MILLE SIGN
+0x8A   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x015A  #LATIN CAPITAL LETTER S WITH ACUTE
+0x8D   0x0164  #LATIN CAPITAL LETTER T WITH CARON
+0x8E   0x017D  #LATIN CAPITAL LETTER Z WITH CARON
+0x8F   0x0179  #LATIN CAPITAL LETTER Z WITH ACUTE
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98           #UNDEFINED
+0x99   0x2122  #TRADE MARK SIGN
+0x9A   0x0161  #LATIN SMALL LETTER S WITH CARON
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x015B  #LATIN SMALL LETTER S WITH ACUTE
+0x9D   0x0165  #LATIN SMALL LETTER T WITH CARON
+0x9E   0x017E  #LATIN SMALL LETTER Z WITH CARON
+0x9F   0x017A  #LATIN SMALL LETTER Z WITH ACUTE
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x02C7  #CARON
+0xA2   0x02D8  #BREVE
+0xA3   0x0141  #LATIN CAPITAL LETTER L WITH STROKE
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x0104  #LATIN CAPITAL LETTER A WITH OGONEK
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x015E  #LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x017B  #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x02DB  #OGONEK
+0xB3   0x0142  #LATIN SMALL LETTER L WITH STROKE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x0105  #LATIN SMALL LETTER A WITH OGONEK
+0xBA   0x015F  #LATIN SMALL LETTER S WITH CEDILLA
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x013D  #LATIN CAPITAL LETTER L WITH CARON
+0xBD   0x02DD  #DOUBLE ACUTE ACCENT
+0xBE   0x013E  #LATIN SMALL LETTER L WITH CARON
+0xBF   0x017C  #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0   0x0154  #LATIN CAPITAL LETTER R WITH ACUTE
+0xC1   0x00C1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x0102  #LATIN CAPITAL LETTER A WITH BREVE
+0xC4   0x00C4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x0139  #LATIN CAPITAL LETTER L WITH ACUTE
+0xC6   0x0106  #LATIN CAPITAL LETTER C WITH ACUTE
+0xC7   0x00C7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x010C  #LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0118  #LATIN CAPITAL LETTER E WITH OGONEK
+0xCB   0x00CB  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x011A  #LATIN CAPITAL LETTER E WITH CARON
+0xCD   0x00CD  #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x010E  #LATIN CAPITAL LETTER D WITH CARON
+0xD0   0x0110  #LATIN CAPITAL LETTER D WITH STROKE
+0xD1   0x0143  #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2   0x0147  #LATIN CAPITAL LETTER N WITH CARON
+0xD3   0x00D3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x0150  #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6   0x00D6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x0158  #LATIN CAPITAL LETTER R WITH CARON
+0xD9   0x016E  #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xDA   0x00DA  #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x0170  #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xDC   0x00DC  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x0162  #LATIN CAPITAL LETTER T WITH CEDILLA
+0xDF   0x00DF  #LATIN SMALL LETTER SHARP S
+0xE0   0x0155  #LATIN SMALL LETTER R WITH ACUTE
+0xE1   0x00E1  #LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x0103  #LATIN SMALL LETTER A WITH BREVE
+0xE4   0x00E4  #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x013A  #LATIN SMALL LETTER L WITH ACUTE
+0xE6   0x0107  #LATIN SMALL LETTER C WITH ACUTE
+0xE7   0x00E7  #LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x010D  #LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x0119  #LATIN SMALL LETTER E WITH OGONEK
+0xEB   0x00EB  #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x011B  #LATIN SMALL LETTER E WITH CARON
+0xED   0x00ED  #LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x010F  #LATIN SMALL LETTER D WITH CARON
+0xF0   0x0111  #LATIN SMALL LETTER D WITH STROKE
+0xF1   0x0144  #LATIN SMALL LETTER N WITH ACUTE
+0xF2   0x0148  #LATIN SMALL LETTER N WITH CARON
+0xF3   0x00F3  #LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x0151  #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6   0x00F6  #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x0159  #LATIN SMALL LETTER R WITH CARON
+0xF9   0x016F  #LATIN SMALL LETTER U WITH RING ABOVE
+0xFA   0x00FA  #LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x0171  #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x0163  #LATIN SMALL LETTER T WITH CEDILLA
+0xFF   0x02D9  #DOT ABOVE
diff --git a/codepage/cp1251.txt b/codepage/cp1251.txt
new file mode 100644 (file)
index 0000000..4d9b355
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1251 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1251 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1251 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x0402  #CYRILLIC CAPITAL LETTER DJE
+0x81   0x0403  #CYRILLIC CAPITAL LETTER GJE
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0453  #CYRILLIC SMALL LETTER GJE
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x20AC  #EURO SIGN
+0x89   0x2030  #PER MILLE SIGN
+0x8A   0x0409  #CYRILLIC CAPITAL LETTER LJE
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x040A  #CYRILLIC CAPITAL LETTER NJE
+0x8D   0x040C  #CYRILLIC CAPITAL LETTER KJE
+0x8E   0x040B  #CYRILLIC CAPITAL LETTER TSHE
+0x8F   0x040F  #CYRILLIC CAPITAL LETTER DZHE
+0x90   0x0452  #CYRILLIC SMALL LETTER DJE
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98           #UNDEFINED
+0x99   0x2122  #TRADE MARK SIGN
+0x9A   0x0459  #CYRILLIC SMALL LETTER LJE
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x045A  #CYRILLIC SMALL LETTER NJE
+0x9D   0x045C  #CYRILLIC SMALL LETTER KJE
+0x9E   0x045B  #CYRILLIC SMALL LETTER TSHE
+0x9F   0x045F  #CYRILLIC SMALL LETTER DZHE
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x040E  #CYRILLIC CAPITAL LETTER SHORT U
+0xA2   0x045E  #CYRILLIC SMALL LETTER SHORT U
+0xA3   0x0408  #CYRILLIC CAPITAL LETTER JE
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x0490  #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x0401  #CYRILLIC CAPITAL LETTER IO
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x0404  #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x0407  #CYRILLIC CAPITAL LETTER YI
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x0406  #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB3   0x0456  #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB4   0x0491  #CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x0451  #CYRILLIC SMALL LETTER IO
+0xB9   0x2116  #NUMERO SIGN
+0xBA   0x0454  #CYRILLIC SMALL LETTER UKRAINIAN IE
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x0458  #CYRILLIC SMALL LETTER JE
+0xBD   0x0405  #CYRILLIC CAPITAL LETTER DZE
+0xBE   0x0455  #CYRILLIC SMALL LETTER DZE
+0xBF   0x0457  #CYRILLIC SMALL LETTER YI
+0xC0   0x0410  #CYRILLIC CAPITAL LETTER A
+0xC1   0x0411  #CYRILLIC CAPITAL LETTER BE
+0xC2   0x0412  #CYRILLIC CAPITAL LETTER VE
+0xC3   0x0413  #CYRILLIC CAPITAL LETTER GHE
+0xC4   0x0414  #CYRILLIC CAPITAL LETTER DE
+0xC5   0x0415  #CYRILLIC CAPITAL LETTER IE
+0xC6   0x0416  #CYRILLIC CAPITAL LETTER ZHE
+0xC7   0x0417  #CYRILLIC CAPITAL LETTER ZE
+0xC8   0x0418  #CYRILLIC CAPITAL LETTER I
+0xC9   0x0419  #CYRILLIC CAPITAL LETTER SHORT I
+0xCA   0x041A  #CYRILLIC CAPITAL LETTER KA
+0xCB   0x041B  #CYRILLIC CAPITAL LETTER EL
+0xCC   0x041C  #CYRILLIC CAPITAL LETTER EM
+0xCD   0x041D  #CYRILLIC CAPITAL LETTER EN
+0xCE   0x041E  #CYRILLIC CAPITAL LETTER O
+0xCF   0x041F  #CYRILLIC CAPITAL LETTER PE
+0xD0   0x0420  #CYRILLIC CAPITAL LETTER ER
+0xD1   0x0421  #CYRILLIC CAPITAL LETTER ES
+0xD2   0x0422  #CYRILLIC CAPITAL LETTER TE
+0xD3   0x0423  #CYRILLIC CAPITAL LETTER U
+0xD4   0x0424  #CYRILLIC CAPITAL LETTER EF
+0xD5   0x0425  #CYRILLIC CAPITAL LETTER HA
+0xD6   0x0426  #CYRILLIC CAPITAL LETTER TSE
+0xD7   0x0427  #CYRILLIC CAPITAL LETTER CHE
+0xD8   0x0428  #CYRILLIC CAPITAL LETTER SHA
+0xD9   0x0429  #CYRILLIC CAPITAL LETTER SHCHA
+0xDA   0x042A  #CYRILLIC CAPITAL LETTER HARD SIGN
+0xDB   0x042B  #CYRILLIC CAPITAL LETTER YERU
+0xDC   0x042C  #CYRILLIC CAPITAL LETTER SOFT SIGN
+0xDD   0x042D  #CYRILLIC CAPITAL LETTER E
+0xDE   0x042E  #CYRILLIC CAPITAL LETTER YU
+0xDF   0x042F  #CYRILLIC CAPITAL LETTER YA
+0xE0   0x0430  #CYRILLIC SMALL LETTER A
+0xE1   0x0431  #CYRILLIC SMALL LETTER BE
+0xE2   0x0432  #CYRILLIC SMALL LETTER VE
+0xE3   0x0433  #CYRILLIC SMALL LETTER GHE
+0xE4   0x0434  #CYRILLIC SMALL LETTER DE
+0xE5   0x0435  #CYRILLIC SMALL LETTER IE
+0xE6   0x0436  #CYRILLIC SMALL LETTER ZHE
+0xE7   0x0437  #CYRILLIC SMALL LETTER ZE
+0xE8   0x0438  #CYRILLIC SMALL LETTER I
+0xE9   0x0439  #CYRILLIC SMALL LETTER SHORT I
+0xEA   0x043A  #CYRILLIC SMALL LETTER KA
+0xEB   0x043B  #CYRILLIC SMALL LETTER EL
+0xEC   0x043C  #CYRILLIC SMALL LETTER EM
+0xED   0x043D  #CYRILLIC SMALL LETTER EN
+0xEE   0x043E  #CYRILLIC SMALL LETTER O
+0xEF   0x043F  #CYRILLIC SMALL LETTER PE
+0xF0   0x0440  #CYRILLIC SMALL LETTER ER
+0xF1   0x0441  #CYRILLIC SMALL LETTER ES
+0xF2   0x0442  #CYRILLIC SMALL LETTER TE
+0xF3   0x0443  #CYRILLIC SMALL LETTER U
+0xF4   0x0444  #CYRILLIC SMALL LETTER EF
+0xF5   0x0445  #CYRILLIC SMALL LETTER HA
+0xF6   0x0446  #CYRILLIC SMALL LETTER TSE
+0xF7   0x0447  #CYRILLIC SMALL LETTER CHE
+0xF8   0x0448  #CYRILLIC SMALL LETTER SHA
+0xF9   0x0449  #CYRILLIC SMALL LETTER SHCHA
+0xFA   0x044A  #CYRILLIC SMALL LETTER HARD SIGN
+0xFB   0x044B  #CYRILLIC SMALL LETTER YERU
+0xFC   0x044C  #CYRILLIC SMALL LETTER SOFT SIGN
+0xFD   0x044D  #CYRILLIC SMALL LETTER E
+0xFE   0x044E  #CYRILLIC SMALL LETTER YU
+0xFF   0x044F  #CYRILLIC SMALL LETTER YA
diff --git a/codepage/cp1252.txt b/codepage/cp1252.txt
new file mode 100644 (file)
index 0000000..8ff4b20
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1252 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1252 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1252 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x02C6  #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89   0x2030  #PER MILLE SIGN
+0x8A   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x0152  #LATIN CAPITAL LIGATURE OE
+0x8D           #UNDEFINED
+0x8E   0x017D  #LATIN CAPITAL LETTER Z WITH CARON
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98   0x02DC  #SMALL TILDE
+0x99   0x2122  #TRADE MARK SIGN
+0x9A   0x0161  #LATIN SMALL LETTER S WITH CARON
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x0153  #LATIN SMALL LIGATURE OE
+0x9D           #UNDEFINED
+0x9E   0x017E  #LATIN SMALL LETTER Z WITH CARON
+0x9F   0x0178  #LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x00A1  #INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x00AA  #FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00AF  #MACRON
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x00BA  #MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #INVERTED QUESTION MARK
+0xC0   0x00C0  #LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x00D0  #LATIN CAPITAL LETTER ETH
+0xD1   0x00D1  #LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x00D8  #LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x00DE  #LATIN CAPITAL LETTER THORN
+0xDF   0x00DF  #LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #LATIN SMALL LETTER AE
+0xE7   0x00E7  #LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x00F0  #LATIN SMALL LETTER ETH
+0xF1   0x00F1  #LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x00F8  #LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x00FE  #LATIN SMALL LETTER THORN
+0xFF   0x00FF  #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/codepage/cp1253.txt b/codepage/cp1253.txt
new file mode 100644 (file)
index 0000000..20a55b0
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1253 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1253 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1253 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88           #UNDEFINED
+0x89   0x2030  #PER MILLE SIGN
+0x8A           #UNDEFINED
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C           #UNDEFINED
+0x8D           #UNDEFINED
+0x8E           #UNDEFINED
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98           #UNDEFINED
+0x99   0x2122  #TRADE MARK SIGN
+0x9A           #UNDEFINED
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C           #UNDEFINED
+0x9D           #UNDEFINED
+0x9E           #UNDEFINED
+0x9F           #UNDEFINED
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x0385  #GREEK DIALYTIKA TONOS
+0xA2   0x0386  #GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA           #UNDEFINED
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x2015  #HORIZONTAL BAR
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x0384  #GREEK TONOS
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x0388  #GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xB9   0x0389  #GREEK CAPITAL LETTER ETA WITH TONOS
+0xBA   0x038A  #GREEK CAPITAL LETTER IOTA WITH TONOS
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x038C  #GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x038E  #GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xBF   0x038F  #GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xC0   0x0390  #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xC1   0x0391  #GREEK CAPITAL LETTER ALPHA
+0xC2   0x0392  #GREEK CAPITAL LETTER BETA
+0xC3   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xC4   0x0394  #GREEK CAPITAL LETTER DELTA
+0xC5   0x0395  #GREEK CAPITAL LETTER EPSILON
+0xC6   0x0396  #GREEK CAPITAL LETTER ZETA
+0xC7   0x0397  #GREEK CAPITAL LETTER ETA
+0xC8   0x0398  #GREEK CAPITAL LETTER THETA
+0xC9   0x0399  #GREEK CAPITAL LETTER IOTA
+0xCA   0x039A  #GREEK CAPITAL LETTER KAPPA
+0xCB   0x039B  #GREEK CAPITAL LETTER LAMDA
+0xCC   0x039C  #GREEK CAPITAL LETTER MU
+0xCD   0x039D  #GREEK CAPITAL LETTER NU
+0xCE   0x039E  #GREEK CAPITAL LETTER XI
+0xCF   0x039F  #GREEK CAPITAL LETTER OMICRON
+0xD0   0x03A0  #GREEK CAPITAL LETTER PI
+0xD1   0x03A1  #GREEK CAPITAL LETTER RHO
+0xD2           #UNDEFINED
+0xD3   0x03A3  #GREEK CAPITAL LETTER SIGMA
+0xD4   0x03A4  #GREEK CAPITAL LETTER TAU
+0xD5   0x03A5  #GREEK CAPITAL LETTER UPSILON
+0xD6   0x03A6  #GREEK CAPITAL LETTER PHI
+0xD7   0x03A7  #GREEK CAPITAL LETTER CHI
+0xD8   0x03A8  #GREEK CAPITAL LETTER PSI
+0xD9   0x03A9  #GREEK CAPITAL LETTER OMEGA
+0xDA   0x03AA  #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xDB   0x03AB  #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xDC   0x03AC  #GREEK SMALL LETTER ALPHA WITH TONOS
+0xDD   0x03AD  #GREEK SMALL LETTER EPSILON WITH TONOS
+0xDE   0x03AE  #GREEK SMALL LETTER ETA WITH TONOS
+0xDF   0x03AF  #GREEK SMALL LETTER IOTA WITH TONOS
+0xE0   0x03B0  #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xE1   0x03B1  #GREEK SMALL LETTER ALPHA
+0xE2   0x03B2  #GREEK SMALL LETTER BETA
+0xE3   0x03B3  #GREEK SMALL LETTER GAMMA
+0xE4   0x03B4  #GREEK SMALL LETTER DELTA
+0xE5   0x03B5  #GREEK SMALL LETTER EPSILON
+0xE6   0x03B6  #GREEK SMALL LETTER ZETA
+0xE7   0x03B7  #GREEK SMALL LETTER ETA
+0xE8   0x03B8  #GREEK SMALL LETTER THETA
+0xE9   0x03B9  #GREEK SMALL LETTER IOTA
+0xEA   0x03BA  #GREEK SMALL LETTER KAPPA
+0xEB   0x03BB  #GREEK SMALL LETTER LAMDA
+0xEC   0x03BC  #GREEK SMALL LETTER MU
+0xED   0x03BD  #GREEK SMALL LETTER NU
+0xEE   0x03BE  #GREEK SMALL LETTER XI
+0xEF   0x03BF  #GREEK SMALL LETTER OMICRON
+0xF0   0x03C0  #GREEK SMALL LETTER PI
+0xF1   0x03C1  #GREEK SMALL LETTER RHO
+0xF2   0x03C2  #GREEK SMALL LETTER FINAL SIGMA
+0xF3   0x03C3  #GREEK SMALL LETTER SIGMA
+0xF4   0x03C4  #GREEK SMALL LETTER TAU
+0xF5   0x03C5  #GREEK SMALL LETTER UPSILON
+0xF6   0x03C6  #GREEK SMALL LETTER PHI
+0xF7   0x03C7  #GREEK SMALL LETTER CHI
+0xF8   0x03C8  #GREEK SMALL LETTER PSI
+0xF9   0x03C9  #GREEK SMALL LETTER OMEGA
+0xFA   0x03CA  #GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xFB   0x03CB  #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xFC   0x03CC  #GREEK SMALL LETTER OMICRON WITH TONOS
+0xFD   0x03CD  #GREEK SMALL LETTER UPSILON WITH TONOS
+0xFE   0x03CE  #GREEK SMALL LETTER OMEGA WITH TONOS
+0xFF           #UNDEFINED
diff --git a/codepage/cp1254.txt b/codepage/cp1254.txt
new file mode 100644 (file)
index 0000000..987ed98
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1254 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1254 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1254 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x02C6  #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89   0x2030  #PER MILLE SIGN
+0x8A   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x0152  #LATIN CAPITAL LIGATURE OE
+0x8D           #UNDEFINED
+0x8E           #UNDEFINED
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98   0x02DC  #SMALL TILDE
+0x99   0x2122  #TRADE MARK SIGN
+0x9A   0x0161  #LATIN SMALL LETTER S WITH CARON
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x0153  #LATIN SMALL LIGATURE OE
+0x9D           #UNDEFINED
+0x9E           #UNDEFINED
+0x9F   0x0178  #LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x00A1  #INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x00AA  #FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00AF  #MACRON
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x00BA  #MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #INVERTED QUESTION MARK
+0xC0   0x00C0  #LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x011E  #LATIN CAPITAL LETTER G WITH BREVE
+0xD1   0x00D1  #LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x00D8  #LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x0130  #LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDE   0x015E  #LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF   0x00DF  #LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #LATIN SMALL LETTER AE
+0xE7   0x00E7  #LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x011F  #LATIN SMALL LETTER G WITH BREVE
+0xF1   0x00F1  #LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x00F8  #LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x0131  #LATIN SMALL LETTER DOTLESS I
+0xFE   0x015F  #LATIN SMALL LETTER S WITH CEDILLA
+0xFF   0x00FF  #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/codepage/cp1255.txt b/codepage/cp1255.txt
new file mode 100644 (file)
index 0000000..585f993
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1255 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          1/7/2000
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1255 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1255 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x02C6  #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89   0x2030  #PER MILLE SIGN
+0x8A           #UNDEFINED
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C           #UNDEFINED
+0x8D           #UNDEFINED
+0x8E           #UNDEFINED
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98   0x02DC  #SMALL TILDE
+0x99   0x2122  #TRADE MARK SIGN
+0x9A           #UNDEFINED
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C           #UNDEFINED
+0x9D           #UNDEFINED
+0x9E           #UNDEFINED
+0x9F           #UNDEFINED
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x00A1  #INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x20AA  #NEW SHEQEL SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x00D7  #MULTIPLICATION SIGN
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00AF  #MACRON
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x00F7  #DIVISION SIGN
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #INVERTED QUESTION MARK
+0xC0   0x05B0  #HEBREW POINT SHEVA
+0xC1   0x05B1  #HEBREW POINT HATAF SEGOL
+0xC2   0x05B2  #HEBREW POINT HATAF PATAH
+0xC3   0x05B3  #HEBREW POINT HATAF QAMATS
+0xC4   0x05B4  #HEBREW POINT HIRIQ
+0xC5   0x05B5  #HEBREW POINT TSERE
+0xC6   0x05B6  #HEBREW POINT SEGOL
+0xC7   0x05B7  #HEBREW POINT PATAH
+0xC8   0x05B8  #HEBREW POINT QAMATS
+0xC9   0x05B9  #HEBREW POINT HOLAM
+0xCA           #UNDEFINED
+0xCB   0x05BB  #HEBREW POINT QUBUTS
+0xCC   0x05BC  #HEBREW POINT DAGESH OR MAPIQ
+0xCD   0x05BD  #HEBREW POINT METEG
+0xCE   0x05BE  #HEBREW PUNCTUATION MAQAF
+0xCF   0x05BF  #HEBREW POINT RAFE
+0xD0   0x05C0  #HEBREW PUNCTUATION PASEQ
+0xD1   0x05C1  #HEBREW POINT SHIN DOT
+0xD2   0x05C2  #HEBREW POINT SIN DOT
+0xD3   0x05C3  #HEBREW PUNCTUATION SOF PASUQ
+0xD4   0x05F0  #HEBREW LIGATURE YIDDISH DOUBLE VAV
+0xD5   0x05F1  #HEBREW LIGATURE YIDDISH VAV YOD
+0xD6   0x05F2  #HEBREW LIGATURE YIDDISH DOUBLE YOD
+0xD7   0x05F3  #HEBREW PUNCTUATION GERESH
+0xD8   0x05F4  #HEBREW PUNCTUATION GERSHAYIM
+0xD9           #UNDEFINED
+0xDA           #UNDEFINED
+0xDB           #UNDEFINED
+0xDC           #UNDEFINED
+0xDD           #UNDEFINED
+0xDE           #UNDEFINED
+0xDF           #UNDEFINED
+0xE0   0x05D0  #HEBREW LETTER ALEF
+0xE1   0x05D1  #HEBREW LETTER BET
+0xE2   0x05D2  #HEBREW LETTER GIMEL
+0xE3   0x05D3  #HEBREW LETTER DALET
+0xE4   0x05D4  #HEBREW LETTER HE
+0xE5   0x05D5  #HEBREW LETTER VAV
+0xE6   0x05D6  #HEBREW LETTER ZAYIN
+0xE7   0x05D7  #HEBREW LETTER HET
+0xE8   0x05D8  #HEBREW LETTER TET
+0xE9   0x05D9  #HEBREW LETTER YOD
+0xEA   0x05DA  #HEBREW LETTER FINAL KAF
+0xEB   0x05DB  #HEBREW LETTER KAF
+0xEC   0x05DC  #HEBREW LETTER LAMED
+0xED   0x05DD  #HEBREW LETTER FINAL MEM
+0xEE   0x05DE  #HEBREW LETTER MEM
+0xEF   0x05DF  #HEBREW LETTER FINAL NUN
+0xF0   0x05E0  #HEBREW LETTER NUN
+0xF1   0x05E1  #HEBREW LETTER SAMEKH
+0xF2   0x05E2  #HEBREW LETTER AYIN
+0xF3   0x05E3  #HEBREW LETTER FINAL PE
+0xF4   0x05E4  #HEBREW LETTER PE
+0xF5   0x05E5  #HEBREW LETTER FINAL TSADI
+0xF6   0x05E6  #HEBREW LETTER TSADI
+0xF7   0x05E7  #HEBREW LETTER QOF
+0xF8   0x05E8  #HEBREW LETTER RESH
+0xF9   0x05E9  #HEBREW LETTER SHIN
+0xFA   0x05EA  #HEBREW LETTER TAV
+0xFB           #UNDEFINED
+0xFC           #UNDEFINED
+0xFD   0x200E  #LEFT-TO-RIGHT MARK
+0xFE   0x200F  #RIGHT-TO-LEFT MARK
+0xFF           #UNDEFINED
diff --git a/codepage/cp1256.txt b/codepage/cp1256.txt
new file mode 100644 (file)
index 0000000..244dcce
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1256 to Unicode table
+#    Unicode version: 2.1
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          01/5/99
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1256 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1256 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81   0x067E  #ARABIC LETTER PEH
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x02C6  #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89   0x2030  #PER MILLE SIGN
+0x8A   0x0679  #ARABIC LETTER TTEH
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x0152  #LATIN CAPITAL LIGATURE OE
+0x8D   0x0686  #ARABIC LETTER TCHEH
+0x8E   0x0698  #ARABIC LETTER JEH
+0x8F   0x0688  #ARABIC LETTER DDAL
+0x90   0x06AF  #ARABIC LETTER GAF
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98   0x06A9  #ARABIC LETTER KEHEH
+0x99   0x2122  #TRADE MARK SIGN
+0x9A   0x0691  #ARABIC LETTER RREH
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x0153  #LATIN SMALL LIGATURE OE
+0x9D   0x200C  #ZERO WIDTH NON-JOINER
+0x9E   0x200D  #ZERO WIDTH JOINER
+0x9F   0x06BA  #ARABIC LETTER NOON GHUNNA
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x060C  #ARABIC COMMA
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x06BE  #ARABIC LETTER HEH DOACHASHMEE
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00AF  #MACRON
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x061B  #ARABIC SEMICOLON
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x061F  #ARABIC QUESTION MARK
+0xC0   0x06C1  #ARABIC LETTER HEH GOAL
+0xC1   0x0621  #ARABIC LETTER HAMZA
+0xC2   0x0622  #ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3   0x0623  #ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4   0x0624  #ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5   0x0625  #ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6   0x0626  #ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7   0x0627  #ARABIC LETTER ALEF
+0xC8   0x0628  #ARABIC LETTER BEH
+0xC9   0x0629  #ARABIC LETTER TEH MARBUTA
+0xCA   0x062A  #ARABIC LETTER TEH
+0xCB   0x062B  #ARABIC LETTER THEH
+0xCC   0x062C  #ARABIC LETTER JEEM
+0xCD   0x062D  #ARABIC LETTER HAH
+0xCE   0x062E  #ARABIC LETTER KHAH
+0xCF   0x062F  #ARABIC LETTER DAL
+0xD0   0x0630  #ARABIC LETTER THAL
+0xD1   0x0631  #ARABIC LETTER REH
+0xD2   0x0632  #ARABIC LETTER ZAIN
+0xD3   0x0633  #ARABIC LETTER SEEN
+0xD4   0x0634  #ARABIC LETTER SHEEN
+0xD5   0x0635  #ARABIC LETTER SAD
+0xD6   0x0636  #ARABIC LETTER DAD
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x0637  #ARABIC LETTER TAH
+0xD9   0x0638  #ARABIC LETTER ZAH
+0xDA   0x0639  #ARABIC LETTER AIN
+0xDB   0x063A  #ARABIC LETTER GHAIN
+0xDC   0x0640  #ARABIC TATWEEL
+0xDD   0x0641  #ARABIC LETTER FEH
+0xDE   0x0642  #ARABIC LETTER QAF
+0xDF   0x0643  #ARABIC LETTER KAF
+0xE0   0x00E0  #LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x0644  #ARABIC LETTER LAM
+0xE2   0x00E2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x0645  #ARABIC LETTER MEEM
+0xE4   0x0646  #ARABIC LETTER NOON
+0xE5   0x0647  #ARABIC LETTER HEH
+0xE6   0x0648  #ARABIC LETTER WAW
+0xE7   0x00E7  #LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x0649  #ARABIC LETTER ALEF MAKSURA
+0xED   0x064A  #ARABIC LETTER YEH
+0xEE   0x00EE  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x064B  #ARABIC FATHATAN
+0xF1   0x064C  #ARABIC DAMMATAN
+0xF2   0x064D  #ARABIC KASRATAN
+0xF3   0x064E  #ARABIC FATHA
+0xF4   0x00F4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x064F  #ARABIC DAMMA
+0xF6   0x0650  #ARABIC KASRA
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x0651  #ARABIC SHADDA
+0xF9   0x00F9  #LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x0652  #ARABIC SUKUN
+0xFB   0x00FB  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x200E  #LEFT-TO-RIGHT MARK
+0xFE   0x200F  #RIGHT-TO-LEFT MARK
+0xFF   0x06D2  #ARABIC LETTER YEH BARREE
diff --git a/codepage/cp1257.txt b/codepage/cp1257.txt
new file mode 100644 (file)
index 0000000..0dc475e
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1257 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1257 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1257 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83           #UNDEFINED
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88           #UNDEFINED
+0x89   0x2030  #PER MILLE SIGN
+0x8A           #UNDEFINED
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C           #UNDEFINED
+0x8D   0x00A8  #DIAERESIS
+0x8E   0x02C7  #CARON
+0x8F   0x00B8  #CEDILLA
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98           #UNDEFINED
+0x99   0x2122  #TRADE MARK SIGN
+0x9A           #UNDEFINED
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C           #UNDEFINED
+0x9D   0x00AF  #MACRON
+0x9E   0x02DB  #OGONEK
+0x9F           #UNDEFINED
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1           #UNDEFINED
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5           #UNDEFINED
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00D8  #LATIN CAPITAL LETTER O WITH STROKE
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x0156  #LATIN CAPITAL LETTER R WITH CEDILLA
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00C6  #LATIN CAPITAL LETTER AE
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00F8  #LATIN SMALL LETTER O WITH STROKE
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x0157  #LATIN SMALL LETTER R WITH CEDILLA
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x00E6  #LATIN SMALL LETTER AE
+0xC0   0x0104  #LATIN CAPITAL LETTER A WITH OGONEK
+0xC1   0x012E  #LATIN CAPITAL LETTER I WITH OGONEK
+0xC2   0x0100  #LATIN CAPITAL LETTER A WITH MACRON
+0xC3   0x0106  #LATIN CAPITAL LETTER C WITH ACUTE
+0xC4   0x00C4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x0118  #LATIN CAPITAL LETTER E WITH OGONEK
+0xC7   0x0112  #LATIN CAPITAL LETTER E WITH MACRON
+0xC8   0x010C  #LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0179  #LATIN CAPITAL LETTER Z WITH ACUTE
+0xCB   0x0116  #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCC   0x0122  #LATIN CAPITAL LETTER G WITH CEDILLA
+0xCD   0x0136  #LATIN CAPITAL LETTER K WITH CEDILLA
+0xCE   0x012A  #LATIN CAPITAL LETTER I WITH MACRON
+0xCF   0x013B  #LATIN CAPITAL LETTER L WITH CEDILLA
+0xD0   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0xD1   0x0143  #LATIN CAPITAL LETTER N WITH ACUTE
+0xD2   0x0145  #LATIN CAPITAL LETTER N WITH CEDILLA
+0xD3   0x00D3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x014C  #LATIN CAPITAL LETTER O WITH MACRON
+0xD5   0x00D5  #LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x0172  #LATIN CAPITAL LETTER U WITH OGONEK
+0xD9   0x0141  #LATIN CAPITAL LETTER L WITH STROKE
+0xDA   0x015A  #LATIN CAPITAL LETTER S WITH ACUTE
+0xDB   0x016A  #LATIN CAPITAL LETTER U WITH MACRON
+0xDC   0x00DC  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x017B  #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xDE   0x017D  #LATIN CAPITAL LETTER Z WITH CARON
+0xDF   0x00DF  #LATIN SMALL LETTER SHARP S
+0xE0   0x0105  #LATIN SMALL LETTER A WITH OGONEK
+0xE1   0x012F  #LATIN SMALL LETTER I WITH OGONEK
+0xE2   0x0101  #LATIN SMALL LETTER A WITH MACRON
+0xE3   0x0107  #LATIN SMALL LETTER C WITH ACUTE
+0xE4   0x00E4  #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x0119  #LATIN SMALL LETTER E WITH OGONEK
+0xE7   0x0113  #LATIN SMALL LETTER E WITH MACRON
+0xE8   0x010D  #LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x017A  #LATIN SMALL LETTER Z WITH ACUTE
+0xEB   0x0117  #LATIN SMALL LETTER E WITH DOT ABOVE
+0xEC   0x0123  #LATIN SMALL LETTER G WITH CEDILLA
+0xED   0x0137  #LATIN SMALL LETTER K WITH CEDILLA
+0xEE   0x012B  #LATIN SMALL LETTER I WITH MACRON
+0xEF   0x013C  #LATIN SMALL LETTER L WITH CEDILLA
+0xF0   0x0161  #LATIN SMALL LETTER S WITH CARON
+0xF1   0x0144  #LATIN SMALL LETTER N WITH ACUTE
+0xF2   0x0146  #LATIN SMALL LETTER N WITH CEDILLA
+0xF3   0x00F3  #LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x014D  #LATIN SMALL LETTER O WITH MACRON
+0xF5   0x00F5  #LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x0173  #LATIN SMALL LETTER U WITH OGONEK
+0xF9   0x0142  #LATIN SMALL LETTER L WITH STROKE
+0xFA   0x015B  #LATIN SMALL LETTER S WITH ACUTE
+0xFB   0x016B  #LATIN SMALL LETTER U WITH MACRON
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x017C  #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE   0x017E  #LATIN SMALL LETTER Z WITH CARON
+0xFF   0x02D9  #DOT ABOVE
diff --git a/codepage/cp1258.txt b/codepage/cp1258.txt
new file mode 100644 (file)
index 0000000..f402b34
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp1258 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          04/15/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp1258 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp1258 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82   0x201A  #SINGLE LOW-9 QUOTATION MARK
+0x83   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0x84   0x201E  #DOUBLE LOW-9 QUOTATION MARK
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86   0x2020  #DAGGER
+0x87   0x2021  #DOUBLE DAGGER
+0x88   0x02C6  #MODIFIER LETTER CIRCUMFLEX ACCENT
+0x89   0x2030  #PER MILLE SIGN
+0x8A           #UNDEFINED
+0x8B   0x2039  #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0x8C   0x0152  #LATIN CAPITAL LIGATURE OE
+0x8D           #UNDEFINED
+0x8E           #UNDEFINED
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98   0x02DC  #SMALL TILDE
+0x99   0x2122  #TRADE MARK SIGN
+0x9A           #UNDEFINED
+0x9B   0x203A  #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0x9C   0x0153  #LATIN SMALL LIGATURE OE
+0x9D           #UNDEFINED
+0x9E           #UNDEFINED
+0x9F   0x0178  #LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x00A1  #INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #CENT SIGN
+0xA3   0x00A3  #POUND SIGN
+0xA4   0x00A4  #CURRENCY SIGN
+0xA5   0x00A5  #YEN SIGN
+0xA6   0x00A6  #BROKEN BAR
+0xA7   0x00A7  #SECTION SIGN
+0xA8   0x00A8  #DIAERESIS
+0xA9   0x00A9  #COPYRIGHT SIGN
+0xAA   0x00AA  #FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #NOT SIGN
+0xAD   0x00AD  #SOFT HYPHEN
+0xAE   0x00AE  #REGISTERED SIGN
+0xAF   0x00AF  #MACRON
+0xB0   0x00B0  #DEGREE SIGN
+0xB1   0x00B1  #PLUS-MINUS SIGN
+0xB2   0x00B2  #SUPERSCRIPT TWO
+0xB3   0x00B3  #SUPERSCRIPT THREE
+0xB4   0x00B4  #ACUTE ACCENT
+0xB5   0x00B5  #MICRO SIGN
+0xB6   0x00B6  #PILCROW SIGN
+0xB7   0x00B7  #MIDDLE DOT
+0xB8   0x00B8  #CEDILLA
+0xB9   0x00B9  #SUPERSCRIPT ONE
+0xBA   0x00BA  #MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #INVERTED QUESTION MARK
+0xC0   0x00C0  #LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x0102  #LATIN CAPITAL LETTER A WITH BREVE
+0xC4   0x00C4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x0300  #COMBINING GRAVE ACCENT
+0xCD   0x00CD  #LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x0110  #LATIN CAPITAL LETTER D WITH STROKE
+0xD1   0x00D1  #LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x0309  #COMBINING HOOK ABOVE
+0xD3   0x00D3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x01A0  #LATIN CAPITAL LETTER O WITH HORN
+0xD6   0x00D6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #MULTIPLICATION SIGN
+0xD8   0x00D8  #LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x01AF  #LATIN CAPITAL LETTER U WITH HORN
+0xDE   0x0303  #COMBINING TILDE
+0xDF   0x00DF  #LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x0103  #LATIN SMALL LETTER A WITH BREVE
+0xE4   0x00E4  #LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #LATIN SMALL LETTER AE
+0xE7   0x00E7  #LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x0301  #COMBINING ACUTE ACCENT
+0xED   0x00ED  #LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x0111  #LATIN SMALL LETTER D WITH STROKE
+0xF1   0x00F1  #LATIN SMALL LETTER N WITH TILDE
+0xF2   0x0323  #COMBINING DOT BELOW
+0xF3   0x00F3  #LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x01A1  #LATIN SMALL LETTER O WITH HORN
+0xF6   0x00F6  #LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #DIVISION SIGN
+0xF8   0x00F8  #LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x01B0  #LATIN SMALL LETTER U WITH HORN
+0xFE   0x20AB  #DONG SIGN
+0xFF   0x00FF  #LATIN SMALL LETTER Y WITH DIAERESIS
index aa5a53b..8f74def 100644 (file)
 0xfd   0x00b2  #SUPERSCRIPT TWO
 0xfe   0x25a0  #BLACK SQUARE
 0xff   0x00a0  #NO-BREAK SPACE
+\1a
\ No newline at end of file
diff --git a/codepage/cp737.txt b/codepage/cp737.txt
new file mode 100644 (file)
index 0000000..6b8b5cc
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp737_DOSGreek to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp737_DOSGreek code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp737_DOSGreek order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x0391  #GREEK CAPITAL LETTER ALPHA
+0x81   0x0392  #GREEK CAPITAL LETTER BETA
+0x82   0x0393  #GREEK CAPITAL LETTER GAMMA
+0x83   0x0394  #GREEK CAPITAL LETTER DELTA
+0x84   0x0395  #GREEK CAPITAL LETTER EPSILON
+0x85   0x0396  #GREEK CAPITAL LETTER ZETA
+0x86   0x0397  #GREEK CAPITAL LETTER ETA
+0x87   0x0398  #GREEK CAPITAL LETTER THETA
+0x88   0x0399  #GREEK CAPITAL LETTER IOTA
+0x89   0x039a  #GREEK CAPITAL LETTER KAPPA
+0x8a   0x039b  #GREEK CAPITAL LETTER LAMDA
+0x8b   0x039c  #GREEK CAPITAL LETTER MU
+0x8c   0x039d  #GREEK CAPITAL LETTER NU
+0x8d   0x039e  #GREEK CAPITAL LETTER XI
+0x8e   0x039f  #GREEK CAPITAL LETTER OMICRON
+0x8f   0x03a0  #GREEK CAPITAL LETTER PI
+0x90   0x03a1  #GREEK CAPITAL LETTER RHO
+0x91   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0x92   0x03a4  #GREEK CAPITAL LETTER TAU
+0x93   0x03a5  #GREEK CAPITAL LETTER UPSILON
+0x94   0x03a6  #GREEK CAPITAL LETTER PHI
+0x95   0x03a7  #GREEK CAPITAL LETTER CHI
+0x96   0x03a8  #GREEK CAPITAL LETTER PSI
+0x97   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0x98   0x03b1  #GREEK SMALL LETTER ALPHA
+0x99   0x03b2  #GREEK SMALL LETTER BETA
+0x9a   0x03b3  #GREEK SMALL LETTER GAMMA
+0x9b   0x03b4  #GREEK SMALL LETTER DELTA
+0x9c   0x03b5  #GREEK SMALL LETTER EPSILON
+0x9d   0x03b6  #GREEK SMALL LETTER ZETA
+0x9e   0x03b7  #GREEK SMALL LETTER ETA
+0x9f   0x03b8  #GREEK SMALL LETTER THETA
+0xa0   0x03b9  #GREEK SMALL LETTER IOTA
+0xa1   0x03ba  #GREEK SMALL LETTER KAPPA
+0xa2   0x03bb  #GREEK SMALL LETTER LAMDA
+0xa3   0x03bc  #GREEK SMALL LETTER MU
+0xa4   0x03bd  #GREEK SMALL LETTER NU
+0xa5   0x03be  #GREEK SMALL LETTER XI
+0xa6   0x03bf  #GREEK SMALL LETTER OMICRON
+0xa7   0x03c0  #GREEK SMALL LETTER PI
+0xa8   0x03c1  #GREEK SMALL LETTER RHO
+0xa9   0x03c3  #GREEK SMALL LETTER SIGMA
+0xaa   0x03c2  #GREEK SMALL LETTER FINAL SIGMA
+0xab   0x03c4  #GREEK SMALL LETTER TAU
+0xac   0x03c5  #GREEK SMALL LETTER UPSILON
+0xad   0x03c6  #GREEK SMALL LETTER PHI
+0xae   0x03c7  #GREEK SMALL LETTER CHI
+0xaf   0x03c8  #GREEK SMALL LETTER PSI
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03c9  #GREEK SMALL LETTER OMEGA
+0xe1   0x03ac  #GREEK SMALL LETTER ALPHA WITH TONOS
+0xe2   0x03ad  #GREEK SMALL LETTER EPSILON WITH TONOS
+0xe3   0x03ae  #GREEK SMALL LETTER ETA WITH TONOS
+0xe4   0x03ca  #GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xe5   0x03af  #GREEK SMALL LETTER IOTA WITH TONOS
+0xe6   0x03cc  #GREEK SMALL LETTER OMICRON WITH TONOS
+0xe7   0x03cd  #GREEK SMALL LETTER UPSILON WITH TONOS
+0xe8   0x03cb  #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xe9   0x03ce  #GREEK SMALL LETTER OMEGA WITH TONOS
+0xea   0x0386  #GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xeb   0x0388  #GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xec   0x0389  #GREEK CAPITAL LETTER ETA WITH TONOS
+0xed   0x038a  #GREEK CAPITAL LETTER IOTA WITH TONOS
+0xee   0x038c  #GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xef   0x038e  #GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xf0   0x038f  #GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x2265  #GREATER-THAN OR EQUAL TO
+0xf3   0x2264  #LESS-THAN OR EQUAL TO
+0xf4   0x03aa  #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xf5   0x03ab  #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x2248  #ALMOST EQUAL TO
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x207f  #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+\1a
\ No newline at end of file
diff --git a/codepage/cp775.txt b/codepage/cp775.txt
new file mode 100644 (file)
index 0000000..49f2cd3
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp775_DOSBaltRim to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp775_DOSBaltRim code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp775_DOSBaltRim order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x0106  #LATIN CAPITAL LETTER C WITH ACUTE
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x0101  #LATIN SMALL LETTER A WITH MACRON
+0x84   0x00e4  #LATIN SMALL LETTER A WITH DIAERESIS
+0x85   0x0123  #LATIN SMALL LETTER G WITH CEDILLA
+0x86   0x00e5  #LATIN SMALL LETTER A WITH RING ABOVE
+0x87   0x0107  #LATIN SMALL LETTER C WITH ACUTE
+0x88   0x0142  #LATIN SMALL LETTER L WITH STROKE
+0x89   0x0113  #LATIN SMALL LETTER E WITH MACRON
+0x8a   0x0156  #LATIN CAPITAL LETTER R WITH CEDILLA
+0x8b   0x0157  #LATIN SMALL LETTER R WITH CEDILLA
+0x8c   0x012b  #LATIN SMALL LETTER I WITH MACRON
+0x8d   0x0179  #LATIN CAPITAL LETTER Z WITH ACUTE
+0x8e   0x00c4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f   0x00c5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x00e6  #LATIN SMALL LIGATURE AE
+0x92   0x00c6  #LATIN CAPITAL LIGATURE AE
+0x93   0x014d  #LATIN SMALL LETTER O WITH MACRON
+0x94   0x00f6  #LATIN SMALL LETTER O WITH DIAERESIS
+0x95   0x0122  #LATIN CAPITAL LETTER G WITH CEDILLA
+0x96   0x00a2  #CENT SIGN
+0x97   0x015a  #LATIN CAPITAL LETTER S WITH ACUTE
+0x98   0x015b  #LATIN SMALL LETTER S WITH ACUTE
+0x99   0x00d6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x00f8  #LATIN SMALL LETTER O WITH STROKE
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00d8  #LATIN CAPITAL LETTER O WITH STROKE
+0x9e   0x00d7  #MULTIPLICATION SIGN
+0x9f   0x00a4  #CURRENCY SIGN
+0xa0   0x0100  #LATIN CAPITAL LETTER A WITH MACRON
+0xa1   0x012a  #LATIN CAPITAL LETTER I WITH MACRON
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x017b  #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xa4   0x017c  #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xa5   0x017a  #LATIN SMALL LETTER Z WITH ACUTE
+0xa6   0x201d  #RIGHT DOUBLE QUOTATION MARK
+0xa7   0x00a6  #BROKEN BAR
+0xa8   0x00a9  #COPYRIGHT SIGN
+0xa9   0x00ae  #REGISTERED SIGN
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x0141  #LATIN CAPITAL LETTER L WITH STROKE
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x0104  #LATIN CAPITAL LETTER A WITH OGONEK
+0xb6   0x010c  #LATIN CAPITAL LETTER C WITH CARON
+0xb7   0x0118  #LATIN CAPITAL LETTER E WITH OGONEK
+0xb8   0x0116  #LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x012e  #LATIN CAPITAL LETTER I WITH OGONEK
+0xbe   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x0172  #LATIN CAPITAL LETTER U WITH OGONEK
+0xc7   0x016a  #LATIN CAPITAL LETTER U WITH MACRON
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x017d  #LATIN CAPITAL LETTER Z WITH CARON
+0xd0   0x0105  #LATIN SMALL LETTER A WITH OGONEK
+0xd1   0x010d  #LATIN SMALL LETTER C WITH CARON
+0xd2   0x0119  #LATIN SMALL LETTER E WITH OGONEK
+0xd3   0x0117  #LATIN SMALL LETTER E WITH DOT ABOVE
+0xd4   0x012f  #LATIN SMALL LETTER I WITH OGONEK
+0xd5   0x0161  #LATIN SMALL LETTER S WITH CARON
+0xd6   0x0173  #LATIN SMALL LETTER U WITH OGONEK
+0xd7   0x016b  #LATIN SMALL LETTER U WITH MACRON
+0xd8   0x017e  #LATIN SMALL LETTER Z WITH CARON
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x00d3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S (GERMAN)
+0xe2   0x014c  #LATIN CAPITAL LETTER O WITH MACRON
+0xe3   0x0143  #LATIN CAPITAL LETTER N WITH ACUTE
+0xe4   0x00f5  #LATIN SMALL LETTER O WITH TILDE
+0xe5   0x00d5  #LATIN CAPITAL LETTER O WITH TILDE
+0xe6   0x00b5  #MICRO SIGN
+0xe7   0x0144  #LATIN SMALL LETTER N WITH ACUTE
+0xe8   0x0136  #LATIN CAPITAL LETTER K WITH CEDILLA
+0xe9   0x0137  #LATIN SMALL LETTER K WITH CEDILLA
+0xea   0x013b  #LATIN CAPITAL LETTER L WITH CEDILLA
+0xeb   0x013c  #LATIN SMALL LETTER L WITH CEDILLA
+0xec   0x0146  #LATIN SMALL LETTER N WITH CEDILLA
+0xed   0x0112  #LATIN CAPITAL LETTER E WITH MACRON
+0xee   0x0145  #LATIN CAPITAL LETTER N WITH CEDILLA
+0xef   0x2019  #RIGHT SINGLE QUOTATION MARK
+0xf0   0x00ad  #SOFT HYPHEN
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x201c  #LEFT DOUBLE QUOTATION MARK
+0xf3   0x00be  #VULGAR FRACTION THREE QUARTERS
+0xf4   0x00b6  #PILCROW SIGN
+0xf5   0x00a7  #SECTION SIGN
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x201e  #DOUBLE LOW-9 QUOTATION MARK
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x00b9  #SUPERSCRIPT ONE
+0xfc   0x00b3  #SUPERSCRIPT THREE
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
index 26a4232..ef47b43 100644 (file)
 0xfd   0x00b2  #SUPERSCRIPT TWO
 0xfe   0x25a0  #BLACK SQUARE
 0xff   0x00a0  #NO-BREAK SPACE
+\1a
\ No newline at end of file
diff --git a/codepage/cp852.txt b/codepage/cp852.txt
new file mode 100644 (file)
index 0000000..c5f3564
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp852_DOSLatin2 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp852_DOSLatin2 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp852_DOSLatin2 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00c7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x00e2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84   0x00e4  #LATIN SMALL LETTER A WITH DIAERESIS
+0x85   0x016f  #LATIN SMALL LETTER U WITH RING ABOVE
+0x86   0x0107  #LATIN SMALL LETTER C WITH ACUTE
+0x87   0x00e7  #LATIN SMALL LETTER C WITH CEDILLA
+0x88   0x0142  #LATIN SMALL LETTER L WITH STROKE
+0x89   0x00eb  #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a   0x0150  #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0x8b   0x0151  #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0x8c   0x00ee  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d   0x0179  #LATIN CAPITAL LETTER Z WITH ACUTE
+0x8e   0x00c4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f   0x0106  #LATIN CAPITAL LETTER C WITH ACUTE
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x0139  #LATIN CAPITAL LETTER L WITH ACUTE
+0x92   0x013a  #LATIN SMALL LETTER L WITH ACUTE
+0x93   0x00f4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94   0x00f6  #LATIN SMALL LETTER O WITH DIAERESIS
+0x95   0x013d  #LATIN CAPITAL LETTER L WITH CARON
+0x96   0x013e  #LATIN SMALL LETTER L WITH CARON
+0x97   0x015a  #LATIN CAPITAL LETTER S WITH ACUTE
+0x98   0x015b  #LATIN SMALL LETTER S WITH ACUTE
+0x99   0x00d6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x0164  #LATIN CAPITAL LETTER T WITH CARON
+0x9c   0x0165  #LATIN SMALL LETTER T WITH CARON
+0x9d   0x0141  #LATIN CAPITAL LETTER L WITH STROKE
+0x9e   0x00d7  #MULTIPLICATION SIGN
+0x9f   0x010d  #LATIN SMALL LETTER C WITH CARON
+0xa0   0x00e1  #LATIN SMALL LETTER A WITH ACUTE
+0xa1   0x00ed  #LATIN SMALL LETTER I WITH ACUTE
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x0104  #LATIN CAPITAL LETTER A WITH OGONEK
+0xa5   0x0105  #LATIN SMALL LETTER A WITH OGONEK
+0xa6   0x017d  #LATIN CAPITAL LETTER Z WITH CARON
+0xa7   0x017e  #LATIN SMALL LETTER Z WITH CARON
+0xa8   0x0118  #LATIN CAPITAL LETTER E WITH OGONEK
+0xa9   0x0119  #LATIN SMALL LETTER E WITH OGONEK
+0xaa   0x00ac  #NOT SIGN
+0xab   0x017a  #LATIN SMALL LETTER Z WITH ACUTE
+0xac   0x010c  #LATIN CAPITAL LETTER C WITH CARON
+0xad   0x015f  #LATIN SMALL LETTER S WITH CEDILLA
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x00c1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xb6   0x00c2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7   0x011a  #LATIN CAPITAL LETTER E WITH CARON
+0xb8   0x015e  #LATIN CAPITAL LETTER S WITH CEDILLA
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x017b  #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xbe   0x017c  #LATIN SMALL LETTER Z WITH DOT ABOVE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x0102  #LATIN CAPITAL LETTER A WITH BREVE
+0xc7   0x0103  #LATIN SMALL LETTER A WITH BREVE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x00a4  #CURRENCY SIGN
+0xd0   0x0111  #LATIN SMALL LETTER D WITH STROKE
+0xd1   0x0110  #LATIN CAPITAL LETTER D WITH STROKE
+0xd2   0x010e  #LATIN CAPITAL LETTER D WITH CARON
+0xd3   0x00cb  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4   0x010f  #LATIN SMALL LETTER D WITH CARON
+0xd5   0x0147  #LATIN CAPITAL LETTER N WITH CARON
+0xd6   0x00cd  #LATIN CAPITAL LETTER I WITH ACUTE
+0xd7   0x00ce  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8   0x011b  #LATIN SMALL LETTER E WITH CARON
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x0162  #LATIN CAPITAL LETTER T WITH CEDILLA
+0xde   0x016e  #LATIN CAPITAL LETTER U WITH RING ABOVE
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x00d3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S
+0xe2   0x00d4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3   0x0143  #LATIN CAPITAL LETTER N WITH ACUTE
+0xe4   0x0144  #LATIN SMALL LETTER N WITH ACUTE
+0xe5   0x0148  #LATIN SMALL LETTER N WITH CARON
+0xe6   0x0160  #LATIN CAPITAL LETTER S WITH CARON
+0xe7   0x0161  #LATIN SMALL LETTER S WITH CARON
+0xe8   0x0154  #LATIN CAPITAL LETTER R WITH ACUTE
+0xe9   0x00da  #LATIN CAPITAL LETTER U WITH ACUTE
+0xea   0x0155  #LATIN SMALL LETTER R WITH ACUTE
+0xeb   0x0170  #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xec   0x00fd  #LATIN SMALL LETTER Y WITH ACUTE
+0xed   0x00dd  #LATIN CAPITAL LETTER Y WITH ACUTE
+0xee   0x0163  #LATIN SMALL LETTER T WITH CEDILLA
+0xef   0x00b4  #ACUTE ACCENT
+0xf0   0x00ad  #SOFT HYPHEN
+0xf1   0x02dd  #DOUBLE ACUTE ACCENT
+0xf2   0x02db  #OGONEK
+0xf3   0x02c7  #CARON
+0xf4   0x02d8  #BREVE
+0xf5   0x00a7  #SECTION SIGN
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x00b8  #CEDILLA
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x00a8  #DIAERESIS
+0xfa   0x02d9  #DOT ABOVE
+0xfb   0x0171  #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xfc   0x0158  #LATIN CAPITAL LETTER R WITH CARON
+0xfd   0x0159  #LATIN SMALL LETTER R WITH CARON
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+\1a
\ No newline at end of file
diff --git a/codepage/cp855.txt b/codepage/cp855.txt
new file mode 100644 (file)
index 0000000..42063d8
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp855_DOSCyrillic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp855_DOSCyrillic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp855_DOSCyrillic order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x0452  #CYRILLIC SMALL LETTER DJE
+0x81   0x0402  #CYRILLIC CAPITAL LETTER DJE
+0x82   0x0453  #CYRILLIC SMALL LETTER GJE
+0x83   0x0403  #CYRILLIC CAPITAL LETTER GJE
+0x84   0x0451  #CYRILLIC SMALL LETTER IO
+0x85   0x0401  #CYRILLIC CAPITAL LETTER IO
+0x86   0x0454  #CYRILLIC SMALL LETTER UKRAINIAN IE
+0x87   0x0404  #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0x88   0x0455  #CYRILLIC SMALL LETTER DZE
+0x89   0x0405  #CYRILLIC CAPITAL LETTER DZE
+0x8a   0x0456  #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0x8b   0x0406  #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0x8c   0x0457  #CYRILLIC SMALL LETTER YI
+0x8d   0x0407  #CYRILLIC CAPITAL LETTER YI
+0x8e   0x0458  #CYRILLIC SMALL LETTER JE
+0x8f   0x0408  #CYRILLIC CAPITAL LETTER JE
+0x90   0x0459  #CYRILLIC SMALL LETTER LJE
+0x91   0x0409  #CYRILLIC CAPITAL LETTER LJE
+0x92   0x045a  #CYRILLIC SMALL LETTER NJE
+0x93   0x040a  #CYRILLIC CAPITAL LETTER NJE
+0x94   0x045b  #CYRILLIC SMALL LETTER TSHE
+0x95   0x040b  #CYRILLIC CAPITAL LETTER TSHE
+0x96   0x045c  #CYRILLIC SMALL LETTER KJE
+0x97   0x040c  #CYRILLIC CAPITAL LETTER KJE
+0x98   0x045e  #CYRILLIC SMALL LETTER SHORT U
+0x99   0x040e  #CYRILLIC CAPITAL LETTER SHORT U
+0x9a   0x045f  #CYRILLIC SMALL LETTER DZHE
+0x9b   0x040f  #CYRILLIC CAPITAL LETTER DZHE
+0x9c   0x044e  #CYRILLIC SMALL LETTER YU
+0x9d   0x042e  #CYRILLIC CAPITAL LETTER YU
+0x9e   0x044a  #CYRILLIC SMALL LETTER HARD SIGN
+0x9f   0x042a  #CYRILLIC CAPITAL LETTER HARD SIGN
+0xa0   0x0430  #CYRILLIC SMALL LETTER A
+0xa1   0x0410  #CYRILLIC CAPITAL LETTER A
+0xa2   0x0431  #CYRILLIC SMALL LETTER BE
+0xa3   0x0411  #CYRILLIC CAPITAL LETTER BE
+0xa4   0x0446  #CYRILLIC SMALL LETTER TSE
+0xa5   0x0426  #CYRILLIC CAPITAL LETTER TSE
+0xa6   0x0434  #CYRILLIC SMALL LETTER DE
+0xa7   0x0414  #CYRILLIC CAPITAL LETTER DE
+0xa8   0x0435  #CYRILLIC SMALL LETTER IE
+0xa9   0x0415  #CYRILLIC CAPITAL LETTER IE
+0xaa   0x0444  #CYRILLIC SMALL LETTER EF
+0xab   0x0424  #CYRILLIC CAPITAL LETTER EF
+0xac   0x0433  #CYRILLIC SMALL LETTER GHE
+0xad   0x0413  #CYRILLIC CAPITAL LETTER GHE
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x0445  #CYRILLIC SMALL LETTER HA
+0xb6   0x0425  #CYRILLIC CAPITAL LETTER HA
+0xb7   0x0438  #CYRILLIC SMALL LETTER I
+0xb8   0x0418  #CYRILLIC CAPITAL LETTER I
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x0439  #CYRILLIC SMALL LETTER SHORT I
+0xbe   0x0419  #CYRILLIC CAPITAL LETTER SHORT I
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x043a  #CYRILLIC SMALL LETTER KA
+0xc7   0x041a  #CYRILLIC CAPITAL LETTER KA
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x00a4  #CURRENCY SIGN
+0xd0   0x043b  #CYRILLIC SMALL LETTER EL
+0xd1   0x041b  #CYRILLIC CAPITAL LETTER EL
+0xd2   0x043c  #CYRILLIC SMALL LETTER EM
+0xd3   0x041c  #CYRILLIC CAPITAL LETTER EM
+0xd4   0x043d  #CYRILLIC SMALL LETTER EN
+0xd5   0x041d  #CYRILLIC CAPITAL LETTER EN
+0xd6   0x043e  #CYRILLIC SMALL LETTER O
+0xd7   0x041e  #CYRILLIC CAPITAL LETTER O
+0xd8   0x043f  #CYRILLIC SMALL LETTER PE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x041f  #CYRILLIC CAPITAL LETTER PE
+0xde   0x044f  #CYRILLIC SMALL LETTER YA
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x042f  #CYRILLIC CAPITAL LETTER YA
+0xe1   0x0440  #CYRILLIC SMALL LETTER ER
+0xe2   0x0420  #CYRILLIC CAPITAL LETTER ER
+0xe3   0x0441  #CYRILLIC SMALL LETTER ES
+0xe4   0x0421  #CYRILLIC CAPITAL LETTER ES
+0xe5   0x0442  #CYRILLIC SMALL LETTER TE
+0xe6   0x0422  #CYRILLIC CAPITAL LETTER TE
+0xe7   0x0443  #CYRILLIC SMALL LETTER U
+0xe8   0x0423  #CYRILLIC CAPITAL LETTER U
+0xe9   0x0436  #CYRILLIC SMALL LETTER ZHE
+0xea   0x0416  #CYRILLIC CAPITAL LETTER ZHE
+0xeb   0x0432  #CYRILLIC SMALL LETTER VE
+0xec   0x0412  #CYRILLIC CAPITAL LETTER VE
+0xed   0x044c  #CYRILLIC SMALL LETTER SOFT SIGN
+0xee   0x042c  #CYRILLIC CAPITAL LETTER SOFT SIGN
+0xef   0x2116  #NUMERO SIGN
+0xf0   0x00ad  #SOFT HYPHEN
+0xf1   0x044b  #CYRILLIC SMALL LETTER YERU
+0xf2   0x042b  #CYRILLIC CAPITAL LETTER YERU
+0xf3   0x0437  #CYRILLIC SMALL LETTER ZE
+0xf4   0x0417  #CYRILLIC CAPITAL LETTER ZE
+0xf5   0x0448  #CYRILLIC SMALL LETTER SHA
+0xf6   0x0428  #CYRILLIC CAPITAL LETTER SHA
+0xf7   0x044d  #CYRILLIC SMALL LETTER E
+0xf8   0x042d  #CYRILLIC CAPITAL LETTER E
+0xf9   0x0449  #CYRILLIC SMALL LETTER SHCHA
+0xfa   0x0429  #CYRILLIC CAPITAL LETTER SHCHA
+0xfb   0x0447  #CYRILLIC SMALL LETTER CHE
+0xfc   0x0427  #CYRILLIC CAPITAL LETTER CHE
+0xfd   0x00a7  #SECTION SIGN
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp857.txt b/codepage/cp857.txt
new file mode 100644 (file)
index 0000000..5995085
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp857_DOSTurkish to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp857_DOSTurkish code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp857_DOSTurkish order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00c7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x00e2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84   0x00e4  #LATIN SMALL LETTER A WITH DIAERESIS
+0x85   0x00e0  #LATIN SMALL LETTER A WITH GRAVE
+0x86   0x00e5  #LATIN SMALL LETTER A WITH RING ABOVE
+0x87   0x00e7  #LATIN SMALL LETTER C WITH CEDILLA
+0x88   0x00ea  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89   0x00eb  #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a   0x00e8  #LATIN SMALL LETTER E WITH GRAVE
+0x8b   0x00ef  #LATIN SMALL LETTER I WITH DIAERESIS
+0x8c   0x00ee  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d   0x0131  #LATIN SMALL LETTER DOTLESS I
+0x8e   0x00c4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f   0x00c5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x00e6  #LATIN SMALL LIGATURE AE
+0x92   0x00c6  #LATIN CAPITAL LIGATURE AE
+0x93   0x00f4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94   0x00f6  #LATIN SMALL LETTER O WITH DIAERESIS
+0x95   0x00f2  #LATIN SMALL LETTER O WITH GRAVE
+0x96   0x00fb  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97   0x00f9  #LATIN SMALL LETTER U WITH GRAVE
+0x98   0x0130  #LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x99   0x00d6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x00f8  #LATIN SMALL LETTER O WITH STROKE
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00d8  #LATIN CAPITAL LETTER O WITH STROKE
+0x9e   0x015e  #LATIN CAPITAL LETTER S WITH CEDILLA
+0x9f   0x015f  #LATIN SMALL LETTER S WITH CEDILLA
+0xa0   0x00e1  #LATIN SMALL LETTER A WITH ACUTE
+0xa1   0x00ed  #LATIN SMALL LETTER I WITH ACUTE
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x00f1  #LATIN SMALL LETTER N WITH TILDE
+0xa5   0x00d1  #LATIN CAPITAL LETTER N WITH TILDE
+0xa6   0x011e  #LATIN CAPITAL LETTER G WITH BREVE
+0xa7   0x011f  #LATIN SMALL LETTER G WITH BREVE
+0xa8   0x00bf  #INVERTED QUESTION MARK
+0xa9   0x00ae  #REGISTERED SIGN
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x00a1  #INVERTED EXCLAMATION MARK
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x00c1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xb6   0x00c2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7   0x00c0  #LATIN CAPITAL LETTER A WITH GRAVE
+0xb8   0x00a9  #COPYRIGHT SIGN
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x00a2  #CENT SIGN
+0xbe   0x00a5  #YEN SIGN
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x00e3  #LATIN SMALL LETTER A WITH TILDE
+0xc7   0x00c3  #LATIN CAPITAL LETTER A WITH TILDE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x00a4  #CURRENCY SIGN
+0xd0   0x00ba  #MASCULINE ORDINAL INDICATOR
+0xd1   0x00aa  #FEMININE ORDINAL INDICATOR
+0xd2   0x00ca  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xd3   0x00cb  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4   0x00c8  #LATIN CAPITAL LETTER E WITH GRAVE
+0xd5           #UNDEFINED
+0xd6   0x00cd  #LATIN CAPITAL LETTER I WITH ACUTE
+0xd7   0x00ce  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8   0x00cf  #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x00a6  #BROKEN BAR
+0xde   0x00cc  #LATIN CAPITAL LETTER I WITH GRAVE
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x00d3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S
+0xe2   0x00d4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3   0x00d2  #LATIN CAPITAL LETTER O WITH GRAVE
+0xe4   0x00f5  #LATIN SMALL LETTER O WITH TILDE
+0xe5   0x00d5  #LATIN CAPITAL LETTER O WITH TILDE
+0xe6   0x00b5  #MICRO SIGN
+0xe7           #UNDEFINED
+0xe8   0x00d7  #MULTIPLICATION SIGN
+0xe9   0x00da  #LATIN CAPITAL LETTER U WITH ACUTE
+0xea   0x00db  #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xeb   0x00d9  #LATIN CAPITAL LETTER U WITH GRAVE
+0xec   0x00ec  #LATIN SMALL LETTER I WITH GRAVE
+0xed   0x00ff  #LATIN SMALL LETTER Y WITH DIAERESIS
+0xee   0x00af  #MACRON
+0xef   0x00b4  #ACUTE ACCENT
+0xf0   0x00ad  #SOFT HYPHEN
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2           #UNDEFINED
+0xf3   0x00be  #VULGAR FRACTION THREE QUARTERS
+0xf4   0x00b6  #PILCROW SIGN
+0xf5   0x00a7  #SECTION SIGN
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x00b8  #CEDILLA
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x00a8  #DIAERESIS
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x00b9  #SUPERSCRIPT ONE
+0xfc   0x00b3  #SUPERSCRIPT THREE
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp860.txt b/codepage/cp860.txt
new file mode 100644 (file)
index 0000000..64e9378
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp860_DOSPortuguese to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp860_DOSPortuguese code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp860_DOSPortuguese order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00c7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x00e2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84   0x00e3  #LATIN SMALL LETTER A WITH TILDE
+0x85   0x00e0  #LATIN SMALL LETTER A WITH GRAVE
+0x86   0x00c1  #LATIN CAPITAL LETTER A WITH ACUTE
+0x87   0x00e7  #LATIN SMALL LETTER C WITH CEDILLA
+0x88   0x00ea  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89   0x00ca  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x8a   0x00e8  #LATIN SMALL LETTER E WITH GRAVE
+0x8b   0x00cd  #LATIN CAPITAL LETTER I WITH ACUTE
+0x8c   0x00d4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0x8d   0x00ec  #LATIN SMALL LETTER I WITH GRAVE
+0x8e   0x00c3  #LATIN CAPITAL LETTER A WITH TILDE
+0x8f   0x00c2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x00c0  #LATIN CAPITAL LETTER A WITH GRAVE
+0x92   0x00c8  #LATIN CAPITAL LETTER E WITH GRAVE
+0x93   0x00f4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94   0x00f5  #LATIN SMALL LETTER O WITH TILDE
+0x95   0x00f2  #LATIN SMALL LETTER O WITH GRAVE
+0x96   0x00da  #LATIN CAPITAL LETTER U WITH ACUTE
+0x97   0x00f9  #LATIN SMALL LETTER U WITH GRAVE
+0x98   0x00cc  #LATIN CAPITAL LETTER I WITH GRAVE
+0x99   0x00d5  #LATIN CAPITAL LETTER O WITH TILDE
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x00a2  #CENT SIGN
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00d9  #LATIN CAPITAL LETTER U WITH GRAVE
+0x9e   0x20a7  #PESETA SIGN
+0x9f   0x00d3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xa0   0x00e1  #LATIN SMALL LETTER A WITH ACUTE
+0xa1   0x00ed  #LATIN SMALL LETTER I WITH ACUTE
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x00f1  #LATIN SMALL LETTER N WITH TILDE
+0xa5   0x00d1  #LATIN CAPITAL LETTER N WITH TILDE
+0xa6   0x00aa  #FEMININE ORDINAL INDICATOR
+0xa7   0x00ba  #MASCULINE ORDINAL INDICATOR
+0xa8   0x00bf  #INVERTED QUESTION MARK
+0xa9   0x00d2  #LATIN CAPITAL LETTER O WITH GRAVE
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x00a1  #INVERTED EXCLAMATION MARK
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03b1  #GREEK SMALL LETTER ALPHA
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S
+0xe2   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xe3   0x03c0  #GREEK SMALL LETTER PI
+0xe4   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0xe5   0x03c3  #GREEK SMALL LETTER SIGMA
+0xe6   0x00b5  #MICRO SIGN
+0xe7   0x03c4  #GREEK SMALL LETTER TAU
+0xe8   0x03a6  #GREEK CAPITAL LETTER PHI
+0xe9   0x0398  #GREEK CAPITAL LETTER THETA
+0xea   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0xeb   0x03b4  #GREEK SMALL LETTER DELTA
+0xec   0x221e  #INFINITY
+0xed   0x03c6  #GREEK SMALL LETTER PHI
+0xee   0x03b5  #GREEK SMALL LETTER EPSILON
+0xef   0x2229  #INTERSECTION
+0xf0   0x2261  #IDENTICAL TO
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x2265  #GREATER-THAN OR EQUAL TO
+0xf3   0x2264  #LESS-THAN OR EQUAL TO
+0xf4   0x2320  #TOP HALF INTEGRAL
+0xf5   0x2321  #BOTTOM HALF INTEGRAL
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x2248  #ALMOST EQUAL TO
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x207f  #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp861.txt b/codepage/cp861.txt
new file mode 100644 (file)
index 0000000..163b0b1
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp861_DOSIcelandic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp861_DOSIcelandic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp861_DOSIcelandic order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00c7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x00e2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84   0x00e4  #LATIN SMALL LETTER A WITH DIAERESIS
+0x85   0x00e0  #LATIN SMALL LETTER A WITH GRAVE
+0x86   0x00e5  #LATIN SMALL LETTER A WITH RING ABOVE
+0x87   0x00e7  #LATIN SMALL LETTER C WITH CEDILLA
+0x88   0x00ea  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89   0x00eb  #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a   0x00e8  #LATIN SMALL LETTER E WITH GRAVE
+0x8b   0x00d0  #LATIN CAPITAL LETTER ETH
+0x8c   0x00f0  #LATIN SMALL LETTER ETH
+0x8d   0x00de  #LATIN CAPITAL LETTER THORN
+0x8e   0x00c4  #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f   0x00c5  #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x00e6  #LATIN SMALL LIGATURE AE
+0x92   0x00c6  #LATIN CAPITAL LIGATURE AE
+0x93   0x00f4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94   0x00f6  #LATIN SMALL LETTER O WITH DIAERESIS
+0x95   0x00fe  #LATIN SMALL LETTER THORN
+0x96   0x00fb  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97   0x00dd  #LATIN CAPITAL LETTER Y WITH ACUTE
+0x98   0x00fd  #LATIN SMALL LETTER Y WITH ACUTE
+0x99   0x00d6  #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x00f8  #LATIN SMALL LETTER O WITH STROKE
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00d8  #LATIN CAPITAL LETTER O WITH STROKE
+0x9e   0x20a7  #PESETA SIGN
+0x9f   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0xa0   0x00e1  #LATIN SMALL LETTER A WITH ACUTE
+0xa1   0x00ed  #LATIN SMALL LETTER I WITH ACUTE
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x00c1  #LATIN CAPITAL LETTER A WITH ACUTE
+0xa5   0x00cd  #LATIN CAPITAL LETTER I WITH ACUTE
+0xa6   0x00d3  #LATIN CAPITAL LETTER O WITH ACUTE
+0xa7   0x00da  #LATIN CAPITAL LETTER U WITH ACUTE
+0xa8   0x00bf  #INVERTED QUESTION MARK
+0xa9   0x2310  #REVERSED NOT SIGN
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x00a1  #INVERTED EXCLAMATION MARK
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03b1  #GREEK SMALL LETTER ALPHA
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S
+0xe2   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xe3   0x03c0  #GREEK SMALL LETTER PI
+0xe4   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0xe5   0x03c3  #GREEK SMALL LETTER SIGMA
+0xe6   0x00b5  #MICRO SIGN
+0xe7   0x03c4  #GREEK SMALL LETTER TAU
+0xe8   0x03a6  #GREEK CAPITAL LETTER PHI
+0xe9   0x0398  #GREEK CAPITAL LETTER THETA
+0xea   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0xeb   0x03b4  #GREEK SMALL LETTER DELTA
+0xec   0x221e  #INFINITY
+0xed   0x03c6  #GREEK SMALL LETTER PHI
+0xee   0x03b5  #GREEK SMALL LETTER EPSILON
+0xef   0x2229  #INTERSECTION
+0xf0   0x2261  #IDENTICAL TO
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x2265  #GREATER-THAN OR EQUAL TO
+0xf3   0x2264  #LESS-THAN OR EQUAL TO
+0xf4   0x2320  #TOP HALF INTEGRAL
+0xf5   0x2321  #BOTTOM HALF INTEGRAL
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x2248  #ALMOST EQUAL TO
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x207f  #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp862.txt b/codepage/cp862.txt
new file mode 100644 (file)
index 0000000..d33547a
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp862_DOSHebrew to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp862_DOSHebrew code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp862_DOSHebrew order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x05d0  #HEBREW LETTER ALEF
+0x81   0x05d1  #HEBREW LETTER BET
+0x82   0x05d2  #HEBREW LETTER GIMEL
+0x83   0x05d3  #HEBREW LETTER DALET
+0x84   0x05d4  #HEBREW LETTER HE
+0x85   0x05d5  #HEBREW LETTER VAV
+0x86   0x05d6  #HEBREW LETTER ZAYIN
+0x87   0x05d7  #HEBREW LETTER HET
+0x88   0x05d8  #HEBREW LETTER TET
+0x89   0x05d9  #HEBREW LETTER YOD
+0x8a   0x05da  #HEBREW LETTER FINAL KAF
+0x8b   0x05db  #HEBREW LETTER KAF
+0x8c   0x05dc  #HEBREW LETTER LAMED
+0x8d   0x05dd  #HEBREW LETTER FINAL MEM
+0x8e   0x05de  #HEBREW LETTER MEM
+0x8f   0x05df  #HEBREW LETTER FINAL NUN
+0x90   0x05e0  #HEBREW LETTER NUN
+0x91   0x05e1  #HEBREW LETTER SAMEKH
+0x92   0x05e2  #HEBREW LETTER AYIN
+0x93   0x05e3  #HEBREW LETTER FINAL PE
+0x94   0x05e4  #HEBREW LETTER PE
+0x95   0x05e5  #HEBREW LETTER FINAL TSADI
+0x96   0x05e6  #HEBREW LETTER TSADI
+0x97   0x05e7  #HEBREW LETTER QOF
+0x98   0x05e8  #HEBREW LETTER RESH
+0x99   0x05e9  #HEBREW LETTER SHIN
+0x9a   0x05ea  #HEBREW LETTER TAV
+0x9b   0x00a2  #CENT SIGN
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00a5  #YEN SIGN
+0x9e   0x20a7  #PESETA SIGN
+0x9f   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0xa0   0x00e1  #LATIN SMALL LETTER A WITH ACUTE
+0xa1   0x00ed  #LATIN SMALL LETTER I WITH ACUTE
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x00f1  #LATIN SMALL LETTER N WITH TILDE
+0xa5   0x00d1  #LATIN CAPITAL LETTER N WITH TILDE
+0xa6   0x00aa  #FEMININE ORDINAL INDICATOR
+0xa7   0x00ba  #MASCULINE ORDINAL INDICATOR
+0xa8   0x00bf  #INVERTED QUESTION MARK
+0xa9   0x2310  #REVERSED NOT SIGN
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x00a1  #INVERTED EXCLAMATION MARK
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03b1  #GREEK SMALL LETTER ALPHA
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S (GERMAN)
+0xe2   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xe3   0x03c0  #GREEK SMALL LETTER PI
+0xe4   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0xe5   0x03c3  #GREEK SMALL LETTER SIGMA
+0xe6   0x00b5  #MICRO SIGN
+0xe7   0x03c4  #GREEK SMALL LETTER TAU
+0xe8   0x03a6  #GREEK CAPITAL LETTER PHI
+0xe9   0x0398  #GREEK CAPITAL LETTER THETA
+0xea   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0xeb   0x03b4  #GREEK SMALL LETTER DELTA
+0xec   0x221e  #INFINITY
+0xed   0x03c6  #GREEK SMALL LETTER PHI
+0xee   0x03b5  #GREEK SMALL LETTER EPSILON
+0xef   0x2229  #INTERSECTION
+0xf0   0x2261  #IDENTICAL TO
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x2265  #GREATER-THAN OR EQUAL TO
+0xf3   0x2264  #LESS-THAN OR EQUAL TO
+0xf4   0x2320  #TOP HALF INTEGRAL
+0xf5   0x2321  #BOTTOM HALF INTEGRAL
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x2248  #ALMOST EQUAL TO
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x207f  #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp863.txt b/codepage/cp863.txt
new file mode 100644 (file)
index 0000000..19f3e8b
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp863_DOSCanadaF to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp863_DOSCanadaF code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp863_DOSCanadaF order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00c7  #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81   0x00fc  #LATIN SMALL LETTER U WITH DIAERESIS
+0x82   0x00e9  #LATIN SMALL LETTER E WITH ACUTE
+0x83   0x00e2  #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84   0x00c2  #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x85   0x00e0  #LATIN SMALL LETTER A WITH GRAVE
+0x86   0x00b6  #PILCROW SIGN
+0x87   0x00e7  #LATIN SMALL LETTER C WITH CEDILLA
+0x88   0x00ea  #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89   0x00eb  #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a   0x00e8  #LATIN SMALL LETTER E WITH GRAVE
+0x8b   0x00ef  #LATIN SMALL LETTER I WITH DIAERESIS
+0x8c   0x00ee  #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d   0x2017  #DOUBLE LOW LINE
+0x8e   0x00c0  #LATIN CAPITAL LETTER A WITH GRAVE
+0x8f   0x00a7  #SECTION SIGN
+0x90   0x00c9  #LATIN CAPITAL LETTER E WITH ACUTE
+0x91   0x00c8  #LATIN CAPITAL LETTER E WITH GRAVE
+0x92   0x00ca  #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x93   0x00f4  #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94   0x00cb  #LATIN CAPITAL LETTER E WITH DIAERESIS
+0x95   0x00cf  #LATIN CAPITAL LETTER I WITH DIAERESIS
+0x96   0x00fb  #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97   0x00f9  #LATIN SMALL LETTER U WITH GRAVE
+0x98   0x00a4  #CURRENCY SIGN
+0x99   0x00d4  #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0x9a   0x00dc  #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b   0x00a2  #CENT SIGN
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x00d9  #LATIN CAPITAL LETTER U WITH GRAVE
+0x9e   0x00db  #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0x9f   0x0192  #LATIN SMALL LETTER F WITH HOOK
+0xa0   0x00a6  #BROKEN BAR
+0xa1   0x00b4  #ACUTE ACCENT
+0xa2   0x00f3  #LATIN SMALL LETTER O WITH ACUTE
+0xa3   0x00fa  #LATIN SMALL LETTER U WITH ACUTE
+0xa4   0x00a8  #DIAERESIS
+0xa5   0x00b8  #CEDILLA
+0xa6   0x00b3  #SUPERSCRIPT THREE
+0xa7   0x00af  #MACRON
+0xa8   0x00ce  #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xa9   0x2310  #REVERSED NOT SIGN
+0xaa   0x00ac  #NOT SIGN
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x00bc  #VULGAR FRACTION ONE QUARTER
+0xad   0x00be  #VULGAR FRACTION THREE QUARTERS
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03b1  #GREEK SMALL LETTER ALPHA
+0xe1   0x00df  #LATIN SMALL LETTER SHARP S
+0xe2   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xe3   0x03c0  #GREEK SMALL LETTER PI
+0xe4   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0xe5   0x03c3  #GREEK SMALL LETTER SIGMA
+0xe6   0x00b5  #MICRO SIGN
+0xe7   0x03c4  #GREEK SMALL LETTER TAU
+0xe8   0x03a6  #GREEK CAPITAL LETTER PHI
+0xe9   0x0398  #GREEK CAPITAL LETTER THETA
+0xea   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0xeb   0x03b4  #GREEK SMALL LETTER DELTA
+0xec   0x221e  #INFINITY
+0xed   0x03c6  #GREEK SMALL LETTER PHI
+0xee   0x03b5  #GREEK SMALL LETTER EPSILON
+0xef   0x2229  #INTERSECTION
+0xf0   0x2261  #IDENTICAL TO
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x2265  #GREATER-THAN OR EQUAL TO
+0xf3   0x2264  #LESS-THAN OR EQUAL TO
+0xf4   0x2320  #TOP HALF INTEGRAL
+0xf5   0x2321  #BOTTOM HALF INTEGRAL
+0xf6   0x00f7  #DIVISION SIGN
+0xf7   0x2248  #ALMOST EQUAL TO
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x207f  #SUPERSCRIPT LATIN SMALL LETTER N
+0xfd   0x00b2  #SUPERSCRIPT TWO
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp864.txt b/codepage/cp864.txt
new file mode 100644 (file)
index 0000000..d0079b0
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp864_DOSArabic to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp864_DOSArabic code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp864_DOSArabic order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x066a  #ARABIC PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x00b0  #DEGREE SIGN
+0x81   0x00b7  #MIDDLE DOT
+0x82   0x2219  #BULLET OPERATOR
+0x83   0x221a  #SQUARE ROOT
+0x84   0x2592  #MEDIUM SHADE
+0x85   0x2500  #FORMS LIGHT HORIZONTAL
+0x86   0x2502  #FORMS LIGHT VERTICAL
+0x87   0x253c  #FORMS LIGHT VERTICAL AND HORIZONTAL
+0x88   0x2524  #FORMS LIGHT VERTICAL AND LEFT
+0x89   0x252c  #FORMS LIGHT DOWN AND HORIZONTAL
+0x8a   0x251c  #FORMS LIGHT VERTICAL AND RIGHT
+0x8b   0x2534  #FORMS LIGHT UP AND HORIZONTAL
+0x8c   0x2510  #FORMS LIGHT DOWN AND LEFT
+0x8d   0x250c  #FORMS LIGHT DOWN AND RIGHT
+0x8e   0x2514  #FORMS LIGHT UP AND RIGHT
+0x8f   0x2518  #FORMS LIGHT UP AND LEFT
+0x90   0x03b2  #GREEK SMALL BETA
+0x91   0x221e  #INFINITY
+0x92   0x03c6  #GREEK SMALL PHI
+0x93   0x00b1  #PLUS-OR-MINUS SIGN
+0x94   0x00bd  #FRACTION 1/2
+0x95   0x00bc  #FRACTION 1/4
+0x96   0x2248  #ALMOST EQUAL TO
+0x97   0x00ab  #LEFT POINTING GUILLEMET
+0x98   0x00bb  #RIGHT POINTING GUILLEMET
+0x99   0xfef7  #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+0x9a   0xfef8  #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+0x9b           #UNDEFINED
+0x9c           #UNDEFINED
+0x9d   0xfefb  #ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+0x9e   0xfefc  #ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+0x9f           #UNDEFINED
+0xa0   0x00a0  #NON-BREAKING SPACE
+0xa1   0x00ad  #SOFT HYPHEN
+0xa2   0xfe82  #ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+0xa3   0x00a3  #POUND SIGN
+0xa4   0x00a4  #CURRENCY SIGN
+0xa5   0xfe84  #ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+0xa6           #UNDEFINED
+0xa7           #UNDEFINED
+0xa8   0xfe8e  #ARABIC LETTER ALEF FINAL FORM
+0xa9   0xfe8f  #ARABIC LETTER BEH ISOLATED FORM
+0xaa   0xfe95  #ARABIC LETTER TEH ISOLATED FORM
+0xab   0xfe99  #ARABIC LETTER THEH ISOLATED FORM
+0xac   0x060c  #ARABIC COMMA
+0xad   0xfe9d  #ARABIC LETTER JEEM ISOLATED FORM
+0xae   0xfea1  #ARABIC LETTER HAH ISOLATED FORM
+0xaf   0xfea5  #ARABIC LETTER KHAH ISOLATED FORM
+0xb0   0x0660  #ARABIC-INDIC DIGIT ZERO
+0xb1   0x0661  #ARABIC-INDIC DIGIT ONE
+0xb2   0x0662  #ARABIC-INDIC DIGIT TWO
+0xb3   0x0663  #ARABIC-INDIC DIGIT THREE
+0xb4   0x0664  #ARABIC-INDIC DIGIT FOUR
+0xb5   0x0665  #ARABIC-INDIC DIGIT FIVE
+0xb6   0x0666  #ARABIC-INDIC DIGIT SIX
+0xb7   0x0667  #ARABIC-INDIC DIGIT SEVEN
+0xb8   0x0668  #ARABIC-INDIC DIGIT EIGHT
+0xb9   0x0669  #ARABIC-INDIC DIGIT NINE
+0xba   0xfed1  #ARABIC LETTER FEH ISOLATED FORM
+0xbb   0x061b  #ARABIC SEMICOLON
+0xbc   0xfeb1  #ARABIC LETTER SEEN ISOLATED FORM
+0xbd   0xfeb5  #ARABIC LETTER SHEEN ISOLATED FORM
+0xbe   0xfeb9  #ARABIC LETTER SAD ISOLATED FORM
+0xbf   0x061f  #ARABIC QUESTION MARK
+0xc0   0x00a2  #CENT SIGN
+0xc1   0xfe80  #ARABIC LETTER HAMZA ISOLATED FORM
+0xc2   0xfe81  #ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0xc3   0xfe83  #ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0xc4   0xfe85  #ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0xc5   0xfeca  #ARABIC LETTER AIN FINAL FORM
+0xc6   0xfe8b  #ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+0xc7   0xfe8d  #ARABIC LETTER ALEF ISOLATED FORM
+0xc8   0xfe91  #ARABIC LETTER BEH INITIAL FORM
+0xc9   0xfe93  #ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0xca   0xfe97  #ARABIC LETTER TEH INITIAL FORM
+0xcb   0xfe9b  #ARABIC LETTER THEH INITIAL FORM
+0xcc   0xfe9f  #ARABIC LETTER JEEM INITIAL FORM
+0xcd   0xfea3  #ARABIC LETTER HAH INITIAL FORM
+0xce   0xfea7  #ARABIC LETTER KHAH INITIAL FORM
+0xcf   0xfea9  #ARABIC LETTER DAL ISOLATED FORM
+0xd0   0xfeab  #ARABIC LETTER THAL ISOLATED FORM
+0xd1   0xfead  #ARABIC LETTER REH ISOLATED FORM
+0xd2   0xfeaf  #ARABIC LETTER ZAIN ISOLATED FORM
+0xd3   0xfeb3  #ARABIC LETTER SEEN INITIAL FORM
+0xd4   0xfeb7  #ARABIC LETTER SHEEN INITIAL FORM
+0xd5   0xfebb  #ARABIC LETTER SAD INITIAL FORM
+0xd6   0xfebf  #ARABIC LETTER DAD INITIAL FORM
+0xd7   0xfec1  #ARABIC LETTER TAH ISOLATED FORM
+0xd8   0xfec5  #ARABIC LETTER ZAH ISOLATED FORM
+0xd9   0xfecb  #ARABIC LETTER AIN INITIAL FORM
+0xda   0xfecf  #ARABIC LETTER GHAIN INITIAL FORM
+0xdb   0x00a6  #BROKEN VERTICAL BAR
+0xdc   0x00ac  #NOT SIGN
+0xdd   0x00f7  #DIVISION SIGN
+0xde   0x00d7  #MULTIPLICATION SIGN
+0xdf   0xfec9  #ARABIC LETTER AIN ISOLATED FORM
+0xe0   0x0640  #ARABIC TATWEEL
+0xe1   0xfed3  #ARABIC LETTER FEH INITIAL FORM
+0xe2   0xfed7  #ARABIC LETTER QAF INITIAL FORM
+0xe3   0xfedb  #ARABIC LETTER KAF INITIAL FORM
+0xe4   0xfedf  #ARABIC LETTER LAM INITIAL FORM
+0xe5   0xfee3  #ARABIC LETTER MEEM INITIAL FORM
+0xe6   0xfee7  #ARABIC LETTER NOON INITIAL FORM
+0xe7   0xfeeb  #ARABIC LETTER HEH INITIAL FORM
+0xe8   0xfeed  #ARABIC LETTER WAW ISOLATED FORM
+0xe9   0xfeef  #ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+0xea   0xfef3  #ARABIC LETTER YEH INITIAL FORM
+0xeb   0xfebd  #ARABIC LETTER DAD ISOLATED FORM
+0xec   0xfecc  #ARABIC LETTER AIN MEDIAL FORM
+0xed   0xfece  #ARABIC LETTER GHAIN FINAL FORM
+0xee   0xfecd  #ARABIC LETTER GHAIN ISOLATED FORM
+0xef   0xfee1  #ARABIC LETTER MEEM ISOLATED FORM
+0xf0   0xfe7d  #ARABIC SHADDA MEDIAL FORM
+0xf1   0x0651  #ARABIC SHADDAH
+0xf2   0xfee5  #ARABIC LETTER NOON ISOLATED FORM
+0xf3   0xfee9  #ARABIC LETTER HEH ISOLATED FORM
+0xf4   0xfeec  #ARABIC LETTER HEH MEDIAL FORM
+0xf5   0xfef0  #ARABIC LETTER ALEF MAKSURA FINAL FORM
+0xf6   0xfef2  #ARABIC LETTER YEH FINAL FORM
+0xf7   0xfed0  #ARABIC LETTER GHAIN MEDIAL FORM
+0xf8   0xfed5  #ARABIC LETTER QAF ISOLATED FORM
+0xf9   0xfef5  #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+0xfa   0xfef6  #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+0xfb   0xfedd  #ARABIC LETTER LAM ISOLATED FORM
+0xfc   0xfed9  #ARABIC LETTER KAF ISOLATED FORM
+0xfd   0xfef1  #ARABIC LETTER YEH ISOLATED FORM
+0xfe   0x25a0  #BLACK SQUARE
+0xff           #UNDEFINED
+
+\1a
\ No newline at end of file
index f3d6fef..41d73da 100644 (file)
 0xfe   0x25a0  #BLACK SQUARE
 0xff   0x00a0  #NO-BREAK SPACE
 
+\1a
\ No newline at end of file
diff --git a/codepage/cp866.txt b/codepage/cp866.txt
new file mode 100644 (file)
index 0000000..b0213a1
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp866_DOSCyrillicRussian to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp866_DOSCyrillicRussian code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp866_DOSCyrillicRussian order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80   0x0410  #CYRILLIC CAPITAL LETTER A
+0x81   0x0411  #CYRILLIC CAPITAL LETTER BE
+0x82   0x0412  #CYRILLIC CAPITAL LETTER VE
+0x83   0x0413  #CYRILLIC CAPITAL LETTER GHE
+0x84   0x0414  #CYRILLIC CAPITAL LETTER DE
+0x85   0x0415  #CYRILLIC CAPITAL LETTER IE
+0x86   0x0416  #CYRILLIC CAPITAL LETTER ZHE
+0x87   0x0417  #CYRILLIC CAPITAL LETTER ZE
+0x88   0x0418  #CYRILLIC CAPITAL LETTER I
+0x89   0x0419  #CYRILLIC CAPITAL LETTER SHORT I
+0x8a   0x041a  #CYRILLIC CAPITAL LETTER KA
+0x8b   0x041b  #CYRILLIC CAPITAL LETTER EL
+0x8c   0x041c  #CYRILLIC CAPITAL LETTER EM
+0x8d   0x041d  #CYRILLIC CAPITAL LETTER EN
+0x8e   0x041e  #CYRILLIC CAPITAL LETTER O
+0x8f   0x041f  #CYRILLIC CAPITAL LETTER PE
+0x90   0x0420  #CYRILLIC CAPITAL LETTER ER
+0x91   0x0421  #CYRILLIC CAPITAL LETTER ES
+0x92   0x0422  #CYRILLIC CAPITAL LETTER TE
+0x93   0x0423  #CYRILLIC CAPITAL LETTER U
+0x94   0x0424  #CYRILLIC CAPITAL LETTER EF
+0x95   0x0425  #CYRILLIC CAPITAL LETTER HA
+0x96   0x0426  #CYRILLIC CAPITAL LETTER TSE
+0x97   0x0427  #CYRILLIC CAPITAL LETTER CHE
+0x98   0x0428  #CYRILLIC CAPITAL LETTER SHA
+0x99   0x0429  #CYRILLIC CAPITAL LETTER SHCHA
+0x9a   0x042a  #CYRILLIC CAPITAL LETTER HARD SIGN
+0x9b   0x042b  #CYRILLIC CAPITAL LETTER YERU
+0x9c   0x042c  #CYRILLIC CAPITAL LETTER SOFT SIGN
+0x9d   0x042d  #CYRILLIC CAPITAL LETTER E
+0x9e   0x042e  #CYRILLIC CAPITAL LETTER YU
+0x9f   0x042f  #CYRILLIC CAPITAL LETTER YA
+0xa0   0x0430  #CYRILLIC SMALL LETTER A
+0xa1   0x0431  #CYRILLIC SMALL LETTER BE
+0xa2   0x0432  #CYRILLIC SMALL LETTER VE
+0xa3   0x0433  #CYRILLIC SMALL LETTER GHE
+0xa4   0x0434  #CYRILLIC SMALL LETTER DE
+0xa5   0x0435  #CYRILLIC SMALL LETTER IE
+0xa6   0x0436  #CYRILLIC SMALL LETTER ZHE
+0xa7   0x0437  #CYRILLIC SMALL LETTER ZE
+0xa8   0x0438  #CYRILLIC SMALL LETTER I
+0xa9   0x0439  #CYRILLIC SMALL LETTER SHORT I
+0xaa   0x043a  #CYRILLIC SMALL LETTER KA
+0xab   0x043b  #CYRILLIC SMALL LETTER EL
+0xac   0x043c  #CYRILLIC SMALL LETTER EM
+0xad   0x043d  #CYRILLIC SMALL LETTER EN
+0xae   0x043e  #CYRILLIC SMALL LETTER O
+0xaf   0x043f  #CYRILLIC SMALL LETTER PE
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x2561  #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+0xb6   0x2562  #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+0xb7   0x2556  #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+0xb8   0x2555  #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x255c  #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+0xbe   0x255b  #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x255e  #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+0xc7   0x255f  #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x2567  #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+0xd0   0x2568  #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+0xd1   0x2564  #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+0xd2   0x2565  #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+0xd3   0x2559  #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+0xd4   0x2558  #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+0xd5   0x2552  #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+0xd6   0x2553  #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+0xd7   0x256b  #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+0xd8   0x256a  #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x258c  #LEFT HALF BLOCK
+0xde   0x2590  #RIGHT HALF BLOCK
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x0440  #CYRILLIC SMALL LETTER ER
+0xe1   0x0441  #CYRILLIC SMALL LETTER ES
+0xe2   0x0442  #CYRILLIC SMALL LETTER TE
+0xe3   0x0443  #CYRILLIC SMALL LETTER U
+0xe4   0x0444  #CYRILLIC SMALL LETTER EF
+0xe5   0x0445  #CYRILLIC SMALL LETTER HA
+0xe6   0x0446  #CYRILLIC SMALL LETTER TSE
+0xe7   0x0447  #CYRILLIC SMALL LETTER CHE
+0xe8   0x0448  #CYRILLIC SMALL LETTER SHA
+0xe9   0x0449  #CYRILLIC SMALL LETTER SHCHA
+0xea   0x044a  #CYRILLIC SMALL LETTER HARD SIGN
+0xeb   0x044b  #CYRILLIC SMALL LETTER YERU
+0xec   0x044c  #CYRILLIC SMALL LETTER SOFT SIGN
+0xed   0x044d  #CYRILLIC SMALL LETTER E
+0xee   0x044e  #CYRILLIC SMALL LETTER YU
+0xef   0x044f  #CYRILLIC SMALL LETTER YA
+0xf0   0x0401  #CYRILLIC CAPITAL LETTER IO
+0xf1   0x0451  #CYRILLIC SMALL LETTER IO
+0xf2   0x0404  #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xf3   0x0454  #CYRILLIC SMALL LETTER UKRAINIAN IE
+0xf4   0x0407  #CYRILLIC CAPITAL LETTER YI
+0xf5   0x0457  #CYRILLIC SMALL LETTER YI
+0xf6   0x040e  #CYRILLIC CAPITAL LETTER SHORT U
+0xf7   0x045e  #CYRILLIC SMALL LETTER SHORT U
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x2219  #BULLET OPERATOR
+0xfa   0x00b7  #MIDDLE DOT
+0xfb   0x221a  #SQUARE ROOT
+0xfc   0x2116  #NUMERO SIGN
+0xfd   0x00a4  #CURRENCY SIGN
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp869.txt b/codepage/cp869.txt
new file mode 100644 (file)
index 0000000..3cd3f77
--- /dev/null
@@ -0,0 +1,275 @@
+#
+#    Name:     cp869_DOSGreek2 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.00
+#    Table format:  Format A
+#    Date:          04/24/96
+#    Contact: Shawn.Steele@microsoft.com
+#                   
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp869_DOSGreek2 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp869_DOSGreek2 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0a   0x000a  #LINE FEED
+0x0b   0x000b  #VERTICAL TABULATION
+0x0c   0x000c  #FORM FEED
+0x0d   0x000d  #CARRIAGE RETURN
+0x0e   0x000e  #SHIFT OUT
+0x0f   0x000f  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1a   0x001a  #SUBSTITUTE
+0x1b   0x001b  #ESCAPE
+0x1c   0x001c  #FILE SEPARATOR
+0x1d   0x001d  #GROUP SEPARATOR
+0x1e   0x001e  #RECORD SEPARATOR
+0x1f   0x001f  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2a   0x002a  #ASTERISK
+0x2b   0x002b  #PLUS SIGN
+0x2c   0x002c  #COMMA
+0x2d   0x002d  #HYPHEN-MINUS
+0x2e   0x002e  #FULL STOP
+0x2f   0x002f  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3a   0x003a  #COLON
+0x3b   0x003b  #SEMICOLON
+0x3c   0x003c  #LESS-THAN SIGN
+0x3d   0x003d  #EQUALS SIGN
+0x3e   0x003e  #GREATER-THAN SIGN
+0x3f   0x003f  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4a   0x004a  #LATIN CAPITAL LETTER J
+0x4b   0x004b  #LATIN CAPITAL LETTER K
+0x4c   0x004c  #LATIN CAPITAL LETTER L
+0x4d   0x004d  #LATIN CAPITAL LETTER M
+0x4e   0x004e  #LATIN CAPITAL LETTER N
+0x4f   0x004f  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5a   0x005a  #LATIN CAPITAL LETTER Z
+0x5b   0x005b  #LEFT SQUARE BRACKET
+0x5c   0x005c  #REVERSE SOLIDUS
+0x5d   0x005d  #RIGHT SQUARE BRACKET
+0x5e   0x005e  #CIRCUMFLEX ACCENT
+0x5f   0x005f  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6a   0x006a  #LATIN SMALL LETTER J
+0x6b   0x006b  #LATIN SMALL LETTER K
+0x6c   0x006c  #LATIN SMALL LETTER L
+0x6d   0x006d  #LATIN SMALL LETTER M
+0x6e   0x006e  #LATIN SMALL LETTER N
+0x6f   0x006f  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7a   0x007a  #LATIN SMALL LETTER Z
+0x7b   0x007b  #LEFT CURLY BRACKET
+0x7c   0x007c  #VERTICAL LINE
+0x7d   0x007d  #RIGHT CURLY BRACKET
+0x7e   0x007e  #TILDE
+0x7f   0x007f  #DELETE
+0x80           #UNDEFINED
+0x81           #UNDEFINED
+0x82           #UNDEFINED
+0x83           #UNDEFINED
+0x84           #UNDEFINED
+0x85           #UNDEFINED
+0x86   0x0386  #GREEK CAPITAL LETTER ALPHA WITH TONOS
+0x87           #UNDEFINED
+0x88   0x00b7  #MIDDLE DOT
+0x89   0x00ac  #NOT SIGN
+0x8a   0x00a6  #BROKEN BAR
+0x8b   0x2018  #LEFT SINGLE QUOTATION MARK
+0x8c   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x8d   0x0388  #GREEK CAPITAL LETTER EPSILON WITH TONOS
+0x8e   0x2015  #HORIZONTAL BAR
+0x8f   0x0389  #GREEK CAPITAL LETTER ETA WITH TONOS
+0x90   0x038a  #GREEK CAPITAL LETTER IOTA WITH TONOS
+0x91   0x03aa  #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0x92   0x038c  #GREEK CAPITAL LETTER OMICRON WITH TONOS
+0x93           #UNDEFINED
+0x94           #UNDEFINED
+0x95   0x038e  #GREEK CAPITAL LETTER UPSILON WITH TONOS
+0x96   0x03ab  #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0x97   0x00a9  #COPYRIGHT SIGN
+0x98   0x038f  #GREEK CAPITAL LETTER OMEGA WITH TONOS
+0x99   0x00b2  #SUPERSCRIPT TWO
+0x9a   0x00b3  #SUPERSCRIPT THREE
+0x9b   0x03ac  #GREEK SMALL LETTER ALPHA WITH TONOS
+0x9c   0x00a3  #POUND SIGN
+0x9d   0x03ad  #GREEK SMALL LETTER EPSILON WITH TONOS
+0x9e   0x03ae  #GREEK SMALL LETTER ETA WITH TONOS
+0x9f   0x03af  #GREEK SMALL LETTER IOTA WITH TONOS
+0xa0   0x03ca  #GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xa1   0x0390  #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xa2   0x03cc  #GREEK SMALL LETTER OMICRON WITH TONOS
+0xa3   0x03cd  #GREEK SMALL LETTER UPSILON WITH TONOS
+0xa4   0x0391  #GREEK CAPITAL LETTER ALPHA
+0xa5   0x0392  #GREEK CAPITAL LETTER BETA
+0xa6   0x0393  #GREEK CAPITAL LETTER GAMMA
+0xa7   0x0394  #GREEK CAPITAL LETTER DELTA
+0xa8   0x0395  #GREEK CAPITAL LETTER EPSILON
+0xa9   0x0396  #GREEK CAPITAL LETTER ZETA
+0xaa   0x0397  #GREEK CAPITAL LETTER ETA
+0xab   0x00bd  #VULGAR FRACTION ONE HALF
+0xac   0x0398  #GREEK CAPITAL LETTER THETA
+0xad   0x0399  #GREEK CAPITAL LETTER IOTA
+0xae   0x00ab  #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf   0x00bb  #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0   0x2591  #LIGHT SHADE
+0xb1   0x2592  #MEDIUM SHADE
+0xb2   0x2593  #DARK SHADE
+0xb3   0x2502  #BOX DRAWINGS LIGHT VERTICAL
+0xb4   0x2524  #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5   0x039a  #GREEK CAPITAL LETTER KAPPA
+0xb6   0x039b  #GREEK CAPITAL LETTER LAMDA
+0xb7   0x039c  #GREEK CAPITAL LETTER MU
+0xb8   0x039d  #GREEK CAPITAL LETTER NU
+0xb9   0x2563  #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba   0x2551  #BOX DRAWINGS DOUBLE VERTICAL
+0xbb   0x2557  #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc   0x255d  #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd   0x039e  #GREEK CAPITAL LETTER XI
+0xbe   0x039f  #GREEK CAPITAL LETTER OMICRON
+0xbf   0x2510  #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0   0x2514  #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1   0x2534  #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2   0x252c  #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3   0x251c  #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4   0x2500  #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5   0x253c  #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6   0x03a0  #GREEK CAPITAL LETTER PI
+0xc7   0x03a1  #GREEK CAPITAL LETTER RHO
+0xc8   0x255a  #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9   0x2554  #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca   0x2569  #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb   0x2566  #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc   0x2560  #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd   0x2550  #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce   0x256c  #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf   0x03a3  #GREEK CAPITAL LETTER SIGMA
+0xd0   0x03a4  #GREEK CAPITAL LETTER TAU
+0xd1   0x03a5  #GREEK CAPITAL LETTER UPSILON
+0xd2   0x03a6  #GREEK CAPITAL LETTER PHI
+0xd3   0x03a7  #GREEK CAPITAL LETTER CHI
+0xd4   0x03a8  #GREEK CAPITAL LETTER PSI
+0xd5   0x03a9  #GREEK CAPITAL LETTER OMEGA
+0xd6   0x03b1  #GREEK SMALL LETTER ALPHA
+0xd7   0x03b2  #GREEK SMALL LETTER BETA
+0xd8   0x03b3  #GREEK SMALL LETTER GAMMA
+0xd9   0x2518  #BOX DRAWINGS LIGHT UP AND LEFT
+0xda   0x250c  #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb   0x2588  #FULL BLOCK
+0xdc   0x2584  #LOWER HALF BLOCK
+0xdd   0x03b4  #GREEK SMALL LETTER DELTA
+0xde   0x03b5  #GREEK SMALL LETTER EPSILON
+0xdf   0x2580  #UPPER HALF BLOCK
+0xe0   0x03b6  #GREEK SMALL LETTER ZETA
+0xe1   0x03b7  #GREEK SMALL LETTER ETA
+0xe2   0x03b8  #GREEK SMALL LETTER THETA
+0xe3   0x03b9  #GREEK SMALL LETTER IOTA
+0xe4   0x03ba  #GREEK SMALL LETTER KAPPA
+0xe5   0x03bb  #GREEK SMALL LETTER LAMDA
+0xe6   0x03bc  #GREEK SMALL LETTER MU
+0xe7   0x03bd  #GREEK SMALL LETTER NU
+0xe8   0x03be  #GREEK SMALL LETTER XI
+0xe9   0x03bf  #GREEK SMALL LETTER OMICRON
+0xea   0x03c0  #GREEK SMALL LETTER PI
+0xeb   0x03c1  #GREEK SMALL LETTER RHO
+0xec   0x03c3  #GREEK SMALL LETTER SIGMA
+0xed   0x03c2  #GREEK SMALL LETTER FINAL SIGMA
+0xee   0x03c4  #GREEK SMALL LETTER TAU
+0xef   0x0384  #GREEK TONOS
+0xf0   0x00ad  #SOFT HYPHEN
+0xf1   0x00b1  #PLUS-MINUS SIGN
+0xf2   0x03c5  #GREEK SMALL LETTER UPSILON
+0xf3   0x03c6  #GREEK SMALL LETTER PHI
+0xf4   0x03c7  #GREEK SMALL LETTER CHI
+0xf5   0x00a7  #SECTION SIGN
+0xf6   0x03c8  #GREEK SMALL LETTER PSI
+0xf7   0x0385  #GREEK DIALYTIKA TONOS
+0xf8   0x00b0  #DEGREE SIGN
+0xf9   0x00a8  #DIAERESIS
+0xfa   0x03c9  #GREEK SMALL LETTER OMEGA
+0xfb   0x03cb  #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xfc   0x03b0  #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xfd   0x03ce  #GREEK SMALL LETTER OMEGA WITH TONOS
+0xfe   0x25a0  #BLACK SQUARE
+0xff   0x00a0  #NO-BREAK SPACE
+
+\1a
\ No newline at end of file
diff --git a/codepage/cp874.txt b/codepage/cp874.txt
new file mode 100644 (file)
index 0000000..0ab6504
--- /dev/null
@@ -0,0 +1,274 @@
+#
+#    Name:     cp874 to Unicode table
+#    Unicode version: 2.0
+#    Table version: 2.01
+#    Table format:  Format A
+#    Date:          02/28/98
+#
+#    Contact:       Shawn.Steele@microsoft.com
+#
+#    General notes: none
+#
+#    Format: Three tab-separated columns
+#        Column #1 is the cp874 code (in hex)
+#        Column #2 is the Unicode (in hex as 0xXXXX)
+#        Column #3 is the Unicode name (follows a comment sign, '#')
+#
+#    The entries are in cp874 order
+#
+0x00   0x0000  #NULL
+0x01   0x0001  #START OF HEADING
+0x02   0x0002  #START OF TEXT
+0x03   0x0003  #END OF TEXT
+0x04   0x0004  #END OF TRANSMISSION
+0x05   0x0005  #ENQUIRY
+0x06   0x0006  #ACKNOWLEDGE
+0x07   0x0007  #BELL
+0x08   0x0008  #BACKSPACE
+0x09   0x0009  #HORIZONTAL TABULATION
+0x0A   0x000A  #LINE FEED
+0x0B   0x000B  #VERTICAL TABULATION
+0x0C   0x000C  #FORM FEED
+0x0D   0x000D  #CARRIAGE RETURN
+0x0E   0x000E  #SHIFT OUT
+0x0F   0x000F  #SHIFT IN
+0x10   0x0010  #DATA LINK ESCAPE
+0x11   0x0011  #DEVICE CONTROL ONE
+0x12   0x0012  #DEVICE CONTROL TWO
+0x13   0x0013  #DEVICE CONTROL THREE
+0x14   0x0014  #DEVICE CONTROL FOUR
+0x15   0x0015  #NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #SYNCHRONOUS IDLE
+0x17   0x0017  #END OF TRANSMISSION BLOCK
+0x18   0x0018  #CANCEL
+0x19   0x0019  #END OF MEDIUM
+0x1A   0x001A  #SUBSTITUTE
+0x1B   0x001B  #ESCAPE
+0x1C   0x001C  #FILE SEPARATOR
+0x1D   0x001D  #GROUP SEPARATOR
+0x1E   0x001E  #RECORD SEPARATOR
+0x1F   0x001F  #UNIT SEPARATOR
+0x20   0x0020  #SPACE
+0x21   0x0021  #EXCLAMATION MARK
+0x22   0x0022  #QUOTATION MARK
+0x23   0x0023  #NUMBER SIGN
+0x24   0x0024  #DOLLAR SIGN
+0x25   0x0025  #PERCENT SIGN
+0x26   0x0026  #AMPERSAND
+0x27   0x0027  #APOSTROPHE
+0x28   0x0028  #LEFT PARENTHESIS
+0x29   0x0029  #RIGHT PARENTHESIS
+0x2A   0x002A  #ASTERISK
+0x2B   0x002B  #PLUS SIGN
+0x2C   0x002C  #COMMA
+0x2D   0x002D  #HYPHEN-MINUS
+0x2E   0x002E  #FULL STOP
+0x2F   0x002F  #SOLIDUS
+0x30   0x0030  #DIGIT ZERO
+0x31   0x0031  #DIGIT ONE
+0x32   0x0032  #DIGIT TWO
+0x33   0x0033  #DIGIT THREE
+0x34   0x0034  #DIGIT FOUR
+0x35   0x0035  #DIGIT FIVE
+0x36   0x0036  #DIGIT SIX
+0x37   0x0037  #DIGIT SEVEN
+0x38   0x0038  #DIGIT EIGHT
+0x39   0x0039  #DIGIT NINE
+0x3A   0x003A  #COLON
+0x3B   0x003B  #SEMICOLON
+0x3C   0x003C  #LESS-THAN SIGN
+0x3D   0x003D  #EQUALS SIGN
+0x3E   0x003E  #GREATER-THAN SIGN
+0x3F   0x003F  #QUESTION MARK
+0x40   0x0040  #COMMERCIAL AT
+0x41   0x0041  #LATIN CAPITAL LETTER A
+0x42   0x0042  #LATIN CAPITAL LETTER B
+0x43   0x0043  #LATIN CAPITAL LETTER C
+0x44   0x0044  #LATIN CAPITAL LETTER D
+0x45   0x0045  #LATIN CAPITAL LETTER E
+0x46   0x0046  #LATIN CAPITAL LETTER F
+0x47   0x0047  #LATIN CAPITAL LETTER G
+0x48   0x0048  #LATIN CAPITAL LETTER H
+0x49   0x0049  #LATIN CAPITAL LETTER I
+0x4A   0x004A  #LATIN CAPITAL LETTER J
+0x4B   0x004B  #LATIN CAPITAL LETTER K
+0x4C   0x004C  #LATIN CAPITAL LETTER L
+0x4D   0x004D  #LATIN CAPITAL LETTER M
+0x4E   0x004E  #LATIN CAPITAL LETTER N
+0x4F   0x004F  #LATIN CAPITAL LETTER O
+0x50   0x0050  #LATIN CAPITAL LETTER P
+0x51   0x0051  #LATIN CAPITAL LETTER Q
+0x52   0x0052  #LATIN CAPITAL LETTER R
+0x53   0x0053  #LATIN CAPITAL LETTER S
+0x54   0x0054  #LATIN CAPITAL LETTER T
+0x55   0x0055  #LATIN CAPITAL LETTER U
+0x56   0x0056  #LATIN CAPITAL LETTER V
+0x57   0x0057  #LATIN CAPITAL LETTER W
+0x58   0x0058  #LATIN CAPITAL LETTER X
+0x59   0x0059  #LATIN CAPITAL LETTER Y
+0x5A   0x005A  #LATIN CAPITAL LETTER Z
+0x5B   0x005B  #LEFT SQUARE BRACKET
+0x5C   0x005C  #REVERSE SOLIDUS
+0x5D   0x005D  #RIGHT SQUARE BRACKET
+0x5E   0x005E  #CIRCUMFLEX ACCENT
+0x5F   0x005F  #LOW LINE
+0x60   0x0060  #GRAVE ACCENT
+0x61   0x0061  #LATIN SMALL LETTER A
+0x62   0x0062  #LATIN SMALL LETTER B
+0x63   0x0063  #LATIN SMALL LETTER C
+0x64   0x0064  #LATIN SMALL LETTER D
+0x65   0x0065  #LATIN SMALL LETTER E
+0x66   0x0066  #LATIN SMALL LETTER F
+0x67   0x0067  #LATIN SMALL LETTER G
+0x68   0x0068  #LATIN SMALL LETTER H
+0x69   0x0069  #LATIN SMALL LETTER I
+0x6A   0x006A  #LATIN SMALL LETTER J
+0x6B   0x006B  #LATIN SMALL LETTER K
+0x6C   0x006C  #LATIN SMALL LETTER L
+0x6D   0x006D  #LATIN SMALL LETTER M
+0x6E   0x006E  #LATIN SMALL LETTER N
+0x6F   0x006F  #LATIN SMALL LETTER O
+0x70   0x0070  #LATIN SMALL LETTER P
+0x71   0x0071  #LATIN SMALL LETTER Q
+0x72   0x0072  #LATIN SMALL LETTER R
+0x73   0x0073  #LATIN SMALL LETTER S
+0x74   0x0074  #LATIN SMALL LETTER T
+0x75   0x0075  #LATIN SMALL LETTER U
+0x76   0x0076  #LATIN SMALL LETTER V
+0x77   0x0077  #LATIN SMALL LETTER W
+0x78   0x0078  #LATIN SMALL LETTER X
+0x79   0x0079  #LATIN SMALL LETTER Y
+0x7A   0x007A  #LATIN SMALL LETTER Z
+0x7B   0x007B  #LEFT CURLY BRACKET
+0x7C   0x007C  #VERTICAL LINE
+0x7D   0x007D  #RIGHT CURLY BRACKET
+0x7E   0x007E  #TILDE
+0x7F   0x007F  #DELETE
+0x80   0x20AC  #EURO SIGN
+0x81           #UNDEFINED
+0x82           #UNDEFINED
+0x83           #UNDEFINED
+0x84           #UNDEFINED
+0x85   0x2026  #HORIZONTAL ELLIPSIS
+0x86           #UNDEFINED
+0x87           #UNDEFINED
+0x88           #UNDEFINED
+0x89           #UNDEFINED
+0x8A           #UNDEFINED
+0x8B           #UNDEFINED
+0x8C           #UNDEFINED
+0x8D           #UNDEFINED
+0x8E           #UNDEFINED
+0x8F           #UNDEFINED
+0x90           #UNDEFINED
+0x91   0x2018  #LEFT SINGLE QUOTATION MARK
+0x92   0x2019  #RIGHT SINGLE QUOTATION MARK
+0x93   0x201C  #LEFT DOUBLE QUOTATION MARK
+0x94   0x201D  #RIGHT DOUBLE QUOTATION MARK
+0x95   0x2022  #BULLET
+0x96   0x2013  #EN DASH
+0x97   0x2014  #EM DASH
+0x98           #UNDEFINED
+0x99           #UNDEFINED
+0x9A           #UNDEFINED
+0x9B           #UNDEFINED
+0x9C           #UNDEFINED
+0x9D           #UNDEFINED
+0x9E           #UNDEFINED
+0x9F           #UNDEFINED
+0xA0   0x00A0  #NO-BREAK SPACE
+0xA1   0x0E01  #THAI CHARACTER KO KAI
+0xA2   0x0E02  #THAI CHARACTER KHO KHAI
+0xA3   0x0E03  #THAI CHARACTER KHO KHUAT
+0xA4   0x0E04  #THAI CHARACTER KHO KHWAI
+0xA5   0x0E05  #THAI CHARACTER KHO KHON
+0xA6   0x0E06  #THAI CHARACTER KHO RAKHANG
+0xA7   0x0E07  #THAI CHARACTER NGO NGU
+0xA8   0x0E08  #THAI CHARACTER CHO CHAN
+0xA9   0x0E09  #THAI CHARACTER CHO CHING
+0xAA   0x0E0A  #THAI CHARACTER CHO CHANG
+0xAB   0x0E0B  #THAI CHARACTER SO SO
+0xAC   0x0E0C  #THAI CHARACTER CHO CHOE
+0xAD   0x0E0D  #THAI CHARACTER YO YING
+0xAE   0x0E0E  #THAI CHARACTER DO CHADA
+0xAF   0x0E0F  #THAI CHARACTER TO PATAK
+0xB0   0x0E10  #THAI CHARACTER THO THAN
+0xB1   0x0E11  #THAI CHARACTER THO NANGMONTHO
+0xB2   0x0E12  #THAI CHARACTER THO PHUTHAO
+0xB3   0x0E13  #THAI CHARACTER NO NEN
+0xB4   0x0E14  #THAI CHARACTER DO DEK
+0xB5   0x0E15  #THAI CHARACTER TO TAO
+0xB6   0x0E16  #THAI CHARACTER THO THUNG
+0xB7   0x0E17  #THAI CHARACTER THO THAHAN
+0xB8   0x0E18  #THAI CHARACTER THO THONG
+0xB9   0x0E19  #THAI CHARACTER NO NU
+0xBA   0x0E1A  #THAI CHARACTER BO BAIMAI
+0xBB   0x0E1B  #THAI CHARACTER PO PLA
+0xBC   0x0E1C  #THAI CHARACTER PHO PHUNG
+0xBD   0x0E1D  #THAI CHARACTER FO FA
+0xBE   0x0E1E  #THAI CHARACTER PHO PHAN
+0xBF   0x0E1F  #THAI CHARACTER FO FAN
+0xC0   0x0E20  #THAI CHARACTER PHO SAMPHAO
+0xC1   0x0E21  #THAI CHARACTER MO MA
+0xC2   0x0E22  #THAI CHARACTER YO YAK
+0xC3   0x0E23  #THAI CHARACTER RO RUA
+0xC4   0x0E24  #THAI CHARACTER RU
+0xC5   0x0E25  #THAI CHARACTER LO LING
+0xC6   0x0E26  #THAI CHARACTER LU
+0xC7   0x0E27  #THAI CHARACTER WO WAEN
+0xC8   0x0E28  #THAI CHARACTER SO SALA
+0xC9   0x0E29  #THAI CHARACTER SO RUSI
+0xCA   0x0E2A  #THAI CHARACTER SO SUA
+0xCB   0x0E2B  #THAI CHARACTER HO HIP
+0xCC   0x0E2C  #THAI CHARACTER LO CHULA
+0xCD   0x0E2D  #THAI CHARACTER O ANG
+0xCE   0x0E2E  #THAI CHARACTER HO NOKHUK
+0xCF   0x0E2F  #THAI CHARACTER PAIYANNOI
+0xD0   0x0E30  #THAI CHARACTER SARA A
+0xD1   0x0E31  #THAI CHARACTER MAI HAN-AKAT
+0xD2   0x0E32  #THAI CHARACTER SARA AA
+0xD3   0x0E33  #THAI CHARACTER SARA AM
+0xD4   0x0E34  #THAI CHARACTER SARA I
+0xD5   0x0E35  #THAI CHARACTER SARA II
+0xD6   0x0E36  #THAI CHARACTER SARA UE
+0xD7   0x0E37  #THAI CHARACTER SARA UEE
+0xD8   0x0E38  #THAI CHARACTER SARA U
+0xD9   0x0E39  #THAI CHARACTER SARA UU
+0xDA   0x0E3A  #THAI CHARACTER PHINTHU
+0xDB           #UNDEFINED
+0xDC           #UNDEFINED
+0xDD           #UNDEFINED
+0xDE           #UNDEFINED
+0xDF   0x0E3F  #THAI CURRENCY SYMBOL BAHT
+0xE0   0x0E40  #THAI CHARACTER SARA E
+0xE1   0x0E41  #THAI CHARACTER SARA AE
+0xE2   0x0E42  #THAI CHARACTER SARA O
+0xE3   0x0E43  #THAI CHARACTER SARA AI MAIMUAN
+0xE4   0x0E44  #THAI CHARACTER SARA AI MAIMALAI
+0xE5   0x0E45  #THAI CHARACTER LAKKHANGYAO
+0xE6   0x0E46  #THAI CHARACTER MAIYAMOK
+0xE7   0x0E47  #THAI CHARACTER MAITAIKHU
+0xE8   0x0E48  #THAI CHARACTER MAI EK
+0xE9   0x0E49  #THAI CHARACTER MAI THO
+0xEA   0x0E4A  #THAI CHARACTER MAI TRI
+0xEB   0x0E4B  #THAI CHARACTER MAI CHATTAWA
+0xEC   0x0E4C  #THAI CHARACTER THANTHAKHAT
+0xED   0x0E4D  #THAI CHARACTER NIKHAHIT
+0xEE   0x0E4E  #THAI CHARACTER YAMAKKAN
+0xEF   0x0E4F  #THAI CHARACTER FONGMAN
+0xF0   0x0E50  #THAI DIGIT ZERO
+0xF1   0x0E51  #THAI DIGIT ONE
+0xF2   0x0E52  #THAI DIGIT TWO
+0xF3   0x0E53  #THAI DIGIT THREE
+0xF4   0x0E54  #THAI DIGIT FOUR
+0xF5   0x0E55  #THAI DIGIT FIVE
+0xF6   0x0E56  #THAI DIGIT SIX
+0xF7   0x0E57  #THAI DIGIT SEVEN
+0xF8   0x0E58  #THAI DIGIT EIGHT
+0xF9   0x0E59  #THAI DIGIT NINE
+0xFA   0x0E5A  #THAI CHARACTER ANGKHANKHU
+0xFB   0x0E5B  #THAI CHARACTER KHOMUT
+0xFC           #UNDEFINED
+0xFD           #UNDEFINED
+0xFE           #UNDEFINED
+0xFF           #UNDEFINED
index 9a9a13d..5f6f538 100755 (executable)
@@ -5,27 +5,28 @@
 # matching.)
 #
 # Usage:
-#      cptable.pl UnicodeData cpXXX.txt cpXXX.bin
+#      cptable.pl UnicodeData filesystem-cp.txt console-cp.txt output.bin
 #
 # Note: for the format of the UnicodeData file, see:
 # http://www.unicode.org/Public/UNIDATA/UCD.html
 #
 
-($ucd, $cpin, $cpout) = @ARGV;
+($ucd, $cpfs, $cpco, $cpout) = @ARGV;
 
 %ucase   = ();
 %lcase   = ();
 %tcase   = ();
 %decomp  = ();
 
-open(UCD, '<', $ucd) or die;
+open(UCD, '<', $ucd)
+    or die "$0: could not open unicode data: $ucd: $!\n";
 while (defined($line = <UCD>)) {
     chomp $line;
     @f = split(/;/, $line);
     $n = hex $f[0];
-    $ucase{$n} = hex $f[12] if ($f[12] ne '');
-    $lcase{$n} = hex $f[13] if ($f[13] ne '');
-    $tcase{$n} = hex $f[14] if ($f[14] ne '');
+    $ucase{$n} = ($f[12] ne '') ? hex $f[12] : $n;
+    $lcase{$n} = ($f[13] ne '') ? hex $f[13] : $n;
+    $tcase{$n} = ($f[14] ne '') ? hex $f[14] : $n;
     if ($f[5] =~ /^[0-9A-F\s]+$/) {
        # This character has a canonical decomposition.
        # The regular expression rejects angle brackets, so other
@@ -38,11 +39,16 @@ while (defined($line = <UCD>)) {
 }
 close(UCD);
 
+#
+# Filesystem and console codepages.  The filesystem codepage is used
+# for FAT shortnames, whereas the console codepage is whatever is used
+# on the screen and keyboard.
+#
 @xtab = (undef) x 256;
 %tabx = ();
-
-open(CPIN, '<', $cpin) or die;
-while (defined($line = <CPIN>)) {
+open(CPFS, '<', $cpfs)
+    or die "$0: could not open fs codepage: $cpfs: $!\n";
+while (defined($line = <CPFS>)) {
     $line =~ s/\s*(\#.*|)$//;
     @f = split(/\s+/, $line);
     next if (scalar @f != 2);
@@ -50,9 +56,24 @@ while (defined($line = <CPIN>)) {
     $xtab[hex $f[0]] = hex $f[1]; # Codepage -> Unicode
     $tabx{hex $f[1]} = hex $f[0]; # Unicode -> Codepage
 }
-close(CPIN);
+close(CPFS);
 
-open(CPOUT, '>', $cpout) or die;
+@ytab = (undef) x 256;
+%taby = ();
+open(CPCO, '<', $cpco)
+    or die "$0: could not open console codepage: $cpco: $!\n";
+while (defined($line = <CPCO>)) {
+    $line =~ s/\s*(\#.*|)$//;
+    @f = split(/\s+/, $line);
+    next if (scalar @f != 2);
+    next if (hex $f[0] > 255);
+    $ytab[hex $f[0]] = hex $f[1]; # Codepage -> Unicode
+    $taby{hex $f[1]} = hex $f[0]; # Unicode -> Codepage
+}
+close(CPCO);
+
+open(CPOUT, '>', $cpout)
+    or die "$0: could not open output file: $cpout: $!\n";
 #
 # Magic number, in anticipation of being able to load these
 # files dynamically...
@@ -63,10 +84,17 @@ print CPOUT pack("VV", 0x8fad232b, 0x9c295319);
 print CPOUT pack("VVVVVV", 0, 0, 0, 0, 0, 0);
 
 #
-# Self (shortname) uppercase table
+# Self (shortname) uppercase table.
+# This depends both on the console codepage and the filesystem codepage;
+# the logical transcoding operation is:
+#
+# $tabx{$ucase{$ytab[$i]}}
+#
+# ... where @ytab is console codepage -> Unicode and
+# %tabx is Unicode -> filesystem codepage.
 #
 for ($i = 0; $i < 256; $i++) {
-    $uuc = $ucase{$xtab[$i]};  # Unicode upper case
+    $uuc = $ucase{$ytab[$i]};  # Unicode upper case
     if (defined($tabx{$uuc})) {
        # Straight-forward conversion
        $u = $tabx{$uuc};
@@ -74,24 +102,28 @@ for ($i = 0; $i < 256; $i++) {
        # Upper case equivalent stripped of accents
        $u = $tabx{${$decomp{$uuc}}[0]};
     } else {
-       $u = $i;
+       # No equivalent at all found.  Set this to zero, which should
+       # prevent shortname matching altogether (still making longname
+       # matching possible, of course.)
+       $u = 0;
     }
     print CPOUT pack("C", $u);
 }
 
 #
-# Unicode (longname) matching table
+# Unicode (longname) matching table.
+# This only depends on the console codepage.
 #
 for ($i = 0; $i < 256; $i++) {
-    if (!defined($xtab[$i])) {
+    if (!defined($ytab[$i])) {
        $p0 = $p1 = 0xffff;
     } else {
-       $p0 = $xtab[$i];
-       if (defined($ucase{$p0})) {
+       $p0 = $ytab[$i];
+       if ($ucase{$p0} != $p0) {
            $p1 = $ucase{$p0};
-       } elsif (defined($lcase{$p0})) {
+       } elsif ($lcase{$p0} != $p0) {
            $p1 = $lcase{$p0};
-       } elsif (defined($tcase{$p0})) {
+       } elsif ($tcase{$p0} != $p0) {
            $p1 = $tcase{$p0};
        } else {
            $p1 = $p0;
diff --git a/codepage/iso8859-1.txt b/codepage/iso8859-1.txt
new file mode 100644 (file)
index 0000000..473ecab
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO/IEC 8859-1:1998 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-1:1998 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-1 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-1 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x00A1  #       INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #       CENT SIGN
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x00A5  #       YEN SIGN
+0xA6   0x00A6  #       BROKEN BAR
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x00AA  #       FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x00AF  #       MACRON
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x00B9  #       SUPERSCRIPT ONE
+0xBA   0x00BA  #       MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #       VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #       VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #       INVERTED QUESTION MARK
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x00D0  #       LATIN CAPITAL LETTER ETH (Icelandic)
+0xD1   0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x00DE  #       LATIN CAPITAL LETTER THORN (Icelandic)
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S (German)
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x00F0  #       LATIN SMALL LETTER ETH (Icelandic)
+0xF1   0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x00FE  #       LATIN SMALL LETTER THORN (Icelandic)
+0xFF   0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/codepage/iso8859-10.txt b/codepage/iso8859-10.txt
new file mode 100644 (file)
index 0000000..374a42b
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO/IEC 8859-10:1998 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.1
+#      Table format:     Format A
+#      Date:             1999 October 11
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-10:1998 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-10 order.
+#
+#      Version history
+#      1.0 version new.
+#       1.1 corrected mistake in mapping of 0xA4
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2   0x0112  #       LATIN CAPITAL LETTER E WITH MACRON
+0xA3   0x0122  #       LATIN CAPITAL LETTER G WITH CEDILLA
+0xA4   0x012A  #       LATIN CAPITAL LETTER I WITH MACRON
+0xA5   0x0128  #       LATIN CAPITAL LETTER I WITH TILDE
+0xA6   0x0136  #       LATIN CAPITAL LETTER K WITH CEDILLA
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x013B  #       LATIN CAPITAL LETTER L WITH CEDILLA
+0xA9   0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xAA   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xAB   0x0166  #       LATIN CAPITAL LETTER T WITH STROKE
+0xAC   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x016A  #       LATIN CAPITAL LETTER U WITH MACRON
+0xAF   0x014A  #       LATIN CAPITAL LETTER ENG
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xB2   0x0113  #       LATIN SMALL LETTER E WITH MACRON
+0xB3   0x0123  #       LATIN SMALL LETTER G WITH CEDILLA
+0xB4   0x012B  #       LATIN SMALL LETTER I WITH MACRON
+0xB5   0x0129  #       LATIN SMALL LETTER I WITH TILDE
+0xB6   0x0137  #       LATIN SMALL LETTER K WITH CEDILLA
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x013C  #       LATIN SMALL LETTER L WITH CEDILLA
+0xB9   0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xBA   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xBB   0x0167  #       LATIN SMALL LETTER T WITH STROKE
+0xBC   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xBD   0x2015  #       HORIZONTAL BAR
+0xBE   0x016B  #       LATIN SMALL LETTER U WITH MACRON
+0xBF   0x014B  #       LATIN SMALL LETTER ENG
+0xC0   0x0100  #       LATIN CAPITAL LETTER A WITH MACRON
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x012E  #       LATIN CAPITAL LETTER I WITH OGONEK
+0xC8   0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x0116  #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x00D0  #       LATIN CAPITAL LETTER ETH (Icelandic)
+0xD1   0x0145  #       LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2   0x014C  #       LATIN CAPITAL LETTER O WITH MACRON
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x0168  #       LATIN CAPITAL LETTER U WITH TILDE
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x0172  #       LATIN CAPITAL LETTER U WITH OGONEK
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x00DE  #       LATIN CAPITAL LETTER THORN (Icelandic)
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S (German)
+0xE0   0x0101  #       LATIN SMALL LETTER A WITH MACRON
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x012F  #       LATIN SMALL LETTER I WITH OGONEK
+0xE8   0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x0117  #       LATIN SMALL LETTER E WITH DOT ABOVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x00F0  #       LATIN SMALL LETTER ETH (Icelandic)
+0xF1   0x0146  #       LATIN SMALL LETTER N WITH CEDILLA
+0xF2   0x014D  #       LATIN SMALL LETTER O WITH MACRON
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x0169  #       LATIN SMALL LETTER U WITH TILDE
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x0173  #       LATIN SMALL LETTER U WITH OGONEK
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x00FE  #       LATIN SMALL LETTER THORN (Icelandic)
+0xFF   0x0138  #       LATIN SMALL LETTER KRA
diff --git a/codepage/iso8859-11.txt b/codepage/iso8859-11.txt
new file mode 100644 (file)
index 0000000..192bd9d
--- /dev/null
@@ -0,0 +1,297 @@
+#
+#      Name:             ISO/IEC 8859-11:2001 to Unicode
+#      Unicode version:  3.2
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             2002 October 7
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 2002 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-11:2001 characters map into Unicode.
+#
+#      ISO/IEC 8859-11:2001 is equivalent to TIS 620-2533 (1990) with
+#      the addition of 0xA0 NO-BREAK SPACE.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-11 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-11 order.
+#
+#      Version history:
+#              2002 October 7  Created
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      For any comments or problems, please use the Unicode
+#      web contact form at:
+#              http://www.unicode.org/unicode/reporting.html
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0E01  #       THAI CHARACTER KO KAI
+0xA2   0x0E02  #       THAI CHARACTER KHO KHAI
+0xA3   0x0E03  #       THAI CHARACTER KHO KHUAT
+0xA4   0x0E04  #       THAI CHARACTER KHO KHWAI
+0xA5   0x0E05  #       THAI CHARACTER KHO KHON
+0xA6   0x0E06  #       THAI CHARACTER KHO RAKHANG
+0xA7   0x0E07  #       THAI CHARACTER NGO NGU
+0xA8   0x0E08  #       THAI CHARACTER CHO CHAN
+0xA9   0x0E09  #       THAI CHARACTER CHO CHING
+0xAA   0x0E0A  #       THAI CHARACTER CHO CHANG
+0xAB   0x0E0B  #       THAI CHARACTER SO SO
+0xAC   0x0E0C  #       THAI CHARACTER CHO CHOE
+0xAD   0x0E0D  #       THAI CHARACTER YO YING
+0xAE   0x0E0E  #       THAI CHARACTER DO CHADA
+0xAF   0x0E0F  #       THAI CHARACTER TO PATAK
+0xB0   0x0E10  #       THAI CHARACTER THO THAN
+0xB1   0x0E11  #       THAI CHARACTER THO NANGMONTHO
+0xB2   0x0E12  #       THAI CHARACTER THO PHUTHAO
+0xB3   0x0E13  #       THAI CHARACTER NO NEN
+0xB4   0x0E14  #       THAI CHARACTER DO DEK
+0xB5   0x0E15  #       THAI CHARACTER TO TAO
+0xB6   0x0E16  #       THAI CHARACTER THO THUNG
+0xB7   0x0E17  #       THAI CHARACTER THO THAHAN
+0xB8   0x0E18  #       THAI CHARACTER THO THONG
+0xB9   0x0E19  #       THAI CHARACTER NO NU
+0xBA   0x0E1A  #       THAI CHARACTER BO BAIMAI
+0xBB   0x0E1B  #       THAI CHARACTER PO PLA
+0xBC   0x0E1C  #       THAI CHARACTER PHO PHUNG
+0xBD   0x0E1D  #       THAI CHARACTER FO FA
+0xBE   0x0E1E  #       THAI CHARACTER PHO PHAN
+0xBF   0x0E1F  #       THAI CHARACTER FO FAN
+0xC0   0x0E20  #       THAI CHARACTER PHO SAMPHAO
+0xC1   0x0E21  #       THAI CHARACTER MO MA
+0xC2   0x0E22  #       THAI CHARACTER YO YAK
+0xC3   0x0E23  #       THAI CHARACTER RO RUA
+0xC4   0x0E24  #       THAI CHARACTER RU
+0xC5   0x0E25  #       THAI CHARACTER LO LING
+0xC6   0x0E26  #       THAI CHARACTER LU
+0xC7   0x0E27  #       THAI CHARACTER WO WAEN
+0xC8   0x0E28  #       THAI CHARACTER SO SALA
+0xC9   0x0E29  #       THAI CHARACTER SO RUSI
+0xCA   0x0E2A  #       THAI CHARACTER SO SUA
+0xCB   0x0E2B  #       THAI CHARACTER HO HIP
+0xCC   0x0E2C  #       THAI CHARACTER LO CHULA
+0xCD   0x0E2D  #       THAI CHARACTER O ANG
+0xCE   0x0E2E  #       THAI CHARACTER HO NOKHUK
+0xCF   0x0E2F  #       THAI CHARACTER PAIYANNOI
+0xD0   0x0E30  #       THAI CHARACTER SARA A
+0xD1   0x0E31  #       THAI CHARACTER MAI HAN-AKAT
+0xD2   0x0E32  #       THAI CHARACTER SARA AA
+0xD3   0x0E33  #       THAI CHARACTER SARA AM
+0xD4   0x0E34  #       THAI CHARACTER SARA I
+0xD5   0x0E35  #       THAI CHARACTER SARA II
+0xD6   0x0E36  #       THAI CHARACTER SARA UE
+0xD7   0x0E37  #       THAI CHARACTER SARA UEE
+0xD8   0x0E38  #       THAI CHARACTER SARA U
+0xD9   0x0E39  #       THAI CHARACTER SARA UU
+0xDA   0x0E3A  #       THAI CHARACTER PHINTHU
+0xDF   0x0E3F  #       THAI CURRENCY SYMBOL BAHT
+0xE0   0x0E40  #       THAI CHARACTER SARA E
+0xE1   0x0E41  #       THAI CHARACTER SARA AE
+0xE2   0x0E42  #       THAI CHARACTER SARA O
+0xE3   0x0E43  #       THAI CHARACTER SARA AI MAIMUAN
+0xE4   0x0E44  #       THAI CHARACTER SARA AI MAIMALAI
+0xE5   0x0E45  #       THAI CHARACTER LAKKHANGYAO
+0xE6   0x0E46  #       THAI CHARACTER MAIYAMOK
+0xE7   0x0E47  #       THAI CHARACTER MAITAIKHU
+0xE8   0x0E48  #       THAI CHARACTER MAI EK
+0xE9   0x0E49  #       THAI CHARACTER MAI THO
+0xEA   0x0E4A  #       THAI CHARACTER MAI TRI
+0xEB   0x0E4B  #       THAI CHARACTER MAI CHATTAWA
+0xEC   0x0E4C  #       THAI CHARACTER THANTHAKHAT
+0xED   0x0E4D  #       THAI CHARACTER NIKHAHIT
+0xEE   0x0E4E  #       THAI CHARACTER YAMAKKAN
+0xEF   0x0E4F  #       THAI CHARACTER FONGMAN
+0xF0   0x0E50  #       THAI DIGIT ZERO
+0xF1   0x0E51  #       THAI DIGIT ONE
+0xF2   0x0E52  #       THAI DIGIT TWO
+0xF3   0x0E53  #       THAI DIGIT THREE
+0xF4   0x0E54  #       THAI DIGIT FOUR
+0xF5   0x0E55  #       THAI DIGIT FIVE
+0xF6   0x0E56  #       THAI DIGIT SIX
+0xF7   0x0E57  #       THAI DIGIT SEVEN
+0xF8   0x0E58  #       THAI DIGIT EIGHT
+0xF9   0x0E59  #       THAI DIGIT NINE
+0xFA   0x0E5A  #       THAI CHARACTER ANGKHANKHU
+0xFB   0x0E5B  #       THAI CHARACTER KHOMUT
diff --git a/codepage/iso8859-13.txt b/codepage/iso8859-13.txt
new file mode 100644 (file)
index 0000000..cd11b53
--- /dev/null
@@ -0,0 +1,299 @@
+#
+#      Name:             ISO/IEC 8859-13:1998  to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-13:1998 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-13 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-13 order.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x201D  #       RIGHT DOUBLE QUOTATION MARK
+0xA2   0x00A2  #       CENT SIGN
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x201E  #       DOUBLE LOW-9 QUOTATION MARK
+0xA6   0x00A6  #       BROKEN BAR
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x0156  #       LATIN CAPITAL LETTER R WITH CEDILLA
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x00C6  #       LATIN CAPITAL LETTER AE
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x201C  #       LEFT DOUBLE QUOTATION MARK
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xB9   0x00B9  #       SUPERSCRIPT ONE
+0xBA   0x0157  #       LATIN SMALL LETTER R WITH CEDILLA
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #       VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #       VULGAR FRACTION THREE QUARTERS
+0xBF   0x00E6  #       LATIN SMALL LETTER AE
+0xC0   0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xC1   0x012E  #       LATIN CAPITAL LETTER I WITH OGONEK
+0xC2   0x0100  #       LATIN CAPITAL LETTER A WITH MACRON
+0xC3   0x0106  #       LATIN CAPITAL LETTER C WITH ACUTE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xC7   0x0112  #       LATIN CAPITAL LETTER E WITH MACRON
+0xC8   0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0179  #       LATIN CAPITAL LETTER Z WITH ACUTE
+0xCB   0x0116  #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCC   0x0122  #       LATIN CAPITAL LETTER G WITH CEDILLA
+0xCD   0x0136  #       LATIN CAPITAL LETTER K WITH CEDILLA
+0xCE   0x012A  #       LATIN CAPITAL LETTER I WITH MACRON
+0xCF   0x013B  #       LATIN CAPITAL LETTER L WITH CEDILLA
+0xD0   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xD1   0x0143  #       LATIN CAPITAL LETTER N WITH ACUTE
+0xD2   0x0145  #       LATIN CAPITAL LETTER N WITH CEDILLA
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x014C  #       LATIN CAPITAL LETTER O WITH MACRON
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x0172  #       LATIN CAPITAL LETTER U WITH OGONEK
+0xD9   0x0141  #       LATIN CAPITAL LETTER L WITH STROKE
+0xDA   0x015A  #       LATIN CAPITAL LETTER S WITH ACUTE
+0xDB   0x016A  #       LATIN CAPITAL LETTER U WITH MACRON
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xDE   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S (German)
+0xE0   0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xE1   0x012F  #       LATIN SMALL LETTER I WITH OGONEK
+0xE2   0x0101  #       LATIN SMALL LETTER A WITH MACRON
+0xE3   0x0107  #       LATIN SMALL LETTER C WITH ACUTE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xE7   0x0113  #       LATIN SMALL LETTER E WITH MACRON
+0xE8   0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x017A  #       LATIN SMALL LETTER Z WITH ACUTE
+0xEB   0x0117  #       LATIN SMALL LETTER E WITH DOT ABOVE
+0xEC   0x0123  #       LATIN SMALL LETTER G WITH CEDILLA
+0xED   0x0137  #       LATIN SMALL LETTER K WITH CEDILLA
+0xEE   0x012B  #       LATIN SMALL LETTER I WITH MACRON
+0xEF   0x013C  #       LATIN SMALL LETTER L WITH CEDILLA
+0xF0   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xF1   0x0144  #       LATIN SMALL LETTER N WITH ACUTE
+0xF2   0x0146  #       LATIN SMALL LETTER N WITH CEDILLA
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x014D  #       LATIN SMALL LETTER O WITH MACRON
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x0173  #       LATIN SMALL LETTER U WITH OGONEK
+0xF9   0x0142  #       LATIN SMALL LETTER L WITH STROKE
+0xFA   0x015B  #       LATIN SMALL LETTER S WITH ACUTE
+0xFB   0x016B  #       LATIN SMALL LETTER U WITH MACRON
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xFE   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xFF   0x2019  #       RIGHT SINGLE QUOTATION MARK
diff --git a/codepage/iso8859-14.txt b/codepage/iso8859-14.txt
new file mode 100644 (file)
index 0000000..73e9855
--- /dev/null
@@ -0,0 +1,301 @@
+#
+#      Name:             ISO/IEC 8859-14:1998 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#                        Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-14:1998 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-14 order.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x1E02  #       LATIN CAPITAL LETTER B WITH DOT ABOVE
+0xA2   0x1E03  #       LATIN SMALL LETTER B WITH DOT ABOVE
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x010A  #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xA5   0x010B  #       LATIN SMALL LETTER C WITH DOT ABOVE
+0xA6   0x1E0A  #       LATIN CAPITAL LETTER D WITH DOT ABOVE
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x1E80  #       LATIN CAPITAL LETTER W WITH GRAVE
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x1E82  #       LATIN CAPITAL LETTER W WITH ACUTE
+0xAB   0x1E0B  #       LATIN SMALL LETTER D WITH DOT ABOVE
+0xAC   0x1EF2  #       LATIN CAPITAL LETTER Y WITH GRAVE
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xB0   0x1E1E  #       LATIN CAPITAL LETTER F WITH DOT ABOVE
+0xB1   0x1E1F  #       LATIN SMALL LETTER F WITH DOT ABOVE
+0xB2   0x0120  #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xB3   0x0121  #       LATIN SMALL LETTER G WITH DOT ABOVE
+0xB4   0x1E40  #       LATIN CAPITAL LETTER M WITH DOT ABOVE
+0xB5   0x1E41  #       LATIN SMALL LETTER M WITH DOT ABOVE
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x1E56  #       LATIN CAPITAL LETTER P WITH DOT ABOVE
+0xB8   0x1E81  #       LATIN SMALL LETTER W WITH GRAVE
+0xB9   0x1E57  #       LATIN SMALL LETTER P WITH DOT ABOVE
+0xBA   0x1E83  #       LATIN SMALL LETTER W WITH ACUTE
+0xBB   0x1E60  #       LATIN CAPITAL LETTER S WITH DOT ABOVE
+0xBC   0x1EF3  #       LATIN SMALL LETTER Y WITH GRAVE
+0xBD   0x1E84  #       LATIN CAPITAL LETTER W WITH DIAERESIS
+0xBE   0x1E85  #       LATIN SMALL LETTER W WITH DIAERESIS
+0xBF   0x1E61  #       LATIN SMALL LETTER S WITH DOT ABOVE
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x0174  #       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0xD1   0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x1E6A  #       LATIN CAPITAL LETTER T WITH DOT ABOVE
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x0176  #       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x0175  #       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0xF1   0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x1E6B  #       LATIN SMALL LETTER T WITH DOT ABOVE
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x0177  #       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0xFF   0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/codepage/iso8859-15.txt b/codepage/iso8859-15.txt
new file mode 100644 (file)
index 0000000..ab2f32f
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO/IEC 8859-15:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#                        Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-15:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-15 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-15 order.
+#
+#      Version history
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x00A1  #       INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #       CENT SIGN
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x20AC  #       EURO SIGN
+0xA5   0x00A5  #       YEN SIGN
+0xA6   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x00AA  #       FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x00AF  #       MACRON
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xB9   0x00B9  #       SUPERSCRIPT ONE
+0xBA   0x00BA  #       MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x0152  #       LATIN CAPITAL LIGATURE OE
+0xBD   0x0153  #       LATIN SMALL LIGATURE OE
+0xBE   0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF   0x00BF  #       INVERTED QUESTION MARK
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x00D0  #       LATIN CAPITAL LETTER ETH
+0xD1   0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x00DE  #       LATIN CAPITAL LETTER THORN
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x00F0  #       LATIN SMALL LETTER ETH
+0xF1   0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x00FE  #       LATIN SMALL LETTER THORN
+0xFF   0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/codepage/iso8859-16.txt b/codepage/iso8859-16.txt
new file mode 100644 (file)
index 0000000..c0dcf0d
--- /dev/null
@@ -0,0 +1,299 @@
+#
+#      Name:             ISO/IEC 8859-16:2001 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             2001 July 26
+#      Authors:          Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+#
+#      Copyright (c) 1999-2001 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-16:2001 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-16 order.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2   0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xA3   0x0141  #       LATIN CAPITAL LETTER L WITH STROKE
+0xA4   0x20AC  #       EURO SIGN
+0xA5   0x201E  #       DOUBLE LOW-9 QUOTATION MARK
+0xA6   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x0218  #       LATIN CAPITAL LETTER S WITH COMMA BELOW
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x0179  #       LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x017A  #       LATIN SMALL LETTER Z WITH ACUTE
+0xAF   0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xB3   0x0142  #       LATIN SMALL LETTER L WITH STROKE
+0xB4   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xB5   0x201D  #       RIGHT DOUBLE QUOTATION MARK
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xB9   0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xBA   0x0219  #       LATIN SMALL LETTER S WITH COMMA BELOW
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x0152  #       LATIN CAPITAL LIGATURE OE
+0xBD   0x0153  #       LATIN SMALL LIGATURE OE
+0xBE   0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF   0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x0102  #       LATIN CAPITAL LETTER A WITH BREVE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x0106  #       LATIN CAPITAL LETTER C WITH ACUTE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xD1   0x0143  #       LATIN CAPITAL LETTER N WITH ACUTE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x0150  #       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x015A  #       LATIN CAPITAL LETTER S WITH ACUTE
+0xD8   0x0170  #       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xDE   0x021A  #       LATIN CAPITAL LETTER T WITH COMMA BELOW
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x0103  #       LATIN SMALL LETTER A WITH BREVE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x0107  #       LATIN SMALL LETTER C WITH ACUTE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xF1   0x0144  #       LATIN SMALL LETTER N WITH ACUTE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x0151  #       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x015B  #       LATIN SMALL LETTER S WITH ACUTE
+0xF8   0x0171  #       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xFE   0x021B  #       LATIN SMALL LETTER T WITH COMMA BELOW
+0xFF   0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/codepage/iso8859-2.txt b/codepage/iso8859-2.txt
new file mode 100644 (file)
index 0000000..e45df25
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO 8859-2:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-2:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-2 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-2 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2   0x02D8  #       BREVE
+0xA3   0x0141  #       LATIN CAPITAL LETTER L WITH STROKE
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x013D  #       LATIN CAPITAL LETTER L WITH CARON
+0xA6   0x015A  #       LATIN CAPITAL LETTER S WITH ACUTE
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xAA   0x015E  #       LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB   0x0164  #       LATIN CAPITAL LETTER T WITH CARON
+0xAC   0x0179  #       LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xAF   0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xB2   0x02DB  #       OGONEK
+0xB3   0x0142  #       LATIN SMALL LETTER L WITH STROKE
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x013E  #       LATIN SMALL LETTER L WITH CARON
+0xB6   0x015B  #       LATIN SMALL LETTER S WITH ACUTE
+0xB7   0x02C7  #       CARON
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xBA   0x015F  #       LATIN SMALL LETTER S WITH CEDILLA
+0xBB   0x0165  #       LATIN SMALL LETTER T WITH CARON
+0xBC   0x017A  #       LATIN SMALL LETTER Z WITH ACUTE
+0xBD   0x02DD  #       DOUBLE ACUTE ACCENT
+0xBE   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xBF   0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0   0x0154  #       LATIN CAPITAL LETTER R WITH ACUTE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x0102  #       LATIN CAPITAL LETTER A WITH BREVE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x0139  #       LATIN CAPITAL LETTER L WITH ACUTE
+0xC6   0x0106  #       LATIN CAPITAL LETTER C WITH ACUTE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x011A  #       LATIN CAPITAL LETTER E WITH CARON
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x010E  #       LATIN CAPITAL LETTER D WITH CARON
+0xD0   0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xD1   0x0143  #       LATIN CAPITAL LETTER N WITH ACUTE
+0xD2   0x0147  #       LATIN CAPITAL LETTER N WITH CARON
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x0150  #       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x0158  #       LATIN CAPITAL LETTER R WITH CARON
+0xD9   0x016E  #       LATIN CAPITAL LETTER U WITH RING ABOVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x0170  #       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE   0x0162  #       LATIN CAPITAL LETTER T WITH CEDILLA
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x0155  #       LATIN SMALL LETTER R WITH ACUTE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x0103  #       LATIN SMALL LETTER A WITH BREVE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x013A  #       LATIN SMALL LETTER L WITH ACUTE
+0xE6   0x0107  #       LATIN SMALL LETTER C WITH ACUTE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x011B  #       LATIN SMALL LETTER E WITH CARON
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x010F  #       LATIN SMALL LETTER D WITH CARON
+0xF0   0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xF1   0x0144  #       LATIN SMALL LETTER N WITH ACUTE
+0xF2   0x0148  #       LATIN SMALL LETTER N WITH CARON
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x0151  #       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x0159  #       LATIN SMALL LETTER R WITH CARON
+0xF9   0x016F  #       LATIN SMALL LETTER U WITH RING ABOVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x0171  #       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE   0x0163  #       LATIN SMALL LETTER T WITH CEDILLA
+0xFF   0x02D9  #       DOT ABOVE
diff --git a/codepage/iso8859-3.txt b/codepage/iso8859-3.txt
new file mode 100644 (file)
index 0000000..9b6ac69
--- /dev/null
@@ -0,0 +1,296 @@
+#
+#      Name:             ISO/IEC 8859-3:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-3:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-3 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0126  #       LATIN CAPITAL LETTER H WITH STROKE
+0xA2   0x02D8  #       BREVE
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA6   0x0124  #       LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x0130  #       LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xAA   0x015E  #       LATIN CAPITAL LETTER S WITH CEDILLA
+0xAB   0x011E  #       LATIN CAPITAL LETTER G WITH BREVE
+0xAC   0x0134  #       LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAF   0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x0127  #       LATIN SMALL LETTER H WITH STROKE
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x0125  #       LATIN SMALL LETTER H WITH CIRCUMFLEX
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x0131  #       LATIN SMALL LETTER DOTLESS I
+0xBA   0x015F  #       LATIN SMALL LETTER S WITH CEDILLA
+0xBB   0x011F  #       LATIN SMALL LETTER G WITH BREVE
+0xBC   0x0135  #       LATIN SMALL LETTER J WITH CIRCUMFLEX
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBF   0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x010A  #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xC6   0x0108  #       LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD1   0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x0120  #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x011C  #       LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x016C  #       LATIN CAPITAL LETTER U WITH BREVE
+0xDE   0x015C  #       LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x010B  #       LATIN SMALL LETTER C WITH DOT ABOVE
+0xE6   0x0109  #       LATIN SMALL LETTER C WITH CIRCUMFLEX
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF1   0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x0121  #       LATIN SMALL LETTER G WITH DOT ABOVE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x011D  #       LATIN SMALL LETTER G WITH CIRCUMFLEX
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x016D  #       LATIN SMALL LETTER U WITH BREVE
+0xFE   0x015D  #       LATIN SMALL LETTER S WITH CIRCUMFLEX
+0xFF   0x02D9  #       DOT ABOVE
diff --git a/codepage/iso8859-4.txt b/codepage/iso8859-4.txt
new file mode 100644 (file)
index 0000000..662e698
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO/IEC 8859-4:1998 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-4:1998 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-4 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-4 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2   0x0138  #       LATIN SMALL LETTER KRA
+0xA3   0x0156  #       LATIN CAPITAL LETTER R WITH CEDILLA
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x0128  #       LATIN CAPITAL LETTER I WITH TILDE
+0xA6   0x013B  #       LATIN CAPITAL LETTER L WITH CEDILLA
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xAA   0x0112  #       LATIN CAPITAL LETTER E WITH MACRON
+0xAB   0x0122  #       LATIN CAPITAL LETTER G WITH CEDILLA
+0xAC   0x0166  #       LATIN CAPITAL LETTER T WITH STROKE
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xAF   0x00AF  #       MACRON
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xB2   0x02DB  #       OGONEK
+0xB3   0x0157  #       LATIN SMALL LETTER R WITH CEDILLA
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x0129  #       LATIN SMALL LETTER I WITH TILDE
+0xB6   0x013C  #       LATIN SMALL LETTER L WITH CEDILLA
+0xB7   0x02C7  #       CARON
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xBA   0x0113  #       LATIN SMALL LETTER E WITH MACRON
+0xBB   0x0123  #       LATIN SMALL LETTER G WITH CEDILLA
+0xBC   0x0167  #       LATIN SMALL LETTER T WITH STROKE
+0xBD   0x014A  #       LATIN CAPITAL LETTER ENG
+0xBE   0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xBF   0x014B  #       LATIN SMALL LETTER ENG
+0xC0   0x0100  #       LATIN CAPITAL LETTER A WITH MACRON
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x012E  #       LATIN CAPITAL LETTER I WITH OGONEK
+0xC8   0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x0116  #       LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x012A  #       LATIN CAPITAL LETTER I WITH MACRON
+0xD0   0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xD1   0x0145  #       LATIN CAPITAL LETTER N WITH CEDILLA
+0xD2   0x014C  #       LATIN CAPITAL LETTER O WITH MACRON
+0xD3   0x0136  #       LATIN CAPITAL LETTER K WITH CEDILLA
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x0172  #       LATIN CAPITAL LETTER U WITH OGONEK
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x0168  #       LATIN CAPITAL LETTER U WITH TILDE
+0xDE   0x016A  #       LATIN CAPITAL LETTER U WITH MACRON
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x0101  #       LATIN SMALL LETTER A WITH MACRON
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x012F  #       LATIN SMALL LETTER I WITH OGONEK
+0xE8   0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x0117  #       LATIN SMALL LETTER E WITH DOT ABOVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x012B  #       LATIN SMALL LETTER I WITH MACRON
+0xF0   0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xF1   0x0146  #       LATIN SMALL LETTER N WITH CEDILLA
+0xF2   0x014D  #       LATIN SMALL LETTER O WITH MACRON
+0xF3   0x0137  #       LATIN SMALL LETTER K WITH CEDILLA
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x0173  #       LATIN SMALL LETTER U WITH OGONEK
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x0169  #       LATIN SMALL LETTER U WITH TILDE
+0xFE   0x016B  #       LATIN SMALL LETTER U WITH MACRON
+0xFF   0x02D9  #       DOT ABOVE
diff --git a/codepage/iso8859-5.txt b/codepage/iso8859-5.txt
new file mode 100644 (file)
index 0000000..a7ed1ce
--- /dev/null
@@ -0,0 +1,303 @@
+#
+#      Name:             ISO 8859-5:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-5:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-5 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x0401  #       CYRILLIC CAPITAL LETTER IO
+0xA2   0x0402  #       CYRILLIC CAPITAL LETTER DJE
+0xA3   0x0403  #       CYRILLIC CAPITAL LETTER GJE
+0xA4   0x0404  #       CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xA5   0x0405  #       CYRILLIC CAPITAL LETTER DZE
+0xA6   0x0406  #       CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA7   0x0407  #       CYRILLIC CAPITAL LETTER YI
+0xA8   0x0408  #       CYRILLIC CAPITAL LETTER JE
+0xA9   0x0409  #       CYRILLIC CAPITAL LETTER LJE
+0xAA   0x040A  #       CYRILLIC CAPITAL LETTER NJE
+0xAB   0x040B  #       CYRILLIC CAPITAL LETTER TSHE
+0xAC   0x040C  #       CYRILLIC CAPITAL LETTER KJE
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x040E  #       CYRILLIC CAPITAL LETTER SHORT U
+0xAF   0x040F  #       CYRILLIC CAPITAL LETTER DZHE
+0xB0   0x0410  #       CYRILLIC CAPITAL LETTER A
+0xB1   0x0411  #       CYRILLIC CAPITAL LETTER BE
+0xB2   0x0412  #       CYRILLIC CAPITAL LETTER VE
+0xB3   0x0413  #       CYRILLIC CAPITAL LETTER GHE
+0xB4   0x0414  #       CYRILLIC CAPITAL LETTER DE
+0xB5   0x0415  #       CYRILLIC CAPITAL LETTER IE
+0xB6   0x0416  #       CYRILLIC CAPITAL LETTER ZHE
+0xB7   0x0417  #       CYRILLIC CAPITAL LETTER ZE
+0xB8   0x0418  #       CYRILLIC CAPITAL LETTER I
+0xB9   0x0419  #       CYRILLIC CAPITAL LETTER SHORT I
+0xBA   0x041A  #       CYRILLIC CAPITAL LETTER KA
+0xBB   0x041B  #       CYRILLIC CAPITAL LETTER EL
+0xBC   0x041C  #       CYRILLIC CAPITAL LETTER EM
+0xBD   0x041D  #       CYRILLIC CAPITAL LETTER EN
+0xBE   0x041E  #       CYRILLIC CAPITAL LETTER O
+0xBF   0x041F  #       CYRILLIC CAPITAL LETTER PE
+0xC0   0x0420  #       CYRILLIC CAPITAL LETTER ER
+0xC1   0x0421  #       CYRILLIC CAPITAL LETTER ES
+0xC2   0x0422  #       CYRILLIC CAPITAL LETTER TE
+0xC3   0x0423  #       CYRILLIC CAPITAL LETTER U
+0xC4   0x0424  #       CYRILLIC CAPITAL LETTER EF
+0xC5   0x0425  #       CYRILLIC CAPITAL LETTER HA
+0xC6   0x0426  #       CYRILLIC CAPITAL LETTER TSE
+0xC7   0x0427  #       CYRILLIC CAPITAL LETTER CHE
+0xC8   0x0428  #       CYRILLIC CAPITAL LETTER SHA
+0xC9   0x0429  #       CYRILLIC CAPITAL LETTER SHCHA
+0xCA   0x042A  #       CYRILLIC CAPITAL LETTER HARD SIGN
+0xCB   0x042B  #       CYRILLIC CAPITAL LETTER YERU
+0xCC   0x042C  #       CYRILLIC CAPITAL LETTER SOFT SIGN
+0xCD   0x042D  #       CYRILLIC CAPITAL LETTER E
+0xCE   0x042E  #       CYRILLIC CAPITAL LETTER YU
+0xCF   0x042F  #       CYRILLIC CAPITAL LETTER YA
+0xD0   0x0430  #       CYRILLIC SMALL LETTER A
+0xD1   0x0431  #       CYRILLIC SMALL LETTER BE
+0xD2   0x0432  #       CYRILLIC SMALL LETTER VE
+0xD3   0x0433  #       CYRILLIC SMALL LETTER GHE
+0xD4   0x0434  #       CYRILLIC SMALL LETTER DE
+0xD5   0x0435  #       CYRILLIC SMALL LETTER IE
+0xD6   0x0436  #       CYRILLIC SMALL LETTER ZHE
+0xD7   0x0437  #       CYRILLIC SMALL LETTER ZE
+0xD8   0x0438  #       CYRILLIC SMALL LETTER I
+0xD9   0x0439  #       CYRILLIC SMALL LETTER SHORT I
+0xDA   0x043A  #       CYRILLIC SMALL LETTER KA
+0xDB   0x043B  #       CYRILLIC SMALL LETTER EL
+0xDC   0x043C  #       CYRILLIC SMALL LETTER EM
+0xDD   0x043D  #       CYRILLIC SMALL LETTER EN
+0xDE   0x043E  #       CYRILLIC SMALL LETTER O
+0xDF   0x043F  #       CYRILLIC SMALL LETTER PE
+0xE0   0x0440  #       CYRILLIC SMALL LETTER ER
+0xE1   0x0441  #       CYRILLIC SMALL LETTER ES
+0xE2   0x0442  #       CYRILLIC SMALL LETTER TE
+0xE3   0x0443  #       CYRILLIC SMALL LETTER U
+0xE4   0x0444  #       CYRILLIC SMALL LETTER EF
+0xE5   0x0445  #       CYRILLIC SMALL LETTER HA
+0xE6   0x0446  #       CYRILLIC SMALL LETTER TSE
+0xE7   0x0447  #       CYRILLIC SMALL LETTER CHE
+0xE8   0x0448  #       CYRILLIC SMALL LETTER SHA
+0xE9   0x0449  #       CYRILLIC SMALL LETTER SHCHA
+0xEA   0x044A  #       CYRILLIC SMALL LETTER HARD SIGN
+0xEB   0x044B  #       CYRILLIC SMALL LETTER YERU
+0xEC   0x044C  #       CYRILLIC SMALL LETTER SOFT SIGN
+0xED   0x044D  #       CYRILLIC SMALL LETTER E
+0xEE   0x044E  #       CYRILLIC SMALL LETTER YU
+0xEF   0x044F  #       CYRILLIC SMALL LETTER YA
+0xF0   0x2116  #       NUMERO SIGN
+0xF1   0x0451  #       CYRILLIC SMALL LETTER IO
+0xF2   0x0452  #       CYRILLIC SMALL LETTER DJE
+0xF3   0x0453  #       CYRILLIC SMALL LETTER GJE
+0xF4   0x0454  #       CYRILLIC SMALL LETTER UKRAINIAN IE
+0xF5   0x0455  #       CYRILLIC SMALL LETTER DZE
+0xF6   0x0456  #       CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xF7   0x0457  #       CYRILLIC SMALL LETTER YI
+0xF8   0x0458  #       CYRILLIC SMALL LETTER JE
+0xF9   0x0459  #       CYRILLIC SMALL LETTER LJE
+0xFA   0x045A  #       CYRILLIC SMALL LETTER NJE
+0xFB   0x045B  #       CYRILLIC SMALL LETTER TSHE
+0xFC   0x045C  #       CYRILLIC SMALL LETTER KJE
+0xFD   0x00A7  #       SECTION SIGN
+0xFE   0x045E  #       CYRILLIC SMALL LETTER SHORT U
+0xFF   0x045F  #       CYRILLIC SMALL LETTER DZHE
diff --git a/codepage/iso8859-6.txt b/codepage/iso8859-6.txt
new file mode 100644 (file)
index 0000000..69ac7f5
--- /dev/null
@@ -0,0 +1,260 @@
+#
+#      Name:             ISO 8859-6:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-6:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-6 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#      0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
+#      of the Arabic digits (U+0660..U+0669).
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA4   0x00A4  #       CURRENCY SIGN
+0xAC   0x060C  #       ARABIC COMMA
+0xAD   0x00AD  #       SOFT HYPHEN
+0xBB   0x061B  #       ARABIC SEMICOLON
+0xBF   0x061F  #       ARABIC QUESTION MARK
+0xC1   0x0621  #       ARABIC LETTER HAMZA
+0xC2   0x0622  #       ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3   0x0623  #       ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4   0x0624  #       ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5   0x0625  #       ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6   0x0626  #       ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7   0x0627  #       ARABIC LETTER ALEF
+0xC8   0x0628  #       ARABIC LETTER BEH
+0xC9   0x0629  #       ARABIC LETTER TEH MARBUTA
+0xCA   0x062A  #       ARABIC LETTER TEH
+0xCB   0x062B  #       ARABIC LETTER THEH
+0xCC   0x062C  #       ARABIC LETTER JEEM
+0xCD   0x062D  #       ARABIC LETTER HAH
+0xCE   0x062E  #       ARABIC LETTER KHAH
+0xCF   0x062F  #       ARABIC LETTER DAL
+0xD0   0x0630  #       ARABIC LETTER THAL
+0xD1   0x0631  #       ARABIC LETTER REH
+0xD2   0x0632  #       ARABIC LETTER ZAIN
+0xD3   0x0633  #       ARABIC LETTER SEEN
+0xD4   0x0634  #       ARABIC LETTER SHEEN
+0xD5   0x0635  #       ARABIC LETTER SAD
+0xD6   0x0636  #       ARABIC LETTER DAD
+0xD7   0x0637  #       ARABIC LETTER TAH
+0xD8   0x0638  #       ARABIC LETTER ZAH
+0xD9   0x0639  #       ARABIC LETTER AIN
+0xDA   0x063A  #       ARABIC LETTER GHAIN
+0xE0   0x0640  #       ARABIC TATWEEL
+0xE1   0x0641  #       ARABIC LETTER FEH
+0xE2   0x0642  #       ARABIC LETTER QAF
+0xE3   0x0643  #       ARABIC LETTER KAF
+0xE4   0x0644  #       ARABIC LETTER LAM
+0xE5   0x0645  #       ARABIC LETTER MEEM
+0xE6   0x0646  #       ARABIC LETTER NOON
+0xE7   0x0647  #       ARABIC LETTER HEH
+0xE8   0x0648  #       ARABIC LETTER WAW
+0xE9   0x0649  #       ARABIC LETTER ALEF MAKSURA
+0xEA   0x064A  #       ARABIC LETTER YEH
+0xEB   0x064B  #       ARABIC FATHATAN
+0xEC   0x064C  #       ARABIC DAMMATAN
+0xED   0x064D  #       ARABIC KASRATAN
+0xEE   0x064E  #       ARABIC FATHA
+0xEF   0x064F  #       ARABIC DAMMA
+0xF0   0x0650  #       ARABIC KASRA
+0xF1   0x0651  #       ARABIC SHADDA
+0xF2   0x0652  #       ARABIC SUKUN
diff --git a/codepage/iso8859-7.txt b/codepage/iso8859-7.txt
new file mode 100644 (file)
index 0000000..bc46b74
--- /dev/null
@@ -0,0 +1,308 @@
+#
+#      Name:             ISO 8859-7:2003 to Unicode
+#      Unicode version:  4.0
+#      Table version:    2.0
+#      Table format:     Format A
+#      Date:             2003-Nov-12
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-2003 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO 8859-7:2003 characters map into Unicode.
+#
+#      ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928,
+#      and ECMA 118. ISO 8859-7:2003 adds two currency signs 
+#      and one other character not in the earlier standard.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO 8859-7 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO 8859-7 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#      Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7
+#      Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7
+#
+#      2.0 version updates 1.0 version by adding mappings for the
+#      three newly added characters 0xA4, 0xA5, 0xAA.
+#
+#      Updated versions of this file may be found in:
+#              <http://www.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact the Unicode Consortium at:
+#              <http://www.unicode.org/reporting.html>
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x2018  #       LEFT SINGLE QUOTATION MARK
+0xA2   0x2019  #       RIGHT SINGLE QUOTATION MARK
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x20AC  #       EURO SIGN
+0xA5   0x20AF  #       DRACHMA SIGN
+0xA6   0x00A6  #       BROKEN BAR
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x037A  #       GREEK YPOGEGRAMMENI
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAF   0x2015  #       HORIZONTAL BAR
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x0384  #       GREEK TONOS
+0xB5   0x0385  #       GREEK DIALYTIKA TONOS
+0xB6   0x0386  #       GREEK CAPITAL LETTER ALPHA WITH TONOS
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x0388  #       GREEK CAPITAL LETTER EPSILON WITH TONOS
+0xB9   0x0389  #       GREEK CAPITAL LETTER ETA WITH TONOS
+0xBA   0x038A  #       GREEK CAPITAL LETTER IOTA WITH TONOS
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x038C  #       GREEK CAPITAL LETTER OMICRON WITH TONOS
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBE   0x038E  #       GREEK CAPITAL LETTER UPSILON WITH TONOS
+0xBF   0x038F  #       GREEK CAPITAL LETTER OMEGA WITH TONOS
+0xC0   0x0390  #       GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0xC1   0x0391  #       GREEK CAPITAL LETTER ALPHA
+0xC2   0x0392  #       GREEK CAPITAL LETTER BETA
+0xC3   0x0393  #       GREEK CAPITAL LETTER GAMMA
+0xC4   0x0394  #       GREEK CAPITAL LETTER DELTA
+0xC5   0x0395  #       GREEK CAPITAL LETTER EPSILON
+0xC6   0x0396  #       GREEK CAPITAL LETTER ZETA
+0xC7   0x0397  #       GREEK CAPITAL LETTER ETA
+0xC8   0x0398  #       GREEK CAPITAL LETTER THETA
+0xC9   0x0399  #       GREEK CAPITAL LETTER IOTA
+0xCA   0x039A  #       GREEK CAPITAL LETTER KAPPA
+0xCB   0x039B  #       GREEK CAPITAL LETTER LAMDA
+0xCC   0x039C  #       GREEK CAPITAL LETTER MU
+0xCD   0x039D  #       GREEK CAPITAL LETTER NU
+0xCE   0x039E  #       GREEK CAPITAL LETTER XI
+0xCF   0x039F  #       GREEK CAPITAL LETTER OMICRON
+0xD0   0x03A0  #       GREEK CAPITAL LETTER PI
+0xD1   0x03A1  #       GREEK CAPITAL LETTER RHO
+0xD3   0x03A3  #       GREEK CAPITAL LETTER SIGMA
+0xD4   0x03A4  #       GREEK CAPITAL LETTER TAU
+0xD5   0x03A5  #       GREEK CAPITAL LETTER UPSILON
+0xD6   0x03A6  #       GREEK CAPITAL LETTER PHI
+0xD7   0x03A7  #       GREEK CAPITAL LETTER CHI
+0xD8   0x03A8  #       GREEK CAPITAL LETTER PSI
+0xD9   0x03A9  #       GREEK CAPITAL LETTER OMEGA
+0xDA   0x03AA  #       GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0xDB   0x03AB  #       GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+0xDC   0x03AC  #       GREEK SMALL LETTER ALPHA WITH TONOS
+0xDD   0x03AD  #       GREEK SMALL LETTER EPSILON WITH TONOS
+0xDE   0x03AE  #       GREEK SMALL LETTER ETA WITH TONOS
+0xDF   0x03AF  #       GREEK SMALL LETTER IOTA WITH TONOS
+0xE0   0x03B0  #       GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0xE1   0x03B1  #       GREEK SMALL LETTER ALPHA
+0xE2   0x03B2  #       GREEK SMALL LETTER BETA
+0xE3   0x03B3  #       GREEK SMALL LETTER GAMMA
+0xE4   0x03B4  #       GREEK SMALL LETTER DELTA
+0xE5   0x03B5  #       GREEK SMALL LETTER EPSILON
+0xE6   0x03B6  #       GREEK SMALL LETTER ZETA
+0xE7   0x03B7  #       GREEK SMALL LETTER ETA
+0xE8   0x03B8  #       GREEK SMALL LETTER THETA
+0xE9   0x03B9  #       GREEK SMALL LETTER IOTA
+0xEA   0x03BA  #       GREEK SMALL LETTER KAPPA
+0xEB   0x03BB  #       GREEK SMALL LETTER LAMDA
+0xEC   0x03BC  #       GREEK SMALL LETTER MU
+0xED   0x03BD  #       GREEK SMALL LETTER NU
+0xEE   0x03BE  #       GREEK SMALL LETTER XI
+0xEF   0x03BF  #       GREEK SMALL LETTER OMICRON
+0xF0   0x03C0  #       GREEK SMALL LETTER PI
+0xF1   0x03C1  #       GREEK SMALL LETTER RHO
+0xF2   0x03C2  #       GREEK SMALL LETTER FINAL SIGMA
+0xF3   0x03C3  #       GREEK SMALL LETTER SIGMA
+0xF4   0x03C4  #       GREEK SMALL LETTER TAU
+0xF5   0x03C5  #       GREEK SMALL LETTER UPSILON
+0xF6   0x03C6  #       GREEK SMALL LETTER PHI
+0xF7   0x03C7  #       GREEK SMALL LETTER CHI
+0xF8   0x03C8  #       GREEK SMALL LETTER PSI
+0xF9   0x03C9  #       GREEK SMALL LETTER OMEGA
+0xFA   0x03CA  #       GREEK SMALL LETTER IOTA WITH DIALYTIKA
+0xFB   0x03CB  #       GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+0xFC   0x03CC  #       GREEK SMALL LETTER OMICRON WITH TONOS
+0xFD   0x03CD  #       GREEK SMALL LETTER UPSILON WITH TONOS
+0xFE   0x03CE  #       GREEK SMALL LETTER OMEGA WITH TONOS
diff --git a/codepage/iso8859-8.txt b/codepage/iso8859-8.txt
new file mode 100644 (file)
index 0000000..bc8da4c
--- /dev/null
@@ -0,0 +1,270 @@
+#
+#      Name:             ISO/IEC 8859-8:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.1
+#      Table format:     Format A
+#      Date:             2000-Jan-03
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on optical media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-8:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-8 order.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#       1.1 version updates to the published 8859-8:1999, correcting
+#          the mapping of 0xAF and adding mappings for LRM and RLM.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA2   0x00A2  #       CENT SIGN
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x00A5  #       YEN SIGN
+0xA6   0x00A6  #       BROKEN BAR
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x00D7  #       MULTIPLICATION SIGN
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x00AF  #       MACRON
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x00B9  #       SUPERSCRIPT ONE
+0xBA   0x00F7  #       DIVISION SIGN
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #       VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #       VULGAR FRACTION THREE QUARTERS
+0xDF   0x2017  #       DOUBLE LOW LINE
+0xE0   0x05D0  #       HEBREW LETTER ALEF
+0xE1   0x05D1  #       HEBREW LETTER BET
+0xE2   0x05D2  #       HEBREW LETTER GIMEL
+0xE3   0x05D3  #       HEBREW LETTER DALET
+0xE4   0x05D4  #       HEBREW LETTER HE
+0xE5   0x05D5  #       HEBREW LETTER VAV
+0xE6   0x05D6  #       HEBREW LETTER ZAYIN
+0xE7   0x05D7  #       HEBREW LETTER HET
+0xE8   0x05D8  #       HEBREW LETTER TET
+0xE9   0x05D9  #       HEBREW LETTER YOD
+0xEA   0x05DA  #       HEBREW LETTER FINAL KAF
+0xEB   0x05DB  #       HEBREW LETTER KAF
+0xEC   0x05DC  #       HEBREW LETTER LAMED
+0xED   0x05DD  #       HEBREW LETTER FINAL MEM
+0xEE   0x05DE  #       HEBREW LETTER MEM
+0xEF   0x05DF  #       HEBREW LETTER FINAL NUN
+0xF0   0x05E0  #       HEBREW LETTER NUN
+0xF1   0x05E1  #       HEBREW LETTER SAMEKH
+0xF2   0x05E2  #       HEBREW LETTER AYIN
+0xF3   0x05E3  #       HEBREW LETTER FINAL PE
+0xF4   0x05E4  #       HEBREW LETTER PE
+0xF5   0x05E5  #       HEBREW LETTER FINAL TSADI
+0xF6   0x05E6  #       HEBREW LETTER TSADI
+0xF7   0x05E7  #       HEBREW LETTER QOF
+0xF8   0x05E8  #       HEBREW LETTER RESH
+0xF9   0x05E9  #       HEBREW LETTER SHIN
+0xFA   0x05EA  #       HEBREW LETTER TAV
+0xFD   0x200E  #       LEFT-TO-RIGHT MARK
+0xFE   0x200F  #       RIGHT-TO-LEFT MARK
+
diff --git a/codepage/iso8859-9.txt b/codepage/iso8859-9.txt
new file mode 100644 (file)
index 0000000..22901f1
--- /dev/null
@@ -0,0 +1,307 @@
+#
+#      Name:             ISO/IEC 8859-9:1999 to Unicode
+#      Unicode version:  3.0
+#      Table version:    1.0
+#      Table format:     Format A
+#      Date:             1999 July 27
+#      Authors:          Ken Whistler <kenw@sybase.com>
+#
+#      Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
+#
+#      This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#      No claims are made as to fitness for any particular purpose.  No
+#      warranties of any kind are expressed or implied.  The recipient
+#      agrees to determine applicability of information provided.  If this
+#      file has been provided on magnetic media by Unicode, Inc., the sole
+#      remedy for any claim will be exchange of defective media within 90
+#      days of receipt.
+#
+#      Unicode, Inc. hereby grants the right to freely use the information
+#      supplied in this file in the creation of products supporting the
+#      Unicode Standard, and to make copies of this file in any form for
+#      internal or external distribution as long as this notice remains
+#      attached.
+#
+#      General notes:
+#
+#      This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-9:1999 characters map into Unicode.
+#
+#      Format:  Three tab-separated columns
+#               Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX)
+#               Column #2 is the Unicode (in hex as 0xXXXX)
+#               Column #3 the Unicode name (follows a comment sign, '#')
+#
+#      The entries are in ISO/IEC 8859-9 order.
+#
+#      ISO/IEC 8859-9 is also equivalent to ISO-IR-148.
+#
+#      Version history
+#      1.0 version updates 0.1 version by adding mappings for all
+#      control characters.
+#
+#      Updated versions of this file may be found in:
+#              <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#      Any comments or problems, contact <errata@unicode.org>
+#      Please note that <errata@unicode.org> is an archival address;
+#      notices will be checked, but do not expect an immediate response.
+#
+0x00   0x0000  #       NULL
+0x01   0x0001  #       START OF HEADING
+0x02   0x0002  #       START OF TEXT
+0x03   0x0003  #       END OF TEXT
+0x04   0x0004  #       END OF TRANSMISSION
+0x05   0x0005  #       ENQUIRY
+0x06   0x0006  #       ACKNOWLEDGE
+0x07   0x0007  #       BELL
+0x08   0x0008  #       BACKSPACE
+0x09   0x0009  #       HORIZONTAL TABULATION
+0x0A   0x000A  #       LINE FEED
+0x0B   0x000B  #       VERTICAL TABULATION
+0x0C   0x000C  #       FORM FEED
+0x0D   0x000D  #       CARRIAGE RETURN
+0x0E   0x000E  #       SHIFT OUT
+0x0F   0x000F  #       SHIFT IN
+0x10   0x0010  #       DATA LINK ESCAPE
+0x11   0x0011  #       DEVICE CONTROL ONE
+0x12   0x0012  #       DEVICE CONTROL TWO
+0x13   0x0013  #       DEVICE CONTROL THREE
+0x14   0x0014  #       DEVICE CONTROL FOUR
+0x15   0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16   0x0016  #       SYNCHRONOUS IDLE
+0x17   0x0017  #       END OF TRANSMISSION BLOCK
+0x18   0x0018  #       CANCEL
+0x19   0x0019  #       END OF MEDIUM
+0x1A   0x001A  #       SUBSTITUTE
+0x1B   0x001B  #       ESCAPE
+0x1C   0x001C  #       FILE SEPARATOR
+0x1D   0x001D  #       GROUP SEPARATOR
+0x1E   0x001E  #       RECORD SEPARATOR
+0x1F   0x001F  #       UNIT SEPARATOR
+0x20   0x0020  #       SPACE
+0x21   0x0021  #       EXCLAMATION MARK
+0x22   0x0022  #       QUOTATION MARK
+0x23   0x0023  #       NUMBER SIGN
+0x24   0x0024  #       DOLLAR SIGN
+0x25   0x0025  #       PERCENT SIGN
+0x26   0x0026  #       AMPERSAND
+0x27   0x0027  #       APOSTROPHE
+0x28   0x0028  #       LEFT PARENTHESIS
+0x29   0x0029  #       RIGHT PARENTHESIS
+0x2A   0x002A  #       ASTERISK
+0x2B   0x002B  #       PLUS SIGN
+0x2C   0x002C  #       COMMA
+0x2D   0x002D  #       HYPHEN-MINUS
+0x2E   0x002E  #       FULL STOP
+0x2F   0x002F  #       SOLIDUS
+0x30   0x0030  #       DIGIT ZERO
+0x31   0x0031  #       DIGIT ONE
+0x32   0x0032  #       DIGIT TWO
+0x33   0x0033  #       DIGIT THREE
+0x34   0x0034  #       DIGIT FOUR
+0x35   0x0035  #       DIGIT FIVE
+0x36   0x0036  #       DIGIT SIX
+0x37   0x0037  #       DIGIT SEVEN
+0x38   0x0038  #       DIGIT EIGHT
+0x39   0x0039  #       DIGIT NINE
+0x3A   0x003A  #       COLON
+0x3B   0x003B  #       SEMICOLON
+0x3C   0x003C  #       LESS-THAN SIGN
+0x3D   0x003D  #       EQUALS SIGN
+0x3E   0x003E  #       GREATER-THAN SIGN
+0x3F   0x003F  #       QUESTION MARK
+0x40   0x0040  #       COMMERCIAL AT
+0x41   0x0041  #       LATIN CAPITAL LETTER A
+0x42   0x0042  #       LATIN CAPITAL LETTER B
+0x43   0x0043  #       LATIN CAPITAL LETTER C
+0x44   0x0044  #       LATIN CAPITAL LETTER D
+0x45   0x0045  #       LATIN CAPITAL LETTER E
+0x46   0x0046  #       LATIN CAPITAL LETTER F
+0x47   0x0047  #       LATIN CAPITAL LETTER G
+0x48   0x0048  #       LATIN CAPITAL LETTER H
+0x49   0x0049  #       LATIN CAPITAL LETTER I
+0x4A   0x004A  #       LATIN CAPITAL LETTER J
+0x4B   0x004B  #       LATIN CAPITAL LETTER K
+0x4C   0x004C  #       LATIN CAPITAL LETTER L
+0x4D   0x004D  #       LATIN CAPITAL LETTER M
+0x4E   0x004E  #       LATIN CAPITAL LETTER N
+0x4F   0x004F  #       LATIN CAPITAL LETTER O
+0x50   0x0050  #       LATIN CAPITAL LETTER P
+0x51   0x0051  #       LATIN CAPITAL LETTER Q
+0x52   0x0052  #       LATIN CAPITAL LETTER R
+0x53   0x0053  #       LATIN CAPITAL LETTER S
+0x54   0x0054  #       LATIN CAPITAL LETTER T
+0x55   0x0055  #       LATIN CAPITAL LETTER U
+0x56   0x0056  #       LATIN CAPITAL LETTER V
+0x57   0x0057  #       LATIN CAPITAL LETTER W
+0x58   0x0058  #       LATIN CAPITAL LETTER X
+0x59   0x0059  #       LATIN CAPITAL LETTER Y
+0x5A   0x005A  #       LATIN CAPITAL LETTER Z
+0x5B   0x005B  #       LEFT SQUARE BRACKET
+0x5C   0x005C  #       REVERSE SOLIDUS
+0x5D   0x005D  #       RIGHT SQUARE BRACKET
+0x5E   0x005E  #       CIRCUMFLEX ACCENT
+0x5F   0x005F  #       LOW LINE
+0x60   0x0060  #       GRAVE ACCENT
+0x61   0x0061  #       LATIN SMALL LETTER A
+0x62   0x0062  #       LATIN SMALL LETTER B
+0x63   0x0063  #       LATIN SMALL LETTER C
+0x64   0x0064  #       LATIN SMALL LETTER D
+0x65   0x0065  #       LATIN SMALL LETTER E
+0x66   0x0066  #       LATIN SMALL LETTER F
+0x67   0x0067  #       LATIN SMALL LETTER G
+0x68   0x0068  #       LATIN SMALL LETTER H
+0x69   0x0069  #       LATIN SMALL LETTER I
+0x6A   0x006A  #       LATIN SMALL LETTER J
+0x6B   0x006B  #       LATIN SMALL LETTER K
+0x6C   0x006C  #       LATIN SMALL LETTER L
+0x6D   0x006D  #       LATIN SMALL LETTER M
+0x6E   0x006E  #       LATIN SMALL LETTER N
+0x6F   0x006F  #       LATIN SMALL LETTER O
+0x70   0x0070  #       LATIN SMALL LETTER P
+0x71   0x0071  #       LATIN SMALL LETTER Q
+0x72   0x0072  #       LATIN SMALL LETTER R
+0x73   0x0073  #       LATIN SMALL LETTER S
+0x74   0x0074  #       LATIN SMALL LETTER T
+0x75   0x0075  #       LATIN SMALL LETTER U
+0x76   0x0076  #       LATIN SMALL LETTER V
+0x77   0x0077  #       LATIN SMALL LETTER W
+0x78   0x0078  #       LATIN SMALL LETTER X
+0x79   0x0079  #       LATIN SMALL LETTER Y
+0x7A   0x007A  #       LATIN SMALL LETTER Z
+0x7B   0x007B  #       LEFT CURLY BRACKET
+0x7C   0x007C  #       VERTICAL LINE
+0x7D   0x007D  #       RIGHT CURLY BRACKET
+0x7E   0x007E  #       TILDE
+0x7F   0x007F  #       DELETE
+0x80   0x0080  #       <control>
+0x81   0x0081  #       <control>
+0x82   0x0082  #       <control>
+0x83   0x0083  #       <control>
+0x84   0x0084  #       <control>
+0x85   0x0085  #       <control>
+0x86   0x0086  #       <control>
+0x87   0x0087  #       <control>
+0x88   0x0088  #       <control>
+0x89   0x0089  #       <control>
+0x8A   0x008A  #       <control>
+0x8B   0x008B  #       <control>
+0x8C   0x008C  #       <control>
+0x8D   0x008D  #       <control>
+0x8E   0x008E  #       <control>
+0x8F   0x008F  #       <control>
+0x90   0x0090  #       <control>
+0x91   0x0091  #       <control>
+0x92   0x0092  #       <control>
+0x93   0x0093  #       <control>
+0x94   0x0094  #       <control>
+0x95   0x0095  #       <control>
+0x96   0x0096  #       <control>
+0x97   0x0097  #       <control>
+0x98   0x0098  #       <control>
+0x99   0x0099  #       <control>
+0x9A   0x009A  #       <control>
+0x9B   0x009B  #       <control>
+0x9C   0x009C  #       <control>
+0x9D   0x009D  #       <control>
+0x9E   0x009E  #       <control>
+0x9F   0x009F  #       <control>
+0xA0   0x00A0  #       NO-BREAK SPACE
+0xA1   0x00A1  #       INVERTED EXCLAMATION MARK
+0xA2   0x00A2  #       CENT SIGN
+0xA3   0x00A3  #       POUND SIGN
+0xA4   0x00A4  #       CURRENCY SIGN
+0xA5   0x00A5  #       YEN SIGN
+0xA6   0x00A6  #       BROKEN BAR
+0xA7   0x00A7  #       SECTION SIGN
+0xA8   0x00A8  #       DIAERESIS
+0xA9   0x00A9  #       COPYRIGHT SIGN
+0xAA   0x00AA  #       FEMININE ORDINAL INDICATOR
+0xAB   0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC   0x00AC  #       NOT SIGN
+0xAD   0x00AD  #       SOFT HYPHEN
+0xAE   0x00AE  #       REGISTERED SIGN
+0xAF   0x00AF  #       MACRON
+0xB0   0x00B0  #       DEGREE SIGN
+0xB1   0x00B1  #       PLUS-MINUS SIGN
+0xB2   0x00B2  #       SUPERSCRIPT TWO
+0xB3   0x00B3  #       SUPERSCRIPT THREE
+0xB4   0x00B4  #       ACUTE ACCENT
+0xB5   0x00B5  #       MICRO SIGN
+0xB6   0x00B6  #       PILCROW SIGN
+0xB7   0x00B7  #       MIDDLE DOT
+0xB8   0x00B8  #       CEDILLA
+0xB9   0x00B9  #       SUPERSCRIPT ONE
+0xBA   0x00BA  #       MASCULINE ORDINAL INDICATOR
+0xBB   0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC   0x00BC  #       VULGAR FRACTION ONE QUARTER
+0xBD   0x00BD  #       VULGAR FRACTION ONE HALF
+0xBE   0x00BE  #       VULGAR FRACTION THREE QUARTERS
+0xBF   0x00BF  #       INVERTED QUESTION MARK
+0xC0   0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1   0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2   0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3   0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4   0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5   0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6   0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7   0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8   0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9   0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA   0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB   0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC   0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD   0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE   0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF   0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0   0x011E  #       LATIN CAPITAL LETTER G WITH BREVE
+0xD1   0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2   0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3   0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4   0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5   0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6   0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7   0x00D7  #       MULTIPLICATION SIGN
+0xD8   0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9   0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA   0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB   0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC   0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD   0x0130  #       LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDE   0x015E  #       LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF   0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0   0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1   0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2   0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3   0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4   0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5   0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6   0x00E6  #       LATIN SMALL LETTER AE
+0xE7   0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8   0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9   0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA   0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB   0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC   0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED   0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE   0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF   0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0   0x011F  #       LATIN SMALL LETTER G WITH BREVE
+0xF1   0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2   0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3   0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4   0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5   0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6   0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7   0x00F7  #       DIVISION SIGN
+0xF8   0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9   0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA   0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB   0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC   0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD   0x0131  #       LATIN SMALL LETTER DOTLESS I
+0xFE   0x015F  #       LATIN SMALL LETTER S WITH CEDILLA
+0xFF   0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
+