Add NameAliases.txt; regenerate mktables.list
Karl [Mon, 19 Jan 2009 02:51:43 +0000 (19:51 -0700)]
The NameAliases.txt is an official Unicode database file.  It contains
normative names of Unicode code points that any Unicode implementation
is supposed to recognize.  These are actually corrections to names that
have been published in UnicodeData.txt erroroneously, but to avoid
breaking code that uses the erroneous name, the folks at Unicode create
these additional ones.  (There are about a dozen entries now)

I changed mktables to append these names to Names.pl for use by
charnames.  This might break any existing code that relies on that file
being sorted in numerical code point order.  But if I added them sorted,
it might break code that relied on there being only one entry per code
point.  It's not clear that this file format is considered published and
the api can't change.  The point of the file is to go from the name to
the code point anyway, so the order shouldn't matter to any application
using it for its intended purpose.

mktables.list was not regenerated for 5.1, so was out-of-date.  The
ordering was random (Linux inode order), so the difference listing for
it is large.  I did sort the lists manually and compared them, and they
look ok.  I changed mktables to sort the list, so that this problem
doesn't arise again.

I also corrected some typos in mktables, and added a clarifing comment.

MANIFEST
lib/charnames.t
lib/unicore/NameAliases.txt [new file with mode: 0644]
lib/unicore/mktables
lib/unicore/mktables.lst

index 5597b96..585c129 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3124,6 +3124,7 @@ lib/unicore/LineBreak.txt Unicode character database
 lib/unicore/Makefile           Unicode character database
 lib/unicore/mktables           Unicode character database generator
 lib/unicore/mktables.lst       File list for mktables
+lib/unicore/NameAliases.txt    Unicode character database
 lib/unicore/NamedSequences.txt Unicode character database
 lib/unicore/NamedSqProv.txt    Unicode character database
 lib/unicore/NamesList.txt      Unicode character database
index 5a6671b..b3e4a46 100644 (file)
@@ -15,7 +15,7 @@ require File::Spec;
 
 $| = 1;
 
-print "1..78\n";
+print "1..79\n";
 
 use charnames ':full';
 
@@ -356,6 +356,10 @@ if ($@) {
     print "ok 78\n";
 }
 
+# Verify that db includes the normative NameAliases.txt names
+print "not " unless "\N{U+1D0C5}" eq "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}";
+print "ok 79\n";
+
 __END__
 # unsupported pragma
 use charnames ":scoobydoo";
diff --git a/lib/unicore/NameAliases.txt b/lib/unicore/NameAliases.txt
new file mode 100644 (file)
index 0000000..2588b79
--- /dev/null
@@ -0,0 +1,40 @@
+# NameAliases-5.1.0.txt
+# Date: 2008-02-11, 11:36:00 PST [KW]
+#
+# This file is a normative contributory data file in the
+# Unicode Character Database.
+#
+# Copyright (c) 2005-2008 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# This file defines the formal name aliases for Unicode characters.
+#
+# For informative aliases see NamesList.txt
+#
+# For documentation, see UCD.html and NamesList.html
+#
+# FORMAT
+#
+# Each line has two fields
+# First field: Code point
+# Second field: Alias
+#
+# In case multiple aliases are assigned, additional aliases
+# would be provided on separate lines
+#
+#-----------------------------------------------------------------
+01A2;LATIN CAPITAL LETTER GHA
+01A3;LATIN SMALL LETTER GHA
+0CDE;KANNADA LETTER LLLA
+0E9D;LAO LETTER FO FON
+0E9F;LAO LETTER FO FAY
+0EA3;LAO LETTER RO
+0EA5;LAO LETTER LO
+0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN
+A015;YI SYLLABLE ITERATION MARK
+FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
+1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
+
+# Total code points: 11
+
+# EOF
index 242465d..41c206c 100644 (file)
@@ -152,7 +152,7 @@ foreach my $lib ('To', 'lib',
   mkdir $lib, 0755 or die "mkdir '$lib': $!";
 }
 
-my $LastUnicodeCodepoint = 0x10FFFF; # As of Unicode 3.1.1.
+my $LastUnicodeCodepoint = 0x10FFFF; # As of Unicode 5.1.
 
 my $HEADER=<<"EOF";
 # !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
@@ -749,7 +749,7 @@ my $General  = Table->New(); ## all characters, grouped by category
 my %General;
 my %Cat;
 
-## Simple Data::Dumper alike. Good enough for our needs. We can't use the real
+## Simple Data::Dumper like. Good enough for our needs. We can't use the real
 ## thing as we have to run under miniperl
 sub simple_dumper {
     my @lines;
@@ -958,7 +958,7 @@ sub UnicodeData_Txt()
         }
     }
 
-    ## open ane read file.....
+    ## open and read file.....
     if (not open IN, "UnicodeData.txt") {
         die "$0: UnicodeData.txt: $!\n";
     }
@@ -1075,6 +1075,39 @@ sub UnicodeData_Txt()
     }
     close IN;
 
+    ## Read in the NameAliases.txt.  It contains other normative names of code
+    ## points not listed in UnicodeData.txt.  This happens when there is an
+    ## error in the name found after the data base was published, but instead of
+    ## changing it, to avoid breaking any code that came to rely on the
+    ## erroneous version, the correct name is added as an alias.
+    
+    my $NameAliases = Table->New();
+
+    if (not open IN, "NameAliases.txt") {
+        die "$0: NameAliases.txt: $!\n";
+    }
+
+    while (<IN>)
+    {
+        next unless /^[0-9A-Fa-f]+;/;
+        s/\s+$//;
+
+        my ($hexcode,   ## code point in hex (e.g. "0041")
+            $name,      ## character name (e.g. "LATIN CAPITAL LETTER A")
+              ) = split(/\s*;\s*/);
+
+        my $code = hex($hexcode);
+
+       ## One is supposed to enter elements into tables in strictly increasing
+       ## order, but this in fact works to append duplicate code points at
+       ## the end of the table.  The table is intended to be indexed by name
+       ## anyway.
+
+        $Name->RawAppendRange($code, $code, $name);
+    }
+    close IN;
+
+
     ##
     ## Tidy up a few special cases....
     ##
