#!/usr/bin/perl

#     fontcodesets -- computes which codesets a font supports
#     Copyright © 2005 Anton Zinoviev <anton@lml.bas.bg>

#     This program is free software; you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation; either version 2 of the License, or
#     (at your option) any later version.

#     This program is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.

#     If you have not received a copy of the GNU General Public License
#     along with this program, write to the Free Software Foundation, Inc.,
#     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

use warnings 'all';
use strict;

# The fonts have to support at least $threshold specific symbols from
# a code set in order to consider that the fonts support it
my $threshold = 25; 

if ($ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
    print STDERR <<EOT;
Usage: fontcodesets BDF{+BDF}
EOT
}

printf STDERR "fontcodesets $ARGV[0]\n";

my @bdfs = split /\+/, $ARGV[0];

my %unicodes = ();
for my $bdf (@bdfs) {
    open BDF, "bdf/$bdf" or die "$0: $bdf: $!\n";
    while (<BDF>) {
	if (/^\s*ENCODING\s+([0-9]+)\s*$/) {
	    $unicodes{sprintf("U+%04X", $1)} = 1;
	}
    }
    close BDF;
}

my @codesets_names = ("Arabic", "Armenian", "CyrAsia", "CyrKoi",
		      "CyrSlav", "Ethiopian", "Georgian", "Greek",
		      "Hebrew", "Lao", "Lat15", "Lat2", "Lat38",
		      "Lat7", "Thai", "Vietnamese");

my %codesets = ();

foreach my $name (@codesets_names) {
    $codesets{$name} = [];
}

# The following does not list every symbol from the code sets but only
# the symbols we want to exist.   For example for "Lat2" we list only
# symbols that do not belong to "Lat15" also.

push @{$codesets{"Lat15"}}, "U+00C0";
# U+00C0:   LATIN CAPITAL LETTER A WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00C1";
# U+00C1:   LATIN CAPITAL LETTER A WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00C2";
# U+00C2:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00C3";
# U+00C3:   LATIN CAPITAL LETTER A WITH TILDE
push @{$codesets{"Lat15"}}, "U+00C4";
# U+00C4:   LATIN CAPITAL LETTER A WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00C5";
# U+00C5:   LATIN CAPITAL LETTER A WITH RING ABOVE
push @{$codesets{"Lat15"}}, "U+00C6";
# U+00C6:   LATIN CAPITAL LETTER AE
push @{$codesets{"Lat15"}}, "U+00C7";
# U+00C7:   LATIN CAPITAL LETTER C WITH CEDILLA
push @{$codesets{"Lat15"}}, "U+00C8";
# U+00C8:   LATIN CAPITAL LETTER E WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00C9";
# U+00C9:   LATIN CAPITAL LETTER E WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00CA";
# U+00CA:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00CB";
# U+00CB:   LATIN CAPITAL LETTER E WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00CC";
# U+00CC:   LATIN CAPITAL LETTER I WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00CD";
# U+00CD:   LATIN CAPITAL LETTER I WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00CE";
# U+00CE:   LATIN CAPITAL LETTER I WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00CF";
# U+00CF:   LATIN CAPITAL LETTER I WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00D0";
# U+00D0:   LATIN CAPITAL LETTER ETH
push @{$codesets{"Lat15"}}, "U+00D1";
# U+00D1:   LATIN CAPITAL LETTER N WITH TILDE
push @{$codesets{"Lat15"}}, "U+00D2";
# U+00D2:   LATIN CAPITAL LETTER O WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00D3";
# U+00D3:   LATIN CAPITAL LETTER O WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00D4";
# U+00D4:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00D5";
# U+00D5:   LATIN CAPITAL LETTER O WITH TILDE
push @{$codesets{"Lat15"}}, "U+00D6";
# U+00D6:   LATIN CAPITAL LETTER O WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00D7";
# U+00D7:   MULTIPLICATION SIGN
push @{$codesets{"Lat15"}}, "U+00D8";
# U+00D8:   LATIN CAPITAL LETTER O WITH STROKE
push @{$codesets{"Lat15"}}, "U+00D9";
# U+00D9:   LATIN CAPITAL LETTER U WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00DA";
# U+00DA:   LATIN CAPITAL LETTER U WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00DB";
# U+00DB:   LATIN CAPITAL LETTER U WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00DC";
# U+00DC:   LATIN CAPITAL LETTER U WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00DD";
# U+00DD:   LATIN CAPITAL LETTER Y WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00DE";
# U+00DE:   LATIN CAPITAL LETTER THORN
push @{$codesets{"Lat15"}}, "U+00DF";
# U+00DF:   LATIN SMALL LETTER SHARP S
push @{$codesets{"Lat15"}}, "U+00E0";
# U+00E0:   LATIN SMALL LETTER A WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00E1";
# U+00E1:   LATIN SMALL LETTER A WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00E2";
# U+00E2:   LATIN SMALL LETTER A WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00E3";
# U+00E3:   LATIN SMALL LETTER A WITH TILDE
push @{$codesets{"Lat15"}}, "U+00E4";
# U+00E4:   LATIN SMALL LETTER A WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00E5";
# U+00E5:   LATIN SMALL LETTER A WITH RING ABOVE
push @{$codesets{"Lat15"}}, "U+00E6";
# U+00E6:   LATIN SMALL LETTER AE
push @{$codesets{"Lat15"}}, "U+00E7";
# U+00E7:   LATIN SMALL LETTER C WITH CEDILLA
push @{$codesets{"Lat15"}}, "U+00E8";
# U+00E8:   LATIN SMALL LETTER E WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00E9";
# U+00E9:   LATIN SMALL LETTER E WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00EA";
# U+00EA:   LATIN SMALL LETTER E WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00EB";
# U+00EB:   LATIN SMALL LETTER E WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00EC";
# U+00EC:   LATIN SMALL LETTER I WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00ED";
# U+00ED:   LATIN SMALL LETTER I WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00EE";
# U+00EE:   LATIN SMALL LETTER I WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00EF";
# U+00EF:   LATIN SMALL LETTER I WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00F0";
# U+00F0:   LATIN SMALL LETTER ETH
push @{$codesets{"Lat15"}}, "U+00F1";
# U+00F1:   LATIN SMALL LETTER N WITH TILDE
push @{$codesets{"Lat15"}}, "U+00F2";
# U+00F2:   LATIN SMALL LETTER O WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00F3";
# U+00F3:   LATIN SMALL LETTER O WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00F4";
# U+00F4:   LATIN SMALL LETTER O WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00F5";
# U+00F5:   LATIN SMALL LETTER O WITH TILDE
push @{$codesets{"Lat15"}}, "U+00F6";
# U+00F6:   LATIN SMALL LETTER O WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00F7";
# U+00F7:   DIVISION SIGN
push @{$codesets{"Lat15"}}, "U+00F8";
# U+00F8:   LATIN SMALL LETTER O WITH STROKE
push @{$codesets{"Lat15"}}, "U+00F9";
# U+00F9:   LATIN SMALL LETTER U WITH GRAVE
push @{$codesets{"Lat15"}}, "U+00FA";
# U+00FA:   LATIN SMALL LETTER U WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00FB";
# U+00FB:   LATIN SMALL LETTER U WITH CIRCUMFLEX
push @{$codesets{"Lat15"}}, "U+00FC";
# U+00FC:   LATIN SMALL LETTER U WITH DIAERESIS
push @{$codesets{"Lat15"}}, "U+00FD";
# U+00FD:   LATIN SMALL LETTER Y WITH ACUTE
push @{$codesets{"Lat15"}}, "U+00FE";
# U+00FE:   LATIN SMALL LETTER THORN
push @{$codesets{"Lat15"}}, "U+00FF";
# U+00FF:   LATIN SMALL LETTER Y WITH DIAERESIS



push @{$codesets{"Lat2"}}, "U+0102";
# U+0102:   LATIN CAPITAL LETTER A WITH BREVE
push @{$codesets{"Lat2"}}, "U+0103";
# U+0103:   LATIN SMALL LETTER A WITH BREVE
push @{$codesets{"Lat2"}}, "U+0104";
# U+0104:   LATIN CAPITAL LETTER A WITH OGONEK
push @{$codesets{"Lat2"}}, "U+0105";
# U+0105:   LATIN SMALL LETTER A WITH OGONEK
push @{$codesets{"Lat2"}}, "U+0106";
# U+0106:   LATIN CAPITAL LETTER C WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0107";
# U+0107:   LATIN SMALL LETTER C WITH ACUTE
push @{$codesets{"Lat2"}}, "U+010C";
# U+010C:   LATIN CAPITAL LETTER C WITH CARON
push @{$codesets{"Lat2"}}, "U+010D";
# U+010D:   LATIN SMALL LETTER C WITH CARON
push @{$codesets{"Lat2"}}, "U+010E";
# U+010E:   LATIN CAPITAL LETTER D WITH CARON
push @{$codesets{"Lat2"}}, "U+010F";
# U+010F:   LATIN SMALL LETTER D WITH CARON
push @{$codesets{"Lat2"}}, "U+0110";
# U+0110:   LATIN CAPITAL LETTER D WITH STROKE
push @{$codesets{"Lat2"}}, "U+0111";
# U+0111:   LATIN SMALL LETTER D WITH STROKE
push @{$codesets{"Lat2"}}, "U+0118";
# U+0118:   LATIN CAPITAL LETTER E WITH OGONEK
push @{$codesets{"Lat2"}}, "U+0119";
# U+0119:   LATIN SMALL LETTER E WITH OGONEK
push @{$codesets{"Lat2"}}, "U+011A";
# U+011A:   LATIN CAPITAL LETTER E WITH CARON
push @{$codesets{"Lat2"}}, "U+011B";
# U+011B:   LATIN SMALL LETTER E WITH CARON
push @{$codesets{"Lat2"}}, "U+0139";
# U+0139:   LATIN CAPITAL LETTER L WITH ACUTE
push @{$codesets{"Lat2"}}, "U+013A";
# U+013A:   LATIN SMALL LETTER L WITH ACUTE
push @{$codesets{"Lat2"}}, "U+013D";
# U+013D:   LATIN CAPITAL LETTER L WITH CARON
push @{$codesets{"Lat2"}}, "U+013E";
# U+013E:   LATIN SMALL LETTER L WITH CARON
push @{$codesets{"Lat2"}}, "U+0141";
# U+0141:   LATIN CAPITAL LETTER L WITH STROKE
push @{$codesets{"Lat2"}}, "U+0142";
# U+0142:   LATIN SMALL LETTER L WITH STROKE
push @{$codesets{"Lat2"}}, "U+0143";
# U+0143:   LATIN CAPITAL LETTER N WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0144";
# U+0144:   LATIN SMALL LETTER N WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0147";
# U+0147:   LATIN CAPITAL LETTER N WITH CARON
push @{$codesets{"Lat2"}}, "U+0148";
# U+0148:   LATIN SMALL LETTER N WITH CARON
push @{$codesets{"Lat2"}}, "U+0150";
# U+0150:   LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
push @{$codesets{"Lat2"}}, "U+0151";
# U+0151:   LATIN SMALL LETTER O WITH DOUBLE ACUTE
push @{$codesets{"Lat2"}}, "U+0154";
# U+0154:   LATIN CAPITAL LETTER R WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0155";
# U+0155:   LATIN SMALL LETTER R WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0158";
# U+0158:   LATIN CAPITAL LETTER R WITH CARON
push @{$codesets{"Lat2"}}, "U+0159";
# U+0159:   LATIN SMALL LETTER R WITH CARON
push @{$codesets{"Lat2"}}, "U+015A";
# U+015A:   LATIN CAPITAL LETTER S WITH ACUTE
push @{$codesets{"Lat2"}}, "U+015B";
# U+015B:   LATIN SMALL LETTER S WITH ACUTE
push @{$codesets{"Lat2"}}, "U+0162";
# U+0162:   LATIN CAPITAL LETTER T WITH CEDILLA
push @{$codesets{"Lat2"}}, "U+0163";
# U+0163:   LATIN SMALL LETTER T WITH CEDILLA
push @{$codesets{"Lat2"}}, "U+0164";
# U+0164:   LATIN CAPITAL LETTER T WITH CARON
push @{$codesets{"Lat2"}}, "U+0165";
# U+0165:   LATIN SMALL LETTER T WITH CARON
push @{$codesets{"Lat2"}}, "U+016E";
# U+016E:   LATIN CAPITAL LETTER U WITH RING ABOVE
push @{$codesets{"Lat2"}}, "U+016F";
# U+016F:   LATIN SMALL LETTER U WITH RING ABOVE
push @{$codesets{"Lat2"}}, "U+0170";
# U+0170:   LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
push @{$codesets{"Lat2"}}, "U+0171";
# U+0171:   LATIN SMALL LETTER U WITH DOUBLE ACUTE
push @{$codesets{"Lat2"}}, "U+0179";
# U+0179:   LATIN CAPITAL LETTER Z WITH ACUTE
push @{$codesets{"Lat2"}}, "U+017A";
# U+017A:   LATIN SMALL LETTER Z WITH ACUTE
push @{$codesets{"Lat2"}}, "U+017B";
# U+017B:   LATIN CAPITAL LETTER Z WITH DOT ABOVE
push @{$codesets{"Lat2"}}, "U+017C";
# U+017C:   LATIN SMALL LETTER Z WITH DOT ABOVE
push @{$codesets{"Lat2"}}, "U+0218";
# U+0218:   LATIN CAPITAL LETTER S WITH COMMA BELOW
push @{$codesets{"Lat2"}}, "U+0219";
# U+0219:   LATIN SMALL LETTER S WITH COMMA BELOW
push @{$codesets{"Lat2"}}, "U+021A";
# U+021A:   LATIN CAPITAL LETTER T WITH COMMA BELOW
push @{$codesets{"Lat2"}}, "U+021B";
# U+021B:   LATIN SMALL LETTER T WITH COMMA BELOW
push @{$codesets{"Lat2"}}, "U+02C7";
# U+02C7:   CARON
push @{$codesets{"Lat2"}}, "U+02D8";
# U+02D8:   BREVE
push @{$codesets{"Lat2"}}, "U+02D9";
# U+02D9:   DOT ABOVE
push @{$codesets{"Lat2"}}, "U+02DB";
# U+02DB:   OGONEK
push @{$codesets{"Lat2"}}, "U+02DD";
# U+02DD:   DOUBLE ACUTE ACCENT



push @{$codesets{"Lat38"}}, "U+0108";
# U+0108:   LATIN CAPITAL LETTER C WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0109";
# U+0109:   LATIN SMALL LETTER C WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+010A";
# U+010A:   LATIN CAPITAL LETTER C WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+010B";
# U+010B:   LATIN SMALL LETTER C WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+011C";
# U+011C:   LATIN CAPITAL LETTER G WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+011D";
# U+011D:   LATIN SMALL LETTER G WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0120";
# U+0120:   LATIN CAPITAL LETTER G WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+0121";
# U+0121:   LATIN SMALL LETTER G WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+0124";
# U+0124:   LATIN CAPITAL LETTER H WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0125";
# U+0125:   LATIN SMALL LETTER H WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0126";
# U+0126:   LATIN CAPITAL LETTER H WITH STROKE
push @{$codesets{"Lat38"}}, "U+0127";
# U+0127:   LATIN SMALL LETTER H WITH STROKE
push @{$codesets{"Lat38"}}, "U+0134";
# U+0134:   LATIN CAPITAL LETTER J WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0135";
# U+0135:   LATIN SMALL LETTER J WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+015C";
# U+015C:   LATIN CAPITAL LETTER S WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+015D";
# U+015D:   LATIN SMALL LETTER S WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+016C";
# U+016C:   LATIN CAPITAL LETTER U WITH BREVE
push @{$codesets{"Lat38"}}, "U+016D";
# U+016D:   LATIN SMALL LETTER U WITH BREVE
push @{$codesets{"Lat38"}}, "U+0174";
# U+0174:   LATIN CAPITAL LETTER W WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0175";
# U+0175:   LATIN SMALL LETTER W WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0176";
# U+0176:   LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+0177";
# U+0177:   LATIN SMALL LETTER Y WITH CIRCUMFLEX
push @{$codesets{"Lat38"}}, "U+017B";
# U+017B:   LATIN CAPITAL LETTER Z WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+017C";
# U+017C:   LATIN SMALL LETTER Z WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+02D8";
# U+02D8:   BREVE
push @{$codesets{"Lat38"}}, "U+02D9";
# U+02D9:   DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E02";
# U+1E02:   LATIN CAPITAL LETTER B WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E03";
# U+1E03:   LATIN SMALL LETTER B WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E0A";
# U+1E0A:   LATIN CAPITAL LETTER D WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E0B";
# U+1E0B:   LATIN SMALL LETTER D WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E1E";
# U+1E1E:   LATIN CAPITAL LETTER F WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E1F";
# U+1E1F:   LATIN SMALL LETTER F WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E40";
# U+1E40:   LATIN CAPITAL LETTER M WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E41";
# U+1E41:   LATIN SMALL LETTER M WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E56";
# U+1E56:   LATIN CAPITAL LETTER P WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E57";
# U+1E57:   LATIN SMALL LETTER P WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E60";
# U+1E60:   LATIN CAPITAL LETTER S WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E61";
# U+1E61:   LATIN SMALL LETTER S WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E6A";
# U+1E6A:   LATIN CAPITAL LETTER T WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E6B";
# U+1E6B:   LATIN SMALL LETTER T WITH DOT ABOVE
push @{$codesets{"Lat38"}}, "U+1E80";
# U+1E80:   LATIN CAPITAL LETTER W WITH GRAVE
push @{$codesets{"Lat38"}}, "U+1E81";
# U+1E81:   LATIN SMALL LETTER W WITH GRAVE
push @{$codesets{"Lat38"}}, "U+1E82";
# U+1E82:   LATIN CAPITAL LETTER W WITH ACUTE
push @{$codesets{"Lat38"}}, "U+1E83";
# U+1E83:   LATIN SMALL LETTER W WITH ACUTE
push @{$codesets{"Lat38"}}, "U+1E84";
# U+1E84:   LATIN CAPITAL LETTER W WITH DIAERESIS
push @{$codesets{"Lat38"}}, "U+1E85";
# U+1E85:   LATIN SMALL LETTER W WITH DIAERESIS
push @{$codesets{"Lat38"}}, "U+1EF2";
# U+1EF2:   LATIN CAPITAL LETTER Y WITH GRAVE
push @{$codesets{"Lat38"}}, "U+1EF3";
# U+1EF3:   LATIN SMALL LETTER Y WITH GRAVE


push @{$codesets{"Lat7"}}, "U+0100";
# U+0100:   LATIN CAPITAL LETTER A WITH MACRON
push @{$codesets{"Lat7"}}, "U+0101";
# U+0101:   LATIN SMALL LETTER A WITH MACRON
push @{$codesets{"Lat7"}}, "U+0112";
# U+0112:   LATIN CAPITAL LETTER E WITH MACRON
push @{$codesets{"Lat7"}}, "U+0113";
# U+0113:   LATIN SMALL LETTER E WITH MACRON
push @{$codesets{"Lat7"}}, "U+0116";
# U+0116:   LATIN CAPITAL LETTER E WITH DOT ABOVE
push @{$codesets{"Lat7"}}, "U+0117";
# U+0117:   LATIN SMALL LETTER E WITH DOT ABOVE
push @{$codesets{"Lat7"}}, "U+0122";
# U+0122:   LATIN CAPITAL LETTER G WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+0123";
# U+0123:   LATIN SMALL LETTER G WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+012A";
# U+012A:   LATIN CAPITAL LETTER I WITH MACRON
push @{$codesets{"Lat7"}}, "U+012B";
# U+012B:   LATIN SMALL LETTER I WITH MACRON
push @{$codesets{"Lat7"}}, "U+012E";
# U+012E:   LATIN CAPITAL LETTER I WITH OGONEK
push @{$codesets{"Lat7"}}, "U+012F";
# U+012F:   LATIN SMALL LETTER I WITH OGONEK
push @{$codesets{"Lat7"}}, "U+0136";
# U+0136:   LATIN CAPITAL LETTER K WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+0137";
# U+0137:   LATIN SMALL LETTER K WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+013B";
# U+013B:   LATIN CAPITAL LETTER L WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+013C";
# U+013C:   LATIN SMALL LETTER L WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+0145";
# U+0145:   LATIN CAPITAL LETTER N WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+0146";
# U+0146:   LATIN SMALL LETTER N WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+014C";
# U+014C:   LATIN CAPITAL LETTER O WITH MACRON
push @{$codesets{"Lat7"}}, "U+014D";
# U+014D:   LATIN SMALL LETTER O WITH MACRON
push @{$codesets{"Lat7"}}, "U+0156";
# U+0156:   LATIN CAPITAL LETTER R WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+0157";
# U+0157:   LATIN SMALL LETTER R WITH CEDILLA
push @{$codesets{"Lat7"}}, "U+016A";
# U+016A:   LATIN CAPITAL LETTER U WITH MACRON
push @{$codesets{"Lat7"}}, "U+016B";
# U+016B:   LATIN SMALL LETTER U WITH MACRON
push @{$codesets{"Lat7"}}, "U+0172";
# U+0172:   LATIN CAPITAL LETTER U WITH OGONEK
push @{$codesets{"Lat7"}}, "U+0173";
# U+0173:   LATIN SMALL LETTER U WITH OGONEK


