summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Pinyan <japhy@pobox.com>2004-04-22 10:31:30 -0400
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-04-27 08:43:38 +0000
commit12ac2576dfc10fd43d91903e7602870c10b4f00f (patch)
tree892346cd2c9b2ff37d1269e1845007129a60e263
parent88567e60ed3ba016aaedace3242715b8ab2023f7 (diff)
downloadperl-12ac2576dfc10fd43d91903e7602870c10b4f00f.tar.gz
candidate for TR18 compliance
Date: Thu, 22 Apr 2004 14:31:30 -0400 (EDT) Message-ID: <Pine.LNX.4.44.0404221429040.10466-101000@perlmonk.org> Date: Mon, 26 Apr 2004 12:37:21 -0400 (EDT) Message-ID: <Pine.LNX.4.44.0404261222320.7154-400000@perlmonk.org> p4raw-id: //depot/perl@22744
-rw-r--r--MANIFEST514
-rw-r--r--lib/unicore/Canonical.pl105
-rw-r--r--lib/unicore/CombiningClass.pl2
-rw-r--r--lib/unicore/Decomposition.pl2
-rw-r--r--lib/unicore/Exact.pl45
-rw-r--r--lib/unicore/Name.pl2
-rw-r--r--lib/unicore/Properties43
-rw-r--r--lib/unicore/To/Digit.pl2
-rw-r--r--lib/unicore/To/Fold.pl2
-rw-r--r--lib/unicore/To/Lower.pl2
-rw-r--r--lib/unicore/To/Title.pl2
-rw-r--r--lib/unicore/To/Upper.pl2
-rw-r--r--lib/unicore/lib/bc/AL.pl33
-rw-r--r--lib/unicore/lib/bc/AN.pl11
-rw-r--r--lib/unicore/lib/bc/B.pl14
-rw-r--r--lib/unicore/lib/bc/BN.pl22
-rw-r--r--lib/unicore/lib/bc/CS.pl21
-rw-r--r--lib/unicore/lib/bc/EN.pl19
-rw-r--r--lib/unicore/lib/bc/ES.pl12
-rw-r--r--lib/unicore/lib/bc/ET.pl33
-rw-r--r--lib/unicore/lib/bc/L.pl380
-rw-r--r--lib/unicore/lib/bc/LRE.pl10
-rw-r--r--lib/unicore/lib/bc/LRO.pl10
-rw-r--r--lib/unicore/lib/bc/NSM.pl119
-rw-r--r--lib/unicore/lib/bc/ON.pl138
-rw-r--r--lib/unicore/lib/bc/PDF.pl10
-rw-r--r--lib/unicore/lib/bc/R.pl29
-rw-r--r--lib/unicore/lib/bc/RLE.pl10
-rw-r--r--lib/unicore/lib/bc/RLO.pl10
-rw-r--r--lib/unicore/lib/bc/S.pl12
-rw-r--r--lib/unicore/lib/bc/WS.pl18
-rw-r--r--lib/unicore/lib/ccc/A.pl10
-rw-r--r--lib/unicore/lib/ccc/AL.pl10
-rw-r--r--lib/unicore/lib/ccc/AR.pl10
-rw-r--r--lib/unicore/lib/ccc/ATAR.pl10
-rw-r--r--lib/unicore/lib/ccc/ATB.pl10
-rw-r--r--lib/unicore/lib/ccc/ATBL.pl10
-rw-r--r--lib/unicore/lib/ccc/B.pl10
-rw-r--r--lib/unicore/lib/ccc/BL.pl10
-rw-r--r--lib/unicore/lib/ccc/BR.pl10
-rw-r--r--lib/unicore/lib/ccc/DA.pl10
-rw-r--r--lib/unicore/lib/ccc/DB.pl10
-rw-r--r--lib/unicore/lib/ccc/IS.pl10
-rw-r--r--lib/unicore/lib/ccc/KV.pl10
-rw-r--r--lib/unicore/lib/ccc/L.pl10
-rw-r--r--lib/unicore/lib/ccc/NK.pl10
-rw-r--r--lib/unicore/lib/ccc/NR.pl10
-rw-r--r--lib/unicore/lib/ccc/OV.pl10
-rw-r--r--lib/unicore/lib/ccc/R.pl10
-rw-r--r--lib/unicore/lib/ccc/VR.pl10
-rw-r--r--lib/unicore/lib/dt/can.pl221
-rw-r--r--lib/unicore/lib/dt/com.pl815
-rw-r--r--lib/unicore/lib/dt/enc.pl14
-rw-r--r--lib/unicore/lib/dt/fin.pl122
-rw-r--r--lib/unicore/lib/dt/font.pl43
-rw-r--r--lib/unicore/lib/dt/fra.pl11
-rw-r--r--lib/unicore/lib/dt/init.pl84
-rw-r--r--lib/unicore/lib/dt/iso.pl107
-rw-r--r--lib/unicore/lib/dt/med.pl63
-rw-r--r--lib/unicore/lib/dt/nar.pl15
-rw-r--r--lib/unicore/lib/dt/nb.pl14
-rw-r--r--lib/unicore/lib/dt/sml.pl12
-rw-r--r--lib/unicore/lib/dt/sqr.pl14
-rw-r--r--lib/unicore/lib/dt/sub.pl11
-rw-r--r--lib/unicore/lib/dt/sup.pl23
-rw-r--r--lib/unicore/lib/dt/vert.pl13
-rw-r--r--lib/unicore/lib/dt/wide.pl12
-rw-r--r--lib/unicore/lib/ea/A.pl166
-rw-r--r--lib/unicore/lib/ea/F.pl12
-rw-r--r--lib/unicore/lib/ea/H.pl16
-rw-r--r--lib/unicore/lib/ea/N.pl521
-rw-r--r--lib/unicore/lib/ea/Na.pl16
-rw-r--r--lib/unicore/lib/ea/W.pl35
-rw-r--r--lib/unicore/lib/gc_sc/AHex.pl12
-rw-r--r--lib/unicore/lib/gc_sc/ASCII.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Alnum.pl426
-rw-r--r--lib/unicore/lib/gc_sc/Alpha.pl408
-rw-r--r--lib/unicore/lib/gc_sc/Alphabet.pl390
-rw-r--r--lib/unicore/lib/gc_sc/Any.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Arab.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Armn.pl17
-rw-r--r--lib/unicore/lib/gc_sc/AsciiHex.pl15
-rw-r--r--lib/unicore/lib/gc_sc/Assigned.pl414
-rw-r--r--lib/unicore/lib/gc_sc/Beng.pl26
-rw-r--r--lib/unicore/lib/gc_sc/BidiC.pl11
-rw-r--r--lib/unicore/lib/gc_sc/BidiCont.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Blank.pl21
-rw-r--r--lib/unicore/lib/gc_sc/Bopo.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Brai.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Buhd.pl13
-rw-r--r--lib/unicore/lib/gc_sc/C.pl417
-rw-r--r--lib/unicore/lib/gc_sc/Canadian.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Cc.pl15
-rw-r--r--lib/unicore/lib/gc_sc/Cf.pl27
-rw-r--r--lib/unicore/lib/gc_sc/Cher.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Cn.pl415
-rw-r--r--lib/unicore/lib/gc_sc/Cntrl.pl31
-rw-r--r--lib/unicore/lib/gc_sc/Co.pl16
-rw-r--r--lib/unicore/lib/gc_sc/Cprt.pl18
-rw-r--r--lib/unicore/lib/gc_sc/Cs.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Cyrl.pl18
-rw-r--r--lib/unicore/lib/gc_sc/Dash.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Dep.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Deprecat.pl16
-rw-r--r--lib/unicore/lib/gc_sc/Deva.pl17
-rw-r--r--lib/unicore/lib/gc_sc/Dia.pl91
-rw-r--r--lib/unicore/lib/gc_sc/Diacriti.pl94
-rw-r--r--lib/unicore/lib/gc_sc/Digit.pl35
-rw-r--r--lib/unicore/lib/gc_sc/Dsrt.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Ethi.pl38
-rw-r--r--lib/unicore/lib/gc_sc/Ext.pl20
-rw-r--r--lib/unicore/lib/gc_sc/Extender.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Geor.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Goth.pl13
-rw-r--r--lib/unicore/lib/gc_sc/GrLink.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Graph.pl417
-rw-r--r--lib/unicore/lib/gc_sc/Grapheme.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Grek.pl40
-rw-r--r--lib/unicore/lib/gc_sc/Gujr.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Guru.pl27
-rw-r--r--lib/unicore/lib/gc_sc/Hang.pl24
-rw-r--r--lib/unicore/lib/gc_sc/Hani.pl25
-rw-r--r--lib/unicore/lib/gc_sc/Hano.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Hebr.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Hex.pl15
-rw-r--r--lib/unicore/lib/gc_sc/HexDigit.pl18
-rw-r--r--lib/unicore/lib/gc_sc/Hira.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Hyphen.pl21
-rw-r--r--lib/unicore/lib/gc_sc/IDSB.pl11
-rw-r--r--lib/unicore/lib/gc_sc/IDST.pl10
-rw-r--r--lib/unicore/lib/gc_sc/IdContin.pl435
-rw-r--r--lib/unicore/lib/gc_sc/IdStart.pl340
-rw-r--r--lib/unicore/lib/gc_sc/Ideo.pl17
-rw-r--r--lib/unicore/lib/gc_sc/Ideograp.pl20
-rw-r--r--lib/unicore/lib/gc_sc/IdsBinar.pl14
-rw-r--r--lib/unicore/lib/gc_sc/IdsTrina.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InAegean.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InAlphab.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InArabi2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InArabi3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InArabic.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InArmeni.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InArrows.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBasicL.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBengal.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBlockE.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBopom2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBopomo.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBoxDra.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBraill.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InBuhid.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InByzant.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCherok.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkCo2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkCo3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkCo4.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkCom.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkRad.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkSym.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkUn2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkUn3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCjkUni.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCombi2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCombi3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCombin.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InContro.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCurren.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCyprio.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCyril2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InCyrill.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InDesere.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InDevana.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InDingba.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InEnclo2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InEnclos.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InEthiop.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGenera.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGeomet.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGeorgi.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGothic.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGreekA.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGreekE.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGujara.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InGurmuk.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHalfwi.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHangu2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHangu3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHangul.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHanuno.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHebrew.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHighPr.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHighSu.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InHiraga.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InIdeogr.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InIpaExt.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKanbun.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKangxi.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKannad.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKatak2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKataka.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKhmer.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InKhmerS.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLao.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLatin1.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLatin2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLatin3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLatinE.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLetter.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLimbu.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLinea2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLinear.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InLowSur.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMalaya.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMathe2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMathem.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMisce2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMisce3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMisce4.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMisce5.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMiscel.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMongol.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMusica.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InMyanma.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InNumber.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InOgham.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InOldIta.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InOptica.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InOriya.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InOsmany.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InPhonet.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InPrivat.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InRunic.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InShavia.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSinhal.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSmallF.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSpacin.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSpecia.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSupers.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSuppl2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSuppl3.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSuppl4.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSuppl5.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSupple.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InSyriac.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTagalo.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTagban.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTags.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTaiLe.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTaiXua.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTamil.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTelugu.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InThaana.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InThai.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InTibeta.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InUgarit.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InUnifie.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InVaria2.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InVariat.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InYiRadi.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InYiSyll.pl13
-rw-r--r--lib/unicore/lib/gc_sc/InYijing.pl13
-rw-r--r--lib/unicore/lib/gc_sc/JoinC.pl10
-rw-r--r--lib/unicore/lib/gc_sc/JoinCont.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Kana.pl17
-rw-r--r--lib/unicore/lib/gc_sc/Katakana.pl16
-rw-r--r--lib/unicore/lib/gc_sc/Khmr.pl16
-rw-r--r--lib/unicore/lib/gc_sc/Knda.pl25
-rw-r--r--lib/unicore/lib/gc_sc/L.pl338
-rw-r--r--lib/unicore/lib/gc_sc/LC.pl113
-rw-r--r--lib/unicore/lib/gc_sc/LOE.pl11
-rw-r--r--lib/unicore/lib/gc_sc/Laoo.pl30
-rw-r--r--lib/unicore/lib/gc_sc/Latn.pl33
-rw-r--r--lib/unicore/lib/gc_sc/Limb.pl17
-rw-r--r--lib/unicore/lib/gc_sc/LinearB.pl19
-rw-r--r--lib/unicore/lib/gc_sc/Ll.pl437
-rw-r--r--lib/unicore/lib/gc_sc/Lm.pl33
-rw-r--r--lib/unicore/lib/gc_sc/Lo.pl240
-rw-r--r--lib/unicore/lib/gc_sc/LogicalO.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Lower.pl436
-rw-r--r--lib/unicore/lib/gc_sc/Lowercas.pl441
-rw-r--r--lib/unicore/lib/gc_sc/Lt.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Lu.pl434
-rw-r--r--lib/unicore/lib/gc_sc/M.pl132
-rw-r--r--lib/unicore/lib/gc_sc/Math.pl102
-rw-r--r--lib/unicore/lib/gc_sc/Mc.pl70
-rw-r--r--lib/unicore/lib/gc_sc/Me.pl17
-rw-r--r--lib/unicore/lib/gc_sc/Mlym.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Mn.pl126
-rw-r--r--lib/unicore/lib/gc_sc/Mong.pl16
-rw-r--r--lib/unicore/lib/gc_sc/Mymr.pl18
-rw-r--r--lib/unicore/lib/gc_sc/N.pl60
-rw-r--r--lib/unicore/lib/gc_sc/NChar.pl27
-rw-r--r--lib/unicore/lib/gc_sc/Nd.pl36
-rw-r--r--lib/unicore/lib/gc_sc/Nl.pl19
-rw-r--r--lib/unicore/lib/gc_sc/No.pl35
-rw-r--r--lib/unicore/lib/gc_sc/Nonchara.pl30
-rw-r--r--lib/unicore/lib/gc_sc/OAlpha.pl100
-rw-r--r--lib/unicore/lib/gc_sc/ODI.pl20
-rw-r--r--lib/unicore/lib/gc_sc/OGrExt.pl24
-rw-r--r--lib/unicore/lib/gc_sc/OIDS.pl12
-rw-r--r--lib/unicore/lib/gc_sc/OLower.pl17
-rw-r--r--lib/unicore/lib/gc_sc/OMath.pl76
-rw-r--r--lib/unicore/lib/gc_sc/OUpper.pl11
-rw-r--r--lib/unicore/lib/gc_sc/Ogam.pl13
-rw-r--r--lib/unicore/lib/gc_sc/OldItali.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Orya.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Osma.pl14
-rw-r--r--lib/unicore/lib/gc_sc/OtherAlp.pl103
-rw-r--r--lib/unicore/lib/gc_sc/OtherDef.pl23
-rw-r--r--lib/unicore/lib/gc_sc/OtherGra.pl27
-rw-r--r--lib/unicore/lib/gc_sc/OtherIdS.pl15
-rw-r--r--lib/unicore/lib/gc_sc/OtherLow.pl20
-rw-r--r--lib/unicore/lib/gc_sc/OtherMat.pl79
-rw-r--r--lib/unicore/lib/gc_sc/OtherUpp.pl14
-rw-r--r--lib/unicore/lib/gc_sc/P.pl99
-rw-r--r--lib/unicore/lib/gc_sc/Pc.pl21
-rw-r--r--lib/unicore/lib/gc_sc/Pd.pl24
-rw-r--r--lib/unicore/lib/gc_sc/Pe.pl76
-rw-r--r--lib/unicore/lib/gc_sc/Pf.pl17
-rw-r--r--lib/unicore/lib/gc_sc/Pi.pl18
-rw-r--r--lib/unicore/lib/gc_sc/Po.pl87
-rw-r--r--lib/unicore/lib/gc_sc/Print.pl417
-rw-r--r--lib/unicore/lib/gc_sc/Ps.pl78
-rw-r--r--lib/unicore/lib/gc_sc/Punct.pl98
-rw-r--r--lib/unicore/lib/gc_sc/QMark.pl21
-rw-r--r--lib/unicore/lib/gc_sc/Qaai.pl27
-rw-r--r--lib/unicore/lib/gc_sc/Quotatio.pl24
-rw-r--r--lib/unicore/lib/gc_sc/Radical.pl15
-rw-r--r--lib/unicore/lib/gc_sc/Runr.pl14
-rw-r--r--lib/unicore/lib/gc_sc/S.pl166
-rw-r--r--lib/unicore/lib/gc_sc/SD.pl35
-rw-r--r--lib/unicore/lib/gc_sc/STerm.pl35
-rw-r--r--lib/unicore/lib/gc_sc/Sc.pl26
-rw-r--r--lib/unicore/lib/gc_sc/Shaw.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Sinh.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Sk.pl35
-rw-r--r--lib/unicore/lib/gc_sc/Sm.pl71
-rw-r--r--lib/unicore/lib/gc_sc/So.pl126
-rw-r--r--lib/unicore/lib/gc_sc/SoftDott.pl38
-rw-r--r--lib/unicore/lib/gc_sc/Space.pl23
-rw-r--r--lib/unicore/lib/gc_sc/SpacePer.pl24
-rw-r--r--lib/unicore/lib/gc_sc/Sterm.pl38
-rw-r--r--lib/unicore/lib/gc_sc/Syrc.pl15
-rw-r--r--lib/unicore/lib/gc_sc/Tagb.pl15
-rw-r--r--lib/unicore/lib/gc_sc/TaiLe.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Taml.pl28
-rw-r--r--lib/unicore/lib/gc_sc/Telu.pl24
-rw-r--r--lib/unicore/lib/gc_sc/Term.pl49
-rw-r--r--lib/unicore/lib/gc_sc/Terminal.pl52
-rw-r--r--lib/unicore/lib/gc_sc/Tglg.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Thaa.pl13
-rw-r--r--lib/unicore/lib/gc_sc/Thai.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Tibt.pl19
-rw-r--r--lib/unicore/lib/gc_sc/Title.pl22
-rw-r--r--lib/unicore/lib/gc_sc/UIdeo.pl19
-rw-r--r--lib/unicore/lib/gc_sc/Ugar.pl14
-rw-r--r--lib/unicore/lib/gc_sc/UnifiedI.pl22
-rw-r--r--lib/unicore/lib/gc_sc/Upper.pl433
-rw-r--r--lib/unicore/lib/gc_sc/Uppercas.pl435
-rw-r--r--lib/unicore/lib/gc_sc/VS.pl12
-rw-r--r--lib/unicore/lib/gc_sc/Variatio.pl15
-rw-r--r--lib/unicore/lib/gc_sc/WSpace.pl20
-rw-r--r--lib/unicore/lib/gc_sc/WhiteSpa.pl23
-rw-r--r--lib/unicore/lib/gc_sc/Word.pl448
-rw-r--r--lib/unicore/lib/gc_sc/XDigit.pl15
-rw-r--r--lib/unicore/lib/gc_sc/Yiii.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Z.pl22
-rw-r--r--lib/unicore/lib/gc_sc/Zl.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Zp.pl14
-rw-r--r--lib/unicore/lib/gc_sc/Zs.pl21
-rw-r--r--lib/unicore/lib/gc_sc/Zyyy.pl135
-rw-r--r--lib/unicore/lib/gc_sc/_CanonDC.pl16
-rw-r--r--lib/unicore/lib/gc_sc/_CaseIgn.pl127
-rw-r--r--lib/unicore/lib/gc_sc/_CombAbo.pl60
-rw-r--r--lib/unicore/lib/hst/L.pl11
-rw-r--r--lib/unicore/lib/hst/LV.pl408
-rw-r--r--lib/unicore/lib/hst/LVT.pl408
-rw-r--r--lib/unicore/lib/hst/T.pl10
-rw-r--r--lib/unicore/lib/hst/V.pl10
-rw-r--r--lib/unicore/lib/jt/C.pl11
-rw-r--r--lib/unicore/lib/jt/D.pl31
-rw-r--r--lib/unicore/lib/jt/R.pl32
-rw-r--r--lib/unicore/lib/jt/U.pl14
-rw-r--r--lib/unicore/lib/lb/AI.pl101
-rw-r--r--lib/unicore/lib/lb/AL.pl423
-rw-r--r--lib/unicore/lib/lb/B2.pl10
-rw-r--r--lib/unicore/lib/lb/BA.pl25
-rw-r--r--lib/unicore/lib/lb/BB.pl13
-rw-r--r--lib/unicore/lib/lb/BK.pl11
-rw-r--r--lib/unicore/lib/lb/CB.pl10
-rw-r--r--lib/unicore/lib/lb/CL.pl77
-rw-r--r--lib/unicore/lib/lb/CM.pl138
-rw-r--r--lib/unicore/lib/lb/CR.pl10
-rw-r--r--lib/unicore/lib/lb/EX.pl16
-rw-r--r--lib/unicore/lib/lb/GL.pl16
-rw-r--r--lib/unicore/lib/lb/HY.pl10
-rw-r--r--lib/unicore/lib/lb/ID.pl82
-rw-r--r--lib/unicore/lib/lb/IN.pl10
-rw-r--r--lib/unicore/lib/lb/IS.pl16
-rw-r--r--lib/unicore/lib/lb/LF.pl10
-rw-r--r--lib/unicore/lib/lb/NL.pl10
-rw-r--r--lib/unicore/lib/lb/NS.pl46
-rw-r--r--lib/unicore/lib/lb/NU.pl32
-rw-r--r--lib/unicore/lib/lb/OP.pl74
-rw-r--r--lib/unicore/lib/lb/PO.pl20
-rw-r--r--lib/unicore/lib/lb/PR.pl27
-rw-r--r--lib/unicore/lib/lb/QU.pl19
-rw-r--r--lib/unicore/lib/lb/SA.pl34
-rw-r--r--lib/unicore/lib/lb/SG.pl10
-rw-r--r--lib/unicore/lib/lb/SP.pl10
-rw-r--r--lib/unicore/lib/lb/SY.pl10
-rw-r--r--lib/unicore/lib/lb/WJ.pl11
-rw-r--r--lib/unicore/lib/lb/XX.pl12
-rw-r--r--lib/unicore/lib/lb/ZW.pl10
-rw-r--r--lib/unicore/lib/nt/De.pl31
-rw-r--r--lib/unicore/lib/nt/Di.pl24
-rw-r--r--lib/unicore/lib/nt/Nu.pl36
-rw-r--r--lib/unicore/mktables337
-rw-r--r--lib/utf8_heavy.pl82
-rw-r--r--lib/utf8_pva.pl55
-rw-r--r--pod/perlunicode.pod53
-rwxr-xr-xt/op/pat.t5
-rw-r--r--t/uni/class.t114
423 files changed, 21146 insertions, 349 deletions
diff --git a/MANIFEST b/MANIFEST
index 1e5a1c0284..8d6b1c6cd9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1808,9 +1808,9 @@ lib/Unicode/Collate/t/view.t Unicode::Collate
lib/Unicode/README Explanation what happened to lib/unicode.
lib/Unicode/UCD.pm Unicode character database
lib/Unicode/UCD.t See if Unicode character database works
-lib/unicore/ArabicShaping.txt Unicode character database
lib/unicore/ArabLink.pl Unicode character database
lib/unicore/ArabLnkGrp.pl Unicode character database
+lib/unicore/ArabicShaping.txt Unicode character database
lib/unicore/BidiMirroring.txt Unicode character database
lib/unicore/Bidirectional.pl Unicode character database
lib/unicore/Blocks.pl Unicode character database
@@ -1825,25 +1825,47 @@ lib/unicore/EastAsianWidth.txt Unicode character database
lib/unicore/Exact.pl Unicode character database
lib/unicore/HangulSyllableType.txt Unicode character database
lib/unicore/Index.txt Unicode character database
-lib/unicore/JamoShort.pl Unicode character database
lib/unicore/Jamo.txt Unicode character database
+lib/unicore/JamoShort.pl Unicode character database
lib/unicore/Lbrk.pl Unicode character database
+lib/unicore/LineBreak.txt Unicode character database
+lib/unicore/Makefile Unicode character database
+lib/unicore/Name.pl Unicode character database
+lib/unicore/NamesList.txt Unicode character database
+lib/unicore/NormalizationCorrections.txt Unicode character database
+lib/unicore/Number.pl Unicode character database
+lib/unicore/PropList.txt Unicode character database
+lib/unicore/PropValueAliases.txt Unicode character database
+lib/unicore/Properties Built-in \p{...} / \P{...} property list
+lib/unicore/PropertyAliases.txt Unicode character database
+lib/unicore/README.perl Unicode character database
+lib/unicore/ReadMe.txt Unicode character database info
+lib/unicore/Scripts.pl Unicode character database
+lib/unicore/Scripts.txt Unicode character database
+lib/unicore/SpecialCasing.txt Unicode character database
+lib/unicore/StandardizedVariants.txt Unicode character database
+lib/unicore/To/Digit.pl Unicode character database
+lib/unicore/To/Fold.pl Unicode character database
+lib/unicore/To/Lower.pl Unicode character database
+lib/unicore/To/Title.pl Unicode character database
+lib/unicore/To/Upper.pl Unicode character database
+lib/unicore/UnicodeData.txt Unicode character database
+lib/unicore/lib/ASCII.pl Unicode character database
lib/unicore/lib/Alnum.pl Unicode character database
-lib/unicore/lib/Alphabet.pl Unicode character database
lib/unicore/lib/Alpha.pl Unicode character database
+lib/unicore/lib/Alphabet.pl Unicode character database
lib/unicore/lib/Any.pl Unicode character database
lib/unicore/lib/Arabic.pl Unicode character database
lib/unicore/lib/Armenian.pl Unicode character database
lib/unicore/lib/AsciiHex.pl Unicode character database
-lib/unicore/lib/ASCII.pl Unicode character database
lib/unicore/lib/Assigned.pl Unicode character database
lib/unicore/lib/Bengali.pl Unicode character database
lib/unicore/lib/BidiAL.pl Unicode character database
lib/unicore/lib/BidiAN.pl Unicode character database
-lib/unicore/lib/BidiBN.pl Unicode character database
lib/unicore/lib/BidiB.pl Unicode character database
-lib/unicore/lib/BidiCont.pl Unicode character database
+lib/unicore/lib/BidiBN.pl Unicode character database
lib/unicore/lib/BidiCS.pl Unicode character database
+lib/unicore/lib/BidiCont.pl Unicode character database
lib/unicore/lib/BidiEN.pl Unicode character database
lib/unicore/lib/BidiES.pl Unicode character database
lib/unicore/lib/BidiET.pl Unicode character database
@@ -1853,33 +1875,29 @@ lib/unicore/lib/BidiLRO.pl Unicode character database
lib/unicore/lib/BidiNSM.pl Unicode character database
lib/unicore/lib/BidiON.pl Unicode character database
lib/unicore/lib/BidiPDF.pl Unicode character database
+lib/unicore/lib/BidiR.pl Unicode character database
lib/unicore/lib/BidiRLE.pl Unicode character database
lib/unicore/lib/BidiRLO.pl Unicode character database
-lib/unicore/lib/BidiR.pl Unicode character database
lib/unicore/lib/BidiS.pl Unicode character database
lib/unicore/lib/BidiWS.pl Unicode character database
lib/unicore/lib/Blank.pl Unicode character database
lib/unicore/lib/Bopomofo.pl Unicode character database
lib/unicore/lib/Braille.pl Unicode character database
lib/unicore/lib/Buhid.pl Unicode character database
+lib/unicore/lib/C.pl Unicode character database
lib/unicore/lib/Canadian.pl Unicode character database
-lib/unicore/lib/_CanonDC.pl Unicode character database
lib/unicore/lib/Canon.pl Unicode character database
-lib/unicore/lib/_CaseIgn.pl Unicode character database
lib/unicore/lib/Cc.pl Unicode character database
lib/unicore/lib/Cf.pl Unicode character database
lib/unicore/lib/Cherokee.pl Unicode character database
lib/unicore/lib/Cn.pl Unicode character database
lib/unicore/lib/Cntrl.pl Unicode character database
-lib/unicore/lib/_CombAbo.pl Unicode character database
+lib/unicore/lib/Co.pl Unicode character database
lib/unicore/lib/Common.pl Unicode character database
lib/unicore/lib/Compat.pl Unicode character database
-lib/unicore/lib/Co.pl Unicode character database
-lib/unicore/lib/C.pl Unicode character database
lib/unicore/lib/Cs.pl Unicode character database
lib/unicore/lib/Cypriot.pl Unicode character database
lib/unicore/lib/Cyrillic.pl Unicode character database
-lib/unicore/lib/Dash.pl Unicode character database
lib/unicore/lib/DCcircle.pl Unicode character database
lib/unicore/lib/DCcompat.pl Unicode character database
lib/unicore/lib/DCfinal.pl Unicode character database
@@ -1896,6 +1914,7 @@ lib/unicore/lib/DCsub.pl Unicode character database
lib/unicore/lib/DCsuper.pl Unicode character database
lib/unicore/lib/DCvertic.pl Unicode character database
lib/unicore/lib/DCwide.pl Unicode character database
+lib/unicore/lib/Dash.pl Unicode character database
lib/unicore/lib/Deprecat.pl Unicode character database
lib/unicore/lib/Deseret.pl Unicode character database
lib/unicore/lib/Devanaga.pl Unicode character database
@@ -1905,22 +1924,22 @@ lib/unicore/lib/Ethiopic.pl Unicode character database
lib/unicore/lib/Extender.pl Unicode character database
lib/unicore/lib/Georgian.pl Unicode character database
lib/unicore/lib/Gothic.pl Unicode character database
-lib/unicore/lib/Grapheme.pl Unicode character database
lib/unicore/lib/Graph.pl Unicode character database
+lib/unicore/lib/Grapheme.pl Unicode character database
lib/unicore/lib/Greek.pl Unicode character database
lib/unicore/lib/Gujarati.pl Unicode character database
lib/unicore/lib/Gurmukhi.pl Unicode character database
-lib/unicore/lib/Hangul.pl Unicode character database
lib/unicore/lib/Han.pl Unicode character database
+lib/unicore/lib/Hangul.pl Unicode character database
lib/unicore/lib/Hanunoo.pl Unicode character database
lib/unicore/lib/Hebrew.pl Unicode character database
lib/unicore/lib/HexDigit.pl Unicode character database
lib/unicore/lib/Hiragana.pl Unicode character database
lib/unicore/lib/Hyphen.pl Unicode character database
lib/unicore/lib/IdContin.pl Unicode character database
+lib/unicore/lib/IdStart.pl Unicode character database
lib/unicore/lib/Ideograp.pl Unicode character database
lib/unicore/lib/IdsBinar.pl Unicode character database
-lib/unicore/lib/IdStart.pl Unicode character database
lib/unicore/lib/IdsTrina.pl Unicode character database
lib/unicore/lib/InAegean.pl Unicode character database
lib/unicore/lib/InAlphab.pl Unicode character database
@@ -1966,9 +1985,9 @@ lib/unicore/lib/InGenera.pl Unicode character database
lib/unicore/lib/InGeomet.pl Unicode character database
lib/unicore/lib/InGeorgi.pl Unicode character database
lib/unicore/lib/InGothic.pl Unicode character database
+lib/unicore/lib/InGreek.pl Unicode character database
lib/unicore/lib/InGreekA.pl Unicode character database
lib/unicore/lib/InGreekE.pl Unicode character database
-lib/unicore/lib/InGreek.pl Unicode character database
lib/unicore/lib/InGujara.pl Unicode character database
lib/unicore/lib/InGurmuk.pl Unicode character database
lib/unicore/lib/InHalfwi.pl Unicode character database
@@ -1977,7 +1996,6 @@ lib/unicore/lib/InHangu3.pl Unicode character database
lib/unicore/lib/InHangul.pl Unicode character database
lib/unicore/lib/InHanuno.pl Unicode character database
lib/unicore/lib/InHebrew.pl Unicode character database
-lib/unicore/lib/Inherite.pl Unicode character database
lib/unicore/lib/InHighPr.pl Unicode character database
lib/unicore/lib/InHighSu.pl Unicode character database
lib/unicore/lib/InHiraga.pl Unicode character database
@@ -2046,29 +2064,31 @@ lib/unicore/lib/InUgarit.pl Unicode character database
lib/unicore/lib/InUnifie.pl Unicode character database
lib/unicore/lib/InVaria2.pl Unicode character database
lib/unicore/lib/InVariat.pl Unicode character database
-lib/unicore/lib/InYijing.pl Unicode character database
lib/unicore/lib/InYiRadi.pl Unicode character database
lib/unicore/lib/InYiSyll.pl Unicode character database
+lib/unicore/lib/InYijing.pl Unicode character database
+lib/unicore/lib/Inherite.pl Unicode character database
lib/unicore/lib/JoinCont.pl Unicode character database
lib/unicore/lib/Kannada.pl Unicode character database
lib/unicore/lib/Katakan2.pl Unicode character database
lib/unicore/lib/Katakana.pl Unicode character database
lib/unicore/lib/Khmer.pl Unicode character database
lib/unicore/lib/Khmer.pl Unicode character database
+lib/unicore/lib/L.pl Unicode character database
+lib/unicore/lib/L_.pl Unicode character database
lib/unicore/lib/Lao.pl Unicode character database
lib/unicore/lib/Latin.pl Unicode character database
lib/unicore/lib/Limbu.pl Unicode character database
lib/unicore/lib/LinearB.pl Unicode character database
lib/unicore/lib/Ll.pl Unicode character database
lib/unicore/lib/Lm.pl Unicode character database
-lib/unicore/lib/LogicalO.pl Unicode character database
lib/unicore/lib/Lo.pl Unicode character database
-lib/unicore/lib/Lowercas.pl Unicode character database
+lib/unicore/lib/LogicalO.pl Unicode character database
lib/unicore/lib/Lower.pl Unicode character database
-lib/unicore/lib/L.pl Unicode character database
-lib/unicore/lib/L_.pl Unicode character database
+lib/unicore/lib/Lowercas.pl Unicode character database
lib/unicore/lib/Lt.pl Unicode character database
lib/unicore/lib/Lu.pl Unicode character database
+lib/unicore/lib/M.pl Unicode character database
lib/unicore/lib/Malayala.pl Unicode character database
lib/unicore/lib/Math.pl Unicode character database
lib/unicore/lib/Mc.pl Unicode character database
@@ -2076,13 +2096,12 @@ lib/unicore/lib/Me.pl Unicode character database
lib/unicore/lib/Mirrored.pl Unicode character database
lib/unicore/lib/Mn.pl Unicode character database
lib/unicore/lib/Mongolia.pl Unicode character database
-lib/unicore/lib/M.pl Unicode character database
lib/unicore/lib/Myanmar.pl Unicode character database
+lib/unicore/lib/N.pl Unicode character database
lib/unicore/lib/Nd.pl Unicode character database
lib/unicore/lib/Nl.pl Unicode character database
-lib/unicore/lib/Nonchara.pl Unicode character database
lib/unicore/lib/No.pl Unicode character database
-lib/unicore/lib/N.pl Unicode character database
+lib/unicore/lib/Nonchara.pl Unicode character database
lib/unicore/lib/Ogham.pl Unicode character database
lib/unicore/lib/OldItali.pl Unicode character database
lib/unicore/lib/Oriya.pl Unicode character database
@@ -2094,29 +2113,29 @@ lib/unicore/lib/OtherIdS.pl Unicode character database
lib/unicore/lib/OtherLow.pl Unicode character database
lib/unicore/lib/OtherMat.pl Unicode character database
lib/unicore/lib/OtherUpp.pl Unicode character database
+lib/unicore/lib/P.pl Unicode character database
lib/unicore/lib/Pc.pl Unicode character database
lib/unicore/lib/Pd.pl Unicode character database
lib/unicore/lib/Pe.pl Unicode character database
lib/unicore/lib/Pf.pl Unicode character database
lib/unicore/lib/Pi.pl Unicode character database
lib/unicore/lib/Po.pl Unicode character database
-lib/unicore/lib/P.pl Unicode character database
lib/unicore/lib/Print.pl Unicode character database
lib/unicore/lib/Ps.pl Unicode character database
lib/unicore/lib/Punct.pl Unicode character database
lib/unicore/lib/Quotatio.pl Unicode character database
lib/unicore/lib/Radical.pl Unicode character database
lib/unicore/lib/Runic.pl Unicode character database
+lib/unicore/lib/S.pl Unicode character database
lib/unicore/lib/Sc.pl Unicode character database
lib/unicore/lib/Shavian.pl Unicode character database
lib/unicore/lib/Sinhala.pl Unicode character database
lib/unicore/lib/Sk.pl Unicode character database
lib/unicore/lib/Sm.pl Unicode character database
-lib/unicore/lib/SoftDott.pl Unicode character database
lib/unicore/lib/So.pl Unicode character database
-lib/unicore/lib/SpacePer.pl Unicode character database
+lib/unicore/lib/SoftDott.pl Unicode character database
lib/unicore/lib/Space.pl Unicode character database
-lib/unicore/lib/S.pl Unicode character database
+lib/unicore/lib/SpacePer.pl Unicode character database
lib/unicore/lib/Sterm.pl Unicode character database
lib/unicore/lib/Syriac.pl Unicode character database
lib/unicore/lib/Tagalog.pl Unicode character database
@@ -2131,40 +2150,426 @@ lib/unicore/lib/Tibetan.pl Unicode character database
lib/unicore/lib/Title.pl Unicode character database
lib/unicore/lib/Ugaritic.pl Unicode character database
lib/unicore/lib/UnifiedI.pl Unicode character database
-lib/unicore/lib/Uppercas.pl Unicode character database
lib/unicore/lib/Upper.pl Unicode character database
+lib/unicore/lib/Uppercas.pl Unicode character database
lib/unicore/lib/Variatio.pl Unicode character database
lib/unicore/lib/WhiteSpa.pl Unicode character database
lib/unicore/lib/Word.pl Unicode character database
lib/unicore/lib/XDigit.pl Unicode character database
lib/unicore/lib/Yi.pl Unicode character database
-lib/unicore/lib/Zl.pl Unicode character database
lib/unicore/lib/Z.pl Unicode character database
+lib/unicore/lib/Zl.pl Unicode character database
lib/unicore/lib/Zp.pl Unicode character database
lib/unicore/lib/Zs.pl Unicode character database
-lib/unicore/LineBreak.txt Unicode character database
-lib/unicore/Makefile Unicode character database
+lib/unicore/lib/_CanonDC.pl Unicode character database
+lib/unicore/lib/_CaseIgn.pl Unicode character database
+lib/unicore/lib/_CombAbo.pl Unicode character database
+lib/unicore/lib/bc/AL.pl Unicode character database
+lib/unicore/lib/bc/AN.pl Unicode character database
+lib/unicore/lib/bc/B.pl Unicode character database
+lib/unicore/lib/bc/BN.pl Unicode character database
+lib/unicore/lib/bc/CS.pl Unicode character database
+lib/unicore/lib/bc/EN.pl Unicode character database
+lib/unicore/lib/bc/ES.pl Unicode character database
+lib/unicore/lib/bc/ET.pl Unicode character database
+lib/unicore/lib/bc/L.pl Unicode character database
+lib/unicore/lib/bc/LRE.pl Unicode character database
+lib/unicore/lib/bc/LRO.pl Unicode character database
+lib/unicore/lib/bc/NSM.pl Unicode character database
+lib/unicore/lib/bc/ON.pl Unicode character database
+lib/unicore/lib/bc/PDF.pl Unicode character database
+lib/unicore/lib/bc/R.pl Unicode character database
+lib/unicore/lib/bc/RLE.pl Unicode character database
+lib/unicore/lib/bc/RLO.pl Unicode character database
+lib/unicore/lib/bc/S.pl Unicode character database
+lib/unicore/lib/bc/WS.pl Unicode character database
+lib/unicore/lib/ccc/A.pl Unicode character database
+lib/unicore/lib/ccc/AL.pl Unicode character database
+lib/unicore/lib/ccc/AR.pl Unicode character database
+lib/unicore/lib/ccc/ATAR.pl Unicode character database
+lib/unicore/lib/ccc/ATB.pl Unicode character database
+lib/unicore/lib/ccc/ATBL.pl Unicode character database
+lib/unicore/lib/ccc/B.pl Unicode character database
+lib/unicore/lib/ccc/BL.pl Unicode character database
+lib/unicore/lib/ccc/BR.pl Unicode character database
+lib/unicore/lib/ccc/DA.pl Unicode character database
+lib/unicore/lib/ccc/DB.pl Unicode character database
+lib/unicore/lib/ccc/IS.pl Unicode character database
+lib/unicore/lib/ccc/KV.pl Unicode character database
+lib/unicore/lib/ccc/L.pl Unicode character database
+lib/unicore/lib/ccc/NK.pl Unicode character database
+lib/unicore/lib/ccc/NR.pl Unicode character database
+lib/unicore/lib/ccc/OV.pl Unicode character database
+lib/unicore/lib/ccc/R.pl Unicode character database
+lib/unicore/lib/ccc/VR.pl Unicode character database
+lib/unicore/lib/dt/can.pl Unicode character database
+lib/unicore/lib/dt/com.pl Unicode character database
+lib/unicore/lib/dt/enc.pl Unicode character database
+lib/unicore/lib/dt/fin.pl Unicode character database
+lib/unicore/lib/dt/font.pl Unicode character database
+lib/unicore/lib/dt/fra.pl Unicode character database
+lib/unicore/lib/dt/init.pl Unicode character database
+lib/unicore/lib/dt/iso.pl Unicode character database
+lib/unicore/lib/dt/med.pl Unicode character database
+lib/unicore/lib/dt/nar.pl Unicode character database
+lib/unicore/lib/dt/nb.pl Unicode character database
+lib/unicore/lib/dt/sml.pl Unicode character database
+lib/unicore/lib/dt/sqr.pl Unicode character database
+lib/unicore/lib/dt/sub.pl Unicode character database
+lib/unicore/lib/dt/sup.pl Unicode character database
+lib/unicore/lib/dt/vert.pl Unicode character database
+lib/unicore/lib/dt/wide.pl Unicode character database
+lib/unicore/lib/ea/A.pl Unicode character database
+lib/unicore/lib/ea/F.pl Unicode character database
+lib/unicore/lib/ea/H.pl Unicode character database
+lib/unicore/lib/ea/N.pl Unicode character database
+lib/unicore/lib/ea/Na.pl Unicode character database
+lib/unicore/lib/ea/W.pl Unicode character database
+lib/unicore/lib/gc_sc/AHex.pl Unicode character database
+lib/unicore/lib/gc_sc/ASCII.pl Unicode character database
+lib/unicore/lib/gc_sc/Alnum.pl Unicode character database
+lib/unicore/lib/gc_sc/Alpha.pl Unicode character database
+lib/unicore/lib/gc_sc/Alphabet.pl Unicode character database
+lib/unicore/lib/gc_sc/Any.pl Unicode character database
+lib/unicore/lib/gc_sc/Arab.pl Unicode character database
+lib/unicore/lib/gc_sc/Armn.pl Unicode character database
+lib/unicore/lib/gc_sc/AsciiHex.pl Unicode character database
+lib/unicore/lib/gc_sc/Assigned.pl Unicode character database
+lib/unicore/lib/gc_sc/Beng.pl Unicode character database
+lib/unicore/lib/gc_sc/BidiC.pl Unicode character database
+lib/unicore/lib/gc_sc/BidiCont.pl Unicode character database
+lib/unicore/lib/gc_sc/Blank.pl Unicode character database
+lib/unicore/lib/gc_sc/Bopo.pl Unicode character database
+lib/unicore/lib/gc_sc/Brai.pl Unicode character database
+lib/unicore/lib/gc_sc/Buhd.pl Unicode character database
+lib/unicore/lib/gc_sc/C.pl Unicode character database
+lib/unicore/lib/gc_sc/Canadian.pl Unicode character database
+lib/unicore/lib/gc_sc/Cc.pl Unicode character database
+lib/unicore/lib/gc_sc/Cf.pl Unicode character database
+lib/unicore/lib/gc_sc/Cher.pl Unicode character database
+lib/unicore/lib/gc_sc/Cn.pl Unicode character database
+lib/unicore/lib/gc_sc/Cntrl.pl Unicode character database
+lib/unicore/lib/gc_sc/Co.pl Unicode character database
+lib/unicore/lib/gc_sc/Cprt.pl Unicode character database
+lib/unicore/lib/gc_sc/Cs.pl Unicode character database
+lib/unicore/lib/gc_sc/Cyrl.pl Unicode character database
+lib/unicore/lib/gc_sc/Dash.pl Unicode character database
+lib/unicore/lib/gc_sc/Dep.pl Unicode character database
+lib/unicore/lib/gc_sc/Deprecat.pl Unicode character database
+lib/unicore/lib/gc_sc/Deva.pl Unicode character database
+lib/unicore/lib/gc_sc/Dia.pl Unicode character database
+lib/unicore/lib/gc_sc/Diacriti.pl Unicode character database
+lib/unicore/lib/gc_sc/Digit.pl Unicode character database
+lib/unicore/lib/gc_sc/Dsrt.pl Unicode character database
+lib/unicore/lib/gc_sc/Ethi.pl Unicode character database
+lib/unicore/lib/gc_sc/Ext.pl Unicode character database
+lib/unicore/lib/gc_sc/Extender.pl Unicode character database
+lib/unicore/lib/gc_sc/Geor.pl Unicode character database
+lib/unicore/lib/gc_sc/Goth.pl Unicode character database
+lib/unicore/lib/gc_sc/GrLink.pl Unicode character database
+lib/unicore/lib/gc_sc/Graph.pl Unicode character database
+lib/unicore/lib/gc_sc/Grapheme.pl Unicode character database
+lib/unicore/lib/gc_sc/Grek.pl Unicode character database
+lib/unicore/lib/gc_sc/Gujr.pl Unicode character database
+lib/unicore/lib/gc_sc/Guru.pl Unicode character database
+lib/unicore/lib/gc_sc/Hang.pl Unicode character database
+lib/unicore/lib/gc_sc/Hani.pl Unicode character database
+lib/unicore/lib/gc_sc/Hano.pl Unicode character database
+lib/unicore/lib/gc_sc/Hebr.pl Unicode character database
+lib/unicore/lib/gc_sc/Hex.pl Unicode character database
+lib/unicore/lib/gc_sc/HexDigit.pl Unicode character database
+lib/unicore/lib/gc_sc/Hira.pl Unicode character database
+lib/unicore/lib/gc_sc/Hyphen.pl Unicode character database
+lib/unicore/lib/gc_sc/IDSB.pl Unicode character database
+lib/unicore/lib/gc_sc/IDST.pl Unicode character database
+lib/unicore/lib/gc_sc/IdContin.pl Unicode character database
+lib/unicore/lib/gc_sc/IdStart.pl Unicode character database
+lib/unicore/lib/gc_sc/Ideo.pl Unicode character database
+lib/unicore/lib/gc_sc/Ideograp.pl Unicode character database
+lib/unicore/lib/gc_sc/IdsBinar.pl Unicode character database
+lib/unicore/lib/gc_sc/IdsTrina.pl Unicode character database
+lib/unicore/lib/gc_sc/InAegean.pl Unicode character database
+lib/unicore/lib/gc_sc/InAlphab.pl Unicode character database
+lib/unicore/lib/gc_sc/InArabi2.pl Unicode character database
+lib/unicore/lib/gc_sc/InArabi3.pl Unicode character database
+lib/unicore/lib/gc_sc/InArabic.pl Unicode character database
+lib/unicore/lib/gc_sc/InArmeni.pl Unicode character database
+lib/unicore/lib/gc_sc/InArrows.pl Unicode character database
+lib/unicore/lib/gc_sc/InBasicL.pl Unicode character database
+lib/unicore/lib/gc_sc/InBengal.pl Unicode character database
+lib/unicore/lib/gc_sc/InBlockE.pl Unicode character database
+lib/unicore/lib/gc_sc/InBopom2.pl Unicode character database
+lib/unicore/lib/gc_sc/InBopomo.pl Unicode character database
+lib/unicore/lib/gc_sc/InBoxDra.pl Unicode character database
+lib/unicore/lib/gc_sc/InBraill.pl Unicode character database
+lib/unicore/lib/gc_sc/InBuhid.pl Unicode character database
+lib/unicore/lib/gc_sc/InByzant.pl Unicode character database
+lib/unicore/lib/gc_sc/InCherok.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkCo2.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkCo3.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkCo4.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkCom.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkRad.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkSym.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkUn2.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkUn3.pl Unicode character database
+lib/unicore/lib/gc_sc/InCjkUni.pl Unicode character database
+lib/unicore/lib/gc_sc/InCombi2.pl Unicode character database
+lib/unicore/lib/gc_sc/InCombi3.pl Unicode character database
+lib/unicore/lib/gc_sc/InCombin.pl Unicode character database
+lib/unicore/lib/gc_sc/InContro.pl Unicode character database
+lib/unicore/lib/gc_sc/InCurren.pl Unicode character database
+lib/unicore/lib/gc_sc/InCyprio.pl Unicode character database
+lib/unicore/lib/gc_sc/InCyril2.pl Unicode character database
+lib/unicore/lib/gc_sc/InCyrill.pl Unicode character database
+lib/unicore/lib/gc_sc/InDesere.pl Unicode character database
+lib/unicore/lib/gc_sc/InDevana.pl Unicode character database
+lib/unicore/lib/gc_sc/InDingba.pl Unicode character database
+lib/unicore/lib/gc_sc/InEnclo2.pl Unicode character database
+lib/unicore/lib/gc_sc/InEnclos.pl Unicode character database
+lib/unicore/lib/gc_sc/InEthiop.pl Unicode character database
+lib/unicore/lib/gc_sc/InGenera.pl Unicode character database
+lib/unicore/lib/gc_sc/InGeomet.pl Unicode character database
+lib/unicore/lib/gc_sc/InGeorgi.pl Unicode character database
+lib/unicore/lib/gc_sc/InGothic.pl Unicode character database
+lib/unicore/lib/gc_sc/InGreekA.pl Unicode character database
+lib/unicore/lib/gc_sc/InGreekE.pl Unicode character database
+lib/unicore/lib/gc_sc/InGujara.pl Unicode character database
+lib/unicore/lib/gc_sc/InGurmuk.pl Unicode character database
+lib/unicore/lib/gc_sc/InHalfwi.pl Unicode character database
+lib/unicore/lib/gc_sc/InHangu2.pl Unicode character database
+lib/unicore/lib/gc_sc/InHangu3.pl Unicode character database
+lib/unicore/lib/gc_sc/InHangul.pl Unicode character database
+lib/unicore/lib/gc_sc/InHanuno.pl Unicode character database
+lib/unicore/lib/gc_sc/InHebrew.pl Unicode character database
+lib/unicore/lib/gc_sc/InHighPr.pl Unicode character database
+lib/unicore/lib/gc_sc/InHighSu.pl Unicode character database
+lib/unicore/lib/gc_sc/InHiraga.pl Unicode character database
+lib/unicore/lib/gc_sc/InIdeogr.pl Unicode character database
+lib/unicore/lib/gc_sc/InIpaExt.pl Unicode character database
+lib/unicore/lib/gc_sc/InKanbun.pl Unicode character database
+lib/unicore/lib/gc_sc/InKangxi.pl Unicode character database
+lib/unicore/lib/gc_sc/InKannad.pl Unicode character database
+lib/unicore/lib/gc_sc/InKatak2.pl Unicode character database
+lib/unicore/lib/gc_sc/InKataka.pl Unicode character database
+lib/unicore/lib/gc_sc/InKhmer.pl Unicode character database
+lib/unicore/lib/gc_sc/InKhmerS.pl Unicode character database
+lib/unicore/lib/gc_sc/InLao.pl Unicode character database
+lib/unicore/lib/gc_sc/InLatin1.pl Unicode character database
+lib/unicore/lib/gc_sc/InLatin2.pl Unicode character database
+lib/unicore/lib/gc_sc/InLatin3.pl Unicode character database
+lib/unicore/lib/gc_sc/InLatinE.pl Unicode character database
+lib/unicore/lib/gc_sc/InLetter.pl Unicode character database
+lib/unicore/lib/gc_sc/InLimbu.pl Unicode character database
+lib/unicore/lib/gc_sc/InLinea2.pl Unicode character database
+lib/unicore/lib/gc_sc/InLinear.pl Unicode character database
+lib/unicore/lib/gc_sc/InLowSur.pl Unicode character database
+lib/unicore/lib/gc_sc/InMalaya.pl Unicode character database
+lib/unicore/lib/gc_sc/InMathe2.pl Unicode character database
+lib/unicore/lib/gc_sc/InMathem.pl Unicode character database
+lib/unicore/lib/gc_sc/InMisce2.pl Unicode character database
+lib/unicore/lib/gc_sc/InMisce3.pl Unicode character database
+lib/unicore/lib/gc_sc/InMisce4.pl Unicode character database
+lib/unicore/lib/gc_sc/InMisce5.pl Unicode character database
+lib/unicore/lib/gc_sc/InMiscel.pl Unicode character database
+lib/unicore/lib/gc_sc/InMongol.pl Unicode character database
+lib/unicore/lib/gc_sc/InMusica.pl Unicode character database
+lib/unicore/lib/gc_sc/InMyanma.pl Unicode character database
+lib/unicore/lib/gc_sc/InNumber.pl Unicode character database
+lib/unicore/lib/gc_sc/InOgham.pl Unicode character database
+lib/unicore/lib/gc_sc/InOldIta.pl Unicode character database
+lib/unicore/lib/gc_sc/InOptica.pl Unicode character database
+lib/unicore/lib/gc_sc/InOriya.pl Unicode character database
+lib/unicore/lib/gc_sc/InOsmany.pl Unicode character database
+lib/unicore/lib/gc_sc/InPhonet.pl Unicode character database
+lib/unicore/lib/gc_sc/InPrivat.pl Unicode character database
+lib/unicore/lib/gc_sc/InRunic.pl Unicode character database
+lib/unicore/lib/gc_sc/InShavia.pl Unicode character database
+lib/unicore/lib/gc_sc/InSinhal.pl Unicode character database
+lib/unicore/lib/gc_sc/InSmallF.pl Unicode character database
+lib/unicore/lib/gc_sc/InSpacin.pl Unicode character database
+lib/unicore/lib/gc_sc/InSpecia.pl Unicode character database
+lib/unicore/lib/gc_sc/InSupers.pl Unicode character database
+lib/unicore/lib/gc_sc/InSuppl2.pl Unicode character database
+lib/unicore/lib/gc_sc/InSuppl3.pl Unicode character database
+lib/unicore/lib/gc_sc/InSuppl4.pl Unicode character database
+lib/unicore/lib/gc_sc/InSuppl5.pl Unicode character database
+lib/unicore/lib/gc_sc/InSupple.pl Unicode character database
+lib/unicore/lib/gc_sc/InSyriac.pl Unicode character database
+lib/unicore/lib/gc_sc/InTagalo.pl Unicode character database
+lib/unicore/lib/gc_sc/InTagban.pl Unicode character database
+lib/unicore/lib/gc_sc/InTags.pl Unicode character database
+lib/unicore/lib/gc_sc/InTaiLe.pl Unicode character database
+lib/unicore/lib/gc_sc/InTaiXua.pl Unicode character database
+lib/unicore/lib/gc_sc/InTamil.pl Unicode character database
+lib/unicore/lib/gc_sc/InTelugu.pl Unicode character database
+lib/unicore/lib/gc_sc/InThaana.pl Unicode character database
+lib/unicore/lib/gc_sc/InThai.pl Unicode character database
+lib/unicore/lib/gc_sc/InTibeta.pl Unicode character database
+lib/unicore/lib/gc_sc/InUgarit.pl Unicode character database
+lib/unicore/lib/gc_sc/InUnifie.pl Unicode character database
+lib/unicore/lib/gc_sc/InVaria2.pl Unicode character database
+lib/unicore/lib/gc_sc/InVariat.pl Unicode character database
+lib/unicore/lib/gc_sc/InYiRadi.pl Unicode character database
+lib/unicore/lib/gc_sc/InYiSyll.pl Unicode character database
+lib/unicore/lib/gc_sc/InYijing.pl Unicode character database
+lib/unicore/lib/gc_sc/JoinC.pl Unicode character database
+lib/unicore/lib/gc_sc/JoinCont.pl Unicode character database
+lib/unicore/lib/gc_sc/Kana.pl Unicode character database
+lib/unicore/lib/gc_sc/Katakana.pl Unicode character database
+lib/unicore/lib/gc_sc/Khmr.pl Unicode character database
+lib/unicore/lib/gc_sc/Knda.pl Unicode character database
+lib/unicore/lib/gc_sc/L.pl Unicode character database
+lib/unicore/lib/gc_sc/LC.pl Unicode character database
+lib/unicore/lib/gc_sc/LOE.pl Unicode character database
+lib/unicore/lib/gc_sc/Laoo.pl Unicode character database
+lib/unicore/lib/gc_sc/Latn.pl Unicode character database
+lib/unicore/lib/gc_sc/Limb.pl Unicode character database
+lib/unicore/lib/gc_sc/LinearB.pl Unicode character database
+lib/unicore/lib/gc_sc/Ll.pl Unicode character database
+lib/unicore/lib/gc_sc/Lm.pl Unicode character database
+lib/unicore/lib/gc_sc/Lo.pl Unicode character database
+lib/unicore/lib/gc_sc/LogicalO.pl Unicode character database
+lib/unicore/lib/gc_sc/Lower.pl Unicode character database
+lib/unicore/lib/gc_sc/Lowercas.pl Unicode character database
+lib/unicore/lib/gc_sc/Lt.pl Unicode character database
+lib/unicore/lib/gc_sc/Lu.pl Unicode character database
+lib/unicore/lib/gc_sc/M.pl Unicode character database
+lib/unicore/lib/gc_sc/Math.pl Unicode character database
+lib/unicore/lib/gc_sc/Mc.pl Unicode character database
+lib/unicore/lib/gc_sc/Me.pl Unicode character database
+lib/unicore/lib/gc_sc/Mlym.pl Unicode character database
+lib/unicore/lib/gc_sc/Mn.pl Unicode character database
+lib/unicore/lib/gc_sc/Mong.pl Unicode character database
+lib/unicore/lib/gc_sc/Mymr.pl Unicode character database
+lib/unicore/lib/gc_sc/N.pl Unicode character database
+lib/unicore/lib/gc_sc/NChar.pl Unicode character database
+lib/unicore/lib/gc_sc/Nd.pl Unicode character database
+lib/unicore/lib/gc_sc/Nl.pl Unicode character database
+lib/unicore/lib/gc_sc/No.pl Unicode character database
+lib/unicore/lib/gc_sc/Nonchara.pl Unicode character database
+lib/unicore/lib/gc_sc/OAlpha.pl Unicode character database
+lib/unicore/lib/gc_sc/ODI.pl Unicode character database
+lib/unicore/lib/gc_sc/OGrExt.pl Unicode character database
+lib/unicore/lib/gc_sc/OIDS.pl Unicode character database
+lib/unicore/lib/gc_sc/OLower.pl Unicode character database
+lib/unicore/lib/gc_sc/OMath.pl Unicode character database
+lib/unicore/lib/gc_sc/OUpper.pl Unicode character database
+lib/unicore/lib/gc_sc/Ogam.pl Unicode character database
+lib/unicore/lib/gc_sc/OldItali.pl Unicode character database
+lib/unicore/lib/gc_sc/Orya.pl Unicode character database
+lib/unicore/lib/gc_sc/Osma.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherAlp.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherDef.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherGra.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherIdS.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherLow.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherMat.pl Unicode character database
+lib/unicore/lib/gc_sc/OtherUpp.pl Unicode character database
+lib/unicore/lib/gc_sc/P.pl Unicode character database
+lib/unicore/lib/gc_sc/Pc.pl Unicode character database
+lib/unicore/lib/gc_sc/Pd.pl Unicode character database
+lib/unicore/lib/gc_sc/Pe.pl Unicode character database
+lib/unicore/lib/gc_sc/Pf.pl Unicode character database
+lib/unicore/lib/gc_sc/Pi.pl Unicode character database
+lib/unicore/lib/gc_sc/Po.pl Unicode character database
+lib/unicore/lib/gc_sc/Print.pl Unicode character database
+lib/unicore/lib/gc_sc/Ps.pl Unicode character database
+lib/unicore/lib/gc_sc/Punct.pl Unicode character database
+lib/unicore/lib/gc_sc/QMark.pl Unicode character database
+lib/unicore/lib/gc_sc/Qaai.pl Unicode character database
+lib/unicore/lib/gc_sc/Quotatio.pl Unicode character database
+lib/unicore/lib/gc_sc/Radical.pl Unicode character database
+lib/unicore/lib/gc_sc/Runr.pl Unicode character database
+lib/unicore/lib/gc_sc/S.pl Unicode character database
+lib/unicore/lib/gc_sc/SD.pl Unicode character database
+lib/unicore/lib/gc_sc/STerm.pl Unicode character database
+lib/unicore/lib/gc_sc/Sc.pl Unicode character database
+lib/unicore/lib/gc_sc/Shaw.pl Unicode character database
+lib/unicore/lib/gc_sc/Sinh.pl Unicode character database
+lib/unicore/lib/gc_sc/Sk.pl Unicode character database
+lib/unicore/lib/gc_sc/Sm.pl Unicode character database
+lib/unicore/lib/gc_sc/So.pl Unicode character database
+lib/unicore/lib/gc_sc/SoftDott.pl Unicode character database
+lib/unicore/lib/gc_sc/Space.pl Unicode character database
+lib/unicore/lib/gc_sc/SpacePer.pl Unicode character database
+lib/unicore/lib/gc_sc/Sterm.pl Unicode character database
+lib/unicore/lib/gc_sc/Syrc.pl Unicode character database
+lib/unicore/lib/gc_sc/Tagb.pl Unicode character database
+lib/unicore/lib/gc_sc/TaiLe.pl Unicode character database
+lib/unicore/lib/gc_sc/Taml.pl Unicode character database
+lib/unicore/lib/gc_sc/Telu.pl Unicode character database
+lib/unicore/lib/gc_sc/Term.pl Unicode character database
+lib/unicore/lib/gc_sc/Terminal.pl Unicode character database
+lib/unicore/lib/gc_sc/Tglg.pl Unicode character database
+lib/unicore/lib/gc_sc/Thaa.pl Unicode character database
+lib/unicore/lib/gc_sc/Thai.pl Unicode character database
+lib/unicore/lib/gc_sc/Tibt.pl Unicode character database
+lib/unicore/lib/gc_sc/Title.pl Unicode character database
+lib/unicore/lib/gc_sc/UIdeo.pl Unicode character database
+lib/unicore/lib/gc_sc/Ugar.pl Unicode character database
+lib/unicore/lib/gc_sc/UnifiedI.pl Unicode character database
+lib/unicore/lib/gc_sc/Upper.pl Unicode character database
+lib/unicore/lib/gc_sc/Uppercas.pl Unicode character database
+lib/unicore/lib/gc_sc/VS.pl Unicode character database
+lib/unicore/lib/gc_sc/Variatio.pl Unicode character database
+lib/unicore/lib/gc_sc/WSpace.pl Unicode character database
+lib/unicore/lib/gc_sc/WhiteSpa.pl Unicode character database
+lib/unicore/lib/gc_sc/Word.pl Unicode character database
+lib/unicore/lib/gc_sc/XDigit.pl Unicode character database
+lib/unicore/lib/gc_sc/Yiii.pl Unicode character database
+lib/unicore/lib/gc_sc/Z.pl Unicode character database
+lib/unicore/lib/gc_sc/Zl.pl Unicode character database
+lib/unicore/lib/gc_sc/Zp.pl Unicode character database
+lib/unicore/lib/gc_sc/Zs.pl Unicode character database
+lib/unicore/lib/gc_sc/Zyyy.pl Unicode character database
+lib/unicore/lib/gc_sc/_CanonDC.pl Unicode character database
+lib/unicore/lib/gc_sc/_CaseIgn.pl Unicode character database
+lib/unicore/lib/gc_sc/_CombAbo.pl Unicode character database
+lib/unicore/lib/hst/L.pl Unicode character database
+lib/unicore/lib/hst/LV.pl Unicode character database
+lib/unicore/lib/hst/LVT.pl Unicode character database
+lib/unicore/lib/hst/T.pl Unicode character database
+lib/unicore/lib/hst/V.pl Unicode character database
+lib/unicore/lib/jt/C.pl Unicode character database
+lib/unicore/lib/jt/D.pl Unicode character database
+lib/unicore/lib/jt/R.pl Unicode character database
+lib/unicore/lib/jt/U.pl Unicode character database
+lib/unicore/lib/lb/AI.pl Unicode character database
+lib/unicore/lib/lb/AL.pl Unicode character database
+lib/unicore/lib/lb/B2.pl Unicode character database
+lib/unicore/lib/lb/BA.pl Unicode character database
+lib/unicore/lib/lb/BB.pl Unicode character database
+lib/unicore/lib/lb/BK.pl Unicode character database
+lib/unicore/lib/lb/CB.pl Unicode character database
+lib/unicore/lib/lb/CL.pl Unicode character database
+lib/unicore/lib/lb/CM.pl Unicode character database
+lib/unicore/lib/lb/CR.pl Unicode character database
+lib/unicore/lib/lb/EX.pl Unicode character database
+lib/unicore/lib/lb/GL.pl Unicode character database
+lib/unicore/lib/lb/HY.pl Unicode character database
+lib/unicore/lib/lb/ID.pl Unicode character database
+lib/unicore/lib/lb/IN.pl Unicode character database
+lib/unicore/lib/lb/IS.pl Unicode character database
+lib/unicore/lib/lb/LF.pl Unicode character database
+lib/unicore/lib/lb/NL.pl Unicode character database
+lib/unicore/lib/lb/NS.pl Unicode character database
+lib/unicore/lib/lb/NU.pl Unicode character database
+lib/unicore/lib/lb/OP.pl Unicode character database
+lib/unicore/lib/lb/PO.pl Unicode character database
+lib/unicore/lib/lb/PR.pl Unicode character database
+lib/unicore/lib/lb/QU.pl Unicode character database
+lib/unicore/lib/lb/SA.pl Unicode character database
+lib/unicore/lib/lb/SG.pl Unicode character database
+lib/unicore/lib/lb/SP.pl Unicode character database
+lib/unicore/lib/lb/SY.pl Unicode character database
+lib/unicore/lib/lb/WJ.pl Unicode character database
+lib/unicore/lib/lb/XX.pl Unicode character database
+lib/unicore/lib/lb/ZW.pl Unicode character database
+lib/unicore/lib/nt/De.pl Unicode character database
+lib/unicore/lib/nt/Di.pl Unicode character database
+lib/unicore/lib/nt/Nu.pl Unicode character database
lib/unicore/mktables Unicode character database generator
-lib/unicore/Name.pl Unicode character database
-lib/unicore/NamesList.txt Unicode character database
-lib/unicore/NormalizationCorrections.txt Unicode character database
-lib/unicore/Number.pl Unicode character database
-lib/unicore/Properties Built-in \p{...} / \P{...} property list
-lib/unicore/PropertyAliases.txt Unicode character database
-lib/unicore/PropList.txt Unicode character database
-lib/unicore/PropValueAliases.txt Unicode character database
-lib/unicore/README.perl Unicode character database
-lib/unicore/ReadMe.txt Unicode character database info
-lib/unicore/Scripts.pl Unicode character database
-lib/unicore/Scripts.txt Unicode character database
-lib/unicore/SpecialCasing.txt Unicode character database
-lib/unicore/StandardizedVariants.txt Unicode character database
-lib/unicore/To/Digit.pl Unicode character database
-lib/unicore/To/Fold.pl Unicode character database
-lib/unicore/To/Lower.pl Unicode character database
-lib/unicore/To/Title.pl Unicode character database
-lib/unicore/To/Upper.pl Unicode character database
-lib/unicore/UnicodeData.txt Unicode character database
lib/unicore/version The version of the Unicode
lib/UNIVERSAL.pm Base class for ALL classes
lib/User/grent.pm By-name interface to Perl's builtin getgr*
@@ -2172,6 +2577,7 @@ lib/User/grent.t See if User::grwent works
lib/User/pwent.pm By-name interface to Perl's builtin getpw*
lib/User/pwent.t See if User::pwent works
lib/utf8_heavy.pl Support routines for utf8 pragma
+lib/utf8_pva.pl Support routines for utf8 pragma
lib/utf8.pm Pragma to control Unicode support
lib/utf8.t See if utf8 operations work
lib/validate.pl Perl library supporting wholesale file mode validation
diff --git a/lib/unicore/Canonical.pl b/lib/unicore/Canonical.pl
index 69826016e0..9743d4978b 100644
--- a/lib/unicore/Canonical.pl
+++ b/lib/unicore/Canonical.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
##
@@ -17,7 +17,7 @@
# InAlphabeticPresentationForms
alphabeticpresentationforms => 'InAlphab',
- arabic => 'Arabic',
+ arabic => 'Arab',
# InArabicPresentationFormsA
arabicpresentationformsa => 'InArabi3',
@@ -25,7 +25,7 @@
# InArabicPresentationFormsB
arabicpresentationformsb => 'InArabi2',
- armenian => 'Armenian',
+ armenian => 'Armn',
# InArrows
arrows => 'InArrows',
@@ -36,7 +36,7 @@
# InBasicLatin
basiclatin => 'InBasicL',
- bengali => 'Bengali',
+ bengali => 'Beng',
# BidiControl
bidicontrol => 'BidiCont',
@@ -44,7 +44,7 @@
# InBlockElements
blockelements => 'InBlockE',
- bopomofo => 'Bopomofo',
+ bopomofo => 'Bopo',
# InBopomofoExtended
bopomofoextended => 'InBopom2',
@@ -52,12 +52,12 @@
# InBoxDrawing
boxdrawing => 'InBoxDra',
- braille => 'Braille',
+ braille => 'Brai',
# InBraillePatterns
braillepatterns => 'InBraill',
- buhid => 'Buhid',
+ buhid => 'Buhd',
# InByzantineMusicalSymbols
byzantinemusicalsymbols => 'InByzant',
@@ -65,7 +65,10 @@
# CanadianAboriginal
canadianaboriginal => 'Canadian',
- cherokee => 'Cherokee',
+ # CasedLetter
+ casedletter => 'LC',
+
+ cherokee => 'Cher',
# InCjkCompatibility
cjkcompatibility => 'InCjkCom',
@@ -106,7 +109,7 @@
# InCombiningHalfMarks
combininghalfmarks => 'InCombin',
- common => 'Common',
+ common => 'Zyyy',
# ConnectorPunctuation
connectorpunctuation => 'Pc',
@@ -122,12 +125,12 @@
# InCurrencySymbols
currencysymbols => 'InCurren',
- cypriot => 'Cypriot',
+ cypriot => 'Cprt',
# InCypriotSyllabary
cypriotsyllabary => 'InCyprio',
- cyrillic => 'Cyrillic',
+ cyrillic => 'Cyrl',
# InCyrillicSupplement
cyrillicsupplement => 'InCyril2',
@@ -141,8 +144,8 @@
decimalnumber => 'Nd',
deprecated => 'Deprecat',
- deseret => 'Deseret',
- devanagari => 'Devanaga',
+ deseret => 'Dsrt',
+ devanagari => 'Deva',
diacritic => 'Diacriti',
# InDingbats
@@ -157,7 +160,7 @@
# EnclosingMark
enclosingmark => 'Me',
- ethiopic => 'Ethiopic',
+ ethiopic => 'Ethi',
extender => 'Extender',
# FinalPunctuation
@@ -171,13 +174,13 @@
# InGeometricShapes
geometricshapes => 'InGeomet',
- georgian => 'Georgian',
- gothic => 'Gothic',
+ georgian => 'Geor',
+ gothic => 'Goth',
# GraphemeLink
graphemelink => 'Grapheme',
- greek => 'Greek',
+ greek => 'Grek',
# InGreekAndCoptic
greekandcoptic => 'InGreekA',
@@ -185,14 +188,14 @@
# InGreekExtended
greekextended => 'InGreekE',
- gujarati => 'Gujarati',
- gurmukhi => 'Gurmukhi',
+ gujarati => 'Gujr',
+ gurmukhi => 'Guru',
# InHalfwidthAndFullwidthForms
halfwidthandfullwidthforms => 'InHalfwi',
- han => 'Han',
- hangul => 'Hangul',
+ han => 'Hani',
+ hangul => 'Hang',
# InHangulCompatibilityJamo
hangulcompatibilityjamo => 'InHangu3',
@@ -203,8 +206,8 @@
# InHangulSyllables
hangulsyllables => 'InHangu2',
- hanunoo => 'Hanunoo',
- hebrew => 'Hebrew',
+ hanunoo => 'Hano',
+ hebrew => 'Hebr',
# HexDigit
hexdigit => 'HexDigit',
@@ -215,7 +218,7 @@
# InHighSurrogates
highsurrogates => 'InHighSu',
- hiragana => 'Hiragana',
+ hiragana => 'Hira',
hyphen => 'Hyphen',
# IdContinue
@@ -397,7 +400,7 @@
# InHebrew
inhebrew => 'InHebrew',
- inherited => 'Inherite',
+ inherited => 'Qaai',
# InHighPrivateUseSurrogates
inhighprivateusesurrogates => 'InHighPr',
@@ -627,22 +630,22 @@
# InKangxiRadicals
kangxiradicals => 'InKangxi',
- kannada => 'Kannada',
- katakana => 'Katakana',
+ kannada => 'Knda',
+ katakana => 'Kana',
# KatakanaOrHiragana
- katakanaorhiragana => 'Katakan2',
+ katakanaorhiragana => 'Katakana',
# InKatakanaPhoneticExtensions
katakanaphoneticextensions => 'InKatak2',
- khmer => 'Khmer',
+ khmer => 'Khmr',
# InKhmerSymbols
khmersymbols => 'InKhmerS',
- lao => 'Lao',
- latin => 'Latin',
+ lao => 'Laoo',
+ latin => 'Latn',
# InLatin1Supplement
latin1supplement => 'InLatin1',
@@ -664,7 +667,7 @@
# LetterNumber
letternumber => 'Nl',
- limbu => 'Limbu',
+ limbu => 'Limb',
# LinearB
linearb => 'LinearB',
@@ -689,7 +692,7 @@
# InLowSurrogates
lowsurrogates => 'InLowSur',
- malayalam => 'Malayala',
+ malayalam => 'Mlym',
mark => 'M',
math => 'Math',
@@ -723,17 +726,17 @@
# ModifierSymbol
modifiersymbol => 'Sk',
- mongolian => 'Mongolia',
+ mongolian => 'Mong',
# InMusicalSymbols
musicalsymbols => 'InMusica',
- myanmar => 'Myanmar',
+ myanmar => 'Mymr',
# NoncharacterCodePoint
noncharactercodepoint => 'Nonchara',
- # NonSpacingMark
+ # NonspacingMark
nonspacingmark => 'Mn',
number => 'N',
@@ -741,7 +744,7 @@
# InNumberForms
numberforms => 'InNumber',
- ogham => 'Ogham',
+ ogham => 'Ogam',
# OldItalic
olditalic => 'OldItali',
@@ -752,8 +755,8 @@
# InOpticalCharacterRecognition
opticalcharacterrecognition => 'InOptica',
- oriya => 'Oriya',
- osmanya => 'Osmanya',
+ oriya => 'Orya',
+ osmanya => 'Osma',
other => 'C',
# OtherAlphabetic
@@ -807,10 +810,10 @@
quotationmark => 'Quotatio',
radical => 'Radical',
- runic => 'Runic',
+ runic => 'Runr',
separator => 'Z',
- shavian => 'Shavian',
- sinhala => 'Sinhala',
+ shavian => 'Shaw',
+ sinhala => 'Sinh',
# InSmallFormVariants
smallformvariants => 'InSmallF',
@@ -852,9 +855,9 @@
surrogate => 'Cs',
symbol => 'S',
- syriac => 'Syriac',
- tagalog => 'Tagalog',
- tagbanwa => 'Tagbanwa',
+ syriac => 'Syrc',
+ tagalog => 'Tglg',
+ tagbanwa => 'Tagb',
# InTags
tags => 'InTags',
@@ -865,20 +868,20 @@
# InTaiXuanJingSymbols
taixuanjingsymbols => 'InTaiXua',
- tamil => 'Tamil',
- telugu => 'Telugu',
+ tamil => 'Taml',
+ telugu => 'Telu',
# TerminalPunctuation
terminalpunctuation => 'Terminal',
- thaana => 'Thaana',
+ thaana => 'Thaa',
thai => 'Thai',
- tibetan => 'Tibetan',
+ tibetan => 'Tibt',
# TitlecaseLetter
titlecaseletter => 'Lt',
- ugaritic => 'Ugaritic',
+ ugaritic => 'Ugar',
unassigned => 'Cn',
# InUnifiedCanadianAboriginalSyllabics
@@ -904,7 +907,7 @@
# WhiteSpace
whitespace => 'WhiteSpa',
- yi => 'Yi',
+ yi => 'Yiii',
# InYijingHexagramSymbols
yijinghexagramsymbols => 'InYijing',
diff --git a/lib/unicore/CombiningClass.pl b/lib/unicore/CombiningClass.pl
index a1ce7d2e53..bd6fbe82e2 100644
--- a/lib/unicore/CombiningClass.pl
+++ b/lib/unicore/CombiningClass.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
return <<'END';
diff --git a/lib/unicore/Decomposition.pl b/lib/unicore/Decomposition.pl
index 8d8310956e..3fa67e93f2 100644
--- a/lib/unicore/Decomposition.pl
+++ b/lib/unicore/Decomposition.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
return <<'END';
diff --git a/lib/unicore/Exact.pl b/lib/unicore/Exact.pl
index 61ba06a9e7..42312b054c 100644
--- a/lib/unicore/Exact.pl
+++ b/lib/unicore/Exact.pl
@@ -1,12 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
##
## Data in this file used by ../utf8_heavy.pl
##
-## Mapping from name to filename in ./lib
+## Mapping from name to filename in ./lib/gc_sc
%utf8::Exact = (
ASCII => 'ASCII',
All => 'Any',
@@ -14,55 +14,19 @@
Alpha => 'Alpha',
Any => 'Any',
Assigned => 'Assigned',
- BidiAL => 'BidiAL',
- BidiAN => 'BidiAN',
- BidiB => 'BidiB',
- BidiBN => 'BidiBN',
- BidiCS => 'BidiCS',
- BidiEN => 'BidiEN',
- BidiES => 'BidiES',
- BidiET => 'BidiET',
- BidiL => 'BidiL',
- BidiLRE => 'BidiLRE',
- BidiLRO => 'BidiLRO',
- BidiNSM => 'BidiNSM',
- BidiON => 'BidiON',
- BidiPDF => 'BidiPDF',
- BidiR => 'BidiR',
- BidiRLE => 'BidiRLE',
- BidiRLO => 'BidiRLO',
- BidiS => 'BidiS',
- BidiWS => 'BidiWS',
Blank => 'Blank',
C => 'C',
- Canon => 'Canon',
Cc => 'Cc',
Cf => 'Cf',
Cn => 'Cn',
Cntrl => 'Cntrl',
Co => 'Co',
- Compat => 'Compat',
Cs => 'Cs',
- DCcircle => 'DCcircle',
- DCcompat => 'DCcompat',
- DCfinal => 'DCfinal',
- DCfont => 'DCfont',
- DCfraction => 'DCfracti',
- DCinitial => 'DCinitia',
- DCisolated => 'DCisolat',
- DCmedial => 'DCmedial',
- DCnarrow => 'DCnarrow',
- DCnoBreak => 'DCnoBrea',
- DCsmall => 'DCsmall',
- DCsquare => 'DCsquare',
- DCsub => 'DCsub',
- DCsuper => 'DCsuper',
- DCvertical => 'DCvertic',
- DCwide => 'DCwide',
Digit => 'Digit',
Graph => 'Graph',
+ InGreek => 'InGreekA',
L => 'L',
-'L&' => 'L_',
+ LC => 'LC',
Ll => 'Ll',
Lm => 'Lm',
Lo => 'Lo',
@@ -72,7 +36,6 @@
M => 'M',
Mc => 'Mc',
Me => 'Me',
- Mirrored => 'Mirrored',
Mn => 'Mn',
N => 'N',
Nd => 'Nd',
diff --git a/lib/unicore/Name.pl b/lib/unicore/Name.pl
index 947bff5226..838d1777f1 100644
--- a/lib/unicore/Name.pl
+++ b/lib/unicore/Name.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
return <<'END';
diff --git a/lib/unicore/Properties b/lib/unicore/Properties
index 50789dbc73..e931d0bab7 100644
--- a/lib/unicore/Properties
+++ b/lib/unicore/Properties
@@ -1,5 +1,5 @@
##
-## This file created by ./mktables
+## This file created by mktables
## List of built-in \p{...}/\P{...} properties.
##
## '*' means name may be 'fuzzy'
@@ -16,32 +16,12 @@
* \p{AsciiHexDigit} Extended property 'ASCII_Hex_Digit'
\p{Assigned} All assigned code points
* \p{Bengali} Script 'Bengali'
- \p{BidiAL} Bi-directional category 'AL'
- \p{BidiAN} Bi-directional category 'AN'
- \p{BidiBN} Bi-directional category 'BN'
- \p{BidiB} Bi-directional category 'B'
- \p{BidiCS} Bi-directional category 'CS'
* \p{BidiControl} Extended property 'Bidi_Control'
- \p{BidiEN} Bi-directional category 'EN'
- \p{BidiES} Bi-directional category 'ES'
- \p{BidiET} Bi-directional category 'ET'
- \p{BidiLRE} Bi-directional category 'LRE'
- \p{BidiLRO} Bi-directional category 'LRO'
- \p{BidiL} Bi-directional category 'L'
- \p{BidiNSM} Bi-directional category 'NSM'
- \p{BidiON} Bi-directional category 'ON'
- \p{BidiPDF} Bi-directional category 'PDF'
- \p{BidiRLE} Bi-directional category 'RLE'
- \p{BidiRLO} Bi-directional category 'RLO'
- \p{BidiR} Bi-directional category 'R'
- \p{BidiS} Bi-directional category 'S'
- \p{BidiWS} Bi-directional category 'WS'
\p{Blank} [[:Blank:]]
* \p{Bopomofo} Script 'Bopomofo'
* \p{Braille} Script 'Braille'
* \p{Buhid} Script 'Buhid'
* \p{CanadianAboriginal} Script 'Canadian_Aboriginal'
- \p{Canon} Decomposes to multiple characters
* \p{Cc} Alias for \p{Cc} (General Category 'Cc')
\p{Cc} General Category 'Cc'
* \p{Cf} Alias for \p{Cf} (General Category 'Cf')
@@ -51,7 +31,6 @@
* \p{Cn} Alias for \p{Cn} (General Category 'Cn' [not functional in Perl])
\p{Cn} General Category 'Cn' [not functional in Perl]
* \p{Common} Script 'Common'
- \p{Compat} Compatible with a more-basic character
* \p{Co} Alias for \p{Co} (General Category 'Co')
\p{Co} General Category 'Co'
* \p{Cs} Alias for \p{Cs} (General Category 'Cs')
@@ -60,22 +39,6 @@
* \p{Cyrillic} Script 'Cyrillic'
* \p{C} Alias for \p{C} (Major Category 'C')
\p{C} Major Category 'C'
- \p{DCcircle} Compatible with 'circle'
- \p{DCcompat} Compatible with 'compat'
- \p{DCfinal} Compatible with 'final'
- \p{DCfont} Compatible with 'font'
- \p{DCfraction} Compatible with 'fraction'
- \p{DCinitial} Compatible with 'initial'
- \p{DCisolated} Compatible with 'isolated'
- \p{DCmedial} Compatible with 'medial'
- \p{DCnarrow} Compatible with 'narrow'
- \p{DCnoBreak} Compatible with 'noBreak'
- \p{DCsmall} Compatible with 'small'
- \p{DCsquare} Compatible with 'square'
- \p{DCsub} Compatible with 'sub'
- \p{DCsuper} Compatible with 'super'
- \p{DCvertical} Compatible with 'vertical'
- \p{DCwide} Compatible with 'wide'
* \p{Dash} Extended property 'Dash'
* \p{Deprecated} Extended property 'Deprecated'
* \p{Deseret} Script 'Deseret'
@@ -234,7 +197,8 @@
* \p{KatakanaOrHiragana} Script 'Katakana_Or_Hiragana'
* \p{Katakana} Script 'Katakana'
* \p{Khmer} Script 'Khmer'
- \p{L&} [\p{Ll}\p{Lu}\p{Lt}]
+* \p{LC} Alias for \p{LC} ([\p{Ll}\p{Lu}\p{Lt}])
+ \p{LC} [\p{Ll}\p{Lu}\p{Lt}]
* \p{Lao} Script 'Lao'
* \p{Latin} Script 'Latin'
* \p{Limbu} Script 'Limbu'
@@ -260,7 +224,6 @@
\p{Mc} General Category 'Mc'
* \p{Me} Alias for \p{Me} (General Category 'Me')
\p{Me} General Category 'Me'
- \p{Mirrored} Mirrored in bidirectional text
* \p{Mn} Alias for \p{Mn} (General Category 'Mn')
\p{Mn} General Category 'Mn'
* \p{Mongolian} Script 'Mongolian'
diff --git a/lib/unicore/To/Digit.pl b/lib/unicore/To/Digit.pl
index 05c62c6360..da469307a3 100644
--- a/lib/unicore/To/Digit.pl
+++ b/lib/unicore/To/Digit.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
return <<'END';
diff --git a/lib/unicore/To/Fold.pl b/lib/unicore/To/Fold.pl
index 33c5d466be..8853d2720a 100644
--- a/lib/unicore/To/Fold.pl
+++ b/lib/unicore/To/Fold.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
diff --git a/lib/unicore/To/Lower.pl b/lib/unicore/To/Lower.pl
index 7e5adfeede..d0e548f381 100644
--- a/lib/unicore/To/Lower.pl
+++ b/lib/unicore/To/Lower.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
diff --git a/lib/unicore/To/Title.pl b/lib/unicore/To/Title.pl
index 2223f7bafc..09cabe83d4 100644
--- a/lib/unicore/To/Title.pl
+++ b/lib/unicore/To/Title.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
diff --git a/lib/unicore/To/Upper.pl b/lib/unicore/To/Upper.pl
index 6c8fd30577..7a4e7e1e9d 100644
--- a/lib/unicore/To/Upper.pl
+++ b/lib/unicore/To/Upper.pl
@@ -1,5 +1,5 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is built by ./mktables from e.g. UnicodeData.txt.
+# This file is built by mktables from e.g. UnicodeData.txt.
# Any changes made here will be lost!
diff --git a/lib/unicore/lib/bc/AL.pl b/lib/unicore/lib/bc/AL.pl
new file mode 100644
index 0000000000..e9ecc08af9
--- /dev/null
+++ b/lib/unicore/lib/bc/AL.pl
@@ -0,0 +1,33 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Arabic_Letter'
+#
+return <<'END';
+0600 0603
+060D
+061B
+061F
+0621 063A
+0640 064A
+066D 066F
+0671 06D5
+06DD
+06E5 06E6
+06EE 06EF
+06FA 070D
+0710
+0712 072F
+074D 074F
+0780 07A5
+07B1
+FB50 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE70 FE74
+FE76 FEFC
+END
diff --git a/lib/unicore/lib/bc/AN.pl b/lib/unicore/lib/bc/AN.pl
new file mode 100644
index 0000000000..018e6977a8
--- /dev/null
+++ b/lib/unicore/lib/bc/AN.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Arabic_Number'
+#
+return <<'END';
+0660 0669
+066B 066C
+END
diff --git a/lib/unicore/lib/bc/B.pl b/lib/unicore/lib/bc/B.pl
new file mode 100644
index 0000000000..d6402e620c
--- /dev/null
+++ b/lib/unicore/lib/bc/B.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Paragraph_Separator'
+#
+return <<'END';
+000A
+000D
+001C 001E
+0085
+2029
+END
diff --git a/lib/unicore/lib/bc/BN.pl b/lib/unicore/lib/bc/BN.pl
new file mode 100644
index 0000000000..3e87d4e6dd
--- /dev/null
+++ b/lib/unicore/lib/bc/BN.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Boundary_Neutral'
+#
+return <<'END';
+0000 0008
+000E 001B
+007F 0084
+0086 009F
+00AD
+070F
+200B 200D
+2060 2063
+206A 206F
+FEFF
+1D173 1D17A
+E0001
+E0020 E007F
+END
diff --git a/lib/unicore/lib/bc/CS.pl b/lib/unicore/lib/bc/CS.pl
new file mode 100644
index 0000000000..fbe82e5cba
--- /dev/null
+++ b/lib/unicore/lib/bc/CS.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Common_Separator'
+#
+return <<'END';
+002C
+002E 002F
+003A
+00A0
+060C
+2044
+FE50
+FE52
+FE55
+FF0C
+FF0E
+FF1A
+END
diff --git a/lib/unicore/lib/bc/EN.pl b/lib/unicore/lib/bc/EN.pl
new file mode 100644
index 0000000000..a0186d50cd
--- /dev/null
+++ b/lib/unicore/lib/bc/EN.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'European_Number'
+#
+return <<'END';
+0030 0039
+00B2 00B3
+00B9
+06F0 06F9
+2070
+2074 2079
+2080 2089
+2488 249B
+FF10 FF19
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/bc/ES.pl b/lib/unicore/lib/bc/ES.pl
new file mode 100644
index 0000000000..59d359a2fe
--- /dev/null
+++ b/lib/unicore/lib/bc/ES.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'European_Separator'
+#
+return <<'END';
+002B
+002D
+FF0F
+END
diff --git a/lib/unicore/lib/bc/ET.pl b/lib/unicore/lib/bc/ET.pl
new file mode 100644
index 0000000000..6609dfb375
--- /dev/null
+++ b/lib/unicore/lib/bc/ET.pl
@@ -0,0 +1,33 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'European_Terminator'
+#
+return <<'END';
+0023 0025
+00A2 00A5
+00B0 00B1
+066A
+09F2 09F3
+0AF1
+0BF9
+0E3F
+17DB
+2030 2034
+207A 207B
+208A 208B
+20A0 20B1
+212E
+2212 2213
+FB29
+FE5F
+FE62 FE63
+FE69 FE6A
+FF03 FF05
+FF0B
+FF0D
+FFE0 FFE1
+FFE5 FFE6
+END
diff --git a/lib/unicore/lib/bc/L.pl b/lib/unicore/lib/bc/L.pl
new file mode 100644
index 0000000000..d878464616
--- /dev/null
+++ b/lib/unicore/lib/bc/L.pl
@@ -0,0 +1,380 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Left_To_Right'
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02B8
+02BB 02C1
+02D0 02D1
+02E0 02E4
+02EE
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0482
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589
+0903 0939
+093D 0940
+0949 094C
+0950
+0958 0961
+0964 0970
+0982 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD 09C0
+09C7 09C8
+09CB 09CC
+09D7
+09DC 09DD
+09DF 09E1
+09E6 09F1
+09F4 09FA
+0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A40
+0A59 0A5C
+0A5E
+0A66 0A6F
+0A72 0A74
+0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD 0AC0
+0AC9
+0ACB 0ACC
+0AD0
+0AE0 0AE1
+0AE6 0AEF
+0B02 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D 0B3E
+0B40
+0B47 0B48
+0B4B 0B4C
+0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BBF
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
+0BD7
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C41 0C44
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD 0CC4
+0CC6 0CC8
+0CCA 0CCB
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D40
+0D46 0D48
+0D4A 0D4C
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCF 0DD1
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E4F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EBD
+0EC0 0EC4
+0EC6
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F17
+0F1A 0F34
+0F36
+0F38
+0F3E 0F47
+0F49 0F6A
+0F7F
+0F85
+0F88 0F8B
+0FBE 0FC5
+0FC7 0FCC
+0FCF
+1000 1021
+1023 1027
+1029 102A
+102C
+1031
+1038
+1040 1057
+10A0 10C5
+10D0 10F8
+10FB
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1681 169A
+16A0 16F0
+1700 170C
+170E 1711
+1720 1731
+1735 1736
+1740 1751
+1760 176C
+176E 1770
+1780 17B6
+17BE 17C5
+17C7 17C8
+17D4 17DA
+17DC
+17E0 17E9
+1810 1819
+1820 1877
+1880 18A8
+1900 191C
+1923 1926
+1930 1931
+1933 1938
+1946 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+200E
+2071
+207F
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+2160 2183
+2336 237A
+2395
+249C 24E9
+2800 28FF
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321C
+3220 3243
+3260 327B
+327F 32B0
+32C0 32CB
+32D0 32FE
+3300 3376
+337B 33DD
+33E0 33FE
+A000 A48C
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100
+10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F
+10400 1049D
+104A0 104A9
+1D000 1D0F5
+1D100 1D126
+1D12A 1D166
+1D16A 1D172
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/bc/LRE.pl b/lib/unicore/lib/bc/LRE.pl
new file mode 100644
index 0000000000..22129c44f2
--- /dev/null
+++ b/lib/unicore/lib/bc/LRE.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Left_To_Right_Embedding'
+#
+return <<'END';
+202A
+END
diff --git a/lib/unicore/lib/bc/LRO.pl b/lib/unicore/lib/bc/LRO.pl
new file mode 100644
index 0000000000..10790d181d
--- /dev/null
+++ b/lib/unicore/lib/bc/LRO.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Left_To_Right_Override'
+#
+return <<'END';
+202D
+END
diff --git a/lib/unicore/lib/bc/NSM.pl b/lib/unicore/lib/bc/NSM.pl
new file mode 100644
index 0000000000..023826bd7c
--- /dev/null
+++ b/lib/unicore/lib/bc/NSM.pl
@@ -0,0 +1,119 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Nonspacing_Mark'
+#
+return <<'END';
+0300 0357
+035D 036F
+0483 0486
+0488 0489
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+0610 0615
+064B 0658
+0670
+06D6 06DC
+06DE 06E4
+06E7 06E8
+06EA 06ED
+0711
+0730 074A
+07A6 07B0
+0901 0902
+093C
+0941 0948
+094D
+0951 0954
+0962 0963
+0981
+09BC
+09C1 09C4
+09CD
+09E2 09E3
+0A01 0A02
+0A3C
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
+0A70 0A71
+0A81 0A82
+0ABC
+0AC1 0AC5
+0AC7 0AC8
+0ACD
+0AE2 0AE3
+0B01
+0B3C
+0B3F
+0B41 0B43
+0B4D
+0B56
+0B82
+0BC0
+0BCD
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0CBC
+0CCC 0CCD
+0D41 0D43
+0D4D
+0DCA
+0DD2 0DD4
+0DD6
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
+0F35
+0F37
+0F39
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F90 0F97
+0F99 0FBC
+0FC6
+102D 1030
+1032
+1036 1037
+1039
+1058 1059
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
+17C6
+17C9 17D3
+17DD
+180B 180D
+18A9
+1920 1922
+1927 192B
+1932
+1939 193B
+20D0 20EA
+302A 302F
+3099 309A
+FB1E
+FE00 FE0F
+FE20 FE23
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/bc/ON.pl b/lib/unicore/lib/bc/ON.pl
new file mode 100644
index 0000000000..11186255f7
--- /dev/null
+++ b/lib/unicore/lib/bc/ON.pl
@@ -0,0 +1,138 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Other_Neutral'
+#
+return <<'END';
+0021 0022
+0026 002A
+003B 0040
+005B 0060
+007B 007E
+00A1
+00A6 00A9
+00AB 00AC
+00AE 00AF
+00B4
+00B6 00B8
+00BB 00BF
+00D7
+00F7
+02B9 02BA
+02C2 02CF
+02D2 02DF
+02E5 02ED
+02EF 02FF
+0374 0375
+037E
+0384 0385
+0387
+03F6
+058A
+060E 060F
+06E9
+0BF3 0BF8
+0BFA
+0F3A 0F3D
+169B 169C
+17F0 17F9
+1800 180A
+1940
+1944 1945
+19E0 19FF
+1FBD
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+2010 2027
+2035 2043
+2045 2054
+2057
+207C 207E
+208C 208E
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2118
+211E 2123
+2125
+2127
+2129
+2132
+213A 213B
+2140 2144
+214A 214B
+2153 215F
+2190 2211
+2214 2335
+237B 2394
+2396 23D0
+2400 2426
+2440 244A
+2460 2487
+24EA 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 27FF
+2900 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 3004
+3008 3020
+3030
+3036 3037
+303D 303F
+309B 309C
+30A0
+30FB
+321D 321E
+3250 325F
+327C 327D
+32B1 32BF
+32CC 32CF
+3377 337A
+33DE 33DF
+33FF
+4DC0 4DFF
+A490 A4C6
+FD3E FD3F
+FDFD
+FE30 FE4F
+FE51
+FE54
+FE56 FE5E
+FE60 FE61
+FE64 FE66
+FE68
+FE6B
+FF01 FF02
+FF06 FF0A
+FF1B FF20
+FF3B FF40
+FF5B FF65
+FFE2 FFE4
+FFE8 FFEE
+FFF9 FFFD
+10101
+1D300 1D356
+END
diff --git a/lib/unicore/lib/bc/PDF.pl b/lib/unicore/lib/bc/PDF.pl
new file mode 100644
index 0000000000..6cbfb1f8d1
--- /dev/null
+++ b/lib/unicore/lib/bc/PDF.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Pop_Directional_Format'
+#
+return <<'END';
+202C
+END
diff --git a/lib/unicore/lib/bc/R.pl b/lib/unicore/lib/bc/R.pl
new file mode 100644
index 0000000000..6206dfca1a
--- /dev/null
+++ b/lib/unicore/lib/bc/R.pl
@@ -0,0 +1,29 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Right_To_Left'
+#
+return <<'END';
+05BE
+05C0
+05C3
+05D0 05EA
+05F0 05F4
+200F
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FB4F
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+END
diff --git a/lib/unicore/lib/bc/RLE.pl b/lib/unicore/lib/bc/RLE.pl
new file mode 100644
index 0000000000..851f1fd351
--- /dev/null
+++ b/lib/unicore/lib/bc/RLE.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Right_To_Left_Embedding'
+#
+return <<'END';
+202B
+END
diff --git a/lib/unicore/lib/bc/RLO.pl b/lib/unicore/lib/bc/RLO.pl
new file mode 100644
index 0000000000..565941526f
--- /dev/null
+++ b/lib/unicore/lib/bc/RLO.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Right_To_Left_Override'
+#
+return <<'END';
+202E
+END
diff --git a/lib/unicore/lib/bc/S.pl b/lib/unicore/lib/bc/S.pl
new file mode 100644
index 0000000000..ac494648f0
--- /dev/null
+++ b/lib/unicore/lib/bc/S.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'Segment_Separator'
+#
+return <<'END';
+0009
+000B
+001F
+END
diff --git a/lib/unicore/lib/bc/WS.pl b/lib/unicore/lib/bc/WS.pl
new file mode 100644
index 0000000000..3ae25c9ff8
--- /dev/null
+++ b/lib/unicore/lib/bc/WS.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# BidiClass category 'White_Space'
+#
+return <<'END';
+000C
+0020
+1680
+180E
+2000 200A
+2028
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/ccc/A.pl b/lib/unicore/lib/ccc/A.pl
new file mode 100644
index 0000000000..0a094e6030
--- /dev/null
+++ b/lib/unicore/lib/ccc/A.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Above'
+#
+return <<'END';
+00E6
+END
diff --git a/lib/unicore/lib/ccc/AL.pl b/lib/unicore/lib/ccc/AL.pl
new file mode 100644
index 0000000000..9d820799c9
--- /dev/null
+++ b/lib/unicore/lib/ccc/AL.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Above_Left'
+#
+return <<'END';
+00E4
+END
diff --git a/lib/unicore/lib/ccc/AR.pl b/lib/unicore/lib/ccc/AR.pl
new file mode 100644
index 0000000000..c0f80d057b
--- /dev/null
+++ b/lib/unicore/lib/ccc/AR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Above_Right'
+#
+return <<'END';
+00E8
+END
diff --git a/lib/unicore/lib/ccc/ATAR.pl b/lib/unicore/lib/ccc/ATAR.pl
new file mode 100644
index 0000000000..e5af6df6d8
--- /dev/null
+++ b/lib/unicore/lib/ccc/ATAR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Attached_Above_Right'
+#
+return <<'END';
+00D8
+END
diff --git a/lib/unicore/lib/ccc/ATB.pl b/lib/unicore/lib/ccc/ATB.pl
new file mode 100644
index 0000000000..186ef05559
--- /dev/null
+++ b/lib/unicore/lib/ccc/ATB.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Attached_Below'
+#
+return <<'END';
+00CA
+END
diff --git a/lib/unicore/lib/ccc/ATBL.pl b/lib/unicore/lib/ccc/ATBL.pl
new file mode 100644
index 0000000000..c67cd44164
--- /dev/null
+++ b/lib/unicore/lib/ccc/ATBL.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Attached_Below_Left'
+#
+return <<'END';
+00C8
+END
diff --git a/lib/unicore/lib/ccc/B.pl b/lib/unicore/lib/ccc/B.pl
new file mode 100644
index 0000000000..33ed0f6c82
--- /dev/null
+++ b/lib/unicore/lib/ccc/B.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Below'
+#
+return <<'END';
+00DC
+END
diff --git a/lib/unicore/lib/ccc/BL.pl b/lib/unicore/lib/ccc/BL.pl
new file mode 100644
index 0000000000..6f3377bbdf
--- /dev/null
+++ b/lib/unicore/lib/ccc/BL.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Below_Left'
+#
+return <<'END';
+00DA
+END
diff --git a/lib/unicore/lib/ccc/BR.pl b/lib/unicore/lib/ccc/BR.pl
new file mode 100644
index 0000000000..c836d18450
--- /dev/null
+++ b/lib/unicore/lib/ccc/BR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Below_Right'
+#
+return <<'END';
+00DE
+END
diff --git a/lib/unicore/lib/ccc/DA.pl b/lib/unicore/lib/ccc/DA.pl
new file mode 100644
index 0000000000..8fd33b2e57
--- /dev/null
+++ b/lib/unicore/lib/ccc/DA.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Double_Above'
+#
+return <<'END';
+00EA
+END
diff --git a/lib/unicore/lib/ccc/DB.pl b/lib/unicore/lib/ccc/DB.pl
new file mode 100644
index 0000000000..a151b8bf94
--- /dev/null
+++ b/lib/unicore/lib/ccc/DB.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Double_Below'
+#
+return <<'END';
+00E9
+END
diff --git a/lib/unicore/lib/ccc/IS.pl b/lib/unicore/lib/ccc/IS.pl
new file mode 100644
index 0000000000..5d0573a5ee
--- /dev/null
+++ b/lib/unicore/lib/ccc/IS.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Iota_Subscript'
+#
+return <<'END';
+00F0
+END
diff --git a/lib/unicore/lib/ccc/KV.pl b/lib/unicore/lib/ccc/KV.pl
new file mode 100644
index 0000000000..b3a98646ca
--- /dev/null
+++ b/lib/unicore/lib/ccc/KV.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Kana_Voicing'
+#
+return <<'END';
+0008
+END
diff --git a/lib/unicore/lib/ccc/L.pl b/lib/unicore/lib/ccc/L.pl
new file mode 100644
index 0000000000..587a1c4d9c
--- /dev/null
+++ b/lib/unicore/lib/ccc/L.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Left'
+#
+return <<'END';
+00E0
+END
diff --git a/lib/unicore/lib/ccc/NK.pl b/lib/unicore/lib/ccc/NK.pl
new file mode 100644
index 0000000000..ff831830fe
--- /dev/null
+++ b/lib/unicore/lib/ccc/NK.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Nukta'
+#
+return <<'END';
+0007
+END
diff --git a/lib/unicore/lib/ccc/NR.pl b/lib/unicore/lib/ccc/NR.pl
new file mode 100644
index 0000000000..d6bf557495
--- /dev/null
+++ b/lib/unicore/lib/ccc/NR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Not_Reordered'
+#
+return <<'END';
+0000
+END
diff --git a/lib/unicore/lib/ccc/OV.pl b/lib/unicore/lib/ccc/OV.pl
new file mode 100644
index 0000000000..1ebefafb28
--- /dev/null
+++ b/lib/unicore/lib/ccc/OV.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Overlay'
+#
+return <<'END';
+0001
+END
diff --git a/lib/unicore/lib/ccc/R.pl b/lib/unicore/lib/ccc/R.pl
new file mode 100644
index 0000000000..4046b71875
--- /dev/null
+++ b/lib/unicore/lib/ccc/R.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Right'
+#
+return <<'END';
+00E2
+END
diff --git a/lib/unicore/lib/ccc/VR.pl b/lib/unicore/lib/ccc/VR.pl
new file mode 100644
index 0000000000..482ff12879
--- /dev/null
+++ b/lib/unicore/lib/ccc/VR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# CombiningClass category 'Virama'
+#
+return <<'END';
+0009
+END
diff --git a/lib/unicore/lib/dt/can.pl b/lib/unicore/lib/dt/can.pl
new file mode 100644
index 0000000000..33b3906be4
--- /dev/null
+++ b/lib/unicore/lib/dt/can.pl
@@ -0,0 +1,221 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Canonical'
+#
+return <<'END';
+00C0 00C5
+00C7 00CF
+00D1 00D6
+00D9 00DD
+00E0 00E5
+00E7 00EF
+00F1 00F6
+00F9 00FD
+00FF 010F
+0112 0125
+0128 0130
+0134 0137
+0139 013E
+0143 0148
+014C 0151
+0154 0165
+0168 017E
+01A0 01A1
+01AF 01B0
+01CD 01DC
+01DE 01E3
+01E6 01F0
+01F4 01F5
+01F8 021B
+021E 021F
+0226 0233
+0340 0341
+0343 0344
+0374
+037E
+0385 038A
+038C
+038E 0390
+03AA 03B0
+03CA 03CE
+03D3 03D4
+0400 0401
+0403
+0407
+040C 040E
+0419
+0439
+0450 0451
+0453
+0457
+045C 045E
+0476 0477
+04C1 04C2
+04D0 04D3
+04D6 04D7
+04DA 04DF
+04E2 04E7
+04EA 04F5
+04F8 04F9
+0622 0626
+06C0
+06C2
+06D3
+0929
+0931
+0934
+0958 095F
+09CB 09CC
+09DC 09DD
+09DF
+0A33
+0A36
+0A59 0A5B
+0A5E
+0B48
+0B4B 0B4C
+0B5C 0B5D
+0B94
+0BCA 0BCC
+0C48
+0CC0
+0CC7 0CC8
+0CCA 0CCB
+0D4A 0D4C
+0DDA
+0DDC 0DDE
+0F43
+0F4D
+0F52
+0F57
+0F5C
+0F69
+0F73
+0F75 0F76
+0F78
+0F81
+0F93
+0F9D
+0FA2
+0FA7
+0FAC
+0FB9
+1026
+1E00 1E99
+1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC1 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFD
+2000 2001
+2126
+212A 212B
+219A 219B
+21AE
+21CD 21CF
+2204
+2209
+220C
+2224
+2226
+2241
+2244
+2247
+2249
+2260
+2262
+226D 2271
+2274 2275
+2278 2279
+2280 2281
+2284 2285
+2288 2289
+22AC 22AF
+22E0 22E3
+22EA 22ED
+2329 232A
+2ADC
+304C
+304E
+3050
+3052
+3054
+3056
+3058
+305A
+305C
+305E
+3060
+3062
+3065
+3067
+3069
+3070 3071
+3073 3074
+3076 3077
+3079 307A
+307C 307D
+3094
+309E
+30AC
+30AE
+30B0
+30B2
+30B4
+30B6
+30B8
+30BA
+30BC
+30BE
+30C0
+30C2
+30C5
+30C7
+30C9
+30D0 30D1
+30D3 30D4
+30D6 30D7
+30D9 30DA
+30DC 30DD
+30F4
+30F7 30FA
+30FE
+F900 FA0D
+FA10
+FA12
+FA15 FA1E
+FA20
+FA22
+FA25 FA26
+FA2A FA2D
+FA30 FA6A
+FB1D
+FB1F
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FB4E
+1D15E 1D164
+1D1BB 1D1C0
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/dt/com.pl b/lib/unicore/lib/dt/com.pl
new file mode 100644
index 0000000000..412f42009c
--- /dev/null
+++ b/lib/unicore/lib/dt/com.pl
@@ -0,0 +1,815 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Compat'
+#
+return <<'END';
+00A0
+00A8
+00A8
+00AA
+00AF
+00AF
+00B2 00B4
+00B4 00B5
+00B5
+00B8
+00B8 00BA
+00BC 00BE
+0132
+0132 0133
+0133
+013F
+013F 0140
+0140
+0149
+0149
+017F
+017F
+01C4
+01C4 01C5
+01C5 01C6
+01C6 01C7
+01C7 01C8
+01C8 01C9
+01C9 01CA
+01CA 01CB
+01CB 01CC
+01CC
+01F1
+01F1 01F2
+01F2 01F3
+01F3
+02B0 02B8
+02D8
+02D8 02D9
+02D9 02DA
+02DA 02DB
+02DB 02DC
+02DC 02DD
+02DD
+02E0 02E4
+037A
+037A
+0384
+0384
+03D0
+03D0 03D1
+03D1 03D2
+03D2
+03D5
+03D5 03D6
+03D6
+03F0
+03F0 03F1
+03F1 03F2
+03F2
+03F4
+03F4 03F5
+03F5
+03F9
+03F9
+0587
+0587
+0675
+0675 0676
+0676 0677
+0677 0678
+0678
+0E33
+0E33
+0EB3
+0EB3
+0EDC
+0EDC 0EDD
+0EDD
+0F0C
+0F77
+0F77
+0F79
+0F79
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D6A
+1E9A
+1E9A
+1FBD
+1FBD
+1FBF
+1FBF 1FC0
+1FC0
+1FFE
+1FFE
+2002
+2002 2003
+2003 2004
+2004 2005
+2005 2006
+2006 2008
+2008 2009
+2009 200A
+200A
+2011
+2017
+2017
+2024
+2024 2025
+2025 2026
+2026
+202F
+2033
+2033 2034
+2034
+2036
+2036 2037
+2037
+203C
+203C
+203E
+203E
+2047
+2047 2048
+2048 2049
+2049
+2057
+2057
+205F
+205F
+2070 2071
+2074 208E
+20A8
+20A8
+2100
+2100 2101
+2101 2103
+2103
+2105
+2105 2106
+2106 2107
+2107
+2109
+2109 2113
+2115 2116
+2116
+2119 211D
+2120 2121
+2121 2122
+2124
+2128
+212C 212D
+212F 2131
+2133 2135
+2135 2136
+2136 2137
+2137 2138
+2138 2139
+213B
+213B
+213D 2140
+2145 2149
+2153 2160
+2160 2161
+2161 2162
+2162 2163
+2163 2164
+2164 2165
+2165 2166
+2166 2167
+2167 2168
+2168 2169
+2169 216A
+216A 216B
+216B 216C
+216C 216D
+216D 216E
+216E 216F
+216F 2170
+2170 2171
+2171 2172
+2172 2173
+2173 2174
+2174 2175
+2175 2176
+2176 2177
+2177 2178
+2178 2179
+2179 217A
+217A 217B
+217B 217C
+217C 217D
+217D 217E
+217E 217F
+217F
+222C
+222C 222D
+222D
+222F
+222F 2230
+2230
+2460 2474
+2474 2475
+2475 2476
+2476 2477
+2477 2478
+2478 2479
+2479 247A
+247A 247B
+247B 247C
+247C 247D
+247D 247E
+247E 247F
+247F 2480
+2480 2481
+2481 2482
+2482 2483
+2483 2484
+2484 2485
+2485 2486
+2486 2487
+2487 2488
+2488 2489
+2489 248A
+248A 248B
+248B 248C
+248C 248D
+248D 248E
+248E 248F
+248F 2490
+2490 2491
+2491 2492
+2492 2493
+2493 2494
+2494 2495
+2495 2496
+2496 2497
+2497 2498
+2498 2499
+2499 249A
+249A 249B
+249B 249C
+249C 249D
+249D 249E
+249E 249F
+249F 24A0
+24A0 24A1
+24A1 24A2
+24A2 24A3
+24A3 24A4
+24A4 24A5
+24A5 24A6
+24A6 24A7
+24A7 24A8
+24A8 24A9
+24A9 24AA
+24AA 24AB
+24AB 24AC
+24AC 24AD
+24AD 24AE
+24AE 24AF
+24AF 24B0
+24B0 24B1
+24B1 24B2
+24B2 24B3
+24B3 24B4
+24B4 24B5
+24B5 24EA
+2A0C
+2A0C
+2A74
+2A74 2A75
+2A75 2A76
+2A76
+2E9F
+2E9F
+2EF3
+2EF3
+2F00
+2F00 2F01
+2F01 2F02
+2F02 2F03
+2F03 2F04
+2F04 2F05
+2F05 2F06
+2F06 2F07
+2F07 2F08
+2F08 2F09
+2F09 2F0A
+2F0A 2F0B
+2F0B 2F0C
+2F0C 2F0D
+2F0D 2F0E
+2F0E 2F0F
+2F0F 2F10
+2F10 2F11
+2F11 2F12
+2F12 2F13
+2F13 2F14
+2F14 2F15
+2F15 2F16
+2F16 2F17
+2F17 2F18
+2F18 2F19
+2F19 2F1A
+2F1A 2F1B
+2F1B 2F1C
+2F1C 2F1D
+2F1D 2F1E
+2F1E 2F1F
+2F1F 2F20
+2F20 2F21
+2F21 2F22
+2F22 2F23
+2F23 2F24
+2F24 2F25
+2F25 2F26
+2F26 2F27
+2F27 2F28
+2F28 2F29
+2F29 2F2A
+2F2A 2F2B
+2F2B 2F2C
+2F2C 2F2D
+2F2D 2F2E
+2F2E 2F2F
+2F2F 2F30
+2F30 2F31
+2F31 2F32
+2F32 2F33
+2F33 2F34
+2F34 2F35
+2F35 2F36
+2F36 2F37
+2F37 2F38
+2F38 2F39
+2F39 2F3A
+2F3A 2F3B
+2F3B 2F3C
+2F3C 2F3D
+2F3D 2F3E
+2F3E 2F3F
+2F3F 2F40
+2F40 2F41
+2F41 2F42
+2F42 2F43
+2F43 2F44
+2F44 2F45
+2F45 2F46
+2F46 2F47
+2F47 2F48
+2F48 2F49
+2F49 2F4A
+2F4A 2F4B
+2F4B 2F4C
+2F4C 2F4D
+2F4D 2F4E
+2F4E 2F4F
+2F4F 2F50
+2F50 2F51
+2F51 2F52
+2F52 2F53
+2F53 2F54
+2F54 2F55
+2F55 2F56
+2F56 2F57
+2F57 2F58
+2F58 2F59
+2F59 2F5A
+2F5A 2F5B
+2F5B 2F5C
+2F5C 2F5D
+2F5D 2F5E
+2F5E 2F5F
+2F5F 2F60
+2F60 2F61
+2F61 2F62
+2F62 2F63
+2F63 2F64
+2F64 2F65
+2F65 2F66
+2F66 2F67
+2F67 2F68
+2F68 2F69
+2F69 2F6A
+2F6A 2F6B
+2F6B 2F6C
+2F6C 2F6D
+2F6D 2F6E
+2F6E 2F6F
+2F6F 2F70
+2F70 2F71
+2F71 2F72
+2F72 2F73
+2F73 2F74
+2F74 2F75
+2F75 2F76
+2F76 2F77
+2F77 2F78
+2F78 2F79
+2F79 2F7A
+2F7A 2F7B
+2F7B 2F7C
+2F7C 2F7D
+2F7D 2F7E
+2F7E 2F7F
+2F7F 2F80
+2F80 2F81
+2F81 2F82
+2F82 2F83
+2F83 2F84
+2F84 2F85
+2F85 2F86
+2F86 2F87
+2F87 2F88
+2F88 2F89
+2F89 2F8A
+2F8A 2F8B
+2F8B 2F8C
+2F8C 2F8D
+2F8D 2F8E
+2F8E 2F8F
+2F8F 2F90
+2F90 2F91
+2F91 2F92
+2F92 2F93
+2F93 2F94
+2F94 2F95
+2F95 2F96
+2F96 2F97
+2F97 2F98
+2F98 2F99
+2F99 2F9A
+2F9A 2F9B
+2F9B 2F9C
+2F9C 2F9D
+2F9D 2F9E
+2F9E 2F9F
+2F9F 2FA0
+2FA0 2FA1
+2FA1 2FA2
+2FA2 2FA3
+2FA3 2FA4
+2FA4 2FA5
+2FA5 2FA6
+2FA6 2FA7
+2FA7 2FA8
+2FA8 2FA9
+2FA9 2FAA
+2FAA 2FAB
+2FAB 2FAC
+2FAC 2FAD
+2FAD 2FAE
+2FAE 2FAF
+2FAF 2FB0
+2FB0 2FB1
+2FB1 2FB2
+2FB2 2FB3
+2FB3 2FB4
+2FB4 2FB5
+2FB5 2FB6
+2FB6 2FB7
+2FB7 2FB8
+2FB8 2FB9
+2FB9 2FBA
+2FBA 2FBB
+2FBB 2FBC
+2FBC 2FBD
+2FBD 2FBE
+2FBE 2FBF
+2FBF 2FC0
+2FC0 2FC1
+2FC1 2FC2
+2FC2 2FC3
+2FC3 2FC4
+2FC4 2FC5
+2FC5 2FC6
+2FC6 2FC7
+2FC7 2FC8
+2FC8 2FC9
+2FC9 2FCA
+2FCA 2FCB
+2FCB 2FCC
+2FCC 2FCD
+2FCD 2FCE
+2FCE 2FCF
+2FCF 2FD0
+2FD0 2FD1
+2FD1 2FD2
+2FD2 2FD3
+2FD3 2FD4
+2FD4 2FD5
+2FD5
+3000
+3036
+3036
+3038
+3038 3039
+3039 303A
+303A
+309B
+309B 309C
+309C
+309F
+30FF
+3131
+3131 3132
+3132 3133
+3133 3134
+3134 3135
+3135 3136
+3136 3137
+3137 3138
+3138 3139
+3139 313A
+313A 313B
+313B 313C
+313C 313D
+313D 313E
+313E 313F
+313F 3140
+3140 3141
+3141 3142
+3142 3143
+3143 3144
+3144 3145
+3145 3146
+3146 3147
+3147 3148
+3148 3149
+3149 314A
+314A 314B
+314B 314C
+314C 314D
+314D 314E
+314E 314F
+314F 3150
+3150 3151
+3151 3152
+3152 3153
+3153 3154
+3154 3155
+3155 3156
+3156 3157
+3157 3158
+3158 3159
+3159 315A
+315A 315B
+315B 315C
+315C 315D
+315D 315E
+315E 315F
+315F 3160
+3160 3161
+3161 3162
+3162 3163
+3163 3164
+3164 3165
+3165 3166
+3166 3167
+3167 3168
+3168 3169
+3169 316A
+316A 316B
+316B 316C
+316C 316D
+316D 316E
+316E 316F
+316F 3170
+3170 3171
+3171 3172
+3172 3173
+3173 3174
+3174 3175
+3175 3176
+3176 3177
+3177 3178
+3178 3179
+3179 317A
+317A 317B
+317B 317C
+317C 317D
+317D 317E
+317E 317F
+317F 3180
+3180 3181
+3181 3182
+3182 3183
+3183 3184
+3184 3185
+3185 3186
+3186 3187
+3187 3188
+3188 3189
+3189 318A
+318A 318B
+318B 318C
+318C 318D
+318D 318E
+318E
+3192 319F
+3200
+3200 3201
+3201 3202
+3202 3203
+3203 3204
+3204 3205
+3205 3206
+3206 3207
+3207 3208
+3208 3209
+3209 320A
+320A 320B
+320B 320C
+320C 320D
+320D 320E
+320E 320F
+320F 3210
+3210 3211
+3211 3212
+3212 3213
+3213 3214
+3214 3215
+3215 3216
+3216 3217
+3217 3218
+3218 3219
+3219 321A
+321A 321B
+321B 321C
+321C 321D
+321D 321E
+321E
+3220
+3220 3221
+3221 3222
+3222 3223
+3223 3224
+3224 3225
+3225 3226
+3226 3227
+3227 3228
+3228 3229
+3229 322A
+322A 322B
+322B 322C
+322C 322D
+322D 322E
+322E 322F
+322F 3230
+3230 3231
+3231 3232
+3232 3233
+3233 3234
+3234 3235
+3235 3236
+3236 3237
+3237 3238
+3238 3239
+3239 323A
+323A 323B
+323B 323C
+323C 323D
+323D 323E
+323E 323F
+323F 3240
+3240 3241
+3241 3242
+3242 3243
+3243
+3250 327D
+3280 32C0
+32C0 32C1
+32C1 32C2
+32C2 32C3
+32C3 32C4
+32C4 32C5
+32C5 32C6
+32C6 32C7
+32C7 32C8
+32C8 32C9
+32C9 32CA
+32CA 32CB
+32CB 32FE
+3300 3358
+3358 3359
+3359 335A
+335A 335B
+335B 335C
+335C 335D
+335D 335E
+335E 335F
+335F 3360
+3360 3361
+3361 3362
+3362 3363
+3363 3364
+3364 3365
+3365 3366
+3366 3367
+3367 3368
+3368 3369
+3369 336A
+336A 336B
+336B 336C
+336C 336D
+336D 336E
+336E 336F
+336F 3370
+3370 33E0
+33E0 33E1
+33E1 33E2
+33E2 33E3
+33E3 33E4
+33E4 33E5
+33E5 33E6
+33E6 33E7
+33E7 33E8
+33E8 33E9
+33E9 33EA
+33EA 33EB
+33EB 33EC
+33EC 33ED
+33ED 33EE
+33EE 33EF
+33EF 33F0
+33F0 33F1
+33F1 33F2
+33F2 33F3
+33F3 33F4
+33F4 33F5
+33F5 33F6
+33F6 33F7
+33F7 33F8
+33F8 33F9
+33F9 33FA
+33FA 33FB
+33FB 33FC
+33FC 33FD
+33FD 33FE
+33FE 33FF
+FB00
+FB00 FB01
+FB01 FB02
+FB02 FB03
+FB03 FB04
+FB04 FB05
+FB05 FB06
+FB06
+FB13
+FB13 FB14
+FB14 FB15
+FB15 FB16
+FB16 FB17
+FB17
+FB20 FB29
+FB4F
+FB4F FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFC
+FE30 FE44
+FE47 FE49
+FE49 FE4A
+FE4A FE4B
+FE4B FE4C
+FE4C FE4D
+FE4D FE4E
+FE4E FE4F
+FE4F FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE72
+FE74
+FE76 FEFC
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/dt/enc.pl b/lib/unicore/lib/dt/enc.pl
new file mode 100644
index 0000000000..422bc01c67
--- /dev/null
+++ b/lib/unicore/lib/dt/enc.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Circle'
+#
+return <<'END';
+2460 2473
+24B6 24EA
+3251 327D
+3280 32BF
+32D0 32FE
+END
diff --git a/lib/unicore/lib/dt/fin.pl b/lib/unicore/lib/dt/fin.pl
new file mode 100644
index 0000000000..904383302f
--- /dev/null
+++ b/lib/unicore/lib/dt/fin.pl
@@ -0,0 +1,122 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Final'
+#
+return <<'END';
+FB51
+FB53
+FB57
+FB5B
+FB5F
+FB63
+FB67
+FB6B
+FB6F
+FB73
+FB77
+FB7B
+FB7F
+FB83
+FB85
+FB87
+FB89
+FB8B
+FB8D
+FB8F
+FB93
+FB97
+FB9B
+FB9F
+FBA1
+FBA5
+FBA7
+FBAB
+FBAF
+FBB1
+FBD4
+FBD8
+FBDA
+FBDC
+FBDF
+FBE1
+FBE3
+FBE5
+FBEB
+FBED
+FBEF
+FBF1
+FBF3
+FBF5
+FBF7
+FBFA
+FBFD
+FC64 FC96
+FD11 FD2C
+FD3C
+FD51
+FD58
+FD5A FD5B
+FD5E FD5F
+FD62
+FD64
+FD66 FD67
+FD69 FD6A
+FD6C
+FD6E FD6F
+FD71
+FD74 FD76
+FD78 FD7C
+FD7E FD82
+FD84 FD85
+FD87
+FD8B
+FD96 FD97
+FD99 FD9C
+FD9E FDB3
+FDB6 FDB7
+FDB9
+FDBB FDC2
+FDC6 FDC7
+FE82
+FE84
+FE86
+FE88
+FE8A
+FE8E
+FE90
+FE94
+FE96
+FE9A
+FE9E
+FEA2
+FEA6
+FEAA
+FEAC
+FEAE
+FEB0
+FEB2
+FEB6
+FEBA
+FEBE
+FEC2
+FEC6
+FECA
+FECE
+FED2
+FED6
+FEDA
+FEDE
+FEE2
+FEE6
+FEEA
+FEEE
+FEF0
+FEF2
+FEF6
+FEF8
+FEFA
+FEFC
+END
diff --git a/lib/unicore/lib/dt/font.pl b/lib/unicore/lib/dt/font.pl
new file mode 100644
index 0000000000..77db52fbec
--- /dev/null
+++ b/lib/unicore/lib/dt/font.pl
@@ -0,0 +1,43 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Font'
+#
+return <<'END';
+2102
+210A 2113
+2115
+2119 211D
+2124
+2128
+212C 212D
+212F 2131
+2133 2134
+2139
+213D 2140
+2145 2149
+FB20 FB29
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/dt/fra.pl b/lib/unicore/lib/dt/fra.pl
new file mode 100644
index 0000000000..94db2d3673
--- /dev/null
+++ b/lib/unicore/lib/dt/fra.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Fraction'
+#
+return <<'END';
+00BC 00BE
+2153 215F
+END
diff --git a/lib/unicore/lib/dt/init.pl b/lib/unicore/lib/dt/init.pl
new file mode 100644
index 0000000000..7fd35d29ae
--- /dev/null
+++ b/lib/unicore/lib/dt/init.pl
@@ -0,0 +1,84 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Initial'
+#
+return <<'END';
+FB54
+FB58
+FB5C
+FB60
+FB64
+FB68
+FB6C
+FB70
+FB74
+FB78
+FB7C
+FB80
+FB90
+FB94
+FB98
+FB9C
+FBA2
+FBA8
+FBAC
+FBD5
+FBE6
+FBE8
+FBF8
+FBFB
+FBFE
+FC97 FCDE
+FD2D FD33
+FD50
+FD52 FD57
+FD59
+FD5C FD5D
+FD60 FD61
+FD63
+FD65
+FD68
+FD6B
+FD6D
+FD70
+FD72 FD73
+FD77
+FD7D
+FD83
+FD86
+FD88 FD8A
+FD8C FD8F
+FD92 FD95
+FD98
+FD9D
+FDB4 FDB5
+FDB8
+FDBA
+FDC3 FDC5
+FE8B
+FE91
+FE97
+FE9B
+FE9F
+FEA3
+FEA7
+FEB3
+FEB7
+FEBB
+FEBF
+FEC3
+FEC7
+FECB
+FECF
+FED3
+FED7
+FEDB
+FEDF
+FEE3
+FEE7
+FEEB
+FEF3
+END
diff --git a/lib/unicore/lib/dt/iso.pl b/lib/unicore/lib/dt/iso.pl
new file mode 100644
index 0000000000..1c39772d1a
--- /dev/null
+++ b/lib/unicore/lib/dt/iso.pl
@@ -0,0 +1,107 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Isolated'
+#
+return <<'END';
+FB50
+FB52
+FB56
+FB5A
+FB5E
+FB62
+FB66
+FB6A
+FB6E
+FB72
+FB76
+FB7A
+FB7E
+FB82
+FB84
+FB86
+FB88
+FB8A
+FB8C
+FB8E
+FB92
+FB96
+FB9A
+FB9E
+FBA0
+FBA4
+FBA6
+FBAA
+FBAE
+FBB0
+FBD3
+FBD7
+FBD9
+FBDB
+FBDD FBDE
+FBE0
+FBE2
+FBE4
+FBEA
+FBEC
+FBEE
+FBF0
+FBF2
+FBF4
+FBF6
+FBF9
+FBFC
+FC00 FC63
+FCF5 FD10
+FD3D
+FDF0 FDFC
+FE70
+FE72
+FE74
+FE76
+FE78
+FE7A
+FE7C
+FE7E
+FE80 FE81
+FE83
+FE85
+FE87
+FE89
+FE8D
+FE8F
+FE93
+FE95
+FE99
+FE9D
+FEA1
+FEA5
+FEA9
+FEAB
+FEAD
+FEAF
+FEB1
+FEB5
+FEB9
+FEBD
+FEC1
+FEC5
+FEC9
+FECD
+FED1
+FED5
+FED9
+FEDD
+FEE1
+FEE5
+FEE9
+FEED
+FEEF
+FEF1
+FEF5
+FEF7
+FEF9
+FEFB
+END
diff --git a/lib/unicore/lib/dt/med.pl b/lib/unicore/lib/dt/med.pl
new file mode 100644
index 0000000000..88ae910294
--- /dev/null
+++ b/lib/unicore/lib/dt/med.pl
@@ -0,0 +1,63 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Medial'
+#
+return <<'END';
+FB55
+FB59
+FB5D
+FB61
+FB65
+FB69
+FB6D
+FB71
+FB75
+FB79
+FB7D
+FB81
+FB91
+FB95
+FB99
+FB9D
+FBA3
+FBA9
+FBAD
+FBD6
+FBE7
+FBE9
+FBFF
+FCDF FCF4
+FD34 FD3B
+FE71
+FE77
+FE79
+FE7B
+FE7D
+FE7F
+FE8C
+FE92
+FE98
+FE9C
+FEA0
+FEA4
+FEA8
+FEB4
+FEB8
+FEBC
+FEC0
+FEC4
+FEC8
+FECC
+FED0
+FED4
+FED8
+FEDC
+FEE0
+FEE4
+FEE8
+FEEC
+FEF4
+END
diff --git a/lib/unicore/lib/dt/nar.pl b/lib/unicore/lib/dt/nar.pl
new file mode 100644
index 0000000000..03d169a725
--- /dev/null
+++ b/lib/unicore/lib/dt/nar.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Narrow'
+#
+return <<'END';
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
+END
diff --git a/lib/unicore/lib/dt/nb.pl b/lib/unicore/lib/dt/nb.pl
new file mode 100644
index 0000000000..bdf1ac4025
--- /dev/null
+++ b/lib/unicore/lib/dt/nb.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Nobreak'
+#
+return <<'END';
+00A0
+0F0C
+2007
+2011
+202F
+END
diff --git a/lib/unicore/lib/dt/sml.pl b/lib/unicore/lib/dt/sml.pl
new file mode 100644
index 0000000000..ca6b15f36f
--- /dev/null
+++ b/lib/unicore/lib/dt/sml.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Small'
+#
+return <<'END';
+FE50 FE52
+FE54 FE66
+FE68 FE6B
+END
diff --git a/lib/unicore/lib/dt/sqr.pl b/lib/unicore/lib/dt/sqr.pl
new file mode 100644
index 0000000000..604d897874
--- /dev/null
+++ b/lib/unicore/lib/dt/sqr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Square'
+#
+return <<'END';
+3250
+32CC 32CF
+3300 3357
+3371 33DF
+33FF
+END
diff --git a/lib/unicore/lib/dt/sub.pl b/lib/unicore/lib/dt/sub.pl
new file mode 100644
index 0000000000..7832f9e131
--- /dev/null
+++ b/lib/unicore/lib/dt/sub.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Sub'
+#
+return <<'END';
+1D62 1D6A
+2080 208E
+END
diff --git a/lib/unicore/lib/dt/sup.pl b/lib/unicore/lib/dt/sup.pl
new file mode 100644
index 0000000000..02ff62af41
--- /dev/null
+++ b/lib/unicore/lib/dt/sup.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Super'
+#
+return <<'END';
+00AA
+00B2 00B3
+00B9 00BA
+02B0 02B8
+02E0 02E4
+1D2C 1D2E
+1D30 1D3A
+1D3C 1D4D
+1D4F 1D61
+2070 2071
+2074 207F
+2120
+2122
+3192 319F
+END
diff --git a/lib/unicore/lib/dt/vert.pl b/lib/unicore/lib/dt/vert.pl
new file mode 100644
index 0000000000..862b4bcf49
--- /dev/null
+++ b/lib/unicore/lib/dt/vert.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Vertical'
+#
+return <<'END';
+309F
+30FF
+FE30 FE44
+FE47 FE48
+END
diff --git a/lib/unicore/lib/dt/wide.pl b/lib/unicore/lib/dt/wide.pl
new file mode 100644
index 0000000000..99ef5131f1
--- /dev/null
+++ b/lib/unicore/lib/dt/wide.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# DecompositionType category 'Wide'
+#
+return <<'END';
+3000
+FF01 FF60
+FFE0 FFE6
+END
diff --git a/lib/unicore/lib/ea/A.pl b/lib/unicore/lib/ea/A.pl
new file mode 100644
index 0000000000..427a9decf6
--- /dev/null
+++ b/lib/unicore/lib/ea/A.pl
@@ -0,0 +1,166 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Ambiguous'
+#
+return <<'END';
+00A1
+00A4
+00A7 00A8
+00AA
+00AD 00AE
+00B0 00B4
+00B6 00BA
+00BC 00BF
+00C6
+00D0
+00D7 00D8
+00DE 00E1
+00E6
+00E8 00EA
+00EC 00ED
+00F0
+00F2 00F3
+00F7 00FA
+00FC
+00FE
+0101
+0111
+0113
+011B
+0126 0127
+012B
+0131 0133
+0138
+013F 0142
+0144
+0148 014B
+014D
+0152 0153
+0166 0167
+016B
+01CE
+01D0
+01D2
+01D4
+01D6
+01D8
+01DA
+01DC
+0251
+0261
+02C4
+02C7
+02C9 02CB
+02CD
+02D0
+02D8 02DB
+02DD
+02DF
+0300 0357
+035D 036F
+0391 03A1
+03A3 03A9
+03B1 03C1
+03C3 03C9
+0401
+0410 044F
+0451
+2010
+2013 2016
+2018 2019
+201C 201D
+2020 2022
+2024 2027
+2030
+2032 2033
+2035
+203B
+203E
+2074
+207F
+2081 2084
+20AC
+2103
+2105
+2109
+2113
+2116
+2121 2122
+2126
+212B
+2153 2154
+215B 215E
+2160 216B
+2170 2179
+2190 2199
+21B8 21B9
+21D2
+21D4
+21E7
+2200
+2202 2203
+2207 2208
+220B
+220F
+2211
+2215
+221A
+221D 2220
+2223
+2225
+2227 222C
+222E
+2234 2237
+223C 223D
+2248
+224C
+2252
+2260 2261
+2264 2267
+226A 226B
+226E 226F
+2282 2283
+2286 2287
+2295
+2299
+22A5
+22BF
+2312
+2460 24E9
+24EB 254B
+2550 2573
+2580 258F
+2592 2595
+25A0 25A1
+25A3 25A9
+25B2 25B3
+25B6 25B7
+25BC 25BD
+25C0 25C1
+25C6 25C8
+25CB
+25CE 25D1
+25E2 25E5
+25EF
+2605 2606
+2609
+260E 260F
+2614 2615
+261C
+261E
+2640
+2642
+2660 2661
+2663 2665
+2667 266A
+266C 266D
+266F
+273D
+2776 277F
+FE00 FE0F
+FFFD
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/ea/F.pl b/lib/unicore/lib/ea/F.pl
new file mode 100644
index 0000000000..593b4680ec
--- /dev/null
+++ b/lib/unicore/lib/ea/F.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Fullwidth'
+#
+return <<'END';
+3000
+FF01 FF60
+FFE0 FFE6
+END
diff --git a/lib/unicore/lib/ea/H.pl b/lib/unicore/lib/ea/H.pl
new file mode 100644
index 0000000000..ad6e3280b7
--- /dev/null
+++ b/lib/unicore/lib/ea/H.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Halfwidth'
+#
+return <<'END';
+20A9
+FF61 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
+END
diff --git a/lib/unicore/lib/ea/N.pl b/lib/unicore/lib/ea/N.pl
new file mode 100644
index 0000000000..6e7ae665c6
--- /dev/null
+++ b/lib/unicore/lib/ea/N.pl
@@ -0,0 +1,521 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Neutral'
+#
+return <<'END';
+0000 001F
+007F 00A0
+00A9
+00AB
+00B5
+00BB
+00C0 00C5
+00C7 00CF
+00D1 00D6
+00D9 00DD
+00E2 00E5
+00E7
+00EB
+00EE 00EF
+00F1
+00F4 00F6
+00FB
+00FD
+00FF 0100
+0102 0110
+0112
+0114 011A
+011C 0125
+0128 012A
+012C 0130
+0134 0137
+0139 013E
+0143
+0145 0147
+014C
+014E 0151
+0154 0165
+0168 016A
+016C 01CD
+01CF
+01D1
+01D3
+01D5
+01D7
+01D9
+01DB
+01DD 0236
+0250
+0252 0260
+0262 02C3
+02C5 02C6
+02C8
+02CC
+02CE 02CF
+02D1 02D7
+02DC
+02DE
+02E0 02FF
+0374 0375
+037A
+037E
+0384 038A
+038C
+038E 0390
+03AA 03B0
+03C2
+03CA 03CE
+03D0 03FB
+0400
+0402 040F
+0450
+0452 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
+0600 0603
+060C 0615
+061B
+061F
+0621 063A
+0640 0658
+0660 070D
+070F 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
+10FB
+1160 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 200F
+2011 2012
+2017
+201A 201B
+201E 201F
+2023
+2028 202F
+2031
+2034
+2036 203A
+203C 203D
+203F 2054
+2057
+205F 2063
+206A 2071
+2075 207E
+2080
+2085 208E
+20A0 20A8
+20AA 20AB
+20AD 20B1
+20D0 20EA
+2100 2102
+2104
+2106 2108
+210A 2112
+2114 2115
+2117 2120
+2123 2125
+2127 212A
+212C 213B
+213D 214B
+2155 215A
+215F
+216C 216F
+217A 2183
+219A 21B7
+21BA 21D1
+21D3
+21D5 21E6
+21E8 21FF
+2201
+2204 2206
+2209 220A
+220C 220E
+2210
+2212 2214
+2216 2219
+221B 221C
+2221 2222
+2224
+2226
+222D
+222F 2233
+2238 223B
+223E 2247
+2249 224B
+224D 2251
+2253 225F
+2262 2263
+2268 2269
+226C 226D
+2270 2281
+2284 2285
+2288 2294
+2296 2298
+229A 22A4
+22A6 22BE
+22C0 2311
+2313 2328
+232B 23D0
+2400 2426
+2440 244A
+24EA
+254C 254F
+2574 257F
+2590 2591
+2596 259F
+25A2
+25AA 25B1
+25B4 25B5
+25B8 25BB
+25BE 25BF
+25C2 25C5
+25C9 25CA
+25CC 25CD
+25D2 25E1
+25E6 25EE
+25F0 2604
+2607 2608
+260A 260D
+2610 2613
+2616 2617
+2619 261B
+261D
+261F 263F
+2641
+2643 265F
+2662
+2666
+266B
+266E
+2670 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 273C
+273E 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2775
+2780 2794
+2798 27AF
+27B1 27BE
+27D0 27E5
+27F0 2984
+2987 2B0D
+303F
+4DC0 4DFF
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE20 FE23
+FE70 FE74
+FE76 FEFC
+FEFF
+FFF9 FFFC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+E0001
+E0020 E007F
+END
diff --git a/lib/unicore/lib/ea/Na.pl b/lib/unicore/lib/ea/Na.pl
new file mode 100644
index 0000000000..3e74768687
--- /dev/null
+++ b/lib/unicore/lib/ea/Na.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Narrow'
+#
+return <<'END';
+0020 007E
+00A2 00A3
+00A5 00A6
+00AC
+00AF
+27E6 27EB
+2985 2986
+END
diff --git a/lib/unicore/lib/ea/W.pl b/lib/unicore/lib/ea/W.pl
new file mode 100644
index 0000000000..df56d825c4
--- /dev/null
+++ b/lib/unicore/lib/ea/W.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# EastAsianWidth category 'Wide'
+#
+return <<'END';
+1100 1159
+115F
+2329 232A
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 303E
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 33FF
+A000 A48C
+A490 A4C6
+F900 FA2D
+FA30 FA6A
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/gc_sc/AHex.pl b/lib/unicore/lib/gc_sc/AHex.pl
new file mode 100644
index 0000000000..917392baaf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/AHex.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'ASCII_Hex_Digit'
+#
+return <<'END';
+0030 0039 ASCII_Hex_Digit
+0041 0046 ASCII_Hex_Digit
+0061 0066 ASCII_Hex_Digit
+END
diff --git a/lib/unicore/lib/gc_sc/ASCII.pl b/lib/unicore/lib/gc_sc/ASCII.pl
new file mode 100644
index 0000000000..dc7db1e177
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/ASCII.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{ASCII}
+#
+# Meaning: [[:ASCII:]]
+#
+return <<'END';
+0000 007F
+END
diff --git a/lib/unicore/lib/gc_sc/Alnum.pl b/lib/unicore/lib/gc_sc/Alnum.pl
new file mode 100644
index 0000000000..12cd3cd3ce
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Alnum.pl
@@ -0,0 +1,426 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Alnum}
+#
+# Meaning: [[:Alnum:]]
+#
+return <<'END';
+0030 0039
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+0300 0357
+035D 036F
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+0483 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+05D0 05EA
+05F0 05F2
+0610 0615
+0621 063A
+0640 0658
+0660 0669
+066E 06D3
+06D5 06DC
+06DE 06E8
+06EA 06FC
+06FF
+0710 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0963
+0966 096F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B6F
+0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00
+0F18 0F19
+0F20 0F29
+0F35
+0F37
+0F39
+0F3E 0F47
+0F49 0F6A
+0F71 0F84
+0F86 0F8B
+0F90 0F97
+0F99 0FBC
+0FC6
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1049
+1050 1059
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1369 1371
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
+17D7
+17DC 17DD
+17E0 17E9
+180B 180D
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+20D0 20EA
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+3005 3006
+302A 302F
+3031 3035
+303B 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE23
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 10349
+10380 1039D
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/Alpha.pl b/lib/unicore/lib/gc_sc/Alpha.pl
new file mode 100644
index 0000000000..79827a0aa1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Alpha.pl
@@ -0,0 +1,408 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Alpha}
+#
+# Meaning: [[:Alpha:]]
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+0300 0357
+035D 036F
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+0483 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+05D0 05EA
+05F0 05F2
+0610 0615
+0621 063A
+0640 0658
+066E 06D3
+06D5 06DC
+06DE 06E8
+06EA 06EF
+06FA 06FC
+06FF
+0710 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0963
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09F0 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A70 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0EDC 0EDD
+0F00
+0F18 0F19
+0F35
+0F37
+0F39
+0F3E 0F47
+0F49 0F6A
+0F71 0F84
+0F86 0F8B
+0F90 0F97
+0F99 0FBC
+0FC6
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1050 1059
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
+17D7
+17DC 17DD
+180B 180D
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1950 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+20D0 20EA
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+3005 3006
+302A 302F
+3031 3035
+303B 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE23
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 10349
+10380 1039D
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+20000 2A6D6
+2F800 2FA1D
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/Alphabet.pl b/lib/unicore/lib/gc_sc/Alphabet.pl
new file mode 100644
index 0000000000..6b9382ad5a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Alphabet.pl
@@ -0,0 +1,390 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Alphabetic} (and fuzzy permutations)
+#
+# Meaning: [\p{L}\p{OtherAlphabetic}]
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+0345
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+05B0 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+05D0 05EA
+05F0 05F2
+0610 0615
+0621 063A
+0640 0657
+066E 06D3
+06D5 06DC
+06E1 06E8
+06ED 06EF
+06FA 06FC
+06FF
+0710 073F
+074D 074F
+0780 07B1
+0901 0939
+093D 094C
+0950
+0958 0963
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD 09C4
+09C7 09C8
+09CB 09CC
+09D7
+09DC 09DD
+09DF 09E3
+09F0 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A42
+0A47 0A48
+0A4B 0A4C
+0A59 0A5C
+0A5E
+0A70 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD 0AC5
+0AC7 0AC9
+0ACB 0ACC
+0AD0
+0AE0 0AE3
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D 0B43
+0B47 0B48
+0B4B 0B4C
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCC
+0BD7
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4C
+0C55 0C56
+0C60 0C61
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD 0CC4
+0CC6 0CC8
+0CCA 0CCC
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4C
+0D57
+0D60 0D61
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E46
+0E4D
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0ECD
+0EDC 0EDD
+0F00
+0F40 0F47
+0F49 0F6A
+0F71 0F81
+0F88 0F8B
+0F90 0F97
+0F99 0FBC
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036
+1038
+1050 1059
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1713
+1720 1733
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17C8
+17D7
+17DC
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 1938
+1950 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+2160 2183
+3005 3006
+3031 3035
+303B 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 1034A
+10380 1039D
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+20000 2A6D6
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/gc_sc/Any.pl b/lib/unicore/lib/gc_sc/Any.pl
new file mode 100644
index 0000000000..f98cd73ced
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Any.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Any}
+# \p{Any}
+#
+# Meaning: [\x{0000}-\x{10FFFF}]
+#
+return <<'END';
+0000 10FFFF
+END
diff --git a/lib/unicore/lib/gc_sc/Arab.pl b/lib/unicore/lib/gc_sc/Arab.pl
new file mode 100644
index 0000000000..be835e53e1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Arab.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Arabic} (and fuzzy permutations)
+#
+# Meaning: Script 'Arabic'
+#
+return <<'END';
+060D 0615 Arabic
+0621 063A Arabic
+0641 064A Arabic
+0656 0658 Arabic
+066A 066F Arabic
+0671 06DC Arabic
+06DE 06FF Arabic
+FB50 FBB1 Arabic
+FBD3 FD3D Arabic
+FD50 FD8F Arabic
+FD92 FDC7 Arabic
+FDF0 FDFC Arabic
+FE70 FE74 Arabic
+FE76 FEFC Arabic
+END
diff --git a/lib/unicore/lib/gc_sc/Armn.pl b/lib/unicore/lib/gc_sc/Armn.pl
new file mode 100644
index 0000000000..0aa98b8de2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Armn.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Armenian} (and fuzzy permutations)
+#
+# Meaning: Script 'Armenian'
+#
+return <<'END';
+0531 0556 Armenian
+0559 055F Armenian
+0561 0587 Armenian
+058A Armenian
+FB13 FB17 Armenian
+END
diff --git a/lib/unicore/lib/gc_sc/AsciiHex.pl b/lib/unicore/lib/gc_sc/AsciiHex.pl
new file mode 100644
index 0000000000..be2637d80e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/AsciiHex.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{AsciiHexDigit} (and fuzzy permutations)
+#
+# Meaning: Extended property 'ASCII_Hex_Digit'
+#
+return <<'END';
+0030 0039 ASCII_Hex_Digit
+0041 0046 ASCII_Hex_Digit
+0061 0066 ASCII_Hex_Digit
+END
diff --git a/lib/unicore/lib/gc_sc/Assigned.pl b/lib/unicore/lib/gc_sc/Assigned.pl
new file mode 100644
index 0000000000..dc68062429
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Assigned.pl
@@ -0,0 +1,414 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Assigned}
+#
+# Meaning: All assigned code points
+#
+return <<'END';
+0000 0236
+0250 0357
+035D 036F
+0374 0375
+037A
+037E
+0384 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03FB
+0400 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
+0600 0603
+060C 0615
+061B
+061F
+0621 063A
+0640 0658
+0660 070D
+070F 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
+10FB
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2054
+2057
+205F 2063
+206A 2071
+2074 208E
+20A0 20B1
+20D0 20EA
+2100 213B
+213D 214B
+2153 2183
+2190 23D0
+2400 2426
+2440 244A
+2460 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 4DB5
+4DC0 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+D800 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE0F
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FEFF
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0001
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/gc_sc/Beng.pl b/lib/unicore/lib/gc_sc/Beng.pl
new file mode 100644
index 0000000000..b9206d24f0
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Beng.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Bengali} (and fuzzy permutations)
+#
+# Meaning: Script 'Bengali'
+#
+return <<'END';
+0981 0983 Bengali
+0985 098C Bengali
+098F 0990 Bengali
+0993 09A8 Bengali
+09AA 09B0 Bengali
+09B2 Bengali
+09B6 09B9 Bengali
+09BC 09C4 Bengali
+09C7 09C8 Bengali
+09CB 09CD Bengali
+09D7 Bengali
+09DC 09DD Bengali
+09DF 09E3 Bengali
+09E6 09FA Bengali
+END
diff --git a/lib/unicore/lib/gc_sc/BidiC.pl b/lib/unicore/lib/gc_sc/BidiC.pl
new file mode 100644
index 0000000000..634625fc6f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/BidiC.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Bidi_Control'
+#
+return <<'END';
+200E 200F Bidi_Control
+202A 202E Bidi_Control
+END
diff --git a/lib/unicore/lib/gc_sc/BidiCont.pl b/lib/unicore/lib/gc_sc/BidiCont.pl
new file mode 100644
index 0000000000..7f51ac42b2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/BidiCont.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{BidiControl} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Bidi_Control'
+#
+return <<'END';
+200E 200F Bidi_Control
+202A 202E Bidi_Control
+END
diff --git a/lib/unicore/lib/gc_sc/Blank.pl b/lib/unicore/lib/gc_sc/Blank.pl
new file mode 100644
index 0000000000..6d8519ac41
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Blank.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Blank}
+#
+# Meaning: [[:Blank:]]
+#
+return <<'END';
+0009
+0020
+00A0
+1680
+180E
+2000 200A
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/gc_sc/Bopo.pl b/lib/unicore/lib/gc_sc/Bopo.pl
new file mode 100644
index 0000000000..955e0c99a2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Bopo.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Bopomofo} (and fuzzy permutations)
+#
+# Meaning: Script 'Bopomofo'
+#
+return <<'END';
+3105 312C Bopomofo
+31A0 31B7 Bopomofo
+END
diff --git a/lib/unicore/lib/gc_sc/Brai.pl b/lib/unicore/lib/gc_sc/Brai.pl
new file mode 100644
index 0000000000..368ded7e41
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Brai.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Braille} (and fuzzy permutations)
+#
+# Meaning: Script 'Braille'
+#
+return <<'END';
+2800 28FF Braille
+END
diff --git a/lib/unicore/lib/gc_sc/Buhd.pl b/lib/unicore/lib/gc_sc/Buhd.pl
new file mode 100644
index 0000000000..47e8b1f613
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Buhd.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Buhid} (and fuzzy permutations)
+#
+# Meaning: Script 'Buhid'
+#
+return <<'END';
+1740 1753 Buhid
+END
diff --git a/lib/unicore/lib/gc_sc/C.pl b/lib/unicore/lib/gc_sc/C.pl
new file mode 100644
index 0000000000..a9d2ec5d1b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/C.pl
@@ -0,0 +1,417 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{C}
+# \p{C} (and fuzzy permutations)
+#
+# Meaning: Major Category 'C'
+#
+return <<'END';
+0000 001F
+007F 009F
+00AD
+0237 024F
+0358 035C
+0370 0373
+0376 0379
+037B 037D
+037F 0383
+038B
+038D
+03A2
+03CF
+03FC 03FF
+0487
+04CF
+04F6 04F7
+04FA 04FF
+0510 0530
+0557 0558
+0560
+0588
+058B 0590
+05A2
+05BA
+05C5 05CF
+05EB 05EF
+05F5 060B
+0616 061A
+061C 061E
+0620
+063B 063F
+0659 065F
+06DD
+070E 070F
+074B 074C
+0750 077F
+07B2 0900
+093A 093B
+094E 094F
+0955 0957
+0971 0980
+0984
+098D 098E
+0991 0992
+09A9
+09B1
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CE 09D6
+09D8 09DB
+09DE
+09E4 09E5
+09FB 0A00
+0A04
+0A0B 0A0E
+0A11 0A12
+0A29
+0A31
+0A34
+0A37
+0A3A 0A3B
+0A3D
+0A43 0A46
+0A49 0A4A
+0A4E 0A58
+0A5D
+0A5F 0A65
+0A75 0A80
+0A84
+0A8E
+0A92
+0AA9
+0AB1
+0AB4
+0ABA 0ABB
+0AC6
+0ACA
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0
+0AF2 0B00
+0B04
+0B0D 0B0E
+0B11 0B12
+0B29
+0B31
+0B34
+0B3A 0B3B
+0B44 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
+0B5E
+0B62 0B65
+0B72 0B81
+0B84
+0B8B 0B8D
+0B91
+0B96 0B98
+0B9B
+0B9D
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BB6
+0BBA 0BBD
+0BC3 0BC5
+0BC9
+0BCE 0BD6
+0BD8 0BE6
+0BFB 0C00
+0C04
+0C0D
+0C11
+0C29
+0C34
+0C3A 0C3D
+0C45
+0C49
+0C4E 0C54
+0C57 0C5F
+0C62 0C65
+0C70 0C81
+0C84
+0C8D
+0C91
+0CA9
+0CB4
+0CBA 0CBB
+0CC5
+0CC9
+0CCE 0CD4
+0CD7 0CDD
+0CDF
+0CE2 0CE5
+0CF0 0D01
+0D04
+0D0D
+0D11
+0D29
+0D3A 0D3D
+0D44 0D45
+0D49
+0D4E 0D56
+0D58 0D5F
+0D62 0D65
+0D70 0D81
+0D84
+0D97 0D99
+0DB2
+0DBC
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
+0DD5
+0DD7
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
+0E83
+0E85 0E86
+0E89
+0E8B 0E8C
+0E8E 0E93
+0E98
+0EA0
+0EA4
+0EA6
+0EA8 0EA9
+0EAC
+0EBA
+0EBE 0EBF
+0EC5
+0EC7
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F48
+0F6B 0F70
+0F8C 0F8F
+0F98
+0FBD
+0FCD 0FCE
+0FD0 0FFF
+1022
+1028
+102B
+1033 1035
+103A 103F
+105A 109F
+10C6 10CF
+10F9 10FA
+10FC 10FF
+115A 115E
+11A3 11A7
+11FA 11FF
+1207
+1247
+1249
+124E 124F
+1257
+1259
+125E 125F
+1287
+1289
+128E 128F
+12AF
+12B1
+12B6 12B7
+12BF
+12C1
+12C6 12C7
+12CF
+12D7
+12EF
+130F
+1311
+1316 1317
+131F
+1347
+135B 1360
+137D 139F
+13F5 1400
+1677 167F
+169D 169F
+16F1 16FF
+170D
+1715 171F
+1737 173F
+1754 175F
+176D
+1771
+1774 177F
+17B4 17B5
+17DE 17DF
+17EA 17EF
+17FA 17FF
+180F
+181A 181F
+1878 187F
+18AA 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 19DF
+1A00 1CFF
+1D6C 1DFF
+1E9C 1E9F
+1EFA 1EFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
+1F58
+1F5A
+1F5C
+1F5E
+1F7E 1F7F
+1FB5
+1FC5
+1FD4 1FD5
+1FDC
+1FF0 1FF1
+1FF5
+1FFF
+200B 200F
+202A 202E
+2055 2056
+2058 205E
+2060 206F
+2072 2073
+208F 209F
+20B2 20CF
+20EB 20FF
+213C
+214C 2152
+2184 218F
+23D1 23FF
+2427 243F
+244B 245F
+2618
+267E 267F
+2692 269F
+26A2 2700
+2705
+270A 270B
+2728
+274C
+274E
+2753 2755
+2757
+275F 2760
+2795 2797
+27B0
+27BF 27CF
+27EC 27EF
+2B0E 2E7F
+2E9A
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
+3040
+3097 3098
+3100 3104
+312D 3130
+318F
+31B8 31EF
+321F
+3244 324F
+327E
+32FF
+4DB6 4DBF
+9FA6 9FFF
+A48D A48F
+A4C7 ABFF
+D7A4 F8FF
+FA2E FA2F
+FA6B FAFF
+FB07 FB12
+FB18 FB1C
+FB37
+FB3D
+FB3F
+FB42
+FB45
+FBB2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE10 FE1F
+FE24 FE2F
+FE53
+FE67
+FE6C FE6F
+FE75
+FEFD FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
+FFE7
+FFEF FFFB
+FFFE FFFF
+1000C
+10027
+1003B
+1003E
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+10140 102FF
+1031F
+10324 1032F
+1034B 1037F
+1039E
+103A0 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
+10809
+10836
+10839 1083B
+1083D 1083E
+10840 1CFFF
+1D0F6 1D0FF
+1D127 1D129
+1D173 1D17A
+1D1DE 1D2FF
+1D357 1D3FF
+1D455
+1D49D
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
+1D4AD
+1D4BA
+1D4BC
+1D4C4
+1D506
+1D50B 1D50C
+1D515
+1D51D
+1D53A
+1D53F
+1D545
+1D547 1D549
+1D551
+1D6A4 1D6A7
+1D7CA 1D7CD
+1D800 1FFFF
+2A6D7 2F7FF
+2FA1E E00FF
+E01F0 10FFFF
+END
diff --git a/lib/unicore/lib/gc_sc/Canadian.pl b/lib/unicore/lib/gc_sc/Canadian.pl
new file mode 100644
index 0000000000..6eb1c061ba
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Canadian.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{CanadianAboriginal} (and fuzzy permutations)
+#
+# Meaning: Script 'Canadian_Aboriginal'
+#
+return <<'END';
+1401 1676 Canadian_Aboriginal
+END
diff --git a/lib/unicore/lib/gc_sc/Cc.pl b/lib/unicore/lib/gc_sc/Cc.pl
new file mode 100644
index 0000000000..f7715fc9d2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cc.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cc}
+# \p{Cc} (and fuzzy permutations)
+#
+# Meaning: General Category 'Cc'
+#
+return <<'END';
+0000 001F
+007F 009F
+END
diff --git a/lib/unicore/lib/gc_sc/Cf.pl b/lib/unicore/lib/gc_sc/Cf.pl
new file mode 100644
index 0000000000..d2291e2bce
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cf.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cf}
+# \p{Cf} (and fuzzy permutations)
+#
+# Meaning: General Category 'Cf'
+#
+return <<'END';
+00AD
+0600 0603
+06DD
+070F
+17B4 17B5
+200B 200F
+202A 202E
+2060 2063
+206A 206F
+FEFF
+FFF9 FFFB
+1D173 1D17A
+E0001
+E0020 E007F
+END
diff --git a/lib/unicore/lib/gc_sc/Cher.pl b/lib/unicore/lib/gc_sc/Cher.pl
new file mode 100644
index 0000000000..11e7733fcb
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cher.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cherokee} (and fuzzy permutations)
+#
+# Meaning: Script 'Cherokee'
+#
+return <<'END';
+13A0 13F4 Cherokee
+END
diff --git a/lib/unicore/lib/gc_sc/Cn.pl b/lib/unicore/lib/gc_sc/Cn.pl
new file mode 100644
index 0000000000..f56bf8e9a4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cn.pl
@@ -0,0 +1,415 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cn}
+# \p{Cn} (and fuzzy permutations)
+#
+# Meaning: General Category 'Cn' [not functional in Perl]
+#
+return <<'END';
+0237 024F
+0358 035C
+0370 0373
+0376 0379
+037B 037D
+037F 0383
+038B
+038D
+03A2
+03CF
+03FC 03FF
+0487
+04CF
+04F6 04F7
+04FA 04FF
+0510 0530
+0557 0558
+0560
+0588
+058B 0590
+05A2
+05BA
+05C5 05CF
+05EB 05EF
+05F5 05FF
+0604 060B
+0616 061A
+061C 061E
+0620
+063B 063F
+0659 065F
+070E
+074B 074C
+0750 077F
+07B2 0900
+093A 093B
+094E 094F
+0955 0957
+0971 0980
+0984
+098D 098E
+0991 0992
+09A9
+09B1
+09B3 09B5
+09BA 09BB
+09C5 09C6
+09C9 09CA
+09CE 09D6
+09D8 09DB
+09DE
+09E4 09E5
+09FB 0A00
+0A04
+0A0B 0A0E
+0A11 0A12
+0A29
+0A31
+0A34
+0A37
+0A3A 0A3B
+0A3D
+0A43 0A46
+0A49 0A4A
+0A4E 0A58
+0A5D
+0A5F 0A65
+0A75 0A80
+0A84
+0A8E
+0A92
+0AA9
+0AB1
+0AB4
+0ABA 0ABB
+0AC6
+0ACA
+0ACE 0ACF
+0AD1 0ADF
+0AE4 0AE5
+0AF0
+0AF2 0B00
+0B04
+0B0D 0B0E
+0B11 0B12
+0B29
+0B31
+0B34
+0B3A 0B3B
+0B44 0B46
+0B49 0B4A
+0B4E 0B55
+0B58 0B5B
+0B5E
+0B62 0B65
+0B72 0B81
+0B84
+0B8B 0B8D
+0B91
+0B96 0B98
+0B9B
+0B9D
+0BA0 0BA2
+0BA5 0BA7
+0BAB 0BAD
+0BB6
+0BBA 0BBD
+0BC3 0BC5
+0BC9
+0BCE 0BD6
+0BD8 0BE6
+0BFB 0C00
+0C04
+0C0D
+0C11
+0C29
+0C34
+0C3A 0C3D
+0C45
+0C49
+0C4E 0C54
+0C57 0C5F
+0C62 0C65
+0C70 0C81
+0C84
+0C8D
+0C91
+0CA9
+0CB4
+0CBA 0CBB
+0CC5
+0CC9
+0CCE 0CD4
+0CD7 0CDD
+0CDF
+0CE2 0CE5
+0CF0 0D01
+0D04
+0D0D
+0D11
+0D29
+0D3A 0D3D
+0D44 0D45
+0D49
+0D4E 0D56
+0D58 0D5F
+0D62 0D65
+0D70 0D81
+0D84
+0D97 0D99
+0DB2
+0DBC
+0DBE 0DBF
+0DC7 0DC9
+0DCB 0DCE
+0DD5
+0DD7
+0DE0 0DF1
+0DF5 0E00
+0E3B 0E3E
+0E5C 0E80
+0E83
+0E85 0E86
+0E89
+0E8B 0E8C
+0E8E 0E93
+0E98
+0EA0
+0EA4
+0EA6
+0EA8 0EA9
+0EAC
+0EBA
+0EBE 0EBF
+0EC5
+0EC7
+0ECE 0ECF
+0EDA 0EDB
+0EDE 0EFF
+0F48
+0F6B 0F70
+0F8C 0F8F
+0F98
+0FBD
+0FCD 0FCE
+0FD0 0FFF
+1022
+1028
+102B
+1033 1035
+103A 103F
+105A 109F
+10C6 10CF
+10F9 10FA
+10FC 10FF
+115A 115E
+11A3 11A7
+11FA 11FF
+1207
+1247
+1249
+124E 124F
+1257
+1259
+125E 125F
+1287
+1289
+128E 128F
+12AF
+12B1
+12B6 12B7
+12BF
+12C1
+12C6 12C7
+12CF
+12D7
+12EF
+130F
+1311
+1316 1317
+131F
+1347
+135B 1360
+137D 139F
+13F5 1400
+1677 167F
+169D 169F
+16F1 16FF
+170D
+1715 171F
+1737 173F
+1754 175F
+176D
+1771
+1774 177F
+17DE 17DF
+17EA 17EF
+17FA 17FF
+180F
+181A 181F
+1878 187F
+18AA 18FF
+191D 191F
+192C 192F
+193C 193F
+1941 1943
+196E 196F
+1975 19DF
+1A00 1CFF
+1D6C 1DFF
+1E9C 1E9F
+1EFA 1EFF
+1F16 1F17
+1F1E 1F1F
+1F46 1F47
+1F4E 1F4F
+1F58
+1F5A
+1F5C
+1F5E
+1F7E 1F7F
+1FB5
+1FC5
+1FD4 1FD5
+1FDC
+1FF0 1FF1
+1FF5
+1FFF
+2055 2056
+2058 205E
+2064 2069
+2072 2073
+208F 209F
+20B2 20CF
+20EB 20FF
+213C
+214C 2152
+2184 218F
+23D1 23FF
+2427 243F
+244B 245F
+2618
+267E 267F
+2692 269F
+26A2 2700
+2705
+270A 270B
+2728
+274C
+274E
+2753 2755
+2757
+275F 2760
+2795 2797
+27B0
+27BF 27CF
+27EC 27EF
+2B0E 2E7F
+2E9A
+2EF4 2EFF
+2FD6 2FEF
+2FFC 2FFF
+3040
+3097 3098
+3100 3104
+312D 3130
+318F
+31B8 31EF
+321F
+3244 324F
+327E
+32FF
+4DB6 4DBF
+9FA6 9FFF
+A48D A48F
+A4C7 ABFF
+D7A4 D7FF
+FA2E FA2F
+FA6B FAFF
+FB07 FB12
+FB18 FB1C
+FB37
+FB3D
+FB3F
+FB42
+FB45
+FBB2 FBD2
+FD40 FD4F
+FD90 FD91
+FDC8 FDEF
+FDFE FDFF
+FE10 FE1F
+FE24 FE2F
+FE53
+FE67
+FE6C FE6F
+FE75
+FEFD FEFE
+FF00
+FFBF FFC1
+FFC8 FFC9
+FFD0 FFD1
+FFD8 FFD9
+FFDD FFDF
+FFE7
+FFEF FFF8
+FFFE FFFF
+1000C
+10027
+1003B
+1003E
+1004E 1004F
+1005E 1007F
+100FB 100FF
+10103 10106
+10134 10136
+10140 102FF
+1031F
+10324 1032F
+1034B 1037F
+1039E
+103A0 103FF
+1049E 1049F
+104AA 107FF
+10806 10807
+10809
+10836
+10839 1083B
+1083D 1083E
+10840 1CFFF
+1D0F6 1D0FF
+1D127 1D129
+1D1DE 1D2FF
+1D357 1D3FF
+1D455
+1D49D
+1D4A0 1D4A1
+1D4A3 1D4A4
+1D4A7 1D4A8
+1D4AD
+1D4BA
+1D4BC
+1D4C4
+1D506
+1D50B 1D50C
+1D515
+1D51D
+1D53A
+1D53F
+1D545
+1D547 1D549
+1D551
+1D6A4 1D6A7
+1D7CA 1D7CD
+1D800 1FFFF
+2A6D7 2F7FF
+2FA1E E0000
+E0002 E001F
+E0080 E00FF
+E01F0 EFFFF
+FFFFE FFFFF
+10FFFE 10FFFF
+END
diff --git a/lib/unicore/lib/gc_sc/Cntrl.pl b/lib/unicore/lib/gc_sc/Cntrl.pl
new file mode 100644
index 0000000000..9d9f740731
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cntrl.pl
@@ -0,0 +1,31 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cntrl}
+#
+# Meaning: [[:Cntrl:]]
+#
+return <<'END';
+0000 001F
+007F 009F
+00AD
+0600 0603
+06DD
+070F
+17B4 17B5
+200B 200F
+202A 202E
+2060 2063
+206A 206F
+D800 F8FF
+FEFF
+FFF9 FFFB
+1D173 1D17A
+E0001
+E0020 E007F
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/gc_sc/Co.pl b/lib/unicore/lib/gc_sc/Co.pl
new file mode 100644
index 0000000000..5cb8379366
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Co.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Co}
+# \p{Co} (and fuzzy permutations)
+#
+# Meaning: General Category 'Co'
+#
+return <<'END';
+E000 F8FF
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/gc_sc/Cprt.pl b/lib/unicore/lib/gc_sc/Cprt.pl
new file mode 100644
index 0000000000..95b9922a16
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cprt.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cypriot} (and fuzzy permutations)
+#
+# Meaning: Script 'Cypriot'
+#
+return <<'END';
+10800 10805 Cypriot
+10808 Cypriot
+1080A 10835 Cypriot
+10837 10838 Cypriot
+1083C Cypriot
+1083F Cypriot
+END
diff --git a/lib/unicore/lib/gc_sc/Cs.pl b/lib/unicore/lib/gc_sc/Cs.pl
new file mode 100644
index 0000000000..02ccb70cae
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cs.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cs}
+# \p{Cs} (and fuzzy permutations)
+#
+# Meaning: General Category 'Cs'
+#
+return <<'END';
+D800 DFFF
+END
diff --git a/lib/unicore/lib/gc_sc/Cyrl.pl b/lib/unicore/lib/gc_sc/Cyrl.pl
new file mode 100644
index 0000000000..c6ac6361ea
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Cyrl.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Cyrillic} (and fuzzy permutations)
+#
+# Meaning: Script 'Cyrillic'
+#
+return <<'END';
+0400 0486 Cyrillic
+0488 04CE Cyrillic
+04D0 04F5 Cyrillic
+04F8 04F9 Cyrillic
+0500 050F Cyrillic
+1D2B Cyrillic
+END
diff --git a/lib/unicore/lib/gc_sc/Dash.pl b/lib/unicore/lib/gc_sc/Dash.pl
new file mode 100644
index 0000000000..aa3d3f4756
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Dash.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Dash} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Dash'
+#
+return <<'END';
+002D Dash
+058A Dash
+1806 Dash
+2010 2015 Dash
+2053 Dash
+207B Dash
+208B Dash
+2212 Dash
+301C Dash
+3030 Dash
+FE31 FE32 Dash
+FE58 Dash
+FE63 Dash
+FF0D Dash
+END
diff --git a/lib/unicore/lib/gc_sc/Dep.pl b/lib/unicore/lib/gc_sc/Dep.pl
new file mode 100644
index 0000000000..c2b4606d96
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Dep.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Deprecated'
+#
+return <<'END';
+0340 0341 Deprecated
+17A3 Deprecated
+17D3 Deprecated
+206A 206F Deprecated
+END
diff --git a/lib/unicore/lib/gc_sc/Deprecat.pl b/lib/unicore/lib/gc_sc/Deprecat.pl
new file mode 100644
index 0000000000..b9adc5df2a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Deprecat.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Deprecated} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Deprecated'
+#
+return <<'END';
+0340 0341 Deprecated
+17A3 Deprecated
+17D3 Deprecated
+206A 206F Deprecated
+END
diff --git a/lib/unicore/lib/gc_sc/Deva.pl b/lib/unicore/lib/gc_sc/Deva.pl
new file mode 100644
index 0000000000..5a61281635
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Deva.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Devanagari} (and fuzzy permutations)
+#
+# Meaning: Script 'Devanagari'
+#
+return <<'END';
+0901 0939 Devanagari
+093C 094D Devanagari
+0950 0954 Devanagari
+0958 0963 Devanagari
+0966 096F Devanagari
+END
diff --git a/lib/unicore/lib/gc_sc/Dia.pl b/lib/unicore/lib/gc_sc/Dia.pl
new file mode 100644
index 0000000000..2d790de5e5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Dia.pl
@@ -0,0 +1,91 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Diacritic'
+#
+return <<'END';
+005E Diacritic
+0060 Diacritic
+00A8 Diacritic
+00AF Diacritic
+00B4 Diacritic
+00B7 00B8 Diacritic
+02B0 034E Diacritic
+0350 0357 Diacritic
+035D 0362 Diacritic
+0374 0375 Diacritic
+037A Diacritic
+0384 0385 Diacritic
+0483 0486 Diacritic
+0559 Diacritic
+0591 05A1 Diacritic
+05A3 05B9 Diacritic
+05BB 05BD Diacritic
+05BF Diacritic
+05C1 05C2 Diacritic
+05C4 Diacritic
+064B 0652 Diacritic
+0657 0658 Diacritic
+06DF 06E0 Diacritic
+06E5 06E6 Diacritic
+06EA 06EC Diacritic
+0730 074A Diacritic
+07A6 07B0 Diacritic
+093C Diacritic
+094D Diacritic
+0951 0954 Diacritic
+09BC Diacritic
+09CD Diacritic
+0A3C Diacritic
+0A4D Diacritic
+0ABC Diacritic
+0ACD Diacritic
+0B3C Diacritic
+0B4D Diacritic
+0BCD Diacritic
+0C4D Diacritic
+0CBC Diacritic
+0CCD Diacritic
+0D4D Diacritic
+0DCA Diacritic
+0E47 0E4C Diacritic
+0E4E Diacritic
+0EC8 0ECC Diacritic
+0F18 0F19 Diacritic
+0F35 Diacritic
+0F37 Diacritic
+0F39 Diacritic
+0F3E 0F3F Diacritic
+0F82 0F84 Diacritic
+0F86 0F87 Diacritic
+0FC6 Diacritic
+1037 Diacritic
+1039 Diacritic
+17C9 17D3 Diacritic
+17DD Diacritic
+1939 193B Diacritic
+1D2C 1D6A Diacritic
+1FBD Diacritic
+1FBF 1FC1 Diacritic
+1FCD 1FCF Diacritic
+1FDD 1FDF Diacritic
+1FED 1FEF Diacritic
+1FFD 1FFE Diacritic
+302A 302F Diacritic
+3099 309C Diacritic
+30FC Diacritic
+FB1E Diacritic
+FE20 FE23 Diacritic
+FF3E Diacritic
+FF40 Diacritic
+FF70 Diacritic
+FF9E FF9F Diacritic
+FFE3 Diacritic
+1D167 1D169 Diacritic
+1D16D 1D172 Diacritic
+1D17B 1D182 Diacritic
+1D185 1D18B Diacritic
+1D1AA 1D1AD Diacritic
+END
diff --git a/lib/unicore/lib/gc_sc/Diacriti.pl b/lib/unicore/lib/gc_sc/Diacriti.pl
new file mode 100644
index 0000000000..6b4cf421db
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Diacriti.pl
@@ -0,0 +1,94 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Diacritic} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Diacritic'
+#
+return <<'END';
+005E Diacritic
+0060 Diacritic
+00A8 Diacritic
+00AF Diacritic
+00B4 Diacritic
+00B7 00B8 Diacritic
+02B0 034E Diacritic
+0350 0357 Diacritic
+035D 0362 Diacritic
+0374 0375 Diacritic
+037A Diacritic
+0384 0385 Diacritic
+0483 0486 Diacritic
+0559 Diacritic
+0591 05A1 Diacritic
+05A3 05B9 Diacritic
+05BB 05BD Diacritic
+05BF Diacritic
+05C1 05C2 Diacritic
+05C4 Diacritic
+064B 0652 Diacritic
+0657 0658 Diacritic
+06DF 06E0 Diacritic
+06E5 06E6 Diacritic
+06EA 06EC Diacritic
+0730 074A Diacritic
+07A6 07B0 Diacritic
+093C Diacritic
+094D Diacritic
+0951 0954 Diacritic
+09BC Diacritic
+09CD Diacritic
+0A3C Diacritic
+0A4D Diacritic
+0ABC Diacritic
+0ACD Diacritic
+0B3C Diacritic
+0B4D Diacritic
+0BCD Diacritic
+0C4D Diacritic
+0CBC Diacritic
+0CCD Diacritic
+0D4D Diacritic
+0DCA Diacritic
+0E47 0E4C Diacritic
+0E4E Diacritic
+0EC8 0ECC Diacritic
+0F18 0F19 Diacritic
+0F35 Diacritic
+0F37 Diacritic
+0F39 Diacritic
+0F3E 0F3F Diacritic
+0F82 0F84 Diacritic
+0F86 0F87 Diacritic
+0FC6 Diacritic
+1037 Diacritic
+1039 Diacritic
+17C9 17D3 Diacritic
+17DD Diacritic
+1939 193B Diacritic
+1D2C 1D6A Diacritic
+1FBD Diacritic
+1FBF 1FC1 Diacritic
+1FCD 1FCF Diacritic
+1FDD 1FDF Diacritic
+1FED 1FEF Diacritic
+1FFD 1FFE Diacritic
+302A 302F Diacritic
+3099 309C Diacritic
+30FC Diacritic
+FB1E Diacritic
+FE20 FE23 Diacritic
+FF3E Diacritic
+FF40 Diacritic
+FF70 Diacritic
+FF9E FF9F Diacritic
+FFE3 Diacritic
+1D167 1D169 Diacritic
+1D16D 1D172 Diacritic
+1D17B 1D182 Diacritic
+1D185 1D18B Diacritic
+1D1AA 1D1AD Diacritic
+END
diff --git a/lib/unicore/lib/gc_sc/Digit.pl b/lib/unicore/lib/gc_sc/Digit.pl
new file mode 100644
index 0000000000..493c408ba4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Digit.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Digit}
+#
+# Meaning: [[:Digit:]]
+#
+return <<'END';
+0030 0039
+0660 0669
+06F0 06F9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE7 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1369 1371
+17E0 17E9
+1810 1819
+1946 194F
+FF10 FF19
+104A0 104A9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/gc_sc/Dsrt.pl b/lib/unicore/lib/gc_sc/Dsrt.pl
new file mode 100644
index 0000000000..dcc68e8347
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Dsrt.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Deseret} (and fuzzy permutations)
+#
+# Meaning: Script 'Deseret'
+#
+return <<'END';
+10400 1044F Deseret
+END
diff --git a/lib/unicore/lib/gc_sc/Ethi.pl b/lib/unicore/lib/gc_sc/Ethi.pl
new file mode 100644
index 0000000000..c82f271ff1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ethi.pl
@@ -0,0 +1,38 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ethiopic} (and fuzzy permutations)
+#
+# Meaning: Script 'Ethiopic'
+#
+return <<'END';
+1200 1206 Ethiopic
+1208 1246 Ethiopic
+1248 Ethiopic
+124A 124D Ethiopic
+1250 1256 Ethiopic
+1258 Ethiopic
+125A 125D Ethiopic
+1260 1286 Ethiopic
+1288 Ethiopic
+128A 128D Ethiopic
+1290 12AE Ethiopic
+12B0 Ethiopic
+12B2 12B5 Ethiopic
+12B8 12BE Ethiopic
+12C0 Ethiopic
+12C2 12C5 Ethiopic
+12C8 12CE Ethiopic
+12D0 12D6 Ethiopic
+12D8 12EE Ethiopic
+12F0 130E Ethiopic
+1310 Ethiopic
+1312 1315 Ethiopic
+1318 131E Ethiopic
+1320 1346 Ethiopic
+1348 135A Ethiopic
+1361 137C Ethiopic
+END
diff --git a/lib/unicore/lib/gc_sc/Ext.pl b/lib/unicore/lib/gc_sc/Ext.pl
new file mode 100644
index 0000000000..62ed289c7f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ext.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Extender'
+#
+return <<'END';
+00B7 Extender
+02D0 02D1 Extender
+0640 Extender
+0E46 Extender
+0EC6 Extender
+1843 Extender
+3005 Extender
+3031 3035 Extender
+309D 309E Extender
+30FC 30FE Extender
+FF70 Extender
+END
diff --git a/lib/unicore/lib/gc_sc/Extender.pl b/lib/unicore/lib/gc_sc/Extender.pl
new file mode 100644
index 0000000000..6e0fc718da
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Extender.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Extender} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Extender'
+#
+return <<'END';
+00B7 Extender
+02D0 02D1 Extender
+0640 Extender
+0E46 Extender
+0EC6 Extender
+1843 Extender
+3005 Extender
+3031 3035 Extender
+309D 309E Extender
+30FC 30FE Extender
+FF70 Extender
+END
diff --git a/lib/unicore/lib/gc_sc/Geor.pl b/lib/unicore/lib/gc_sc/Geor.pl
new file mode 100644
index 0000000000..776fdcc661
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Geor.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Georgian} (and fuzzy permutations)
+#
+# Meaning: Script 'Georgian'
+#
+return <<'END';
+10A0 10C5 Georgian
+10D0 10F8 Georgian
+END
diff --git a/lib/unicore/lib/gc_sc/Goth.pl b/lib/unicore/lib/gc_sc/Goth.pl
new file mode 100644
index 0000000000..7637cc6582
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Goth.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Gothic} (and fuzzy permutations)
+#
+# Meaning: Script 'Gothic'
+#
+return <<'END';
+10330 1034A Gothic
+END
diff --git a/lib/unicore/lib/gc_sc/GrLink.pl b/lib/unicore/lib/gc_sc/GrLink.pl
new file mode 100644
index 0000000000..c14f6dd851
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/GrLink.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Grapheme_Link'
+#
+return <<'END';
+034F Grapheme_Link
+094D Grapheme_Link
+09CD Grapheme_Link
+0A4D Grapheme_Link
+0ACD Grapheme_Link
+0B4D Grapheme_Link
+0BCD Grapheme_Link
+0C4D Grapheme_Link
+0CCD Grapheme_Link
+0D4D Grapheme_Link
+0DCA Grapheme_Link
+0E3A Grapheme_Link
+1039 Grapheme_Link
+17D2 Grapheme_Link
+END
diff --git a/lib/unicore/lib/gc_sc/Graph.pl b/lib/unicore/lib/gc_sc/Graph.pl
new file mode 100644
index 0000000000..fdcb22adf5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Graph.pl
@@ -0,0 +1,417 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Graph}
+#
+# Meaning: [[:Graph:]]
+#
+return <<'END';
+0021 007E
+00A1 0236
+0250 0357
+035D 036F
+0374 0375
+037A
+037E
+0384 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03FB
+0400 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
+0600 0603
+060C 0615
+061B
+061F
+0621 063A
+0640 0658
+0660 070D
+070F 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
+10FB
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1681 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180D
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+200B 2027
+202A 202E
+2030 2054
+2057
+2060 2063
+206A 2071
+2074 208E
+20A0 20B1
+20D0 20EA
+2100 213B
+213D 214B
+2153 2183
+2190 23D0
+2400 2426
+2440 244A
+2460 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3001 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 4DB5
+4DC0 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+E000 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE0F
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FEFF
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0001
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/gc_sc/Grapheme.pl b/lib/unicore/lib/gc_sc/Grapheme.pl
new file mode 100644
index 0000000000..24bf439478
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Grapheme.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{GraphemeLink} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Grapheme_Link'
+#
+return <<'END';
+034F Grapheme_Link
+094D Grapheme_Link
+09CD Grapheme_Link
+0A4D Grapheme_Link
+0ACD Grapheme_Link
+0B4D Grapheme_Link
+0BCD Grapheme_Link
+0C4D Grapheme_Link
+0CCD Grapheme_Link
+0D4D Grapheme_Link
+0DCA Grapheme_Link
+0E3A Grapheme_Link
+1039 Grapheme_Link
+17D2 Grapheme_Link
+END
diff --git a/lib/unicore/lib/gc_sc/Grek.pl b/lib/unicore/lib/gc_sc/Grek.pl
new file mode 100644
index 0000000000..9b74e89879
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Grek.pl
@@ -0,0 +1,40 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Greek} (and fuzzy permutations)
+#
+# Meaning: Script 'Greek'
+#
+return <<'END';
+0374 0375 Greek
+037A Greek
+0384 0386 Greek
+0388 038A Greek
+038C Greek
+038E 03A1 Greek
+03A3 03CE Greek
+03D0 03FB Greek
+1D26 1D2A Greek
+1D5D 1D61 Greek
+1D66 1D6A Greek
+1F00 1F15 Greek
+1F18 1F1D Greek
+1F20 1F45 Greek
+1F48 1F4D Greek
+1F50 1F57 Greek
+1F59 Greek
+1F5B Greek
+1F5D Greek
+1F5F 1F7D Greek
+1F80 1FB4 Greek
+1FB6 1FC4 Greek
+1FC6 1FD3 Greek
+1FD6 1FDB Greek
+1FDD 1FEF Greek
+1FF2 1FF4 Greek
+1FF6 1FFE Greek
+2126 Greek
+END
diff --git a/lib/unicore/lib/gc_sc/Gujr.pl b/lib/unicore/lib/gc_sc/Gujr.pl
new file mode 100644
index 0000000000..b35bce38c9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Gujr.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Gujarati} (and fuzzy permutations)
+#
+# Meaning: Script 'Gujarati'
+#
+return <<'END';
+0A81 0A83 Gujarati
+0A85 0A8D Gujarati
+0A8F 0A91 Gujarati
+0A93 0AA8 Gujarati
+0AAA 0AB0 Gujarati
+0AB2 0AB3 Gujarati
+0AB5 0AB9 Gujarati
+0ABC 0AC5 Gujarati
+0AC7 0AC9 Gujarati
+0ACB 0ACD Gujarati
+0AD0 Gujarati
+0AE0 0AE3 Gujarati
+0AE6 0AEF Gujarati
+0AF1 Gujarati
+END
diff --git a/lib/unicore/lib/gc_sc/Guru.pl b/lib/unicore/lib/gc_sc/Guru.pl
new file mode 100644
index 0000000000..7525edc2ef
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Guru.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Gurmukhi} (and fuzzy permutations)
+#
+# Meaning: Script 'Gurmukhi'
+#
+return <<'END';
+0A01 0A03 Gurmukhi
+0A05 0A0A Gurmukhi
+0A0F 0A10 Gurmukhi
+0A13 0A28 Gurmukhi
+0A2A 0A30 Gurmukhi
+0A32 0A33 Gurmukhi
+0A35 0A36 Gurmukhi
+0A38 0A39 Gurmukhi
+0A3C Gurmukhi
+0A3E 0A42 Gurmukhi
+0A47 0A48 Gurmukhi
+0A4B 0A4D Gurmukhi
+0A59 0A5C Gurmukhi
+0A5E Gurmukhi
+0A66 0A74 Gurmukhi
+END
diff --git a/lib/unicore/lib/gc_sc/Hang.pl b/lib/unicore/lib/gc_sc/Hang.pl
new file mode 100644
index 0000000000..d7de1eaf34
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hang.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Hangul} (and fuzzy permutations)
+#
+# Meaning: Script 'Hangul'
+#
+return <<'END';
+1100 1159 Hangul
+115F 11A2 Hangul
+11A8 11F9 Hangul
+3131 318E Hangul
+3200 321E Hangul
+3260 327D Hangul
+AC00 D7A3 Hangul
+FFA0 FFBE Hangul
+FFC2 FFC7 Hangul
+FFCA FFCF Hangul
+FFD2 FFD7 Hangul
+FFDA FFDC Hangul
+END
diff --git a/lib/unicore/lib/gc_sc/Hani.pl b/lib/unicore/lib/gc_sc/Hani.pl
new file mode 100644
index 0000000000..1185c3679c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hani.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Han} (and fuzzy permutations)
+#
+# Meaning: Script 'Han'
+#
+return <<'END';
+2E80 2E99 Han
+2E9B 2EF3 Han
+2F00 2FD5 Han
+3005 Han
+3007 Han
+3021 3029 Han
+3038 303B Han
+3400 4DB5 Han
+4E00 9FA5 Han
+F900 FA2D Han
+FA30 FA6A Han
+20000 2A6D6 Han
+2F800 2FA1D Han
+END
diff --git a/lib/unicore/lib/gc_sc/Hano.pl b/lib/unicore/lib/gc_sc/Hano.pl
new file mode 100644
index 0000000000..f11def791e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hano.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Hanunoo} (and fuzzy permutations)
+#
+# Meaning: Script 'Hanunoo'
+#
+return <<'END';
+1720 1734 Hanunoo
+END
diff --git a/lib/unicore/lib/gc_sc/Hebr.pl b/lib/unicore/lib/gc_sc/Hebr.pl
new file mode 100644
index 0000000000..ed19bcc967
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hebr.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Hebrew} (and fuzzy permutations)
+#
+# Meaning: Script 'Hebrew'
+#
+return <<'END';
+0591 05A1 Hebrew
+05A3 05B9 Hebrew
+05BB 05C4 Hebrew
+05D0 05EA Hebrew
+05F0 05F4 Hebrew
+FB1D FB36 Hebrew
+FB38 FB3C Hebrew
+FB3E Hebrew
+FB40 FB41 Hebrew
+FB43 FB44 Hebrew
+FB46 FB4F Hebrew
+END
diff --git a/lib/unicore/lib/gc_sc/Hex.pl b/lib/unicore/lib/gc_sc/Hex.pl
new file mode 100644
index 0000000000..328d4abaaf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hex.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Hex_Digit'
+#
+return <<'END';
+0030 0039 Hex_Digit
+0041 0046 Hex_Digit
+0061 0066 Hex_Digit
+FF10 FF19 Hex_Digit
+FF21 FF26 Hex_Digit
+FF41 FF46 Hex_Digit
+END
diff --git a/lib/unicore/lib/gc_sc/HexDigit.pl b/lib/unicore/lib/gc_sc/HexDigit.pl
new file mode 100644
index 0000000000..83ce8547cf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/HexDigit.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{HexDigit} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Hex_Digit'
+#
+return <<'END';
+0030 0039 Hex_Digit
+0041 0046 Hex_Digit
+0061 0066 Hex_Digit
+FF10 FF19 Hex_Digit
+FF21 FF26 Hex_Digit
+FF41 FF46 Hex_Digit
+END
diff --git a/lib/unicore/lib/gc_sc/Hira.pl b/lib/unicore/lib/gc_sc/Hira.pl
new file mode 100644
index 0000000000..1b98d7c690
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hira.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Hiragana} (and fuzzy permutations)
+#
+# Meaning: Script 'Hiragana'
+#
+return <<'END';
+3041 3096 Hiragana
+309D 309F Hiragana
+END
diff --git a/lib/unicore/lib/gc_sc/Hyphen.pl b/lib/unicore/lib/gc_sc/Hyphen.pl
new file mode 100644
index 0000000000..a9023e8e78
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Hyphen.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Hyphen} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Hyphen'
+#
+return <<'END';
+002D Hyphen
+00AD Hyphen
+058A Hyphen
+1806 Hyphen
+2010 2011 Hyphen
+30FB Hyphen
+FE63 Hyphen
+FF0D Hyphen
+FF65 Hyphen
+END
diff --git a/lib/unicore/lib/gc_sc/IDSB.pl b/lib/unicore/lib/gc_sc/IDSB.pl
new file mode 100644
index 0000000000..b0282c29d2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IDSB.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'IDS_Binary_Operator'
+#
+return <<'END';
+2FF0 2FF1 IDS_Binary_Operator
+2FF4 2FFB IDS_Binary_Operator
+END
diff --git a/lib/unicore/lib/gc_sc/IDST.pl b/lib/unicore/lib/gc_sc/IDST.pl
new file mode 100644
index 0000000000..7bafc47765
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IDST.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'IDS_Trinary_Operator'
+#
+return <<'END';
+2FF2 2FF3 IDS_Trinary_Operator
+END
diff --git a/lib/unicore/lib/gc_sc/IdContin.pl b/lib/unicore/lib/gc_sc/IdContin.pl
new file mode 100644
index 0000000000..e57ab0ea90
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IdContin.pl
@@ -0,0 +1,435 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{IdContinue} (and fuzzy permutations)
+#
+# Meaning: [\p{ID_Start}\p{Mn}\p{Mc}\p{Nd}\p{Pc}]
+#
+return <<'END';
+0030 0039
+0041 005A
+005F
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+0300 0357
+035D 036F
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+0483 0486
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+05D0 05EA
+05F0 05F2
+0610 0615
+0621 063A
+0640 0658
+0660 0669
+066E 06D3
+06D5 06DC
+06DF 06E8
+06EA 06FC
+06FF
+0710 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0963
+0966 096F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09F1
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B6F
+0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BEF
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00
+0F18 0F19
+0F20 0F29
+0F35
+0F37
+0F39
+0F3E 0F47
+0F49 0F6A
+0F71 0F84
+0F86 0F8B
+0F90 0F97
+0F99 0FBC
+0FC6
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1049
+1050 1059
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1369 1371
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
+17D7
+17DC 17DD
+17E0 17E9
+180B 180D
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+203F 2040
+2054
+2071
+207F
+20D0 20DC
+20E1
+20E5 20EA
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+2160 2183
+3005 3007
+3021 302F
+3031 3035
+3038 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE23
+FE33 FE34
+FE4D FE4F
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
+FF3F
+FF41 FF5A
+FF65 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 1034A
+10380 1039D
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/IdStart.pl b/lib/unicore/lib/gc_sc/IdStart.pl
new file mode 100644
index 0000000000..a0430d0495
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IdStart.pl
@@ -0,0 +1,340 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{IdStart} (and fuzzy permutations)
+#
+# Meaning: [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}\p{Nl}]
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+05D0 05EA
+05F0 05F2
+0621 063A
+0640 064A
+066E 066F
+0671 06D3
+06D5
+06E5 06E6
+06EE 06EF
+06FA 06FC
+06FF
+0710
+0712 072F
+074D 074F
+0780 07A5
+07B1
+0904 0939
+093D
+0950
+0958 0961
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
+0A5E
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD
+0AD0
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD
+0CDE
+0CE0 0CE1
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D60 0D61
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EBD
+0EC0 0EC4
+0EC6
+0EDC 0EDD
+0F00
+0F40 0F47
+0F49 0F6A
+0F88 0F8B
+1000 1021
+1023 1027
+1029 102A
+1050 1055
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
+17D7
+17DC
+1820 1877
+1880 18A8
+1900 191C
+1950 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+2160 2183
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 1034A
+10380 1039D
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+20000 2A6D6
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/gc_sc/Ideo.pl b/lib/unicore/lib/gc_sc/Ideo.pl
new file mode 100644
index 0000000000..e53a5c9f40
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ideo.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Ideographic'
+#
+return <<'END';
+3006 3007 Ideographic
+3021 3029 Ideographic
+3038 303A Ideographic
+3400 4DB5 Ideographic
+4E00 9FA5 Ideographic
+F900 FA2D Ideographic
+20000 2A6D6 Ideographic
+2F800 2FA1D Ideographic
+END
diff --git a/lib/unicore/lib/gc_sc/Ideograp.pl b/lib/unicore/lib/gc_sc/Ideograp.pl
new file mode 100644
index 0000000000..01524b0004
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ideograp.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ideographic} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Ideographic'
+#
+return <<'END';
+3006 3007 Ideographic
+3021 3029 Ideographic
+3038 303A Ideographic
+3400 4DB5 Ideographic
+4E00 9FA5 Ideographic
+F900 FA2D Ideographic
+20000 2A6D6 Ideographic
+2F800 2FA1D Ideographic
+END
diff --git a/lib/unicore/lib/gc_sc/IdsBinar.pl b/lib/unicore/lib/gc_sc/IdsBinar.pl
new file mode 100644
index 0000000000..f4369d3c5d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IdsBinar.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{IdsBinaryOperator} (and fuzzy permutations)
+#
+# Meaning: Extended property 'IDS_Binary_Operator'
+#
+return <<'END';
+2FF0 2FF1 IDS_Binary_Operator
+2FF4 2FFB IDS_Binary_Operator
+END
diff --git a/lib/unicore/lib/gc_sc/IdsTrina.pl b/lib/unicore/lib/gc_sc/IdsTrina.pl
new file mode 100644
index 0000000000..c670c87c9f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/IdsTrina.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{IdsTrinaryOperator} (and fuzzy permutations)
+#
+# Meaning: Extended property 'IDS_Trinary_Operator'
+#
+return <<'END';
+2FF2 2FF3 IDS_Trinary_Operator
+END
diff --git a/lib/unicore/lib/gc_sc/InAegean.pl b/lib/unicore/lib/gc_sc/InAegean.pl
new file mode 100644
index 0000000000..cc79a02788
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InAegean.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InAegeanNumbers} (and fuzzy permutations)
+#
+# Meaning: Block 'Aegean Numbers'
+#
+return <<'END';
+10100 1013F Aegean Numbers
+END
diff --git a/lib/unicore/lib/gc_sc/InAlphab.pl b/lib/unicore/lib/gc_sc/InAlphab.pl
new file mode 100644
index 0000000000..077354b701
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InAlphab.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InAlphabeticPresentationForms} (and fuzzy permutations)
+#
+# Meaning: Block 'Alphabetic Presentation Forms'
+#
+return <<'END';
+FB00 FB4F Alphabetic Presentation Forms
+END
diff --git a/lib/unicore/lib/gc_sc/InArabi2.pl b/lib/unicore/lib/gc_sc/InArabi2.pl
new file mode 100644
index 0000000000..0c73cbaddb
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InArabi2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InArabicPresentationFormsB} (and fuzzy permutations)
+#
+# Meaning: Block 'Arabic Presentation Forms-B'
+#
+return <<'END';
+FE70 FEFF Arabic Presentation Forms-B
+END
diff --git a/lib/unicore/lib/gc_sc/InArabi3.pl b/lib/unicore/lib/gc_sc/InArabi3.pl
new file mode 100644
index 0000000000..d05b7d9e62
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InArabi3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InArabicPresentationFormsA} (and fuzzy permutations)
+#
+# Meaning: Block 'Arabic Presentation Forms-A'
+#
+return <<'END';
+FB50 FDFF Arabic Presentation Forms-A
+END
diff --git a/lib/unicore/lib/gc_sc/InArabic.pl b/lib/unicore/lib/gc_sc/InArabic.pl
new file mode 100644
index 0000000000..aa60b068c6
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InArabic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InArabic} (and fuzzy permutations)
+#
+# Meaning: Block 'Arabic'
+#
+return <<'END';
+0600 06FF Arabic
+END
diff --git a/lib/unicore/lib/gc_sc/InArmeni.pl b/lib/unicore/lib/gc_sc/InArmeni.pl
new file mode 100644
index 0000000000..789cbc27e1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InArmeni.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InArmenian} (and fuzzy permutations)
+#
+# Meaning: Block 'Armenian'
+#
+return <<'END';
+0530 058F Armenian
+END
diff --git a/lib/unicore/lib/gc_sc/InArrows.pl b/lib/unicore/lib/gc_sc/InArrows.pl
new file mode 100644
index 0000000000..028e3e7546
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InArrows.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InArrows} (and fuzzy permutations)
+#
+# Meaning: Block 'Arrows'
+#
+return <<'END';
+2190 21FF Arrows
+END
diff --git a/lib/unicore/lib/gc_sc/InBasicL.pl b/lib/unicore/lib/gc_sc/InBasicL.pl
new file mode 100644
index 0000000000..e1b019a400
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBasicL.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBasicLatin} (and fuzzy permutations)
+#
+# Meaning: Block 'Basic Latin'
+#
+return <<'END';
+0000 007F Basic Latin
+END
diff --git a/lib/unicore/lib/gc_sc/InBengal.pl b/lib/unicore/lib/gc_sc/InBengal.pl
new file mode 100644
index 0000000000..50b23eed58
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBengal.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBengali} (and fuzzy permutations)
+#
+# Meaning: Block 'Bengali'
+#
+return <<'END';
+0980 09FF Bengali
+END
diff --git a/lib/unicore/lib/gc_sc/InBlockE.pl b/lib/unicore/lib/gc_sc/InBlockE.pl
new file mode 100644
index 0000000000..a7fb74e514
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBlockE.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBlockElements} (and fuzzy permutations)
+#
+# Meaning: Block 'Block Elements'
+#
+return <<'END';
+2580 259F Block Elements
+END
diff --git a/lib/unicore/lib/gc_sc/InBopom2.pl b/lib/unicore/lib/gc_sc/InBopom2.pl
new file mode 100644
index 0000000000..2e68025f4b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBopom2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBopomofoExtended} (and fuzzy permutations)
+#
+# Meaning: Block 'Bopomofo Extended'
+#
+return <<'END';
+31A0 31BF Bopomofo Extended
+END
diff --git a/lib/unicore/lib/gc_sc/InBopomo.pl b/lib/unicore/lib/gc_sc/InBopomo.pl
new file mode 100644
index 0000000000..b5ef89cfd7
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBopomo.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBopomofo} (and fuzzy permutations)
+#
+# Meaning: Block 'Bopomofo'
+#
+return <<'END';
+3100 312F Bopomofo
+END
diff --git a/lib/unicore/lib/gc_sc/InBoxDra.pl b/lib/unicore/lib/gc_sc/InBoxDra.pl
new file mode 100644
index 0000000000..f98d5b9cef
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBoxDra.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBoxDrawing} (and fuzzy permutations)
+#
+# Meaning: Block 'Box Drawing'
+#
+return <<'END';
+2500 257F Box Drawing
+END
diff --git a/lib/unicore/lib/gc_sc/InBraill.pl b/lib/unicore/lib/gc_sc/InBraill.pl
new file mode 100644
index 0000000000..c3229754d8
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBraill.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBraillePatterns} (and fuzzy permutations)
+#
+# Meaning: Block 'Braille Patterns'
+#
+return <<'END';
+2800 28FF Braille Patterns
+END
diff --git a/lib/unicore/lib/gc_sc/InBuhid.pl b/lib/unicore/lib/gc_sc/InBuhid.pl
new file mode 100644
index 0000000000..53c924ed26
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InBuhid.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InBuhid} (and fuzzy permutations)
+#
+# Meaning: Block 'Buhid'
+#
+return <<'END';
+1740 175F Buhid
+END
diff --git a/lib/unicore/lib/gc_sc/InByzant.pl b/lib/unicore/lib/gc_sc/InByzant.pl
new file mode 100644
index 0000000000..85d4bd0cc3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InByzant.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InByzantineMusicalSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Byzantine Musical Symbols'
+#
+return <<'END';
+1D000 1D0FF Byzantine Musical Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InCherok.pl b/lib/unicore/lib/gc_sc/InCherok.pl
new file mode 100644
index 0000000000..cd72f1c136
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCherok.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCherokee} (and fuzzy permutations)
+#
+# Meaning: Block 'Cherokee'
+#
+return <<'END';
+13A0 13FF Cherokee
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkCo2.pl b/lib/unicore/lib/gc_sc/InCjkCo2.pl
new file mode 100644
index 0000000000..cc47a3717f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkCo2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkCompatibilityForms} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Compatibility Forms'
+#
+return <<'END';
+FE30 FE4F CJK Compatibility Forms
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkCo3.pl b/lib/unicore/lib/gc_sc/InCjkCo3.pl
new file mode 100644
index 0000000000..bf3387cd61
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkCo3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkCompatibilityIdeographs} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Compatibility Ideographs'
+#
+return <<'END';
+F900 FAFF CJK Compatibility Ideographs
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkCo4.pl b/lib/unicore/lib/gc_sc/InCjkCo4.pl
new file mode 100644
index 0000000000..0e280e12d8
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkCo4.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkCompatibilityIdeographsSupplement} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Compatibility Ideographs Supplement'
+#
+return <<'END';
+2F800 2FA1F CJK Compatibility Ideographs Supplement
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkCom.pl b/lib/unicore/lib/gc_sc/InCjkCom.pl
new file mode 100644
index 0000000000..28ddd82a36
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkCom.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkCompatibility} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Compatibility'
+#
+return <<'END';
+3300 33FF CJK Compatibility
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkRad.pl b/lib/unicore/lib/gc_sc/InCjkRad.pl
new file mode 100644
index 0000000000..d89d3db21a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkRad.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkRadicalsSupplement} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Radicals Supplement'
+#
+return <<'END';
+2E80 2EFF CJK Radicals Supplement
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkSym.pl b/lib/unicore/lib/gc_sc/InCjkSym.pl
new file mode 100644
index 0000000000..d40cb8942a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkSym.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkSymbolsAndPunctuation} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Symbols and Punctuation'
+#
+return <<'END';
+3000 303F CJK Symbols and Punctuation
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkUn2.pl b/lib/unicore/lib/gc_sc/InCjkUn2.pl
new file mode 100644
index 0000000000..1ef3202509
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkUn2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkUnifiedIdeographsExtensionB} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Unified Ideographs Extension B'
+#
+return <<'END';
+20000 2A6DF CJK Unified Ideographs Extension B
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkUn3.pl b/lib/unicore/lib/gc_sc/InCjkUn3.pl
new file mode 100644
index 0000000000..49496758c5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkUn3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkUnifiedIdeographsExtensionA} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Unified Ideographs Extension A'
+#
+return <<'END';
+3400 4DBF CJK Unified Ideographs Extension A
+END
diff --git a/lib/unicore/lib/gc_sc/InCjkUni.pl b/lib/unicore/lib/gc_sc/InCjkUni.pl
new file mode 100644
index 0000000000..b6f4934beb
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCjkUni.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCjkUnifiedIdeographs} (and fuzzy permutations)
+#
+# Meaning: Block 'CJK Unified Ideographs'
+#
+return <<'END';
+4E00 9FFF CJK Unified Ideographs
+END
diff --git a/lib/unicore/lib/gc_sc/InCombi2.pl b/lib/unicore/lib/gc_sc/InCombi2.pl
new file mode 100644
index 0000000000..1d3f01809f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCombi2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCombiningDiacriticalMarks} (and fuzzy permutations)
+#
+# Meaning: Block 'Combining Diacritical Marks'
+#
+return <<'END';
+0300 036F Combining Diacritical Marks
+END
diff --git a/lib/unicore/lib/gc_sc/InCombi3.pl b/lib/unicore/lib/gc_sc/InCombi3.pl
new file mode 100644
index 0000000000..192f74bf1b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCombi3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCombiningDiacriticalMarksForSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Combining Diacritical Marks for Symbols'
+#
+return <<'END';
+20D0 20FF Combining Diacritical Marks for Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InCombin.pl b/lib/unicore/lib/gc_sc/InCombin.pl
new file mode 100644
index 0000000000..0bcbaa8833
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCombin.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCombiningHalfMarks} (and fuzzy permutations)
+#
+# Meaning: Block 'Combining Half Marks'
+#
+return <<'END';
+FE20 FE2F Combining Half Marks
+END
diff --git a/lib/unicore/lib/gc_sc/InContro.pl b/lib/unicore/lib/gc_sc/InContro.pl
new file mode 100644
index 0000000000..5827448516
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InContro.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InControlPictures} (and fuzzy permutations)
+#
+# Meaning: Block 'Control Pictures'
+#
+return <<'END';
+2400 243F Control Pictures
+END
diff --git a/lib/unicore/lib/gc_sc/InCurren.pl b/lib/unicore/lib/gc_sc/InCurren.pl
new file mode 100644
index 0000000000..c5778875dd
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCurren.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCurrencySymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Currency Symbols'
+#
+return <<'END';
+20A0 20CF Currency Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InCyprio.pl b/lib/unicore/lib/gc_sc/InCyprio.pl
new file mode 100644
index 0000000000..f1f53874a9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCyprio.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCypriotSyllabary} (and fuzzy permutations)
+#
+# Meaning: Block 'Cypriot Syllabary'
+#
+return <<'END';
+10800 1083F Cypriot Syllabary
+END
diff --git a/lib/unicore/lib/gc_sc/InCyril2.pl b/lib/unicore/lib/gc_sc/InCyril2.pl
new file mode 100644
index 0000000000..0f748ef501
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCyril2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCyrillicSupplement} (and fuzzy permutations)
+#
+# Meaning: Block 'Cyrillic Supplement'
+#
+return <<'END';
+0500 052F Cyrillic Supplement
+END
diff --git a/lib/unicore/lib/gc_sc/InCyrill.pl b/lib/unicore/lib/gc_sc/InCyrill.pl
new file mode 100644
index 0000000000..fc252cfcd5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InCyrill.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InCyrillic} (and fuzzy permutations)
+#
+# Meaning: Block 'Cyrillic'
+#
+return <<'END';
+0400 04FF Cyrillic
+END
diff --git a/lib/unicore/lib/gc_sc/InDesere.pl b/lib/unicore/lib/gc_sc/InDesere.pl
new file mode 100644
index 0000000000..1f670a5e54
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InDesere.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InDeseret} (and fuzzy permutations)
+#
+# Meaning: Block 'Deseret'
+#
+return <<'END';
+10400 1044F Deseret
+END
diff --git a/lib/unicore/lib/gc_sc/InDevana.pl b/lib/unicore/lib/gc_sc/InDevana.pl
new file mode 100644
index 0000000000..147b3ba239
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InDevana.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InDevanagari} (and fuzzy permutations)
+#
+# Meaning: Block 'Devanagari'
+#
+return <<'END';
+0900 097F Devanagari
+END
diff --git a/lib/unicore/lib/gc_sc/InDingba.pl b/lib/unicore/lib/gc_sc/InDingba.pl
new file mode 100644
index 0000000000..758fe902a3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InDingba.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InDingbats} (and fuzzy permutations)
+#
+# Meaning: Block 'Dingbats'
+#
+return <<'END';
+2700 27BF Dingbats
+END
diff --git a/lib/unicore/lib/gc_sc/InEnclo2.pl b/lib/unicore/lib/gc_sc/InEnclo2.pl
new file mode 100644
index 0000000000..8f040d22cf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InEnclo2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InEnclosedCjkLettersAndMonths} (and fuzzy permutations)
+#
+# Meaning: Block 'Enclosed CJK Letters and Months'
+#
+return <<'END';
+3200 32FF Enclosed CJK Letters and Months
+END
diff --git a/lib/unicore/lib/gc_sc/InEnclos.pl b/lib/unicore/lib/gc_sc/InEnclos.pl
new file mode 100644
index 0000000000..2a8fc240d4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InEnclos.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InEnclosedAlphanumerics} (and fuzzy permutations)
+#
+# Meaning: Block 'Enclosed Alphanumerics'
+#
+return <<'END';
+2460 24FF Enclosed Alphanumerics
+END
diff --git a/lib/unicore/lib/gc_sc/InEthiop.pl b/lib/unicore/lib/gc_sc/InEthiop.pl
new file mode 100644
index 0000000000..5a9c8058c9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InEthiop.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InEthiopic} (and fuzzy permutations)
+#
+# Meaning: Block 'Ethiopic'
+#
+return <<'END';
+1200 137F Ethiopic
+END
diff --git a/lib/unicore/lib/gc_sc/InGenera.pl b/lib/unicore/lib/gc_sc/InGenera.pl
new file mode 100644
index 0000000000..c8f64b98c1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGenera.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGeneralPunctuation} (and fuzzy permutations)
+#
+# Meaning: Block 'General Punctuation'
+#
+return <<'END';
+2000 206F General Punctuation
+END
diff --git a/lib/unicore/lib/gc_sc/InGeomet.pl b/lib/unicore/lib/gc_sc/InGeomet.pl
new file mode 100644
index 0000000000..f6f80ef24e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGeomet.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGeometricShapes} (and fuzzy permutations)
+#
+# Meaning: Block 'Geometric Shapes'
+#
+return <<'END';
+25A0 25FF Geometric Shapes
+END
diff --git a/lib/unicore/lib/gc_sc/InGeorgi.pl b/lib/unicore/lib/gc_sc/InGeorgi.pl
new file mode 100644
index 0000000000..c91f2e01dd
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGeorgi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGeorgian} (and fuzzy permutations)
+#
+# Meaning: Block 'Georgian'
+#
+return <<'END';
+10A0 10FF Georgian
+END
diff --git a/lib/unicore/lib/gc_sc/InGothic.pl b/lib/unicore/lib/gc_sc/InGothic.pl
new file mode 100644
index 0000000000..8e6db64ce9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGothic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGothic} (and fuzzy permutations)
+#
+# Meaning: Block 'Gothic'
+#
+return <<'END';
+10330 1034F Gothic
+END
diff --git a/lib/unicore/lib/gc_sc/InGreekA.pl b/lib/unicore/lib/gc_sc/InGreekA.pl
new file mode 100644
index 0000000000..404e968752
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGreekA.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGreekAndCoptic} (and fuzzy permutations)
+#
+# Meaning: Block 'Greek and Coptic'
+#
+return <<'END';
+0370 03FF Greek and Coptic
+END
diff --git a/lib/unicore/lib/gc_sc/InGreekE.pl b/lib/unicore/lib/gc_sc/InGreekE.pl
new file mode 100644
index 0000000000..941e892f9c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGreekE.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGreekExtended} (and fuzzy permutations)
+#
+# Meaning: Block 'Greek Extended'
+#
+return <<'END';
+1F00 1FFF Greek Extended
+END
diff --git a/lib/unicore/lib/gc_sc/InGujara.pl b/lib/unicore/lib/gc_sc/InGujara.pl
new file mode 100644
index 0000000000..6028b4411e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGujara.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGujarati} (and fuzzy permutations)
+#
+# Meaning: Block 'Gujarati'
+#
+return <<'END';
+0A80 0AFF Gujarati
+END
diff --git a/lib/unicore/lib/gc_sc/InGurmuk.pl b/lib/unicore/lib/gc_sc/InGurmuk.pl
new file mode 100644
index 0000000000..53dbbdbde9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InGurmuk.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InGurmukhi} (and fuzzy permutations)
+#
+# Meaning: Block 'Gurmukhi'
+#
+return <<'END';
+0A00 0A7F Gurmukhi
+END
diff --git a/lib/unicore/lib/gc_sc/InHalfwi.pl b/lib/unicore/lib/gc_sc/InHalfwi.pl
new file mode 100644
index 0000000000..a03cb11434
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHalfwi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHalfwidthAndFullwidthForms} (and fuzzy permutations)
+#
+# Meaning: Block 'Halfwidth and Fullwidth Forms'
+#
+return <<'END';
+FF00 FFEF Halfwidth and Fullwidth Forms
+END
diff --git a/lib/unicore/lib/gc_sc/InHangu2.pl b/lib/unicore/lib/gc_sc/InHangu2.pl
new file mode 100644
index 0000000000..558674c704
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHangu2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHangulSyllables} (and fuzzy permutations)
+#
+# Meaning: Block 'Hangul Syllables'
+#
+return <<'END';
+AC00 D7AF Hangul Syllables
+END
diff --git a/lib/unicore/lib/gc_sc/InHangu3.pl b/lib/unicore/lib/gc_sc/InHangu3.pl
new file mode 100644
index 0000000000..87e35ea36e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHangu3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHangulCompatibilityJamo} (and fuzzy permutations)
+#
+# Meaning: Block 'Hangul Compatibility Jamo'
+#
+return <<'END';
+3130 318F Hangul Compatibility Jamo
+END
diff --git a/lib/unicore/lib/gc_sc/InHangul.pl b/lib/unicore/lib/gc_sc/InHangul.pl
new file mode 100644
index 0000000000..c73c165099
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHangul.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHangulJamo} (and fuzzy permutations)
+#
+# Meaning: Block 'Hangul Jamo'
+#
+return <<'END';
+1100 11FF Hangul Jamo
+END
diff --git a/lib/unicore/lib/gc_sc/InHanuno.pl b/lib/unicore/lib/gc_sc/InHanuno.pl
new file mode 100644
index 0000000000..38802fff08
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHanuno.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHanunoo} (and fuzzy permutations)
+#
+# Meaning: Block 'Hanunoo'
+#
+return <<'END';
+1720 173F Hanunoo
+END
diff --git a/lib/unicore/lib/gc_sc/InHebrew.pl b/lib/unicore/lib/gc_sc/InHebrew.pl
new file mode 100644
index 0000000000..ab060cc410
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHebrew.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHebrew} (and fuzzy permutations)
+#
+# Meaning: Block 'Hebrew'
+#
+return <<'END';
+0590 05FF Hebrew
+END
diff --git a/lib/unicore/lib/gc_sc/InHighPr.pl b/lib/unicore/lib/gc_sc/InHighPr.pl
new file mode 100644
index 0000000000..df0eaebc3c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHighPr.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHighPrivateUseSurrogates} (and fuzzy permutations)
+#
+# Meaning: Block 'High Private Use Surrogates'
+#
+return <<'END';
+DB80 DBFF High Private Use Surrogates
+END
diff --git a/lib/unicore/lib/gc_sc/InHighSu.pl b/lib/unicore/lib/gc_sc/InHighSu.pl
new file mode 100644
index 0000000000..52d7582048
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHighSu.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHighSurrogates} (and fuzzy permutations)
+#
+# Meaning: Block 'High Surrogates'
+#
+return <<'END';
+D800 DB7F High Surrogates
+END
diff --git a/lib/unicore/lib/gc_sc/InHiraga.pl b/lib/unicore/lib/gc_sc/InHiraga.pl
new file mode 100644
index 0000000000..d683fc34ab
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InHiraga.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InHiragana} (and fuzzy permutations)
+#
+# Meaning: Block 'Hiragana'
+#
+return <<'END';
+3040 309F Hiragana
+END
diff --git a/lib/unicore/lib/gc_sc/InIdeogr.pl b/lib/unicore/lib/gc_sc/InIdeogr.pl
new file mode 100644
index 0000000000..9e5798a479
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InIdeogr.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InIdeographicDescriptionCharacters} (and fuzzy permutations)
+#
+# Meaning: Block 'Ideographic Description Characters'
+#
+return <<'END';
+2FF0 2FFF Ideographic Description Characters
+END
diff --git a/lib/unicore/lib/gc_sc/InIpaExt.pl b/lib/unicore/lib/gc_sc/InIpaExt.pl
new file mode 100644
index 0000000000..ad4bd5f3da
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InIpaExt.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InIpaExtensions} (and fuzzy permutations)
+#
+# Meaning: Block 'IPA Extensions'
+#
+return <<'END';
+0250 02AF IPA Extensions
+END
diff --git a/lib/unicore/lib/gc_sc/InKanbun.pl b/lib/unicore/lib/gc_sc/InKanbun.pl
new file mode 100644
index 0000000000..86a2c184c5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKanbun.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKanbun} (and fuzzy permutations)
+#
+# Meaning: Block 'Kanbun'
+#
+return <<'END';
+3190 319F Kanbun
+END
diff --git a/lib/unicore/lib/gc_sc/InKangxi.pl b/lib/unicore/lib/gc_sc/InKangxi.pl
new file mode 100644
index 0000000000..4ad505a139
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKangxi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKangxiRadicals} (and fuzzy permutations)
+#
+# Meaning: Block 'Kangxi Radicals'
+#
+return <<'END';
+2F00 2FDF Kangxi Radicals
+END
diff --git a/lib/unicore/lib/gc_sc/InKannad.pl b/lib/unicore/lib/gc_sc/InKannad.pl
new file mode 100644
index 0000000000..fa11e21ef2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKannad.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKannada} (and fuzzy permutations)
+#
+# Meaning: Block 'Kannada'
+#
+return <<'END';
+0C80 0CFF Kannada
+END
diff --git a/lib/unicore/lib/gc_sc/InKatak2.pl b/lib/unicore/lib/gc_sc/InKatak2.pl
new file mode 100644
index 0000000000..5be44f8eb3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKatak2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKatakanaPhoneticExtensions} (and fuzzy permutations)
+#
+# Meaning: Block 'Katakana Phonetic Extensions'
+#
+return <<'END';
+31F0 31FF Katakana Phonetic Extensions
+END
diff --git a/lib/unicore/lib/gc_sc/InKataka.pl b/lib/unicore/lib/gc_sc/InKataka.pl
new file mode 100644
index 0000000000..00abc4a8ea
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKataka.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKatakana} (and fuzzy permutations)
+#
+# Meaning: Block 'Katakana'
+#
+return <<'END';
+30A0 30FF Katakana
+END
diff --git a/lib/unicore/lib/gc_sc/InKhmer.pl b/lib/unicore/lib/gc_sc/InKhmer.pl
new file mode 100644
index 0000000000..062e5448ec
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKhmer.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKhmer} (and fuzzy permutations)
+#
+# Meaning: Block 'Khmer'
+#
+return <<'END';
+1780 17FF Khmer
+END
diff --git a/lib/unicore/lib/gc_sc/InKhmerS.pl b/lib/unicore/lib/gc_sc/InKhmerS.pl
new file mode 100644
index 0000000000..4de36f31bf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InKhmerS.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InKhmerSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Khmer Symbols'
+#
+return <<'END';
+19E0 19FF Khmer Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InLao.pl b/lib/unicore/lib/gc_sc/InLao.pl
new file mode 100644
index 0000000000..48d350e6b6
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLao.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLao} (and fuzzy permutations)
+#
+# Meaning: Block 'Lao'
+#
+return <<'END';
+0E80 0EFF Lao
+END
diff --git a/lib/unicore/lib/gc_sc/InLatin1.pl b/lib/unicore/lib/gc_sc/InLatin1.pl
new file mode 100644
index 0000000000..0c226d9dfe
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLatin1.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLatin1Supplement} (and fuzzy permutations)
+#
+# Meaning: Block 'Latin-1 Supplement'
+#
+return <<'END';
+0080 00FF Latin-1 Supplement
+END
diff --git a/lib/unicore/lib/gc_sc/InLatin2.pl b/lib/unicore/lib/gc_sc/InLatin2.pl
new file mode 100644
index 0000000000..0cc83e013b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLatin2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLatinExtendedA} (and fuzzy permutations)
+#
+# Meaning: Block 'Latin Extended-A'
+#
+return <<'END';
+0100 017F Latin Extended-A
+END
diff --git a/lib/unicore/lib/gc_sc/InLatin3.pl b/lib/unicore/lib/gc_sc/InLatin3.pl
new file mode 100644
index 0000000000..9e507e3698
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLatin3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLatinExtendedAdditional} (and fuzzy permutations)
+#
+# Meaning: Block 'Latin Extended Additional'
+#
+return <<'END';
+1E00 1EFF Latin Extended Additional
+END
diff --git a/lib/unicore/lib/gc_sc/InLatinE.pl b/lib/unicore/lib/gc_sc/InLatinE.pl
new file mode 100644
index 0000000000..bcd85ce3f2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLatinE.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLatinExtendedB} (and fuzzy permutations)
+#
+# Meaning: Block 'Latin Extended-B'
+#
+return <<'END';
+0180 024F Latin Extended-B
+END
diff --git a/lib/unicore/lib/gc_sc/InLetter.pl b/lib/unicore/lib/gc_sc/InLetter.pl
new file mode 100644
index 0000000000..30cb9322c0
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLetter.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLetterlikeSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Letterlike Symbols'
+#
+return <<'END';
+2100 214F Letterlike Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InLimbu.pl b/lib/unicore/lib/gc_sc/InLimbu.pl
new file mode 100644
index 0000000000..18f69237c3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLimbu.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLimbu} (and fuzzy permutations)
+#
+# Meaning: Block 'Limbu'
+#
+return <<'END';
+1900 194F Limbu
+END
diff --git a/lib/unicore/lib/gc_sc/InLinea2.pl b/lib/unicore/lib/gc_sc/InLinea2.pl
new file mode 100644
index 0000000000..d988b319af
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLinea2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLinearBSyllabary} (and fuzzy permutations)
+#
+# Meaning: Block 'Linear B Syllabary'
+#
+return <<'END';
+10000 1007F Linear B Syllabary
+END
diff --git a/lib/unicore/lib/gc_sc/InLinear.pl b/lib/unicore/lib/gc_sc/InLinear.pl
new file mode 100644
index 0000000000..26fa532dbc
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLinear.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLinearBIdeograms} (and fuzzy permutations)
+#
+# Meaning: Block 'Linear B Ideograms'
+#
+return <<'END';
+10080 100FF Linear B Ideograms
+END
diff --git a/lib/unicore/lib/gc_sc/InLowSur.pl b/lib/unicore/lib/gc_sc/InLowSur.pl
new file mode 100644
index 0000000000..2a8df1afd9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InLowSur.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InLowSurrogates} (and fuzzy permutations)
+#
+# Meaning: Block 'Low Surrogates'
+#
+return <<'END';
+DC00 DFFF Low Surrogates
+END
diff --git a/lib/unicore/lib/gc_sc/InMalaya.pl b/lib/unicore/lib/gc_sc/InMalaya.pl
new file mode 100644
index 0000000000..4963a2e752
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMalaya.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMalayalam} (and fuzzy permutations)
+#
+# Meaning: Block 'Malayalam'
+#
+return <<'END';
+0D00 0D7F Malayalam
+END
diff --git a/lib/unicore/lib/gc_sc/InMathe2.pl b/lib/unicore/lib/gc_sc/InMathe2.pl
new file mode 100644
index 0000000000..28fad1fe92
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMathe2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMathematicalAlphanumericSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Mathematical Alphanumeric Symbols'
+#
+return <<'END';
+1D400 1D7FF Mathematical Alphanumeric Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InMathem.pl b/lib/unicore/lib/gc_sc/InMathem.pl
new file mode 100644
index 0000000000..7e4b77e48a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMathem.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMathematicalOperators} (and fuzzy permutations)
+#
+# Meaning: Block 'Mathematical Operators'
+#
+return <<'END';
+2200 22FF Mathematical Operators
+END
diff --git a/lib/unicore/lib/gc_sc/InMisce2.pl b/lib/unicore/lib/gc_sc/InMisce2.pl
new file mode 100644
index 0000000000..cb5de83c68
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMisce2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMiscellaneousTechnical} (and fuzzy permutations)
+#
+# Meaning: Block 'Miscellaneous Technical'
+#
+return <<'END';
+2300 23FF Miscellaneous Technical
+END
diff --git a/lib/unicore/lib/gc_sc/InMisce3.pl b/lib/unicore/lib/gc_sc/InMisce3.pl
new file mode 100644
index 0000000000..2df83f9e50
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMisce3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMiscellaneousSymbolsAndArrows} (and fuzzy permutations)
+#
+# Meaning: Block 'Miscellaneous Symbols and Arrows'
+#
+return <<'END';
+2B00 2BFF Miscellaneous Symbols and Arrows
+END
diff --git a/lib/unicore/lib/gc_sc/InMisce4.pl b/lib/unicore/lib/gc_sc/InMisce4.pl
new file mode 100644
index 0000000000..1be2bed910
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMisce4.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMiscellaneousMathematicalSymbolsA} (and fuzzy permutations)
+#
+# Meaning: Block 'Miscellaneous Mathematical Symbols-A'
+#
+return <<'END';
+27C0 27EF Miscellaneous Mathematical Symbols-A
+END
diff --git a/lib/unicore/lib/gc_sc/InMisce5.pl b/lib/unicore/lib/gc_sc/InMisce5.pl
new file mode 100644
index 0000000000..765410a21c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMisce5.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMiscellaneousMathematicalSymbolsB} (and fuzzy permutations)
+#
+# Meaning: Block 'Miscellaneous Mathematical Symbols-B'
+#
+return <<'END';
+2980 29FF Miscellaneous Mathematical Symbols-B
+END
diff --git a/lib/unicore/lib/gc_sc/InMiscel.pl b/lib/unicore/lib/gc_sc/InMiscel.pl
new file mode 100644
index 0000000000..e03e58a640
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMiscel.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMiscellaneousSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Miscellaneous Symbols'
+#
+return <<'END';
+2600 26FF Miscellaneous Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InMongol.pl b/lib/unicore/lib/gc_sc/InMongol.pl
new file mode 100644
index 0000000000..facdf8583b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMongol.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMongolian} (and fuzzy permutations)
+#
+# Meaning: Block 'Mongolian'
+#
+return <<'END';
+1800 18AF Mongolian
+END
diff --git a/lib/unicore/lib/gc_sc/InMusica.pl b/lib/unicore/lib/gc_sc/InMusica.pl
new file mode 100644
index 0000000000..e13a83ed3d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMusica.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMusicalSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Musical Symbols'
+#
+return <<'END';
+1D100 1D1FF Musical Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InMyanma.pl b/lib/unicore/lib/gc_sc/InMyanma.pl
new file mode 100644
index 0000000000..4fc596ad29
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InMyanma.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InMyanmar} (and fuzzy permutations)
+#
+# Meaning: Block 'Myanmar'
+#
+return <<'END';
+1000 109F Myanmar
+END
diff --git a/lib/unicore/lib/gc_sc/InNumber.pl b/lib/unicore/lib/gc_sc/InNumber.pl
new file mode 100644
index 0000000000..e962dad183
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InNumber.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InNumberForms} (and fuzzy permutations)
+#
+# Meaning: Block 'Number Forms'
+#
+return <<'END';
+2150 218F Number Forms
+END
diff --git a/lib/unicore/lib/gc_sc/InOgham.pl b/lib/unicore/lib/gc_sc/InOgham.pl
new file mode 100644
index 0000000000..aabf05a046
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InOgham.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InOgham} (and fuzzy permutations)
+#
+# Meaning: Block 'Ogham'
+#
+return <<'END';
+1680 169F Ogham
+END
diff --git a/lib/unicore/lib/gc_sc/InOldIta.pl b/lib/unicore/lib/gc_sc/InOldIta.pl
new file mode 100644
index 0000000000..4a20df5038
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InOldIta.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InOldItalic} (and fuzzy permutations)
+#
+# Meaning: Block 'Old Italic'
+#
+return <<'END';
+10300 1032F Old Italic
+END
diff --git a/lib/unicore/lib/gc_sc/InOptica.pl b/lib/unicore/lib/gc_sc/InOptica.pl
new file mode 100644
index 0000000000..a191ec9621
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InOptica.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InOpticalCharacterRecognition} (and fuzzy permutations)
+#
+# Meaning: Block 'Optical Character Recognition'
+#
+return <<'END';
+2440 245F Optical Character Recognition
+END
diff --git a/lib/unicore/lib/gc_sc/InOriya.pl b/lib/unicore/lib/gc_sc/InOriya.pl
new file mode 100644
index 0000000000..a44c55a261
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InOriya.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InOriya} (and fuzzy permutations)
+#
+# Meaning: Block 'Oriya'
+#
+return <<'END';
+0B00 0B7F Oriya
+END
diff --git a/lib/unicore/lib/gc_sc/InOsmany.pl b/lib/unicore/lib/gc_sc/InOsmany.pl
new file mode 100644
index 0000000000..9ec5f8b703
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InOsmany.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InOsmanya} (and fuzzy permutations)
+#
+# Meaning: Block 'Osmanya'
+#
+return <<'END';
+10480 104AF Osmanya
+END
diff --git a/lib/unicore/lib/gc_sc/InPhonet.pl b/lib/unicore/lib/gc_sc/InPhonet.pl
new file mode 100644
index 0000000000..017d026a9b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InPhonet.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InPhoneticExtensions} (and fuzzy permutations)
+#
+# Meaning: Block 'Phonetic Extensions'
+#
+return <<'END';
+1D00 1D7F Phonetic Extensions
+END
diff --git a/lib/unicore/lib/gc_sc/InPrivat.pl b/lib/unicore/lib/gc_sc/InPrivat.pl
new file mode 100644
index 0000000000..42fcd64103
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InPrivat.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InPrivateUseArea} (and fuzzy permutations)
+#
+# Meaning: Block 'Private Use Area'
+#
+return <<'END';
+E000 F8FF Private Use Area
+END
diff --git a/lib/unicore/lib/gc_sc/InRunic.pl b/lib/unicore/lib/gc_sc/InRunic.pl
new file mode 100644
index 0000000000..786799e705
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InRunic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InRunic} (and fuzzy permutations)
+#
+# Meaning: Block 'Runic'
+#
+return <<'END';
+16A0 16FF Runic
+END
diff --git a/lib/unicore/lib/gc_sc/InShavia.pl b/lib/unicore/lib/gc_sc/InShavia.pl
new file mode 100644
index 0000000000..341fb51395
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InShavia.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InShavian} (and fuzzy permutations)
+#
+# Meaning: Block 'Shavian'
+#
+return <<'END';
+10450 1047F Shavian
+END
diff --git a/lib/unicore/lib/gc_sc/InSinhal.pl b/lib/unicore/lib/gc_sc/InSinhal.pl
new file mode 100644
index 0000000000..6a374728ff
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSinhal.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSinhala} (and fuzzy permutations)
+#
+# Meaning: Block 'Sinhala'
+#
+return <<'END';
+0D80 0DFF Sinhala
+END
diff --git a/lib/unicore/lib/gc_sc/InSmallF.pl b/lib/unicore/lib/gc_sc/InSmallF.pl
new file mode 100644
index 0000000000..011abec757
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSmallF.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSmallFormVariants} (and fuzzy permutations)
+#
+# Meaning: Block 'Small Form Variants'
+#
+return <<'END';
+FE50 FE6F Small Form Variants
+END
diff --git a/lib/unicore/lib/gc_sc/InSpacin.pl b/lib/unicore/lib/gc_sc/InSpacin.pl
new file mode 100644
index 0000000000..960ec0adde
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSpacin.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSpacingModifierLetters} (and fuzzy permutations)
+#
+# Meaning: Block 'Spacing Modifier Letters'
+#
+return <<'END';
+02B0 02FF Spacing Modifier Letters
+END
diff --git a/lib/unicore/lib/gc_sc/InSpecia.pl b/lib/unicore/lib/gc_sc/InSpecia.pl
new file mode 100644
index 0000000000..85771f6a27
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSpecia.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSpecials} (and fuzzy permutations)
+#
+# Meaning: Block 'Specials'
+#
+return <<'END';
+FFF0 FFFF Specials
+END
diff --git a/lib/unicore/lib/gc_sc/InSupers.pl b/lib/unicore/lib/gc_sc/InSupers.pl
new file mode 100644
index 0000000000..df6a9adf68
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSupers.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSuperscriptsAndSubscripts} (and fuzzy permutations)
+#
+# Meaning: Block 'Superscripts and Subscripts'
+#
+return <<'END';
+2070 209F Superscripts and Subscripts
+END
diff --git a/lib/unicore/lib/gc_sc/InSuppl2.pl b/lib/unicore/lib/gc_sc/InSuppl2.pl
new file mode 100644
index 0000000000..d6201c7377
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSuppl2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSupplementalArrowsA} (and fuzzy permutations)
+#
+# Meaning: Block 'Supplemental Arrows-A'
+#
+return <<'END';
+27F0 27FF Supplemental Arrows-A
+END
diff --git a/lib/unicore/lib/gc_sc/InSuppl3.pl b/lib/unicore/lib/gc_sc/InSuppl3.pl
new file mode 100644
index 0000000000..ed610354f9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSuppl3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSupplementaryPrivateUseAreaA} (and fuzzy permutations)
+#
+# Meaning: Block 'Supplementary Private Use Area-A'
+#
+return <<'END';
+F0000 FFFFF Supplementary Private Use Area-A
+END
diff --git a/lib/unicore/lib/gc_sc/InSuppl4.pl b/lib/unicore/lib/gc_sc/InSuppl4.pl
new file mode 100644
index 0000000000..19e3d66905
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSuppl4.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSupplementaryPrivateUseAreaB} (and fuzzy permutations)
+#
+# Meaning: Block 'Supplementary Private Use Area-B'
+#
+return <<'END';
+100000 10FFFF Supplementary Private Use Area-B
+END
diff --git a/lib/unicore/lib/gc_sc/InSuppl5.pl b/lib/unicore/lib/gc_sc/InSuppl5.pl
new file mode 100644
index 0000000000..a5efef621a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSuppl5.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSupplementalMathematicalOperators} (and fuzzy permutations)
+#
+# Meaning: Block 'Supplemental Mathematical Operators'
+#
+return <<'END';
+2A00 2AFF Supplemental Mathematical Operators
+END
diff --git a/lib/unicore/lib/gc_sc/InSupple.pl b/lib/unicore/lib/gc_sc/InSupple.pl
new file mode 100644
index 0000000000..755dc68356
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSupple.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSupplementalArrowsB} (and fuzzy permutations)
+#
+# Meaning: Block 'Supplemental Arrows-B'
+#
+return <<'END';
+2900 297F Supplemental Arrows-B
+END
diff --git a/lib/unicore/lib/gc_sc/InSyriac.pl b/lib/unicore/lib/gc_sc/InSyriac.pl
new file mode 100644
index 0000000000..aed8b10fab
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InSyriac.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InSyriac} (and fuzzy permutations)
+#
+# Meaning: Block 'Syriac'
+#
+return <<'END';
+0700 074F Syriac
+END
diff --git a/lib/unicore/lib/gc_sc/InTagalo.pl b/lib/unicore/lib/gc_sc/InTagalo.pl
new file mode 100644
index 0000000000..32a9c5840d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTagalo.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTagalog} (and fuzzy permutations)
+#
+# Meaning: Block 'Tagalog'
+#
+return <<'END';
+1700 171F Tagalog
+END
diff --git a/lib/unicore/lib/gc_sc/InTagban.pl b/lib/unicore/lib/gc_sc/InTagban.pl
new file mode 100644
index 0000000000..ed664910df
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTagban.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTagbanwa} (and fuzzy permutations)
+#
+# Meaning: Block 'Tagbanwa'
+#
+return <<'END';
+1760 177F Tagbanwa
+END
diff --git a/lib/unicore/lib/gc_sc/InTags.pl b/lib/unicore/lib/gc_sc/InTags.pl
new file mode 100644
index 0000000000..6dff3c0bff
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTags.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTags} (and fuzzy permutations)
+#
+# Meaning: Block 'Tags'
+#
+return <<'END';
+E0000 E007F Tags
+END
diff --git a/lib/unicore/lib/gc_sc/InTaiLe.pl b/lib/unicore/lib/gc_sc/InTaiLe.pl
new file mode 100644
index 0000000000..f5e01dc650
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTaiLe.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTaiLe} (and fuzzy permutations)
+#
+# Meaning: Block 'Tai Le'
+#
+return <<'END';
+1950 197F Tai Le
+END
diff --git a/lib/unicore/lib/gc_sc/InTaiXua.pl b/lib/unicore/lib/gc_sc/InTaiXua.pl
new file mode 100644
index 0000000000..16bb6ec493
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTaiXua.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTaiXuanJingSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Tai Xuan Jing Symbols'
+#
+return <<'END';
+1D300 1D35F Tai Xuan Jing Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/InTamil.pl b/lib/unicore/lib/gc_sc/InTamil.pl
new file mode 100644
index 0000000000..8880319d95
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTamil.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTamil} (and fuzzy permutations)
+#
+# Meaning: Block 'Tamil'
+#
+return <<'END';
+0B80 0BFF Tamil
+END
diff --git a/lib/unicore/lib/gc_sc/InTelugu.pl b/lib/unicore/lib/gc_sc/InTelugu.pl
new file mode 100644
index 0000000000..a67de0ac2a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTelugu.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTelugu} (and fuzzy permutations)
+#
+# Meaning: Block 'Telugu'
+#
+return <<'END';
+0C00 0C7F Telugu
+END
diff --git a/lib/unicore/lib/gc_sc/InThaana.pl b/lib/unicore/lib/gc_sc/InThaana.pl
new file mode 100644
index 0000000000..118ea7217b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InThaana.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InThaana} (and fuzzy permutations)
+#
+# Meaning: Block 'Thaana'
+#
+return <<'END';
+0780 07BF Thaana
+END
diff --git a/lib/unicore/lib/gc_sc/InThai.pl b/lib/unicore/lib/gc_sc/InThai.pl
new file mode 100644
index 0000000000..584ac9c236
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InThai.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InThai} (and fuzzy permutations)
+#
+# Meaning: Block 'Thai'
+#
+return <<'END';
+0E00 0E7F Thai
+END
diff --git a/lib/unicore/lib/gc_sc/InTibeta.pl b/lib/unicore/lib/gc_sc/InTibeta.pl
new file mode 100644
index 0000000000..c91c527853
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InTibeta.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InTibetan} (and fuzzy permutations)
+#
+# Meaning: Block 'Tibetan'
+#
+return <<'END';
+0F00 0FFF Tibetan
+END
diff --git a/lib/unicore/lib/gc_sc/InUgarit.pl b/lib/unicore/lib/gc_sc/InUgarit.pl
new file mode 100644
index 0000000000..e2b8b1a2f1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InUgarit.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InUgaritic} (and fuzzy permutations)
+#
+# Meaning: Block 'Ugaritic'
+#
+return <<'END';
+10380 1039F Ugaritic
+END
diff --git a/lib/unicore/lib/gc_sc/InUnifie.pl b/lib/unicore/lib/gc_sc/InUnifie.pl
new file mode 100644
index 0000000000..0eb4ecbe8f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InUnifie.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InUnifiedCanadianAboriginalSyllabics} (and fuzzy permutations)
+#
+# Meaning: Block 'Unified Canadian Aboriginal Syllabics'
+#
+return <<'END';
+1400 167F Unified Canadian Aboriginal Syllabics
+END
diff --git a/lib/unicore/lib/gc_sc/InVaria2.pl b/lib/unicore/lib/gc_sc/InVaria2.pl
new file mode 100644
index 0000000000..d6633f7ec5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InVaria2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InVariationSelectorsSupplement} (and fuzzy permutations)
+#
+# Meaning: Block 'Variation Selectors Supplement'
+#
+return <<'END';
+E0100 E01EF Variation Selectors Supplement
+END
diff --git a/lib/unicore/lib/gc_sc/InVariat.pl b/lib/unicore/lib/gc_sc/InVariat.pl
new file mode 100644
index 0000000000..edd7cb38ea
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InVariat.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InVariationSelectors} (and fuzzy permutations)
+#
+# Meaning: Block 'Variation Selectors'
+#
+return <<'END';
+FE00 FE0F Variation Selectors
+END
diff --git a/lib/unicore/lib/gc_sc/InYiRadi.pl b/lib/unicore/lib/gc_sc/InYiRadi.pl
new file mode 100644
index 0000000000..92a91f2621
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InYiRadi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InYiRadicals} (and fuzzy permutations)
+#
+# Meaning: Block 'Yi Radicals'
+#
+return <<'END';
+A490 A4CF Yi Radicals
+END
diff --git a/lib/unicore/lib/gc_sc/InYiSyll.pl b/lib/unicore/lib/gc_sc/InYiSyll.pl
new file mode 100644
index 0000000000..1570090781
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InYiSyll.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InYiSyllables} (and fuzzy permutations)
+#
+# Meaning: Block 'Yi Syllables'
+#
+return <<'END';
+A000 A48F Yi Syllables
+END
diff --git a/lib/unicore/lib/gc_sc/InYijing.pl b/lib/unicore/lib/gc_sc/InYijing.pl
new file mode 100644
index 0000000000..4253e74bc2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/InYijing.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{InYijingHexagramSymbols} (and fuzzy permutations)
+#
+# Meaning: Block 'Yijing Hexagram Symbols'
+#
+return <<'END';
+4DC0 4DFF Yijing Hexagram Symbols
+END
diff --git a/lib/unicore/lib/gc_sc/JoinC.pl b/lib/unicore/lib/gc_sc/JoinC.pl
new file mode 100644
index 0000000000..eefe1c748b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/JoinC.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Join_Control'
+#
+return <<'END';
+200C 200D Join_Control
+END
diff --git a/lib/unicore/lib/gc_sc/JoinCont.pl b/lib/unicore/lib/gc_sc/JoinCont.pl
new file mode 100644
index 0000000000..b75583f586
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/JoinCont.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{JoinControl} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Join_Control'
+#
+return <<'END';
+200C 200D Join_Control
+END
diff --git a/lib/unicore/lib/gc_sc/Kana.pl b/lib/unicore/lib/gc_sc/Kana.pl
new file mode 100644
index 0000000000..d544196323
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Kana.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Katakana} (and fuzzy permutations)
+#
+# Meaning: Script 'Katakana'
+#
+return <<'END';
+30A1 30FA Katakana
+30FD 30FF Katakana
+31F0 31FF Katakana
+FF66 FF6F Katakana
+FF71 FF9D Katakana
+END
diff --git a/lib/unicore/lib/gc_sc/Katakana.pl b/lib/unicore/lib/gc_sc/Katakana.pl
new file mode 100644
index 0000000000..faedcbd15c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Katakana.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{KatakanaOrHiragana} (and fuzzy permutations)
+#
+# Meaning: Script 'Katakana_Or_Hiragana'
+#
+return <<'END';
+3031 3035 Katakana_Or_Hiragana
+309B 309C Katakana_Or_Hiragana
+FF70 Katakana_Or_Hiragana
+FF9E FF9F Katakana_Or_Hiragana
+END
diff --git a/lib/unicore/lib/gc_sc/Khmr.pl b/lib/unicore/lib/gc_sc/Khmr.pl
new file mode 100644
index 0000000000..d1850f5b5a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Khmr.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Khmer} (and fuzzy permutations)
+#
+# Meaning: Script 'Khmer'
+#
+return <<'END';
+1780 17DD Khmer
+17E0 17E9 Khmer
+17F0 17F9 Khmer
+19E0 19FF Khmer
+END
diff --git a/lib/unicore/lib/gc_sc/Knda.pl b/lib/unicore/lib/gc_sc/Knda.pl
new file mode 100644
index 0000000000..0c2c23aa10
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Knda.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Kannada} (and fuzzy permutations)
+#
+# Meaning: Script 'Kannada'
+#
+return <<'END';
+0C82 0C83 Kannada
+0C85 0C8C Kannada
+0C8E 0C90 Kannada
+0C92 0CA8 Kannada
+0CAA 0CB3 Kannada
+0CB5 0CB9 Kannada
+0CBC 0CC4 Kannada
+0CC6 0CC8 Kannada
+0CCA 0CCD Kannada
+0CD5 0CD6 Kannada
+0CDE Kannada
+0CE0 0CE1 Kannada
+0CE6 0CEF Kannada
+END
diff --git a/lib/unicore/lib/gc_sc/L.pl b/lib/unicore/lib/gc_sc/L.pl
new file mode 100644
index 0000000000..ca84d57d45
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/L.pl
@@ -0,0 +1,338 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{L}
+# \p{L} (and fuzzy permutations)
+#
+# Meaning: Major Category 'L'
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+05D0 05EA
+05F0 05F2
+0621 063A
+0640 064A
+066E 066F
+0671 06D3
+06D5
+06E5 06E6
+06EE 06EF
+06FA 06FC
+06FF
+0710
+0712 072F
+074D 074F
+0780 07A5
+07B1
+0904 0939
+093D
+0950
+0958 0961
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
+0A5E
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD
+0AD0
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD
+0CDE
+0CE0 0CE1
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D60 0D61
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EBD
+0EC0 0EC4
+0EC6
+0EDC 0EDD
+0F00
+0F40 0F47
+0F49 0F6A
+0F88 0F8B
+1000 1021
+1023 1027
+1029 102A
+1050 1055
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
+17D7
+17DC
+1820 1877
+1880 18A8
+1900 191C
+1950 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+3005 3006
+3031 3035
+303B 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 10349
+10380 1039D
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+20000 2A6D6
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/gc_sc/LC.pl b/lib/unicore/lib/gc_sc/LC.pl
new file mode 100644
index 0000000000..a994590183
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/LC.pl
@@ -0,0 +1,113 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{LC}
+# \p{LC} (and fuzzy permutations)
+#
+# Meaning: [\p{Ll}\p{Lu}\p{Lt}]
+#
+return <<'END';
+0041 005A
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 01BA
+01BC 01BF
+01C4 0236
+0250 02AF
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0561 0587
+10A0 10C5
+1D00 1D2B
+1D62 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2134
+2139
+213D 213F
+2145 2149
+FB00 FB06
+FB13 FB17
+FF21 FF3A
+FF41 FF5A
+10400 1044F
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+END
diff --git a/lib/unicore/lib/gc_sc/LOE.pl b/lib/unicore/lib/gc_sc/LOE.pl
new file mode 100644
index 0000000000..f82a91f1cf
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/LOE.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Logical_Order_Exception'
+#
+return <<'END';
+0E40 0E44 Logical_Order_Exception
+0EC0 0EC4 Logical_Order_Exception
+END
diff --git a/lib/unicore/lib/gc_sc/Laoo.pl b/lib/unicore/lib/gc_sc/Laoo.pl
new file mode 100644
index 0000000000..e34a6e44bc
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Laoo.pl
@@ -0,0 +1,30 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lao} (and fuzzy permutations)
+#
+# Meaning: Script 'Lao'
+#
+return <<'END';
+0E81 0E82 Lao
+0E84 Lao
+0E87 0E88 Lao
+0E8A Lao
+0E8D Lao
+0E94 0E97 Lao
+0E99 0E9F Lao
+0EA1 0EA3 Lao
+0EA5 Lao
+0EA7 Lao
+0EAA 0EAB Lao
+0EAD 0EB9 Lao
+0EBB 0EBD Lao
+0EC0 0EC4 Lao
+0EC6 Lao
+0EC8 0ECD Lao
+0ED0 0ED9 Lao
+0EDC 0EDD Lao
+END
diff --git a/lib/unicore/lib/gc_sc/Latn.pl b/lib/unicore/lib/gc_sc/Latn.pl
new file mode 100644
index 0000000000..8ae9a5f7f7
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Latn.pl
@@ -0,0 +1,33 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Latin} (and fuzzy permutations)
+#
+# Meaning: Script 'Latin'
+#
+return <<'END';
+0041 005A Latin
+0061 007A Latin
+00AA Latin
+00BA Latin
+00C0 00D6 Latin
+00D8 00F6 Latin
+00F8 0236 Latin
+0250 02B8 Latin
+02E0 02E4 Latin
+1D00 1D25 Latin
+1D2C 1D5C Latin
+1D62 1D65 Latin
+1D6B Latin
+1E00 1E9B Latin
+1EA0 1EF9 Latin
+2071 Latin
+207F Latin
+212A 212B Latin
+FB00 FB06 Latin
+FF21 FF3A Latin
+FF41 FF5A Latin
+END
diff --git a/lib/unicore/lib/gc_sc/Limb.pl b/lib/unicore/lib/gc_sc/Limb.pl
new file mode 100644
index 0000000000..be5d715d4e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Limb.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Limbu} (and fuzzy permutations)
+#
+# Meaning: Script 'Limbu'
+#
+return <<'END';
+1900 191C Limbu
+1920 192B Limbu
+1930 193B Limbu
+1940 Limbu
+1944 194F Limbu
+END
diff --git a/lib/unicore/lib/gc_sc/LinearB.pl b/lib/unicore/lib/gc_sc/LinearB.pl
new file mode 100644
index 0000000000..04fb45a392
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/LinearB.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{LinearB} (and fuzzy permutations)
+#
+# Meaning: Script 'Linear_B'
+#
+return <<'END';
+10000 1000B Linear_B
+1000D 10026 Linear_B
+10028 1003A Linear_B
+1003C 1003D Linear_B
+1003F 1004D Linear_B
+10050 1005D Linear_B
+10080 100FA Linear_B
+END
diff --git a/lib/unicore/lib/gc_sc/Ll.pl b/lib/unicore/lib/gc_sc/Ll.pl
new file mode 100644
index 0000000000..3403f3ed3c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ll.pl
@@ -0,0 +1,437 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ll}
+# \p{Ll} (and fuzzy permutations)
+#
+# Meaning: General Category 'Ll'
+#
+return <<'END';
+0061 007A
+00AA
+00B5
+00BA
+00DF 00F6
+00F8 00FF
+0101
+0103
+0105
+0107
+0109
+010B
+010D
+010F
+0111
+0113
+0115
+0117
+0119
+011B
+011D
+011F
+0121
+0123
+0125
+0127
+0129
+012B
+012D
+012F
+0131
+0133
+0135
+0137 0138
+013A
+013C
+013E
+0140
+0142
+0144
+0146
+0148 0149
+014B
+014D
+014F
+0151
+0153
+0155
+0157
+0159
+015B
+015D
+015F
+0161
+0163
+0165
+0167
+0169
+016B
+016D
+016F
+0171
+0173
+0175
+0177
+017A
+017C
+017E 0180
+0183
+0185
+0188
+018C 018D
+0192
+0195
+0199 019B
+019E
+01A1
+01A3
+01A5
+01A8
+01AA 01AB
+01AD
+01B0
+01B4
+01B6
+01B9 01BA
+01BD 01BF
+01C6
+01C9
+01CC
+01CE
+01D0
+01D2
+01D4
+01D6
+01D8
+01DA
+01DC 01DD
+01DF
+01E1
+01E3
+01E5
+01E7
+01E9
+01EB
+01ED
+01EF 01F0
+01F3
+01F5
+01F9
+01FB
+01FD
+01FF
+0201
+0203
+0205
+0207
+0209
+020B
+020D
+020F
+0211
+0213
+0215
+0217
+0219
+021B
+021D
+021F
+0221
+0223
+0225
+0227
+0229
+022B
+022D
+022F
+0231
+0233 0236
+0250 02AF
+0390
+03AC 03CE
+03D0 03D1
+03D5 03D7
+03D9
+03DB
+03DD
+03DF
+03E1
+03E3
+03E5
+03E7
+03E9
+03EB
+03ED
+03EF 03F3
+03F5
+03F8
+03FB
+0430 045F
+0461
+0463
+0465
+0467
+0469
+046B
+046D
+046F
+0471
+0473
+0475
+0477
+0479
+047B
+047D
+047F
+0481
+048B
+048D
+048F
+0491
+0493
+0495
+0497
+0499
+049B
+049D
+049F
+04A1
+04A3
+04A5
+04A7
+04A9
+04AB
+04AD
+04AF
+04B1
+04B3
+04B5
+04B7
+04B9
+04BB
+04BD
+04BF
+04C2
+04C4
+04C6
+04C8
+04CA
+04CC
+04CE
+04D1
+04D3
+04D5
+04D7
+04D9
+04DB
+04DD
+04DF
+04E1
+04E3
+04E5
+04E7
+04E9
+04EB
+04ED
+04EF
+04F1
+04F3
+04F5
+04F9
+0501
+0503
+0505
+0507
+0509
+050B
+050D
+050F
+0561 0587
+1D00 1D2B
+1D62 1D6B
+1E01
+1E03
+1E05
+1E07
+1E09
+1E0B
+1E0D
+1E0F
+1E11
+1E13
+1E15
+1E17
+1E19
+1E1B
+1E1D
+1E1F
+1E21
+1E23
+1E25
+1E27
+1E29
+1E2B
+1E2D
+1E2F
+1E31
+1E33
+1E35
+1E37
+1E39
+1E3B
+1E3D
+1E3F
+1E41
+1E43
+1E45
+1E47
+1E49
+1E4B
+1E4D
+1E4F
+1E51
+1E53
+1E55
+1E57
+1E59
+1E5B
+1E5D
+1E5F
+1E61
+1E63
+1E65
+1E67
+1E69
+1E6B
+1E6D
+1E6F
+1E71
+1E73
+1E75
+1E77
+1E79
+1E7B
+1E7D
+1E7F
+1E81
+1E83
+1E85
+1E87
+1E89
+1E8B
+1E8D
+1E8F
+1E91
+1E93
+1E95 1E9B
+1EA1
+1EA3
+1EA5
+1EA7
+1EA9
+1EAB
+1EAD
+1EAF
+1EB1
+1EB3
+1EB5
+1EB7
+1EB9
+1EBB
+1EBD
+1EBF
+1EC1
+1EC3
+1EC5
+1EC7
+1EC9
+1ECB
+1ECD
+1ECF
+1ED1
+1ED3
+1ED5
+1ED7
+1ED9
+1EDB
+1EDD
+1EDF
+1EE1
+1EE3
+1EE5
+1EE7
+1EE9
+1EEB
+1EED
+1EEF
+1EF1
+1EF3
+1EF5
+1EF7
+1EF9
+1F00 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
+1FBE
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
+2071
+207F
+210A
+210E 210F
+2113
+212F
+2134
+2139
+213D
+2146 2149
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A3
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
+END
diff --git a/lib/unicore/lib/gc_sc/Lm.pl b/lib/unicore/lib/gc_sc/Lm.pl
new file mode 100644
index 0000000000..616f4f84e5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lm.pl
@@ -0,0 +1,33 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lm}
+# \p{Lm} (and fuzzy permutations)
+#
+# Meaning: General Category 'Lm'
+#
+return <<'END';
+02B0 02C1
+02C6 02D1
+02E0 02E4
+02EE
+037A
+0559
+0640
+06E5 06E6
+0E46
+0EC6
+17D7
+1843
+1D2C 1D61
+3005
+3031 3035
+303B
+309D 309E
+30FC 30FE
+FF70
+FF9E FF9F
+END
diff --git a/lib/unicore/lib/gc_sc/Lo.pl b/lib/unicore/lib/gc_sc/Lo.pl
new file mode 100644
index 0000000000..3a44f181fe
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lo.pl
@@ -0,0 +1,240 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lo}
+# \p{Lo} (and fuzzy permutations)
+#
+# Meaning: General Category 'Lo'
+#
+return <<'END';
+01BB
+01C0 01C3
+05D0 05EA
+05F0 05F2
+0621 063A
+0641 064A
+066E 066F
+0671 06D3
+06D5
+06EE 06EF
+06FA 06FC
+06FF
+0710
+0712 072F
+074D 074F
+0780 07A5
+07B1
+0904 0939
+093D
+0950
+0958 0961
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
+0A5E
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD
+0AD0
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD
+0CDE
+0CE0 0CE1
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D60 0D61
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0E01 0E30
+0E32 0E33
+0E40 0E45
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EBD
+0EC0 0EC4
+0EDC 0EDD
+0F00
+0F40 0F47
+0F49 0F6A
+0F88 0F8B
+1000 1021
+1023 1027
+1029 102A
+1050 1055
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
+17DC
+1820 1842
+1844 1877
+1880 18A8
+1900 191C
+1950 196D
+1970 1974
+2135 2138
+3006
+303C
+3041 3096
+309F
+30A1 30FA
+30FF
+3105 312C
+3131 318E
+31A0 31B7
+31F0 31FF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE74
+FE76 FEFC
+FF66 FF6F
+FF71 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10300 1031E
+10330 10349
+10380 1039D
+10450 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+20000 2A6D6
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/gc_sc/LogicalO.pl b/lib/unicore/lib/gc_sc/LogicalO.pl
new file mode 100644
index 0000000000..72ed9fe581
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/LogicalO.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{LogicalOrderException} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Logical_Order_Exception'
+#
+return <<'END';
+0E40 0E44 Logical_Order_Exception
+0EC0 0EC4 Logical_Order_Exception
+END
diff --git a/lib/unicore/lib/gc_sc/Lower.pl b/lib/unicore/lib/gc_sc/Lower.pl
new file mode 100644
index 0000000000..28795209b8
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lower.pl
@@ -0,0 +1,436 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lower}
+#
+# Meaning: [[:Lower:]]
+#
+return <<'END';
+0061 007A
+00AA
+00B5
+00BA
+00DF 00F6
+00F8 00FF
+0101
+0103
+0105
+0107
+0109
+010B
+010D
+010F
+0111
+0113
+0115
+0117
+0119
+011B
+011D
+011F
+0121
+0123
+0125
+0127
+0129
+012B
+012D
+012F
+0131
+0133
+0135
+0137 0138
+013A
+013C
+013E
+0140
+0142
+0144
+0146
+0148 0149
+014B
+014D
+014F
+0151
+0153
+0155
+0157
+0159
+015B
+015D
+015F
+0161
+0163
+0165
+0167
+0169
+016B
+016D
+016F
+0171
+0173
+0175
+0177
+017A
+017C
+017E 0180
+0183
+0185
+0188
+018C 018D
+0192
+0195
+0199 019B
+019E
+01A1
+01A3
+01A5
+01A8
+01AA 01AB
+01AD
+01B0
+01B4
+01B6
+01B9 01BA
+01BD 01BF
+01C6
+01C9
+01CC
+01CE
+01D0
+01D2
+01D4
+01D6
+01D8
+01DA
+01DC 01DD
+01DF
+01E1
+01E3
+01E5
+01E7
+01E9
+01EB
+01ED
+01EF 01F0
+01F3
+01F5
+01F9
+01FB
+01FD
+01FF
+0201
+0203
+0205
+0207
+0209
+020B
+020D
+020F
+0211
+0213
+0215
+0217
+0219
+021B
+021D
+021F
+0221
+0223
+0225
+0227
+0229
+022B
+022D
+022F
+0231
+0233 0236
+0250 02AF
+0390
+03AC 03CE
+03D0 03D1
+03D5 03D7
+03D9
+03DB
+03DD
+03DF
+03E1
+03E3
+03E5
+03E7
+03E9
+03EB
+03ED
+03EF 03F3
+03F5
+03F8
+03FB
+0430 045F
+0461
+0463
+0465
+0467
+0469
+046B
+046D
+046F
+0471
+0473
+0475
+0477
+0479
+047B
+047D
+047F
+0481
+048B
+048D
+048F
+0491
+0493
+0495
+0497
+0499
+049B
+049D
+049F
+04A1
+04A3
+04A5
+04A7
+04A9
+04AB
+04AD
+04AF
+04B1
+04B3
+04B5
+04B7
+04B9
+04BB
+04BD
+04BF
+04C2
+04C4
+04C6
+04C8
+04CA
+04CC
+04CE
+04D1
+04D3
+04D5
+04D7
+04D9
+04DB
+04DD
+04DF
+04E1
+04E3
+04E5
+04E7
+04E9
+04EB
+04ED
+04EF
+04F1
+04F3
+04F5
+04F9
+0501
+0503
+0505
+0507
+0509
+050B
+050D
+050F
+0561 0587
+1D00 1D2B
+1D62 1D6B
+1E01
+1E03
+1E05
+1E07
+1E09
+1E0B
+1E0D
+1E0F
+1E11
+1E13
+1E15
+1E17
+1E19
+1E1B
+1E1D
+1E1F
+1E21
+1E23
+1E25
+1E27
+1E29
+1E2B
+1E2D
+1E2F
+1E31
+1E33
+1E35
+1E37
+1E39
+1E3B
+1E3D
+1E3F
+1E41
+1E43
+1E45
+1E47
+1E49
+1E4B
+1E4D
+1E4F
+1E51
+1E53
+1E55
+1E57
+1E59
+1E5B
+1E5D
+1E5F
+1E61
+1E63
+1E65
+1E67
+1E69
+1E6B
+1E6D
+1E6F
+1E71
+1E73
+1E75
+1E77
+1E79
+1E7B
+1E7D
+1E7F
+1E81
+1E83
+1E85
+1E87
+1E89
+1E8B
+1E8D
+1E8F
+1E91
+1E93
+1E95 1E9B
+1EA1
+1EA3
+1EA5
+1EA7
+1EA9
+1EAB
+1EAD
+1EAF
+1EB1
+1EB3
+1EB5
+1EB7
+1EB9
+1EBB
+1EBD
+1EBF
+1EC1
+1EC3
+1EC5
+1EC7
+1EC9
+1ECB
+1ECD
+1ECF
+1ED1
+1ED3
+1ED5
+1ED7
+1ED9
+1EDB
+1EDD
+1EDF
+1EE1
+1EE3
+1EE5
+1EE7
+1EE9
+1EEB
+1EED
+1EEF
+1EF1
+1EF3
+1EF5
+1EF7
+1EF9
+1F00 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
+1FBE
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
+2071
+207F
+210A
+210E 210F
+2113
+212F
+2134
+2139
+213D
+2146 2149
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A3
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
+END
diff --git a/lib/unicore/lib/gc_sc/Lowercas.pl b/lib/unicore/lib/gc_sc/Lowercas.pl
new file mode 100644
index 0000000000..36c6a15fb5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lowercas.pl
@@ -0,0 +1,441 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lowercase} (and fuzzy permutations)
+#
+# Meaning: [\p{Ll}\p{OtherLowercase}]
+#
+return <<'END';
+0061 007A
+00AA
+00B5
+00BA
+00DF 00F6
+00F8 00FF
+0101
+0103
+0105
+0107
+0109
+010B
+010D
+010F
+0111
+0113
+0115
+0117
+0119
+011B
+011D
+011F
+0121
+0123
+0125
+0127
+0129
+012B
+012D
+012F
+0131
+0133
+0135
+0137 0138
+013A
+013C
+013E
+0140
+0142
+0144
+0146
+0148 0149
+014B
+014D
+014F
+0151
+0153
+0155
+0157
+0159
+015B
+015D
+015F
+0161
+0163
+0165
+0167
+0169
+016B
+016D
+016F
+0171
+0173
+0175
+0177
+017A
+017C
+017E 0180
+0183
+0185
+0188
+018C 018D
+0192
+0195
+0199 019B
+019E
+01A1
+01A3
+01A5
+01A8
+01AA 01AB
+01AD
+01B0
+01B4
+01B6
+01B9 01BA
+01BD 01BF
+01C6
+01C9
+01CC
+01CE
+01D0
+01D2
+01D4
+01D6
+01D8
+01DA
+01DC 01DD
+01DF
+01E1
+01E3
+01E5
+01E7
+01E9
+01EB
+01ED
+01EF 01F0
+01F3
+01F5
+01F9
+01FB
+01FD
+01FF
+0201
+0203
+0205
+0207
+0209
+020B
+020D
+020F
+0211
+0213
+0215
+0217
+0219
+021B
+021D
+021F
+0221
+0223
+0225
+0227
+0229
+022B
+022D
+022F
+0231
+0233 0236
+0250 02B8
+02C0 02C1
+02E0 02E4
+0345
+037A
+0390
+03AC 03CE
+03D0 03D1
+03D5 03D7
+03D9
+03DB
+03DD
+03DF
+03E1
+03E3
+03E5
+03E7
+03E9
+03EB
+03ED
+03EF 03F3
+03F5
+03F8
+03FB
+0430 045F
+0461
+0463
+0465
+0467
+0469
+046B
+046D
+046F
+0471
+0473
+0475
+0477
+0479
+047B
+047D
+047F
+0481
+048B
+048D
+048F
+0491
+0493
+0495
+0497
+0499
+049B
+049D
+049F
+04A1
+04A3
+04A5
+04A7
+04A9
+04AB
+04AD
+04AF
+04B1
+04B3
+04B5
+04B7
+04B9
+04BB
+04BD
+04BF
+04C2
+04C4
+04C6
+04C8
+04CA
+04CC
+04CE
+04D1
+04D3
+04D5
+04D7
+04D9
+04DB
+04DD
+04DF
+04E1
+04E3
+04E5
+04E7
+04E9
+04EB
+04ED
+04EF
+04F1
+04F3
+04F5
+04F9
+0501
+0503
+0505
+0507
+0509
+050B
+050D
+050F
+0561 0587
+1D00 1D6B
+1E01
+1E03
+1E05
+1E07
+1E09
+1E0B
+1E0D
+1E0F
+1E11
+1E13
+1E15
+1E17
+1E19
+1E1B
+1E1D
+1E1F
+1E21
+1E23
+1E25
+1E27
+1E29
+1E2B
+1E2D
+1E2F
+1E31
+1E33
+1E35
+1E37
+1E39
+1E3B
+1E3D
+1E3F
+1E41
+1E43
+1E45
+1E47
+1E49
+1E4B
+1E4D
+1E4F
+1E51
+1E53
+1E55
+1E57
+1E59
+1E5B
+1E5D
+1E5F
+1E61
+1E63
+1E65
+1E67
+1E69
+1E6B
+1E6D
+1E6F
+1E71
+1E73
+1E75
+1E77
+1E79
+1E7B
+1E7D
+1E7F
+1E81
+1E83
+1E85
+1E87
+1E89
+1E8B
+1E8D
+1E8F
+1E91
+1E93
+1E95 1E9B
+1EA1
+1EA3
+1EA5
+1EA7
+1EA9
+1EAB
+1EAD
+1EAF
+1EB1
+1EB3
+1EB5
+1EB7
+1EB9
+1EBB
+1EBD
+1EBF
+1EC1
+1EC3
+1EC5
+1EC7
+1EC9
+1ECB
+1ECD
+1ECF
+1ED1
+1ED3
+1ED5
+1ED7
+1ED9
+1EDB
+1EDD
+1EDF
+1EE1
+1EE3
+1EE5
+1EE7
+1EE9
+1EEB
+1EED
+1EEF
+1EF1
+1EF3
+1EF5
+1EF7
+1EF9
+1F00 1F07
+1F10 1F15
+1F20 1F27
+1F30 1F37
+1F40 1F45
+1F50 1F57
+1F60 1F67
+1F70 1F7D
+1F80 1F87
+1F90 1F97
+1FA0 1FA7
+1FB0 1FB4
+1FB6 1FB7
+1FBE
+1FC2 1FC4
+1FC6 1FC7
+1FD0 1FD3
+1FD6 1FD7
+1FE0 1FE7
+1FF2 1FF4
+1FF6 1FF7
+2071
+207F
+210A
+210E 210F
+2113
+212F
+2134
+2139
+213D
+2146 2149
+2170 217F
+24D0 24E9
+FB00 FB06
+FB13 FB17
+FF41 FF5A
+10428 1044F
+1D41A 1D433
+1D44E 1D454
+1D456 1D467
+1D482 1D49B
+1D4B6 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D4CF
+1D4EA 1D503
+1D51E 1D537
+1D552 1D56B
+1D586 1D59F
+1D5BA 1D5D3
+1D5EE 1D607
+1D622 1D63B
+1D656 1D66F
+1D68A 1D6A3
+1D6C2 1D6DA
+1D6DC 1D6E1
+1D6FC 1D714
+1D716 1D71B
+1D736 1D74E
+1D750 1D755
+1D770 1D788
+1D78A 1D78F
+1D7AA 1D7C2
+1D7C4 1D7C9
+END
diff --git a/lib/unicore/lib/gc_sc/Lt.pl b/lib/unicore/lib/gc_sc/Lt.pl
new file mode 100644
index 0000000000..6518f8e079
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lt.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lt}
+# \p{Lt} (and fuzzy permutations)
+#
+# Meaning: General Category 'Lt'
+#
+return <<'END';
+01C5
+01C8
+01CB
+01F2
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
+1FBC
+1FCC
+1FFC
+END
diff --git a/lib/unicore/lib/gc_sc/Lu.pl b/lib/unicore/lib/gc_sc/Lu.pl
new file mode 100644
index 0000000000..d77731e700
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Lu.pl
@@ -0,0 +1,434 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Lu}
+# \p{Lu} (and fuzzy permutations)
+#
+# Meaning: General Category 'Lu'
+#
+return <<'END';
+0041 005A
+00C0 00D6
+00D8 00DE
+0100
+0102
+0104
+0106
+0108
+010A
+010C
+010E
+0110
+0112
+0114
+0116
+0118
+011A
+011C
+011E
+0120
+0122
+0124
+0126
+0128
+012A
+012C
+012E
+0130
+0132
+0134
+0136
+0139
+013B
+013D
+013F
+0141
+0143
+0145
+0147
+014A
+014C
+014E
+0150
+0152
+0154
+0156
+0158
+015A
+015C
+015E
+0160
+0162
+0164
+0166
+0168
+016A
+016C
+016E
+0170
+0172
+0174
+0176
+0178 0179
+017B
+017D
+0181 0182
+0184
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
+01A2
+01A4
+01A6 01A7
+01A9
+01AC
+01AE 01AF
+01B1 01B3
+01B5
+01B7 01B8
+01BC
+01C4
+01C7
+01CA
+01CD
+01CF
+01D1
+01D3
+01D5
+01D7
+01D9
+01DB
+01DE
+01E0
+01E2
+01E4
+01E6
+01E8
+01EA
+01EC
+01EE
+01F1
+01F4
+01F6 01F8
+01FA
+01FC
+01FE
+0200
+0202
+0204
+0206
+0208
+020A
+020C
+020E
+0210
+0212
+0214
+0216
+0218
+021A
+021C
+021E
+0220
+0222
+0224
+0226
+0228
+022A
+022C
+022E
+0230
+0232
+0386
+0388 038A
+038C
+038E 038F
+0391 03A1
+03A3 03AB
+03D2 03D4
+03D8
+03DA
+03DC
+03DE
+03E0
+03E2
+03E4
+03E6
+03E8
+03EA
+03EC
+03EE
+03F4
+03F7
+03F9 03FA
+0400 042F
+0460
+0462
+0464
+0466
+0468
+046A
+046C
+046E
+0470
+0472
+0474
+0476
+0478
+047A
+047C
+047E
+0480
+048A
+048C
+048E
+0490
+0492
+0494
+0496
+0498
+049A
+049C
+049E
+04A0
+04A2
+04A4
+04A6
+04A8
+04AA
+04AC
+04AE
+04B0
+04B2
+04B4
+04B6
+04B8
+04BA
+04BC
+04BE
+04C0 04C1
+04C3
+04C5
+04C7
+04C9
+04CB
+04CD
+04D0
+04D2
+04D4
+04D6
+04D8
+04DA
+04DC
+04DE
+04E0
+04E2
+04E4
+04E6
+04E8
+04EA
+04EC
+04EE
+04F0
+04F2
+04F4
+04F8
+0500
+0502
+0504
+0506
+0508
+050A
+050C
+050E
+0531 0556
+10A0 10C5
+1E00
+1E02
+1E04
+1E06
+1E08
+1E0A
+1E0C
+1E0E
+1E10
+1E12
+1E14
+1E16
+1E18
+1E1A
+1E1C
+1E1E
+1E20
+1E22
+1E24
+1E26
+1E28
+1E2A
+1E2C
+1E2E
+1E30
+1E32
+1E34
+1E36
+1E38
+1E3A
+1E3C
+1E3E
+1E40
+1E42
+1E44
+1E46
+1E48
+1E4A
+1E4C
+1E4E
+1E50
+1E52
+1E54
+1E56
+1E58
+1E5A
+1E5C
+1E5E
+1E60
+1E62
+1E64
+1E66
+1E68
+1E6A
+1E6C
+1E6E
+1E70
+1E72
+1E74
+1E76
+1E78
+1E7A
+1E7C
+1E7E
+1E80
+1E82
+1E84
+1E86
+1E88
+1E8A
+1E8C
+1E8E
+1E90
+1E92
+1E94
+1EA0
+1EA2
+1EA4
+1EA6
+1EA8
+1EAA
+1EAC
+1EAE
+1EB0
+1EB2
+1EB4
+1EB6
+1EB8
+1EBA
+1EBC
+1EBE
+1EC0
+1EC2
+1EC4
+1EC6
+1EC8
+1ECA
+1ECC
+1ECE
+1ED0
+1ED2
+1ED4
+1ED6
+1ED8
+1EDA
+1EDC
+1EDE
+1EE0
+1EE2
+1EE4
+1EE6
+1EE8
+1EEA
+1EEC
+1EEE
+1EF0
+1EF2
+1EF4
+1EF6
+1EF8
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
+1F59
+1F5B
+1F5D
+1F5F
+1F68 1F6F
+1FB8 1FBB
+1FC8 1FCB
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFB
+2102
+2107
+210B 210D
+2110 2112
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+2130 2131
+2133
+213E 213F
+2145
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
+1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
+END
diff --git a/lib/unicore/lib/gc_sc/M.pl b/lib/unicore/lib/gc_sc/M.pl
new file mode 100644
index 0000000000..712c32a725
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/M.pl
@@ -0,0 +1,132 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{M}
+# \p{M} (and fuzzy permutations)
+#
+# Meaning: Major Category 'M'
+#
+return <<'END';
+0300 0357
+035D 036F
+0483 0486
+0488 0489
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+0610 0615
+064B 0658
+0670
+06D6 06DC
+06DE 06E4
+06E7 06E8
+06EA 06ED
+0711
+0730 074A
+07A6 07B0
+0901 0903
+093C
+093E 094D
+0951 0954
+0962 0963
+0981 0983
+09BC
+09BE 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09E2 09E3
+0A01 0A03
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A70 0A71
+0A81 0A83
+0ABC
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
+0B3C
+0B3E 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B82
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C82 0C83
+0CBC
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0D02 0D03
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D82 0D83
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
+0F35
+0F37
+0F39
+0F3E 0F3F
+0F71 0F84
+0F86 0F87
+0F90 0F97
+0F99 0FBC
+0FC6
+102C 1032
+1036 1039
+1056 1059
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B6 17D3
+17DD
+180B 180D
+18A9
+1920 192B
+1930 193B
+20D0 20EA
+302A 302F
+3099 309A
+FB1E
+FE00 FE0F
+FE20 FE23
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/Math.pl b/lib/unicore/lib/gc_sc/Math.pl
new file mode 100644
index 0000000000..0cb41a24ad
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Math.pl
@@ -0,0 +1,102 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Math} (and fuzzy permutations)
+#
+# Meaning: [\p{Sm}\p{OtherMath}]
+#
+return <<'END';
+002B
+003C 003E
+005E
+007C
+007E
+00AC
+00B1
+00D7
+00F7
+03D0 03D2
+03D5
+03F0 03F1
+03F4 03F6
+2016
+2032 2034
+2040
+2044
+2052
+2061 2063
+207A 207E
+208A 208E
+20D0 20DC
+20E1
+20E5 20E6
+2102
+210A 2113
+2115
+2119 211D
+2124
+2128 2129
+212C 212D
+212F 2131
+2133 2138
+213D 2149
+214B
+2190 2194
+219A 219B
+21A0
+21A3
+21A6
+21AE
+21CE 21CF
+21D2
+21D4
+21F4 22FF
+2308 230B
+2320 2321
+237C
+239B 23B3
+23B7
+23D0
+25B7
+25C1
+25F8 25FF
+266F
+27D0 27EB
+27F0 27FF
+2900 2AFF
+FB29
+FE61 FE66
+FE68
+FF0B
+FF1C FF1E
+FF3C
+FF3E
+FF5C
+FF5E
+FFE2
+FFE9 FFEC
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/gc_sc/Mc.pl b/lib/unicore/lib/gc_sc/Mc.pl
new file mode 100644
index 0000000000..8b0273fdf4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Mc.pl
@@ -0,0 +1,70 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Mc}
+# \p{Mc} (and fuzzy permutations)
+#
+# Meaning: General Category 'Mc'
+#
+return <<'END';
+0903
+093E 0940
+0949 094C
+0982 0983
+09BE 09C0
+09C7 09C8
+09CB 09CC
+09D7
+0A03
+0A3E 0A40
+0A83
+0ABE 0AC0
+0AC9
+0ACB 0ACC
+0B02 0B03
+0B3E
+0B40
+0B47 0B48
+0B4B 0B4C
+0B57
+0BBE 0BBF
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
+0BD7
+0C01 0C03
+0C41 0C44
+0C82 0C83
+0CBE
+0CC0 0CC4
+0CC7 0CC8
+0CCA 0CCB
+0CD5 0CD6
+0D02 0D03
+0D3E 0D40
+0D46 0D48
+0D4A 0D4C
+0D57
+0D82 0D83
+0DCF 0DD1
+0DD8 0DDF
+0DF2 0DF3
+0F3E 0F3F
+0F7F
+102C
+1031
+1038
+1056 1057
+17B6
+17BE 17C5
+17C7 17C8
+1923 1926
+1929 192B
+1930 1931
+1933 1938
+1D165 1D166
+1D16D 1D172
+END
diff --git a/lib/unicore/lib/gc_sc/Me.pl b/lib/unicore/lib/gc_sc/Me.pl
new file mode 100644
index 0000000000..a8ffc8fee2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Me.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Me}
+# \p{Me} (and fuzzy permutations)
+#
+# Meaning: General Category 'Me'
+#
+return <<'END';
+0488 0489
+06DE
+20DD 20E0
+20E2 20E4
+END
diff --git a/lib/unicore/lib/gc_sc/Mlym.pl b/lib/unicore/lib/gc_sc/Mlym.pl
new file mode 100644
index 0000000000..9a3ad1b56c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Mlym.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Malayalam} (and fuzzy permutations)
+#
+# Meaning: Script 'Malayalam'
+#
+return <<'END';
+0D02 0D03 Malayalam
+0D05 0D0C Malayalam
+0D0E 0D10 Malayalam
+0D12 0D28 Malayalam
+0D2A 0D39 Malayalam
+0D3E 0D43 Malayalam
+0D46 0D48 Malayalam
+0D4A 0D4D Malayalam
+0D57 Malayalam
+0D60 0D61 Malayalam
+0D66 0D6F Malayalam
+END
diff --git a/lib/unicore/lib/gc_sc/Mn.pl b/lib/unicore/lib/gc_sc/Mn.pl
new file mode 100644
index 0000000000..d9193c17ee
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Mn.pl
@@ -0,0 +1,126 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Mn}
+# \p{Mn} (and fuzzy permutations)
+#
+# Meaning: General Category 'Mn'
+#
+return <<'END';
+0300 0357
+035D 036F
+0483 0486
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+0610 0615
+064B 0658
+0670
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
+0711
+0730 074A
+07A6 07B0
+0901 0902
+093C
+0941 0948
+094D
+0951 0954
+0962 0963
+0981
+09BC
+09C1 09C4
+09CD
+09E2 09E3
+0A01 0A02
+0A3C
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
+0A70 0A71
+0A81 0A82
+0ABC
+0AC1 0AC5
+0AC7 0AC8
+0ACD
+0AE2 0AE3
+0B01
+0B3C
+0B3F
+0B41 0B43
+0B4D
+0B56
+0B82
+0BC0
+0BCD
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0CBC
+0CBF
+0CC6
+0CCC 0CCD
+0D41 0D43
+0D4D
+0DCA
+0DD2 0DD4
+0DD6
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
+0F35
+0F37
+0F39
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F90 0F97
+0F99 0FBC
+0FC6
+102D 1030
+1032
+1036 1037
+1039
+1058 1059
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
+17C6
+17C9 17D3
+17DD
+180B 180D
+18A9
+1920 1922
+1927 1928
+1932
+1939 193B
+20D0 20DC
+20E1
+20E5 20EA
+302A 302F
+3099 309A
+FB1E
+FE00 FE0F
+FE20 FE23
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/Mong.pl b/lib/unicore/lib/gc_sc/Mong.pl
new file mode 100644
index 0000000000..b72e78316c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Mong.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Mongolian} (and fuzzy permutations)
+#
+# Meaning: Script 'Mongolian'
+#
+return <<'END';
+1800 180E Mongolian
+1810 1819 Mongolian
+1820 1877 Mongolian
+1880 18A9 Mongolian
+END
diff --git a/lib/unicore/lib/gc_sc/Mymr.pl b/lib/unicore/lib/gc_sc/Mymr.pl
new file mode 100644
index 0000000000..dc737eee2c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Mymr.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Myanmar} (and fuzzy permutations)
+#
+# Meaning: Script 'Myanmar'
+#
+return <<'END';
+1000 1021 Myanmar
+1023 1027 Myanmar
+1029 102A Myanmar
+102C 1032 Myanmar
+1036 1039 Myanmar
+1040 1059 Myanmar
+END
diff --git a/lib/unicore/lib/gc_sc/N.pl b/lib/unicore/lib/gc_sc/N.pl
new file mode 100644
index 0000000000..c624d03d87
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/N.pl
@@ -0,0 +1,60 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{N}
+# \p{N} (and fuzzy permutations)
+#
+# Meaning: Major Category 'N'
+#
+return <<'END';
+0030 0039
+00B2 00B3
+00B9
+00BC 00BE
+0660 0669
+06F0 06F9
+0966 096F
+09E6 09EF
+09F4 09F9
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE7 0BF2
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F33
+1040 1049
+1369 137C
+16EE 16F0
+17E0 17E9
+17F0 17F9
+1810 1819
+1946 194F
+2070
+2074 2079
+2080 2089
+2153 2183
+2460 249B
+24EA 24FF
+2776 2793
+3007
+3021 3029
+3038 303A
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+FF10 FF19
+10107 10133
+10320 10323
+1034A
+104A0 104A9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/gc_sc/NChar.pl b/lib/unicore/lib/gc_sc/NChar.pl
new file mode 100644
index 0000000000..46f865d878
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/NChar.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Noncharacter_Code_Point'
+#
+return <<'END';
+FDD0 FDEF Noncharacter_Code_Point
+FFFE FFFF Noncharacter_Code_Point
+1FFFE 1FFFF Noncharacter_Code_Point
+2FFFE 2FFFF Noncharacter_Code_Point
+3FFFE 3FFFF Noncharacter_Code_Point
+4FFFE 4FFFF Noncharacter_Code_Point
+5FFFE 5FFFF Noncharacter_Code_Point
+6FFFE 6FFFF Noncharacter_Code_Point
+7FFFE 7FFFF Noncharacter_Code_Point
+8FFFE 8FFFF Noncharacter_Code_Point
+9FFFE 9FFFF Noncharacter_Code_Point
+AFFFE AFFFF Noncharacter_Code_Point
+BFFFE BFFFF Noncharacter_Code_Point
+CFFFE CFFFF Noncharacter_Code_Point
+DFFFE DFFFF Noncharacter_Code_Point
+EFFFE EFFFF Noncharacter_Code_Point
+FFFFE FFFFF Noncharacter_Code_Point
+10FFFE 10FFFF Noncharacter_Code_Point
+END
diff --git a/lib/unicore/lib/gc_sc/Nd.pl b/lib/unicore/lib/gc_sc/Nd.pl
new file mode 100644
index 0000000000..fc694eb90d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Nd.pl
@@ -0,0 +1,36 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Nd}
+# \p{Nd} (and fuzzy permutations)
+#
+# Meaning: General Category 'Nd'
+#
+return <<'END';
+0030 0039
+0660 0669
+06F0 06F9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE7 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1369 1371
+17E0 17E9
+1810 1819
+1946 194F
+FF10 FF19
+104A0 104A9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/gc_sc/Nl.pl b/lib/unicore/lib/gc_sc/Nl.pl
new file mode 100644
index 0000000000..ff1d108958
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Nl.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Nl}
+# \p{Nl} (and fuzzy permutations)
+#
+# Meaning: General Category 'Nl'
+#
+return <<'END';
+16EE 16F0
+2160 2183
+3007
+3021 3029
+3038 303A
+1034A
+END
diff --git a/lib/unicore/lib/gc_sc/No.pl b/lib/unicore/lib/gc_sc/No.pl
new file mode 100644
index 0000000000..ca24cc3e22
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/No.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{No}
+# \p{No} (and fuzzy permutations)
+#
+# Meaning: General Category 'No'
+#
+return <<'END';
+00B2 00B3
+00B9
+00BC 00BE
+09F4 09F9
+0BF0 0BF2
+0F2A 0F33
+1372 137C
+17F0 17F9
+2070
+2074 2079
+2080 2089
+2153 215F
+2460 249B
+24EA 24FF
+2776 2793
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+10107 10133
+10320 10323
+END
diff --git a/lib/unicore/lib/gc_sc/Nonchara.pl b/lib/unicore/lib/gc_sc/Nonchara.pl
new file mode 100644
index 0000000000..0262483113
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Nonchara.pl
@@ -0,0 +1,30 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{NoncharacterCodePoint} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Noncharacter_Code_Point'
+#
+return <<'END';
+FDD0 FDEF Noncharacter_Code_Point
+FFFE FFFF Noncharacter_Code_Point
+1FFFE 1FFFF Noncharacter_Code_Point
+2FFFE 2FFFF Noncharacter_Code_Point
+3FFFE 3FFFF Noncharacter_Code_Point
+4FFFE 4FFFF Noncharacter_Code_Point
+5FFFE 5FFFF Noncharacter_Code_Point
+6FFFE 6FFFF Noncharacter_Code_Point
+7FFFE 7FFFF Noncharacter_Code_Point
+8FFFE 8FFFF Noncharacter_Code_Point
+9FFFE 9FFFF Noncharacter_Code_Point
+AFFFE AFFFF Noncharacter_Code_Point
+BFFFE BFFFF Noncharacter_Code_Point
+CFFFE CFFFF Noncharacter_Code_Point
+DFFFE DFFFF Noncharacter_Code_Point
+EFFFE EFFFF Noncharacter_Code_Point
+FFFFE FFFFF Noncharacter_Code_Point
+10FFFE 10FFFF Noncharacter_Code_Point
+END
diff --git a/lib/unicore/lib/gc_sc/OAlpha.pl b/lib/unicore/lib/gc_sc/OAlpha.pl
new file mode 100644
index 0000000000..1fff2da2d9
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OAlpha.pl
@@ -0,0 +1,100 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Alphabetic'
+#
+return <<'END';
+0345 Other_Alphabetic
+05B0 05B9 Other_Alphabetic
+05BB 05BD Other_Alphabetic
+05BF Other_Alphabetic
+05C1 05C2 Other_Alphabetic
+05C4 Other_Alphabetic
+0610 0615 Other_Alphabetic
+064B 0657 Other_Alphabetic
+0670 Other_Alphabetic
+06D6 06DC Other_Alphabetic
+06E1 06E4 Other_Alphabetic
+06E7 06E8 Other_Alphabetic
+06ED Other_Alphabetic
+0711 Other_Alphabetic
+0730 073F Other_Alphabetic
+07A6 07B0 Other_Alphabetic
+0901 0903 Other_Alphabetic
+093E 094C Other_Alphabetic
+0962 0963 Other_Alphabetic
+0981 0983 Other_Alphabetic
+09BE 09C4 Other_Alphabetic
+09C7 09C8 Other_Alphabetic
+09CB 09CC Other_Alphabetic
+09D7 Other_Alphabetic
+09E2 09E3 Other_Alphabetic
+0A01 0A03 Other_Alphabetic
+0A3E 0A42 Other_Alphabetic
+0A47 0A48 Other_Alphabetic
+0A4B 0A4C Other_Alphabetic
+0A70 0A71 Other_Alphabetic
+0A81 0A83 Other_Alphabetic
+0ABE 0AC5 Other_Alphabetic
+0AC7 0AC9 Other_Alphabetic
+0ACB 0ACC Other_Alphabetic
+0AE2 0AE3 Other_Alphabetic
+0B01 0B03 Other_Alphabetic
+0B3E 0B43 Other_Alphabetic
+0B47 0B48 Other_Alphabetic
+0B4B 0B4C Other_Alphabetic
+0B56 0B57 Other_Alphabetic
+0B82 Other_Alphabetic
+0BBE 0BC2 Other_Alphabetic
+0BC6 0BC8 Other_Alphabetic
+0BCA 0BCC Other_Alphabetic
+0BD7 Other_Alphabetic
+0C01 0C03 Other_Alphabetic
+0C3E 0C44 Other_Alphabetic
+0C46 0C48 Other_Alphabetic
+0C4A 0C4C Other_Alphabetic
+0C55 0C56 Other_Alphabetic
+0C82 0C83 Other_Alphabetic
+0CBE 0CC4 Other_Alphabetic
+0CC6 0CC8 Other_Alphabetic
+0CCA 0CCC Other_Alphabetic
+0CD5 0CD6 Other_Alphabetic
+0D02 0D03 Other_Alphabetic
+0D3E 0D43 Other_Alphabetic
+0D46 0D48 Other_Alphabetic
+0D4A 0D4C Other_Alphabetic
+0D57 Other_Alphabetic
+0D82 0D83 Other_Alphabetic
+0DCF 0DD4 Other_Alphabetic
+0DD6 Other_Alphabetic
+0DD8 0DDF Other_Alphabetic
+0DF2 0DF3 Other_Alphabetic
+0E31 Other_Alphabetic
+0E34 0E3A Other_Alphabetic
+0E4D Other_Alphabetic
+0EB1 Other_Alphabetic
+0EB4 0EB9 Other_Alphabetic
+0EBB 0EBC Other_Alphabetic
+0ECD Other_Alphabetic
+0F71 0F81 Other_Alphabetic
+0F90 0F97 Other_Alphabetic
+0F99 0FBC Other_Alphabetic
+102C 1032 Other_Alphabetic
+1036 Other_Alphabetic
+1038 Other_Alphabetic
+1056 1059 Other_Alphabetic
+16EE 16F0 Other_Alphabetic
+1712 1713 Other_Alphabetic
+1732 1733 Other_Alphabetic
+1752 1753 Other_Alphabetic
+1772 1773 Other_Alphabetic
+17B6 17C8 Other_Alphabetic
+18A9 Other_Alphabetic
+1920 192B Other_Alphabetic
+1930 1938 Other_Alphabetic
+2160 2183 Other_Alphabetic
+FB1E Other_Alphabetic
+1034A Other_Alphabetic
+END
diff --git a/lib/unicore/lib/gc_sc/ODI.pl b/lib/unicore/lib/gc_sc/ODI.pl
new file mode 100644
index 0000000000..e47c98974f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/ODI.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Default_Ignorable_Code_Point'
+#
+return <<'END';
+034F Other_Default_Ignorable_Code_Point
+115F 1160 Other_Default_Ignorable_Code_Point
+200B Other_Default_Ignorable_Code_Point
+2064 2069 Other_Default_Ignorable_Code_Point
+3164 Other_Default_Ignorable_Code_Point
+FFA0 Other_Default_Ignorable_Code_Point
+FFF0 FFF8 Other_Default_Ignorable_Code_Point
+E0000 Other_Default_Ignorable_Code_Point
+E0002 E001F Other_Default_Ignorable_Code_Point
+E0080 E00FF Other_Default_Ignorable_Code_Point
+E01F0 E0FFF Other_Default_Ignorable_Code_Point
+END
diff --git a/lib/unicore/lib/gc_sc/OGrExt.pl b/lib/unicore/lib/gc_sc/OGrExt.pl
new file mode 100644
index 0000000000..9cfc5179e8
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OGrExt.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Grapheme_Extend'
+#
+return <<'END';
+09BE Other_Grapheme_Extend
+09D7 Other_Grapheme_Extend
+0B3E Other_Grapheme_Extend
+0B57 Other_Grapheme_Extend
+0BBE Other_Grapheme_Extend
+0BD7 Other_Grapheme_Extend
+0CC2 Other_Grapheme_Extend
+0CD5 0CD6 Other_Grapheme_Extend
+0D3E Other_Grapheme_Extend
+0D57 Other_Grapheme_Extend
+0DCF Other_Grapheme_Extend
+0DDF Other_Grapheme_Extend
+200C 200D Other_Grapheme_Extend
+1D165 Other_Grapheme_Extend
+1D16E 1D16F Other_Grapheme_Extend
+END
diff --git a/lib/unicore/lib/gc_sc/OIDS.pl b/lib/unicore/lib/gc_sc/OIDS.pl
new file mode 100644
index 0000000000..2fa61e8bf7
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OIDS.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_ID_Start'
+#
+return <<'END';
+2118 Other_ID_Start
+212E Other_ID_Start
+309B 309C Other_ID_Start
+END
diff --git a/lib/unicore/lib/gc_sc/OLower.pl b/lib/unicore/lib/gc_sc/OLower.pl
new file mode 100644
index 0000000000..d85c5787d6
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OLower.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Lowercase'
+#
+return <<'END';
+02B0 02B8 Other_Lowercase
+02C0 02C1 Other_Lowercase
+02E0 02E4 Other_Lowercase
+0345 Other_Lowercase
+037A Other_Lowercase
+1D2C 1D61 Other_Lowercase
+2170 217F Other_Lowercase
+24D0 24E9 Other_Lowercase
+END
diff --git a/lib/unicore/lib/gc_sc/OMath.pl b/lib/unicore/lib/gc_sc/OMath.pl
new file mode 100644
index 0000000000..6e4d314806
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OMath.pl
@@ -0,0 +1,76 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Math'
+#
+return <<'END';
+005E Other_Math
+03D0 03D2 Other_Math
+03D5 Other_Math
+03F0 03F1 Other_Math
+03F4 03F5 Other_Math
+2016 Other_Math
+2032 2034 Other_Math
+2040 Other_Math
+2061 2063 Other_Math
+207D 207E Other_Math
+208D 208E Other_Math
+20D0 20DC Other_Math
+20E1 Other_Math
+20E5 20E6 Other_Math
+2102 Other_Math
+210A 2113 Other_Math
+2115 Other_Math
+2119 211D Other_Math
+2124 Other_Math
+2128 2129 Other_Math
+212C 212D Other_Math
+212F 2131 Other_Math
+2133 2138 Other_Math
+213D 213F Other_Math
+2145 2149 Other_Math
+23B7 Other_Math
+23D0 Other_Math
+27E6 27EB Other_Math
+2983 2998 Other_Math
+29D8 29DB Other_Math
+29FC 29FD Other_Math
+FE61 Other_Math
+FE63 Other_Math
+FE68 Other_Math
+FF3C Other_Math
+FF3E Other_Math
+1D400 1D454 Other_Math
+1D456 1D49C Other_Math
+1D49E 1D49F Other_Math
+1D4A2 Other_Math
+1D4A5 1D4A6 Other_Math
+1D4A9 1D4AC Other_Math
+1D4AE 1D4B9 Other_Math
+1D4BB Other_Math
+1D4BD 1D4C3 Other_Math
+1D4C5 1D505 Other_Math
+1D507 1D50A Other_Math
+1D50D 1D514 Other_Math
+1D516 1D51C Other_Math
+1D51E 1D539 Other_Math
+1D53B 1D53E Other_Math
+1D540 1D544 Other_Math
+1D546 Other_Math
+1D54A 1D550 Other_Math
+1D552 1D6A3 Other_Math
+1D6A8 1D6C0 Other_Math
+1D6C2 1D6DA Other_Math
+1D6DC 1D6FA Other_Math
+1D6FC 1D714 Other_Math
+1D716 1D734 Other_Math
+1D736 1D74E Other_Math
+1D750 1D76E Other_Math
+1D770 1D788 Other_Math
+1D78A 1D7A8 Other_Math
+1D7AA 1D7C2 Other_Math
+1D7C4 1D7C9 Other_Math
+1D7CE 1D7FF Other_Math
+END
diff --git a/lib/unicore/lib/gc_sc/OUpper.pl b/lib/unicore/lib/gc_sc/OUpper.pl
new file mode 100644
index 0000000000..28ae9bec89
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OUpper.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Other_Uppercase'
+#
+return <<'END';
+2160 216F Other_Uppercase
+24B6 24CF Other_Uppercase
+END
diff --git a/lib/unicore/lib/gc_sc/Ogam.pl b/lib/unicore/lib/gc_sc/Ogam.pl
new file mode 100644
index 0000000000..febdcd5f0f
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ogam.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ogham} (and fuzzy permutations)
+#
+# Meaning: Script 'Ogham'
+#
+return <<'END';
+1680 169C Ogham
+END
diff --git a/lib/unicore/lib/gc_sc/OldItali.pl b/lib/unicore/lib/gc_sc/OldItali.pl
new file mode 100644
index 0000000000..d208453693
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OldItali.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OldItalic} (and fuzzy permutations)
+#
+# Meaning: Script 'Old_Italic'
+#
+return <<'END';
+10300 1031E Old_Italic
+10320 10323 Old_Italic
+END
diff --git a/lib/unicore/lib/gc_sc/Orya.pl b/lib/unicore/lib/gc_sc/Orya.pl
new file mode 100644
index 0000000000..9b96b1f7de
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Orya.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Oriya} (and fuzzy permutations)
+#
+# Meaning: Script 'Oriya'
+#
+return <<'END';
+0B01 0B03 Oriya
+0B05 0B0C Oriya
+0B0F 0B10 Oriya
+0B13 0B28 Oriya
+0B2A 0B30 Oriya
+0B32 0B33 Oriya
+0B35 0B39 Oriya
+0B3C 0B43 Oriya
+0B47 0B48 Oriya
+0B4B 0B4D Oriya
+0B56 0B57 Oriya
+0B5C 0B5D Oriya
+0B5F 0B61 Oriya
+0B66 0B71 Oriya
+END
diff --git a/lib/unicore/lib/gc_sc/Osma.pl b/lib/unicore/lib/gc_sc/Osma.pl
new file mode 100644
index 0000000000..de7a893555
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Osma.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Osmanya} (and fuzzy permutations)
+#
+# Meaning: Script 'Osmanya'
+#
+return <<'END';
+10480 1049D Osmanya
+104A0 104A9 Osmanya
+END
diff --git a/lib/unicore/lib/gc_sc/OtherAlp.pl b/lib/unicore/lib/gc_sc/OtherAlp.pl
new file mode 100644
index 0000000000..7912938f02
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherAlp.pl
@@ -0,0 +1,103 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherAlphabetic} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Alphabetic'
+#
+return <<'END';
+0345 Other_Alphabetic
+05B0 05B9 Other_Alphabetic
+05BB 05BD Other_Alphabetic
+05BF Other_Alphabetic
+05C1 05C2 Other_Alphabetic
+05C4 Other_Alphabetic
+0610 0615 Other_Alphabetic
+064B 0657 Other_Alphabetic
+0670 Other_Alphabetic
+06D6 06DC Other_Alphabetic
+06E1 06E4 Other_Alphabetic
+06E7 06E8 Other_Alphabetic
+06ED Other_Alphabetic
+0711 Other_Alphabetic
+0730 073F Other_Alphabetic
+07A6 07B0 Other_Alphabetic
+0901 0903 Other_Alphabetic
+093E 094C Other_Alphabetic
+0962 0963 Other_Alphabetic
+0981 0983 Other_Alphabetic
+09BE 09C4 Other_Alphabetic
+09C7 09C8 Other_Alphabetic
+09CB 09CC Other_Alphabetic
+09D7 Other_Alphabetic
+09E2 09E3 Other_Alphabetic
+0A01 0A03 Other_Alphabetic
+0A3E 0A42 Other_Alphabetic
+0A47 0A48 Other_Alphabetic
+0A4B 0A4C Other_Alphabetic
+0A70 0A71 Other_Alphabetic
+0A81 0A83 Other_Alphabetic
+0ABE 0AC5 Other_Alphabetic
+0AC7 0AC9 Other_Alphabetic
+0ACB 0ACC Other_Alphabetic
+0AE2 0AE3 Other_Alphabetic
+0B01 0B03 Other_Alphabetic
+0B3E 0B43 Other_Alphabetic
+0B47 0B48 Other_Alphabetic
+0B4B 0B4C Other_Alphabetic
+0B56 0B57 Other_Alphabetic
+0B82 Other_Alphabetic
+0BBE 0BC2 Other_Alphabetic
+0BC6 0BC8 Other_Alphabetic
+0BCA 0BCC Other_Alphabetic
+0BD7 Other_Alphabetic
+0C01 0C03 Other_Alphabetic
+0C3E 0C44 Other_Alphabetic
+0C46 0C48 Other_Alphabetic
+0C4A 0C4C Other_Alphabetic
+0C55 0C56 Other_Alphabetic
+0C82 0C83 Other_Alphabetic
+0CBE 0CC4 Other_Alphabetic
+0CC6 0CC8 Other_Alphabetic
+0CCA 0CCC Other_Alphabetic
+0CD5 0CD6 Other_Alphabetic
+0D02 0D03 Other_Alphabetic
+0D3E 0D43 Other_Alphabetic
+0D46 0D48 Other_Alphabetic
+0D4A 0D4C Other_Alphabetic
+0D57 Other_Alphabetic
+0D82 0D83 Other_Alphabetic
+0DCF 0DD4 Other_Alphabetic
+0DD6 Other_Alphabetic
+0DD8 0DDF Other_Alphabetic
+0DF2 0DF3 Other_Alphabetic
+0E31 Other_Alphabetic
+0E34 0E3A Other_Alphabetic
+0E4D Other_Alphabetic
+0EB1 Other_Alphabetic
+0EB4 0EB9 Other_Alphabetic
+0EBB 0EBC Other_Alphabetic
+0ECD Other_Alphabetic
+0F71 0F81 Other_Alphabetic
+0F90 0F97 Other_Alphabetic
+0F99 0FBC Other_Alphabetic
+102C 1032 Other_Alphabetic
+1036 Other_Alphabetic
+1038 Other_Alphabetic
+1056 1059 Other_Alphabetic
+16EE 16F0 Other_Alphabetic
+1712 1713 Other_Alphabetic
+1732 1733 Other_Alphabetic
+1752 1753 Other_Alphabetic
+1772 1773 Other_Alphabetic
+17B6 17C8 Other_Alphabetic
+18A9 Other_Alphabetic
+1920 192B Other_Alphabetic
+1930 1938 Other_Alphabetic
+2160 2183 Other_Alphabetic
+FB1E Other_Alphabetic
+1034A Other_Alphabetic
+END
diff --git a/lib/unicore/lib/gc_sc/OtherDef.pl b/lib/unicore/lib/gc_sc/OtherDef.pl
new file mode 100644
index 0000000000..bb3ed9369c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherDef.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherDefaultIgnorableCodePoint} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Default_Ignorable_Code_Point'
+#
+return <<'END';
+034F Other_Default_Ignorable_Code_Point
+115F 1160 Other_Default_Ignorable_Code_Point
+200B Other_Default_Ignorable_Code_Point
+2064 2069 Other_Default_Ignorable_Code_Point
+3164 Other_Default_Ignorable_Code_Point
+FFA0 Other_Default_Ignorable_Code_Point
+FFF0 FFF8 Other_Default_Ignorable_Code_Point
+E0000 Other_Default_Ignorable_Code_Point
+E0002 E001F Other_Default_Ignorable_Code_Point
+E0080 E00FF Other_Default_Ignorable_Code_Point
+E01F0 E0FFF Other_Default_Ignorable_Code_Point
+END
diff --git a/lib/unicore/lib/gc_sc/OtherGra.pl b/lib/unicore/lib/gc_sc/OtherGra.pl
new file mode 100644
index 0000000000..e8402c99f0
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherGra.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherGraphemeExtend} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Grapheme_Extend'
+#
+return <<'END';
+09BE Other_Grapheme_Extend
+09D7 Other_Grapheme_Extend
+0B3E Other_Grapheme_Extend
+0B57 Other_Grapheme_Extend
+0BBE Other_Grapheme_Extend
+0BD7 Other_Grapheme_Extend
+0CC2 Other_Grapheme_Extend
+0CD5 0CD6 Other_Grapheme_Extend
+0D3E Other_Grapheme_Extend
+0D57 Other_Grapheme_Extend
+0DCF Other_Grapheme_Extend
+0DDF Other_Grapheme_Extend
+200C 200D Other_Grapheme_Extend
+1D165 Other_Grapheme_Extend
+1D16E 1D16F Other_Grapheme_Extend
+END
diff --git a/lib/unicore/lib/gc_sc/OtherIdS.pl b/lib/unicore/lib/gc_sc/OtherIdS.pl
new file mode 100644
index 0000000000..1f165d1ce1
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherIdS.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherIdStart} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_ID_Start'
+#
+return <<'END';
+2118 Other_ID_Start
+212E Other_ID_Start
+309B 309C Other_ID_Start
+END
diff --git a/lib/unicore/lib/gc_sc/OtherLow.pl b/lib/unicore/lib/gc_sc/OtherLow.pl
new file mode 100644
index 0000000000..26cab0a2d3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherLow.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherLowercase} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Lowercase'
+#
+return <<'END';
+02B0 02B8 Other_Lowercase
+02C0 02C1 Other_Lowercase
+02E0 02E4 Other_Lowercase
+0345 Other_Lowercase
+037A Other_Lowercase
+1D2C 1D61 Other_Lowercase
+2170 217F Other_Lowercase
+24D0 24E9 Other_Lowercase
+END
diff --git a/lib/unicore/lib/gc_sc/OtherMat.pl b/lib/unicore/lib/gc_sc/OtherMat.pl
new file mode 100644
index 0000000000..ab8c01584e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherMat.pl
@@ -0,0 +1,79 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherMath} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Math'
+#
+return <<'END';
+005E Other_Math
+03D0 03D2 Other_Math
+03D5 Other_Math
+03F0 03F1 Other_Math
+03F4 03F5 Other_Math
+2016 Other_Math
+2032 2034 Other_Math
+2040 Other_Math
+2061 2063 Other_Math
+207D 207E Other_Math
+208D 208E Other_Math
+20D0 20DC Other_Math
+20E1 Other_Math
+20E5 20E6 Other_Math
+2102 Other_Math
+210A 2113 Other_Math
+2115 Other_Math
+2119 211D Other_Math
+2124 Other_Math
+2128 2129 Other_Math
+212C 212D Other_Math
+212F 2131 Other_Math
+2133 2138 Other_Math
+213D 213F Other_Math
+2145 2149 Other_Math
+23B7 Other_Math
+23D0 Other_Math
+27E6 27EB Other_Math
+2983 2998 Other_Math
+29D8 29DB Other_Math
+29FC 29FD Other_Math
+FE61 Other_Math
+FE63 Other_Math
+FE68 Other_Math
+FF3C Other_Math
+FF3E Other_Math
+1D400 1D454 Other_Math
+1D456 1D49C Other_Math
+1D49E 1D49F Other_Math
+1D4A2 Other_Math
+1D4A5 1D4A6 Other_Math
+1D4A9 1D4AC Other_Math
+1D4AE 1D4B9 Other_Math
+1D4BB Other_Math
+1D4BD 1D4C3 Other_Math
+1D4C5 1D505 Other_Math
+1D507 1D50A Other_Math
+1D50D 1D514 Other_Math
+1D516 1D51C Other_Math
+1D51E 1D539 Other_Math
+1D53B 1D53E Other_Math
+1D540 1D544 Other_Math
+1D546 Other_Math
+1D54A 1D550 Other_Math
+1D552 1D6A3 Other_Math
+1D6A8 1D6C0 Other_Math
+1D6C2 1D6DA Other_Math
+1D6DC 1D6FA Other_Math
+1D6FC 1D714 Other_Math
+1D716 1D734 Other_Math
+1D736 1D74E Other_Math
+1D750 1D76E Other_Math
+1D770 1D788 Other_Math
+1D78A 1D7A8 Other_Math
+1D7AA 1D7C2 Other_Math
+1D7C4 1D7C9 Other_Math
+1D7CE 1D7FF Other_Math
+END
diff --git a/lib/unicore/lib/gc_sc/OtherUpp.pl b/lib/unicore/lib/gc_sc/OtherUpp.pl
new file mode 100644
index 0000000000..4ee526f338
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/OtherUpp.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{OtherUppercase} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Other_Uppercase'
+#
+return <<'END';
+2160 216F Other_Uppercase
+24B6 24CF Other_Uppercase
+END
diff --git a/lib/unicore/lib/gc_sc/P.pl b/lib/unicore/lib/gc_sc/P.pl
new file mode 100644
index 0000000000..f45e9b6169
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/P.pl
@@ -0,0 +1,99 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{P}
+# \p{P} (and fuzzy permutations)
+#
+# Meaning: Major Category 'P'
+#
+return <<'END';
+0021 0023
+0025 002A
+002C 002F
+003A 003B
+003F 0040
+005B 005D
+005F
+007B
+007D
+00A1
+00AB
+00B7
+00BB
+00BF
+037E
+0387
+055A 055F
+0589 058A
+05BE
+05C0
+05C3
+05F3 05F4
+060C 060D
+061B
+061F
+066A 066D
+06D4
+0700 070D
+0964 0965
+0970
+0DF4
+0E4F
+0E5A 0E5B
+0F04 0F12
+0F3A 0F3D
+0F85
+104A 104F
+10FB
+1361 1368
+166D 166E
+169B 169C
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 180A
+1944 1945
+2010 2027
+2030 2043
+2045 2051
+2053 2054
+2057
+207D 207E
+208D 208E
+2329 232A
+23B4 23B6
+2768 2775
+27E6 27EB
+2983 2998
+29D8 29DB
+29FC 29FD
+3001 3003
+3008 3011
+3014 301F
+3030
+303D
+30A0
+30FB
+FD3E FD3F
+FE30 FE52
+FE54 FE61
+FE63
+FE68
+FE6A FE6B
+FF01 FF03
+FF05 FF0A
+FF0C FF0F
+FF1A FF1B
+FF1F FF20
+FF3B FF3D
+FF3F
+FF5B
+FF5D
+FF5F FF65
+10100 10101
+1039F
+END
diff --git a/lib/unicore/lib/gc_sc/Pc.pl b/lib/unicore/lib/gc_sc/Pc.pl
new file mode 100644
index 0000000000..51d9a81781
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Pc.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Pc}
+# \p{Pc} (and fuzzy permutations)
+#
+# Meaning: General Category 'Pc'
+#
+return <<'END';
+005F
+203F 2040
+2054
+30FB
+FE33 FE34
+FE4D FE4F
+FF3F
+FF65
+END
diff --git a/lib/unicore/lib/gc_sc/Pd.pl b/lib/unicore/lib/gc_sc/Pd.pl
new file mode 100644
index 0000000000..61f349da35
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Pd.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Pd}
+# \p{Pd} (and fuzzy permutations)
+#
+# Meaning: General Category 'Pd'
+#
+return <<'END';
+002D
+058A
+1806
+2010 2015
+301C
+3030
+30A0
+FE31 FE32
+FE58
+FE63
+FF0D
+END
diff --git a/lib/unicore/lib/gc_sc/Pe.pl b/lib/unicore/lib/gc_sc/Pe.pl
new file mode 100644
index 0000000000..9cccea1955
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Pe.pl
@@ -0,0 +1,76 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Pe}
+# \p{Pe} (and fuzzy permutations)
+#
+# Meaning: General Category 'Pe'
+#
+return <<'END';
+0029
+005D
+007D
+0F3B
+0F3D
+169C
+2046
+207E
+208E
+232A
+23B5
+2769
+276B
+276D
+276F
+2771
+2773
+2775
+27E7
+27E9
+27EB
+2984
+2986
+2988
+298A
+298C
+298E
+2990
+2992
+2994
+2996
+2998
+29D9
+29DB
+29FD
+3009
+300B
+300D
+300F
+3011
+3015
+3017
+3019
+301B
+301E 301F
+FD3F
+FE36
+FE38
+FE3A
+FE3C
+FE3E
+FE40
+FE42
+FE44
+FE48
+FE5A
+FE5C
+FE5E
+FF09
+FF3D
+FF5D
+FF60
+FF63
+END
diff --git a/lib/unicore/lib/gc_sc/Pf.pl b/lib/unicore/lib/gc_sc/Pf.pl
new file mode 100644
index 0000000000..3b2c068524
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Pf.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Pf}
+# \p{Pf} (and fuzzy permutations)
+#
+# Meaning: General Category 'Pf'
+#
+return <<'END';
+00BB
+2019
+201D
+203A
+END
diff --git a/lib/unicore/lib/gc_sc/Pi.pl b/lib/unicore/lib/gc_sc/Pi.pl
new file mode 100644
index 0000000000..70bc50cd60
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Pi.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Pi}
+# \p{Pi} (and fuzzy permutations)
+#
+# Meaning: General Category 'Pi'
+#
+return <<'END';
+00AB
+2018
+201B 201C
+201F
+2039
+END
diff --git a/lib/unicore/lib/gc_sc/Po.pl b/lib/unicore/lib/gc_sc/Po.pl
new file mode 100644
index 0000000000..d1f2c0be47
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Po.pl
@@ -0,0 +1,87 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Po}
+# \p{Po} (and fuzzy permutations)
+#
+# Meaning: General Category 'Po'
+#
+return <<'END';
+0021 0023
+0025 0027
+002A
+002C
+002E 002F
+003A 003B
+003F 0040
+005C
+00A1
+00B7
+00BF
+037E
+0387
+055A 055F
+0589
+05BE
+05C0
+05C3
+05F3 05F4
+060C 060D
+061B
+061F
+066A 066D
+06D4
+0700 070D
+0964 0965
+0970
+0DF4
+0E4F
+0E5A 0E5B
+0F04 0F12
+0F85
+104A 104F
+10FB
+1361 1368
+166D 166E
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 1805
+1807 180A
+1944 1945
+2016 2017
+2020 2027
+2030 2038
+203B 203E
+2041 2043
+2047 2051
+2053
+2057
+23B6
+3001 3003
+303D
+FE30
+FE45 FE46
+FE49 FE4C
+FE50 FE52
+FE54 FE57
+FE5F FE61
+FE68
+FE6A FE6B
+FF01 FF03
+FF05 FF07
+FF0A
+FF0C
+FF0E FF0F
+FF1A FF1B
+FF1F FF20
+FF3C
+FF61
+FF64
+10100 10101
+1039F
+END
diff --git a/lib/unicore/lib/gc_sc/Print.pl b/lib/unicore/lib/gc_sc/Print.pl
new file mode 100644
index 0000000000..e555c17b5e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Print.pl
@@ -0,0 +1,417 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Print}
+#
+# Meaning: [[:Print:]]
+#
+return <<'END';
+0009 000D
+0020 007E
+0085
+00A0 0236
+0250 0357
+035D 036F
+0374 0375
+037A
+037E
+0384 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03FB
+0400 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+0591 05A1
+05A3 05B9
+05BB 05C4
+05D0 05EA
+05F0 05F4
+0600 0603
+060C 0615
+061B
+061F
+0621 063A
+0640 0658
+0660 070D
+070F 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0970
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FA
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00 0F47
+0F49 0F6A
+0F71 0F8B
+0F90 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCF
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1059
+10A0 10C5
+10D0 10F8
+10FB
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1361 137C
+13A0 13F4
+1401 1676
+1680 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2054
+2057
+205F 2063
+206A 2071
+2074 208E
+20A0 20B1
+20D0 20EA
+2100 213B
+213D 214B
+2153 2183
+2190 23D0
+2400 2426
+2440 244A
+2460 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2794
+2798 27AF
+27B1 27BE
+27D0 27EB
+27F0 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312C
+3131 318E
+3190 31B7
+31F0 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 4DB5
+4DC0 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+E000 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE00 FE0F
+FE20 FE23
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FEFF
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0001
+E0020 E007F
+E0100 E01EF
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/gc_sc/Ps.pl b/lib/unicore/lib/gc_sc/Ps.pl
new file mode 100644
index 0000000000..7152051be4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ps.pl
@@ -0,0 +1,78 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ps}
+# \p{Ps} (and fuzzy permutations)
+#
+# Meaning: General Category 'Ps'
+#
+return <<'END';
+0028
+005B
+007B
+0F3A
+0F3C
+169B
+201A
+201E
+2045
+207D
+208D
+2329
+23B4
+2768
+276A
+276C
+276E
+2770
+2772
+2774
+27E6
+27E8
+27EA
+2983
+2985
+2987
+2989
+298B
+298D
+298F
+2991
+2993
+2995
+2997
+29D8
+29DA
+29FC
+3008
+300A
+300C
+300E
+3010
+3014
+3016
+3018
+301A
+301D
+FD3E
+FE35
+FE37
+FE39
+FE3B
+FE3D
+FE3F
+FE41
+FE43
+FE47
+FE59
+FE5B
+FE5D
+FF08
+FF3B
+FF5B
+FF5F
+FF62
+END
diff --git a/lib/unicore/lib/gc_sc/Punct.pl b/lib/unicore/lib/gc_sc/Punct.pl
new file mode 100644
index 0000000000..0313afeca4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Punct.pl
@@ -0,0 +1,98 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Punct}
+#
+# Meaning: [[:Punct:]]
+#
+return <<'END';
+0021 0023
+0025 002A
+002C 002F
+003A 003B
+003F 0040
+005B 005D
+005F
+007B
+007D
+00A1
+00AB
+00B7
+00BB
+00BF
+037E
+0387
+055A 055F
+0589 058A
+05BE
+05C0
+05C3
+05F3 05F4
+060C 060D
+061B
+061F
+066A 066D
+06D4
+0700 070D
+0964 0965
+0970
+0DF4
+0E4F
+0E5A 0E5B
+0F04 0F12
+0F3A 0F3D
+0F85
+104A 104F
+10FB
+1361 1368
+166D 166E
+169B 169C
+16EB 16ED
+1735 1736
+17D4 17D6
+17D8 17DA
+1800 180A
+1944 1945
+2010 2027
+2030 2043
+2045 2051
+2053 2054
+2057
+207D 207E
+208D 208E
+2329 232A
+23B4 23B6
+2768 2775
+27E6 27EB
+2983 2998
+29D8 29DB
+29FC 29FD
+3001 3003
+3008 3011
+3014 301F
+3030
+303D
+30A0
+30FB
+FD3E FD3F
+FE30 FE52
+FE54 FE61
+FE63
+FE68
+FE6A FE6B
+FF01 FF03
+FF05 FF0A
+FF0C FF0F
+FF1A FF1B
+FF1F FF20
+FF3B FF3D
+FF3F
+FF5B
+FF5D
+FF5F FF65
+10100 10101
+1039F
+END
diff --git a/lib/unicore/lib/gc_sc/QMark.pl b/lib/unicore/lib/gc_sc/QMark.pl
new file mode 100644
index 0000000000..9778cd953b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/QMark.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Quotation_Mark'
+#
+return <<'END';
+0022 Quotation_Mark
+0027 Quotation_Mark
+00AB Quotation_Mark
+00BB Quotation_Mark
+2018 201F Quotation_Mark
+2039 203A Quotation_Mark
+300C 300F Quotation_Mark
+301D 301F Quotation_Mark
+FE41 FE44 Quotation_Mark
+FF02 Quotation_Mark
+FF07 Quotation_Mark
+FF62 FF63 Quotation_Mark
+END
diff --git a/lib/unicore/lib/gc_sc/Qaai.pl b/lib/unicore/lib/gc_sc/Qaai.pl
new file mode 100644
index 0000000000..3d48494d49
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Qaai.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Inherited} (and fuzzy permutations)
+#
+# Meaning: Script 'Inherited'
+#
+return <<'END';
+0300 0357 Inherited
+035D 036F Inherited
+064B 0655 Inherited
+0670 Inherited
+200C 200D Inherited
+20D0 20EA Inherited
+302A 302F Inherited
+3099 309A Inherited
+FE00 FE0F Inherited
+FE20 FE23 Inherited
+1D167 1D169 Inherited
+1D17B 1D182 Inherited
+1D185 1D18B Inherited
+1D1AA 1D1AD Inherited
+E0100 E01EF Inherited
+END
diff --git a/lib/unicore/lib/gc_sc/Quotatio.pl b/lib/unicore/lib/gc_sc/Quotatio.pl
new file mode 100644
index 0000000000..255d986ff3
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Quotatio.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{QuotationMark} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Quotation_Mark'
+#
+return <<'END';
+0022 Quotation_Mark
+0027 Quotation_Mark
+00AB Quotation_Mark
+00BB Quotation_Mark
+2018 201F Quotation_Mark
+2039 203A Quotation_Mark
+300C 300F Quotation_Mark
+301D 301F Quotation_Mark
+FE41 FE44 Quotation_Mark
+FF02 Quotation_Mark
+FF07 Quotation_Mark
+FF62 FF63 Quotation_Mark
+END
diff --git a/lib/unicore/lib/gc_sc/Radical.pl b/lib/unicore/lib/gc_sc/Radical.pl
new file mode 100644
index 0000000000..1bd455af14
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Radical.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Radical} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Radical'
+#
+return <<'END';
+2E80 2E99 Radical
+2E9B 2EF3 Radical
+2F00 2FD5 Radical
+END
diff --git a/lib/unicore/lib/gc_sc/Runr.pl b/lib/unicore/lib/gc_sc/Runr.pl
new file mode 100644
index 0000000000..02f180a46a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Runr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Runic} (and fuzzy permutations)
+#
+# Meaning: Script 'Runic'
+#
+return <<'END';
+16A0 16EA Runic
+16EE 16F0 Runic
+END
diff --git a/lib/unicore/lib/gc_sc/S.pl b/lib/unicore/lib/gc_sc/S.pl
new file mode 100644
index 0000000000..265be44a16
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/S.pl
@@ -0,0 +1,166 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{S}
+# \p{S} (and fuzzy permutations)
+#
+# Meaning: Major Category 'S'
+#
+return <<'END';
+0024
+002B
+003C 003E
+005E
+0060
+007C
+007E
+00A2 00A9
+00AC
+00AE 00B1
+00B4
+00B6
+00B8
+00D7
+00F7
+02C2 02C5
+02D2 02DF
+02E5 02ED
+02EF 02FF
+0374 0375
+0384 0385
+03F6
+0482
+060E 060F
+06E9
+06FD 06FE
+09F2 09F3
+09FA
+0AF1
+0B70
+0BF3 0BFA
+0E3F
+0F01 0F03
+0F13 0F17
+0F1A 0F1F
+0F34
+0F36
+0F38
+0FBE 0FC5
+0FC7 0FCC
+0FCF
+17DB
+1940
+19E0 19FF
+1FBD
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+2044
+2052
+207A 207C
+208A 208C
+20A0 20B1
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2118
+211E 2123
+2125
+2127
+2129
+212E
+2132
+213A 213B
+2140 2144
+214A 214B
+2190 2328
+232B 23B3
+23B7 23D0
+2400 2426
+2440 244A
+249C 24E9
+2500 2617
+2619 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2767
+2794
+2798 27AF
+27B1 27BE
+27D0 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3004
+3012 3013
+3020
+3036 3037
+303E 303F
+309B 309C
+3190 3191
+3196 319F
+3200 321E
+322A 3243
+3250
+3260 327D
+327F
+328A 32B0
+32C0 32FE
+3300 33FF
+4DC0 4DFF
+A490 A4C6
+FB29
+FDFC FDFD
+FE62
+FE64 FE66
+FE69
+FF04
+FF0B
+FF1C FF1E
+FF3E
+FF40
+FF5C
+FF5E
+FFE0 FFE6
+FFE8 FFEE
+FFFC FFFD
+10102
+10137 1013F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D300 1D356
+1D6C1
+1D6DB
+1D6FB
+1D715
+1D735
+1D74F
+1D76F
+1D789
+1D7A9
+1D7C3
+END
diff --git a/lib/unicore/lib/gc_sc/SD.pl b/lib/unicore/lib/gc_sc/SD.pl
new file mode 100644
index 0000000000..063489c6c4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/SD.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Soft_Dotted'
+#
+return <<'END';
+0069 006A Soft_Dotted
+012F Soft_Dotted
+0268 Soft_Dotted
+029D Soft_Dotted
+02B2 Soft_Dotted
+03F3 Soft_Dotted
+0456 Soft_Dotted
+0458 Soft_Dotted
+1D62 Soft_Dotted
+1E2D Soft_Dotted
+1ECB Soft_Dotted
+2071 Soft_Dotted
+2148 2149 Soft_Dotted
+1D422 1D423 Soft_Dotted
+1D456 1D457 Soft_Dotted
+1D48A 1D48B Soft_Dotted
+1D4BE 1D4BF Soft_Dotted
+1D4F2 1D4F3 Soft_Dotted
+1D526 1D527 Soft_Dotted
+1D55A 1D55B Soft_Dotted
+1D58E 1D58F Soft_Dotted
+1D5C2 1D5C3 Soft_Dotted
+1D5F6 1D5F7 Soft_Dotted
+1D62A 1D62B Soft_Dotted
+1D65E 1D65F Soft_Dotted
+1D692 1D693 Soft_Dotted
+END
diff --git a/lib/unicore/lib/gc_sc/STerm.pl b/lib/unicore/lib/gc_sc/STerm.pl
new file mode 100644
index 0000000000..2e1ac3958d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/STerm.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'STerm'
+#
+return <<'END';
+0021 STerm
+002E STerm
+003F STerm
+055C STerm
+055E STerm
+0589 STerm
+061F STerm
+06D4 STerm
+0700 0702 STerm
+0964 0965 STerm
+104A 104B STerm
+1362 STerm
+1367 1368 STerm
+166E STerm
+1803 STerm
+1809 STerm
+1944 1945 STerm
+203C 203D STerm
+2047 2049 STerm
+3002 STerm
+FE52 STerm
+FE56 FE57 STerm
+FF01 STerm
+FF0E STerm
+FF1F STerm
+FF61 STerm
+END
diff --git a/lib/unicore/lib/gc_sc/Sc.pl b/lib/unicore/lib/gc_sc/Sc.pl
new file mode 100644
index 0000000000..34e1a3478c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Sc.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Sc}
+# \p{Sc} (and fuzzy permutations)
+#
+# Meaning: General Category 'Sc'
+#
+return <<'END';
+0024
+00A2 00A5
+09F2 09F3
+0AF1
+0BF9
+0E3F
+17DB
+20A0 20B1
+FDFC
+FE69
+FF04
+FFE0 FFE1
+FFE5 FFE6
+END
diff --git a/lib/unicore/lib/gc_sc/Shaw.pl b/lib/unicore/lib/gc_sc/Shaw.pl
new file mode 100644
index 0000000000..385dd06f31
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Shaw.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Shavian} (and fuzzy permutations)
+#
+# Meaning: Script 'Shavian'
+#
+return <<'END';
+10450 1047F Shavian
+END
diff --git a/lib/unicore/lib/gc_sc/Sinh.pl b/lib/unicore/lib/gc_sc/Sinh.pl
new file mode 100644
index 0000000000..154fcd4fdd
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Sinh.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Sinhala} (and fuzzy permutations)
+#
+# Meaning: Script 'Sinhala'
+#
+return <<'END';
+0D82 0D83 Sinhala
+0D85 0D96 Sinhala
+0D9A 0DB1 Sinhala
+0DB3 0DBB Sinhala
+0DBD Sinhala
+0DC0 0DC6 Sinhala
+0DCA Sinhala
+0DCF 0DD4 Sinhala
+0DD6 Sinhala
+0DD8 0DDF Sinhala
+0DF2 0DF4 Sinhala
+END
diff --git a/lib/unicore/lib/gc_sc/Sk.pl b/lib/unicore/lib/gc_sc/Sk.pl
new file mode 100644
index 0000000000..7cfa51e4b4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Sk.pl
@@ -0,0 +1,35 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Sk}
+# \p{Sk} (and fuzzy permutations)
+#
+# Meaning: General Category 'Sk'
+#
+return <<'END';
+005E
+0060
+00A8
+00AF
+00B4
+00B8
+02C2 02C5
+02D2 02DF
+02E5 02ED
+02EF 02FF
+0374 0375
+0384 0385
+1FBD
+1FBF 1FC1
+1FCD 1FCF
+1FDD 1FDF
+1FED 1FEF
+1FFD 1FFE
+309B 309C
+FF3E
+FF40
+FFE3
+END
diff --git a/lib/unicore/lib/gc_sc/Sm.pl b/lib/unicore/lib/gc_sc/Sm.pl
new file mode 100644
index 0000000000..3d3d23a7f5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Sm.pl
@@ -0,0 +1,71 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Sm}
+# \p{Sm} (and fuzzy permutations)
+#
+# Meaning: General Category 'Sm'
+#
+return <<'END';
+002B
+003C 003E
+007C
+007E
+00AC
+00B1
+00D7
+00F7
+03F6
+2044
+2052
+207A 207C
+208A 208C
+2140 2144
+214B
+2190 2194
+219A 219B
+21A0
+21A3
+21A6
+21AE
+21CE 21CF
+21D2
+21D4
+21F4 22FF
+2308 230B
+2320 2321
+237C
+239B 23B3
+25B7
+25C1
+25F8 25FF
+266F
+27D0 27E5
+27F0 27FF
+2900 2982
+2999 29D7
+29DC 29FB
+29FE 2AFF
+FB29
+FE62
+FE64 FE66
+FF0B
+FF1C FF1E
+FF5C
+FF5E
+FFE2
+FFE9 FFEC
+1D6C1
+1D6DB
+1D6FB
+1D715
+1D735
+1D74F
+1D76F
+1D789
+1D7A9
+1D7C3
+END
diff --git a/lib/unicore/lib/gc_sc/So.pl b/lib/unicore/lib/gc_sc/So.pl
new file mode 100644
index 0000000000..d2d3630c6c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/So.pl
@@ -0,0 +1,126 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{So}
+# \p{So} (and fuzzy permutations)
+#
+# Meaning: General Category 'So'
+#
+return <<'END';
+00A6 00A7
+00A9
+00AE
+00B0
+00B6
+0482
+060E 060F
+06E9
+06FD 06FE
+09FA
+0B70
+0BF3 0BF8
+0BFA
+0F01 0F03
+0F13 0F17
+0F1A 0F1F
+0F34
+0F36
+0F38
+0FBE 0FC5
+0FC7 0FCC
+0FCF
+1940
+19E0 19FF
+2100 2101
+2103 2106
+2108 2109
+2114
+2116 2118
+211E 2123
+2125
+2127
+2129
+212E
+2132
+213A 213B
+214A
+2195 2199
+219C 219F
+21A1 21A2
+21A4 21A5
+21A7 21AD
+21AF 21CD
+21D0 21D1
+21D3
+21D5 21F3
+2300 2307
+230C 231F
+2322 2328
+232B 237B
+237D 239A
+23B7 23D0
+2400 2426
+2440 244A
+249C 24E9
+2500 25B6
+25B8 25C0
+25C2 25F7
+2600 2617
+2619 266E
+2670 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275E
+2761 2767
+2794
+2798 27AF
+27B1 27BE
+2800 28FF
+2B00 2B0D
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3004
+3012 3013
+3020
+3036 3037
+303E 303F
+3190 3191
+3196 319F
+3200 321E
+322A 3243
+3250
+3260 327D
+327F
+328A 32B0
+32C0 32FE
+3300 33FF
+4DC0 4DFF
+A490 A4C6
+FDFD
+FFE4
+FFE8
+FFED FFEE
+FFFC FFFD
+10102
+10137 1013F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D300 1D356
+END
diff --git a/lib/unicore/lib/gc_sc/SoftDott.pl b/lib/unicore/lib/gc_sc/SoftDott.pl
new file mode 100644
index 0000000000..cc3e44d493
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/SoftDott.pl
@@ -0,0 +1,38 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{SoftDotted} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Soft_Dotted'
+#
+return <<'END';
+0069 006A Soft_Dotted
+012F Soft_Dotted
+0268 Soft_Dotted
+029D Soft_Dotted
+02B2 Soft_Dotted
+03F3 Soft_Dotted
+0456 Soft_Dotted
+0458 Soft_Dotted
+1D62 Soft_Dotted
+1E2D Soft_Dotted
+1ECB Soft_Dotted
+2071 Soft_Dotted
+2148 2149 Soft_Dotted
+1D422 1D423 Soft_Dotted
+1D456 1D457 Soft_Dotted
+1D48A 1D48B Soft_Dotted
+1D4BE 1D4BF Soft_Dotted
+1D4F2 1D4F3 Soft_Dotted
+1D526 1D527 Soft_Dotted
+1D55A 1D55B Soft_Dotted
+1D58E 1D58F Soft_Dotted
+1D5C2 1D5C3 Soft_Dotted
+1D5F6 1D5F7 Soft_Dotted
+1D62A 1D62B Soft_Dotted
+1D65E 1D65F Soft_Dotted
+1D692 1D693 Soft_Dotted
+END
diff --git a/lib/unicore/lib/gc_sc/Space.pl b/lib/unicore/lib/gc_sc/Space.pl
new file mode 100644
index 0000000000..44b8a618ad
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Space.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Space}
+#
+# Meaning: [[:Space:]]
+#
+return <<'END';
+0009 000D
+0020
+0085
+00A0
+1680
+180E
+2000 200A
+2028 2029
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/gc_sc/SpacePer.pl b/lib/unicore/lib/gc_sc/SpacePer.pl
new file mode 100644
index 0000000000..97281a6f1a
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/SpacePer.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{SpacePerl}
+#
+# Meaning: \s
+#
+return <<'END';
+0009 000A
+000C 000D
+0020
+0085
+00A0
+1680
+180E
+2000 200A
+2028 2029
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/gc_sc/Sterm.pl b/lib/unicore/lib/gc_sc/Sterm.pl
new file mode 100644
index 0000000000..c76da9a15b
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Sterm.pl
@@ -0,0 +1,38 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Sterm} (and fuzzy permutations)
+#
+# Meaning: Extended property 'STerm'
+#
+return <<'END';
+0021 STerm
+002E STerm
+003F STerm
+055C STerm
+055E STerm
+0589 STerm
+061F STerm
+06D4 STerm
+0700 0702 STerm
+0964 0965 STerm
+104A 104B STerm
+1362 STerm
+1367 1368 STerm
+166E STerm
+1803 STerm
+1809 STerm
+1944 1945 STerm
+203C 203D STerm
+2047 2049 STerm
+3002 STerm
+FE52 STerm
+FE56 FE57 STerm
+FF01 STerm
+FF0E STerm
+FF1F STerm
+FF61 STerm
+END
diff --git a/lib/unicore/lib/gc_sc/Syrc.pl b/lib/unicore/lib/gc_sc/Syrc.pl
new file mode 100644
index 0000000000..8c7aa69187
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Syrc.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Syriac} (and fuzzy permutations)
+#
+# Meaning: Script 'Syriac'
+#
+return <<'END';
+0700 070D Syriac
+070F 074A Syriac
+074D 074F Syriac
+END
diff --git a/lib/unicore/lib/gc_sc/Tagb.pl b/lib/unicore/lib/gc_sc/Tagb.pl
new file mode 100644
index 0000000000..5ea4e4a29d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Tagb.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Tagbanwa} (and fuzzy permutations)
+#
+# Meaning: Script 'Tagbanwa'
+#
+return <<'END';
+1760 176C Tagbanwa
+176E 1770 Tagbanwa
+1772 1773 Tagbanwa
+END
diff --git a/lib/unicore/lib/gc_sc/TaiLe.pl b/lib/unicore/lib/gc_sc/TaiLe.pl
new file mode 100644
index 0000000000..92d901046d
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/TaiLe.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{TaiLe} (and fuzzy permutations)
+#
+# Meaning: Script 'Tai_Le'
+#
+return <<'END';
+1950 196D Tai_Le
+1970 1974 Tai_Le
+END
diff --git a/lib/unicore/lib/gc_sc/Taml.pl b/lib/unicore/lib/gc_sc/Taml.pl
new file mode 100644
index 0000000000..411ac5775c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Taml.pl
@@ -0,0 +1,28 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Tamil} (and fuzzy permutations)
+#
+# Meaning: Script 'Tamil'
+#
+return <<'END';
+0B82 0B83 Tamil
+0B85 0B8A Tamil
+0B8E 0B90 Tamil
+0B92 0B95 Tamil
+0B99 0B9A Tamil
+0B9C Tamil
+0B9E 0B9F Tamil
+0BA3 0BA4 Tamil
+0BA8 0BAA Tamil
+0BAE 0BB5 Tamil
+0BB7 0BB9 Tamil
+0BBE 0BC2 Tamil
+0BC6 0BC8 Tamil
+0BCA 0BCD Tamil
+0BD7 Tamil
+0BE7 0BFA Tamil
+END
diff --git a/lib/unicore/lib/gc_sc/Telu.pl b/lib/unicore/lib/gc_sc/Telu.pl
new file mode 100644
index 0000000000..74de197eeb
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Telu.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Telugu} (and fuzzy permutations)
+#
+# Meaning: Script 'Telugu'
+#
+return <<'END';
+0C01 0C03 Telugu
+0C05 0C0C Telugu
+0C0E 0C10 Telugu
+0C12 0C28 Telugu
+0C2A 0C33 Telugu
+0C35 0C39 Telugu
+0C3E 0C44 Telugu
+0C46 0C48 Telugu
+0C4A 0C4D Telugu
+0C55 0C56 Telugu
+0C60 0C61 Telugu
+0C66 0C6F Telugu
+END
diff --git a/lib/unicore/lib/gc_sc/Term.pl b/lib/unicore/lib/gc_sc/Term.pl
new file mode 100644
index 0000000000..124872bd54
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Term.pl
@@ -0,0 +1,49 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Terminal_Punctuation'
+#
+return <<'END';
+0021 Terminal_Punctuation
+002C Terminal_Punctuation
+002E Terminal_Punctuation
+003A 003B Terminal_Punctuation
+003F Terminal_Punctuation
+037E Terminal_Punctuation
+0387 Terminal_Punctuation
+0589 Terminal_Punctuation
+05C3 Terminal_Punctuation
+060C Terminal_Punctuation
+061B Terminal_Punctuation
+061F Terminal_Punctuation
+06D4 Terminal_Punctuation
+0700 070A Terminal_Punctuation
+070C Terminal_Punctuation
+0964 0965 Terminal_Punctuation
+0E5A 0E5B Terminal_Punctuation
+0F08 Terminal_Punctuation
+0F0D 0F12 Terminal_Punctuation
+104A 104B Terminal_Punctuation
+1361 1368 Terminal_Punctuation
+166D 166E Terminal_Punctuation
+16EB 16ED Terminal_Punctuation
+17D4 17D6 Terminal_Punctuation
+17DA Terminal_Punctuation
+1802 1805 Terminal_Punctuation
+1808 1809 Terminal_Punctuation
+1944 1945 Terminal_Punctuation
+203C 203D Terminal_Punctuation
+2047 2049 Terminal_Punctuation
+3001 3002 Terminal_Punctuation
+FE50 FE52 Terminal_Punctuation
+FE54 FE57 Terminal_Punctuation
+FF01 Terminal_Punctuation
+FF0C Terminal_Punctuation
+FF0E Terminal_Punctuation
+FF1A FF1B Terminal_Punctuation
+FF1F Terminal_Punctuation
+FF61 Terminal_Punctuation
+FF64 Terminal_Punctuation
+END
diff --git a/lib/unicore/lib/gc_sc/Terminal.pl b/lib/unicore/lib/gc_sc/Terminal.pl
new file mode 100644
index 0000000000..da5860f1fe
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Terminal.pl
@@ -0,0 +1,52 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{TerminalPunctuation} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Terminal_Punctuation'
+#
+return <<'END';
+0021 Terminal_Punctuation
+002C Terminal_Punctuation
+002E Terminal_Punctuation
+003A 003B Terminal_Punctuation
+003F Terminal_Punctuation
+037E Terminal_Punctuation
+0387 Terminal_Punctuation
+0589 Terminal_Punctuation
+05C3 Terminal_Punctuation
+060C Terminal_Punctuation
+061B Terminal_Punctuation
+061F Terminal_Punctuation
+06D4 Terminal_Punctuation
+0700 070A Terminal_Punctuation
+070C Terminal_Punctuation
+0964 0965 Terminal_Punctuation
+0E5A 0E5B Terminal_Punctuation
+0F08 Terminal_Punctuation
+0F0D 0F12 Terminal_Punctuation
+104A 104B Terminal_Punctuation
+1361 1368 Terminal_Punctuation
+166D 166E Terminal_Punctuation
+16EB 16ED Terminal_Punctuation
+17D4 17D6 Terminal_Punctuation
+17DA Terminal_Punctuation
+1802 1805 Terminal_Punctuation
+1808 1809 Terminal_Punctuation
+1944 1945 Terminal_Punctuation
+203C 203D Terminal_Punctuation
+2047 2049 Terminal_Punctuation
+3001 3002 Terminal_Punctuation
+FE50 FE52 Terminal_Punctuation
+FE54 FE57 Terminal_Punctuation
+FF01 Terminal_Punctuation
+FF0C Terminal_Punctuation
+FF0E Terminal_Punctuation
+FF1A FF1B Terminal_Punctuation
+FF1F Terminal_Punctuation
+FF61 Terminal_Punctuation
+FF64 Terminal_Punctuation
+END
diff --git a/lib/unicore/lib/gc_sc/Tglg.pl b/lib/unicore/lib/gc_sc/Tglg.pl
new file mode 100644
index 0000000000..f9d2457627
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Tglg.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Tagalog} (and fuzzy permutations)
+#
+# Meaning: Script 'Tagalog'
+#
+return <<'END';
+1700 170C Tagalog
+170E 1714 Tagalog
+END
diff --git a/lib/unicore/lib/gc_sc/Thaa.pl b/lib/unicore/lib/gc_sc/Thaa.pl
new file mode 100644
index 0000000000..7ab38dc4ea
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Thaa.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Thaana} (and fuzzy permutations)
+#
+# Meaning: Script 'Thaana'
+#
+return <<'END';
+0780 07B1 Thaana
+END
diff --git a/lib/unicore/lib/gc_sc/Thai.pl b/lib/unicore/lib/gc_sc/Thai.pl
new file mode 100644
index 0000000000..03467d4b8e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Thai.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Thai} (and fuzzy permutations)
+#
+# Meaning: Script 'Thai'
+#
+return <<'END';
+0E01 0E3A Thai
+0E40 0E5B Thai
+END
diff --git a/lib/unicore/lib/gc_sc/Tibt.pl b/lib/unicore/lib/gc_sc/Tibt.pl
new file mode 100644
index 0000000000..0d447d4d24
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Tibt.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Tibetan} (and fuzzy permutations)
+#
+# Meaning: Script 'Tibetan'
+#
+return <<'END';
+0F00 0F47 Tibetan
+0F49 0F6A Tibetan
+0F71 0F8B Tibetan
+0F90 0F97 Tibetan
+0F99 0FBC Tibetan
+0FBE 0FCC Tibetan
+0FCF Tibetan
+END
diff --git a/lib/unicore/lib/gc_sc/Title.pl b/lib/unicore/lib/gc_sc/Title.pl
new file mode 100644
index 0000000000..158a6cd6eb
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Title.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Title}
+#
+# Meaning: [[:Title:]]
+#
+return <<'END';
+01C5
+01C8
+01CB
+01F2
+1F88 1F8F
+1F98 1F9F
+1FA8 1FAF
+1FBC
+1FCC
+1FFC
+END
diff --git a/lib/unicore/lib/gc_sc/UIdeo.pl b/lib/unicore/lib/gc_sc/UIdeo.pl
new file mode 100644
index 0000000000..f1f1a781a4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/UIdeo.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Unified_Ideograph'
+#
+return <<'END';
+3400 4DB5 Unified_Ideograph
+4E00 9FA5 Unified_Ideograph
+FA0E FA0F Unified_Ideograph
+FA11 Unified_Ideograph
+FA13 FA14 Unified_Ideograph
+FA1F Unified_Ideograph
+FA21 Unified_Ideograph
+FA23 FA24 Unified_Ideograph
+FA27 FA29 Unified_Ideograph
+20000 2A6D6 Unified_Ideograph
+END
diff --git a/lib/unicore/lib/gc_sc/Ugar.pl b/lib/unicore/lib/gc_sc/Ugar.pl
new file mode 100644
index 0000000000..e79e6c6773
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Ugar.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Ugaritic} (and fuzzy permutations)
+#
+# Meaning: Script 'Ugaritic'
+#
+return <<'END';
+10380 1039D Ugaritic
+1039F Ugaritic
+END
diff --git a/lib/unicore/lib/gc_sc/UnifiedI.pl b/lib/unicore/lib/gc_sc/UnifiedI.pl
new file mode 100644
index 0000000000..c9e1adde05
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/UnifiedI.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{UnifiedIdeograph} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Unified_Ideograph'
+#
+return <<'END';
+3400 4DB5 Unified_Ideograph
+4E00 9FA5 Unified_Ideograph
+FA0E FA0F Unified_Ideograph
+FA11 Unified_Ideograph
+FA13 FA14 Unified_Ideograph
+FA1F Unified_Ideograph
+FA21 Unified_Ideograph
+FA23 FA24 Unified_Ideograph
+FA27 FA29 Unified_Ideograph
+20000 2A6D6 Unified_Ideograph
+END
diff --git a/lib/unicore/lib/gc_sc/Upper.pl b/lib/unicore/lib/gc_sc/Upper.pl
new file mode 100644
index 0000000000..ba150cd782
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Upper.pl
@@ -0,0 +1,433 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Upper}
+#
+# Meaning: [[:Upper:]]
+#
+return <<'END';
+0041 005A
+00C0 00D6
+00D8 00DE
+0100
+0102
+0104
+0106
+0108
+010A
+010C
+010E
+0110
+0112
+0114
+0116
+0118
+011A
+011C
+011E
+0120
+0122
+0124
+0126
+0128
+012A
+012C
+012E
+0130
+0132
+0134
+0136
+0139
+013B
+013D
+013F
+0141
+0143
+0145
+0147
+014A
+014C
+014E
+0150
+0152
+0154
+0156
+0158
+015A
+015C
+015E
+0160
+0162
+0164
+0166
+0168
+016A
+016C
+016E
+0170
+0172
+0174
+0176
+0178 0179
+017B
+017D
+0181 0182
+0184
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
+01A2
+01A4
+01A6 01A7
+01A9
+01AC
+01AE 01AF
+01B1 01B3
+01B5
+01B7 01B8
+01BC
+01C4
+01C7
+01CA
+01CD
+01CF
+01D1
+01D3
+01D5
+01D7
+01D9
+01DB
+01DE
+01E0
+01E2
+01E4
+01E6
+01E8
+01EA
+01EC
+01EE
+01F1
+01F4
+01F6 01F8
+01FA
+01FC
+01FE
+0200
+0202
+0204
+0206
+0208
+020A
+020C
+020E
+0210
+0212
+0214
+0216
+0218
+021A
+021C
+021E
+0220
+0222
+0224
+0226
+0228
+022A
+022C
+022E
+0230
+0232
+0386
+0388 038A
+038C
+038E 038F
+0391 03A1
+03A3 03AB
+03D2 03D4
+03D8
+03DA
+03DC
+03DE
+03E0
+03E2
+03E4
+03E6
+03E8
+03EA
+03EC
+03EE
+03F4
+03F7
+03F9 03FA
+0400 042F
+0460
+0462
+0464
+0466
+0468
+046A
+046C
+046E
+0470
+0472
+0474
+0476
+0478
+047A
+047C
+047E
+0480
+048A
+048C
+048E
+0490
+0492
+0494
+0496
+0498
+049A
+049C
+049E
+04A0
+04A2
+04A4
+04A6
+04A8
+04AA
+04AC
+04AE
+04B0
+04B2
+04B4
+04B6
+04B8
+04BA
+04BC
+04BE
+04C0 04C1
+04C3
+04C5
+04C7
+04C9
+04CB
+04CD
+04D0
+04D2
+04D4
+04D6
+04D8
+04DA
+04DC
+04DE
+04E0
+04E2
+04E4
+04E6
+04E8
+04EA
+04EC
+04EE
+04F0
+04F2
+04F4
+04F8
+0500
+0502
+0504
+0506
+0508
+050A
+050C
+050E
+0531 0556
+10A0 10C5
+1E00
+1E02
+1E04
+1E06
+1E08
+1E0A
+1E0C
+1E0E
+1E10
+1E12
+1E14
+1E16
+1E18
+1E1A
+1E1C
+1E1E
+1E20
+1E22
+1E24
+1E26
+1E28
+1E2A
+1E2C
+1E2E
+1E30
+1E32
+1E34
+1E36
+1E38
+1E3A
+1E3C
+1E3E
+1E40
+1E42
+1E44
+1E46
+1E48
+1E4A
+1E4C
+1E4E
+1E50
+1E52
+1E54
+1E56
+1E58
+1E5A
+1E5C
+1E5E
+1E60
+1E62
+1E64
+1E66
+1E68
+1E6A
+1E6C
+1E6E
+1E70
+1E72
+1E74
+1E76
+1E78
+1E7A
+1E7C
+1E7E
+1E80
+1E82
+1E84
+1E86
+1E88
+1E8A
+1E8C
+1E8E
+1E90
+1E92
+1E94
+1EA0
+1EA2
+1EA4
+1EA6
+1EA8
+1EAA
+1EAC
+1EAE
+1EB0
+1EB2
+1EB4
+1EB6
+1EB8
+1EBA
+1EBC
+1EBE
+1EC0
+1EC2
+1EC4
+1EC6
+1EC8
+1ECA
+1ECC
+1ECE
+1ED0
+1ED2
+1ED4
+1ED6
+1ED8
+1EDA
+1EDC
+1EDE
+1EE0
+1EE2
+1EE4
+1EE6
+1EE8
+1EEA
+1EEC
+1EEE
+1EF0
+1EF2
+1EF4
+1EF6
+1EF8
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
+1F59
+1F5B
+1F5D
+1F5F
+1F68 1F6F
+1FB8 1FBB
+1FC8 1FCB
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFB
+2102
+2107
+210B 210D
+2110 2112
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+2130 2131
+2133
+213E 213F
+2145
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
+1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
+END
diff --git a/lib/unicore/lib/gc_sc/Uppercas.pl b/lib/unicore/lib/gc_sc/Uppercas.pl
new file mode 100644
index 0000000000..cc186f76de
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Uppercas.pl
@@ -0,0 +1,435 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Uppercase} (and fuzzy permutations)
+#
+# Meaning: [\p{Lu}\p{Other_Uppercase}]
+#
+return <<'END';
+0041 005A
+00C0 00D6
+00D8 00DE
+0100
+0102
+0104
+0106
+0108
+010A
+010C
+010E
+0110
+0112
+0114
+0116
+0118
+011A
+011C
+011E
+0120
+0122
+0124
+0126
+0128
+012A
+012C
+012E
+0130
+0132
+0134
+0136
+0139
+013B
+013D
+013F
+0141
+0143
+0145
+0147
+014A
+014C
+014E
+0150
+0152
+0154
+0156
+0158
+015A
+015C
+015E
+0160
+0162
+0164
+0166
+0168
+016A
+016C
+016E
+0170
+0172
+0174
+0176
+0178 0179
+017B
+017D
+0181 0182
+0184
+0186 0187
+0189 018B
+018E 0191
+0193 0194
+0196 0198
+019C 019D
+019F 01A0
+01A2
+01A4
+01A6 01A7
+01A9
+01AC
+01AE 01AF
+01B1 01B3
+01B5
+01B7 01B8
+01BC
+01C4
+01C7
+01CA
+01CD
+01CF
+01D1
+01D3
+01D5
+01D7
+01D9
+01DB
+01DE
+01E0
+01E2
+01E4
+01E6
+01E8
+01EA
+01EC
+01EE
+01F1
+01F4
+01F6 01F8
+01FA
+01FC
+01FE
+0200
+0202
+0204
+0206
+0208
+020A
+020C
+020E
+0210
+0212
+0214
+0216
+0218
+021A
+021C
+021E
+0220
+0222
+0224
+0226
+0228
+022A
+022C
+022E
+0230
+0232
+0386
+0388 038A
+038C
+038E 038F
+0391 03A1
+03A3 03AB
+03D2 03D4
+03D8
+03DA
+03DC
+03DE
+03E0
+03E2
+03E4
+03E6
+03E8
+03EA
+03EC
+03EE
+03F4
+03F7
+03F9 03FA
+0400 042F
+0460
+0462
+0464
+0466
+0468
+046A
+046C
+046E
+0470
+0472
+0474
+0476
+0478
+047A
+047C
+047E
+0480
+048A
+048C
+048E
+0490
+0492
+0494
+0496
+0498
+049A
+049C
+049E
+04A0
+04A2
+04A4
+04A6
+04A8
+04AA
+04AC
+04AE
+04B0
+04B2
+04B4
+04B6
+04B8
+04BA
+04BC
+04BE
+04C0 04C1
+04C3
+04C5
+04C7
+04C9
+04CB
+04CD
+04D0
+04D2
+04D4
+04D6
+04D8
+04DA
+04DC
+04DE
+04E0
+04E2
+04E4
+04E6
+04E8
+04EA
+04EC
+04EE
+04F0
+04F2
+04F4
+04F8
+0500
+0502
+0504
+0506
+0508
+050A
+050C
+050E
+0531 0556
+10A0 10C5
+1E00
+1E02
+1E04
+1E06
+1E08
+1E0A
+1E0C
+1E0E
+1E10
+1E12
+1E14
+1E16
+1E18
+1E1A
+1E1C
+1E1E
+1E20
+1E22
+1E24
+1E26
+1E28
+1E2A
+1E2C
+1E2E
+1E30
+1E32
+1E34
+1E36
+1E38
+1E3A
+1E3C
+1E3E
+1E40
+1E42
+1E44
+1E46
+1E48
+1E4A
+1E4C
+1E4E
+1E50
+1E52
+1E54
+1E56
+1E58
+1E5A
+1E5C
+1E5E
+1E60
+1E62
+1E64
+1E66
+1E68
+1E6A
+1E6C
+1E6E
+1E70
+1E72
+1E74
+1E76
+1E78
+1E7A
+1E7C
+1E7E
+1E80
+1E82
+1E84
+1E86
+1E88
+1E8A
+1E8C
+1E8E
+1E90
+1E92
+1E94
+1EA0
+1EA2
+1EA4
+1EA6
+1EA8
+1EAA
+1EAC
+1EAE
+1EB0
+1EB2
+1EB4
+1EB6
+1EB8
+1EBA
+1EBC
+1EBE
+1EC0
+1EC2
+1EC4
+1EC6
+1EC8
+1ECA
+1ECC
+1ECE
+1ED0
+1ED2
+1ED4
+1ED6
+1ED8
+1EDA
+1EDC
+1EDE
+1EE0
+1EE2
+1EE4
+1EE6
+1EE8
+1EEA
+1EEC
+1EEE
+1EF0
+1EF2
+1EF4
+1EF6
+1EF8
+1F08 1F0F
+1F18 1F1D
+1F28 1F2F
+1F38 1F3F
+1F48 1F4D
+1F59
+1F5B
+1F5D
+1F5F
+1F68 1F6F
+1FB8 1FBB
+1FC8 1FCB
+1FD8 1FDB
+1FE8 1FEC
+1FF8 1FFB
+2102
+2107
+210B 210D
+2110 2112
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+2130 2131
+2133
+213E 213F
+2145
+2160 216F
+24B6 24CF
+FF21 FF3A
+10400 10427
+1D400 1D419
+1D434 1D44D
+1D468 1D481
+1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B5
+1D4D0 1D4E9
+1D504 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D538 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D56C 1D585
+1D5A0 1D5B9
+1D5D4 1D5ED
+1D608 1D621
+1D63C 1D655
+1D670 1D689
+1D6A8 1D6C0
+1D6E2 1D6FA
+1D71C 1D734
+1D756 1D76E
+1D790 1D7A8
+END
diff --git a/lib/unicore/lib/gc_sc/VS.pl b/lib/unicore/lib/gc_sc/VS.pl
new file mode 100644
index 0000000000..ca505d7553
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/VS.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'Variation_Selector'
+#
+return <<'END';
+180B 180D Variation_Selector
+FE00 FE0F Variation_Selector
+E0100 E01EF Variation_Selector
+END
diff --git a/lib/unicore/lib/gc_sc/Variatio.pl b/lib/unicore/lib/gc_sc/Variatio.pl
new file mode 100644
index 0000000000..74173e857c
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Variatio.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{VariationSelector} (and fuzzy permutations)
+#
+# Meaning: Extended property 'Variation_Selector'
+#
+return <<'END';
+180B 180D Variation_Selector
+FE00 FE0F Variation_Selector
+E0100 E01EF Variation_Selector
+END
diff --git a/lib/unicore/lib/gc_sc/WSpace.pl b/lib/unicore/lib/gc_sc/WSpace.pl
new file mode 100644
index 0000000000..0078091db5
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/WSpace.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Binary property 'White_Space'
+#
+return <<'END';
+0009 000D White_Space
+0020 White_Space
+0085 White_Space
+00A0 White_Space
+1680 White_Space
+180E White_Space
+2000 200A White_Space
+2028 2029 White_Space
+202F White_Space
+205F White_Space
+3000 White_Space
+END
diff --git a/lib/unicore/lib/gc_sc/WhiteSpa.pl b/lib/unicore/lib/gc_sc/WhiteSpa.pl
new file mode 100644
index 0000000000..0284bc0531
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/WhiteSpa.pl
@@ -0,0 +1,23 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{WhiteSpace} (and fuzzy permutations)
+#
+# Meaning: Extended property 'White_Space'
+#
+return <<'END';
+0009 000D White_Space
+0020 White_Space
+0085 White_Space
+00A0 White_Space
+1680 White_Space
+180E White_Space
+2000 200A White_Space
+2028 2029 White_Space
+202F White_Space
+205F White_Space
+3000 White_Space
+END
diff --git a/lib/unicore/lib/gc_sc/Word.pl b/lib/unicore/lib/gc_sc/Word.pl
new file mode 100644
index 0000000000..836bfbc26e
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Word.pl
@@ -0,0 +1,448 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Word}
+#
+# Meaning: [[:Word:]]
+#
+return <<'END';
+0030 0039
+0041 005A
+005F
+0061 007A
+00AA
+00B2 00B3
+00B5
+00B9 00BA
+00BC 00BE
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C1
+02C6 02D1
+02E0 02E4
+02EE
+0300 0357
+035D 036F
+037A
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03F5
+03F7 03FB
+0400 0481
+0483 0486
+0488 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559
+0561 0587
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+05D0 05EA
+05F0 05F2
+0610 0615
+0621 063A
+0640 0658
+0660 0669
+066E 06D3
+06D5 06DC
+06DE 06E8
+06EA 06FC
+06FF
+0710 074A
+074D 074F
+0780 07B1
+0901 0939
+093C 094D
+0950 0954
+0958 0963
+0966 096F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09F1
+09F4 09F9
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A5E
+0A66 0A74
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AEF
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B61
+0B66 0B6F
+0B71
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0BE7 0BF2
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE1
+0CE6 0CEF
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D60 0D61
+0D66 0D6F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E01 0E3A
+0E40 0E4E
+0E50 0E59
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
+0F00
+0F18 0F19
+0F20 0F33
+0F35
+0F37
+0F39
+0F3E 0F47
+0F49 0F6A
+0F71 0F84
+0F86 0F8B
+0F90 0F97
+0F99 0FBC
+0FC6
+1000 1021
+1023 1027
+1029 102A
+102C 1032
+1036 1039
+1040 1049
+1050 1059
+10A0 10C5
+10D0 10F8
+1100 1159
+115F 11A2
+11A8 11F9
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1369 137C
+13A0 13F4
+1401 166C
+166F 1676
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1714
+1720 1734
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17B3
+17B6 17D3
+17D7
+17DC 17DD
+17E0 17E9
+17F0 17F9
+180B 180D
+1810 1819
+1820 1877
+1880 18A9
+1900 191C
+1920 192B
+1930 193B
+1946 196D
+1970 1974
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+203F 2040
+2054
+2070 2071
+2074 2079
+207F 2089
+20D0 20EA
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2131
+2133 2139
+213D 213F
+2145 2149
+2153 2183
+2460 249B
+24EA 24FF
+2776 2793
+3005 3007
+3021 302F
+3031 3035
+3038 303C
+3041 3096
+3099 309A
+309D 309F
+30A1 30FF
+3105 312C
+3131 318E
+3192 3195
+31A0 31B7
+31F0 31FF
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+3400 4DB5
+4E00 9FA5
+A000 A48C
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FB00 FB06
+FB13 FB17
+FB1D FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE00 FE0F
+FE20 FE23
+FE33 FE34
+FE4D FE4F
+FE70 FE74
+FE76 FEFC
+FF10 FF19
+FF21 FF3A
+FF3F
+FF41 FF5A
+FF65 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10107 10133
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D165 1D169
+1D16D 1D172
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7C9
+1D7CE 1D7FF
+20000 2A6D6
+2F800 2FA1D
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/XDigit.pl b/lib/unicore/lib/gc_sc/XDigit.pl
new file mode 100644
index 0000000000..62350a4646
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/XDigit.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{XDigit}
+#
+# Meaning: [[:XDigit:]]
+#
+return <<'END';
+0030 0039
+0041 0046
+0061 0066
+END
diff --git a/lib/unicore/lib/gc_sc/Yiii.pl b/lib/unicore/lib/gc_sc/Yiii.pl
new file mode 100644
index 0000000000..628bd87ba4
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Yiii.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Yi} (and fuzzy permutations)
+#
+# Meaning: Script 'Yi'
+#
+return <<'END';
+A000 A48C Yi
+A490 A4C6 Yi
+END
diff --git a/lib/unicore/lib/gc_sc/Z.pl b/lib/unicore/lib/gc_sc/Z.pl
new file mode 100644
index 0000000000..361c4a92e2
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Z.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Z}
+# \p{Z} (and fuzzy permutations)
+#
+# Meaning: Major Category 'Z'
+#
+return <<'END';
+0020
+00A0
+1680
+180E
+2000 200A
+2028 2029
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/gc_sc/Zl.pl b/lib/unicore/lib/gc_sc/Zl.pl
new file mode 100644
index 0000000000..ed1819bd00
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Zl.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Zl}
+# \p{Zl} (and fuzzy permutations)
+#
+# Meaning: General Category 'Zl'
+#
+return <<'END';
+2028
+END
diff --git a/lib/unicore/lib/gc_sc/Zp.pl b/lib/unicore/lib/gc_sc/Zp.pl
new file mode 100644
index 0000000000..bd18ea4696
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Zp.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Zp}
+# \p{Zp} (and fuzzy permutations)
+#
+# Meaning: General Category 'Zp'
+#
+return <<'END';
+2029
+END
diff --git a/lib/unicore/lib/gc_sc/Zs.pl b/lib/unicore/lib/gc_sc/Zs.pl
new file mode 100644
index 0000000000..32c9497794
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Zs.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Zs}
+# \p{Zs} (and fuzzy permutations)
+#
+# Meaning: General Category 'Zs'
+#
+return <<'END';
+0020
+00A0
+1680
+180E
+2000 200A
+202F
+205F
+3000
+END
diff --git a/lib/unicore/lib/gc_sc/Zyyy.pl b/lib/unicore/lib/gc_sc/Zyyy.pl
new file mode 100644
index 0000000000..d84deee5a8
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/Zyyy.pl
@@ -0,0 +1,135 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{Common} (and fuzzy permutations)
+#
+# Meaning: Script 'Common'
+#
+return <<'END';
+0000 0040 Common
+005B 0060 Common
+007B 00A9 Common
+00AB 00B9 Common
+00BB 00BF Common
+00D7 Common
+00F7 Common
+02B9 02DF Common
+02E5 02FF Common
+037E Common
+0387 Common
+0589 Common
+0600 0603 Common
+060C Common
+061B Common
+061F Common
+0640 Common
+0660 0669 Common
+06DD Common
+0964 0965 Common
+0970 Common
+0E3F Common
+10FB Common
+16EB 16ED Common
+1735 1736 Common
+2000 200B Common
+200E 2054 Common
+2057 Common
+205F 2063 Common
+206A 2070 Common
+2074 207E Common
+2080 208E Common
+20A0 20B1 Common
+2100 2125 Common
+2127 2129 Common
+212C 213B Common
+213D 214B Common
+2153 2183 Common
+2190 23D0 Common
+2400 2426 Common
+2440 244A Common
+2460 2617 Common
+2619 267D Common
+2680 2691 Common
+26A0 26A1 Common
+2701 2704 Common
+2706 2709 Common
+270C 2727 Common
+2729 274B Common
+274D Common
+274F 2752 Common
+2756 Common
+2758 275E Common
+2761 2794 Common
+2798 27AF Common
+27B1 27BE Common
+27D0 27EB Common
+27F0 27FF Common
+2900 2B0D Common
+2FF0 2FFB Common
+3000 3004 Common
+3006 Common
+3008 3020 Common
+3030 Common
+3036 3037 Common
+303C 303F Common
+30A0 Common
+30FB 30FC Common
+3190 319F Common
+3220 3243 Common
+3250 325F Common
+327F 32FE Common
+3300 33FF Common
+4DC0 4DFF Common
+E000 F8FF Common
+FD3E FD3F Common
+FDFD Common
+FE30 FE52 Common
+FE54 FE66 Common
+FE68 FE6B Common
+FEFF Common
+FF01 FF20 Common
+FF3B FF40 Common
+FF5B FF65 Common
+FFE0 FFE6 Common
+FFE8 FFEE Common
+FFF9 FFFD Common
+10100 10102 Common
+10107 10133 Common
+10137 1013F Common
+1D000 1D0F5 Common
+1D100 1D126 Common
+1D12A 1D166 Common
+1D16A 1D17A Common
+1D183 1D184 Common
+1D18C 1D1A9 Common
+1D1AE 1D1DD Common
+1D300 1D356 Common
+1D400 1D454 Common
+1D456 1D49C Common
+1D49E 1D49F Common
+1D4A2 Common
+1D4A5 1D4A6 Common
+1D4A9 1D4AC Common
+1D4AE 1D4B9 Common
+1D4BB Common
+1D4BD 1D4C3 Common
+1D4C5 1D505 Common
+1D507 1D50A Common
+1D50D 1D514 Common
+1D516 1D51C Common
+1D51E 1D539 Common
+1D53B 1D53E Common
+1D540 1D544 Common
+1D546 Common
+1D54A 1D550 Common
+1D552 1D6A3 Common
+1D6A8 1D7C9 Common
+1D7CE 1D7FF Common
+E0001 Common
+E0020 E007F Common
+F0000 FFFFD Common
+100000 10FFFD Common
+END
diff --git a/lib/unicore/lib/gc_sc/_CanonDC.pl b/lib/unicore/lib/gc_sc/_CanonDC.pl
new file mode 100644
index 0000000000..5da8da9833
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/_CanonDC.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{_CanonDCIJ}
+#
+# Meaning: (for internal casefolding use)
+#
+return <<'END';
+0069 006A
+012F
+1E2D
+1ECB
+END
diff --git a/lib/unicore/lib/gc_sc/_CaseIgn.pl b/lib/unicore/lib/gc_sc/_CaseIgn.pl
new file mode 100644
index 0000000000..d42b249dd7
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/_CaseIgn.pl
@@ -0,0 +1,127 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{_CaseIgnorable}
+#
+# Meaning: (for internal casefolding use)
+#
+return <<'END';
+00AD
+0300 0357
+035D 036F
+0483 0486
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+0610 0615
+064B 0658
+0670
+06D6 06DC
+06DF 06E4
+06E7 06E8
+06EA 06ED
+0711
+0730 074A
+07A6 07B0
+0901 0902
+093C
+0941 0948
+094D
+0951 0954
+0962 0963
+0981
+09BC
+09C1 09C4
+09CD
+09E2 09E3
+0A01 0A02
+0A3C
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
+0A70 0A71
+0A81 0A82
+0ABC
+0AC1 0AC5
+0AC7 0AC8
+0ACD
+0AE2 0AE3
+0B01
+0B3C
+0B3F
+0B41 0B43
+0B4D
+0B56
+0B82
+0BC0
+0BCD
+0C3E 0C40
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0CBC
+0CBF
+0CC6
+0CCC 0CCD
+0D41 0D43
+0D4D
+0DCA
+0DD2 0DD4
+0DD6
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
+0F35
+0F37
+0F39
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F90 0F97
+0F99 0FBC
+0FC6
+102D 1030
+1032
+1036 1037
+1039
+1058 1059
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B7 17BD
+17C6
+17C9 17D3
+17DD
+180B 180D
+18A9
+1920 1922
+1927 1928
+1932
+1939 193B
+2010
+20D0 20DC
+20E1
+20E5 20EA
+302A 302F
+3099 309A
+FB1E
+FE00 FE0F
+FE20 FE23
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/gc_sc/_CombAbo.pl b/lib/unicore/lib/gc_sc/_CombAbo.pl
new file mode 100644
index 0000000000..2bf51e32ba
--- /dev/null
+++ b/lib/unicore/lib/gc_sc/_CombAbo.pl
@@ -0,0 +1,60 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# This file supports:
+# \p{_CombAbove}
+#
+# Meaning: (for internal casefolding use)
+#
+return <<'END';
+0300 0314
+033D 0344
+0346
+034A 034C
+0350 0352
+0357
+0363 036F
+0483 0486
+0592 0595
+0597 0599
+059C 05A1
+05A8 05A9
+05AB 05AC
+05AF
+05C4
+0610 0615
+0653 0654
+0657 0658
+06D6 06DC
+06DF 06E2
+06E4
+06E7 06E8
+06EB 06EC
+0730
+0732 0733
+0735 0736
+073A
+073D
+073F 0741
+0743
+0745
+0747
+0749 074A
+0951
+0953 0954
+0F82 0F83
+0F86 0F87
+17DD
+193A
+20D0 20D1
+20D4 20D7
+20DB 20DC
+20E1
+20E7
+20E9
+FE20 FE23
+1D185 1D189
+1D1AA 1D1AD
+END
diff --git a/lib/unicore/lib/hst/L.pl b/lib/unicore/lib/hst/L.pl
new file mode 100644
index 0000000000..945fc18394
--- /dev/null
+++ b/lib/unicore/lib/hst/L.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# HangulSyllableType category 'Leading_Jamo'
+#
+return <<'END';
+1100 1159
+115F
+END
diff --git a/lib/unicore/lib/hst/LV.pl b/lib/unicore/lib/hst/LV.pl
new file mode 100644
index 0000000000..13d12ad5f3
--- /dev/null
+++ b/lib/unicore/lib/hst/LV.pl
@@ -0,0 +1,408 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# HangulSyllableType category 'LV_Syllable'
+#
+return <<'END';
+AC00
+AC1C
+AC38
+AC54
+AC70
+AC8C
+ACA8
+ACC4
+ACE0
+ACFC
+AD18
+AD34
+AD50
+AD6C
+AD88
+ADA4
+ADC0
+ADDC
+ADF8
+AE14
+AE30
+AE4C
+AE68
+AE84
+AEA0
+AEBC
+AED8
+AEF4
+AF10
+AF2C
+AF48
+AF64
+AF80
+AF9C
+AFB8
+AFD4
+AFF0
+B00C
+B028
+B044
+B060
+B07C
+B098
+B0B4
+B0D0
+B0EC
+B108
+B124
+B140
+B15C
+B178
+B194
+B1B0
+B1CC
+B1E8
+B204
+B220
+B23C
+B258
+B274
+B290
+B2AC
+B2C8
+B2E4
+B300
+B31C
+B338
+B354
+B370
+B38C
+B3A8
+B3C4
+B3E0
+B3FC
+B418
+B434
+B450
+B46C
+B488
+B4A4
+B4C0
+B4DC
+B4F8
+B514
+B530
+B54C
+B568
+B584
+B5A0
+B5BC
+B5D8
+B5F4
+B610
+B62C
+B648
+B664
+B680
+B69C
+B6B8
+B6D4
+B6F0
+B70C
+B728
+B744
+B760
+B77C
+B798
+B7B4
+B7D0
+B7EC
+B808
+B824
+B840
+B85C
+B878
+B894
+B8B0
+B8CC
+B8E8
+B904
+B920
+B93C
+B958
+B974
+B990
+B9AC
+B9C8
+B9E4
+BA00
+BA1C
+BA38
+BA54
+BA70
+BA8C
+BAA8
+BAC4
+BAE0
+BAFC
+BB18
+BB34
+BB50
+BB6C
+BB88
+BBA4
+BBC0
+BBDC
+BBF8
+BC14
+BC30
+BC4C
+BC68
+BC84
+BCA0
+BCBC
+BCD8
+BCF4
+BD10
+BD2C
+BD48
+BD64
+BD80
+BD9C
+BDB8
+BDD4
+BDF0
+BE0C
+BE28
+BE44
+BE60
+BE7C
+BE98
+BEB4
+BED0
+BEEC
+BF08
+BF24
+BF40
+BF5C
+BF78
+BF94
+BFB0
+BFCC
+BFE8
+C004
+C020
+C03C
+C058
+C074
+C090
+C0AC
+C0C8
+C0E4
+C100
+C11C
+C138
+C154
+C170
+C18C
+C1A8
+C1C4
+C1E0
+C1FC
+C218
+C234
+C250
+C26C
+C288
+C2A4
+C2C0
+C2DC
+C2F8
+C314
+C330
+C34C
+C368
+C384
+C3A0
+C3BC
+C3D8
+C3F4
+C410
+C42C
+C448
+C464
+C480
+C49C
+C4B8
+C4D4
+C4F0
+C50C
+C528
+C544
+C560
+C57C
+C598
+C5B4
+C5D0
+C5EC
+C608
+C624
+C640
+C65C
+C678
+C694
+C6B0
+C6CC
+C6E8
+C704
+C720
+C73C
+C758
+C774
+C790
+C7AC
+C7C8
+C7E4
+C800
+C81C
+C838
+C854
+C870
+C88C
+C8A8
+C8C4
+C8E0
+C8FC
+C918
+C934
+C950
+C96C
+C988
+C9A4
+C9C0
+C9DC
+C9F8
+CA14
+CA30
+CA4C
+CA68
+CA84
+CAA0
+CABC
+CAD8
+CAF4
+CB10
+CB2C
+CB48
+CB64
+CB80
+CB9C
+CBB8
+CBD4
+CBF0
+CC0C
+CC28
+CC44
+CC60
+CC7C
+CC98
+CCB4
+CCD0
+CCEC
+CD08
+CD24
+CD40
+CD5C
+CD78
+CD94
+CDB0
+CDCC
+CDE8
+CE04
+CE20
+CE3C
+CE58
+CE74
+CE90
+CEAC
+CEC8
+CEE4
+CF00
+CF1C
+CF38
+CF54
+CF70
+CF8C
+CFA8
+CFC4
+CFE0
+CFFC
+D018
+D034
+D050
+D06C
+D088
+D0A4
+D0C0
+D0DC
+D0F8
+D114
+D130
+D14C
+D168
+D184
+D1A0
+D1BC
+D1D8
+D1F4
+D210
+D22C
+D248
+D264
+D280
+D29C
+D2B8
+D2D4
+D2F0
+D30C
+D328
+D344
+D360
+D37C
+D398
+D3B4
+D3D0
+D3EC
+D408
+D424
+D440
+D45C
+D478
+D494
+D4B0
+D4CC
+D4E8
+D504
+D520
+D53C
+D558
+D574
+D590
+D5AC
+D5C8
+D5E4
+D600
+D61C
+D638
+D654
+D670
+D68C
+D6A8
+D6C4
+D6E0
+D6FC
+D718
+D734
+D750
+D76C
+D788
+END
diff --git a/lib/unicore/lib/hst/LVT.pl b/lib/unicore/lib/hst/LVT.pl
new file mode 100644
index 0000000000..c429e0216e
--- /dev/null
+++ b/lib/unicore/lib/hst/LVT.pl
@@ -0,0 +1,408 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# HangulSyllableType category 'LVT_Syllable'
+#
+return <<'END';
+AC01 AC1B
+AC1D AC37
+AC39 AC53
+AC55 AC6F
+AC71 AC8B
+AC8D ACA7
+ACA9 ACC3
+ACC5 ACDF
+ACE1 ACFB
+ACFD AD17
+AD19 AD33
+AD35 AD4F
+AD51 AD6B
+AD6D AD87
+AD89 ADA3
+ADA5 ADBF
+ADC1 ADDB
+ADDD ADF7
+ADF9 AE13
+AE15 AE2F
+AE31 AE4B
+AE4D AE67
+AE69 AE83
+AE85 AE9F
+AEA1 AEBB
+AEBD AED7
+AED9 AEF3
+AEF5 AF0F
+AF11 AF2B
+AF2D AF47
+AF49 AF63
+AF65 AF7F
+AF81 AF9B
+AF9D AFB7
+AFB9 AFD3
+AFD5 AFEF
+AFF1 B00B
+B00D B027
+B029 B043
+B045 B05F
+B061 B07B
+B07D B097
+B099 B0B3
+B0B5 B0CF
+B0D1 B0EB
+B0ED B107
+B109 B123
+B125 B13F
+B141 B15B
+B15D B177
+B179 B193
+B195 B1AF
+B1B1 B1CB
+B1CD B1E7
+B1E9 B203
+B205 B21F
+B221 B23B
+B23D B257
+B259 B273
+B275 B28F
+B291 B2AB
+B2AD B2C7
+B2C9 B2E3
+B2E5 B2FF
+B301 B31B
+B31D B337
+B339 B353
+B355 B36F
+B371 B38B
+B38D B3A7
+B3A9 B3C3
+B3C5 B3DF
+B3E1 B3FB
+B3FD B417
+B419 B433
+B435 B44F
+B451 B46B
+B46D B487
+B489 B4A3
+B4A5 B4BF
+B4C1 B4DB
+B4DD B4F7
+B4F9 B513
+B515 B52F
+B531 B54B
+B54D B567
+B569 B583
+B585 B59F
+B5A1 B5BB
+B5BD B5D7
+B5D9 B5F3
+B5F5 B60F
+B611 B62B
+B62D B647
+B649 B663
+B665 B67F
+B681 B69B
+B69D B6B7
+B6B9 B6D3
+B6D5 B6EF
+B6F1 B70B
+B70D B727
+B729 B743
+B745 B75F
+B761 B77B
+B77D B797
+B799 B7B3
+B7B5 B7CF
+B7D1 B7EB
+B7ED B807
+B809 B823
+B825 B83F
+B841 B85B
+B85D B877
+B879 B893
+B895 B8AF
+B8B1 B8CB
+B8CD B8E7
+B8E9 B903
+B905 B91F
+B921 B93B
+B93D B957
+B959 B973
+B975 B98F
+B991 B9AB
+B9AD B9C7
+B9C9 B9E3
+B9E5 B9FF
+BA01 BA1B
+BA1D BA37
+BA39 BA53
+BA55 BA6F
+BA71 BA8B
+BA8D BAA7
+BAA9 BAC3
+BAC5 BADF
+BAE1 BAFB
+BAFD BB17
+BB19 BB33
+BB35 BB4F
+BB51 BB6B
+BB6D BB87
+BB89 BBA3
+BBA5 BBBF
+BBC1 BBDB
+BBDD BBF7
+BBF9 BC13
+BC15 BC2F
+BC31 BC4B
+BC4D BC67
+BC69 BC83
+BC85 BC9F
+BCA1 BCBB
+BCBD BCD7
+BCD9 BCF3
+BCF5 BD0F
+BD11 BD2B
+BD2D BD47
+BD49 BD63
+BD65 BD7F
+BD81 BD9B
+BD9D BDB7
+BDB9 BDD3
+BDD5 BDEF
+BDF1 BE0B
+BE0D BE27
+BE29 BE43
+BE45 BE5F
+BE61 BE7B
+BE7D BE97
+BE99 BEB3
+BEB5 BECF
+BED1 BEEB
+BEED BF07
+BF09 BF23
+BF25 BF3F
+BF41 BF5B
+BF5D BF77
+BF79 BF93
+BF95 BFAF
+BFB1 BFCB
+BFCD BFE7
+BFE9 C003
+C005 C01F
+C021 C03B
+C03D C057
+C059 C073
+C075 C08F
+C091 C0AB
+C0AD C0C7
+C0C9 C0E3
+C0E5 C0FF
+C101 C11B
+C11D C137
+C139 C153
+C155 C16F
+C171 C18B
+C18D C1A7
+C1A9 C1C3
+C1C5 C1DF
+C1E1 C1FB
+C1FD C217
+C219 C233
+C235 C24F
+C251 C26B
+C26D C287
+C289 C2A3
+C2A5 C2BF
+C2C1 C2DB
+C2DD C2F7
+C2F9 C313
+C315 C32F
+C331 C34B
+C34D C367
+C369 C383
+C385 C39F
+C3A1 C3BB
+C3BD C3D7
+C3D9 C3F3
+C3F5 C40F
+C411 C42B
+C42D C447
+C449 C463
+C465 C47F
+C481 C49B
+C49D C4B7
+C4B9 C4D3
+C4D5 C4EF
+C4F1 C50B
+C50D C527
+C529 C543
+C545 C55F
+C561 C57B
+C57D C597
+C599 C5B3
+C5B5 C5CF
+C5D1 C5EB
+C5ED C607
+C609 C623
+C625 C63F
+C641 C65B
+C65D C677
+C679 C693
+C695 C6AF
+C6B1 C6CB
+C6CD C6E7
+C6E9 C703
+C705 C71F
+C721 C73B
+C73D C757
+C759 C773
+C775 C78F
+C791 C7AB
+C7AD C7C7
+C7C9 C7E3
+C7E5 C7FF
+C801 C81B
+C81D C837
+C839 C853
+C855 C86F
+C871 C88B
+C88D C8A7
+C8A9 C8C3
+C8C5 C8DF
+C8E1 C8FB
+C8FD C917
+C919 C933
+C935 C94F
+C951 C96B
+C96D C987
+C989 C9A3
+C9A5 C9BF
+C9C1 C9DB
+C9DD C9F7
+C9F9 CA13
+CA15 CA2F
+CA31 CA4B
+CA4D CA67
+CA69 CA83
+CA85 CA9F
+CAA1 CABB
+CABD CAD7
+CAD9 CAF3
+CAF5 CB0F
+CB11 CB2B
+CB2D CB47
+CB49 CB63
+CB65 CB7F
+CB81 CB9B
+CB9D CBB7
+CBB9 CBD3
+CBD5 CBEF
+CBF1 CC0B
+CC0D CC27
+CC29 CC43
+CC45 CC5F
+CC61 CC7B
+CC7D CC97
+CC99 CCB3
+CCB5 CCCF
+CCD1 CCEB
+CCED CD07
+CD09 CD23
+CD25 CD3F
+CD41 CD5B
+CD5D CD77
+CD79 CD93
+CD95 CDAF
+CDB1 CDCB
+CDCD CDE7
+CDE9 CE03
+CE05 CE1F
+CE21 CE3B
+CE3D CE57
+CE59 CE73
+CE75 CE8F
+CE91 CEAB
+CEAD CEC7
+CEC9 CEE3
+CEE5 CEFF
+CF01 CF1B
+CF1D CF37
+CF39 CF53
+CF55 CF6F
+CF71 CF8B
+CF8D CFA7
+CFA9 CFC3
+CFC5 CFDF
+CFE1 CFFB
+CFFD D017
+D019 D033
+D035 D04F
+D051 D06B
+D06D D087
+D089 D0A3
+D0A5 D0BF
+D0C1 D0DB
+D0DD D0F7
+D0F9 D113
+D115 D12F
+D131 D14B
+D14D D167
+D169 D183
+D185 D19F
+D1A1 D1BB
+D1BD D1D7
+D1D9 D1F3
+D1F5 D20F
+D211 D22B
+D22D D247
+D249 D263
+D265 D27F
+D281 D29B
+D29D D2B7
+D2B9 D2D3
+D2D5 D2EF
+D2F1 D30B
+D30D D327
+D329 D343
+D345 D35F
+D361 D37B
+D37D D397
+D399 D3B3
+D3B5 D3CF
+D3D1 D3EB
+D3ED D407
+D409 D423
+D425 D43F
+D441 D45B
+D45D D477
+D479 D493
+D495 D4AF
+D4B1 D4CB
+D4CD D4E7
+D4E9 D503
+D505 D51F
+D521 D53B
+D53D D557
+D559 D573
+D575 D58F
+D591 D5AB
+D5AD D5C7
+D5C9 D5E3
+D5E5 D5FF
+D601 D61B
+D61D D637
+D639 D653
+D655 D66F
+D671 D68B
+D68D D6A7
+D6A9 D6C3
+D6C5 D6DF
+D6E1 D6FB
+D6FD D717
+D719 D733
+D735 D74F
+D751 D76B
+D76D D787
+D789 D7A3
+END
diff --git a/lib/unicore/lib/hst/T.pl b/lib/unicore/lib/hst/T.pl
new file mode 100644
index 0000000000..7a319da920
--- /dev/null
+++ b/lib/unicore/lib/hst/T.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# HangulSyllableType category 'Trailing_Jamo'
+#
+return <<'END';
+11A8 11F9
+END
diff --git a/lib/unicore/lib/hst/V.pl b/lib/unicore/lib/hst/V.pl
new file mode 100644
index 0000000000..a15ff22721
--- /dev/null
+++ b/lib/unicore/lib/hst/V.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# HangulSyllableType category 'Vowel_Jamo'
+#
+return <<'END';
+1160 11A2
+END
diff --git a/lib/unicore/lib/jt/C.pl b/lib/unicore/lib/jt/C.pl
new file mode 100644
index 0000000000..ff7d7801b8
--- /dev/null
+++ b/lib/unicore/lib/jt/C.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# JoiningType category 'Join_Causing'
+#
+return <<'END';
+0640
+200D
+END
diff --git a/lib/unicore/lib/jt/D.pl b/lib/unicore/lib/jt/D.pl
new file mode 100644
index 0000000000..4f4be057cb
--- /dev/null
+++ b/lib/unicore/lib/jt/D.pl
@@ -0,0 +1,31 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# JoiningType category 'Dual_Joining'
+#
+return <<'END';
+0626
+0628
+062A 062E
+0633 063A
+0641 0647
+0649 064A
+066E 066F
+0678 0687
+069A 06BF
+06C1
+06CC
+06CE
+06D0 06D1
+06FA 06FC
+06FF
+0712 0714
+071A 071D
+071F 0727
+0729
+072B
+072D 072E
+074E 074F
+END
diff --git a/lib/unicore/lib/jt/R.pl b/lib/unicore/lib/jt/R.pl
new file mode 100644
index 0000000000..4031b5a93a
--- /dev/null
+++ b/lib/unicore/lib/jt/R.pl
@@ -0,0 +1,32 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# JoiningType category 'Right_Joining'
+#
+return <<'END';
+0622 0625
+0627
+0629
+062F 0632
+0648
+0671 0673
+0675 0677
+0688 0699
+06C0
+06C2 06CB
+06CD
+06CF
+06D2 06D3
+06D5
+06EE 06EF
+0710
+0715 0719
+071E
+0728
+072A
+072C
+072F
+074D
+END
diff --git a/lib/unicore/lib/jt/U.pl b/lib/unicore/lib/jt/U.pl
new file mode 100644
index 0000000000..2c0b2ae078
--- /dev/null
+++ b/lib/unicore/lib/jt/U.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# JoiningType category 'Non_Joining'
+#
+return <<'END';
+0600 0603
+0621
+0674
+06DD
+200C
+END
diff --git a/lib/unicore/lib/lb/AI.pl b/lib/unicore/lib/lb/AI.pl
new file mode 100644
index 0000000000..2837c8eca1
--- /dev/null
+++ b/lib/unicore/lib/lb/AI.pl
@@ -0,0 +1,101 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Ambiguous'
+#
+return <<'END';
+00A1
+00A7 00A8
+00AA
+00B2 00B3
+00B6 00BA
+00BC 00BF
+00D7
+00F7
+02C7
+02C9 02CB
+02CD
+02D0
+02D8 02DB
+02DD
+2015 2016
+2020 2021
+203B
+2074
+207F
+2081 2084
+2105
+2113
+2121 2122
+212B
+2154 2155
+215B
+215E
+2160 216B
+2170 2179
+2190 2199
+21D2
+21D4
+2200
+2202 2203
+2207 2208
+220B
+220F
+2211
+2215
+221A
+221D 2220
+2223
+2225
+2227 222C
+222E
+2234 2237
+223C 223D
+2248
+224C
+2252
+2260 2261
+2264 2267
+226A 226B
+226E 226F
+2282 2283
+2286 2287
+2295
+2299
+22A5
+22BF
+2312
+2460 24FE
+2500 254B
+2550 2574
+2580 258F
+2592 2595
+25A0 25A1
+25A3 25A9
+25B2 25B3
+25B6 25B7
+25BC 25BD
+25C0 25C1
+25C6 25C8
+25CB
+25CE 25D1
+25E2 25E5
+25EF
+2605 2606
+2609
+260E 260F
+2614 2617
+261C
+261E
+2640
+2642
+2660 2661
+2663 2665
+2667 266A
+266C 266D
+266F
+2776 2793
+FFFD
+END
diff --git a/lib/unicore/lib/lb/AL.pl b/lib/unicore/lib/lb/AL.pl
new file mode 100644
index 0000000000..78bdb781b6
--- /dev/null
+++ b/lib/unicore/lib/lb/AL.pl
@@ -0,0 +1,423 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Alphabetic'
+#
+return <<'END';
+0023
+0026
+002A
+003C 003E
+0040 005A
+005E 007A
+007E
+00A6
+00A9
+00AC
+00AE 00AF
+00B5
+00C0 00D6
+00D8 00F6
+00F8 0236
+0250 02C6
+02CE 02CF
+02D1 02D7
+02DC
+02DE 02FF
+0374 0375
+037A
+0384 038A
+038C
+038E 03A1
+03A3 03CE
+03D0 03FB
+0400 0482
+048A 04CE
+04D0 04F5
+04F8 04F9
+0500 050F
+0531 0556
+0559 055F
+0561 0587
+05BE
+05C0
+05C3
+05D0 05EA
+05F0 05F4
+0600 0603
+060C
+060E 060F
+061B
+061F
+0621 063A
+0640 064A
+066A
+066D 066F
+0671 06D5
+06DD
+06E5 06E6
+06E9
+06EE 06EF
+06FA 070D
+070F 0710
+0712 072F
+074D 074F
+0780 07A5
+07B1
+0904 0939
+093D
+0950
+0958 0961
+0964 0965
+0970
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD
+09DC 09DD
+09DF 09E1
+09F0 09F1
+09F4 09FA
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
+0A5E
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD
+0AD0
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D
+0B5C 0B5D
+0B5F 0B61
+0B70 0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BF0 0BF8
+0BFA
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD
+0CDE
+0CE0 0CE1
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D60 0D61
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DF4
+0E4F
+0F00 0F0A
+0F0D 0F17
+0F1A 0F1F
+0F2A 0F34
+0F36
+0F38
+0F40 0F47
+0F49 0F6A
+0F85
+0F88 0F8B
+0FBE 0FC5
+0FC7 0FCC
+0FCF
+104A 104F
+10A0 10C5
+10D0 10F8
+10FB
+1200 1206
+1208 1246
+1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1286
+1288
+128A 128D
+1290 12AE
+12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1310
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1362 1368
+1372 137C
+13A0 13F4
+1401 1676
+1681 169A
+16A0 16F0
+1700 170C
+170E 1711
+1720 1731
+1735 1736
+1740 1751
+1760 176C
+176E 1770
+17DC
+17F0 17F9
+1800 1805
+1807 180A
+1820 1877
+1880 18A8
+1900 191C
+1940
+1950 196D
+1970 1974
+19E0 19FF
+1D00 1D6B
+1E00 1E9B
+1EA0 1EF9
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2017
+2022 2023
+2038
+203D 2043
+2047 2054
+2057
+2061 2063
+2070 2071
+2075 207C
+2080
+2085 208C
+2100 2102
+2104
+2106 2108
+210A 2112
+2114 2115
+2117 2120
+2123 212A
+212C 213B
+213D 214B
+2153
+2156 215A
+215C 215D
+215F
+216C 216F
+217A 2183
+219A 21D1
+21D3
+21D5 21FF
+2201
+2204 2206
+2209 220A
+220C 220E
+2210
+2214
+2216 2219
+221B 221C
+2221 2222
+2224
+2226
+222D
+222F 2233
+2238 223B
+223E 2247
+2249 224B
+224D 2251
+2253 225F
+2262 2263
+2268 2269
+226C 226D
+2270 2281
+2284 2285
+2288 2294
+2296 2298
+229A 22A4
+22A6 22BE
+22C0 2311
+2313 2328
+232B 23B3
+23B7 23D0
+2400 2426
+2440 244A
+24FF
+254C 254F
+2575 257F
+2590 2591
+2596 259F
+25A2
+25AA 25B1
+25B4 25B5
+25B8 25BB
+25BE 25BF
+25C2 25C5
+25C9 25CA
+25CC 25CD
+25D2 25E1
+25E6 25EE
+25F0 2604
+2607 2608
+260A 260D
+2610 2613
+2619 261B
+261D
+261F 263F
+2641
+2643 265F
+2662
+2666
+266B
+266E
+2670 267D
+2680 2691
+26A0 26A1
+2701 2704
+2706 2709
+270C 2727
+2729 274B
+274D
+274F 2752
+2756
+2758 275A
+2761
+2764 2767
+2794
+2798 27AF
+27B1 27BE
+27D0 27E5
+27F0 2982
+2999 29D7
+29DC 29FB
+29FE 2B0D
+4DC0 4DFF
+FB00 FB06
+FB13 FB17
+FB1D
+FB1F FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FDFD
+FE70 FE74
+FE76 FEFC
+FF66
+FF71 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE8 FFEE
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10107 10133
+10137 1013F
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+1D000 1D0F5
+1D100 1D126
+1D12A 1D164
+1D16A 1D16C
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D300 1D356
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A3
+1D6A8 1D7C9
+END
diff --git a/lib/unicore/lib/lb/B2.pl b/lib/unicore/lib/lb/B2.pl
new file mode 100644
index 0000000000..d00f579108
--- /dev/null
+++ b/lib/unicore/lib/lb/B2.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Break_Both'
+#
+return <<'END';
+2014
+END
diff --git a/lib/unicore/lib/lb/BA.pl b/lib/unicore/lib/lb/BA.pl
new file mode 100644
index 0000000000..dc5d773a41
--- /dev/null
+++ b/lib/unicore/lib/lb/BA.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Break_After'
+#
+return <<'END';
+0009
+007C
+00AD
+058A
+0F0B
+1361
+1680
+17D5
+2000 2006
+2008 200A
+2010
+2012 2013
+2027
+205F
+10100 10102
+1039F
+END
diff --git a/lib/unicore/lib/lb/BB.pl b/lib/unicore/lib/lb/BB.pl
new file mode 100644
index 0000000000..ea9c23aa2f
--- /dev/null
+++ b/lib/unicore/lib/lb/BB.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Break_Before'
+#
+return <<'END';
+00B4
+02C8
+02CC
+1806
+END
diff --git a/lib/unicore/lib/lb/BK.pl b/lib/unicore/lib/lb/BK.pl
new file mode 100644
index 0000000000..c55b1be7eb
--- /dev/null
+++ b/lib/unicore/lib/lb/BK.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Mandatory_Break'
+#
+return <<'END';
+000C
+2028 2029
+END
diff --git a/lib/unicore/lib/lb/CB.pl b/lib/unicore/lib/lb/CB.pl
new file mode 100644
index 0000000000..eb229b7bf9
--- /dev/null
+++ b/lib/unicore/lib/lb/CB.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Contingent_Break'
+#
+return <<'END';
+FFFC
+END
diff --git a/lib/unicore/lib/lb/CL.pl b/lib/unicore/lib/lb/CL.pl
new file mode 100644
index 0000000000..9537f30b05
--- /dev/null
+++ b/lib/unicore/lib/lb/CL.pl
@@ -0,0 +1,77 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Close_Punctuation'
+#
+return <<'END';
+0029
+005D
+007D
+0F3B
+0F3D
+169C
+2046
+207E
+208E
+232A
+23B5
+2769
+276B
+276D
+276F
+2771
+2773
+2775
+27E7
+27E9
+27EB
+2984
+2986
+2988
+298A
+298C
+298E
+2990
+2992
+2994
+2996
+2998
+29D9
+29DB
+29FD
+3001 3002
+3009
+300B
+300D
+300F
+3011
+3015
+3017
+3019
+301B
+301E 301F
+FD3F
+FE36
+FE38
+FE3A
+FE3C
+FE3E
+FE40
+FE42
+FE44
+FE48
+FE50
+FE52
+FE5A
+FE5C
+FE5E
+FF09
+FF0C
+FF0E
+FF3D
+FF5D
+FF60 FF61
+FF63 FF64
+END
diff --git a/lib/unicore/lib/lb/CM.pl b/lib/unicore/lib/lb/CM.pl
new file mode 100644
index 0000000000..f22e3dc540
--- /dev/null
+++ b/lib/unicore/lib/lb/CM.pl
@@ -0,0 +1,138 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Combining_Mark'
+#
+return <<'END';
+0000 0008
+000B
+000E 001F
+007F 0084
+0086 009F
+0300 0357
+0363 036F
+0483 0486
+0488 0489
+0591 05A1
+05A3 05B9
+05BB 05BD
+05BF
+05C1 05C2
+05C4
+0610 0615
+064B 0658
+0670
+06D6 06DC
+06DE 06E4
+06E7 06E8
+06EA 06ED
+0711
+0730 074A
+07A6 07B0
+0901 0903
+093C
+093E 094D
+0951 0954
+0962 0963
+0981 0983
+09BC
+09BE 09C4
+09C7 09C8
+09CB 09CD
+09D7
+09E2 09E3
+0A01 0A03
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A70 0A71
+0A81 0A83
+0ABC
+0ABE 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AE2 0AE3
+0B01 0B03
+0B3C
+0B3E 0B43
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B82
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD7
+0C01 0C03
+0C3E 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C82 0C83
+0CBC
+0CBE 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0D02 0D03
+0D3E 0D43
+0D46 0D48
+0D4A 0D4D
+0D57
+0D82 0D83
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF3
+0E31
+0E34 0E3A
+0E47 0E4E
+0EB1
+0EB4 0EB9
+0EBB 0EBC
+0EC8 0ECD
+0F18 0F19
+0F35
+0F37
+0F39
+0F3E 0F3F
+0F71 0F84
+0F86 0F87
+0F90 0F97
+0F99 0FBC
+0FC6
+102C 1032
+1036 1039
+1056 1059
+1712 1714
+1732 1734
+1752 1753
+1772 1773
+17B6 17D3
+17DD
+180B 180D
+18A9
+1920 192B
+1930 193B
+200C 200F
+202A 202E
+206A 206F
+20D0 20EA
+302A 302F
+3099 309A
+FB1E
+FE00 FE0F
+FE20 FE23
+FFF9 FFFB
+1D165 1D169
+1D16D 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0001
+E0020 E007F
+E0100 E01EF
+END
diff --git a/lib/unicore/lib/lb/CR.pl b/lib/unicore/lib/lb/CR.pl
new file mode 100644
index 0000000000..b4c096404b
--- /dev/null
+++ b/lib/unicore/lib/lb/CR.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Carriage_Return'
+#
+return <<'END';
+000D
+END
diff --git a/lib/unicore/lib/lb/EX.pl b/lib/unicore/lib/lb/EX.pl
new file mode 100644
index 0000000000..65cd3e71c2
--- /dev/null
+++ b/lib/unicore/lib/lb/EX.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Exclamation'
+#
+return <<'END';
+0021
+003F
+1944 1945
+2762 2763
+FE56 FE57
+FF01
+FF1F
+END
diff --git a/lib/unicore/lib/lb/GL.pl b/lib/unicore/lib/lb/GL.pl
new file mode 100644
index 0000000000..589aee7c73
--- /dev/null
+++ b/lib/unicore/lib/lb/GL.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Glue'
+#
+return <<'END';
+00A0
+035D 0362
+0F0C
+180E
+2007
+2011
+202F
+END
diff --git a/lib/unicore/lib/lb/HY.pl b/lib/unicore/lib/lb/HY.pl
new file mode 100644
index 0000000000..321218960f
--- /dev/null
+++ b/lib/unicore/lib/lb/HY.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Hyphen'
+#
+return <<'END';
+002D
+END
diff --git a/lib/unicore/lib/lb/ID.pl b/lib/unicore/lib/lb/ID.pl
new file mode 100644
index 0000000000..e86d245afd
--- /dev/null
+++ b/lib/unicore/lib/lb/ID.pl
@@ -0,0 +1,82 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Ideographic'
+#
+return <<'END';
+1100 1159
+115F 11A2
+11A8 11F9
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000
+3003 3004
+3006 3007
+3012 3013
+3020 3029
+3030 303A
+303D 303F
+3042
+3044
+3046
+3048
+304A 3062
+3064 3082
+3084
+3086
+3088 308D
+308F 3094
+309F
+30A2
+30A4
+30A6
+30A8
+30AA 30C2
+30C4 30E2
+30E4
+30E6
+30E8 30ED
+30EF 30F4
+30F7 30FA
+30FF
+3105 312C
+3131 318E
+3190 31B7
+3200 321E
+3220 3243
+3250 327D
+327F 32FE
+3300 4DB5
+4E00 9FA5
+A000 A48C
+A490 A4C6
+AC00 D7A3
+F900 FA2D
+FA30 FA6A
+FE30 FE34
+FE45 FE46
+FE49 FE4F
+FE51
+FE58
+FE5F FE66
+FE68
+FE6B
+FF02 FF03
+FF06 FF07
+FF0A FF0B
+FF0D
+FF0F FF19
+FF1C FF1E
+FF20 FF3A
+FF3C
+FF3E FF5A
+FF5C
+FF5E
+FFE2 FFE4
+20000 2A6D6
+2F800 2FA1D
+END
diff --git a/lib/unicore/lib/lb/IN.pl b/lib/unicore/lib/lb/IN.pl
new file mode 100644
index 0000000000..cc7d42063d
--- /dev/null
+++ b/lib/unicore/lib/lb/IN.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Inseparable'
+#
+return <<'END';
+2024 2026
+END
diff --git a/lib/unicore/lib/lb/IS.pl b/lib/unicore/lib/lb/IS.pl
new file mode 100644
index 0000000000..0ad388df55
--- /dev/null
+++ b/lib/unicore/lib/lb/IS.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Infix_Numeric'
+#
+return <<'END';
+002C
+002E
+003A 003B
+037E
+0589
+060D
+2044
+END
diff --git a/lib/unicore/lib/lb/LF.pl b/lib/unicore/lib/lb/LF.pl
new file mode 100644
index 0000000000..08bb773718
--- /dev/null
+++ b/lib/unicore/lib/lb/LF.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Line_Feed'
+#
+return <<'END';
+000A
+END
diff --git a/lib/unicore/lib/lb/NL.pl b/lib/unicore/lib/lb/NL.pl
new file mode 100644
index 0000000000..c1c59b268a
--- /dev/null
+++ b/lib/unicore/lib/lb/NL.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Next_Line'
+#
+return <<'END';
+0085
+END
diff --git a/lib/unicore/lib/lb/NS.pl b/lib/unicore/lib/lb/NS.pl
new file mode 100644
index 0000000000..a657e2304f
--- /dev/null
+++ b/lib/unicore/lib/lb/NS.pl
@@ -0,0 +1,46 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Nonstarter'
+#
+return <<'END';
+0E5A 0E5B
+17D4
+17D6 17DA
+203C
+3005
+301C
+303B 303C
+3041
+3043
+3045
+3047
+3049
+3063
+3083
+3085
+3087
+308E
+3095 3096
+309B 309E
+30A0 30A1
+30A3
+30A5
+30A7
+30A9
+30C3
+30E3
+30E5
+30E7
+30EE
+30F5 30F6
+30FB 30FE
+31F0 31FF
+FE54 FE55
+FF1A FF1B
+FF65
+FF67 FF70
+FF9E FF9F
+END
diff --git a/lib/unicore/lib/lb/NU.pl b/lib/unicore/lib/lb/NU.pl
new file mode 100644
index 0000000000..2187287baf
--- /dev/null
+++ b/lib/unicore/lib/lb/NU.pl
@@ -0,0 +1,32 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Numeric'
+#
+return <<'END';
+0030 0039
+0660 0669
+066B 066C
+06F0 06F9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE7 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+1369 1371
+17E0 17E9
+1810 1819
+1946 194F
+104A0 104A9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/lb/OP.pl b/lib/unicore/lib/lb/OP.pl
new file mode 100644
index 0000000000..f946c85eab
--- /dev/null
+++ b/lib/unicore/lib/lb/OP.pl
@@ -0,0 +1,74 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Open_Punctuation'
+#
+return <<'END';
+0028
+005B
+007B
+0F3A
+0F3C
+169B
+201A
+201E
+2045
+207D
+208D
+2329
+23B4
+2768
+276A
+276C
+276E
+2770
+2772
+2774
+27E6
+27E8
+27EA
+2983
+2985
+2987
+2989
+298B
+298D
+298F
+2991
+2993
+2995
+2997
+29D8
+29DA
+29FC
+3008
+300A
+300C
+300E
+3010
+3014
+3016
+3018
+301A
+301D
+FD3E
+FE35
+FE37
+FE39
+FE3B
+FE3D
+FE3F
+FE41
+FE43
+FE47
+FE59
+FE5B
+FE5D
+FF08
+FF3B
+FF5B
+FF5F
+FF62
+END
diff --git a/lib/unicore/lib/lb/PO.pl b/lib/unicore/lib/lb/PO.pl
new file mode 100644
index 0000000000..08ac3b4923
--- /dev/null
+++ b/lib/unicore/lib/lb/PO.pl
@@ -0,0 +1,20 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Postfix_Numeric'
+#
+return <<'END';
+0025
+00A2
+00B0
+2030 2037
+20A7
+2103
+2109
+FDFC
+FE6A
+FF05
+FFE0
+END
diff --git a/lib/unicore/lib/lb/PR.pl b/lib/unicore/lib/lb/PR.pl
new file mode 100644
index 0000000000..f9b1b646e2
--- /dev/null
+++ b/lib/unicore/lib/lb/PR.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Prefix_Numeric'
+#
+return <<'END';
+0024
+002B
+005C
+00A3 00A5
+00B1
+09F2 09F3
+0AF1
+0BF9
+0E3F
+17DB
+20A0 20A6
+20A8 20B1
+2116
+2212 2213
+FE69
+FF04
+FFE1
+FFE5 FFE6
+END
diff --git a/lib/unicore/lib/lb/QU.pl b/lib/unicore/lib/lb/QU.pl
new file mode 100644
index 0000000000..84e2b4cb98
--- /dev/null
+++ b/lib/unicore/lib/lb/QU.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Quotation'
+#
+return <<'END';
+0022
+0027
+00AB
+00BB
+2018 2019
+201B 201D
+201F
+2039 203A
+23B6
+275B 275E
+END
diff --git a/lib/unicore/lib/lb/SA.pl b/lib/unicore/lib/lb/SA.pl
new file mode 100644
index 0000000000..e6308583bf
--- /dev/null
+++ b/lib/unicore/lib/lb/SA.pl
@@ -0,0 +1,34 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Complex_Context'
+#
+return <<'END';
+0E01 0E30
+0E32 0E33
+0E40 0E46
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EBD
+0EC0 0EC4
+0EC6
+0EDC 0EDD
+1000 1021
+1023 1027
+1029 102A
+1050 1055
+1780 17B5
+END
diff --git a/lib/unicore/lib/lb/SG.pl b/lib/unicore/lib/lb/SG.pl
new file mode 100644
index 0000000000..65be30b684
--- /dev/null
+++ b/lib/unicore/lib/lb/SG.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Surrogate'
+#
+return <<'END';
+D800 DFFF
+END
diff --git a/lib/unicore/lib/lb/SP.pl b/lib/unicore/lib/lb/SP.pl
new file mode 100644
index 0000000000..ae815232b9
--- /dev/null
+++ b/lib/unicore/lib/lb/SP.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Space'
+#
+return <<'END';
+0020
+END
diff --git a/lib/unicore/lib/lb/SY.pl b/lib/unicore/lib/lb/SY.pl
new file mode 100644
index 0000000000..ae43e49e92
--- /dev/null
+++ b/lib/unicore/lib/lb/SY.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Break_Symbols'
+#
+return <<'END';
+002F
+END
diff --git a/lib/unicore/lib/lb/WJ.pl b/lib/unicore/lib/lb/WJ.pl
new file mode 100644
index 0000000000..e4375785a4
--- /dev/null
+++ b/lib/unicore/lib/lb/WJ.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Word_Joiner'
+#
+return <<'END';
+2060
+FEFF
+END
diff --git a/lib/unicore/lib/lb/XX.pl b/lib/unicore/lib/lb/XX.pl
new file mode 100644
index 0000000000..552f71808a
--- /dev/null
+++ b/lib/unicore/lib/lb/XX.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'Unknown'
+#
+return <<'END';
+E000 F8FF
+F0000 FFFFD
+100000 10FFFD
+END
diff --git a/lib/unicore/lib/lb/ZW.pl b/lib/unicore/lib/lb/ZW.pl
new file mode 100644
index 0000000000..8cc1e823e2
--- /dev/null
+++ b/lib/unicore/lib/lb/ZW.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# Linebreak category 'ZWSpace'
+#
+return <<'END';
+200B
+END
diff --git a/lib/unicore/lib/nt/De.pl b/lib/unicore/lib/nt/De.pl
new file mode 100644
index 0000000000..d1c2d7b053
--- /dev/null
+++ b/lib/unicore/lib/nt/De.pl
@@ -0,0 +1,31 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# NumericType category 'Decimal'
+#
+return <<'END';
+0030 0039
+0660 0669
+06F0 06F9
+0966 096F
+09E6 09EF
+0A66 0A6F
+0AE6 0AEF
+0B66 0B6F
+0BE7 0BEF
+0C66 0C6F
+0CE6 0CEF
+0D66 0D6F
+0E50 0E59
+0ED0 0ED9
+0F20 0F29
+1040 1049
+17E0 17E9
+1810 1819
+1946 194F
+FF10 FF19
+104A0 104A9
+1D7CE 1D7FF
+END
diff --git a/lib/unicore/lib/nt/Di.pl b/lib/unicore/lib/nt/Di.pl
new file mode 100644
index 0000000000..deaf8c25a0
--- /dev/null
+++ b/lib/unicore/lib/nt/Di.pl
@@ -0,0 +1,24 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# NumericType category 'Digit'
+#
+return <<'END';
+00B2 00B3
+00B9
+1369 1371
+2070
+2074 2079
+2080 2089
+2460 2468
+2474 247C
+2488 2490
+24EA
+24F5 24FD
+24FF
+2776 277E
+2780 2788
+278A 2792
+END
diff --git a/lib/unicore/lib/nt/Nu.pl b/lib/unicore/lib/nt/Nu.pl
new file mode 100644
index 0000000000..4a5b9566c7
--- /dev/null
+++ b/lib/unicore/lib/nt/Nu.pl
@@ -0,0 +1,36 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables from e.g. UnicodeData.txt.
+# Any changes made here will be lost!
+
+#
+# NumericType category 'Numeric'
+#
+return <<'END';
+00BC 00BE
+09F4 09F7
+09F9
+0BF0 0BF2
+0F2A 0F33
+1372 137C
+16EE 16F0
+17F0 17F9
+2153 2182
+2469 2473
+247D 2487
+2491 249B
+24EB 24F4
+24FE
+277F
+2789
+2793
+3007
+3021 3029
+3038 303A
+3192 3195
+3220 3229
+3251 325F
+3280 3289
+32B1 32BF
+10107 10133
+10320 10323
+END
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 09b8175cd7..e4020ecf3d 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -2,15 +2,13 @@
use strict;
use Carp;
-die "$0: Please run me as ./mktables to avoid unnecessary differences\n"
- unless $0 eq "./mktables";
-
##
## mktables -- create the runtime Perl Unicode files (lib/unicore/**/*.pl)
## from the Unicode database files (lib/unicore/*.txt).
##
mkdir("lib", 0755);
+mkdir("lib/gc_sc", 0755);
mkdir("To", 0755);
##
@@ -109,6 +107,62 @@ sub CanonicalName($)
return $name;
}
+
+##
+## Store the alias definitions for later use.
+##
+my %PropertyAlias;
+my %PropValueAlias;
+
+my %PA_reverse;
+my %PVA_reverse;
+
+sub Build_Aliases()
+{
+ ##
+ ## Most of the work with aliases doesn't occur here,
+ ## but rather in utf8_heavy.pl, which uses utf8_pva.pl,
+ ## which contains just this function. However, this one
+ ##
+ ## -- japhy (2004/04/13)
+
+ open PA, "< PropertyAliases.txt"
+ or confess "Can't open PropertyAliases.txt: $!";
+ while (<PA>) {
+ s/#.*//;
+ s/\s+$//;
+ next if /^$/;
+
+ my ($abbrev, $name) = split /\s*;\s*/;
+ next if $abbrev eq "n/a";
+ $PropertyAlias{$abbrev} = $name;
+ $PA_reverse{$name} = $abbrev;
+ }
+ close PA;
+
+ open PVA, "< PropValueAliases.txt"
+ or confess "Can't open PropValueAliases.txt: $!";
+ while (<PVA>) {
+ s/#.*//;
+ s/\s+$//;
+ next if /^$/;
+
+ my ($prop, @data) = split /\s*;\s*/;
+
+ if ($prop eq 'ccc') {
+ $PropValueAlias{$prop}{$data[1]} = [ @data[0,2] ];
+ $PVA_reverse{$prop}{$data[2]} = [ @data[0,1] ];
+ }
+ else {
+ next if $data[0] eq "n/a";
+ $PropValueAlias{$prop}{$data[0]} = $data[1];
+ $PVA_reverse{$prop}{$data[1]} = $data[0];
+ }
+ }
+ close PVA;
+}
+
+
##
## Associates a property ("Greek", "Lu", "Assigned",...) with a Table.
##
@@ -511,7 +565,7 @@ sub New_Alias($$$@)
if ($TableInfo{$Type}->{$CName}) {
confess "$0: Use canonical form '$CName' instead of '$Name' for alias.";
} else {
- confess "$0: don't have orignial $Type => $Name to make alias";
+ confess "$0: don't have original $Type => $Name to make alias\n";
}
}
if ($TableInfo{$Alias}) {
@@ -544,19 +598,15 @@ sub UnicodeData_Txt()
my $Deco = Table->New();
my $Comb = Table->New();
my $Number = Table->New();
- my $Mirrored = Table->New(Is => 'Mirrored',
- Desc => "Mirrored in bidirectional text",
- Fuzzy => 0);
+ my $Mirrored = Table->New();#Is => 'Mirrored',
+ #Desc => "Mirrored in bidirectional text",
+ #Fuzzy => 0);
my %DC;
my %Bidi;
- my %Deco;
- $Deco{Canon} = Table->New(Is => 'Canon',
- Desc => 'Decomposes to multiple characters',
- Fuzzy => 0);
- $Deco{Compat} = Table->New(Is => 'Compat',
- Desc => 'Compatible with a more-basic character',
- Fuzzy => 0);
+ my %Number;
+ $DC{can} = Table->New();
+ $DC{com} = Table->New();
## Initialize Perl-generated categories
## (Categories from UnicodeData.txt are auto-initialized in gencat)
@@ -757,11 +807,17 @@ sub UnicodeData_Txt()
$Comb->Append($code, $comb) if $comb;
$Number->Append($code, $number) if length $number;
+ length($decimal) and ($Number{De} ||= Table->New())->Append($code)
+ or
+ length($digit) and ($Number{Di} ||= Table->New())->Append($code)
+ or
+ length($number) and ($Number{Nu} ||= Table->New())->Append($code);
+
$Mirrored->Append($code) if $mirrored eq "Y";
- $Bidi{$bidi} ||= Table->New(Is => "Bidi$bidi",
- Desc => "Bi-directional category '$bidi'",
- Fuzzy => 0);
+ $Bidi{$bidi} ||= Table->New();#Is => "bt/$bidi",
+ #Desc => "Bi-directional category '$bidi'",
+ #Fuzzy => 0);
$Bidi{$bidi}->Append($code);
if ($deco)
@@ -769,16 +825,15 @@ sub UnicodeData_Txt()
$Deco->Append($code, $deco);
if ($deco =~/^<(\w+)>/)
{
- $Deco{Compat}->Append($code);
+ my $dshort = $PVA_reverse{dt}{ucfirst lc $1};
+ $DC{com}->Append($code);
- $DC{$1} ||= Table->New(Is => "DC$1",
- Desc => "Compatible with '$1'",
- Fuzzy => 0);
- $DC{$1}->Append($code);
+ $DC{$dshort} ||= Table->New();
+ $DC{$dshort}->Append($code);
}
else
{
- $Deco{Canon}->Append($code);
+ $DC{can}->Append($code);
}
}
}
@@ -801,8 +856,9 @@ sub UnicodeData_Txt()
$Cat{C}->Replace($Cat{C}->Merge($Cat{Cn})); ## Now merge in Cn into C
- # L& is Ll, Lu, and Lt.
- New_Prop(Is => 'L&',
+ # LC is Ll, Lu, and Lt.
+ # (used to be L& or L_, but PropValueAliases.txt defines it as LC)
+ New_Prop(Is => 'LC',
Table->Merge(@Cat{qw[Ll Lu Lt]}),
Desc => '[\p{Ll}\p{Lu}\p{Lt}]',
Fuzzy => 0);
@@ -868,15 +924,54 @@ sub UnicodeData_Txt()
## Now dump the files.
##
$Name->Write("Name.pl");
- $Bidi->Write("Bidirectional.pl");
+
+ # $Bidi->Write("Bidirectional.pl");
+ mkdir("lib/bc", 0755);
+ for (keys %Bidi) {
+ $Bidi{$_}->Write(
+ "lib/bc/$_.pl",
+ "BidiClass category '$PropValueAlias{bc}{$_}'"
+ );
+ }
+
$Comb->Write("CombiningClass.pl");
+ mkdir("lib/ccc", 0755);
+ for (keys %{ $PropValueAlias{ccc} }) {
+ my ($code, $name) = @{ $PropValueAlias{ccc}{$_} };
+ (my $c = Table->New())->Append($code);
+ $c->Write(
+ "lib/ccc/$_.pl",
+ "CombiningClass category '$name'"
+ );
+ }
+
$Deco->Write("Decomposition.pl");
- $Number->Write("Number.pl");
- $General->Write("Category.pl");
+ mkdir("lib/dt", 0755);
+ for (keys %DC) {
+ $DC{$_}->Write(
+ "lib/dt/$_.pl",
+ "DecompositionType category '$PropValueAlias{dt}{$_}'"
+ );
+ }
+
+ # $Number->Write("Number.pl");
+ mkdir("lib/nt", 0755);
+ for (keys %Number) {
+ $Number{$_}->Write(
+ "lib/nt/$_.pl",
+ "NumericType category '$PropValueAlias{nt}{$_}'"
+ );
+ }
+
+ # $General->Write("Category.pl");
for my $to (sort keys %To) {
$To{$to}->Write("To/$to.pl");
}
+
+ for (keys %{ $PropValueAlias{gc} }) {
+ New_Alias(Is => $PropValueAlias{gc}{$_}, SameAs => $_, Fuzzy => 1);
+ }
}
##
@@ -899,9 +994,7 @@ sub LineBreak_Txt()
$Lbrk->Append($first, $lbrk);
- $Lbrk{$lbrk} ||= Table->New(Is => "Lbrk$lbrk",
- Desc => "Linebreak category '$lbrk'",
- Fuzzy => 0);
+ $Lbrk{$lbrk} ||= Table->New();
$Lbrk{$lbrk}->Append($first);
if ($last) {
@@ -911,7 +1004,16 @@ sub LineBreak_Txt()
}
close IN;
- $Lbrk->Write("Lbrk.pl");
+ # $Lbrk->Write("Lbrk.pl");
+
+ mkdir("lib/lb", 0755);
+
+ for (keys %Lbrk) {
+ $Lbrk{$_}->Write(
+ "lib/lb/$_.pl",
+ "Linebreak category '$PropValueAlias{lb}{$_}'"
+ );
+ }
}
##
@@ -926,6 +1028,8 @@ sub ArabicShaping_txt()
my $ArabLink = Table->New();
my $ArabLinkGroup = Table->New();
+ my %JoinType;
+
while (<IN>)
{
next unless /^[0-9A-Fa-f]+;/;
@@ -935,11 +1039,90 @@ sub ArabicShaping_txt()
my $code = hex($hexcode);
$ArabLink->Append($code, $link);
$ArabLinkGroup->Append($code, $linkgroup);
+
+ $JoinType{$link} ||= Table->New(Is => "JoinType$link");
+ $JoinType{$link}->Append($code);
}
close IN;
- $ArabLink->Write("ArabLink.pl");
- $ArabLinkGroup->Write("ArabLnkGrp.pl");
+ # $ArabLink->Write("ArabLink.pl");
+ # $ArabLinkGroup->Write("ArabLnkGrp.pl");
+
+ mkdir("lib/jt", 0755);
+
+ for (keys %JoinType) {
+ $JoinType{$_}->Write(
+ "lib/jt/$_.pl",
+ "JoiningType category '$PropValueAlias{jt}{$_}'"
+ );
+ }
+}
+
+##
+## Process EastAsianWidth.txt.
+##
+sub EastAsianWidth_txt()
+{
+ if (not open IN, "EastAsianWidth.txt") {
+ die "$0: EastAsianWidth.txt: $!\n";
+ }
+
+ my %EAW;
+
+ while (<IN>)
+ {
+ next unless /^[0-9A-Fa-f]+;/;
+ s/#.*//;
+ s/\s+$//;
+
+ my ($hexcode, $pv) = split(/\s*;\s*/);
+ my $code = hex($hexcode);
+ $EAW{$pv} ||= Table->New(Is => "EastAsianWidth$pv");
+ $EAW{$pv}->Append($code);
+ }
+ close IN;
+
+ mkdir("lib/ea", 0755);
+
+ for (keys %EAW) {
+ $EAW{$_}->Write(
+ "lib/ea/$_.pl",
+ "EastAsianWidth category '$PropValueAlias{ea}{$_}'"
+ );
+ }
+}
+
+##
+## Process HangulSyllableType.txt.
+##
+sub HangulSyllableType_txt()
+{
+ if (not open IN, "HangulSyllableType.txt") {
+ die "$0: HangulSyllableType.txt: $!\n";
+ }
+
+ my %HST;
+
+ while (<IN>)
+ {
+ next unless /^([0-9A-Fa-f]+)(?:\.\.([0-9A-Fa-f]+))?\s*;\s*(\w+)/;
+ my ($first, $last, $pv) = (hex($1), hex($2||""), $3);
+
+ $HST{$pv} ||= Table->New(Is => "HangulSyllableType$pv");
+ $HST{$pv}->Append($first);
+
+ if ($last) { $HST{$pv}->Extend($last) }
+ }
+ close IN;
+
+ mkdir("lib/hst", 0755);
+
+ for (keys %HST) {
+ $HST{$_}->Write(
+ "lib/hst/$_.pl",
+ "HangulSyllableType category '$PropValueAlias{hst}{$_}'"
+ );
+ }
}
##
@@ -960,7 +1143,7 @@ sub Jamo_txt()
$Short->Append($code, $short);
}
close IN;
- $Short->Write("JamoShort.pl");
+ # $Short->Write("JamoShort.pl");
}
##
@@ -1003,7 +1186,7 @@ sub Scripts_txt()
}
}
- $Scripts->Write("Scripts.pl");
+ # $Scripts->Write("Scripts.pl");
## Common is everything not explicitly assigned to a Script
##
@@ -1064,7 +1247,7 @@ sub Blocks_txt()
}
close IN;
- $Blocks->Write("Blocks.pl");
+ # $Blocks->Write("Blocks.pl");
}
##
@@ -1112,6 +1295,14 @@ sub PropList_txt()
}
}
+ for (keys %Prop) {
+ (my $file = $PA_reverse{$_}) =~ tr/_//d;
+ $Prop{$_}->Write(
+ "lib/gc_sc/$file.pl",
+ "Binary property '$_'"
+ );
+ }
+
# Alphabetic is L and Other_Alphabetic.
New_Prop(Is => 'Alphabetic',
Table->Merge($Cat{L}, $Prop{Other_Alphabetic}),
@@ -1149,65 +1340,6 @@ sub PropList_txt()
Fuzzy => 1);
}
-sub Make_GC_Aliases()
-{
- ##
- ## The mapping from General Category long forms to short forms is
- ## currently hardwired here since no simple data file in the UCD
- ## seems to do that. Unicode 3.2 will assumedly correct this.
- ##
- my %Is = (
- 'Letter' => 'L',
- 'Uppercase_Letter' => 'Lu',
- 'Lowercase_Letter' => 'Ll',
- 'Titlecase_Letter' => 'Lt',
- 'Modifier_Letter' => 'Lm',
- 'Other_Letter' => 'Lo',
-
- 'Mark' => 'M',
- 'Non_Spacing_Mark' => 'Mn',
- 'Spacing_Mark' => 'Mc',
- 'Enclosing_Mark' => 'Me',
-
- 'Separator' => 'Z',
- 'Space_Separator' => 'Zs',
- 'Line_Separator' => 'Zl',
- 'Paragraph_Separator' => 'Zp',
-
- 'Number' => 'N',
- 'Decimal_Number' => 'Nd',
- 'Letter_Number' => 'Nl',
- 'Other_Number' => 'No',
-
- 'Punctuation' => 'P',
- 'Connector_Punctuation' => 'Pc',
- 'Dash_Punctuation' => 'Pd',
- 'Open_Punctuation' => 'Ps',
- 'Close_Punctuation' => 'Pe',
- 'Initial_Punctuation' => 'Pi',
- 'Final_Punctuation' => 'Pf',
- 'Other_Punctuation' => 'Po',
-
- 'Symbol' => 'S',
- 'Math_Symbol' => 'Sm',
- 'Currency_Symbol' => 'Sc',
- 'Modifier_Symbol' => 'Sk',
- 'Other_Symbol' => 'So',
-
- 'Other' => 'C',
- 'Control' => 'Cc',
- 'Format' => 'Cf',
- 'Surrogate' => 'Cs',
- 'Private Use' => 'Co',
- 'Unassigned' => 'Cn',
- );
-
- ## make the aliases....
- while (my ($Alias, $Name) = each %Is) {
- New_Alias(Is => $Alias, SameAs => $Name, Fuzzy => 1);
- }
-}
-
##
## These are used in:
@@ -1430,7 +1562,9 @@ sub WriteAllMappings()
my $filename;
{
## 'Is' items lose 'Is' from the basename.
- $filename = $Type eq 'Is' ? $Name : "$Type$Name";
+ $filename = $Type eq 'Is' ?
+ ($PVA_reverse{sc}{$Name} || $Name) :
+ "$Type$Name";
$filename =~ s/[^\w_]+/_/g; # "L&" -> "L_"
substr($filename, 8) = '' if length($filename) > 8;
@@ -1503,7 +1637,7 @@ sub WriteAllMappings()
##
## Okay, write the file...
##
- $Table->Write("lib/$filename.pl", $Comment);
+ $Table->Write("lib/gc_sc/$filename.pl", $Comment);
## and register it
$RawNameToFile{$Name} = $filename;
@@ -1567,10 +1701,11 @@ sub WriteAllMappings()
"##\n",
"## Data in this file used by ../utf8_heavy.pl\n",
"##\n\n",
- "## Mapping from name to filename in ./lib\n",
+ "## Mapping from name to filename in ./lib/gc_sc\n",
"%utf8::Exact = (\n",
);
+ $Exact{InGreek} = 'InGreekA'; # this is evil kludge
for my $Name (sort keys %Exact)
{
my $File = $Exact{$Name};
@@ -1744,8 +1879,8 @@ sub CaseFolding_txt()
## Do it....
+Build_Aliases();
UnicodeData_Txt();
-Make_GC_Aliases();
PropList_txt();
Scripts_txt();
@@ -1755,6 +1890,8 @@ WriteAllMappings();
LineBreak_Txt();
ArabicShaping_txt();
+EastAsianWidth_txt();
+HangulSyllableType_txt();
Jamo_txt();
SpecialCasing_txt();
CaseFolding_txt();
diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl
index 668a176e4e..96910354cc 100644
--- a/lib/utf8_heavy.pl
+++ b/lib/utf8_heavy.pl
@@ -1,6 +1,7 @@
package utf8;
use strict;
use warnings;
+require "utf8_pva.pl";
sub DEBUG () { 0 }
@@ -8,6 +9,8 @@ sub DESTROY {}
my %Cache;
+our (%PropertyAlias, %PA_reverse, %PropValueAlias, %PVA_reverse, %PVA_abbr_map);
+
sub croak { require Carp; Carp::croak(@_) }
##
@@ -45,28 +48,67 @@ sub SWASHNEW {
GETFILE:
{
- ##
- ## 'Is' is always optional, so if it's there, remove it.
- ## Same with 'Category=' and 'Script='.
- ##
- ## 'Block=' is replaced by 'In'.
- ##
+ ##
+ ## It could be a user-defined property.
+ ##
+
+ my $caller1 = $type =~ s/(.+)::// ? $1 : caller(1);
+
+ if (defined $caller1 && $type =~ /^(?:\w+)$/) {
+ my $prop = "${caller1}::$type";
+ if (exists &{$prop}) {
+ no strict 'refs';
+
+ $list = &{$prop};
+ last GETFILE;
+ }
+ }
+
my $wasIs;
($wasIs = $type =~ s/^Is(?:\s+|[-_])?//i)
or
- $type =~ s/^Category\s*=\s*//i
+ $type =~ s/^(?:(?:General(?:\s+|_)?)?Category|gc)\s*[:=]\s*//i
or
- $type =~ s/^Script\s*=\s*//i
+ $type =~ s/^(?:Script|sc)\s*[:=]\s*//i
or
- $type =~ s/^Block\s*=\s*/In/i;
+ $type =~ s/^Block\s*[:=]\s*/In/i;
+
+
+ ##
+ ## See if it's in some enumeration.
+ ##
+ if ($type =~ /^([\w\s]+)[:=]\s*(.*)/) {
+ require "utf8_pva.pl";
+ my ($enum, $val) = (lc $1, lc $2);
+ $enum =~ tr/ _-//d;
+ $val =~ tr/ _-//d;
+
+ my $pa = $PropertyAlias{$enum} ? $enum : $PA_reverse{$enum};
+ my $f = $PropValueAlias{$pa}{$val} ? $val : $PVA_reverse{$pa}{lc $val};
+
+ if ($pa and $f) {
+ $pa = "gc_sc" if $pa eq "gc" or $pa eq "sc";
+ $file = "unicore/lib/$pa/$PVA_abbr_map{$pa}{lc $f}.pl";
+ last GETFILE;
+ }
+ }
+ else {
+ my $t = lc $type;
+ $t =~ tr/ _-//d;
+
+ if ($PropValueAlias{gc}{$t} or $PropValueAlias{sc}{$t}) {
+ $file = "unicore/lib/gc_sc/$PVA_abbr_map{gc_sc}{$t}.pl";
+ last GETFILE;
+ }
+ }
##
## See if it's in the direct mapping table.
##
require "unicore/Exact.pl";
if (my $base = $utf8::Exact{$type}) {
- $file = "unicore/lib/$base.pl";
+ $file = "unicore/lib/gc_sc/$base.pl";
last GETFILE;
}
@@ -79,28 +121,12 @@ sub SWASHNEW {
print "canonical = $canonical\n" if DEBUG;
require "unicore/Canonical.pl";
- if (my $base = $utf8::Canonical{$canonical}) {
- $file = "unicore/lib/$base.pl";
+ if (my $base = ($utf8::Canonical{$canonical} || $utf8::Canonical{ lc $utf8::PropertyAlias{$canonical} })) {
+ $file = "unicore/lib/gc_sc/$base.pl";
last GETFILE;
}
##
- ## It could be a user-defined property.
- ##
-
- my $caller1 = $type =~ s/(.+)::// ? $1 : caller(1);
-
- if (defined $caller1 && $type =~ /^(?:\w+)$/) {
- my $prop = $caller1 . "::" . ( $wasIs ? "Is" : "" ) . $type;
- if (exists &{$prop}) {
- no strict 'refs';
-
- $list = &{$prop};
- last GETFILE;
- }
- }
-
- ##
## See if it's a user-level "To".
##
diff --git a/lib/utf8_pva.pl b/lib/utf8_pva.pl
new file mode 100644
index 0000000000..3cd9efd53d
--- /dev/null
+++ b/lib/utf8_pva.pl
@@ -0,0 +1,55 @@
+package utf8;
+
+##
+## Store the alias definitions for later use.
+##
+
+my $dir;
+for (@INC) {
+ $dir = $_, last if -e "$_/unicore/PropertyAliases.txt";
+}
+
+use Carp 'confess';
+
+local $_;
+
+ open PA, "< $dir/unicore/PropertyAliases.txt"
+ or confess "Can't open PropertyAliases.txt: $!";
+ while (<PA>) {
+ s/#.*//;
+ s/\s+$//;
+ next if /^$/;
+
+ my ($abbrev, $name) = split /\s*;\s*/;
+ next if $abbrev eq "n/a";
+ tr/ _-//d for $abbrev, $name;
+ $PropertyAlias{lc $abbrev} = $name;
+ $PA_reverse{lc $name} = $abbrev;
+ }
+ close PA;
+
+ open PVA, "< $dir/unicore/PropValueAliases.txt"
+ or confess "Can't open PropValueAliases.txt: $!";
+ while (<PVA>) {
+ s/#.*//;
+ s/\s+$//;
+ next if /^$/;
+
+ my ($prop, @data) = split /\s*;\s*/;
+ shift @data if $prop eq 'ccc';
+ next if $data[0] eq "n/a";
+
+ $data[1] =~ tr/ _-//d;
+ $PropValueAlias{$prop}{lc $data[0]} = $data[1];
+ $PVA_reverse{$prop}{lc $data[1]} = $data[0];
+
+ my $abbr_class = ($prop eq 'gc' or $prop eq 'sc') ? 'gc_sc' : $prop;
+ $PVA_abbr_map{$abbr_class}{lc $data[0]} = $data[0];
+ }
+ close PVA;
+
+ # backwards compatibility for L& -> LC
+ $PropValueAlias{gc}{'l&'} = $PropValueAlias{gc}{lc};
+ $PVA_abbr_map{gc_sc}{'l&'} = $PVA_abbr_map{gc_sc}{lc};
+
+1;
diff --git a/pod/perlunicode.pod b/pod/perlunicode.pod
index 0817bb36e9..46ea68216c 100644
--- a/pod/perlunicode.pod
+++ b/pod/perlunicode.pod
@@ -207,6 +207,7 @@ for instance, are identical.
Short Long
L Letter
+ LC CasedLetter
Lu UppercaseLetter
Ll LowercaseLetter
Lt TitlecaseLetter
@@ -254,7 +255,8 @@ for instance, are identical.
Single-letter properties match all characters in any of the
two-letter sub-properties starting with the same letter.
-C<L&> is a special case, which is an alias for C<Ll>, C<Lu>, and C<Lt>.
+C<LC> and C<L&> are special cases, which are aliases for the set of
+C<Ll>, C<Lu>, and C<Lt>.
Because Perl hides the need for the user to understand the internal
representation of Unicode characters, there is no need to implement
@@ -262,31 +264,32 @@ the somewhat messy concept of surrogates. C<Cs> is therefore not
supported.
Because scripts differ in their directionality--Hebrew is
-written right to left, for example--Unicode supplies these properties:
+written right to left, for example--Unicode supplies these properties in
+the BidiClass class:
Property Meaning
- BidiL Left-to-Right
- BidiLRE Left-to-Right Embedding
- BidiLRO Left-to-Right Override
- BidiR Right-to-Left
- BidiAL Right-to-Left Arabic
- BidiRLE Right-to-Left Embedding
- BidiRLO Right-to-Left Override
- BidiPDF Pop Directional Format
- BidiEN European Number
- BidiES European Number Separator
- BidiET European Number Terminator
- BidiAN Arabic Number
- BidiCS Common Number Separator
- BidiNSM Non-Spacing Mark
- BidiBN Boundary Neutral
- BidiB Paragraph Separator
- BidiS Segment Separator
- BidiWS Whitespace
- BidiON Other Neutrals
-
-For example, C<\p{BidiR}> matches characters that are normally
+ L Left-to-Right
+ LRE Left-to-Right Embedding
+ LRO Left-to-Right Override
+ R Right-to-Left
+ AL Right-to-Left Arabic
+ RLE Right-to-Left Embedding
+ RLO Right-to-Left Override
+ PDF Pop Directional Format
+ EN European Number
+ ES European Number Separator
+ ET European Number Terminator
+ AN Arabic Number
+ CS Common Number Separator
+ NSM Non-Spacing Mark
+ BN Boundary Neutral
+ B Paragraph Separator
+ S Segment Separator
+ WS Whitespace
+ ON Other Neutrals
+
+For example, C<\p{BidiClass:R}> matches characters that are normally
written right to left.
=back
@@ -824,7 +827,9 @@ Level 1 - Basic Unicode Support
[ 1] \x{...}
[ 2] \N{...}
[ 3] . \p{...} \P{...}
- [ 4] now scripts (see UTR#24 Script Names) in addition to blocks
+ [ 4] support for scripts (see UTR#24 Script Names), blocks,
+ binary properties, enumerated non-binary properties, and
+ numeric properties (as listed in UTR#18 Other Properties)
[ 5] have negation
[ 6] can use regular expression look-ahead [a]
or user-defined character properties [b] to emulate subtraction
diff --git a/t/op/pat.t b/t/op/pat.t
index de48188455..b257b4766b 100755
--- a/t/op/pat.t
+++ b/t/op/pat.t
@@ -2236,10 +2236,11 @@ print "# some Unicode properties\n";
}
{
- print "not " unless "a" =~ /\p{L&}/;
+ # L& and LC are the same
+ print "not " unless "a" =~ /\p{LC}/ and "a" =~ /\p{L&}/;
print "ok 743\n";
- print "not " if "1" =~ /\p{L&}/;
+ print "not " if "1" =~ /\p{LC}/ or "1" =~ /\p{L&}/;
print "ok 744\n";
}
diff --git a/t/uni/class.t b/t/uni/class.t
index 24f65fa2aa..72ba7e364c 100644
--- a/t/uni/class.t
+++ b/t/uni/class.t
@@ -4,7 +4,7 @@ BEGIN {
require "test.pl";
}
-plan tests => 4;
+plan tests => 4334;
sub MyUniClass {
<<END;
@@ -30,6 +30,7 @@ my $str = join "", map chr($_), 0x20 .. 0x6F;
# make sure it finds built-in class
is(($str =~ /(\p{Letter}+)/)[0], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');
+is(($str =~ /(\p{l}+)/)[0], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');
# make sure it finds user-defined class
is(($str =~ /(\p{MyUniClass}+)/)[0], '0123456789:;<=>?@ABCDEFGHIJKLMNO');
@@ -39,3 +40,114 @@ is(($str =~ /(\p{Other::Class}+)/)[0], '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_');
# make sure it finds class in other OTHER package
is(($str =~ /(\p{A::B::Intersection}+)/)[0], '@ABCDEFGHIJKLMNO');
+
+# all of these should look in lib/unicore/bc/AL.pl
+$str = "\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}";
+is(($str =~ /(\P{BidiClass: ArabicLetter}+)/)[0], "\x{070E}\x{070F}");
+is(($str =~ /(\P{BidiClass: AL}+)/)[0], "\x{070E}\x{070F}");
+is(($str =~ /(\P{BC :ArabicLetter}+)/)[0], "\x{070E}\x{070F}");
+is(($str =~ /(\P{bc=AL}+)/)[0], "\x{070E}\x{070F}");
+
+# make sure InGreek works
+$str = "[\x{038B}\x{038C}\x{038D}]";
+
+is(($str =~ /(\p{InGreek}+)/)[0], "\x{038B}\x{038C}\x{038D}");
+is(($str =~ /(\p{Script:InGreek}+)/)[0], "\x{038B}\x{038C}\x{038D}");
+is(($str =~ /(\p{Script=InGreek}+)/)[0], "\x{038B}\x{038C}\x{038D}");
+is(($str =~ /(\p{sc:InGreek}+)/)[0], "\x{038B}\x{038C}\x{038D}");
+is(($str =~ /(\p{sc=InGreek}+)/)[0], "\x{038B}\x{038C}\x{038D}");
+
+
+use File::Spec;
+my $updir = File::Spec->updir;
+
+
+# the %utf8::... hashes are already in existence
+# because utf8_pva.pl was run by utf8_heavy.pl
+
+# non-General Category and non-Script
+while (my ($abbrev, $files) = each %utf8::PVA_abbr_map) {
+ my $prop_name = $utf8::PropertyAlias{$abbrev};
+ next unless $prop_name;
+ next if $abbrev eq "gc_sc";
+
+ for (sort keys %$files) {
+ my $filename = File::Spec->catfile(
+ $updir => lib => unicore => lib => $abbrev => "$files->{$_}.pl"
+ );
+
+ next unless -e $filename;
+ my ($h1, $h2) = map hex, split /\t/, (do $filename);
+ my $str = join "", map chr, $h1 .. (($h2 || $h1) + 1);
+
+ for my $p ($prop_name, $abbrev) {
+ for my $c ($files->{$_}, $_) {
+ is($str =~ /(\p{$p: $c}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$p= $c}+)/ && $1, substr($str, -1));
+ }
+ }
+ }
+}
+
+# General Category and Script
+for my $p ('gc', 'sc') {
+ while (my ($abbr) = each %{ $utf8::PropValueAlias{$p} }) {
+ my $filename = File::Spec->catfile(
+ $updir => lib => unicore => lib => gc_sc => "$utf8::PVA_abbr_map{gc_sc}{$abbr}.pl"
+ );
+
+ next unless -e $filename;
+ my ($h1, $h2) = map hex, split /\t/, (do $filename);
+ my $str = join "", map chr, $h1 .. (($h2 || $h1) + 1);
+
+ for my $x ($p, { gc => 'General Category', sc => 'Script' }->{$p}) {
+ for my $y ($abbr, $utf8::PropValueAlias{$p}{$abbr}, $utf8::PVA_abbr_map{gc_sc}{$abbr}) {
+ is($str =~ /(\p{$x: $y}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$x= $y}+)/ && $1, substr($str, -1));
+ is($str =~ /(\p{$y}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$y}+)/ && $1, substr($str, -1));
+ }
+ }
+ }
+}
+
+# test extra properties (ASCII_Hex_Digit, Bidi_Control, etc.)
+for (keys %utf8::PA_reverse) {
+ my $filename = File::Spec->catfile(
+ $updir => lib => unicore => lib => gc_sc => "$utf8::PA_reverse{$_}.pl"
+ );
+
+ next unless -e $filename;
+ my ($h1, $h2) = map hex, split /\t/, (do $filename);
+ my $str = join "", map chr, $h1 .. (($h2 || $h1) + 1);
+
+ for my $x ('gc', 'General Category') {
+ for my $y ($_, $utf8::PA_reverse{$_}) {
+ is($str =~ /(\p{$x: $y}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$x= $y}+)/ && $1, substr($str, -1));
+ is($str =~ /(\p{$y}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$y}+)/ && $1, substr($str, -1));
+ }
+ }
+}
+
+# test the blocks (InFoobar)
+for (grep $utf8::Canonical{$_} =~ /^In/, keys %utf8::Canonical) {
+ my $filename = File::Spec->catfile(
+ $updir => lib => unicore => lib => gc_sc => "$utf8::Canonical{$_}.pl"
+ );
+
+ next unless -e $filename;
+ my ($h1, $h2) = map hex, split /\t/, (do $filename);
+ my $str = join "", map chr, $h1 .. (($h2 || $h1) + 1);
+
+ my $blk = $_;
+
+ is($str =~ /(\p{$blk}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$blk}+)/ && $1, substr($str, -1));
+
+ $blk =~ s/^In/Block:/;
+
+ is($str =~ /(\p{$blk}+)/ && $1, substr($str, 0, -1));
+ is($str =~ /(\P{$blk}+)/ && $1, substr($str, -1));
+}