@@ -2089,7 +2122,9 @@ sub SpecialCasing_txt()
 #
 # Read in the case foldings.
 #
-# We will do full case folding, C + F + I (see CaseFolding.txt).
+# We will do full case folding, C + F + I (see CaseFolding.txt).  Note that
+# there are no I entries starting with Unicode 3.2, but leaving it in allows
+# for backward compatibility.
 #
 sub CaseFolding_txt()
 {
@@ -2188,7 +2223,7 @@ if ( $FileList and $MakeList ) {
 EOFHEADER
     my @input=("version",glob('*.txt'));
     print $ofh "$_\n" for 
-        @input,
+        sort(@input),
         "\n=================================\n",
         "# Output files:\n",
         # special files
@@ -2196,26 +2231,26 @@ EOFHEADER
         
     
     require File::Find;
-    my $count=0;
+    my @output_files;
     File::Find::find({
         no_chdir=>1,
         wanted=>sub {
           if (/\.pl$/) {
             s!^\./!!;
-            print $ofh "$_\n";
-            $count++;
+            push @output_files, "$_\n";
           }
         },
     },"."); 
     
+    print $ofh sort @output_files;
     print $ofh "\n# ",scalar(@input)," input files\n",
-               "# ",scalar($count+1)," output files\n\n",
+               "# ",scalar(@output_files)+1," output files\n\n",
                "# End list\n";  
     close $ofh 
         or warn "Failed to close $ofh: $!";
     
     print "Filelist has ",scalar(@input)," input files and ",
-          scalar($count+1)," output files\n"
+          scalar(@output_files)+1," output files\n"
         if $Verbose;
 }
 print "All done\n" if $Verbose;
index 9bec6ef..90182b9 100644 (file)
@@ -1,7 +1,7 @@
 #
 # mktables.lst -- File list for mktables.
 #
-#   Autogenerated on Wed Sep 13 20:06:29 2006
+#   Autogenerated on Sun Jan 18 18:35:22 2009
 #
 # - First section is input files
 #   (mktables itself is automatically included)
@@ -13,7 +13,6 @@
 
 # Input files:
 
-version
 ArabicShaping.txt
 BidiMirroring.txt
 Blocks.txt
@@ -24,495 +23,541 @@ HangulSyllableType.txt
 Index.txt
 Jamo.txt
 LineBreak.txt
+NameAliases.txt
 NamedSequences.txt
 NamedSqProv.txt
 NamesList.txt
 NormalizationCorrections.txt
-PropertyAliases.txt
 PropList.txt
 PropValueAliases.txt
+PropertyAliases.txt
 ReadMe.txt
 Scripts.txt
 SpecialCasing.txt
 StandardizedVariants.txt
 UnicodeData.txt
+version
 
 =================================
 
 # Output files:
 
 Properties
-PVA.pl
+Canonical.pl
+CombiningClass.pl
 Decomposition.pl
 Exact.pl
-Canonical.pl
 Name.pl
-CombiningClass.pl
-To/Upper.pl
-To/Title.pl
-To/Lower.pl
+PVA.pl
 To/Digit.pl
 To/Fold.pl
-lib/bc/B.pl
-lib/bc/L.pl
-lib/bc/R.pl
-lib/bc/S.pl
+To/Lower.pl
+To/Title.pl
+To/Upper.pl
 lib/bc/AL.pl
 lib/bc/AN.pl
+lib/bc/B.pl
 lib/bc/BN.pl
 lib/bc/CS.pl
 lib/bc/EN.pl
 lib/bc/ES.pl
 lib/bc/ET.pl
-lib/bc/ON.pl
+lib/bc/L.pl
 lib/bc/LRE.pl
 lib/bc/LRO.pl
-lib/bc/WS.pl
 lib/bc/NSM.pl
+lib/bc/ON.pl
 lib/bc/PDF.pl
+lib/bc/R.pl
 lib/bc/RLE.pl
 lib/bc/RLO.pl
-lib/ea/A.pl
-lib/ea/F.pl
-lib/ea/H.pl
-lib/ea/N.pl
-lib/ea/W.pl
-lib/ea/Na.pl
-lib/dt/nb.pl
+lib/bc/S.pl
+lib/bc/WS.pl
+lib/ccc/A.pl
+lib/ccc/AL.pl
+lib/ccc/AR.pl
+lib/ccc/ATAR.pl
+lib/ccc/ATB.pl
+lib/ccc/ATBL.pl
+lib/ccc/B.pl
+lib/ccc/BL.pl
+lib/ccc/BR.pl
+lib/ccc/DA.pl
+lib/ccc/DB.pl
+lib/ccc/IS.pl
+lib/ccc/KV.pl
+lib/ccc/L.pl
+lib/ccc/NK.pl
+lib/ccc/NR.pl
+lib/ccc/OV.pl
+lib/ccc/R.pl
+lib/ccc/VR.pl
 lib/dt/can.pl
 lib/dt/com.pl
-lib/dt/font.pl
 lib/dt/enc.pl
 lib/dt/fin.pl
+lib/dt/font.pl
 lib/dt/fra.pl
+lib/dt/init.pl
 lib/dt/iso.pl
 lib/dt/med.pl
 lib/dt/nar.pl
+lib/dt/nb.pl
 lib/dt/sml.pl
 lib/dt/sqr.pl
 lib/dt/sub.pl
 lib/dt/sup.pl
 lib/dt/vert.pl
 lib/dt/wide.pl
-lib/dt/init.pl
-lib/jt/C.pl
-lib/jt/D.pl
-lib/jt/R.pl
-lib/jt/U.pl
-lib/lb/B2.pl
-lib/lb/AI.pl
-lib/lb/AL.pl
-lib/lb/BA.pl
-lib/lb/BB.pl
-lib/lb/BK.pl
-lib/lb/CB.pl
-lib/lb/CL.pl
-lib/lb/CM.pl
-lib/lb/CR.pl
-lib/lb/H2.pl
-lib/lb/H3.pl
-lib/lb/EX.pl
-lib/lb/GL.pl
-lib/lb/ID.pl
-lib/lb/IN.pl
-lib/lb/HY.pl
-lib/lb/IS.pl
-lib/lb/JL.pl
-lib/lb/JT.pl
-lib/lb/JV.pl
-lib/lb/LF.pl
-lib/lb/NL.pl
-lib/lb/NS.pl
-lib/lb/NU.pl
-lib/lb/OP.pl
-lib/lb/PO.pl
-lib/lb/PR.pl
-lib/lb/QU.pl
-lib/lb/SA.pl
-lib/lb/SG.pl
-lib/lb/SP.pl
-lib/lb/SY.pl
-lib/lb/WJ.pl
-lib/lb/XX.pl
-lib/lb/ZW.pl
-lib/nt/De.pl
-lib/nt/Di.pl
-lib/nt/Nu.pl
-lib/ccc/A.pl
-lib/ccc/B.pl
-lib/ccc/L.pl
-lib/ccc/R.pl
-lib/ccc/AL.pl
-lib/ccc/AR.pl
-lib/ccc/BL.pl
-lib/ccc/BR.pl
-lib/ccc/DA.pl
-lib/ccc/DB.pl
-lib/ccc/IS.pl
-lib/ccc/KV.pl
-lib/ccc/NK.pl
-lib/ccc/NR.pl
-lib/ccc/OV.pl
-lib/ccc/VR.pl
-lib/ccc/ATAR.pl
-lib/ccc/ATBL.pl
-lib/ccc/ATB.pl
-lib/hst/L.pl
-lib/hst/T.pl
-lib/hst/V.pl
-lib/hst/LV.pl
-lib/hst/LVT.pl
-lib/gc_sc/Ogam.pl
-lib/gc_sc/JoinCont.pl
+lib/ea/A.pl
+lib/ea/F.pl
+lib/ea/H.pl
+lib/ea/N.pl
+lib/ea/Na.pl
+lib/ea/W.pl
+lib/gc_sc/AHex.pl
+lib/gc_sc/ASCII.pl
+lib/gc_sc/Alnum.pl
+lib/gc_sc/Alpha.pl
+lib/gc_sc/Alphabet.pl
 lib/gc_sc/Any.pl
+lib/gc_sc/Arab.pl
+lib/gc_sc/Armn.pl
+lib/gc_sc/AsciiHex.pl
+lib/gc_sc/Assigned.pl
+lib/gc_sc/Bali.pl
+lib/gc_sc/Beng.pl
+lib/gc_sc/BidiC.pl
+lib/gc_sc/BidiCont.pl
+lib/gc_sc/Blank.pl
+lib/gc_sc/Bopo.pl
+lib/gc_sc/Brai.pl
+lib/gc_sc/Bugi.pl
+lib/gc_sc/Buhd.pl
 lib/gc_sc/C.pl
-lib/gc_sc/L.pl
-lib/gc_sc/M.pl
-lib/gc_sc/N.pl
-lib/gc_sc/P.pl
-lib/gc_sc/S.pl
-lib/gc_sc/Z.pl
-lib/gc_sc/InTifina.pl
-lib/gc_sc/Hira.pl
+lib/gc_sc/Canadian.pl
+lib/gc_sc/Carian.pl
+lib/gc_sc/Cc.pl
+lib/gc_sc/Cf.pl
+lib/gc_sc/Cham.pl
+lib/gc_sc/Cher.pl
+lib/gc_sc/Cn.pl
+lib/gc_sc/Cntrl.pl
+lib/gc_sc/Co.pl
+lib/gc_sc/Copt.pl
+lib/gc_sc/Cprt.pl
+lib/gc_sc/Cs.pl
+lib/gc_sc/Cyrl.pl
+lib/gc_sc/Dash.pl
+lib/gc_sc/Dash2.pl
+lib/gc_sc/DefaultI.pl
 lib/gc_sc/Dep.pl
-lib/gc_sc/Gujr.pl
+lib/gc_sc/Deprecat.pl
+lib/gc_sc/Deva.pl
 lib/gc_sc/Dia.pl
-lib/gc_sc/_CanonDC.pl
-lib/gc_sc/Guru.pl
-lib/gc_sc/Bali.pl
-lib/gc_sc/AsciiHex.pl
-lib/gc_sc/PatWS.pl
-lib/gc_sc/InSyloti.pl
-lib/gc_sc/InOsmany.pl
+lib/gc_sc/Diacriti.pl
+lib/gc_sc/Digit.pl
+lib/gc_sc/Dsrt.pl
+lib/gc_sc/Ethi.pl
 lib/gc_sc/Ext.pl
+lib/gc_sc/Extender.pl
+lib/gc_sc/Geor.pl
+lib/gc_sc/Glag.pl
+lib/gc_sc/Goth.pl
+lib/gc_sc/Graph.pl
+lib/gc_sc/Grek.pl
+lib/gc_sc/Gujr.pl
+lib/gc_sc/Guru.pl
+lib/gc_sc/Hang.pl
+lib/gc_sc/Hani.pl
+lib/gc_sc/Hano.pl
+lib/gc_sc/Hebr.pl
+lib/gc_sc/Hex.pl
+lib/gc_sc/HexDigit.pl
+lib/gc_sc/Hira.pl
+lib/gc_sc/HorizSpa.pl
 lib/gc_sc/Hyphen.pl
+lib/gc_sc/Hyphen2.pl
+lib/gc_sc/IDSB.pl
+lib/gc_sc/IDST.pl
+lib/gc_sc/IdContin.pl
+lib/gc_sc/IdStart.pl
+lib/gc_sc/Ideo.pl
+lib/gc_sc/Ideograp.pl
+lib/gc_sc/IdsBinar.pl
+lib/gc_sc/IdsTrina.pl
+lib/gc_sc/InAegean.pl
+lib/gc_sc/InAlphab.pl
+lib/gc_sc/InAncie2.pl
+lib/gc_sc/InAncie3.pl
+lib/gc_sc/InAncien.pl
+lib/gc_sc/InArabi2.pl
+lib/gc_sc/InArabi3.pl
+lib/gc_sc/InArabi4.pl
+lib/gc_sc/InArabic.pl
+lib/gc_sc/InArmeni.pl
+lib/gc_sc/InArrows.pl
+lib/gc_sc/InBaline.pl
+lib/gc_sc/InBasicL.pl
+lib/gc_sc/InBengal.pl
+lib/gc_sc/InBlockE.pl
+lib/gc_sc/InBopom2.pl
+lib/gc_sc/InBopomo.pl
+lib/gc_sc/InBoxDra.pl
+lib/gc_sc/InBraill.pl
+lib/gc_sc/InBugine.pl
+lib/gc_sc/InBuhid.pl
+lib/gc_sc/InByzant.pl
+lib/gc_sc/InCarian.pl
+lib/gc_sc/InCham.pl
+lib/gc_sc/InCherok.pl
 lib/gc_sc/InCjkCo2.pl
 lib/gc_sc/InCjkCo3.pl
 lib/gc_sc/InCjkCo4.pl
-lib/gc_sc/Hex.pl
 lib/gc_sc/InCjkCom.pl
-lib/gc_sc/Cc.pl
-lib/gc_sc/Cf.pl
-lib/gc_sc/Cn.pl
-lib/gc_sc/Co.pl
-lib/gc_sc/OldPersi.pl
-lib/gc_sc/Cs.pl
-lib/gc_sc/Ideo.pl
-lib/gc_sc/InMusica.pl
-lib/gc_sc/LC.pl
-lib/gc_sc/Beng.pl
-lib/gc_sc/Ll.pl
-lib/gc_sc/Lm.pl
-lib/gc_sc/Mc.pl
-lib/gc_sc/Lo.pl
-lib/gc_sc/Me.pl
-lib/gc_sc/Lt.pl
-lib/gc_sc/Lu.pl
-lib/gc_sc/Mn.pl
-lib/gc_sc/Nd.pl
-lib/gc_sc/Nl.pl
-lib/gc_sc/No.pl
-lib/gc_sc/Pc.pl
-lib/gc_sc/Pd.pl
-lib/gc_sc/SD.pl
-lib/gc_sc/Pe.pl
-lib/gc_sc/Pf.pl
-lib/gc_sc/Pi.pl
-lib/gc_sc/Po.pl
-lib/gc_sc/Ps.pl
-lib/gc_sc/LOE.pl
-lib/gc_sc/Sc.pl
-lib/gc_sc/InBugine.pl
-lib/gc_sc/Sk.pl
-lib/gc_sc/Arab.pl
-lib/gc_sc/Sm.pl
-lib/gc_sc/So.pl
-lib/gc_sc/InCounti.pl
-lib/gc_sc/VS.pl
-lib/gc_sc/InVaria2.pl
-lib/gc_sc/InKanbun.pl
-lib/gc_sc/Cntrl.pl
-lib/gc_sc/Zl.pl
-lib/gc_sc/Zp.pl
-lib/gc_sc/Zs.pl
-lib/gc_sc/InVariat.pl
-lib/gc_sc/Quotatio.pl
-lib/gc_sc/Ideograp.pl
-lib/gc_sc/PhagsPa.pl
-lib/gc_sc/Armn.pl
-lib/gc_sc/ODI.pl
-lib/gc_sc/InSupers.pl
-lib/gc_sc/InGothic.pl
-lib/gc_sc/NewTaiLu.pl
-lib/gc_sc/InLao.pl
-lib/gc_sc/Canadian.pl
-lib/gc_sc/InSmallF.pl
-lib/gc_sc/InLowSur.pl
-lib/gc_sc/InByzant.pl
-lib/gc_sc/InContro.pl
-lib/gc_sc/InOldIta.pl
-lib/gc_sc/InLetter.pl
-lib/gc_sc/Osma.pl
-lib/gc_sc/Orya.pl
-lib/gc_sc/InHalfwi.pl
-lib/gc_sc/InKhmerS.pl
-lib/gc_sc/Phnx.pl
-lib/gc_sc/InKangxi.pl
-lib/gc_sc/InMathe2.pl
-lib/gc_sc/InNko.pl
-lib/gc_sc/InMathem.pl
-lib/gc_sc/Upper.pl
-lib/gc_sc/InHighPr.pl
-lib/gc_sc/InLimbu.pl
-lib/gc_sc/InHighSu.pl
-lib/gc_sc/Qaai.pl
-lib/gc_sc/OMath.pl
-lib/gc_sc/_CaseIgn.pl
-lib/gc_sc/InModifi.pl
-lib/gc_sc/Bopo.pl
-lib/gc_sc/NChar.pl
-lib/gc_sc/InOldPer.pl
-lib/gc_sc/InKannad.pl
-lib/gc_sc/SpacePer.pl
-lib/gc_sc/InHebrew.pl
-lib/gc_sc/Brai.pl
-lib/gc_sc/InGenera.pl
-lib/gc_sc/InSuppl2.pl
-lib/gc_sc/InSuppl3.pl
-lib/gc_sc/InSuppl4.pl
-lib/gc_sc/InSuppl5.pl
-lib/gc_sc/InSuppl6.pl
 lib/gc_sc/InCjkRad.pl
-lib/gc_sc/InSupple.pl
-lib/gc_sc/IdStart.pl
-lib/gc_sc/Cher.pl
-lib/gc_sc/JoinC.pl
-lib/gc_sc/InTagban.pl
-lib/gc_sc/InTagalo.pl
-lib/gc_sc/InGujara.pl
-lib/gc_sc/XDigit.pl
-lib/gc_sc/TaiLe.pl
-lib/gc_sc/InOriya.pl
-lib/gc_sc/ASCII.pl
-lib/gc_sc/Word.pl
-lib/gc_sc/InDesere.pl
-lib/gc_sc/InShavia.pl
-lib/gc_sc/Alphabet.pl
-lib/gc_sc/Bugi.pl
-lib/gc_sc/Buhd.pl
-lib/gc_sc/InYiSyll.pl
 lib/gc_sc/InCjkStr.pl
-lib/gc_sc/OtherAlp.pl
-lib/gc_sc/InNewTai.pl
 lib/gc_sc/InCjkSym.pl
 lib/gc_sc/InCjkUn2.pl
 lib/gc_sc/InCjkUn3.pl
 lib/gc_sc/InCjkUni.pl
-lib/gc_sc/UnifiedI.pl
-lib/gc_sc/IdsBinar.pl
-lib/gc_sc/OtherDef.pl
-lib/gc_sc/Dash.pl
-lib/gc_sc/UIdeo.pl
-lib/gc_sc/Kana.pl
-lib/gc_sc/InAlphab.pl
+lib/gc_sc/InCombi2.pl
+lib/gc_sc/InCombi3.pl
+lib/gc_sc/InCombi4.pl
+lib/gc_sc/InCombin.pl
+lib/gc_sc/InContro.pl
+lib/gc_sc/InCoptic.pl
+lib/gc_sc/InCounti.pl
+lib/gc_sc/InCunei2.pl
+lib/gc_sc/InCuneif.pl
+lib/gc_sc/InCurren.pl
+lib/gc_sc/InCyprio.pl
+lib/gc_sc/InCyril2.pl
+lib/gc_sc/InCyril3.pl
+lib/gc_sc/InCyril4.pl
+lib/gc_sc/InCyrill.pl
+lib/gc_sc/InDesere.pl
+lib/gc_sc/InDevana.pl
+lib/gc_sc/InDingba.pl
+lib/gc_sc/InDomino.pl
+lib/gc_sc/InEnclo2.pl
+lib/gc_sc/InEnclos.pl
 lib/gc_sc/InEthio2.pl
 lib/gc_sc/InEthio3.pl
 lib/gc_sc/InEthiop.pl
-lib/gc_sc/Copt.pl
-lib/gc_sc/SylotiNa.pl
-lib/gc_sc/InOptica.pl
-lib/gc_sc/InCurren.pl
-lib/gc_sc/InTibeta.pl
-lib/gc_sc/OtherGra.pl
-lib/gc_sc/Cprt.pl
-lib/gc_sc/Deva.pl
-lib/gc_sc/OtherIdC.pl
-lib/gc_sc/OtherIdS.pl
-lib/gc_sc/InPhagsP.pl
-lib/gc_sc/InPhoeni.pl
-lib/gc_sc/Print.pl
-lib/gc_sc/InBoxDra.pl
-lib/gc_sc/Khar.pl
-lib/gc_sc/InBengal.pl
-lib/gc_sc/Deprecat.pl
-lib/gc_sc/Nonchara.pl
-lib/gc_sc/InYijing.pl
-lib/gc_sc/Khmr.pl
-lib/gc_sc/InBraill.pl
-lib/gc_sc/InArrows.pl
-lib/gc_sc/InCoptic.pl
-lib/gc_sc/Assigned.pl
-lib/gc_sc/IdsTrina.pl
-lib/gc_sc/OtherMat.pl
-lib/gc_sc/OtherLow.pl
-lib/gc_sc/OUpper.pl
-lib/gc_sc/InTaiXua.pl
-lib/gc_sc/InLinea2.pl
-lib/gc_sc/InKhmer.pl
-lib/gc_sc/InHangu2.pl
-lib/gc_sc/InHangu3.pl
-lib/gc_sc/InLinear.pl
-lib/gc_sc/InHangul.pl
-lib/gc_sc/Yiii.pl
-lib/gc_sc/InCyprio.pl
-lib/gc_sc/Xsux.pl
-lib/gc_sc/Laoo.pl
+lib/gc_sc/InGenera.pl
 lib/gc_sc/InGeomet.pl
-lib/gc_sc/InSpecia.pl
-lib/gc_sc/Latn.pl
-lib/gc_sc/InPhone2.pl
-lib/gc_sc/Knda.pl
-lib/gc_sc/QMark.pl
-lib/gc_sc/Cyrl.pl
-lib/gc_sc/InPhonet.pl
-lib/gc_sc/Radical.pl
-lib/gc_sc/Alnum.pl
-lib/gc_sc/AHex.pl
-lib/gc_sc/OIDC.pl
-lib/gc_sc/OIDS.pl
 lib/gc_sc/InGeorg2.pl
-lib/gc_sc/Alpha.pl
-lib/gc_sc/BidiC.pl
-lib/gc_sc/InArmeni.pl
 lib/gc_sc/InGeorgi.pl
 lib/gc_sc/InGlagol.pl
-lib/gc_sc/OtherUpp.pl
-lib/gc_sc/Dsrt.pl
-lib/gc_sc/InSinhal.pl
-lib/gc_sc/InThaana.pl
-lib/gc_sc/Limb.pl
-lib/gc_sc/Shaw.pl
-lib/gc_sc/InKharos.pl
-lib/gc_sc/PatSyn.pl
-lib/gc_sc/InIdeogr.pl
+lib/gc_sc/InGothic.pl
+lib/gc_sc/InGreekA.pl
+lib/gc_sc/InGreekE.pl
+lib/gc_sc/InGujara.pl
 lib/gc_sc/InGurmuk.pl
-lib/gc_sc/Sinh.pl
-lib/gc_sc/InCunei2.pl
-lib/gc_sc/SoftDott.pl
-lib/gc_sc/Title.pl
-lib/gc_sc/InCuneif.pl
+lib/gc_sc/InHalfwi.pl
+lib/gc_sc/InHangu2.pl
+lib/gc_sc/InHangu3.pl
+lib/gc_sc/InHangul.pl
+lib/gc_sc/InHanuno.pl
+lib/gc_sc/InHebrew.pl
+lib/gc_sc/InHighPr.pl
+lib/gc_sc/InHighSu.pl
+lib/gc_sc/InHiraga.pl
+lib/gc_sc/InIdeogr.pl
+lib/gc_sc/InIpaExt.pl
+lib/gc_sc/InKanbun.pl
+lib/gc_sc/InKangxi.pl
+lib/gc_sc/InKannad.pl
+lib/gc_sc/InKatak2.pl
+lib/gc_sc/InKataka.pl
+lib/gc_sc/InKayahL.pl
+lib/gc_sc/InKharos.pl
+lib/gc_sc/InKhmer.pl
+lib/gc_sc/InKhmerS.pl
+lib/gc_sc/InLao.pl
 lib/gc_sc/InLatin1.pl
 lib/gc_sc/InLatin2.pl
 lib/gc_sc/InLatin3.pl
 lib/gc_sc/InLatin4.pl
 lib/gc_sc/InLatin5.pl
-lib/gc_sc/InOgham.pl
-lib/gc_sc/IDSB.pl
 lib/gc_sc/InLatinE.pl
-lib/gc_sc/IDST.pl
-lib/gc_sc/Runr.pl
-lib/gc_sc/InCherok.pl
-lib/gc_sc/Math.pl
-lib/gc_sc/InHanuno.pl
-lib/gc_sc/InTelugu.pl
-lib/gc_sc/Lower.pl
-lib/gc_sc/Tagb.pl
-lib/gc_sc/InRunic.pl
-lib/gc_sc/InVertic.pl
-lib/gc_sc/IdContin.pl
-lib/gc_sc/InCyril2.pl
-lib/gc_sc/InAncie2.pl
-lib/gc_sc/InMongol.pl
-lib/gc_sc/Taml.pl
-lib/gc_sc/InCyrill.pl
-lib/gc_sc/InAncien.pl
-lib/gc_sc/InDevana.pl
-lib/gc_sc/Uppercas.pl
-lib/gc_sc/InNumber.pl
-lib/gc_sc/WSpace.pl
-lib/gc_sc/InBlockE.pl
-lib/gc_sc/Extender.pl
-lib/gc_sc/Telu.pl
-lib/gc_sc/Ethi.pl
-lib/gc_sc/Term.pl
-lib/gc_sc/Tfng.pl
-lib/gc_sc/InHiraga.pl
-lib/gc_sc/Thaa.pl
-lib/gc_sc/Tglg.pl
-lib/gc_sc/Thai.pl
-lib/gc_sc/OGrExt.pl
+lib/gc_sc/InLepcha.pl
+lib/gc_sc/InLetter.pl
+lib/gc_sc/InLimbu.pl
+lib/gc_sc/InLinea2.pl
+lib/gc_sc/InLinear.pl
+lib/gc_sc/InLowSur.pl
+lib/gc_sc/InLycian.pl
+lib/gc_sc/InLydian.pl
+lib/gc_sc/InMahjon.pl
+lib/gc_sc/InMalaya.pl
+lib/gc_sc/InMathe2.pl
+lib/gc_sc/InMathem.pl
 lib/gc_sc/InMisce2.pl
 lib/gc_sc/InMisce3.pl
 lib/gc_sc/InMisce4.pl
 lib/gc_sc/InMisce5.pl
-lib/gc_sc/Diacriti.pl
 lib/gc_sc/InMiscel.pl
-lib/gc_sc/Tibt.pl
-lib/gc_sc/InCombi2.pl
-lib/gc_sc/InCombi3.pl
-lib/gc_sc/InCombi4.pl
-lib/gc_sc/OldItali.pl
-lib/gc_sc/InIpaExt.pl
-lib/gc_sc/InCombin.pl
-lib/gc_sc/InArabi2.pl
-lib/gc_sc/InArabi3.pl
-lib/gc_sc/InArabi4.pl
-lib/gc_sc/InArabic.pl
-lib/gc_sc/BidiCont.pl
-lib/gc_sc/STerm.pl
-lib/gc_sc/InUgarit.pl
-lib/gc_sc/Dash2.pl
-lib/gc_sc/InBaline.pl
-lib/gc_sc/Space.pl
-lib/gc_sc/Mlym.pl
-lib/gc_sc/InTags.pl
-lib/gc_sc/InBasicL.pl
-lib/gc_sc/Digit.pl
-lib/gc_sc/HexDigit.pl
-lib/gc_sc/InGreekA.pl
-lib/gc_sc/InGreekE.pl
-lib/gc_sc/InBopom2.pl
+lib/gc_sc/InModifi.pl
+lib/gc_sc/InMongol.pl
+lib/gc_sc/InMusica.pl
+lib/gc_sc/InMyanma.pl
+lib/gc_sc/InNewTai.pl
+lib/gc_sc/InNko.pl
+lib/gc_sc/InNumber.pl
+lib/gc_sc/InOgham.pl
+lib/gc_sc/InOlChik.pl
+lib/gc_sc/InOldIta.pl
+lib/gc_sc/InOldPer.pl
+lib/gc_sc/InOptica.pl
+lib/gc_sc/InOriya.pl
+lib/gc_sc/InOsmany.pl
+lib/gc_sc/InPhagsP.pl
+lib/gc_sc/InPhaist.pl
+lib/gc_sc/InPhoeni.pl
+lib/gc_sc/InPhone2.pl
+lib/gc_sc/InPhonet.pl
 lib/gc_sc/InPrivat.pl
-lib/gc_sc/InAegean.pl
-lib/gc_sc/InBopomo.pl
-lib/gc_sc/PatternS.pl
-lib/gc_sc/PatternW.pl
-lib/gc_sc/Geor.pl
-lib/gc_sc/Mong.pl
+lib/gc_sc/InRejang.pl
+lib/gc_sc/InRunic.pl
+lib/gc_sc/InSauras.pl
+lib/gc_sc/InShavia.pl
+lib/gc_sc/InSinhal.pl
+lib/gc_sc/InSmallF.pl
+lib/gc_sc/InSpacin.pl
+lib/gc_sc/InSpecia.pl
+lib/gc_sc/InSundan.pl
+lib/gc_sc/InSupers.pl
+lib/gc_sc/InSuppl2.pl
+lib/gc_sc/InSuppl3.pl
+lib/gc_sc/InSuppl4.pl
+lib/gc_sc/InSuppl5.pl
+lib/gc_sc/InSuppl6.pl
+lib/gc_sc/InSupple.pl
+lib/gc_sc/InSyloti.pl
+lib/gc_sc/InSyriac.pl
+lib/gc_sc/InTagalo.pl
+lib/gc_sc/InTagban.pl
+lib/gc_sc/InTags.pl
+lib/gc_sc/InTaiLe.pl
+lib/gc_sc/InTaiXua.pl
+lib/gc_sc/InTamil.pl
+lib/gc_sc/InTelugu.pl
+lib/gc_sc/InThaana.pl
+lib/gc_sc/InThai.pl
+lib/gc_sc/InTibeta.pl
+lib/gc_sc/InTifina.pl
+lib/gc_sc/InUgarit.pl
+lib/gc_sc/InUnifie.pl
+lib/gc_sc/InVai.pl
+lib/gc_sc/InVaria2.pl
+lib/gc_sc/InVariat.pl
+lib/gc_sc/InVertic.pl
+lib/gc_sc/InYiRadi.pl
+lib/gc_sc/InYiSyll.pl
+lib/gc_sc/InYijing.pl
+lib/gc_sc/JoinC.pl
+lib/gc_sc/JoinCont.pl
+lib/gc_sc/Kana.pl
+lib/gc_sc/KayahLi.pl
+lib/gc_sc/Khar.pl
+lib/gc_sc/Khmr.pl
+lib/gc_sc/Knda.pl
+lib/gc_sc/L.pl
+lib/gc_sc/LC.pl
+lib/gc_sc/LOE.pl
+lib/gc_sc/Laoo.pl
+lib/gc_sc/Latn.pl
+lib/gc_sc/Lepcha.pl
+lib/gc_sc/Limb.pl
+lib/gc_sc/LinearB.pl
+lib/gc_sc/Ll.pl
+lib/gc_sc/Lm.pl
+lib/gc_sc/Lo.pl
 lib/gc_sc/LogicalO.pl
+lib/gc_sc/Lower.pl
 lib/gc_sc/Lowercas.pl
-lib/gc_sc/InYiRadi.pl
+lib/gc_sc/Lt.pl
+lib/gc_sc/Lu.pl
+lib/gc_sc/Lycian.pl
+lib/gc_sc/Lydian.pl
+lib/gc_sc/M.pl
+lib/gc_sc/Math.pl
+lib/gc_sc/Mc.pl
+lib/gc_sc/Me.pl
+lib/gc_sc/Mlym.pl
+lib/gc_sc/Mn.pl
+lib/gc_sc/Mong.pl
+lib/gc_sc/Mymr.pl
+lib/gc_sc/N.pl
+lib/gc_sc/NChar.pl
+lib/gc_sc/Nd.pl
+lib/gc_sc/NewTaiLu.pl
+lib/gc_sc/Nkoo.pl
+lib/gc_sc/Nl.pl
+lib/gc_sc/No.pl
+lib/gc_sc/Nonchara.pl
 lib/gc_sc/OAlpha.pl
-lib/gc_sc/Graph.pl
-lib/gc_sc/InTaiLe.pl
-lib/gc_sc/InSyriac.pl
+lib/gc_sc/ODI.pl
+lib/gc_sc/OGrExt.pl
+lib/gc_sc/OIDC.pl
+lib/gc_sc/OIDS.pl
+lib/gc_sc/OLower.pl
+lib/gc_sc/OMath.pl
+lib/gc_sc/OUpper.pl
+lib/gc_sc/Ogam.pl
+lib/gc_sc/OlChiki.pl
+lib/gc_sc/OldItali.pl
+lib/gc_sc/OldPersi.pl
+lib/gc_sc/Orya.pl
+lib/gc_sc/Osma.pl
+lib/gc_sc/OtherAlp.pl
+lib/gc_sc/OtherDef.pl
+lib/gc_sc/OtherGra.pl
+lib/gc_sc/OtherIdC.pl
+lib/gc_sc/OtherIdS.pl
+lib/gc_sc/OtherLow.pl
+lib/gc_sc/OtherMat.pl
+lib/gc_sc/OtherUpp.pl
+lib/gc_sc/P.pl
+lib/gc_sc/PatSyn.pl
+lib/gc_sc/PatWS.pl
+lib/gc_sc/PatternS.pl
+lib/gc_sc/PatternW.pl
+lib/gc_sc/Pc.pl
+lib/gc_sc/Pd.pl
+lib/gc_sc/Pe.pl
+lib/gc_sc/PerlSpac.pl
+lib/gc_sc/PerlWord.pl
+lib/gc_sc/Pf.pl
+lib/gc_sc/PhagsPa.pl
+lib/gc_sc/Phnx.pl
+lib/gc_sc/Pi.pl
+lib/gc_sc/Po.pl
+lib/gc_sc/PosixAln.pl
+lib/gc_sc/PosixAlp.pl
+lib/gc_sc/PosixBla.pl
+lib/gc_sc/PosixCnt.pl
+lib/gc_sc/PosixDig.pl
+lib/gc_sc/PosixGra.pl
+lib/gc_sc/PosixLow.pl
+lib/gc_sc/PosixPri.pl
+lib/gc_sc/PosixPun.pl
+lib/gc_sc/PosixSpa.pl
+lib/gc_sc/PosixUpp.pl
+lib/gc_sc/Print.pl
+lib/gc_sc/Ps.pl
+lib/gc_sc/Punct.pl
+lib/gc_sc/QMark.pl
+lib/gc_sc/Qaai.pl
+lib/gc_sc/Quotatio.pl
+lib/gc_sc/Radical.pl
+lib/gc_sc/Radical2.pl
+lib/gc_sc/Rejang.pl
+lib/gc_sc/Runr.pl
+lib/gc_sc/S.pl
+lib/gc_sc/SD.pl
+lib/gc_sc/STerm.pl
+lib/gc_sc/Saurasht.pl
+lib/gc_sc/Sc.pl
+lib/gc_sc/Shaw.pl
+lib/gc_sc/Sinh.pl
+lib/gc_sc/Sk.pl
+lib/gc_sc/Sm.pl
+lib/gc_sc/So.pl
+lib/gc_sc/SoftDott.pl
+lib/gc_sc/Space.pl
+lib/gc_sc/SpacePer.pl
+lib/gc_sc/Sterm2.pl
+lib/gc_sc/Sundanes.pl
+lib/gc_sc/SylotiNa.pl
 lib/gc_sc/Syrc.pl
-lib/gc_sc/Hyphen2.pl
+lib/gc_sc/Tagb.pl
+lib/gc_sc/TaiLe.pl
+lib/gc_sc/Taml.pl
+lib/gc_sc/Telu.pl
+lib/gc_sc/Term.pl
 lib/gc_sc/Terminal.pl
-lib/gc_sc/Zyyy.pl
+lib/gc_sc/Tfng.pl
+lib/gc_sc/Tglg.pl
+lib/gc_sc/Thaa.pl
+lib/gc_sc/Thai.pl
+lib/gc_sc/Tibt.pl
+lib/gc_sc/Title.pl
+lib/gc_sc/UIdeo.pl
 lib/gc_sc/Ugar.pl
-lib/gc_sc/InThai.pl
+lib/gc_sc/UnifiedI.pl
+lib/gc_sc/Upper.pl
+lib/gc_sc/Uppercas.pl
+lib/gc_sc/VS.pl
+lib/gc_sc/Vai.pl
 lib/gc_sc/Variatio.pl
-lib/gc_sc/LinearB.pl
-lib/gc_sc/Glag.pl
-lib/gc_sc/Punct.pl
-lib/gc_sc/Hang.pl
-lib/gc_sc/Hani.pl
-lib/gc_sc/Hano.pl
-lib/gc_sc/Radical2.pl
-lib/gc_sc/Nkoo.pl
-lib/gc_sc/InSpacin.pl
-lib/gc_sc/OLower.pl
-lib/gc_sc/InBuhid.pl
-lib/gc_sc/InTamil.pl
-lib/gc_sc/InMyanma.pl
-lib/gc_sc/InMalaya.pl
-lib/gc_sc/_CombAbo.pl
-lib/gc_sc/InDingba.pl
-lib/gc_sc/Hebr.pl
-lib/gc_sc/Mymr.pl
-lib/gc_sc/InKatak2.pl
-lib/gc_sc/Goth.pl
-lib/gc_sc/InUnifie.pl
-lib/gc_sc/Sterm2.pl
-lib/gc_sc/InKataka.pl
-lib/gc_sc/Blank.pl
+lib/gc_sc/VertSpac.pl
+lib/gc_sc/WSpace.pl
 lib/gc_sc/WhiteSpa.pl
-lib/gc_sc/Grek.pl
-lib/gc_sc/InEnclo2.pl
-lib/gc_sc/InEnclos.pl
+lib/gc_sc/Word.pl
+lib/gc_sc/XDigit.pl
+lib/gc_sc/Xsux.pl
+lib/gc_sc/Yiii.pl
+lib/gc_sc/Z.pl
+lib/gc_sc/Zl.pl
+lib/gc_sc/Zp.pl
+lib/gc_sc/Zs.pl
+lib/gc_sc/Zyyy.pl
+lib/gc_sc/_CanonDC.pl
+lib/gc_sc/_CaseIgn.pl
+lib/gc_sc/_CombAbo.pl
+lib/hst/L.pl
+lib/hst/LV.pl
+lib/hst/LVT.pl
+lib/hst/T.pl
+lib/hst/V.pl
+lib/jt/C.pl
+lib/jt/D.pl
+lib/jt/R.pl
+lib/jt/U.pl
+lib/lb/AI.pl
+lib/lb/AL.pl
+lib/lb/B2.pl
+lib/lb/BA.pl
+lib/lb/BB.pl
+lib/lb/BK.pl
+lib/lb/CB.pl
+lib/lb/CL.pl
+lib/lb/CM.pl
+lib/lb/CR.pl
+lib/lb/EX.pl
+lib/lb/GL.pl
+lib/lb/H2.pl
+lib/lb/H3.pl
+lib/lb/HY.pl
+lib/lb/ID.pl
+lib/lb/IN.pl
+lib/lb/IS.pl
+lib/lb/JL.pl
+lib/lb/JT.pl
+lib/lb/JV.pl
+lib/lb/LF.pl
+lib/lb/NL.pl
+lib/lb/NS.pl
+lib/lb/NU.pl
+lib/lb/OP.pl
+lib/lb/PO.pl
+lib/lb/PR.pl
+lib/lb/QU.pl
+lib/lb/SA.pl
+lib/lb/SG.pl
+lib/lb/SP.pl
+lib/lb/SY.pl
+lib/lb/WJ.pl
+lib/lb/XX.pl
+lib/lb/ZW.pl
+lib/nt/De.pl
+lib/nt/Di.pl
+lib/nt/Nu.pl
 
-# 23 input files
-# 470 output files
+# 24 input files
+# 514 output files
 
 # End list