push @{$codesets{"Arabic"}}, "U+060C";
# U+060C:   ARABIC COMMA
push @{$codesets{"Arabic"}}, "U+061B";
# U+061B:   ARABIC SEMICOLON
push @{$codesets{"Arabic"}}, "U+061F";
# U+061F:   ARABIC QUESTION MARK
push @{$codesets{"Arabic"}}, "U+0621";
# U+0621:   ARABIC LETTER HAMZA
push @{$codesets{"Arabic"}}, "U+0622";
# U+0622:   ARABIC LETTER ALEF WITH MADDA ABOVE
push @{$codesets{"Arabic"}}, "U+0623";
# U+0623:   ARABIC LETTER ALEF WITH HAMZA ABOVE
push @{$codesets{"Arabic"}}, "U+0624";
# U+0624:   ARABIC LETTER WAW WITH HAMZA ABOVE
push @{$codesets{"Arabic"}}, "U+0625";
# U+0625:   ARABIC LETTER ALEF WITH HAMZA BELOW
push @{$codesets{"Arabic"}}, "U+0626";
# U+0626:   ARABIC LETTER YEH WITH HAMZA ABOVE
push @{$codesets{"Arabic"}}, "U+0627";
# U+0627:   ARABIC LETTER ALEF
push @{$codesets{"Arabic"}}, "U+0628";
# U+0628:   ARABIC LETTER BEH
push @{$codesets{"Arabic"}}, "U+0629";
# U+0629:   ARABIC LETTER TEH MARBUTA
push @{$codesets{"Arabic"}}, "U+062A";
# U+062A:   ARABIC LETTER TEH
push @{$codesets{"Arabic"}}, "U+062B";
# U+062B:   ARABIC LETTER THEH
push @{$codesets{"Arabic"}}, "U+062C";
# U+062C:   ARABIC LETTER JEEM
push @{$codesets{"Arabic"}}, "U+062D";
# U+062D:   ARABIC LETTER HAH
push @{$codesets{"Arabic"}}, "U+062E";
# U+062E:   ARABIC LETTER KHAH
push @{$codesets{"Arabic"}}, "U+062F";
# U+062F:   ARABIC LETTER DAL
push @{$codesets{"Arabic"}}, "U+0630";
# U+0630:   ARABIC LETTER THAL
push @{$codesets{"Arabic"}}, "U+0631";
# U+0631:   ARABIC LETTER REH
push @{$codesets{"Arabic"}}, "U+0632";
# U+0632:   ARABIC LETTER ZAIN
push @{$codesets{"Arabic"}}, "U+0633";
# U+0633:   ARABIC LETTER SEEN
push @{$codesets{"Arabic"}}, "U+0634";
# U+0634:   ARABIC LETTER SHEEN
push @{$codesets{"Arabic"}}, "U+0635";
# U+0635:   ARABIC LETTER SAD
push @{$codesets{"Arabic"}}, "U+0636";
# U+0636:   ARABIC LETTER DAD
push @{$codesets{"Arabic"}}, "U+0637";
# U+0637:   ARABIC LETTER TAH
push @{$codesets{"Arabic"}}, "U+0638";
# U+0638:   ARABIC LETTER ZAH
push @{$codesets{"Arabic"}}, "U+0639";
# U+0639:   ARABIC LETTER AIN
push @{$codesets{"Arabic"}}, "U+063A";
# U+063A:   ARABIC LETTER GHAIN
push @{$codesets{"Arabic"}}, "U+0640";
# U+0640:   ARABIC TATWEEL
push @{$codesets{"Arabic"}}, "U+0641";
# U+0641:   ARABIC LETTER FEH
push @{$codesets{"Arabic"}}, "U+0642";
# U+0642:   ARABIC LETTER QAF
push @{$codesets{"Arabic"}}, "U+0643";
# U+0643:   ARABIC LETTER KAF
push @{$codesets{"Arabic"}}, "U+0644";
# U+0644:   ARABIC LETTER LAM
push @{$codesets{"Arabic"}}, "U+0645";
# U+0645:   ARABIC LETTER MEEM
push @{$codesets{"Arabic"}}, "U+0646";
# U+0646:   ARABIC LETTER NOON
push @{$codesets{"Arabic"}}, "U+0647";
# U+0647:   ARABIC LETTER HEH
push @{$codesets{"Arabic"}}, "U+0648";
# U+0648:   ARABIC LETTER WAW
push @{$codesets{"Arabic"}}, "U+0649";
# U+0649:   ARABIC LETTER ALEF MAKSURA
push @{$codesets{"Arabic"}}, "U+064A";
# U+064A:   ARABIC LETTER YEH
push @{$codesets{"Arabic"}}, "U+064B";
# U+064B:   ARABIC FATHATAN
push @{$codesets{"Arabic"}}, "U+064C";
# U+064C:   ARABIC DAMMATAN
push @{$codesets{"Arabic"}}, "U+064D";
# U+064D:   ARABIC KASRATAN
push @{$codesets{"Arabic"}}, "U+064E";
# U+064E:   ARABIC FATHA
push @{$codesets{"Arabic"}}, "U+064F";
# U+064F:   ARABIC DAMMA
push @{$codesets{"Arabic"}}, "U+0650";
# U+0650:   ARABIC KASRA
push @{$codesets{"Arabic"}}, "U+0651";
# U+0651:   ARABIC SHADDA
push @{$codesets{"Arabic"}}, "U+0652";
# U+0652:   ARABIC SUKUN
push @{$codesets{"Arabic"}}, "U+0679";
# U+0679:   ARABIC LETTER TTEH
push @{$codesets{"Arabic"}}, "U+067A";
# U+067A:   ARABIC LETTER TTEHEH
push @{$codesets{"Arabic"}}, "U+067B";
# U+067B:   ARABIC LETTER BEEH
push @{$codesets{"Arabic"}}, "U+067C";
# U+067C:   ARABIC LETTER TEH WITH RING
push @{$codesets{"Arabic"}}, "U+067E";
# U+067E:   ARABIC LETTER PEH
push @{$codesets{"Arabic"}}, "U+067F";
# U+067F:   ARABIC LETTER TEHEH
push @{$codesets{"Arabic"}}, "U+0680";
# U+0680:   ARABIC LETTER BEHEH
push @{$codesets{"Arabic"}}, "U+0681";
# U+0681:   ARABIC LETTER HAH WITH HAMZA ABOVE
push @{$codesets{"Arabic"}}, "U+0683";
# U+0683:   ARABIC LETTER NYEH
push @{$codesets{"Arabic"}}, "U+0684";
# U+0684:   ARABIC LETTER DYEH
push @{$codesets{"Arabic"}}, "U+0685";
# U+0685:   ARABIC LETTER HAH WITH THREE DOTS ABOVE
push @{$codesets{"Arabic"}}, "U+0686";
# U+0686:   ARABIC LETTER TCHEH
push @{$codesets{"Arabic"}}, "U+0687";
# U+0687:   ARABIC LETTER TCHEHEH
push @{$codesets{"Arabic"}}, "U+0688";
# U+0688:   ARABIC LETTER DDAL
push @{$codesets{"Arabic"}}, "U+0689";
# U+0689:   ARABIC LETTER DAL WITH RING
push @{$codesets{"Arabic"}}, "U+068C";
# U+068C:   ARABIC LETTER DAHAL
push @{$codesets{"Arabic"}}, "U+068D";
# U+068D:   ARABIC LETTER DDAHAL
push @{$codesets{"Arabic"}}, "U+068E";
# U+068E:   ARABIC LETTER DUL
push @{$codesets{"Arabic"}}, "U+0691";
# U+0691:   ARABIC LETTER RREH
push @{$codesets{"Arabic"}}, "U+0692";
# U+0692:   ARABIC LETTER REH WITH SMALL V
push @{$codesets{"Arabic"}}, "U+0693";
# U+0693:   ARABIC LETTER REH WITH RING
push @{$codesets{"Arabic"}}, "U+0696";
# U+0696:   ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
push @{$codesets{"Arabic"}}, "U+0698";
# U+0698:   ARABIC LETTER JEH
push @{$codesets{"Arabic"}}, "U+069A";
# U+069A:   ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
push @{$codesets{"Arabic"}}, "U+06A4";
# U+06A4:   ARABIC LETTER VEH
push @{$codesets{"Arabic"}}, "U+06A6";
# U+06A6:   ARABIC LETTER PEHEH
push @{$codesets{"Arabic"}}, "U+06A9";
# U+06A9:   ARABIC LETTER KEHEH
push @{$codesets{"Arabic"}}, "U+06AB";
# U+06AB:   ARABIC LETTER KAF WITH RING
push @{$codesets{"Arabic"}}, "U+06AD";
# U+06AD:   ARABIC LETTER NG
push @{$codesets{"Arabic"}}, "U+06AF";
# U+06AF:   ARABIC LETTER GAF
push @{$codesets{"Arabic"}}, "U+06B1";
# U+06B1:   ARABIC LETTER NGOEH
push @{$codesets{"Arabic"}}, "U+06B3";
# U+06B3:   ARABIC LETTER GUEH
push @{$codesets{"Arabic"}}, "U+06B5";
# U+06B5:   ARABIC LETTER LAM WITH SMALL V
push @{$codesets{"Arabic"}}, "U+06BA";
# U+06BA:   ARABIC LETTER NOON GHUNNA
push @{$codesets{"Arabic"}}, "U+06BB";
# U+06BB:   ARABIC LETTER RNOON
push @{$codesets{"Arabic"}}, "U+06BC";
# U+06BC:   ARABIC LETTER NOON WITH RING
push @{$codesets{"Arabic"}}, "U+06BE";
# U+06BE:   ARABIC LETTER HEH DOACHASHMEE
push @{$codesets{"Arabic"}}, "U+06C1";
# U+06C1:   ARABIC LETTER HEH GOAL
push @{$codesets{"Arabic"}}, "U+06C6";
# U+06C6:   ARABIC LETTER OE
push @{$codesets{"Arabic"}}, "U+06C7";
# U+06C7:   ARABIC LETTER U
push @{$codesets{"Arabic"}}, "U+06C8";
# U+06C8:   ARABIC LETTER YU
push @{$codesets{"Arabic"}}, "U+06CB";
# U+06CB:   ARABIC LETTER VE
push @{$codesets{"Arabic"}}, "U+06CC";
# U+06CC:   ARABIC LETTER FARSI YEH
push @{$codesets{"Arabic"}}, "U+06CD";
# U+06CD:   ARABIC LETTER YEH WITH TAIL
push @{$codesets{"Arabic"}}, "U+06CE";
# U+06CE:   ARABIC LETTER YEH WITH SMALL V
push @{$codesets{"Arabic"}}, "U+06D0";
# U+06D0:   ARABIC LETTER E
push @{$codesets{"Arabic"}}, "U+06D2";
# U+06D2:   ARABIC LETTER YEH BARREE
push @{$codesets{"Arabic"}}, "U+FB52";
# U+FB52:   ARABIC LETTER BEEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB53";
# U+FB53:   ARABIC LETTER BEEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB54";
# U+FB54:   ARABIC LETTER BEEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB55";
# U+FB55:   ARABIC LETTER BEEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB56";
# U+FB56:   ARABIC LETTER PEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB57";
# U+FB57:   ARABIC LETTER PEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB58";
# U+FB58:   ARABIC LETTER PEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB59";
# U+FB59:   ARABIC LETTER PEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB5A";
# U+FB5A:   ARABIC LETTER BEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB5B";
# U+FB5B:   ARABIC LETTER BEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB5C";
# U+FB5C:   ARABIC LETTER BEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB5D";
# U+FB5D:   ARABIC LETTER BEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB5E";
# U+FB5E:   ARABIC LETTER TTEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB5F";
# U+FB5F:   ARABIC LETTER TTEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB60";
# U+FB60:   ARABIC LETTER TTEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB61";
# U+FB61:   ARABIC LETTER TTEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB62";
# U+FB62:   ARABIC LETTER TEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB63";
# U+FB63:   ARABIC LETTER TEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB64";
# U+FB64:   ARABIC LETTER TEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB65";
# U+FB65:   ARABIC LETTER TEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB66";
# U+FB66:   ARABIC LETTER TTEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB67";
# U+FB67:   ARABIC LETTER TTEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB68";
# U+FB68:   ARABIC LETTER TTEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB69";
# U+FB69:   ARABIC LETTER TTEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB6A";
# U+FB6A:   ARABIC LETTER VEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB6B";
# U+FB6B:   ARABIC LETTER VEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB6C";
# U+FB6C:   ARABIC LETTER VEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB6D";
# U+FB6D:   ARABIC LETTER VEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB6E";
# U+FB6E:   ARABIC LETTER PEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB6F";
# U+FB6F:   ARABIC LETTER PEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB70";
# U+FB70:   ARABIC LETTER PEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB71";
# U+FB71:   ARABIC LETTER PEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB72";
# U+FB72:   ARABIC LETTER DYEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB73";
# U+FB73:   ARABIC LETTER DYEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB74";
# U+FB74:   ARABIC LETTER DYEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB75";
# U+FB75:   ARABIC LETTER DYEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB76";
# U+FB76:   ARABIC LETTER NYEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB77";
# U+FB77:   ARABIC LETTER NYEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB78";
# U+FB78:   ARABIC LETTER NYEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB79";
# U+FB79:   ARABIC LETTER NYEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB7A";
# U+FB7A:   ARABIC LETTER TCHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB7B";
# U+FB7B:   ARABIC LETTER TCHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB7C";
# U+FB7C:   ARABIC LETTER TCHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB7D";
# U+FB7D:   ARABIC LETTER TCHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB7E";
# U+FB7E:   ARABIC LETTER TCHEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB7F";
# U+FB7F:   ARABIC LETTER TCHEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB80";
# U+FB80:   ARABIC LETTER TCHEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB81";
# U+FB81:   ARABIC LETTER TCHEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB82";
# U+FB82:   ARABIC LETTER DDAHAL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB83";
# U+FB83:   ARABIC LETTER DDAHAL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB84";
# U+FB84:   ARABIC LETTER DAHAL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB85";
# U+FB85:   ARABIC LETTER DAHAL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB86";
# U+FB86:   ARABIC LETTER DUL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB87";
# U+FB87:   ARABIC LETTER DUL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB88";
# U+FB88:   ARABIC LETTER DDAL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB89";
# U+FB89:   ARABIC LETTER DDAL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB8A";
# U+FB8A:   ARABIC LETTER JEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB8B";
# U+FB8B:   ARABIC LETTER JEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB8C";
# U+FB8C:   ARABIC LETTER RREH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB8D";
# U+FB8D:   ARABIC LETTER RREH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB8E";
# U+FB8E:   ARABIC LETTER KEHEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB8F";
# U+FB8F:   ARABIC LETTER KEHEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB90";
# U+FB90:   ARABIC LETTER KEHEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB91";
# U+FB91:   ARABIC LETTER KEHEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB92";
# U+FB92:   ARABIC LETTER GAF ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB93";
# U+FB93:   ARABIC LETTER GAF FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB94";
# U+FB94:   ARABIC LETTER GAF INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB95";
# U+FB95:   ARABIC LETTER GAF MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB96";
# U+FB96:   ARABIC LETTER GUEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB97";
# U+FB97:   ARABIC LETTER GUEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB98";
# U+FB98:   ARABIC LETTER GUEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB99";
# U+FB99:   ARABIC LETTER GUEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB9A";
# U+FB9A:   ARABIC LETTER NGOEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB9B";
# U+FB9B:   ARABIC LETTER NGOEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FB9C";
# U+FB9C:   ARABIC LETTER NGOEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FB9D";
# U+FB9D:   ARABIC LETTER NGOEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FB9E";
# U+FB9E:   ARABIC LETTER NOON GHUNNA ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FB9F";
# U+FB9F:   ARABIC LETTER NOON GHUNNA FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBA0";
# U+FBA0:   ARABIC LETTER RNOON ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBA1";
# U+FBA1:   ARABIC LETTER RNOON FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBA2";
# U+FBA2:   ARABIC LETTER RNOON INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FBA3";
# U+FBA3:   ARABIC LETTER RNOON MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FBAA";
# U+FBAA:   ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBAB";
# U+FBAB:   ARABIC LETTER HEH DOACHASHMEE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBAC";
# U+FBAC:   ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FBAD";
# U+FBAD:   ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FBAE";
# U+FBAE:   ARABIC LETTER YEH BARREE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBAF";
# U+FBAF:   ARABIC LETTER YEH BARREE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBD3";
# U+FBD3:   ARABIC LETTER NG ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBD4";
# U+FBD4:   ARABIC LETTER NG FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBD5";
# U+FBD5:   ARABIC LETTER NG INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FBD6";
# U+FBD6:   ARABIC LETTER NG MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FBD7";
# U+FBD7:   ARABIC LETTER U ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBD8";
# U+FBD8:   ARABIC LETTER U FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBD9";
# U+FBD9:   ARABIC LETTER OE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBDA";
# U+FBDA:   ARABIC LETTER OE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBDB";
# U+FBDB:   ARABIC LETTER YU ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBDC";
# U+FBDC:   ARABIC LETTER YU FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBDE";
# U+FBDE:   ARABIC LETTER VE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBDF";
# U+FBDF:   ARABIC LETTER VE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBE4";
# U+FBE4:   ARABIC LETTER E ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBE5";
# U+FBE5:   ARABIC LETTER E FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBE6";
# U+FBE6:   ARABIC LETTER E INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FBE7";
# U+FBE7:   ARABIC LETTER E MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FBFC";
# U+FBFC:   ARABIC LETTER FARSI YEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FBFD";
# U+FBFD:   ARABIC LETTER FARSI YEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FBFE";
# U+FBFE:   ARABIC LETTER FARSI YEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FBFF";
# U+FBFF:   ARABIC LETTER FARSI YEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FE80";
# U+FE80:   ARABIC LETTER HAMZA ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE81";
# U+FE81:   ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE82";
# U+FE82:   ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE83";
# U+FE83:   ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE84";
# U+FE84:   ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE85";
# U+FE85:   ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE86";
# U+FE86:   ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE87";
# U+FE87:   ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE88";
# U+FE88:   ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE89";
# U+FE89:   ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE8A";
# U+FE8A:   ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE8B";
# U+FE8B:   ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FE8C";
# U+FE8C:   ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FE8D";
# U+FE8D:   ARABIC LETTER ALEF ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE8E";
# U+FE8E:   ARABIC LETTER ALEF FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE8F";
# U+FE8F:   ARABIC LETTER BEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE90";
# U+FE90:   ARABIC LETTER BEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE91";
# U+FE91:   ARABIC LETTER BEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FE92";
# U+FE92:   ARABIC LETTER BEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FE93";
# U+FE93:   ARABIC LETTER TEH MARBUTA ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE94";
# U+FE94:   ARABIC LETTER TEH MARBUTA FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE95";
# U+FE95:   ARABIC LETTER TEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE96";
# U+FE96:   ARABIC LETTER TEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE97";
# U+FE97:   ARABIC LETTER TEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FE98";
# U+FE98:   ARABIC LETTER TEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FE99";
# U+FE99:   ARABIC LETTER THEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE9A";
# U+FE9A:   ARABIC LETTER THEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE9B";
# U+FE9B:   ARABIC LETTER THEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FE9C";
# U+FE9C:   ARABIC LETTER THEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FE9D";
# U+FE9D:   ARABIC LETTER JEEM ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FE9E";
# U+FE9E:   ARABIC LETTER JEEM FINAL FORM
push @{$codesets{"Arabic"}}, "U+FE9F";
# U+FE9F:   ARABIC LETTER JEEM INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA0";
# U+FEA0:   ARABIC LETTER JEEM MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA1";
# U+FEA1:   ARABIC LETTER HAH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEA2";
# U+FEA2:   ARABIC LETTER HAH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEA3";
# U+FEA3:   ARABIC LETTER HAH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA4";
# U+FEA4:   ARABIC LETTER HAH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA5";
# U+FEA5:   ARABIC LETTER KHAH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEA6";
# U+FEA6:   ARABIC LETTER KHAH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEA7";
# U+FEA7:   ARABIC LETTER KHAH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA8";
# U+FEA8:   ARABIC LETTER KHAH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEA9";
# U+FEA9:   ARABIC LETTER DAL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEAA";
# U+FEAA:   ARABIC LETTER DAL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEAB";
# U+FEAB:   ARABIC LETTER THAL ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEAC";
# U+FEAC:   ARABIC LETTER THAL FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEAD";
# U+FEAD:   ARABIC LETTER REH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEAE";
# U+FEAE:   ARABIC LETTER REH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEAF";
# U+FEAF:   ARABIC LETTER ZAIN ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEB0";
# U+FEB0:   ARABIC LETTER ZAIN FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEB1";
# U+FEB1:   ARABIC LETTER SEEN ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEB2";
# U+FEB2:   ARABIC LETTER SEEN FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEB3";
# U+FEB3:   ARABIC LETTER SEEN INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEB4";
# U+FEB4:   ARABIC LETTER SEEN MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEB5";
# U+FEB5:   ARABIC LETTER SHEEN ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEB6";
# U+FEB6:   ARABIC LETTER SHEEN FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEB7";
# U+FEB7:   ARABIC LETTER SHEEN INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEB8";
# U+FEB8:   ARABIC LETTER SHEEN MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEB9";
# U+FEB9:   ARABIC LETTER SAD ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEBA";
# U+FEBA:   ARABIC LETTER SAD FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEBB";
# U+FEBB:   ARABIC LETTER SAD INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEBC";
# U+FEBC:   ARABIC LETTER SAD MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEBD";
# U+FEBD:   ARABIC LETTER DAD ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEBE";
# U+FEBE:   ARABIC LETTER DAD FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEBF";
# U+FEBF:   ARABIC LETTER DAD INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC0";
# U+FEC0:   ARABIC LETTER DAD MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC1";
# U+FEC1:   ARABIC LETTER TAH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEC2";
# U+FEC2:   ARABIC LETTER TAH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEC3";
# U+FEC3:   ARABIC LETTER TAH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC4";
# U+FEC4:   ARABIC LETTER TAH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC5";
# U+FEC5:   ARABIC LETTER ZAH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEC6";
# U+FEC6:   ARABIC LETTER ZAH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEC7";
# U+FEC7:   ARABIC LETTER ZAH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC8";
# U+FEC8:   ARABIC LETTER ZAH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEC9";
# U+FEC9:   ARABIC LETTER AIN ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FECA";
# U+FECA:   ARABIC LETTER AIN FINAL FORM
push @{$codesets{"Arabic"}}, "U+FECB";
# U+FECB:   ARABIC LETTER AIN INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FECC";
# U+FECC:   ARABIC LETTER AIN MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FECD";
# U+FECD:   ARABIC LETTER GHAIN ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FECE";
# U+FECE:   ARABIC LETTER GHAIN FINAL FORM
push @{$codesets{"Arabic"}}, "U+FECF";
# U+FECF:   ARABIC LETTER GHAIN INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FED0";
# U+FED0:   ARABIC LETTER GHAIN MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FED1";
# U+FED1:   ARABIC LETTER FEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FED2";
# U+FED2:   ARABIC LETTER FEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FED3";
# U+FED3:   ARABIC LETTER FEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FED4";
# U+FED4:   ARABIC LETTER FEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FED5";
# U+FED5:   ARABIC LETTER QAF ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FED6";
# U+FED6:   ARABIC LETTER QAF FINAL FORM
push @{$codesets{"Arabic"}}, "U+FED7";
# U+FED7:   ARABIC LETTER QAF INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FED8";
# U+FED8:   ARABIC LETTER QAF MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FED9";
# U+FED9:   ARABIC LETTER KAF ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEDA";
# U+FEDA:   ARABIC LETTER KAF FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEDB";
# U+FEDB:   ARABIC LETTER KAF INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEDC";
# U+FEDC:   ARABIC LETTER KAF MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEDD";
# U+FEDD:   ARABIC LETTER LAM ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEDE";
# U+FEDE:   ARABIC LETTER LAM FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEDF";
# U+FEDF:   ARABIC LETTER LAM INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE0";
# U+FEE0:   ARABIC LETTER LAM MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE1";
# U+FEE1:   ARABIC LETTER MEEM ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEE2";
# U+FEE2:   ARABIC LETTER MEEM FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEE3";
# U+FEE3:   ARABIC LETTER MEEM INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE4";
# U+FEE4:   ARABIC LETTER MEEM MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE5";
# U+FEE5:   ARABIC LETTER NOON ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEE6";
# U+FEE6:   ARABIC LETTER NOON FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEE7";
# U+FEE7:   ARABIC LETTER NOON INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE8";
# U+FEE8:   ARABIC LETTER NOON MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEE9";
# U+FEE9:   ARABIC LETTER HEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEEA";
# U+FEEA:   ARABIC LETTER HEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEEB";
# U+FEEB:   ARABIC LETTER HEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEEC";
# U+FEEC:   ARABIC LETTER HEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEED";
# U+FEED:   ARABIC LETTER WAW ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEEE";
# U+FEEE:   ARABIC LETTER WAW FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEEF";
# U+FEEF:   ARABIC LETTER ALEF MAKSURA ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEF0";
# U+FEF0:   ARABIC LETTER ALEF MAKSURA FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEF1";
# U+FEF1:   ARABIC LETTER YEH ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEF2";
# U+FEF2:   ARABIC LETTER YEH FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEF3";
# U+FEF3:   ARABIC LETTER YEH INITIAL FORM
push @{$codesets{"Arabic"}}, "U+FEF4";
# U+FEF4:   ARABIC LETTER YEH MEDIAL FORM
push @{$codesets{"Arabic"}}, "U+FEF5";
# U+FEF5:   ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEF6";
# U+FEF6:   ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEF7";
# U+FEF7:   ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEF8";
# U+FEF8:   ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEF9";
# U+FEF9:   ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEFA";
# U+FEFA:   ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
push @{$codesets{"Arabic"}}, "U+FEFB";
# U+FEFB:   ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
push @{$codesets{"Arabic"}}, "U+FEFC";
# U+FEFC:   ARABIC LIGATURE LAM WITH ALEF FINAL FORM


push @{$codesets{"Armenian"}}, "U+0531";
# U+0531:   ARMENIAN CAPITAL LETTER AYB
push @{$codesets{"Armenian"}}, "U+0532";
# U+0532:   ARMENIAN CAPITAL LETTER BEN
push @{$codesets{"Armenian"}}, "U+0533";
# U+0533:   ARMENIAN CAPITAL LETTER GIM
push @{$codesets{"Armenian"}}, "U+0534";
# U+0534:   ARMENIAN CAPITAL LETTER DA
push @{$codesets{"Armenian"}}, "U+0535";
# U+0535:   ARMENIAN CAPITAL LETTER ECH
push @{$codesets{"Armenian"}}, "U+0536";
# U+0536:   ARMENIAN CAPITAL LETTER ZA
push @{$codesets{"Armenian"}}, "U+0537";
# U+0537:   ARMENIAN CAPITAL LETTER EH
push @{$codesets{"Armenian"}}, "U+0538";
# U+0538:   ARMENIAN CAPITAL LETTER ET
push @{$codesets{"Armenian"}}, "U+0539";
# U+0539:   ARMENIAN CAPITAL LETTER TO
push @{$codesets{"Armenian"}}, "U+053A";
# U+053A:   ARMENIAN CAPITAL LETTER ZHE
push @{$codesets{"Armenian"}}, "U+053B";
# U+053B:   ARMENIAN CAPITAL LETTER INI
push @{$codesets{"Armenian"}}, "U+053C";
# U+053C:   ARMENIAN CAPITAL LETTER LIWN
push @{$codesets{"Armenian"}}, "U+053D";
# U+053D:   ARMENIAN CAPITAL LETTER XEH
push @{$codesets{"Armenian"}}, "U+053E";
# U+053E:   ARMENIAN CAPITAL LETTER CA
push @{$codesets{"Armenian"}}, "U+053F";
# U+053F:   ARMENIAN CAPITAL LETTER KEN
push @{$codesets{"Armenian"}}, "U+0540";
# U+0540:   ARMENIAN CAPITAL LETTER HO
push @{$codesets{"Armenian"}}, "U+0541";
# U+0541:   ARMENIAN CAPITAL LETTER JA
push @{$codesets{"Armenian"}}, "U+0542";
# U+0542:   ARMENIAN CAPITAL LETTER GHAD
push @{$codesets{"Armenian"}}, "U+0543";
# U+0543:   ARMENIAN CAPITAL LETTER CHEH
push @{$codesets{"Armenian"}}, "U+0544";
# U+0544:   ARMENIAN CAPITAL LETTER MEN
push @{$codesets{"Armenian"}}, "U+0545";
# U+0545:   ARMENIAN CAPITAL LETTER YI
push @{$codesets{"Armenian"}}, "U+0546";
# U+0546:   ARMENIAN CAPITAL LETTER NOW
push @{$codesets{"Armenian"}}, "U+0547";
# U+0547:   ARMENIAN CAPITAL LETTER SHA
push @{$codesets{"Armenian"}}, "U+0548";
# U+0548:   ARMENIAN CAPITAL LETTER VO
push @{$codesets{"Armenian"}}, "U+0549";
# U+0549:   ARMENIAN CAPITAL LETTER CHA
push @{$codesets{"Armenian"}}, "U+054A";
# U+054A:   ARMENIAN CAPITAL LETTER PEH
push @{$codesets{"Armenian"}}, "U+054B";
# U+054B:   ARMENIAN CAPITAL LETTER JHEH
push @{$codesets{"Armenian"}}, "U+054C";
# U+054C:   ARMENIAN CAPITAL LETTER RA
push @{$codesets{"Armenian"}}, "U+054D";
# U+054D:   ARMENIAN CAPITAL LETTER SEH
push @{$codesets{"Armenian"}}, "U+054E";
# U+054E:   ARMENIAN CAPITAL LETTER VEW
push @{$codesets{"Armenian"}}, "U+054F";
# U+054F:   ARMENIAN CAPITAL LETTER TIWN
push @{$codesets{"Armenian"}}, "U+0550";
# U+0550:   ARMENIAN CAPITAL LETTER REH
push @{$codesets{"Armenian"}}, "U+0551";
# U+0551:   ARMENIAN CAPITAL LETTER CO
push @{$codesets{"Armenian"}}, "U+0552";
# U+0552:   ARMENIAN CAPITAL LETTER YIWN
push @{$codesets{"Armenian"}}, "U+0553";
# U+0553:   ARMENIAN CAPITAL LETTER PIWR
push @{$codesets{"Armenian"}}, "U+0554";
# U+0554:   ARMENIAN CAPITAL LETTER KEH
push @{$codesets{"Armenian"}}, "U+0555";
# U+0555:   ARMENIAN CAPITAL LETTER OH
push @{$codesets{"Armenian"}}, "U+0556";
# U+0556:   ARMENIAN CAPITAL LETTER FEH
push @{$codesets{"Armenian"}}, "U+055A";
# U+055A:   ARMENIAN APOSTROPHE
push @{$codesets{"Armenian"}}, "U+055B";
# U+055B:   ARMENIAN EMPHASIS MARK
push @{$codesets{"Armenian"}}, "U+055C";
# U+055C:   ARMENIAN EXCLAMATION MARK
push @{$codesets{"Armenian"}}, "U+055D";
# U+055D:   ARMENIAN COMMA
push @{$codesets{"Armenian"}}, "U+055E";
# U+055E:   ARMENIAN QUESTION MARK
push @{$codesets{"Armenian"}}, "U+0561";
# U+0561:   ARMENIAN SMALL LETTER AYB
push @{$codesets{"Armenian"}}, "U+0562";
# U+0562:   ARMENIAN SMALL LETTER BEN
push @{$codesets{"Armenian"}}, "U+0563";
# U+0563:   ARMENIAN SMALL LETTER GIM
push @{$codesets{"Armenian"}}, "U+0564";
# U+0564:   ARMENIAN SMALL LETTER DA
push @{$codesets{"Armenian"}}, "U+0565";
# U+0565:   ARMENIAN SMALL LETTER ECH
push @{$codesets{"Armenian"}}, "U+0566";
# U+0566:   ARMENIAN SMALL LETTER ZA
push @{$codesets{"Armenian"}}, "U+0567";
# U+0567:   ARMENIAN SMALL LETTER EH
push @{$codesets{"Armenian"}}, "U+0568";
# U+0568:   ARMENIAN SMALL LETTER ET
push @{$codesets{"Armenian"}}, "U+0569";
# U+0569:   ARMENIAN SMALL LETTER TO
push @{$codesets{"Armenian"}}, "U+056A";
# U+056A:   ARMENIAN SMALL LETTER ZHE
push @{$codesets{"Armenian"}}, "U+056B";
# U+056B:   ARMENIAN SMALL LETTER INI
push @{$codesets{"Armenian"}}, "U+056C";
# U+056C:   ARMENIAN SMALL LETTER LIWN
push @{$codesets{"Armenian"}}, "U+056D";
# U+056D:   ARMENIAN SMALL LETTER XEH
push @{$codesets{"Armenian"}}, "U+056E";
# U+056E:   ARMENIAN SMALL LETTER CA
push @{$codesets{"Armenian"}}, "U+056F";
# U+056F:   ARMENIAN SMALL LETTER KEN
push @{$codesets{"Armenian"}}, "U+0570";
# U+0570:   ARMENIAN SMALL LETTER HO
push @{$codesets{"Armenian"}}, "U+0571";
# U+0571:   ARMENIAN SMALL LETTER JA
push @{$codesets{"Armenian"}}, "U+0572";
# U+0572:   ARMENIAN SMALL LETTER GHAD
push @{$codesets{"Armenian"}}, "U+0573";
# U+0573:   ARMENIAN SMALL LETTER CHEH
push @{$codesets{"Armenian"}}, "U+0574";
# U+0574:   ARMENIAN SMALL LETTER MEN
push @{$codesets{"Armenian"}}, "U+0575";
# U+0575:   ARMENIAN SMALL LETTER YI
push @{$codesets{"Armenian"}}, "U+0576";
# U+0576:   ARMENIAN SMALL LETTER NOW
push @{$codesets{"Armenian"}}, "U+0577";
# U+0577:   ARMENIAN SMALL LETTER SHA
push @{$codesets{"Armenian"}}, "U+0578";
# U+0578:   ARMENIAN SMALL LETTER VO
push @{$codesets{"Armenian"}}, "U+0579";
# U+0579:   ARMENIAN SMALL LETTER CHA
push @{$codesets{"Armenian"}}, "U+057A";
# U+057A:   ARMENIAN SMALL LETTER PEH
push @{$codesets{"Armenian"}}, "U+057B";
# U+057B:   ARMENIAN SMALL LETTER JHEH
push @{$codesets{"Armenian"}}, "U+057C";
# U+057C:   ARMENIAN SMALL LETTER RA
push @{$codesets{"Armenian"}}, "U+057D";
# U+057D:   ARMENIAN SMALL LETTER SEH
push @{$codesets{"Armenian"}}, "U+057E";
# U+057E:   ARMENIAN SMALL LETTER VEW
push @{$codesets{"Armenian"}}, "U+057F";
# U+057F:   ARMENIAN SMALL LETTER TIWN
push @{$codesets{"Armenian"}}, "U+0580";
# U+0580:   ARMENIAN SMALL LETTER REH
push @{$codesets{"Armenian"}}, "U+0581";
# U+0581:   ARMENIAN SMALL LETTER CO
push @{$codesets{"Armenian"}}, "U+0582";
# U+0582:   ARMENIAN SMALL LETTER YIWN
push @{$codesets{"Armenian"}}, "U+0583";
# U+0583:   ARMENIAN SMALL LETTER PIWR
push @{$codesets{"Armenian"}}, "U+0584";
# U+0584:   ARMENIAN SMALL LETTER KEH
push @{$codesets{"Armenian"}}, "U+0585";
# U+0585:   ARMENIAN SMALL LETTER OH
push @{$codesets{"Armenian"}}, "U+0586";
# U+0586:   ARMENIAN SMALL LETTER FEH
push @{$codesets{"Armenian"}}, "U+0587";
# U+0587:   ARMENIAN SMALL LIGATURE ECH YIWN
push @{$codesets{"Armenian"}}, "U+0589";
# U+0589:   ARMENIAN FULL STOP
push @{$codesets{"Armenian"}}, "U+058A";
# U+058A:   ARMENIAN HYPHEN


push @{$codesets{"CyrKoi"}}, "U+0410";
# U+0410:   CYRILLIC CAPITAL LETTER A
push @{$codesets{"CyrKoi"}}, "U+0411";
# U+0411:   CYRILLIC CAPITAL LETTER BE
push @{$codesets{"CyrKoi"}}, "U+0412";
# U+0412:   CYRILLIC CAPITAL LETTER VE
push @{$codesets{"CyrKoi"}}, "U+0413";
# U+0413:   CYRILLIC CAPITAL LETTER GHE
push @{$codesets{"CyrKoi"}}, "U+0414";
# U+0414:   CYRILLIC CAPITAL LETTER DE
push @{$codesets{"CyrKoi"}}, "U+0415";
# U+0415:   CYRILLIC CAPITAL LETTER IE
push @{$codesets{"CyrKoi"}}, "U+0416";
# U+0416:   CYRILLIC CAPITAL LETTER ZHE
push @{$codesets{"CyrKoi"}}, "U+0417";
# U+0417:   CYRILLIC CAPITAL LETTER ZE
push @{$codesets{"CyrKoi"}}, "U+0418";
# U+0418:   CYRILLIC CAPITAL LETTER I
push @{$codesets{"CyrKoi"}}, "U+0419";
# U+0419:   CYRILLIC CAPITAL LETTER SHORT I
push @{$codesets{"CyrKoi"}}, "U+041A";
# U+041A:   CYRILLIC CAPITAL LETTER KA
push @{$codesets{"CyrKoi"}}, "U+041B";
# U+041B:   CYRILLIC CAPITAL LETTER EL
push @{$codesets{"CyrKoi"}}, "U+041C";
# U+041C:   CYRILLIC CAPITAL LETTER EM
push @{$codesets{"CyrKoi"}}, "U+041D";
# U+041D:   CYRILLIC CAPITAL LETTER EN
push @{$codesets{"CyrKoi"}}, "U+041E";
# U+041E:   CYRILLIC CAPITAL LETTER O
push @{$codesets{"CyrKoi"}}, "U+041F";
# U+041F:   CYRILLIC CAPITAL LETTER PE
push @{$codesets{"CyrKoi"}}, "U+0420";
# U+0420:   CYRILLIC CAPITAL LETTER ER
push @{$codesets{"CyrKoi"}}, "U+0421";
# U+0421:   CYRILLIC CAPITAL LETTER ES
push @{$codesets{"CyrKoi"}}, "U+0422";
# U+0422:   CYRILLIC CAPITAL LETTER TE
push @{$codesets{"CyrKoi"}}, "U+0423";
# U+0423:   CYRILLIC CAPITAL LETTER U
push @{$codesets{"CyrKoi"}}, "U+0424";
# U+0424:   CYRILLIC CAPITAL LETTER EF
push @{$codesets{"CyrKoi"}}, "U+0425";
# U+0425:   CYRILLIC CAPITAL LETTER HA
push @{$codesets{"CyrKoi"}}, "U+0426";
# U+0426:   CYRILLIC CAPITAL LETTER TSE
push @{$codesets{"CyrKoi"}}, "U+0427";
# U+0427:   CYRILLIC CAPITAL LETTER CHE
push @{$codesets{"CyrKoi"}}, "U+0428";
# U+0428:   CYRILLIC CAPITAL LETTER SHA
push @{$codesets{"CyrKoi"}}, "U+0429";
# U+0429:   CYRILLIC CAPITAL LETTER SHCHA
push @{$codesets{"CyrKoi"}}, "U+042A";
# U+042A:   CYRILLIC CAPITAL LETTER HARD SIGN
push @{$codesets{"CyrKoi"}}, "U+042B";
# U+042B:   CYRILLIC CAPITAL LETTER YERU
push @{$codesets{"CyrKoi"}}, "U+042C";
# U+042C:   CYRILLIC CAPITAL LETTER SOFT SIGN
push @{$codesets{"CyrKoi"}}, "U+042D";
# U+042D:   CYRILLIC CAPITAL LETTER E
push @{$codesets{"CyrKoi"}}, "U+042E";
# U+042E:   CYRILLIC CAPITAL LETTER YU
push @{$codesets{"CyrKoi"}}, "U+042F";
# U+042F:   CYRILLIC CAPITAL LETTER YA
push @{$codesets{"CyrKoi"}}, "U+0430";
# U+0430:   CYRILLIC SMALL LETTER A
push @{$codesets{"CyrKoi"}}, "U+0431";
# U+0431:   CYRILLIC SMALL LETTER BE
push @{$codesets{"CyrKoi"}}, "U+0432";
# U+0432:   CYRILLIC SMALL LETTER VE
push @{$codesets{"CyrKoi"}}, "U+0433";
# U+0433:   CYRILLIC SMALL LETTER GHE
push @{$codesets{"CyrKoi"}}, "U+0434";
# U+0434:   CYRILLIC SMALL LETTER DE
push @{$codesets{"CyrKoi"}}, "U+0435";
# U+0435:   CYRILLIC SMALL LETTER IE
push @{$codesets{"CyrKoi"}}, "U+0436";
# U+0436:   CYRILLIC SMALL LETTER ZHE
push @{$codesets{"CyrKoi"}}, "U+0437";
# U+0437:   CYRILLIC SMALL LETTER ZE
push @{$codesets{"CyrKoi"}}, "U+0438";
# U+0438:   CYRILLIC SMALL LETTER I
push @{$codesets{"CyrKoi"}}, "U+0439";
# U+0439:   CYRILLIC SMALL LETTER SHORT I
push @{$codesets{"CyrKoi"}}, "U+043A";
# U+043A:   CYRILLIC SMALL LETTER KA
push @{$codesets{"CyrKoi"}}, "U+043B";
# U+043B:   CYRILLIC SMALL LETTER EL
push @{$codesets{"CyrKoi"}}, "U+043C";
# U+043C:   CYRILLIC SMALL LETTER EM
push @{$codesets{"CyrKoi"}}, "U+043D";
# U+043D:   CYRILLIC SMALL LETTER EN
push @{$codesets{"CyrKoi"}}, "U+043E";
# U+043E:   CYRILLIC SMALL LETTER O
push @{$codesets{"CyrKoi"}}, "U+043F";
# U+043F:   CYRILLIC SMALL LETTER PE
push @{$codesets{"CyrKoi"}}, "U+0440";
# U+0440:   CYRILLIC SMALL LETTER ER
push @{$codesets{"CyrKoi"}}, "U+0441";
# U+0441:   CYRILLIC SMALL LETTER ES
push @{$codesets{"CyrKoi"}}, "U+0442";
# U+0442:   CYRILLIC SMALL LETTER TE
push @{$codesets{"CyrKoi"}}, "U+0443";
# U+0443:   CYRILLIC SMALL LETTER U
push @{$codesets{"CyrKoi"}}, "U+0444";
# U+0444:   CYRILLIC SMALL LETTER EF
push @{$codesets{"CyrKoi"}}, "U+0445";
# U+0445:   CYRILLIC SMALL LETTER HA
push @{$codesets{"CyrKoi"}}, "U+0446";
# U+0446:   CYRILLIC SMALL LETTER TSE
push @{$codesets{"CyrKoi"}}, "U+0447";
# U+0447:   CYRILLIC SMALL LETTER CHE
push @{$codesets{"CyrKoi"}}, "U+0448";
# U+0448:   CYRILLIC SMALL LETTER SHA
push @{$codesets{"CyrKoi"}}, "U+0449";
# U+0449:   CYRILLIC SMALL LETTER SHCHA
push @{$codesets{"CyrKoi"}}, "U+044A";
# U+044A:   CYRILLIC SMALL LETTER HARD SIGN
push @{$codesets{"CyrKoi"}}, "U+044B";
# U+044B:   CYRILLIC SMALL LETTER YERU
push @{$codesets{"CyrKoi"}}, "U+044C";
# U+044C:   CYRILLIC SMALL LETTER SOFT SIGN
push @{$codesets{"CyrKoi"}}, "U+044D";
# U+044D:   CYRILLIC SMALL LETTER E
push @{$codesets{"CyrKoi"}}, "U+044E";
# U+044E:   CYRILLIC SMALL LETTER YU
push @{$codesets{"CyrKoi"}}, "U+044F";
# U+044F:   CYRILLIC SMALL LETTER YA

$codesets{"CyrSlav"} = $codesets{"CyrKoi"};

push @{$codesets{"CyrAsia"}}, "U+0492";
# U+0492:   CYRILLIC CAPITAL LETTER GHE WITH STROKE
push @{$codesets{"CyrAsia"}}, "U+0493";
# U+0493:   CYRILLIC SMALL LETTER GHE WITH STROKE
push @{$codesets{"CyrAsia"}}, "U+0494";
# U+0494:   CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
push @{$codesets{"CyrAsia"}}, "U+0495";
# U+0495:   CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
push @{$codesets{"CyrAsia"}}, "U+0496";
# U+0496:   CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+0497";
# U+0497:   CYRILLIC SMALL LETTER ZHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+0498";
# U+0498:   CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+0499";
# U+0499:   CYRILLIC SMALL LETTER ZE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+049A";
# U+049A:   CYRILLIC CAPITAL LETTER KA WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+049B";
# U+049B:   CYRILLIC SMALL LETTER KA WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+049C";
# U+049C:   CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
push @{$codesets{"CyrAsia"}}, "U+049D";
# U+049D:   CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
push @{$codesets{"CyrAsia"}}, "U+049E";
# U+049E:   CYRILLIC CAPITAL LETTER KA WITH STROKE
push @{$codesets{"CyrAsia"}}, "U+049F";
# U+049F:   CYRILLIC SMALL LETTER KA WITH STROKE
push @{$codesets{"CyrAsia"}}, "U+04A0";
# U+04A0:   CYRILLIC CAPITAL LETTER BASHKIR KA
push @{$codesets{"CyrAsia"}}, "U+04A1";
# U+04A1:   CYRILLIC SMALL LETTER BASHKIR KA
push @{$codesets{"CyrAsia"}}, "U+04A2";
# U+04A2:   CYRILLIC CAPITAL LETTER EN WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04A3";
# U+04A3:   CYRILLIC SMALL LETTER EN WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04A4";
# U+04A4:   CYRILLIC CAPITAL LIGATURE EN GHE
push @{$codesets{"CyrAsia"}}, "U+04A5";
# U+04A5:   CYRILLIC SMALL LIGATURE EN GHE
push @{$codesets{"CyrAsia"}}, "U+04A6";
# U+04A6:   CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
push @{$codesets{"CyrAsia"}}, "U+04A7";
# U+04A7:   CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
push @{$codesets{"CyrAsia"}}, "U+04A8";
# U+04A8:   CYRILLIC CAPITAL LETTER ABKHASIAN HA
push @{$codesets{"CyrAsia"}}, "U+04A9";
# U+04A9:   CYRILLIC SMALL LETTER ABKHASIAN HA
push @{$codesets{"CyrAsia"}}, "U+04AA";
# U+04AA:   CYRILLIC CAPITAL LETTER ES WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04AB";
# U+04AB:   CYRILLIC SMALL LETTER ES WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04AC";
# U+04AC:   CYRILLIC CAPITAL LETTER TE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04AD";
# U+04AD:   CYRILLIC SMALL LETTER TE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04AE";
# U+04AE:   CYRILLIC CAPITAL LETTER STRAIGHT U
push @{$codesets{"CyrAsia"}}, "U+04AF";
# U+04AF:   CYRILLIC SMALL LETTER STRAIGHT U
push @{$codesets{"CyrAsia"}}, "U+04B2";
# U+04B2:   CYRILLIC CAPITAL LETTER HA WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04B3";
# U+04B3:   CYRILLIC SMALL LETTER HA WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04B4";
# U+04B4:   CYRILLIC CAPITAL LIGATURE TE TSE
push @{$codesets{"CyrAsia"}}, "U+04B5";
# U+04B5:   CYRILLIC SMALL LIGATURE TE TSE
push @{$codesets{"CyrAsia"}}, "U+04B6";
# U+04B6:   CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04B7";
# U+04B7:   CYRILLIC SMALL LETTER CHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04B8";
# U+04B8:   CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
push @{$codesets{"CyrAsia"}}, "U+04B9";
# U+04B9:   CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
push @{$codesets{"CyrAsia"}}, "U+04BA";
# U+04BA:   CYRILLIC CAPITAL LETTER SHHA
push @{$codesets{"CyrAsia"}}, "U+04BB";
# U+04BB:   CYRILLIC SMALL LETTER SHHA
push @{$codesets{"CyrAsia"}}, "U+04BC";
# U+04BC:   CYRILLIC CAPITAL LETTER ABKHASIAN CHE
push @{$codesets{"CyrAsia"}}, "U+04BD";
# U+04BD:   CYRILLIC SMALL LETTER ABKHASIAN CHE
push @{$codesets{"CyrAsia"}}, "U+04BE";
# U+04BE:   CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04BF";
# U+04BF:   CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
push @{$codesets{"CyrAsia"}}, "U+04D2";
# U+04D2:   CYRILLIC CAPITAL LETTER A WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04D3";
# U+04D3:   CYRILLIC SMALL LETTER A WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04D6";
# U+04D6:   CYRILLIC CAPITAL LETTER IE WITH BREVE
push @{$codesets{"CyrAsia"}}, "U+04D7";
# U+04D7:   CYRILLIC SMALL LETTER IE WITH BREVE
push @{$codesets{"CyrAsia"}}, "U+04D8";
# U+04D8:   CYRILLIC CAPITAL LETTER SCHWA
push @{$codesets{"CyrAsia"}}, "U+04D9";
# U+04D9:   CYRILLIC SMALL LETTER SCHWA
push @{$codesets{"CyrAsia"}}, "U+04E2";
# U+04E2:   CYRILLIC CAPITAL LETTER I WITH MACRON
push @{$codesets{"CyrAsia"}}, "U+04E3";
# U+04E3:   CYRILLIC SMALL LETTER I WITH MACRON
push @{$codesets{"CyrAsia"}}, "U+04E6";
# U+04E6:   CYRILLIC CAPITAL LETTER O WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04E7";
# U+04E7:   CYRILLIC SMALL LETTER O WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04E8";
# U+04E8:   CYRILLIC CAPITAL LETTER BARRED O
push @{$codesets{"CyrAsia"}}, "U+04E9";
# U+04E9:   CYRILLIC SMALL LETTER BARRED O
push @{$codesets{"CyrAsia"}}, "U+04EE";
# U+04EE:   CYRILLIC CAPITAL LETTER U WITH MACRON
push @{$codesets{"CyrAsia"}}, "U+04EF";
# U+04EF:   CYRILLIC SMALL LETTER U WITH MACRON
push @{$codesets{"CyrAsia"}}, "U+04F0";
# U+04F0:   CYRILLIC CAPITAL LETTER U WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04F1";
# U+04F1:   CYRILLIC SMALL LETTER U WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04F2";
# U+04F2:   CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
push @{$codesets{"CyrAsia"}}, "U+04F3";
# U+04F3:   CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
push @{$codesets{"CyrAsia"}}, "U+04F8";
# U+04F8:   CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+04F9";
# U+04F9:   CYRILLIC SMALL LETTER YERU WITH DIAERESIS
push @{$codesets{"CyrAsia"}}, "U+20AE";
# U+20AE:   TUGRIK SIGN


push @{$codesets{"Ethiopian"}}, "U+1200";
# U+1200:   ETHIOPIC SYLLABLE HA
push @{$codesets{"Ethiopian"}}, "U+1201";
# U+1201:   ETHIOPIC SYLLABLE HU
push @{$codesets{"Ethiopian"}}, "U+1202";
# U+1202:   ETHIOPIC SYLLABLE HI
push @{$codesets{"Ethiopian"}}, "U+1203";
# U+1203:   ETHIOPIC SYLLABLE HAA
push @{$codesets{"Ethiopian"}}, "U+1204";
# U+1204:   ETHIOPIC SYLLABLE HEE
push @{$codesets{"Ethiopian"}}, "U+1205";
# U+1205:   ETHIOPIC SYLLABLE HE
push @{$codesets{"Ethiopian"}}, "U+1206";
# U+1206:   ETHIOPIC SYLLABLE HO
push @{$codesets{"Ethiopian"}}, "U+1208";
# U+1208:   ETHIOPIC SYLLABLE LA
push @{$codesets{"Ethiopian"}}, "U+1209";
# U+1209:   ETHIOPIC SYLLABLE LU
push @{$codesets{"Ethiopian"}}, "U+120A";
# U+120A:   ETHIOPIC SYLLABLE LI
push @{$codesets{"Ethiopian"}}, "U+120B";
# U+120B:   ETHIOPIC SYLLABLE LAA
push @{$codesets{"Ethiopian"}}, "U+120C";
# U+120C:   ETHIOPIC SYLLABLE LEE
push @{$codesets{"Ethiopian"}}, "U+120D";
# U+120D:   ETHIOPIC SYLLABLE LE
push @{$codesets{"Ethiopian"}}, "U+120E";
# U+120E:   ETHIOPIC SYLLABLE LO
push @{$codesets{"Ethiopian"}}, "U+120F";
# U+120F:   ETHIOPIC SYLLABLE LWA
push @{$codesets{"Ethiopian"}}, "U+1210";
# U+1210:   ETHIOPIC SYLLABLE HHA
push @{$codesets{"Ethiopian"}}, "U+1211";
# U+1211:   ETHIOPIC SYLLABLE HHU
push @{$codesets{"Ethiopian"}}, "U+1212";
# U+1212:   ETHIOPIC SYLLABLE HHI
push @{$codesets{"Ethiopian"}}, "U+1213";
# U+1213:   ETHIOPIC SYLLABLE HHAA
push @{$codesets{"Ethiopian"}}, "U+1214";
# U+1214:   ETHIOPIC SYLLABLE HHEE
push @{$codesets{"Ethiopian"}}, "U+1215";
# U+1215:   ETHIOPIC SYLLABLE HHE
push @{$codesets{"Ethiopian"}}, "U+1216";
# U+1216:   ETHIOPIC SYLLABLE HHO
push @{$codesets{"Ethiopian"}}, "U+1217";
# U+1217:   ETHIOPIC SYLLABLE HHWA
push @{$codesets{"Ethiopian"}}, "U+1218";
# U+1218:   ETHIOPIC SYLLABLE MA
push @{$codesets{"Ethiopian"}}, "U+1219";
# U+1219:   ETHIOPIC SYLLABLE MU
push @{$codesets{"Ethiopian"}}, "U+121A";
# U+121A:   ETHIOPIC SYLLABLE MI
push @{$codesets{"Ethiopian"}}, "U+121B";
# U+121B:   ETHIOPIC SYLLABLE MAA
push @{$codesets{"Ethiopian"}}, "U+121C";
# U+121C:   ETHIOPIC SYLLABLE MEE
push @{$codesets{"Ethiopian"}}, "U+121D";
# U+121D:   ETHIOPIC SYLLABLE ME
push @{$codesets{"Ethiopian"}}, "U+121E";
# U+121E:   ETHIOPIC SYLLABLE MO
push @{$codesets{"Ethiopian"}}, "U+121F";
# U+121F:   ETHIOPIC SYLLABLE MWA
push @{$codesets{"Ethiopian"}}, "U+1220";
# U+1220:   ETHIOPIC SYLLABLE SZA
push @{$codesets{"Ethiopian"}}, "U+1221";
# U+1221:   ETHIOPIC SYLLABLE SZU
push @{$codesets{"Ethiopian"}}, "U+1222";
# U+1222:   ETHIOPIC SYLLABLE SZI
push @{$codesets{"Ethiopian"}}, "U+1223";
# U+1223:   ETHIOPIC SYLLABLE SZAA
push @{$codesets{"Ethiopian"}}, "U+1224";
# U+1224:   ETHIOPIC SYLLABLE SZEE
push @{$codesets{"Ethiopian"}}, "U+1225";
# U+1225:   ETHIOPIC SYLLABLE SZE
push @{$codesets{"Ethiopian"}}, "U+1226";
# U+1226:   ETHIOPIC SYLLABLE SZO
push @{$codesets{"Ethiopian"}}, "U+1227";
# U+1227:   ETHIOPIC SYLLABLE SZWA
push @{$codesets{"Ethiopian"}}, "U+1228";
# U+1228:   ETHIOPIC SYLLABLE RA
push @{$codesets{"Ethiopian"}}, "U+1229";
# U+1229:   ETHIOPIC SYLLABLE RU
push @{$codesets{"Ethiopian"}}, "U+122A";
# U+122A:   ETHIOPIC SYLLABLE RI
push @{$codesets{"Ethiopian"}}, "U+122B";
# U+122B:   ETHIOPIC SYLLABLE RAA
push @{$codesets{"Ethiopian"}}, "U+122C";
# U+122C:   ETHIOPIC SYLLABLE REE
push @{$codesets{"Ethiopian"}}, "U+122D";
# U+122D:   ETHIOPIC SYLLABLE RE
push @{$codesets{"Ethiopian"}}, "U+122E";
# U+122E:   ETHIOPIC SYLLABLE RO
push @{$codesets{"Ethiopian"}}, "U+122F";
# U+122F:   ETHIOPIC SYLLABLE RWA
push @{$codesets{"Ethiopian"}}, "U+1230";
# U+1230:   ETHIOPIC SYLLABLE SA
push @{$codesets{"Ethiopian"}}, "U+1231";
# U+1231:   ETHIOPIC SYLLABLE SU
push @{$codesets{"Ethiopian"}}, "U+1232";
# U+1232:   ETHIOPIC SYLLABLE SI
push @{$codesets{"Ethiopian"}}, "U+1233";
# U+1233:   ETHIOPIC SYLLABLE SAA
push @{$codesets{"Ethiopian"}}, "U+1234";
# U+1234:   ETHIOPIC SYLLABLE SEE
push @{$codesets{"Ethiopian"}}, "U+1235";
# U+1235:   ETHIOPIC SYLLABLE SE
push @{$codesets{"Ethiopian"}}, "U+1236";
# U+1236:   ETHIOPIC SYLLABLE SO
push @{$codesets{"Ethiopian"}}, "U+1237";
# U+1237:   ETHIOPIC SYLLABLE SWA
push @{$codesets{"Ethiopian"}}, "U+1238";
# U+1238:   ETHIOPIC SYLLABLE SHA
push @{$codesets{"Ethiopian"}}, "U+1239";
# U+1239:   ETHIOPIC SYLLABLE SHU
push @{$codesets{"Ethiopian"}}, "U+123A";
# U+123A:   ETHIOPIC SYLLABLE SHI
push @{$codesets{"Ethiopian"}}, "U+123B";
# U+123B:   ETHIOPIC SYLLABLE SHAA
push @{$codesets{"Ethiopian"}}, "U+123C";
# U+123C:   ETHIOPIC SYLLABLE SHEE
push @{$codesets{"Ethiopian"}}, "U+123D";
# U+123D:   ETHIOPIC SYLLABLE SHE
push @{$codesets{"Ethiopian"}}, "U+123E";
# U+123E:   ETHIOPIC SYLLABLE SHO
push @{$codesets{"Ethiopian"}}, "U+123F";
# U+123F:   ETHIOPIC SYLLABLE SHWA
push @{$codesets{"Ethiopian"}}, "U+1240";
# U+1240:   ETHIOPIC SYLLABLE QA
push @{$codesets{"Ethiopian"}}, "U+1241";
# U+1241:   ETHIOPIC SYLLABLE QU
push @{$codesets{"Ethiopian"}}, "U+1242";
# U+1242:   ETHIOPIC SYLLABLE QI
push @{$codesets{"Ethiopian"}}, "U+1243";
# U+1243:   ETHIOPIC SYLLABLE QAA
push @{$codesets{"Ethiopian"}}, "U+1244";
# U+1244:   ETHIOPIC SYLLABLE QEE
push @{$codesets{"Ethiopian"}}, "U+1245";
# U+1245:   ETHIOPIC SYLLABLE QE
push @{$codesets{"Ethiopian"}}, "U+1246";
# U+1246:   ETHIOPIC SYLLABLE QO
push @{$codesets{"Ethiopian"}}, "U+1248";
# U+1248:   ETHIOPIC SYLLABLE QWA
push @{$codesets{"Ethiopian"}}, "U+124A";
# U+124A:   ETHIOPIC SYLLABLE QWI
push @{$codesets{"Ethiopian"}}, "U+124B";
# U+124B:   ETHIOPIC SYLLABLE QWAA
push @{$codesets{"Ethiopian"}}, "U+124C";
# U+124C:   ETHIOPIC SYLLABLE QWEE
push @{$codesets{"Ethiopian"}}, "U+124D";
# U+124D:   ETHIOPIC SYLLABLE QWE
push @{$codesets{"Ethiopian"}}, "U+1250";
# U+1250:   ETHIOPIC SYLLABLE QHA
push @{$codesets{"Ethiopian"}}, "U+1251";
# U+1251:   ETHIOPIC SYLLABLE QHU
push @{$codesets{"Ethiopian"}}, "U+1252";
# U+1252:   ETHIOPIC SYLLABLE QHI
push @{$codesets{"Ethiopian"}}, "U+1253";
# U+1253:   ETHIOPIC SYLLABLE QHAA
push @{$codesets{"Ethiopian"}}, "U+1254";
# U+1254:   ETHIOPIC SYLLABLE QHEE
push @{$codesets{"Ethiopian"}}, "U+1255";
# U+1255:   ETHIOPIC SYLLABLE QHE
push @{$codesets{"Ethiopian"}}, "U+1256";
# U+1256:   ETHIOPIC SYLLABLE QHO
push @{$codesets{"Ethiopian"}}, "U+1257";
# U+1257:   
push @{$codesets{"Ethiopian"}}, "U+1258";
# U+1258:   ETHIOPIC SYLLABLE QHWA
push @{$codesets{"Ethiopian"}}, "U+125A";
# U+125A:   ETHIOPIC SYLLABLE QHWI
push @{$codesets{"Ethiopian"}}, "U+125B";
# U+125B:   ETHIOPIC SYLLABLE QHWAA
push @{$codesets{"Ethiopian"}}, "U+125C";
# U+125C:   ETHIOPIC SYLLABLE QHWEE
push @{$codesets{"Ethiopian"}}, "U+125D";
# U+125D:   ETHIOPIC SYLLABLE QHWE
push @{$codesets{"Ethiopian"}}, "U+1260";
# U+1260:   ETHIOPIC SYLLABLE BA
push @{$codesets{"Ethiopian"}}, "U+1261";
# U+1261:   ETHIOPIC SYLLABLE BU
push @{$codesets{"Ethiopian"}}, "U+1262";
# U+1262:   ETHIOPIC SYLLABLE BI
push @{$codesets{"Ethiopian"}}, "U+1263";
# U+1263:   ETHIOPIC SYLLABLE BAA
push @{$codesets{"Ethiopian"}}, "U+1264";
# U+1264:   ETHIOPIC SYLLABLE BEE
push @{$codesets{"Ethiopian"}}, "U+1265";
# U+1265:   ETHIOPIC SYLLABLE BE
push @{$codesets{"Ethiopian"}}, "U+1266";
# U+1266:   ETHIOPIC SYLLABLE BO
push @{$codesets{"Ethiopian"}}, "U+1267";
# U+1267:   ETHIOPIC SYLLABLE BWA
push @{$codesets{"Ethiopian"}}, "U+1268";
# U+1268:   ETHIOPIC SYLLABLE VA
push @{$codesets{"Ethiopian"}}, "U+1269";
# U+1269:   ETHIOPIC SYLLABLE VU
push @{$codesets{"Ethiopian"}}, "U+126A";
# U+126A:   ETHIOPIC SYLLABLE VI
push @{$codesets{"Ethiopian"}}, "U+126B";
# U+126B:   ETHIOPIC SYLLABLE VAA
push @{$codesets{"Ethiopian"}}, "U+126C";
# U+126C:   ETHIOPIC SYLLABLE VEE
push @{$codesets{"Ethiopian"}}, "U+126D";
# U+126D:   ETHIOPIC SYLLABLE VE
push @{$codesets{"Ethiopian"}}, "U+126E";
# U+126E:   ETHIOPIC SYLLABLE VO
push @{$codesets{"Ethiopian"}}, "U+126F";
# U+126F:   ETHIOPIC SYLLABLE VWA
push @{$codesets{"Ethiopian"}}, "U+1270";
# U+1270:   ETHIOPIC SYLLABLE TA
push @{$codesets{"Ethiopian"}}, "U+1271";
# U+1271:   ETHIOPIC SYLLABLE TU
push @{$codesets{"Ethiopian"}}, "U+1272";
# U+1272:   ETHIOPIC SYLLABLE TI
push @{$codesets{"Ethiopian"}}, "U+1273";
# U+1273:   ETHIOPIC SYLLABLE TAA
push @{$codesets{"Ethiopian"}}, "U+1274";
# U+1274:   ETHIOPIC SYLLABLE TEE
push @{$codesets{"Ethiopian"}}, "U+1275";
# U+1275:   ETHIOPIC SYLLABLE TE
push @{$codesets{"Ethiopian"}}, "U+1276";
# U+1276:   ETHIOPIC SYLLABLE TO
push @{$codesets{"Ethiopian"}}, "U+1277";
# U+1277:   ETHIOPIC SYLLABLE TWA
push @{$codesets{"Ethiopian"}}, "U+1278";
# U+1278:   ETHIOPIC SYLLABLE CA
push @{$codesets{"Ethiopian"}}, "U+1279";
# U+1279:   ETHIOPIC SYLLABLE CU
push @{$codesets{"Ethiopian"}}, "U+127A";
# U+127A:   ETHIOPIC SYLLABLE CI
push @{$codesets{"Ethiopian"}}, "U+127B";
# U+127B:   ETHIOPIC SYLLABLE CAA
push @{$codesets{"Ethiopian"}}, "U+127C";
# U+127C:   ETHIOPIC SYLLABLE CEE
push @{$codesets{"Ethiopian"}}, "U+127D";
# U+127D:   ETHIOPIC SYLLABLE CE
push @{$codesets{"Ethiopian"}}, "U+127E";
# U+127E:   ETHIOPIC SYLLABLE CO
push @{$codesets{"Ethiopian"}}, "U+127F";
# U+127F:   ETHIOPIC SYLLABLE CWA
push @{$codesets{"Ethiopian"}}, "U+1280";
# U+1280:   ETHIOPIC SYLLABLE XA
push @{$codesets{"Ethiopian"}}, "U+1281";
# U+1281:   ETHIOPIC SYLLABLE XU
push @{$codesets{"Ethiopian"}}, "U+1282";
# U+1282:   ETHIOPIC SYLLABLE XI
push @{$codesets{"Ethiopian"}}, "U+1283";
# U+1283:   ETHIOPIC SYLLABLE XAA
push @{$codesets{"Ethiopian"}}, "U+1284";
# U+1284:   ETHIOPIC SYLLABLE XEE
push @{$codesets{"Ethiopian"}}, "U+1285";
# U+1285:   ETHIOPIC SYLLABLE XE
push @{$codesets{"Ethiopian"}}, "U+1286";
# U+1286:   ETHIOPIC SYLLABLE XO
push @{$codesets{"Ethiopian"}}, "U+1288";
# U+1288:   ETHIOPIC SYLLABLE XWA
push @{$codesets{"Ethiopian"}}, "U+128A";
# U+128A:   ETHIOPIC SYLLABLE XWI
push @{$codesets{"Ethiopian"}}, "U+128B";
# U+128B:   ETHIOPIC SYLLABLE XWAA
push @{$codesets{"Ethiopian"}}, "U+128C";
# U+128C:   ETHIOPIC SYLLABLE XWEE
push @{$codesets{"Ethiopian"}}, "U+128D";
# U+128D:   ETHIOPIC SYLLABLE XWE
push @{$codesets{"Ethiopian"}}, "U+1290";
# U+1290:   ETHIOPIC SYLLABLE NA
push @{$codesets{"Ethiopian"}}, "U+1291";
# U+1291:   ETHIOPIC SYLLABLE NU
push @{$codesets{"Ethiopian"}}, "U+1292";
# U+1292:   ETHIOPIC SYLLABLE NI
push @{$codesets{"Ethiopian"}}, "U+1293";
# U+1293:   ETHIOPIC SYLLABLE NAA
push @{$codesets{"Ethiopian"}}, "U+1294";
# U+1294:   ETHIOPIC SYLLABLE NEE
push @{$codesets{"Ethiopian"}}, "U+1295";
# U+1295:   ETHIOPIC SYLLABLE NE
push @{$codesets{"Ethiopian"}}, "U+1296";
# U+1296:   ETHIOPIC SYLLABLE NO
push @{$codesets{"Ethiopian"}}, "U+1297";
# U+1297:   ETHIOPIC SYLLABLE NWA
push @{$codesets{"Ethiopian"}}, "U+1298";
# U+1298:   ETHIOPIC SYLLABLE NYA
push @{$codesets{"Ethiopian"}}, "U+1299";
# U+1299:   ETHIOPIC SYLLABLE NYU
push @{$codesets{"Ethiopian"}}, "U+129A";
# U+129A:   ETHIOPIC SYLLABLE NYI
push @{$codesets{"Ethiopian"}}, "U+129B";
# U+129B:   ETHIOPIC SYLLABLE NYAA
push @{$codesets{"Ethiopian"}}, "U+129C";
# U+129C:   ETHIOPIC SYLLABLE NYEE
push @{$codesets{"Ethiopian"}}, "U+129D";
# U+129D:   ETHIOPIC SYLLABLE NYE
push @{$codesets{"Ethiopian"}}, "U+129E";
# U+129E:   ETHIOPIC SYLLABLE NYO
push @{$codesets{"Ethiopian"}}, "U+129F";
# U+129F:   ETHIOPIC SYLLABLE NYWA
push @{$codesets{"Ethiopian"}}, "U+12A0";
# U+12A0:   ETHIOPIC SYLLABLE GLOTTAL A
push @{$codesets{"Ethiopian"}}, "U+12A1";
# U+12A1:   ETHIOPIC SYLLABLE GLOTTAL U
push @{$codesets{"Ethiopian"}}, "U+12A2";
# U+12A2:   ETHIOPIC SYLLABLE GLOTTAL I
push @{$codesets{"Ethiopian"}}, "U+12A3";
# U+12A3:   ETHIOPIC SYLLABLE GLOTTAL AA
push @{$codesets{"Ethiopian"}}, "U+12A4";
# U+12A4:   ETHIOPIC SYLLABLE GLOTTAL EE
push @{$codesets{"Ethiopian"}}, "U+12A5";
# U+12A5:   ETHIOPIC SYLLABLE GLOTTAL E
push @{$codesets{"Ethiopian"}}, "U+12A6";
# U+12A6:   ETHIOPIC SYLLABLE GLOTTAL O
push @{$codesets{"Ethiopian"}}, "U+12A7";
# U+12A7:   ETHIOPIC SYLLABLE GLOTTAL WA
push @{$codesets{"Ethiopian"}}, "U+12A8";
# U+12A8:   ETHIOPIC SYLLABLE KA
push @{$codesets{"Ethiopian"}}, "U+12A9";
# U+12A9:   ETHIOPIC SYLLABLE KU
push @{$codesets{"Ethiopian"}}, "U+12AA";
# U+12AA:   ETHIOPIC SYLLABLE KI
push @{$codesets{"Ethiopian"}}, "U+12AB";
# U+12AB:   ETHIOPIC SYLLABLE KAA
push @{$codesets{"Ethiopian"}}, "U+12AC";
# U+12AC:   ETHIOPIC SYLLABLE KEE
push @{$codesets{"Ethiopian"}}, "U+12AD";
# U+12AD:   ETHIOPIC SYLLABLE KE
push @{$codesets{"Ethiopian"}}, "U+12AE";
# U+12AE:   ETHIOPIC SYLLABLE KO
push @{$codesets{"Ethiopian"}}, "U+12B0";
# U+12B0:   ETHIOPIC SYLLABLE KWA
push @{$codesets{"Ethiopian"}}, "U+12B2";
# U+12B2:   ETHIOPIC SYLLABLE KWI
push @{$codesets{"Ethiopian"}}, "U+12B3";
# U+12B3:   ETHIOPIC SYLLABLE KWAA
push @{$codesets{"Ethiopian"}}, "U+12B4";
# U+12B4:   ETHIOPIC SYLLABLE KWEE
push @{$codesets{"Ethiopian"}}, "U+12B5";
# U+12B5:   ETHIOPIC SYLLABLE KWE
push @{$codesets{"Ethiopian"}}, "U+12B8";
# U+12B8:   ETHIOPIC SYLLABLE KXA
push @{$codesets{"Ethiopian"}}, "U+12B9";
# U+12B9:   ETHIOPIC SYLLABLE KXU
push @{$codesets{"Ethiopian"}}, "U+12BA";
# U+12BA:   ETHIOPIC SYLLABLE KXI
push @{$codesets{"Ethiopian"}}, "U+12BB";
# U+12BB:   ETHIOPIC SYLLABLE KXAA
push @{$codesets{"Ethiopian"}}, "U+12BC";
# U+12BC:   ETHIOPIC SYLLABLE KXEE
push @{$codesets{"Ethiopian"}}, "U+12BD";
# U+12BD:   ETHIOPIC SYLLABLE KXE
push @{$codesets{"Ethiopian"}}, "U+12BE";
# U+12BE:   ETHIOPIC SYLLABLE KXO
push @{$codesets{"Ethiopian"}}, "U+12C0";
# U+12C0:   ETHIOPIC SYLLABLE KXWA
push @{$codesets{"Ethiopian"}}, "U+12C2";
# U+12C2:   ETHIOPIC SYLLABLE KXWI
push @{$codesets{"Ethiopian"}}, "U+12C3";
# U+12C3:   ETHIOPIC SYLLABLE KXWAA
push @{$codesets{"Ethiopian"}}, "U+12C4";
# U+12C4:   ETHIOPIC SYLLABLE KXWEE
push @{$codesets{"Ethiopian"}}, "U+12C5";
# U+12C5:   ETHIOPIC SYLLABLE KXWE
push @{$codesets{"Ethiopian"}}, "U+12C8";
# U+12C8:   ETHIOPIC SYLLABLE WA
push @{$codesets{"Ethiopian"}}, "U+12C9";
# U+12C9:   ETHIOPIC SYLLABLE WU
push @{$codesets{"Ethiopian"}}, "U+12CA";
# U+12CA:   ETHIOPIC SYLLABLE WI
push @{$codesets{"Ethiopian"}}, "U+12CB";
# U+12CB:   ETHIOPIC SYLLABLE WAA
push @{$codesets{"Ethiopian"}}, "U+12CC";
# U+12CC:   ETHIOPIC SYLLABLE WEE
push @{$codesets{"Ethiopian"}}, "U+12CD";
# U+12CD:   ETHIOPIC SYLLABLE WE
push @{$codesets{"Ethiopian"}}, "U+12CE";
# U+12CE:   ETHIOPIC SYLLABLE WO
push @{$codesets{"Ethiopian"}}, "U+12D0";
# U+12D0:   ETHIOPIC SYLLABLE PHARYNGEAL A
push @{$codesets{"Ethiopian"}}, "U+12D1";
# U+12D1:   ETHIOPIC SYLLABLE PHARYNGEAL U
push @{$codesets{"Ethiopian"}}, "U+12D2";
# U+12D2:   ETHIOPIC SYLLABLE PHARYNGEAL I
push @{$codesets{"Ethiopian"}}, "U+12D3";
# U+12D3:   ETHIOPIC SYLLABLE PHARYNGEAL AA
push @{$codesets{"Ethiopian"}}, "U+12D4";
# U+12D4:   ETHIOPIC SYLLABLE PHARYNGEAL EE
push @{$codesets{"Ethiopian"}}, "U+12D5";
# U+12D5:   ETHIOPIC SYLLABLE PHARYNGEAL E
push @{$codesets{"Ethiopian"}}, "U+12D6";
# U+12D6:   ETHIOPIC SYLLABLE PHARYNGEAL O
push @{$codesets{"Ethiopian"}}, "U+12D8";
# U+12D8:   ETHIOPIC SYLLABLE ZA
push @{$codesets{"Ethiopian"}}, "U+12D9";
# U+12D9:   ETHIOPIC SYLLABLE ZU
push @{$codesets{"Ethiopian"}}, "U+12DA";
# U+12DA:   ETHIOPIC SYLLABLE ZI
push @{$codesets{"Ethiopian"}}, "U+12DB";
# U+12DB:   ETHIOPIC SYLLABLE ZAA
push @{$codesets{"Ethiopian"}}, "U+12DC";
# U+12DC:   ETHIOPIC SYLLABLE ZEE
push @{$codesets{"Ethiopian"}}, "U+12DD";
# U+12DD:   ETHIOPIC SYLLABLE ZE
push @{$codesets{"Ethiopian"}}, "U+12DE";
# U+12DE:   ETHIOPIC SYLLABLE ZO
push @{$codesets{"Ethiopian"}}, "U+12DF";
# U+12DF:   ETHIOPIC SYLLABLE ZWA
push @{$codesets{"Ethiopian"}}, "U+12E0";
# U+12E0:   ETHIOPIC SYLLABLE ZHA
push @{$codesets{"Ethiopian"}}, "U+12E1";
# U+12E1:   ETHIOPIC SYLLABLE ZHU
push @{$codesets{"Ethiopian"}}, "U+12E2";
# U+12E2:   ETHIOPIC SYLLABLE ZHI
push @{$codesets{"Ethiopian"}}, "U+12E3";
# U+12E3:   ETHIOPIC SYLLABLE ZHAA
push @{$codesets{"Ethiopian"}}, "U+12E4";
# U+12E4:   ETHIOPIC SYLLABLE ZHEE
push @{$codesets{"Ethiopian"}}, "U+12E5";
# U+12E5:   ETHIOPIC SYLLABLE ZHE
push @{$codesets{"Ethiopian"}}, "U+12E6";
# U+12E6:   ETHIOPIC SYLLABLE ZHO
push @{$codesets{"Ethiopian"}}, "U+12E7";
# U+12E7:   ETHIOPIC SYLLABLE ZHWA
push @{$codesets{"Ethiopian"}}, "U+12E8";
# U+12E8:   ETHIOPIC SYLLABLE YA
push @{$codesets{"Ethiopian"}}, "U+12E9";
# U+12E9:   ETHIOPIC SYLLABLE YU
push @{$codesets{"Ethiopian"}}, "U+12EA";
# U+12EA:   ETHIOPIC SYLLABLE YI
push @{$codesets{"Ethiopian"}}, "U+12EB";
# U+12EB:   ETHIOPIC SYLLABLE YAA
push @{$codesets{"Ethiopian"}}, "U+12EC";
# U+12EC:   ETHIOPIC SYLLABLE YEE
push @{$codesets{"Ethiopian"}}, "U+12ED";
# U+12ED:   ETHIOPIC SYLLABLE YE
push @{$codesets{"Ethiopian"}}, "U+12EE";
# U+12EE:   ETHIOPIC SYLLABLE YO
push @{$codesets{"Ethiopian"}}, "U+12EF";
# U+12EF:   
push @{$codesets{"Ethiopian"}}, "U+12F0";
# U+12F0:   ETHIOPIC SYLLABLE DA
push @{$codesets{"Ethiopian"}}, "U+12F1";
# U+12F1:   ETHIOPIC SYLLABLE DU
push @{$codesets{"Ethiopian"}}, "U+12F2";
# U+12F2:   ETHIOPIC SYLLABLE DI
push @{$codesets{"Ethiopian"}}, "U+12F3";
# U+12F3:   ETHIOPIC SYLLABLE DAA
push @{$codesets{"Ethiopian"}}, "U+12F4";
# U+12F4:   ETHIOPIC SYLLABLE DEE
push @{$codesets{"Ethiopian"}}, "U+12F5";
# U+12F5:   ETHIOPIC SYLLABLE DE
push @{$codesets{"Ethiopian"}}, "U+12F6";
# U+12F6:   ETHIOPIC SYLLABLE DO
push @{$codesets{"Ethiopian"}}, "U+12F7";
# U+12F7:   ETHIOPIC SYLLABLE DWA
push @{$codesets{"Ethiopian"}}, "U+12F8";
# U+12F8:   ETHIOPIC SYLLABLE DDA
push @{$codesets{"Ethiopian"}}, "U+12F9";
# U+12F9:   ETHIOPIC SYLLABLE DDU
push @{$codesets{"Ethiopian"}}, "U+12FA";
# U+12FA:   ETHIOPIC SYLLABLE DDI
push @{$codesets{"Ethiopian"}}, "U+12FB";
# U+12FB:   ETHIOPIC SYLLABLE DDAA
push @{$codesets{"Ethiopian"}}, "U+12FC";
# U+12FC:   ETHIOPIC SYLLABLE DDEE
push @{$codesets{"Ethiopian"}}, "U+12FD";
# U+12FD:   ETHIOPIC SYLLABLE DDE
push @{$codesets{"Ethiopian"}}, "U+12FE";
# U+12FE:   ETHIOPIC SYLLABLE DDO
push @{$codesets{"Ethiopian"}}, "U+12FF";
# U+12FF:   ETHIOPIC SYLLABLE DDWA
push @{$codesets{"Ethiopian"}}, "U+1300";
# U+1300:   ETHIOPIC SYLLABLE JA
push @{$codesets{"Ethiopian"}}, "U+1301";
# U+1301:   ETHIOPIC SYLLABLE JU
push @{$codesets{"Ethiopian"}}, "U+1302";
# U+1302:   ETHIOPIC SYLLABLE JI
push @{$codesets{"Ethiopian"}}, "U+1303";
# U+1303:   ETHIOPIC SYLLABLE JAA
push @{$codesets{"Ethiopian"}}, "U+1304";
# U+1304:   ETHIOPIC SYLLABLE JEE
push @{$codesets{"Ethiopian"}}, "U+1305";
# U+1305:   ETHIOPIC SYLLABLE JE
push @{$codesets{"Ethiopian"}}, "U+1306";
# U+1306:   ETHIOPIC SYLLABLE JO
push @{$codesets{"Ethiopian"}}, "U+1307";
# U+1307:   ETHIOPIC SYLLABLE JWA
push @{$codesets{"Ethiopian"}}, "U+1308";
# U+1308:   ETHIOPIC SYLLABLE GA
push @{$codesets{"Ethiopian"}}, "U+1309";
# U+1309:   ETHIOPIC SYLLABLE GU
push @{$codesets{"Ethiopian"}}, "U+130A";
# U+130A:   ETHIOPIC SYLLABLE GI
push @{$codesets{"Ethiopian"}}, "U+130B";
# U+130B:   ETHIOPIC SYLLABLE GAA
push @{$codesets{"Ethiopian"}}, "U+130C";
# U+130C:   ETHIOPIC SYLLABLE GEE
push @{$codesets{"Ethiopian"}}, "U+130D";
# U+130D:   ETHIOPIC SYLLABLE GE
push @{$codesets{"Ethiopian"}}, "U+130E";
# U+130E:   ETHIOPIC SYLLABLE GO
push @{$codesets{"Ethiopian"}}, "U+1310";
# U+1310:   ETHIOPIC SYLLABLE GWA
push @{$codesets{"Ethiopian"}}, "U+1312";
# U+1312:   ETHIOPIC SYLLABLE GWI
push @{$codesets{"Ethiopian"}}, "U+1313";
# U+1313:   ETHIOPIC SYLLABLE GWAA
push @{$codesets{"Ethiopian"}}, "U+1314";
# U+1314:   ETHIOPIC SYLLABLE GWEE
push @{$codesets{"Ethiopian"}}, "U+1315";
# U+1315:   ETHIOPIC SYLLABLE GWE
push @{$codesets{"Ethiopian"}}, "U+1318";
# U+1318:   ETHIOPIC SYLLABLE GGA
push @{$codesets{"Ethiopian"}}, "U+1319";
# U+1319:   ETHIOPIC SYLLABLE GGU
push @{$codesets{"Ethiopian"}}, "U+131A";
# U+131A:   ETHIOPIC SYLLABLE GGI
push @{$codesets{"Ethiopian"}}, "U+131B";
# U+131B:   ETHIOPIC SYLLABLE GGAA
push @{$codesets{"Ethiopian"}}, "U+131C";
# U+131C:   ETHIOPIC SYLLABLE GGEE
push @{$codesets{"Ethiopian"}}, "U+131D";
# U+131D:   ETHIOPIC SYLLABLE GGE
push @{$codesets{"Ethiopian"}}, "U+131E";
# U+131E:   ETHIOPIC SYLLABLE GGO
push @{$codesets{"Ethiopian"}}, "U+1320";
# U+1320:   ETHIOPIC SYLLABLE THA
push @{$codesets{"Ethiopian"}}, "U+1321";
# U+1321:   ETHIOPIC SYLLABLE THU
push @{$codesets{"Ethiopian"}}, "U+1322";
# U+1322:   ETHIOPIC SYLLABLE THI
push @{$codesets{"Ethiopian"}}, "U+1323";
# U+1323:   ETHIOPIC SYLLABLE THAA
push @{$codesets{"Ethiopian"}}, "U+1324";
# U+1324:   ETHIOPIC SYLLABLE THEE
push @{$codesets{"Ethiopian"}}, "U+1325";
# U+1325:   ETHIOPIC SYLLABLE THE
push @{$codesets{"Ethiopian"}}, "U+1326";
# U+1326:   ETHIOPIC SYLLABLE THO
push @{$codesets{"Ethiopian"}}, "U+1327";
# U+1327:   ETHIOPIC SYLLABLE THWA
push @{$codesets{"Ethiopian"}}, "U+1328";
# U+1328:   ETHIOPIC SYLLABLE CHA
push @{$codesets{"Ethiopian"}}, "U+1329";
# U+1329:   ETHIOPIC SYLLABLE CHU
push @{$codesets{"Ethiopian"}}, "U+132A";
# U+132A:   ETHIOPIC SYLLABLE CHI
push @{$codesets{"Ethiopian"}}, "U+132B";
# U+132B:   ETHIOPIC SYLLABLE CHAA
push @{$codesets{"Ethiopian"}}, "U+132C";
# U+132C:   ETHIOPIC SYLLABLE CHEE
push @{$codesets{"Ethiopian"}}, "U+132D";
# U+132D:   ETHIOPIC SYLLABLE CHE
push @{$codesets{"Ethiopian"}}, "U+132E";
# U+132E:   ETHIOPIC SYLLABLE CHO
push @{$codesets{"Ethiopian"}}, "U+132F";
# U+132F:   ETHIOPIC SYLLABLE CHWA
push @{$codesets{"Ethiopian"}}, "U+1330";
# U+1330:   ETHIOPIC SYLLABLE PHA
push @{$codesets{"Ethiopian"}}, "U+1331";
# U+1331:   ETHIOPIC SYLLABLE PHU
push @{$codesets{"Ethiopian"}}, "U+1332";
# U+1332:   ETHIOPIC SYLLABLE PHI
push @{$codesets{"Ethiopian"}}, "U+1333";
# U+1333:   ETHIOPIC SYLLABLE PHAA
push @{$codesets{"Ethiopian"}}, "U+1334";
# U+1334:   ETHIOPIC SYLLABLE PHEE
push @{$codesets{"Ethiopian"}}, "U+1335";
# U+1335:   ETHIOPIC SYLLABLE PHE
push @{$codesets{"Ethiopian"}}, "U+1336";
# U+1336:   ETHIOPIC SYLLABLE PHO
push @{$codesets{"Ethiopian"}}, "U+1337";
# U+1337:   ETHIOPIC SYLLABLE PHWA
push @{$codesets{"Ethiopian"}}, "U+1338";
# U+1338:   ETHIOPIC SYLLABLE TSA
push @{$codesets{"Ethiopian"}}, "U+1339";
# U+1339:   ETHIOPIC SYLLABLE TSU
push @{$codesets{"Ethiopian"}}, "U+133A";
# U+133A:   ETHIOPIC SYLLABLE TSI
push @{$codesets{"Ethiopian"}}, "U+133B";
# U+133B:   ETHIOPIC SYLLABLE TSAA
push @{$codesets{"Ethiopian"}}, "U+133C";
# U+133C:   ETHIOPIC SYLLABLE TSEE
push @{$codesets{"Ethiopian"}}, "U+133D";
# U+133D:   ETHIOPIC SYLLABLE TSE
push @{$codesets{"Ethiopian"}}, "U+133E";
# U+133E:   ETHIOPIC SYLLABLE TSO
push @{$codesets{"Ethiopian"}}, "U+133F";
# U+133F:   ETHIOPIC SYLLABLE TSWA
push @{$codesets{"Ethiopian"}}, "U+1340";
# U+1340:   ETHIOPIC SYLLABLE TZA
push @{$codesets{"Ethiopian"}}, "U+1341";
# U+1341:   ETHIOPIC SYLLABLE TZU
push @{$codesets{"Ethiopian"}}, "U+1342";
# U+1342:   ETHIOPIC SYLLABLE TZI
push @{$codesets{"Ethiopian"}}, "U+1343";
# U+1343:   ETHIOPIC SYLLABLE TZAA
push @{$codesets{"Ethiopian"}}, "U+1344";
# U+1344:   ETHIOPIC SYLLABLE TZEE
push @{$codesets{"Ethiopian"}}, "U+1345";
# U+1345:   ETHIOPIC SYLLABLE TZE
push @{$codesets{"Ethiopian"}}, "U+1346";
# U+1346:   ETHIOPIC SYLLABLE TZO
push @{$codesets{"Ethiopian"}}, "U+1348";
# U+1348:   ETHIOPIC SYLLABLE FA
push @{$codesets{"Ethiopian"}}, "U+1349";
# U+1349:   ETHIOPIC SYLLABLE FU
push @{$codesets{"Ethiopian"}}, "U+134A";
# U+134A:   ETHIOPIC SYLLABLE FI
push @{$codesets{"Ethiopian"}}, "U+134B";
# U+134B:   ETHIOPIC SYLLABLE FAA
push @{$codesets{"Ethiopian"}}, "U+134C";
# U+134C:   ETHIOPIC SYLLABLE FEE
push @{$codesets{"Ethiopian"}}, "U+134D";
# U+134D:   ETHIOPIC SYLLABLE FE
push @{$codesets{"Ethiopian"}}, "U+134E";
# U+134E:   ETHIOPIC SYLLABLE FO
push @{$codesets{"Ethiopian"}}, "U+134F";
# U+134F:   ETHIOPIC SYLLABLE FWA
push @{$codesets{"Ethiopian"}}, "U+1350";
# U+1350:   ETHIOPIC SYLLABLE PA
push @{$codesets{"Ethiopian"}}, "U+1351";
# U+1351:   ETHIOPIC SYLLABLE PU
push @{$codesets{"Ethiopian"}}, "U+1352";
# U+1352:   ETHIOPIC SYLLABLE PI
push @{$codesets{"Ethiopian"}}, "U+1353";
# U+1353:   ETHIOPIC SYLLABLE PAA
push @{$codesets{"Ethiopian"}}, "U+1354";
# U+1354:   ETHIOPIC SYLLABLE PEE
push @{$codesets{"Ethiopian"}}, "U+1355";
# U+1355:   ETHIOPIC SYLLABLE PE
push @{$codesets{"Ethiopian"}}, "U+1356";
# U+1356:   ETHIOPIC SYLLABLE PO
push @{$codesets{"Ethiopian"}}, "U+1357";
# U+1357:   ETHIOPIC SYLLABLE PWA
push @{$codesets{"Ethiopian"}}, "U+1358";
# U+1358:   ETHIOPIC SYLLABLE RYA
push @{$codesets{"Ethiopian"}}, "U+1359";
# U+1359:   ETHIOPIC SYLLABLE MYA
push @{$codesets{"Ethiopian"}}, "U+135A";
# U+135A:   ETHIOPIC SYLLABLE FYA
push @{$codesets{"Ethiopian"}}, "U+1360";
# U+1360:   
push @{$codesets{"Ethiopian"}}, "U+1361";
# U+1361:   ETHIOPIC WORDSPACE
push @{$codesets{"Ethiopian"}}, "U+1362";
# U+1362:   ETHIOPIC FULL STOP
push @{$codesets{"Ethiopian"}}, "U+1363";
# U+1363:   ETHIOPIC COMMA
push @{$codesets{"Ethiopian"}}, "U+1364";
# U+1364:   ETHIOPIC SEMICOLON
push @{$codesets{"Ethiopian"}}, "U+1365";
# U+1365:   ETHIOPIC COLON
push @{$codesets{"Ethiopian"}}, "U+1366";
# U+1366:   ETHIOPIC PREFACE COLON
push @{$codesets{"Ethiopian"}}, "U+1367";
# U+1367:   ETHIOPIC QUESTION MARK
push @{$codesets{"Ethiopian"}}, "U+1368";
# U+1368:   ETHIOPIC PARAGRAPH SEPARATOR
push @{$codesets{"Ethiopian"}}, "U+1369";
# U+1369:   ETHIOPIC DIGIT ONE
push @{$codesets{"Ethiopian"}}, "U+136A";
# U+136A:   ETHIOPIC DIGIT TWO
push @{$codesets{"Ethiopian"}}, "U+136B";
# U+136B:   ETHIOPIC DIGIT THREE
push @{$codesets{"Ethiopian"}}, "U+136C";
# U+136C:   ETHIOPIC DIGIT FOUR
push @{$codesets{"Ethiopian"}}, "U+136D";
# U+136D:   ETHIOPIC DIGIT FIVE
push @{$codesets{"Ethiopian"}}, "U+136E";
# U+136E:   ETHIOPIC DIGIT SIX
push @{$codesets{"Ethiopian"}}, "U+136F";
# U+136F:   ETHIOPIC DIGIT SEVEN
push @{$codesets{"Ethiopian"}}, "U+1370";
# U+1370:   ETHIOPIC DIGIT EIGHT
push @{$codesets{"Ethiopian"}}, "U+1371";
# U+1371:   ETHIOPIC DIGIT NINE
push @{$codesets{"Ethiopian"}}, "U+1372";
# U+1372:   ETHIOPIC NUMBER TEN
push @{$codesets{"Ethiopian"}}, "U+1373";
# U+1373:   ETHIOPIC NUMBER TWENTY
push @{$codesets{"Ethiopian"}}, "U+1374";
# U+1374:   ETHIOPIC NUMBER THIRTY
push @{$codesets{"Ethiopian"}}, "U+1375";
# U+1375:   ETHIOPIC NUMBER FORTY
push @{$codesets{"Ethiopian"}}, "U+1376";
# U+1376:   ETHIOPIC NUMBER FIFTY
push @{$codesets{"Ethiopian"}}, "U+1377";
# U+1377:   ETHIOPIC NUMBER SIXTY
push @{$codesets{"Ethiopian"}}, "U+1378";
# U+1378:   ETHIOPIC NUMBER SEVENTY
push @{$codesets{"Ethiopian"}}, "U+1379";
# U+1379:   ETHIOPIC NUMBER EIGHTY
push @{$codesets{"Ethiopian"}}, "U+137A";
# U+137A:   ETHIOPIC NUMBER NINETY
push @{$codesets{"Ethiopian"}}, "U+137B";
# U+137B:   ETHIOPIC NUMBER HUNDRED
push @{$codesets{"Ethiopian"}}, "U+137C";
# U+137C:   ETHIOPIC NUMBER TEN THOUSAND


push @{$codesets{"Georgian"}}, "U+10D0";
# U+10D0:   GEORGIAN LETTER AN
push @{$codesets{"Georgian"}}, "U+10D1";
# U+10D1:   GEORGIAN LETTER BAN
push @{$codesets{"Georgian"}}, "U+10D2";
# U+10D2:   GEORGIAN LETTER GAN
push @{$codesets{"Georgian"}}, "U+10D3";
# U+10D3:   GEORGIAN LETTER DON
push @{$codesets{"Georgian"}}, "U+10D4";
# U+10D4:   GEORGIAN LETTER EN
push @{$codesets{"Georgian"}}, "U+10D5";
# U+10D5:   GEORGIAN LETTER VIN
push @{$codesets{"Georgian"}}, "U+10D6";
# U+10D6:   GEORGIAN LETTER ZEN
push @{$codesets{"Georgian"}}, "U+10D7";
# U+10D7:   GEORGIAN LETTER TAN
push @{$codesets{"Georgian"}}, "U+10D8";
# U+10D8:   GEORGIAN LETTER IN
push @{$codesets{"Georgian"}}, "U+10D9";
# U+10D9:   GEORGIAN LETTER KAN
push @{$codesets{"Georgian"}}, "U+10DA";
# U+10DA:   GEORGIAN LETTER LAS
push @{$codesets{"Georgian"}}, "U+10DB";
# U+10DB:   GEORGIAN LETTER MAN
push @{$codesets{"Georgian"}}, "U+10DC";
# U+10DC:   GEORGIAN LETTER NAR
push @{$codesets{"Georgian"}}, "U+10DD";
# U+10DD:   GEORGIAN LETTER ON
push @{$codesets{"Georgian"}}, "U+10DE";
# U+10DE:   GEORGIAN LETTER PAR
push @{$codesets{"Georgian"}}, "U+10DF";
# U+10DF:   GEORGIAN LETTER ZHAR
push @{$codesets{"Georgian"}}, "U+10E0";
# U+10E0:   GEORGIAN LETTER RAE
push @{$codesets{"Georgian"}}, "U+10E1";
# U+10E1:   GEORGIAN LETTER SAN
push @{$codesets{"Georgian"}}, "U+10E2";
# U+10E2:   GEORGIAN LETTER TAR
push @{$codesets{"Georgian"}}, "U+10E3";
# U+10E3:   GEORGIAN LETTER UN
push @{$codesets{"Georgian"}}, "U+10E4";
# U+10E4:   GEORGIAN LETTER PHAR
push @{$codesets{"Georgian"}}, "U+10E5";
# U+10E5:   GEORGIAN LETTER KHAR
push @{$codesets{"Georgian"}}, "U+10E6";
# U+10E6:   GEORGIAN LETTER GHAN
push @{$codesets{"Georgian"}}, "U+10E7";
# U+10E7:   GEORGIAN LETTER QAR
push @{$codesets{"Georgian"}}, "U+10E8";
# U+10E8:   GEORGIAN LETTER SHIN
push @{$codesets{"Georgian"}}, "U+10E9";
# U+10E9:   GEORGIAN LETTER CHIN
push @{$codesets{"Georgian"}}, "U+10EA";
# U+10EA:   GEORGIAN LETTER CAN
push @{$codesets{"Georgian"}}, "U+10EB";
# U+10EB:   GEORGIAN LETTER JIL
push @{$codesets{"Georgian"}}, "U+10EC";
# U+10EC:   GEORGIAN LETTER CIL
push @{$codesets{"Georgian"}}, "U+10ED";
# U+10ED:   GEORGIAN LETTER CHAR
push @{$codesets{"Georgian"}}, "U+10EE";
# U+10EE:   GEORGIAN LETTER XAN
push @{$codesets{"Georgian"}}, "U+10EF";
# U+10EF:   GEORGIAN LETTER JHAN
push @{$codesets{"Georgian"}}, "U+10F0";
# U+10F0:   GEORGIAN LETTER HAE
push @{$codesets{"Georgian"}}, "U+10F1";
# U+10F1:   GEORGIAN LETTER HE
push @{$codesets{"Georgian"}}, "U+10F2";
# U+10F2:   GEORGIAN LETTER HIE
push @{$codesets{"Georgian"}}, "U+10F3";
# U+10F3:   GEORGIAN LETTER WE
push @{$codesets{"Georgian"}}, "U+10F4";
# U+10F4:   GEORGIAN LETTER HAR
push @{$codesets{"Georgian"}}, "U+10F5";
# U+10F5:   GEORGIAN LETTER HOE
push @{$codesets{"Georgian"}}, "U+10F6";
# U+10F6:   GEORGIAN LETTER FI
push @{$codesets{"Georgian"}}, "U+10FB";
# U+10FB:   GEORGIAN PARAGRAPH SEPARATOR


push @{$codesets{"Greek"}}, "U+0384";
# U+0384:   GREEK TONOS
push @{$codesets{"Greek"}}, "U+0385";
# U+0385:   GREEK DIALYTIKA TONOS
push @{$codesets{"Greek"}}, "U+0386";
# U+0386:   GREEK CAPITAL LETTER ALPHA WITH TONOS
push @{$codesets{"Greek"}}, "U+0388";
# U+0388:   GREEK CAPITAL LETTER EPSILON WITH TONOS
push @{$codesets{"Greek"}}, "U+0389";
# U+0389:   GREEK CAPITAL LETTER ETA WITH TONOS
push @{$codesets{"Greek"}}, "U+038A";
# U+038A:   GREEK CAPITAL LETTER IOTA WITH TONOS
push @{$codesets{"Greek"}}, "U+038C";
# U+038C:   GREEK CAPITAL LETTER OMICRON WITH TONOS
push @{$codesets{"Greek"}}, "U+038E";
# U+038E:   GREEK CAPITAL LETTER UPSILON WITH TONOS
push @{$codesets{"Greek"}}, "U+038F";
# U+038F:   GREEK CAPITAL LETTER OMEGA WITH TONOS
push @{$codesets{"Greek"}}, "U+0390";
# U+0390:   GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
push @{$codesets{"Greek"}}, "U+0391";
# U+0391:   GREEK CAPITAL LETTER ALPHA
push @{$codesets{"Greek"}}, "U+0392";
# U+0392:   GREEK CAPITAL LETTER BETA
push @{$codesets{"Greek"}}, "U+0393";
# U+0393:   GREEK CAPITAL LETTER GAMMA
push @{$codesets{"Greek"}}, "U+0394";
# U+0394:   GREEK CAPITAL LETTER DELTA
push @{$codesets{"Greek"}}, "U+0395";
# U+0395:   GREEK CAPITAL LETTER EPSILON
push @{$codesets{"Greek"}}, "U+0396";
# U+0396:   GREEK CAPITAL LETTER ZETA
push @{$codesets{"Greek"}}, "U+0397";
# U+0397:   GREEK CAPITAL LETTER ETA
push @{$codesets{"Greek"}}, "U+0398";
# U+0398:   GREEK CAPITAL LETTER THETA
push @{$codesets{"Greek"}}, "U+0399";
# U+0399:   GREEK CAPITAL LETTER IOTA
push @{$codesets{"Greek"}}, "U+039A";
# U+039A:   GREEK CAPITAL LETTER KAPPA
push @{$codesets{"Greek"}}, "U+039B";
# U+039B:   GREEK CAPITAL LETTER LAMDA
push @{$codesets{"Greek"}}, "U+039C";
# U+039C:   GREEK CAPITAL LETTER MU
push @{$codesets{"Greek"}}, "U+039D";
# U+039D:   GREEK CAPITAL LETTER NU
push @{$codesets{"Greek"}}, "U+039E";
# U+039E:   GREEK CAPITAL LETTER XI
push @{$codesets{"Greek"}}, "U+039F";
# U+039F:   GREEK CAPITAL LETTER OMICRON
push @{$codesets{"Greek"}}, "U+03A0";
# U+03A0:   GREEK CAPITAL LETTER PI
push @{$codesets{"Greek"}}, "U+03A1";
# U+03A1:   GREEK CAPITAL LETTER RHO
push @{$codesets{"Greek"}}, "U+03A3";
# U+03A3:   GREEK CAPITAL LETTER SIGMA
push @{$codesets{"Greek"}}, "U+03A4";
# U+03A4:   GREEK CAPITAL LETTER TAU
push @{$codesets{"Greek"}}, "U+03A5";
# U+03A5:   GREEK CAPITAL LETTER UPSILON
push @{$codesets{"Greek"}}, "U+03A6";
# U+03A6:   GREEK CAPITAL LETTER PHI
push @{$codesets{"Greek"}}, "U+03A7";
# U+03A7:   GREEK CAPITAL LETTER CHI
push @{$codesets{"Greek"}}, "U+03A8";
# U+03A8:   GREEK CAPITAL LETTER PSI
push @{$codesets{"Greek"}}, "U+03A9";
# U+03A9:   GREEK CAPITAL LETTER OMEGA
push @{$codesets{"Greek"}}, "U+03AA";
# U+03AA:   GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
push @{$codesets{"Greek"}}, "U+03AB";
# U+03AB:   GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
push @{$codesets{"Greek"}}, "U+03AC";
# U+03AC:   GREEK SMALL LETTER ALPHA WITH TONOS
push @{$codesets{"Greek"}}, "U+03AD";
# U+03AD:   GREEK SMALL LETTER EPSILON WITH TONOS
push @{$codesets{"Greek"}}, "U+03AE";
# U+03AE:   GREEK SMALL LETTER ETA WITH TONOS
push @{$codesets{"Greek"}}, "U+03AF";
# U+03AF:   GREEK SMALL LETTER IOTA WITH TONOS
push @{$codesets{"Greek"}}, "U+03B0";
# U+03B0:   GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
push @{$codesets{"Greek"}}, "U+03B1";
# U+03B1:   GREEK SMALL LETTER ALPHA
push @{$codesets{"Greek"}}, "U+03B2";
# U+03B2:   GREEK SMALL LETTER BETA
push @{$codesets{"Greek"}}, "U+03B3";
# U+03B3:   GREEK SMALL LETTER GAMMA
push @{$codesets{"Greek"}}, "U+03B4";
# U+03B4:   GREEK SMALL LETTER DELTA
push @{$codesets{"Greek"}}, "U+03B5";
# U+03B5:   GREEK SMALL LETTER EPSILON
push @{$codesets{"Greek"}}, "U+03B6";
# U+03B6:   GREEK SMALL LETTER ZETA
push @{$codesets{"Greek"}}, "U+03B7";
# U+03B7:   GREEK SMALL LETTER ETA
push @{$codesets{"Greek"}}, "U+03B8";
# U+03B8:   GREEK SMALL LETTER THETA
push @{$codesets{"Greek"}}, "U+03B9";
# U+03B9:   GREEK SMALL LETTER IOTA
push @{$codesets{"Greek"}}, "U+03BA";
# U+03BA:   GREEK SMALL LETTER KAPPA
push @{$codesets{"Greek"}}, "U+03BB";
# U+03BB:   GREEK SMALL LETTER LAMDA
push @{$codesets{"Greek"}}, "U+03BC";
# U+03BC:   GREEK SMALL LETTER MU
push @{$codesets{"Greek"}}, "U+03BD";
# U+03BD:   GREEK SMALL LETTER NU
push @{$codesets{"Greek"}}, "U+03BE";
# U+03BE:   GREEK SMALL LETTER XI
push @{$codesets{"Greek"}}, "U+03BF";
# U+03BF:   GREEK SMALL LETTER OMICRON
push @{$codesets{"Greek"}}, "U+03C0";
# U+03C0:   GREEK SMALL LETTER PI
push @{$codesets{"Greek"}}, "U+03C1";
# U+03C1:   GREEK SMALL LETTER RHO
push @{$codesets{"Greek"}}, "U+03C2";
# U+03C2:   GREEK SMALL LETTER FINAL SIGMA
push @{$codesets{"Greek"}}, "U+03C3";
# U+03C3:   GREEK SMALL LETTER SIGMA
push @{$codesets{"Greek"}}, "U+03C4";
# U+03C4:   GREEK SMALL LETTER TAU
push @{$codesets{"Greek"}}, "U+03C5";
# U+03C5:   GREEK SMALL LETTER UPSILON
push @{$codesets{"Greek"}}, "U+03C6";
# U+03C6:   GREEK SMALL LETTER PHI
push @{$codesets{"Greek"}}, "U+03C7";
# U+03C7:   GREEK SMALL LETTER CHI
push @{$codesets{"Greek"}}, "U+03C8";
# U+03C8:   GREEK SMALL LETTER PSI
push @{$codesets{"Greek"}}, "U+03C9";
# U+03C9:   GREEK SMALL LETTER OMEGA
push @{$codesets{"Greek"}}, "U+03CA";
# U+03CA:   GREEK SMALL LETTER IOTA WITH DIALYTIKA
push @{$codesets{"Greek"}}, "U+03CB";
# U+03CB:   GREEK SMALL LETTER UPSILON WITH DIALYTIKA
push @{$codesets{"Greek"}}, "U+03CC";
# U+03CC:   GREEK SMALL LETTER OMICRON WITH TONOS
push @{$codesets{"Greek"}}, "U+03CD";
# U+03CD:   GREEK SMALL LETTER UPSILON WITH TONOS
push @{$codesets{"Greek"}}, "U+03CE";
# U+03CE:   GREEK SMALL LETTER OMEGA WITH TONOS
push @{$codesets{"Greek"}}, "U+03F3";
# U+03F3:   GREEK LETTER YOT



push @{$codesets{"Hebrew"}}, "U+05B0";
# U+05B0:   HEBREW POINT SHEVA
push @{$codesets{"Hebrew"}}, "U+05B1";
# U+05B1:   HEBREW POINT HATAF SEGOL
push @{$codesets{"Hebrew"}}, "U+05B2";
# U+05B2:   HEBREW POINT HATAF PATAH
push @{$codesets{"Hebrew"}}, "U+05B3";
# U+05B3:   HEBREW POINT HATAF QAMATS
push @{$codesets{"Hebrew"}}, "U+05B4";
# U+05B4:   HEBREW POINT HIRIQ
push @{$codesets{"Hebrew"}}, "U+05B5";
# U+05B5:   HEBREW POINT TSERE
push @{$codesets{"Hebrew"}}, "U+05B6";
# U+05B6:   HEBREW POINT SEGOL
push @{$codesets{"Hebrew"}}, "U+05B7";
# U+05B7:   HEBREW POINT PATAH
push @{$codesets{"Hebrew"}}, "U+05B8";
# U+05B8:   HEBREW POINT QAMATS
push @{$codesets{"Hebrew"}}, "U+05B9";
# U+05B9:   HEBREW POINT HOLAM
push @{$codesets{"Hebrew"}}, "U+05BB";
# U+05BB:   HEBREW POINT QUBUTS
push @{$codesets{"Hebrew"}}, "U+05BC";
# U+05BC:   HEBREW POINT DAGESH OR MAPIQ
push @{$codesets{"Hebrew"}}, "U+05BD";
# U+05BD:   HEBREW POINT METEG
push @{$codesets{"Hebrew"}}, "U+05BE";
# U+05BE:   HEBREW PUNCTUATION MAQAF
push @{$codesets{"Hebrew"}}, "U+05BF";
# U+05BF:   HEBREW POINT RAFE
push @{$codesets{"Hebrew"}}, "U+05C0";
# U+05C0:   HEBREW PUNCTUATION PASEQ
push @{$codesets{"Hebrew"}}, "U+05C1";
# U+05C1:   HEBREW POINT SHIN DOT
push @{$codesets{"Hebrew"}}, "U+05C2";
# U+05C2:   HEBREW POINT SIN DOT
push @{$codesets{"Hebrew"}}, "U+05C3";
# U+05C3:   HEBREW PUNCTUATION SOF PASUQ
push @{$codesets{"Hebrew"}}, "U+05D0";
# U+05D0:   HEBREW LETTER ALEF
push @{$codesets{"Hebrew"}}, "U+05D1";
# U+05D1:   HEBREW LETTER BET
push @{$codesets{"Hebrew"}}, "U+05D2";
# U+05D2:   HEBREW LETTER GIMEL
push @{$codesets{"Hebrew"}}, "U+05D3";
# U+05D3:   HEBREW LETTER DALET
push @{$codesets{"Hebrew"}}, "U+05D4";
# U+05D4:   HEBREW LETTER HE
push @{$codesets{"Hebrew"}}, "U+05D5";
# U+05D5:   HEBREW LETTER VAV
push @{$codesets{"Hebrew"}}, "U+05D6";
# U+05D6:   HEBREW LETTER ZAYIN
push @{$codesets{"Hebrew"}}, "U+05D7";
# U+05D7:   HEBREW LETTER HET
push @{$codesets{"Hebrew"}}, "U+05D8";
# U+05D8:   HEBREW LETTER TET
push @{$codesets{"Hebrew"}}, "U+05D9";
# U+05D9:   HEBREW LETTER YOD
push @{$codesets{"Hebrew"}}, "U+05DA";
# U+05DA:   HEBREW LETTER FINAL KAF
push @{$codesets{"Hebrew"}}, "U+05DB";
# U+05DB:   HEBREW LETTER KAF
push @{$codesets{"Hebrew"}}, "U+05DC";
# U+05DC:   HEBREW LETTER LAMED
push @{$codesets{"Hebrew"}}, "U+05DD";
# U+05DD:   HEBREW LETTER FINAL MEM
push @{$codesets{"Hebrew"}}, "U+05DE";
# U+05DE:   HEBREW LETTER MEM
push @{$codesets{"Hebrew"}}, "U+05DF";
# U+05DF:   HEBREW LETTER FINAL NUN
push @{$codesets{"Hebrew"}}, "U+05E0";
# U+05E0:   HEBREW LETTER NUN
push @{$codesets{"Hebrew"}}, "U+05E1";
# U+05E1:   HEBREW LETTER SAMEKH
push @{$codesets{"Hebrew"}}, "U+05E2";
# U+05E2:   HEBREW LETTER AYIN
push @{$codesets{"Hebrew"}}, "U+05E3";
# U+05E3:   HEBREW LETTER FINAL PE
push @{$codesets{"Hebrew"}}, "U+05E4";
# U+05E4:   HEBREW LETTER PE
push @{$codesets{"Hebrew"}}, "U+05E5";
# U+05E5:   HEBREW LETTER FINAL TSADI
push @{$codesets{"Hebrew"}}, "U+05E6";
# U+05E6:   HEBREW LETTER TSADI
push @{$codesets{"Hebrew"}}, "U+05E7";
# U+05E7:   HEBREW LETTER QOF
push @{$codesets{"Hebrew"}}, "U+05E8";
# U+05E8:   HEBREW LETTER RESH
push @{$codesets{"Hebrew"}}, "U+05E9";
# U+05E9:   HEBREW LETTER SHIN
push @{$codesets{"Hebrew"}}, "U+05EA";
# U+05EA:   HEBREW LETTER TAV
push @{$codesets{"Hebrew"}}, "U+05F0";
# U+05F0:   HEBREW LIGATURE YIDDISH DOUBLE VAV
push @{$codesets{"Hebrew"}}, "U+05F1";
# U+05F1:   HEBREW LIGATURE YIDDISH VAV YOD
push @{$codesets{"Hebrew"}}, "U+05F2";
# U+05F2:   HEBREW LIGATURE YIDDISH DOUBLE YOD
push @{$codesets{"Hebrew"}}, "U+05F3";
# U+05F3:   HEBREW PUNCTUATION GERESH
push @{$codesets{"Hebrew"}}, "U+05F4";
# U+05F4:   HEBREW PUNCTUATION GERSHAYIM


push @{$codesets{"Lao"}}, "U+0E81";
# U+0E81:   LAO LETTER KO
push @{$codesets{"Lao"}}, "U+0E82";
# U+0E82:   LAO LETTER KHO SUNG
push @{$codesets{"Lao"}}, "U+0E84";
# U+0E84:   LAO LETTER KHO TAM
push @{$codesets{"Lao"}}, "U+0E87";
# U+0E87:   LAO LETTER NGO
push @{$codesets{"Lao"}}, "U+0E88";
# U+0E88:   LAO LETTER CO
push @{$codesets{"Lao"}}, "U+0E8A";
# U+0E8A:   LAO LETTER SO TAM
push @{$codesets{"Lao"}}, "U+0E8D";
# U+0E8D:   LAO LETTER NYO
push @{$codesets{"Lao"}}, "U+0E94";
# U+0E94:   LAO LETTER DO
push @{$codesets{"Lao"}}, "U+0E95";
# U+0E95:   LAO LETTER TO
push @{$codesets{"Lao"}}, "U+0E96";
# U+0E96:   LAO LETTER THO SUNG
push @{$codesets{"Lao"}}, "U+0E97";
# U+0E97:   LAO LETTER THO TAM
push @{$codesets{"Lao"}}, "U+0E99";
# U+0E99:   LAO LETTER NO
push @{$codesets{"Lao"}}, "U+0E9A";
# U+0E9A:   LAO LETTER BO
push @{$codesets{"Lao"}}, "U+0E9B";
# U+0E9B:   LAO LETTER PO
push @{$codesets{"Lao"}}, "U+0E9C";
# U+0E9C:   LAO LETTER PHO SUNG
push @{$codesets{"Lao"}}, "U+0E9D";
# U+0E9D:   LAO LETTER FO TAM
push @{$codesets{"Lao"}}, "U+0E9E";
# U+0E9E:   LAO LETTER PHO TAM
push @{$codesets{"Lao"}}, "U+0E9F";
# U+0E9F:   LAO LETTER FO SUNG
push @{$codesets{"Lao"}}, "U+0EA1";
# U+0EA1:   LAO LETTER MO
push @{$codesets{"Lao"}}, "U+0EA2";
# U+0EA2:   LAO LETTER YO
push @{$codesets{"Lao"}}, "U+0EA3";
# U+0EA3:   LAO LETTER LO LING
push @{$codesets{"Lao"}}, "U+0EA5";
# U+0EA5:   LAO LETTER LO LOOT
push @{$codesets{"Lao"}}, "U+0EA7";
# U+0EA7:   LAO LETTER WO
push @{$codesets{"Lao"}}, "U+0EAA";
# U+0EAA:   LAO LETTER SO SUNG
push @{$codesets{"Lao"}}, "U+0EAB";
# U+0EAB:   LAO LETTER HO SUNG
push @{$codesets{"Lao"}}, "U+0EAD";
# U+0EAD:   LAO LETTER O
push @{$codesets{"Lao"}}, "U+0EAE";
# U+0EAE:   LAO LETTER HO TAM
push @{$codesets{"Lao"}}, "U+0EAF";
# U+0EAF:   LAO ELLIPSIS
push @{$codesets{"Lao"}}, "U+0EB0";
# U+0EB0:   LAO VOWEL SIGN A
push @{$codesets{"Lao"}}, "U+0EB1";
# U+0EB1:   LAO VOWEL SIGN MAI KAN
push @{$codesets{"Lao"}}, "U+0EB2";
# U+0EB2:   LAO VOWEL SIGN AA
push @{$codesets{"Lao"}}, "U+0EB3";
# U+0EB3:   LAO VOWEL SIGN AM
push @{$codesets{"Lao"}}, "U+0EB4";
# U+0EB4:   LAO VOWEL SIGN I
push @{$codesets{"Lao"}}, "U+0EB5";
# U+0EB5:   LAO VOWEL SIGN II
push @{$codesets{"Lao"}}, "U+0EB6";
# U+0EB6:   LAO VOWEL SIGN Y
push @{$codesets{"Lao"}}, "U+0EB7";
# U+0EB7:   LAO VOWEL SIGN YY
push @{$codesets{"Lao"}}, "U+0EB8";
# U+0EB8:   LAO VOWEL SIGN U
push @{$codesets{"Lao"}}, "U+0EB9";
# U+0EB9:   LAO VOWEL SIGN UU
push @{$codesets{"Lao"}}, "U+0EBB";
# U+0EBB:   LAO VOWEL SIGN MAI KON
push @{$codesets{"Lao"}}, "U+0EBC";
# U+0EBC:   LAO SEMIVOWEL SIGN LO
push @{$codesets{"Lao"}}, "U+0EBD";
# U+0EBD:   LAO SEMIVOWEL SIGN NYO
push @{$codesets{"Lao"}}, "U+0EC0";
# U+0EC0:   LAO VOWEL SIGN E
push @{$codesets{"Lao"}}, "U+0EC1";
# U+0EC1:   LAO VOWEL SIGN EI
push @{$codesets{"Lao"}}, "U+0EC2";
# U+0EC2:   LAO VOWEL SIGN O
push @{$codesets{"Lao"}}, "U+0EC3";
# U+0EC3:   LAO VOWEL SIGN AY
push @{$codesets{"Lao"}}, "U+0EC4";
# U+0EC4:   LAO VOWEL SIGN AI
push @{$codesets{"Lao"}}, "U+0EC6";
# U+0EC6:   LAO KO LA
push @{$codesets{"Lao"}}, "U+0EC8";
# U+0EC8:   LAO TONE MAI EK
push @{$codesets{"Lao"}}, "U+0EC9";
# U+0EC9:   LAO TONE MAI THO
push @{$codesets{"Lao"}}, "U+0ECA";
# U+0ECA:   LAO TONE MAI TI
push @{$codesets{"Lao"}}, "U+0ECB";
# U+0ECB:   LAO TONE MAI CATAWA
push @{$codesets{"Lao"}}, "U+0ECC";
# U+0ECC:   LAO CANCELLATION MARK
push @{$codesets{"Lao"}}, "U+0ECD";
# U+0ECD:   LAO NIGGAHITA
push @{$codesets{"Lao"}}, "U+0ED0";
# U+0ED0:   LAO DIGIT ZERO
push @{$codesets{"Lao"}}, "U+0ED1";
# U+0ED1:   LAO DIGIT ONE
push @{$codesets{"Lao"}}, "U+0ED2";
# U+0ED2:   LAO DIGIT TWO
push @{$codesets{"Lao"}}, "U+0ED3";
# U+0ED3:   LAO DIGIT THREE
push @{$codesets{"Lao"}}, "U+0ED4";
# U+0ED4:   LAO DIGIT FOUR
push @{$codesets{"Lao"}}, "U+0ED5";
# U+0ED5:   LAO DIGIT FIVE
push @{$codesets{"Lao"}}, "U+0ED6";
# U+0ED6:   LAO DIGIT SIX
push @{$codesets{"Lao"}}, "U+0ED7";
# U+0ED7:   LAO DIGIT SEVEN
push @{$codesets{"Lao"}}, "U+0ED8";
# U+0ED8:   LAO DIGIT EIGHT
push @{$codesets{"Lao"}}, "U+0ED9";
# U+0ED9:   LAO DIGIT NINE
push @{$codesets{"Lao"}}, "U+0EDC";
# U+0EDC:   LAO HO NO
push @{$codesets{"Lao"}}, "U+0EDD";
# U+0EDD:   LAO HO MO


push @{$codesets{"Thai"}}, "U+0E01";
# U+0E01:   THAI CHARACTER KO KAI
push @{$codesets{"Thai"}}, "U+0E02";
# U+0E02:   THAI CHARACTER KHO KHAI
push @{$codesets{"Thai"}}, "U+0E03";
# U+0E03:   THAI CHARACTER KHO KHUAT
push @{$codesets{"Thai"}}, "U+0E04";
# U+0E04:   THAI CHARACTER KHO KHWAI
push @{$codesets{"Thai"}}, "U+0E05";
# U+0E05:   THAI CHARACTER KHO KHON
push @{$codesets{"Thai"}}, "U+0E06";
# U+0E06:   THAI CHARACTER KHO RAKHANG
push @{$codesets{"Thai"}}, "U+0E07";
# U+0E07:   THAI CHARACTER NGO NGU
push @{$codesets{"Thai"}}, "U+0E08";
# U+0E08:   THAI CHARACTER CHO CHAN
push @{$codesets{"Thai"}}, "U+0E09";
# U+0E09:   THAI CHARACTER CHO CHING
push @{$codesets{"Thai"}}, "U+0E0A";
# U+0E0A:   THAI CHARACTER CHO CHANG
push @{$codesets{"Thai"}}, "U+0E0B";
# U+0E0B:   THAI CHARACTER SO SO
push @{$codesets{"Thai"}}, "U+0E0C";
# U+0E0C:   THAI CHARACTER CHO CHOE
push @{$codesets{"Thai"}}, "U+0E0D";
# U+0E0D:   THAI CHARACTER YO YING
push @{$codesets{"Thai"}}, "U+0E0E";
# U+0E0E:   THAI CHARACTER DO CHADA
push @{$codesets{"Thai"}}, "U+0E0F";
# U+0E0F:   THAI CHARACTER TO PATAK
push @{$codesets{"Thai"}}, "U+0E10";
# U+0E10:   THAI CHARACTER THO THAN
push @{$codesets{"Thai"}}, "U+0E11";
# U+0E11:   THAI CHARACTER THO NANGMONTHO
push @{$codesets{"Thai"}}, "U+0E12";
# U+0E12:   THAI CHARACTER THO PHUTHAO
push @{$codesets{"Thai"}}, "U+0E13";
# U+0E13:   THAI CHARACTER NO NEN
push @{$codesets{"Thai"}}, "U+0E14";
# U+0E14:   THAI CHARACTER DO DEK
push @{$codesets{"Thai"}}, "U+0E15";
# U+0E15:   THAI CHARACTER TO TAO
push @{$codesets{"Thai"}}, "U+0E16";
# U+0E16:   THAI CHARACTER THO THUNG
push @{$codesets{"Thai"}}, "U+0E17";
# U+0E17:   THAI CHARACTER THO THAHAN
push @{$codesets{"Thai"}}, "U+0E18";
# U+0E18:   THAI CHARACTER THO THONG
push @{$codesets{"Thai"}}, "U+0E19";
# U+0E19:   THAI CHARACTER NO NU
push @{$codesets{"Thai"}}, "U+0E1A";
# U+0E1A:   THAI CHARACTER BO BAIMAI
push @{$codesets{"Thai"}}, "U+0E1B";
# U+0E1B:   THAI CHARACTER PO PLA
push @{$codesets{"Thai"}}, "U+0E1C";
# U+0E1C:   THAI CHARACTER PHO PHUNG
push @{$codesets{"Thai"}}, "U+0E1D";
# U+0E1D:   THAI CHARACTER FO FA
push @{$codesets{"Thai"}}, "U+0E1E";
# U+0E1E:   THAI CHARACTER PHO PHAN
push @{$codesets{"Thai"}}, "U+0E1F";
# U+0E1F:   THAI CHARACTER FO FAN
push @{$codesets{"Thai"}}, "U+0E20";
# U+0E20:   THAI CHARACTER PHO SAMPHAO
push @{$codesets{"Thai"}}, "U+0E21";
# U+0E21:   THAI CHARACTER MO MA
push @{$codesets{"Thai"}}, "U+0E22";
# U+0E22:   THAI CHARACTER YO YAK
push @{$codesets{"Thai"}}, "U+0E23";
# U+0E23:   THAI CHARACTER RO RUA
push @{$codesets{"Thai"}}, "U+0E24";
# U+0E24:   THAI CHARACTER RU
push @{$codesets{"Thai"}}, "U+0E25";
# U+0E25:   THAI CHARACTER LO LING
push @{$codesets{"Thai"}}, "U+0E26";
# U+0E26:   THAI CHARACTER LU
push @{$codesets{"Thai"}}, "U+0E27";
# U+0E27:   THAI CHARACTER WO WAEN
push @{$codesets{"Thai"}}, "U+0E28";
# U+0E28:   THAI CHARACTER SO SALA
push @{$codesets{"Thai"}}, "U+0E29";
# U+0E29:   THAI CHARACTER SO RUSI
push @{$codesets{"Thai"}}, "U+0E2A";
# U+0E2A:   THAI CHARACTER SO SUA
push @{$codesets{"Thai"}}, "U+0E2B";
# U+0E2B:   THAI CHARACTER HO HIP
push @{$codesets{"Thai"}}, "U+0E2C";
# U+0E2C:   THAI CHARACTER LO CHULA
push @{$codesets{"Thai"}}, "U+0E2D";
# U+0E2D:   THAI CHARACTER O ANG
push @{$codesets{"Thai"}}, "U+0E2E";
# U+0E2E:   THAI CHARACTER HO NOKHUK
push @{$codesets{"Thai"}}, "U+0E2F";
# U+0E2F:   THAI CHARACTER PAIYANNOI
push @{$codesets{"Thai"}}, "U+0E30";
# U+0E30:   THAI CHARACTER SARA A
push @{$codesets{"Thai"}}, "U+0E31";
# U+0E31:   THAI CHARACTER MAI HAN-AKAT
push @{$codesets{"Thai"}}, "U+0E32";
# U+0E32:   THAI CHARACTER SARA AA
push @{$codesets{"Thai"}}, "U+0E33";
# U+0E33:   THAI CHARACTER SARA AM
push @{$codesets{"Thai"}}, "U+0E34";
# U+0E34:   THAI CHARACTER SARA I
push @{$codesets{"Thai"}}, "U+0E35";
# U+0E35:   THAI CHARACTER SARA II
push @{$codesets{"Thai"}}, "U+0E36";
# U+0E36:   THAI CHARACTER SARA UE
push @{$codesets{"Thai"}}, "U+0E37";
# U+0E37:   THAI CHARACTER SARA UEE
push @{$codesets{"Thai"}}, "U+0E38";
# U+0E38:   THAI CHARACTER SARA U
push @{$codesets{"Thai"}}, "U+0E39";
# U+0E39:   THAI CHARACTER SARA UU
push @{$codesets{"Thai"}}, "U+0E3A";
# U+0E3A:   THAI CHARACTER PHINTHU
push @{$codesets{"Thai"}}, "U+0E3F";
# U+0E3F:   THAI CURRENCY SYMBOL BAHT
push @{$codesets{"Thai"}}, "U+0E40";
# U+0E40:   THAI CHARACTER SARA E
push @{$codesets{"Thai"}}, "U+0E41";
# U+0E41:   THAI CHARACTER SARA AE
push @{$codesets{"Thai"}}, "U+0E42";
# U+0E42:   THAI CHARACTER SARA O
push @{$codesets{"Thai"}}, "U+0E43";
# U+0E43:   THAI CHARACTER SARA AI MAIMUAN
push @{$codesets{"Thai"}}, "U+0E44";
# U+0E44:   THAI CHARACTER SARA AI MAIMALAI
push @{$codesets{"Thai"}}, "U+0E45";
# U+0E45:   THAI CHARACTER LAKKHANGYAO
push @{$codesets{"Thai"}}, "U+0E46";
# U+0E46:   THAI CHARACTER MAIYAMOK
push @{$codesets{"Thai"}}, "U+0E47";
# U+0E47:   THAI CHARACTER MAITAIKHU
push @{$codesets{"Thai"}}, "U+0E48";
# U+0E48:   THAI CHARACTER MAI EK
push @{$codesets{"Thai"}}, "U+0E49";
# U+0E49:   THAI CHARACTER MAI THO
push @{$codesets{"Thai"}}, "U+0E4A";
# U+0E4A:   THAI CHARACTER MAI TRI
push @{$codesets{"Thai"}}, "U+0E4B";
# U+0E4B:   THAI CHARACTER MAI CHATTAWA
push @{$codesets{"Thai"}}, "U+0E4C";
# U+0E4C:   THAI CHARACTER THANTHAKHAT
push @{$codesets{"Thai"}}, "U+0E4D";
# U+0E4D:   THAI CHARACTER NIKHAHIT
push @{$codesets{"Thai"}}, "U+0E4E";
# U+0E4E:   THAI CHARACTER YAMAKKAN
push @{$codesets{"Thai"}}, "U+0E4F";
# U+0E4F:   THAI CHARACTER FONGMAN
push @{$codesets{"Thai"}}, "U+0E50";
# U+0E50:   THAI DIGIT ZERO
push @{$codesets{"Thai"}}, "U+0E51";
# U+0E51:   THAI DIGIT ONE
push @{$codesets{"Thai"}}, "U+0E52";
# U+0E52:   THAI DIGIT TWO
push @{$codesets{"Thai"}}, "U+0E53";
# U+0E53:   THAI DIGIT THREE
push @{$codesets{"Thai"}}, "U+0E54";
# U+0E54:   THAI DIGIT FOUR
push @{$codesets{"Thai"}}, "U+0E55";
# U+0E55:   THAI DIGIT FIVE
push @{$codesets{"Thai"}}, "U+0E56";
# U+0E56:   THAI DIGIT SIX
push @{$codesets{"Thai"}}, "U+0E57";
# U+0E57:   THAI DIGIT SEVEN
push @{$codesets{"Thai"}}, "U+0E58";
# U+0E58:   THAI DIGIT EIGHT
push @{$codesets{"Thai"}}, "U+0E59";
# U+0E59:   THAI DIGIT NINE
push @{$codesets{"Thai"}}, "U+0E5A";
# U+0E5A:   THAI CHARACTER ANGKHANKHU
push @{$codesets{"Thai"}}, "U+0E5B";
# U+0E5B:   THAI CHARACTER KHOMUT


push @{$codesets{"Vietnamese"}}, "U+0128";
# U+0128:   LATIN CAPITAL LETTER I WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+0129";
# U+0129:   LATIN SMALL LETTER I WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+0168";
# U+0168:   LATIN CAPITAL LETTER U WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+0169";
# U+0169:   LATIN SMALL LETTER U WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+01A0";
# U+01A0:   LATIN CAPITAL LETTER O WITH HORN
push @{$codesets{"Vietnamese"}}, "U+01A1";
# U+01A1:   LATIN SMALL LETTER O WITH HORN
push @{$codesets{"Vietnamese"}}, "U+01AF";
# U+01AF:   LATIN CAPITAL LETTER U WITH HORN
push @{$codesets{"Vietnamese"}}, "U+01B0";
# U+01B0:   LATIN SMALL LETTER U WITH HORN
push @{$codesets{"Vietnamese"}}, "U+01F4";
# U+01F4:   LATIN CAPITAL LETTER G WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+01F5";
# U+01F5:   LATIN SMALL LETTER G WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+01F8";
# U+01F8:   LATIN CAPITAL LETTER N WITH GRAVE
push @{$codesets{"Vietnamese"}}, "U+01F9";
# U+01F9:   LATIN SMALL LETTER N WITH GRAVE
push @{$codesets{"Vietnamese"}}, "U+0300";
# U+0300:   COMBINING GRAVE ACCENT
push @{$codesets{"Vietnamese"}}, "U+0301";
# U+0301:   COMBINING ACUTE ACCENT
push @{$codesets{"Vietnamese"}}, "U+0303";
# U+0303:   COMBINING TILDE
push @{$codesets{"Vietnamese"}}, "U+0309";
# U+0309:   COMBINING HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+0323";
# U+0323:   COMBINING DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E04";
# U+1E04:   LATIN CAPITAL LETTER B WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E05";
# U+1E05:   LATIN SMALL LETTER B WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E0C";
# U+1E0C:   LATIN CAPITAL LETTER D WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E0D";
# U+1E0D:   LATIN SMALL LETTER D WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E24";
# U+1E24:   LATIN CAPITAL LETTER H WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E25";
# U+1E25:   LATIN SMALL LETTER H WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E30";
# U+1E30:   LATIN CAPITAL LETTER K WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E31";
# U+1E31:   LATIN SMALL LETTER K WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E32";
# U+1E32:   LATIN CAPITAL LETTER K WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E33";
# U+1E33:   LATIN SMALL LETTER K WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E36";
# U+1E36:   LATIN CAPITAL LETTER L WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E37";
# U+1E37:   LATIN SMALL LETTER L WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E3E";
# U+1E3E:   LATIN CAPITAL LETTER M WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E3F";
# U+1E3F:   LATIN SMALL LETTER M WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E42";
# U+1E42:   LATIN CAPITAL LETTER M WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E43";
# U+1E43:   LATIN SMALL LETTER M WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E46";
# U+1E46:   LATIN CAPITAL LETTER N WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E47";
# U+1E47:   LATIN SMALL LETTER N WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E54";
# U+1E54:   LATIN CAPITAL LETTER P WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E55";
# U+1E55:   LATIN SMALL LETTER P WITH ACUTE
push @{$codesets{"Vietnamese"}}, "U+1E5A";
# U+1E5A:   LATIN CAPITAL LETTER R WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E5B";
# U+1E5B:   LATIN SMALL LETTER R WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E62";
# U+1E62:   LATIN CAPITAL LETTER S WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E63";
# U+1E63:   LATIN SMALL LETTER S WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E6C";
# U+1E6C:   LATIN CAPITAL LETTER T WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E6D";
# U+1E6D:   LATIN SMALL LETTER T WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E7C";
# U+1E7C:   LATIN CAPITAL LETTER V WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+1E7D";
# U+1E7D:   LATIN SMALL LETTER V WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+1E7E";
# U+1E7E:   LATIN CAPITAL LETTER V WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E7F";
# U+1E7F:   LATIN SMALL LETTER V WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E88";
# U+1E88:   LATIN CAPITAL LETTER W WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E89";
# U+1E89:   LATIN SMALL LETTER W WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E92";
# U+1E92:   LATIN CAPITAL LETTER Z WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1E93";
# U+1E93:   LATIN SMALL LETTER Z WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EA0";
# U+1EA0:   LATIN CAPITAL LETTER A WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EA1";
# U+1EA1:   LATIN SMALL LETTER A WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EA2";
# U+1EA2:   LATIN CAPITAL LETTER A WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EA3";
# U+1EA3:   LATIN SMALL LETTER A WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EA4";
# U+1EA4:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EA5";
# U+1EA5:   LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EA6";
# U+1EA6:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EA7";
# U+1EA7:   LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EA8";
# U+1EA8:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EA9";
# U+1EA9:   LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EAA";
# U+1EAA:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EAB";
# U+1EAB:   LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EAC";
# U+1EAC:   LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EAD";
# U+1EAD:   LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EAE";
# U+1EAE:   LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EAF";
# U+1EAF:   LATIN SMALL LETTER A WITH BREVE AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EB0";
# U+1EB0:   LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EB1";
# U+1EB1:   LATIN SMALL LETTER A WITH BREVE AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EB2";
# U+1EB2:   LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EB3";
# U+1EB3:   LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EB4";
# U+1EB4:   LATIN CAPITAL LETTER A WITH BREVE AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EB5";
# U+1EB5:   LATIN SMALL LETTER A WITH BREVE AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EB6";
# U+1EB6:   LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EB7";
# U+1EB7:   LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EB8";
# U+1EB8:   LATIN CAPITAL LETTER E WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EB9";
# U+1EB9:   LATIN SMALL LETTER E WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EBA";
# U+1EBA:   LATIN CAPITAL LETTER E WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EBB";
# U+1EBB:   LATIN SMALL LETTER E WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EBC";
# U+1EBC:   LATIN CAPITAL LETTER E WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+1EBD";
# U+1EBD:   LATIN SMALL LETTER E WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+1EBE";
# U+1EBE:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EBF";
# U+1EBF:   LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EC0";
# U+1EC0:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EC1";
# U+1EC1:   LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EC2";
# U+1EC2:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EC3";
# U+1EC3:   LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EC4";
# U+1EC4:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EC5";
# U+1EC5:   LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EC6";
# U+1EC6:   LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EC7";
# U+1EC7:   LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EC8";
# U+1EC8:   LATIN CAPITAL LETTER I WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EC9";
# U+1EC9:   LATIN SMALL LETTER I WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1ECA";
# U+1ECA:   LATIN CAPITAL LETTER I WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1ECB";
# U+1ECB:   LATIN SMALL LETTER I WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1ECC";
# U+1ECC:   LATIN CAPITAL LETTER O WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1ECD";
# U+1ECD:   LATIN SMALL LETTER O WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1ECE";
# U+1ECE:   LATIN CAPITAL LETTER O WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1ECF";
# U+1ECF:   LATIN SMALL LETTER O WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1ED0";
# U+1ED0:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1ED1";
# U+1ED1:   LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1ED2";
# U+1ED2:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1ED3";
# U+1ED3:   LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1ED4";
# U+1ED4:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1ED5";
# U+1ED5:   LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1ED6";
# U+1ED6:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1ED7";
# U+1ED7:   LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1ED8";
# U+1ED8:   LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1ED9";
# U+1ED9:   LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EDA";
# U+1EDA:   LATIN CAPITAL LETTER O WITH HORN AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EDB";
# U+1EDB:   LATIN SMALL LETTER O WITH HORN AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EDC";
# U+1EDC:   LATIN CAPITAL LETTER O WITH HORN AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EDD";
# U+1EDD:   LATIN SMALL LETTER O WITH HORN AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EDE";
# U+1EDE:   LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EDF";
# U+1EDF:   LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EE0";
# U+1EE0:   LATIN CAPITAL LETTER O WITH HORN AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EE1";
# U+1EE1:   LATIN SMALL LETTER O WITH HORN AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EE2";
# U+1EE2:   LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EE3";
# U+1EE3:   LATIN SMALL LETTER O WITH HORN AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EE4";
# U+1EE4:   LATIN CAPITAL LETTER U WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EE5";
# U+1EE5:   LATIN SMALL LETTER U WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EE6";
# U+1EE6:   LATIN CAPITAL LETTER U WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EE7";
# U+1EE7:   LATIN SMALL LETTER U WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EE8";
# U+1EE8:   LATIN CAPITAL LETTER U WITH HORN AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EE9";
# U+1EE9:   LATIN SMALL LETTER U WITH HORN AND ACUTE
push @{$codesets{"Vietnamese"}}, "U+1EEA";
# U+1EEA:   LATIN CAPITAL LETTER U WITH HORN AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EEB";
# U+1EEB:   LATIN SMALL LETTER U WITH HORN AND GRAVE
push @{$codesets{"Vietnamese"}}, "U+1EEC";
# U+1EEC:   LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EED";
# U+1EED:   LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EEE";
# U+1EEE:   LATIN CAPITAL LETTER U WITH HORN AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EEF";
# U+1EEF:   LATIN SMALL LETTER U WITH HORN AND TILDE
push @{$codesets{"Vietnamese"}}, "U+1EF0";
# U+1EF0:   LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EF1";
# U+1EF1:   LATIN SMALL LETTER U WITH HORN AND DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EF4";
# U+1EF4:   LATIN CAPITAL LETTER Y WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EF5";
# U+1EF5:   LATIN SMALL LETTER Y WITH DOT BELOW
push @{$codesets{"Vietnamese"}}, "U+1EF6";
# U+1EF6:   LATIN CAPITAL LETTER Y WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EF7";
# U+1EF7:   LATIN SMALL LETTER Y WITH HOOK ABOVE
push @{$codesets{"Vietnamese"}}, "U+1EF8";
# U+1EF8:   LATIN CAPITAL LETTER Y WITH TILDE
push @{$codesets{"Vietnamese"}}, "U+1EF9";
# U+1EF9:   LATIN SMALL LETTER Y WITH TILDE


my $has_lat15 = 0;
my $has_lat2 = 0;
my $has_lat38 = 0;
my $has_lat7 = 0;
my $has_cyr = 0;
my $has_cyrasia = 0;
my $has_greek = 0;
my $has_heb = 0;
my $has_ar = 0;

for my $set (@codesets_names) {
    my $supported = 0;
    for my $u (@{$codesets{$set}}) {
	$supported++ if ($unicodes{$u});
    }
    if ($supported >= $threshold) {
	print $set ." ";
	$has_lat15 = 1 if ($set eq "Lat15");
	$has_lat2 = 1 if ($set eq "Lat2");
	$has_lat38 = 1 if ($set eq "Lat38");
	$has_lat7 = 1 if ($set eq "Lat7");
	$has_cyr = 1 if ($set eq "CyrSlav");
	$has_cyrasia = 1 if ($set eq "CyrAsia");
	$has_greek = 1 if ($set eq "Greek");
	$has_heb = 1 if ($set eq "Hebrew");
	$has_ar = 1 if ($set eq "Arabic");
    }
}

my $has_lat = $has_lat15 || $has_lat2 || $has_lat38 || $has_lat7;

if ($has_lat && $has_cyr && $has_heb && $has_ar) {
    print "Uni1" ." ";
}
if ($has_lat && $has_cyr && $has_greek) {
    print "Uni2" ." ";
}
if ($has_lat && $has_cyr && $has_cyrasia) {
    print "Uni3" ." ";
}

print "\n";
