summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-10-04 03:42:04 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-10-04 03:42:04 +0000
commit1ac13f9adaf79f6c342d2230ad9a2b9a7918e1b2 (patch)
tree42a9540e9c6f819e494837489e5084b1e167ce86
parent1b907316ce9a27a760590c1349443905f1afc6f2 (diff)
downloadperl-1ac13f9adaf79f6c342d2230ad9a2b9a7918e1b2.tar.gz
Yet more Unicode properties.
p4raw-id: //depot/perl@12334
-rw-r--r--MANIFEST26
-rw-r--r--lib/unicore/In.pl88
-rw-r--r--lib/unicore/In/136.pl624
-rw-r--r--lib/unicore/In/137.pl6
-rw-r--r--lib/unicore/In/138.pl15
-rw-r--r--lib/unicore/In/139.pl7
-rw-r--r--lib/unicore/In/140.pl6
-rw-r--r--lib/unicore/In/141.pl19
-rw-r--r--lib/unicore/In/142.pl14
-rw-r--r--lib/unicore/In/143.pl32
-rw-r--r--lib/unicore/In/144.pl41
-rw-r--r--lib/unicore/In/145.pl94
-rw-r--r--lib/unicore/In/146.pl11
-rw-r--r--lib/unicore/In/147.pl8
-rw-r--r--lib/unicore/In/148.pl122
-rw-r--r--lib/unicore/In/149.pl14
-rw-r--r--lib/unicore/In/150.pl92
-rw-r--r--lib/unicore/In/151.pl16
-rw-r--r--lib/unicore/In/152.pl12
-rw-r--r--lib/unicore/In/153.pl7
-rw-r--r--lib/unicore/In/154.pl22
-rw-r--r--lib/unicore/In/155.pl6
-rw-r--r--lib/unicore/In/156.pl414
-rw-r--r--lib/unicore/In/157.pl416
-rw-r--r--lib/unicore/In/158.pl410
-rw-r--r--lib/unicore/In/159.pl139
-rw-r--r--lib/unicore/In/160.pl822
-rw-r--r--lib/unicore/In/161.pl1036
-rw-r--r--lib/unicore/In/162.pl183
-rwxr-xr-xlib/unicore/mktables.PL285
-rw-r--r--lib/utf8_heavy.pl7
-rw-r--r--pod/perltodo.pod9
-rw-r--r--pod/perlunicode.pod238
33 files changed, 4806 insertions, 435 deletions
diff --git a/MANIFEST b/MANIFEST
index aee25f7ad1..3ed96cdb25 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1308,9 +1308,35 @@ lib/unicore/In/133.pl Unicode character database
lib/unicore/In/134.pl Unicode character database
lib/unicore/In/135.pl Unicode character database
lib/unicore/In/136.pl Unicode character database
+lib/unicore/In/137.pl Unicode character database
+lib/unicore/In/138.pl Unicode character database
+lib/unicore/In/139.pl Unicode character database
lib/unicore/In/14.pl Unicode character database
+lib/unicore/In/140.pl Unicode character database
+lib/unicore/In/141.pl Unicode character database
+lib/unicore/In/142.pl Unicode character database
+lib/unicore/In/143.pl Unicode character database
+lib/unicore/In/144.pl Unicode character database
+lib/unicore/In/145.pl Unicode character database
+lib/unicore/In/146.pl Unicode character database
+lib/unicore/In/147.pl Unicode character database
+lib/unicore/In/148.pl Unicode character database
+lib/unicore/In/149.pl Unicode character database
lib/unicore/In/15.pl Unicode character database
+lib/unicore/In/150.pl Unicode character database
+lib/unicore/In/151.pl Unicode character database
+lib/unicore/In/152.pl Unicode character database
+lib/unicore/In/153.pl Unicode character database
+lib/unicore/In/154.pl Unicode character database
+lib/unicore/In/155.pl Unicode character database
+lib/unicore/In/156.pl Unicode character database
+lib/unicore/In/157.pl Unicode character database
+lib/unicore/In/158.pl Unicode character database
+lib/unicore/In/159.pl Unicode character database
lib/unicore/In/16.pl Unicode character database
+lib/unicore/In/160.pl Unicode character database
+lib/unicore/In/161.pl Unicode character database
+lib/unicore/In/162.pl Unicode character database
lib/unicore/In/17.pl Unicode character database
lib/unicore/In/18.pl Unicode character database
lib/unicore/In/19.pl Unicode character database
diff --git a/lib/unicore/In.pl b/lib/unicore/In.pl
index 2a82359701..3a98027f97 100644
--- a/lib/unicore/In.pl
+++ b/lib/unicore/In.pl
@@ -139,10 +139,40 @@
'CJK Compatibility Ideographs Supplement' => 134,
'Tags' => 135,
'Common' => 136,
+'Any' => 137,
+'White_space' => 138,
+'Bidi_Control' => 139,
+'Join_Control' => 140,
+'Dash' => 141,
+'Hyphen' => 142,
+'Quotation_Mark' => 143,
+'Terminal_Punctuation' => 144,
+'Other_Math' => 145,
+'Hex_Digit' => 146,
+'ASCII_Hex_Digit' => 147,
+'Other_Alphabetic' => 148,
+'Ideographic' => 149,
+'Diacritic' => 150,
+'Extender' => 151,
+'Other_Lowercase' => 152,
+'Other_Uppercase' => 153,
+'Noncharacter_Code_Point' => 154,
+'Assigned' => 155,
+'Alphabetic' => 156,
+'Lowercase' => 157,
+'Uppercase' => 158,
+'Math' => 159,
+'Lampersand' => 160,
+'ID_Start' => 161,
+'ID_Continue' => 162,
);
%utf8::InPat = (
'alp' => {
'Alphabetic(?:[-_]|\s+)?Presentation(?:[-_]|\s+)?Forms' => 'Alphabetic Presentation Forms',
+ 'Alphabetic' => 'Alphabetic',
+},
+'any' => {
+ 'Any' => 'Any',
},
'ara' => {
'ARABIC' => 'ARABIC',
@@ -157,6 +187,12 @@
'arr' => {
'Arrows' => 'Arrows',
},
+'asc' => {
+ 'ASCII(?:[-_]|\s+)?Hex(?:[-_]|\s+)?Digit' => 'ASCII_Hex_Digit',
+},
+'ass' => {
+ 'Assigned' => 'Assigned',
+},
'bas' => {
'Basic(?:[-_]|\s+)?Latin' => 'Basic Latin',
},
@@ -164,6 +200,9 @@
'BENGALI' => 'BENGALI',
'Bengali(?:[-_]|\s+)?Block' => 'Bengali Block',
},
+'bid' => {
+ 'Bidi(?:[-_]|\s+)?Control' => 'Bidi_Control',
+},
'blo' => {
'Block(?:[-_]|\s+)?Elements' => 'Block Elements',
},
@@ -215,6 +254,9 @@
'CYRILLIC' => 'CYRILLIC',
'Cyrillic(?:[-_]|\s+)?Block' => 'Cyrillic Block',
},
+'das' => {
+ 'Dash' => 'Dash',
+},
'des' => {
'DESERET' => 'DESERET',
'Deseret(?:[-_]|\s+)?Block' => 'Deseret Block',
@@ -223,6 +265,9 @@
'DEVANAGARI' => 'DEVANAGARI',
'Devanagari(?:[-_]|\s+)?Block' => 'Devanagari Block',
},
+'dia' => {
+ 'Diacritic' => 'Diacritic',
+},
'din' => {
'Dingbats' => 'Dingbats',
},
@@ -234,6 +279,9 @@
'ETHIOPIC' => 'ETHIOPIC',
'Ethiopic(?:[-_]|\s+)?Block' => 'Ethiopic Block',
},
+'ext' => {
+ 'Extender' => 'Extender',
+},
'gen' => {
'General(?:[-_]|\s+)?Punctuation' => 'General Punctuation',
},
@@ -273,6 +321,9 @@
'HEBREW' => 'HEBREW',
'Hebrew(?:[-_]|\s+)?Block' => 'Hebrew Block',
},
+'hex' => {
+ 'Hex(?:[-_]|\s+)?Digit' => 'Hex_Digit',
+},
'hig' => {
'High(?:[-_]|\s+)?Surrogates' => 'High Surrogates',
'High(?:[-_]|\s+)?Private(?:[-_]|\s+)?Use(?:[-_]|\s+)?Surrogates' => 'High Private Use Surrogates',
@@ -281,8 +332,16 @@
'HIRAGANA' => 'HIRAGANA',
'Hiragana(?:[-_]|\s+)?Block' => 'Hiragana Block',
},
+'hyp' => {
+ 'Hyphen' => 'Hyphen',
+},
+'id_' => {
+ 'ID(?:[-_]|\s+)?Start' => 'ID_Start',
+ 'ID(?:[-_]|\s+)?Continue' => 'ID_Continue',
+},
'ide' => {
'Ideographic(?:[-_]|\s+)?Description(?:[-_]|\s+)?Characters' => 'Ideographic Description Characters',
+ 'Ideographic' => 'Ideographic',
},
'inh' => {
'INHERITED' => 'INHERITED',
@@ -290,6 +349,9 @@
'ipa' => {
'IPA(?:[-_]|\s+)?Extensions' => 'IPA Extensions',
},
+'joi' => {
+ 'Join(?:[-_]|\s+)?Control' => 'Join_Control',
+},
'kan' => {
'KANNADA' => 'KANNADA',
'Kannada(?:[-_]|\s+)?Block' => 'Kannada Block',
@@ -304,6 +366,9 @@
'KHMER' => 'KHMER',
'Khmer(?:[-_]|\s+)?Block' => 'Khmer Block',
},
+'lam' => {
+ 'Lampersand' => 'Lampersand',
+},
'lao' => {
'LAO' => 'LAO',
'Lao(?:[-_]|\s+)?Block' => 'Lao Block',
@@ -320,6 +385,7 @@
},
'low' => {
'Low(?:[-_]|\s+)?Surrogates' => 'Low Surrogates',
+ 'Lowercase' => 'Lowercase',
},
'mal' => {
'MALAYALAM' => 'MALAYALAM',
@@ -328,6 +394,7 @@
'mat' => {
'Mathematical(?:[-_]|\s+)?Operators' => 'Mathematical Operators',
'Mathematical(?:[-_]|\s+)?Alphanumeric(?:[-_]|\s+)?Symbols' => 'Mathematical Alphanumeric Symbols',
+ 'Math' => 'Math',
},
'mis' => {
'Miscellaneous(?:[-_]|\s+)?Technical' => 'Miscellaneous Technical',
@@ -344,6 +411,9 @@
'MYANMAR' => 'MYANMAR',
'Myanmar(?:[-_]|\s+)?Block' => 'Myanmar Block',
},
+'non' => {
+ 'Noncharacter(?:[-_]|\s+)?Code(?:[-_]|\s+)?Point' => 'Noncharacter_Code_Point',
+},
'num' => {
'Number(?:[-_]|\s+)?Forms' => 'Number Forms',
},
@@ -362,9 +432,18 @@
'ORIYA' => 'ORIYA',
'Oriya(?:[-_]|\s+)?Block' => 'Oriya Block',
},
+'oth' => {
+ 'Other(?:[-_]|\s+)?Math' => 'Other_Math',
+ 'Other(?:[-_]|\s+)?Alphabetic' => 'Other_Alphabetic',
+ 'Other(?:[-_]|\s+)?Lowercase' => 'Other_Lowercase',
+ 'Other(?:[-_]|\s+)?Uppercase' => 'Other_Uppercase',
+},
'pri' => {
'Private(?:[-_]|\s+)?Use' => 'Private Use',
},
+'quo' => {
+ 'Quotation(?:[-_]|\s+)?Mark' => 'Quotation_Mark',
+},
'run' => {
'RUNIC' => 'RUNIC',
'Runic(?:[-_]|\s+)?Block' => 'Runic Block',
@@ -400,6 +479,9 @@
'TELUGU' => 'TELUGU',
'Telugu(?:[-_]|\s+)?Block' => 'Telugu Block',
},
+'ter' => {
+ 'Terminal(?:[-_]|\s+)?Punctuation' => 'Terminal_Punctuation',
+},
'tha' => {
'THAANA' => 'THAANA',
'THAI' => 'THAI',
@@ -413,6 +495,12 @@
'uni' => {
'Unified(?:[-_]|\s+)?Canadian(?:[-_]|\s+)?Aboriginal(?:[-_]|\s+)?Syllabics' => 'Unified Canadian Aboriginal Syllabics',
},
+'upp' => {
+ 'Uppercase' => 'Uppercase',
+},
+'whi' => {
+ 'White(?:[-_]|\s+)?space' => 'White_space',
+},
'yi' => {
'YI' => 'YI',
},
diff --git a/lib/unicore/In/136.pl b/lib/unicore/In/136.pl
index b1abb046ca..ecf758691c 100644
--- a/lib/unicore/In/136.pl
+++ b/lib/unicore/In/136.pl
@@ -3,349 +3,349 @@
# Any changes made here will be lost!
return <<'END';
0000 0040 Common # In/136.pl
-005B 0060 Common # In/136.pl
-007B 00A9 Common # In/136.pl
-00AB 00B4 Common # In/136.pl
-00B6 00B9 Common # In/136.pl
-00BB 00BF Common # In/136.pl
-00D7 Common # In/136.pl
-00F7 Common # In/136.pl
+005b 0060 Common # In/136.pl
+007b 00a9 Common # In/136.pl
+00ab 00b4 Common # In/136.pl
+00b6 00b9 Common # In/136.pl
+00bb 00bf Common # In/136.pl
+00d7 Common # In/136.pl
+00f7 Common # In/136.pl
0220 0221 Common # In/136.pl
-0234 024F Common # In/136.pl
-02AE 02AF Common # In/136.pl
-02B9 02DF Common # In/136.pl
-02E5 02FF Common # In/136.pl
-034F 035F Common # In/136.pl
+0234 024f Common # In/136.pl
+02ae 02af Common # In/136.pl
+02b9 02df Common # In/136.pl
+02e5 02ff Common # In/136.pl
+034f 035f Common # In/136.pl
0363 0379 Common # In/136.pl
-037B 0385 Common # In/136.pl
+037b 0385 Common # In/136.pl
0387 Common # In/136.pl
-038B Common # In/136.pl
-038D Common # In/136.pl
-03A2 Common # In/136.pl
-03CF Common # In/136.pl
-03D8 03D9 Common # In/136.pl
-03F6 03FF Common # In/136.pl
+038b Common # In/136.pl
+038d Common # In/136.pl
+03a2 Common # In/136.pl
+03cf Common # In/136.pl
+03d8 03d9 Common # In/136.pl
+03f6 03ff Common # In/136.pl
0482 Common # In/136.pl
0487 Common # In/136.pl
-048A 048B Common # In/136.pl
-04C5 04C6 Common # In/136.pl
-04C9 04CA Common # In/136.pl
-04CD 04CF Common # In/136.pl
-04F6 04F7 Common # In/136.pl
-04FA 0530 Common # In/136.pl
+048a 048b Common # In/136.pl
+04c5 04c6 Common # In/136.pl
+04c9 04ca Common # In/136.pl
+04cd 04cf Common # In/136.pl
+04f6 04f7 Common # In/136.pl
+04fa 0530 Common # In/136.pl
0557 0558 Common # In/136.pl
-055A 0560 Common # In/136.pl
+055a 0560 Common # In/136.pl
0588 0590 Common # In/136.pl
-05A2 Common # In/136.pl
-05BA Common # In/136.pl
-05BE Common # In/136.pl
-05C0 Common # In/136.pl
-05C3 Common # In/136.pl
-05C5 05CF Common # In/136.pl
-05EB 05EF Common # In/136.pl
-05F3 0620 Common # In/136.pl
-063B 0640 Common # In/136.pl
-0656 066F Common # In/136.pl
-06D4 Common # In/136.pl
-06E9 Common # In/136.pl
-06EE 06F9 Common # In/136.pl
-06FD 070F Common # In/136.pl
-072D 072F Common # In/136.pl
-074B 077F Common # In/136.pl
-07B1 0900 Common # In/136.pl
+05a2 Common # In/136.pl
+05ba Common # In/136.pl
+05be Common # In/136.pl
+05c0 Common # In/136.pl
+05c3 Common # In/136.pl
+05c5 05cf Common # In/136.pl
+05eb 05ef Common # In/136.pl
+05f3 0620 Common # In/136.pl
+063b 0640 Common # In/136.pl
+0656 066f Common # In/136.pl
+06d4 Common # In/136.pl
+06e9 Common # In/136.pl
+06ee 06f9 Common # In/136.pl
+06fd 070f Common # In/136.pl
+072d 072f Common # In/136.pl
+074b 077f Common # In/136.pl
+07b1 0900 Common # In/136.pl
0904 Common # In/136.pl
-093A 093B Common # In/136.pl
-094E 094F Common # In/136.pl
+093a 093b Common # In/136.pl
+094e 094f Common # In/136.pl
0955 0957 Common # In/136.pl
0964 0965 Common # In/136.pl
0970 0980 Common # In/136.pl
0982 0984 Common # In/136.pl
-098D 098E Common # In/136.pl
+098d 098e Common # In/136.pl
0991 0992 Common # In/136.pl
-09A9 Common # In/136.pl
-09B1 Common # In/136.pl
-09B3 09B5 Common # In/136.pl
-09BA 09BB Common # In/136.pl
-09BD Common # In/136.pl
-09C5 09C6 Common # In/136.pl
-09C9 09CA Common # In/136.pl
-09CE 09D6 Common # In/136.pl
-09D8 09DB Common # In/136.pl
-09DE Common # In/136.pl
-09E4 09E5 Common # In/136.pl
-09F2 0A01 Common # In/136.pl
-0A03 0A04 Common # In/136.pl
-0A0B 0A0E Common # In/136.pl
-0A11 0A12 Common # In/136.pl
-0A29 Common # In/136.pl
-0A31 Common # In/136.pl
-0A34 Common # In/136.pl
-0A37 Common # In/136.pl
-0A3A 0A3B Common # In/136.pl
-0A3D Common # In/136.pl
-0A43 0A46 Common # In/136.pl
-0A49 0A4A Common # In/136.pl
-0A4E 0A58 Common # In/136.pl
-0A5D Common # In/136.pl
-0A5F 0A65 Common # In/136.pl
-0A75 0A80 Common # In/136.pl
-0A84 Common # In/136.pl
-0A8C Common # In/136.pl
-0A8E Common # In/136.pl
-0A92 Common # In/136.pl
-0AA9 Common # In/136.pl
-0AB1 Common # In/136.pl
-0AB4 Common # In/136.pl
-0ABA 0ABB Common # In/136.pl
-0AC6 Common # In/136.pl
-0ACA Common # In/136.pl
-0ACE 0ACF Common # In/136.pl
-0AD1 0ADF Common # In/136.pl
-0AE1 0AE5 Common # In/136.pl
-0AF0 0B00 Common # In/136.pl
-0B04 Common # In/136.pl
-0B0D 0B0E Common # In/136.pl
-0B11 0B12 Common # In/136.pl
-0B29 Common # In/136.pl
-0B31 Common # In/136.pl
-0B34 0B35 Common # In/136.pl
-0B3A 0B3B Common # In/136.pl
-0B44 0B46 Common # In/136.pl
-0B49 0B4A Common # In/136.pl
-0B4E 0B55 Common # In/136.pl
-0B58 0B5B Common # In/136.pl
-0B5E Common # In/136.pl
-0B62 0B65 Common # In/136.pl
-0B70 0B81 Common # In/136.pl
-0B84 Common # In/136.pl
-0B8B 0B8D Common # In/136.pl
-0B91 Common # In/136.pl
-0B96 0B98 Common # In/136.pl
-0B9B Common # In/136.pl
-0B9D Common # In/136.pl
-0BA0 0BA2 Common # In/136.pl
-0BA5 0BA7 Common # In/136.pl
-0BAB 0BAD Common # In/136.pl
-0BB6 Common # In/136.pl
-0BBA 0BBD Common # In/136.pl
-0BC3 0BC5 Common # In/136.pl
-0BC9 Common # In/136.pl
-0BCE 0BD6 Common # In/136.pl
-0BD8 0BE6 Common # In/136.pl
-0BF3 0C00 Common # In/136.pl
-0C04 Common # In/136.pl
-0C0D Common # In/136.pl
-0C11 Common # In/136.pl
-0C29 Common # In/136.pl
-0C34 Common # In/136.pl
-0C3A 0C3D Common # In/136.pl
-0C45 Common # In/136.pl
-0C49 Common # In/136.pl
-0C4E 0C54 Common # In/136.pl
-0C57 0C5F Common # In/136.pl
-0C62 0C65 Common # In/136.pl
-0C70 0C81 Common # In/136.pl
-0C84 Common # In/136.pl
-0C8D Common # In/136.pl
-0C91 Common # In/136.pl
-0CA9 Common # In/136.pl
-0CB4 Common # In/136.pl
-0CBA 0CBD Common # In/136.pl
-0CC5 Common # In/136.pl
-0CC9 Common # In/136.pl
-0CCE 0CD4 Common # In/136.pl
-0CD7 0CDD Common # In/136.pl
-0CDF Common # In/136.pl
-0CE2 0CE5 Common # In/136.pl
-0CF0 0D01 Common # In/136.pl
-0D04 Common # In/136.pl
-0D0D Common # In/136.pl
-0D11 Common # In/136.pl
-0D29 Common # In/136.pl
-0D3A 0D3D Common # In/136.pl
-0D44 0D45 Common # In/136.pl
-0D49 Common # In/136.pl
-0D4E 0D56 Common # In/136.pl
-0D58 0D5F Common # In/136.pl
-0D62 0D65 Common # In/136.pl
-0D70 0D81 Common # In/136.pl
-0D84 Common # In/136.pl
-0D97 0D99 Common # In/136.pl
-0DB2 Common # In/136.pl
-0DBC Common # In/136.pl
-0DBE 0DBF Common # In/136.pl
-0DC7 0DC9 Common # In/136.pl
-0DCB 0DCE Common # In/136.pl
-0DD5 Common # In/136.pl
-0DD7 Common # In/136.pl
-0DE0 0DF1 Common # In/136.pl
-0DF4 0E00 Common # In/136.pl
-0E3B 0E3F Common # In/136.pl
-0E4F Common # In/136.pl
-0E5A 0E80 Common # In/136.pl
-0E83 Common # In/136.pl
-0E85 0E86 Common # In/136.pl
-0E89 Common # In/136.pl
-0E8B 0E8C Common # In/136.pl
-0E8E 0E93 Common # In/136.pl
-0E98 Common # In/136.pl
-0EA0 Common # In/136.pl
-0EA4 Common # In/136.pl
-0EA6 Common # In/136.pl
-0EA8 0EA9 Common # In/136.pl
-0EAC Common # In/136.pl
-0EBA Common # In/136.pl
-0EBE 0EBF Common # In/136.pl
-0EC5 Common # In/136.pl
-0EC7 Common # In/136.pl
-0ECE 0ECF Common # In/136.pl
-0EDA 0EDB Common # In/136.pl
-0EDE 0EFF Common # In/136.pl
-0F01 0F17 Common # In/136.pl
-0F1A 0F1F Common # In/136.pl
-0F34 Common # In/136.pl
-0F36 Common # In/136.pl
-0F38 Common # In/136.pl
-0F3A 0F3F Common # In/136.pl
-0F48 Common # In/136.pl
-0F6B 0F70 Common # In/136.pl
-0F85 Common # In/136.pl
-0F8C 0F8F Common # In/136.pl
-0F98 Common # In/136.pl
-0FBD 0FC5 Common # In/136.pl
-0FC7 0FFF Common # In/136.pl
+09a9 Common # In/136.pl
+09b1 Common # In/136.pl
+09b3 09b5 Common # In/136.pl
+09ba 09bb Common # In/136.pl
+09bd Common # In/136.pl
+09c5 09c6 Common # In/136.pl
+09c9 09ca Common # In/136.pl
+09ce 09d6 Common # In/136.pl
+09d8 09db Common # In/136.pl
+09de Common # In/136.pl
+09e4 09e5 Common # In/136.pl
+09f2 0a01 Common # In/136.pl
+0a03 0a04 Common # In/136.pl
+0a0b 0a0e Common # In/136.pl
+0a11 0a12 Common # In/136.pl
+0a29 Common # In/136.pl
+0a31 Common # In/136.pl
+0a34 Common # In/136.pl
+0a37 Common # In/136.pl
+0a3a 0a3b Common # In/136.pl
+0a3d Common # In/136.pl
+0a43 0a46 Common # In/136.pl
+0a49 0a4a Common # In/136.pl
+0a4e 0a58 Common # In/136.pl
+0a5d Common # In/136.pl
+0a5f 0a65 Common # In/136.pl
+0a75 0a80 Common # In/136.pl
+0a84 Common # In/136.pl
+0a8c Common # In/136.pl
+0a8e Common # In/136.pl
+0a92 Common # In/136.pl
+0aa9 Common # In/136.pl
+0ab1 Common # In/136.pl
+0ab4 Common # In/136.pl
+0aba 0abb Common # In/136.pl
+0ac6 Common # In/136.pl
+0aca Common # In/136.pl
+0ace 0acf Common # In/136.pl
+0ad1 0adf Common # In/136.pl
+0ae1 0ae5 Common # In/136.pl
+0af0 0b00 Common # In/136.pl
+0b04 Common # In/136.pl
+0b0d 0b0e Common # In/136.pl
+0b11 0b12 Common # In/136.pl
+0b29 Common # In/136.pl
+0b31 Common # In/136.pl
+0b34 0b35 Common # In/136.pl
+0b3a 0b3b Common # In/136.pl
+0b44 0b46 Common # In/136.pl
+0b49 0b4a Common # In/136.pl
+0b4e 0b55 Common # In/136.pl
+0b58 0b5b Common # In/136.pl
+0b5e Common # In/136.pl
+0b62 0b65 Common # In/136.pl
+0b70 0b81 Common # In/136.pl
+0b84 Common # In/136.pl
+0b8b 0b8d Common # In/136.pl
+0b91 Common # In/136.pl
+0b96 0b98 Common # In/136.pl
+0b9b Common # In/136.pl
+0b9d Common # In/136.pl
+0ba0 0ba2 Common # In/136.pl
+0ba5 0ba7 Common # In/136.pl
+0bab 0bad Common # In/136.pl
+0bb6 Common # In/136.pl
+0bba 0bbd Common # In/136.pl
+0bc3 0bc5 Common # In/136.pl
+0bc9 Common # In/136.pl
+0bce 0bd6 Common # In/136.pl
+0bd8 0be6 Common # In/136.pl
+0bf3 0c00 Common # In/136.pl
+0c04 Common # In/136.pl
+0c0d Common # In/136.pl
+0c11 Common # In/136.pl
+0c29 Common # In/136.pl
+0c34 Common # In/136.pl
+0c3a 0c3d Common # In/136.pl
+0c45 Common # In/136.pl
+0c49 Common # In/136.pl
+0c4e 0c54 Common # In/136.pl
+0c57 0c5f Common # In/136.pl
+0c62 0c65 Common # In/136.pl
+0c70 0c81 Common # In/136.pl
+0c84 Common # In/136.pl
+0c8d Common # In/136.pl
+0c91 Common # In/136.pl
+0ca9 Common # In/136.pl
+0cb4 Common # In/136.pl
+0cba 0cbd Common # In/136.pl
+0cc5 Common # In/136.pl
+0cc9 Common # In/136.pl
+0cce 0cd4 Common # In/136.pl
+0cd7 0cdd Common # In/136.pl
+0cdf Common # In/136.pl
+0ce2 0ce5 Common # In/136.pl
+0cf0 0d01 Common # In/136.pl
+0d04 Common # In/136.pl
+0d0d Common # In/136.pl
+0d11 Common # In/136.pl
+0d29 Common # In/136.pl
+0d3a 0d3d Common # In/136.pl
+0d44 0d45 Common # In/136.pl
+0d49 Common # In/136.pl
+0d4e 0d56 Common # In/136.pl
+0d58 0d5f Common # In/136.pl
+0d62 0d65 Common # In/136.pl
+0d70 0d81 Common # In/136.pl
+0d84 Common # In/136.pl
+0d97 0d99 Common # In/136.pl
+0db2 Common # In/136.pl
+0dbc Common # In/136.pl
+0dbe 0dbf Common # In/136.pl
+0dc7 0dc9 Common # In/136.pl
+0dcb 0dce Common # In/136.pl
+0dd5 Common # In/136.pl
+0dd7 Common # In/136.pl
+0de0 0df1 Common # In/136.pl
+0df4 0e00 Common # In/136.pl
+0e3b 0e3f Common # In/136.pl
+0e4f Common # In/136.pl
+0e5a 0e80 Common # In/136.pl
+0e83 Common # In/136.pl
+0e85 0e86 Common # In/136.pl
+0e89 Common # In/136.pl
+0e8b 0e8c Common # In/136.pl
+0e8e 0e93 Common # In/136.pl
+0e98 Common # In/136.pl
+0ea0 Common # In/136.pl
+0ea4 Common # In/136.pl
+0ea6 Common # In/136.pl
+0ea8 0ea9 Common # In/136.pl
+0eac Common # In/136.pl
+0eba Common # In/136.pl
+0ebe 0ebf Common # In/136.pl
+0ec5 Common # In/136.pl
+0ec7 Common # In/136.pl
+0ece 0ecf Common # In/136.pl
+0eda 0edb Common # In/136.pl
+0ede 0eff Common # In/136.pl
+0f01 0f17 Common # In/136.pl
+0f1a 0f1f Common # In/136.pl
+0f34 Common # In/136.pl
+0f36 Common # In/136.pl
+0f38 Common # In/136.pl
+0f3a 0f3f Common # In/136.pl
+0f48 Common # In/136.pl
+0f6b 0f70 Common # In/136.pl
+0f85 Common # In/136.pl
+0f8c 0f8f Common # In/136.pl
+0f98 Common # In/136.pl
+0fbd 0fc5 Common # In/136.pl
+0fc7 0fff Common # In/136.pl
1022 Common # In/136.pl
1028 Common # In/136.pl
-102B Common # In/136.pl
+102b Common # In/136.pl
1033 1035 Common # In/136.pl
-103A 103F Common # In/136.pl
-104A 104F Common # In/136.pl
-105A 109F Common # In/136.pl
-10C6 10CF Common # In/136.pl
-10F7 10FF Common # In/136.pl
-115A 115E Common # In/136.pl
-11A3 11A7 Common # In/136.pl
-11FA 11FF Common # In/136.pl
+103a 103f Common # In/136.pl
+104a 104f Common # In/136.pl
+105a 109f Common # In/136.pl
+10c6 10cf Common # In/136.pl
+10f7 10ff Common # In/136.pl
+115a 115e Common # In/136.pl
+11a3 11a7 Common # In/136.pl
+11fa 11ff Common # In/136.pl
1207 Common # In/136.pl
1247 Common # In/136.pl
1249 Common # In/136.pl
-124E 124F Common # In/136.pl
+124e 124f Common # In/136.pl
1257 Common # In/136.pl
1259 Common # In/136.pl
-125E 125F Common # In/136.pl
+125e 125f Common # In/136.pl
1287 Common # In/136.pl
1289 Common # In/136.pl
-128E 128F Common # In/136.pl
-12AF Common # In/136.pl
-12B1 Common # In/136.pl
-12B6 12B7 Common # In/136.pl
-12BF Common # In/136.pl
-12C1 Common # In/136.pl
-12C6 12C7 Common # In/136.pl
-12CF Common # In/136.pl
-12D7 Common # In/136.pl
-12EF Common # In/136.pl
-130F Common # In/136.pl
+128e 128f Common # In/136.pl
+12af Common # In/136.pl
+12b1 Common # In/136.pl
+12b6 12b7 Common # In/136.pl
+12bf Common # In/136.pl
+12c1 Common # In/136.pl
+12c6 12c7 Common # In/136.pl
+12cf Common # In/136.pl
+12d7 Common # In/136.pl
+12ef Common # In/136.pl
+130f Common # In/136.pl
1311 Common # In/136.pl
1316 1317 Common # In/136.pl
-131F Common # In/136.pl
+131f Common # In/136.pl
1347 Common # In/136.pl
-135B 1368 Common # In/136.pl
-137D 139F Common # In/136.pl
-13F5 1400 Common # In/136.pl
-166D 166E Common # In/136.pl
+135b 1368 Common # In/136.pl
+137d 139f Common # In/136.pl
+13f5 1400 Common # In/136.pl
+166d 166e Common # In/136.pl
1677 1680 Common # In/136.pl
-169B 169F Common # In/136.pl
-16EB 16ED Common # In/136.pl
-16F1 177F Common # In/136.pl
-17D4 17DF Common # In/136.pl
-17EA 180F Common # In/136.pl
-181A 181F Common # In/136.pl
-1878 187F Common # In/136.pl
-18AA 1DFF Common # In/136.pl
-1E9C 1E9F Common # In/136.pl
-1EFA 1EFF Common # In/136.pl
-1F16 1F17 Common # In/136.pl
-1F1E 1F1F Common # In/136.pl
-1F46 1F47 Common # In/136.pl
-1F4E 1F4F Common # In/136.pl
-1F58 Common # In/136.pl
-1F5A Common # In/136.pl
-1F5C Common # In/136.pl
-1F5E Common # In/136.pl
-1F7E 1F7F Common # In/136.pl
-1FB5 Common # In/136.pl
-1FBD Common # In/136.pl
-1FBF 1FC1 Common # In/136.pl
-1FC5 Common # In/136.pl
-1FCD 1FCF Common # In/136.pl
-1FD4 1FD5 Common # In/136.pl
-1FDC 1FDF Common # In/136.pl
-1FED 1FF1 Common # In/136.pl
-1FF5 Common # In/136.pl
-1FFD 207E Common # In/136.pl
-2080 20CF Common # In/136.pl
-20E4 2125 Common # In/136.pl
+169b 169f Common # In/136.pl
+16eb 16ed Common # In/136.pl
+16f1 177f Common # In/136.pl
+17d4 17df Common # In/136.pl
+17ea 180f Common # In/136.pl
+181a 181f Common # In/136.pl
+1878 187f Common # In/136.pl
+18aa 1dff Common # In/136.pl
+1e9c 1e9f Common # In/136.pl
+1efa 1eff Common # In/136.pl
+1f16 1f17 Common # In/136.pl
+1f1e 1f1f Common # In/136.pl
+1f46 1f47 Common # In/136.pl
+1f4e 1f4f Common # In/136.pl
+1f58 Common # In/136.pl
+1f5a Common # In/136.pl
+1f5c Common # In/136.pl
+1f5e Common # In/136.pl
+1f7e 1f7f Common # In/136.pl
+1fb5 Common # In/136.pl
+1fbd Common # In/136.pl
+1fbf 1fc1 Common # In/136.pl
+1fc5 Common # In/136.pl
+1fcd 1fcf Common # In/136.pl
+1fd4 1fd5 Common # In/136.pl
+1fdc 1fdf Common # In/136.pl
+1fed 1ff1 Common # In/136.pl
+1ff5 Common # In/136.pl
+1ffd 207e Common # In/136.pl
+2080 20cf Common # In/136.pl
+20e4 2125 Common # In/136.pl
2127 2129 Common # In/136.pl
-212C 2E7F Common # In/136.pl
-2E9A Common # In/136.pl
-2EF4 2EFF Common # In/136.pl
-2FD6 3004 Common # In/136.pl
+212c 2e7f Common # In/136.pl
+2e9a Common # In/136.pl
+2ef4 2eff Common # In/136.pl
+2fd6 3004 Common # In/136.pl
3006 Common # In/136.pl
3008 3020 Common # In/136.pl
3030 3037 Common # In/136.pl
-303B 3040 Common # In/136.pl
+303b 3040 Common # In/136.pl
3095 3098 Common # In/136.pl
-309B 309C Common # In/136.pl
-309F 30A0 Common # In/136.pl
-30FB 30FC Common # In/136.pl
-30FF 3104 Common # In/136.pl
-312D 3130 Common # In/136.pl
-318F 319F Common # In/136.pl
-31B8 33FF Common # In/136.pl
-4DB6 4DFF Common # In/136.pl
-9FA6 9FFF Common # In/136.pl
-A48D A48F Common # In/136.pl
-A4A2 A4A3 Common # In/136.pl
-A4B4 Common # In/136.pl
-A4C1 Common # In/136.pl
-A4C5 Common # In/136.pl
-A4C7 ABFF Common # In/136.pl
-D7A4 F8FF Common # In/136.pl
-FA2E FAFF Common # In/136.pl
-FB07 FB12 Common # In/136.pl
-FB18 FB1C Common # In/136.pl
-FB29 Common # In/136.pl
-FB37 Common # In/136.pl
-FB3D Common # In/136.pl
-FB3F Common # In/136.pl
-FB42 Common # In/136.pl
-FB45 Common # In/136.pl
-FBB2 FBD2 Common # In/136.pl
-FD3E FD4F Common # In/136.pl
-FD90 FD91 Common # In/136.pl
-FDC8 FDEF Common # In/136.pl
-FDFC FE1F Common # In/136.pl
-FE24 FE6F Common # In/136.pl
-FE73 Common # In/136.pl
-FE75 Common # In/136.pl
-FEFD FF20 Common # In/136.pl
-FF3B FF40 Common # In/136.pl
-FF5B FF65 Common # In/136.pl
-FF70 Common # In/136.pl
-FF9E FF9F Common # In/136.pl
-FFBF FFC1 Common # In/136.pl
-FFC8 FFC9 Common # In/136.pl
-FFD0 FFD1 Common # In/136.pl
-FFD8 FFD9 Common # In/136.pl
-FFDD 102FF Common # In/136.pl
-1031F 1032F Common # In/136.pl
-1034B 103FF Common # In/136.pl
+309b 309c Common # In/136.pl
+309f 30a0 Common # In/136.pl
+30fb 30fc Common # In/136.pl
+30ff 3104 Common # In/136.pl
+312d 3130 Common # In/136.pl
+318f 319f Common # In/136.pl
+31b8 33ff Common # In/136.pl
+4db6 4dff Common # In/136.pl
+9fa6 9fff Common # In/136.pl
+a48d a48f Common # In/136.pl
+a4a2 a4a3 Common # In/136.pl
+a4b4 Common # In/136.pl
+a4c1 Common # In/136.pl
+a4c5 Common # In/136.pl
+a4c7 abff Common # In/136.pl
+d7a4 f8ff Common # In/136.pl
+fa2e faff Common # In/136.pl
+fb07 fb12 Common # In/136.pl
+fb18 fb1c Common # In/136.pl
+fb29 Common # In/136.pl
+fb37 Common # In/136.pl
+fb3d Common # In/136.pl
+fb3f Common # In/136.pl
+fb42 Common # In/136.pl
+fb45 Common # In/136.pl
+fbb2 fbd2 Common # In/136.pl
+fd3e fd4f Common # In/136.pl
+fd90 fd91 Common # In/136.pl
+fdc8 fdef Common # In/136.pl
+fdfc fe1f Common # In/136.pl
+fe24 fe6f Common # In/136.pl
+fe73 Common # In/136.pl
+fe75 Common # In/136.pl
+fefd ff20 Common # In/136.pl
+ff3b ff40 Common # In/136.pl
+ff5b ff65 Common # In/136.pl
+ff70 Common # In/136.pl
+ff9e ff9f Common # In/136.pl
+ffbf ffc1 Common # In/136.pl
+ffc8 ffc9 Common # In/136.pl
+ffd0 ffd1 Common # In/136.pl
+ffd8 ffd9 Common # In/136.pl
+ffdd 102ff Common # In/136.pl
+1031f 1032f Common # In/136.pl
+1034b 103ff Common # In/136.pl
10426 10427 Common # In/136.pl
-1044E 1D166 Common # In/136.pl
-1D16A 1D17A Common # In/136.pl
-1D183 1D184 Common # In/136.pl
-1D18C 1D1A9 Common # In/136.pl
-1D1AE 1FFFF Common # In/136.pl
-2A6D7 2F7FF Common # In/136.pl
+1044e 1d166 Common # In/136.pl
+1d16a 1d17a Common # In/136.pl
+1d183 1d184 Common # In/136.pl
+1d18c 1d1a9 Common # In/136.pl
+1d1ae 1ffff Common # In/136.pl
+2a6d7 2f7ff Common # In/136.pl
END
diff --git a/lib/unicore/In/137.pl b/lib/unicore/In/137.pl
new file mode 100644
index 0000000000..3f4426c4f3
--- /dev/null
+++ b/lib/unicore/In/137.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0000 10FFFF
+END
diff --git a/lib/unicore/In/138.pl b/lib/unicore/In/138.pl
new file mode 100644
index 0000000000..e9b2d59c67
--- /dev/null
+++ b/lib/unicore/In/138.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0009 000d
+0020
+0085
+00a0
+1680
+2000 200a
+2028
+2029
+202f
+3000
+END
diff --git a/lib/unicore/In/139.pl b/lib/unicore/In/139.pl
new file mode 100644
index 0000000000..71af1dff60
--- /dev/null
+++ b/lib/unicore/In/139.pl
@@ -0,0 +1,7 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+200e 200f
+202a 202e
+END
diff --git a/lib/unicore/In/140.pl b/lib/unicore/In/140.pl
new file mode 100644
index 0000000000..cbebf2ba2f
--- /dev/null
+++ b/lib/unicore/In/140.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+200c 200d
+END
diff --git a/lib/unicore/In/141.pl b/lib/unicore/In/141.pl
new file mode 100644
index 0000000000..7e24357d48
--- /dev/null
+++ b/lib/unicore/In/141.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+002d
+00ad
+058a
+1806
+2010 2015
+207b
+208b
+2212
+301c
+3030
+fe31 fe32
+fe58
+fe63
+ff0d
+END
diff --git a/lib/unicore/In/142.pl b/lib/unicore/In/142.pl
new file mode 100644
index 0000000000..0b25e37f3d
--- /dev/null
+++ b/lib/unicore/In/142.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+002d
+00ad
+058a
+1806
+2010 2011
+30fb
+fe63
+ff0d
+ff65
+END
diff --git a/lib/unicore/In/143.pl b/lib/unicore/In/143.pl
new file mode 100644
index 0000000000..26b0c1ad4a
--- /dev/null
+++ b/lib/unicore/In/143.pl
@@ -0,0 +1,32 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0022
+0027
+00ab
+00bb
+2018
+2019
+201a
+201b 201c
+201d
+201e
+201f
+2039
+203a
+300c
+300d
+300e
+300f
+301d
+301e 301f
+fe41
+fe42
+fe43
+fe44
+ff02
+ff07
+ff62
+ff63
+END
diff --git a/lib/unicore/In/144.pl b/lib/unicore/In/144.pl
new file mode 100644
index 0000000000..77d04c7170
--- /dev/null
+++ b/lib/unicore/In/144.pl
@@ -0,0 +1,41 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0021
+002c
+002e
+003a 003b
+003f
+037e
+0387
+0589
+060c
+061b
+061f
+06d4
+0700 070a
+070c
+0964 0965
+0e5a 0e5b
+104a 104b
+1361 1368
+166d 166e
+16eb 16ed
+17d4 17d6
+17da
+1802 1805
+1808 1809
+203c 203d
+2048 2049
+3001 3002
+fe50 fe52
+fe54 fe57
+ff01
+ff0c
+ff0e
+ff1a ff1b
+ff1f
+ff61
+ff64
+END
diff --git a/lib/unicore/In/145.pl b/lib/unicore/In/145.pl
new file mode 100644
index 0000000000..11c5477713
--- /dev/null
+++ b/lib/unicore/In/145.pl
@@ -0,0 +1,94 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0028
+0029
+002a
+002d
+002f
+005b
+005c
+005d
+005e
+007b
+007d
+2016
+2032 2034
+207d
+207e
+208d
+208e
+20d0 20dc
+20e1
+2102
+210a 2113
+2115
+2119 211d
+2124
+2128
+212c 212d
+212f 2131
+2133 2134
+2135 2138
+2329
+232a
+300a
+300b
+301a
+301b
+fe35
+fe36
+fe37
+fe38
+fe59
+fe5a
+fe5b
+fe5c
+fe61
+fe63
+fe68
+ff08
+ff09
+ff0a
+ff0d
+ff0f
+ff3b
+ff3c
+ff3d
+ff3e
+ff5b
+ff5d
+1d400 1d454
+1d456 1d49c
+1d49e 1d49f
+1d4a2
+1d4a5 1d4a6
+1d4a9 1d4ac
+1d4ae 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 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
+END
diff --git a/lib/unicore/In/146.pl b/lib/unicore/In/146.pl
new file mode 100644
index 0000000000..6dda10d1fc
--- /dev/null
+++ b/lib/unicore/In/146.pl
@@ -0,0 +1,11 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0030 0039
+0041 0046
+0061 0066
+ff10 ff19
+ff21 ff26
+ff41 ff46
+END
diff --git a/lib/unicore/In/147.pl b/lib/unicore/In/147.pl
new file mode 100644
index 0000000000..c74ef7eb3a
--- /dev/null
+++ b/lib/unicore/In/147.pl
@@ -0,0 +1,8 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0030 0039
+0041 0046
+0061 0066
+END
diff --git a/lib/unicore/In/148.pl b/lib/unicore/In/148.pl
new file mode 100644
index 0000000000..f03eddcece
--- /dev/null
+++ b/lib/unicore/In/148.pl
@@ -0,0 +1,122 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0345
+05b0 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0655
+0670
+06d6 06dc
+06e1 06e4
+06e7 06e8
+06ed
+0711
+0730 073f
+07a6 07b0
+0901 0902
+0903
+093e 0940
+0941 0948
+0949 094c
+0962 0963
+0981
+0982 0983
+09be 09c0
+09c1 09c4
+09c7 09c8
+09cb 09cc
+09d7
+09e2 09e3
+0a02
+0a3e 0a40
+0a41 0a42
+0a47 0a48
+0a4b 0a4c
+0a70 0a71
+0a81 0a82
+0a83
+0abe 0ac0
+0ac1 0ac5
+0ac7 0ac8
+0ac9
+0acb 0acc
+0b01
+0b02 0b03
+0b3e
+0b3f
+0b40
+0b41 0b43
+0b47 0b48
+0b4b 0b4c
+0b56
+0b57
+0b82
+0b83
+0bbe 0bbf
+0bc0
+0bc1 0bc2
+0bc6 0bc8
+0bca 0bcc
+0bd7
+0c01 0c03
+0c3e 0c40
+0c41 0c44
+0c46 0c48
+0c4a 0c4c
+0c55 0c56
+0c82 0c83
+0cbe
+0cbf
+0cc0 0cc4
+0cc6
+0cc7 0cc8
+0cca 0ccb
+0ccc
+0cd5 0cd6
+0d02 0d03
+0d3e 0d40
+0d41 0d43
+0d46 0d48
+0d4a 0d4c
+0d57
+0d82 0d83
+0dcf 0dd1
+0dd2 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df3
+0e31
+0e34 0e3a
+0e4d
+0eb1
+0eb4 0eb9
+0ebb 0ebc
+0ecd
+0f71 0f7e
+0f7f
+0f80 0f81
+0f90 0f97
+0f99 0fbc
+102c
+102d 1030
+1031
+1032
+1036
+1038
+1056 1057
+1058 1059
+16ee 16f0
+17b4 17b6
+17b7 17bd
+17be 17c5
+17c6
+17c7 17c8
+18a9
+2160 2183
+fb1e
+1034a
+END
diff --git a/lib/unicore/In/149.pl b/lib/unicore/In/149.pl
new file mode 100644
index 0000000000..ccb7764f16
--- /dev/null
+++ b/lib/unicore/In/149.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+3006
+3007
+3021 3029
+3038 303a
+3400 4db5
+4e00 9fa5
+f900 fa2d
+20000 2a6d6
+2f800 2fa1d
+END
diff --git a/lib/unicore/In/150.pl b/lib/unicore/In/150.pl
new file mode 100644
index 0000000000..f0d744c536
--- /dev/null
+++ b/lib/unicore/In/150.pl
@@ -0,0 +1,92 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+005e
+0060
+00a8
+00af
+00b4
+00b7
+00b8
+02b0 02b8
+02b9 02ba
+02bb 02c1
+02c2 02cf
+02d0 02d1
+02d2 02df
+02e0 02e4
+02e5 02ed
+02ee
+0300 034e
+0360 0362
+0374 0375
+037a
+0384 0385
+0483 0486
+0559
+0591 05a1
+05a3 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0652
+06df 06e0
+06e5 06e6
+06ea 06ec
+0730 074a
+07a6 07b0
+093c
+094d
+0951 0954
+09bc
+09cd
+0a3c
+0a4d
+0abc
+0acd
+0b3c
+0b4d
+0bcd
+0c4d
+0ccd
+0d4d
+0dca
+0e47 0e4c
+0e4e
+0ec8 0ecc
+0f18 0f19
+0f35
+0f37
+0f39
+0f3e 0f3f
+0f82 0f84
+0f86 0f87
+0fc6
+1037
+1039
+17c9 17d3
+1fbd
+1fbf 1fc1
+1fcd 1fcf
+1fdd 1fdf
+1fed 1fef
+1ffd 1ffe
+302a 302f
+3099 309a
+309b 309c
+30fc
+fb1e
+fe20 fe23
+ff3e
+ff40
+ff70
+ff9e ff9f
+ffe3
+1d167 1d169
+1d16d 1d172
+1d17b 1d182
+1d185 1d18b
+1d1aa 1d1ad
+END
diff --git a/lib/unicore/In/151.pl b/lib/unicore/In/151.pl
new file mode 100644
index 0000000000..afe3a3f962
--- /dev/null
+++ b/lib/unicore/In/151.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+00b7
+02d0 02d1
+0640
+0e46
+0ec6
+1843
+3005
+3031 3035
+309d 309e
+30fc 30fe
+ff70
+END
diff --git a/lib/unicore/In/152.pl b/lib/unicore/In/152.pl
new file mode 100644
index 0000000000..d1a664afe4
--- /dev/null
+++ b/lib/unicore/In/152.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+02b0 02b8
+02c0 02c1
+02e0 02e4
+0345
+037a
+2170 217f
+24d0 24e9
+END
diff --git a/lib/unicore/In/153.pl b/lib/unicore/In/153.pl
new file mode 100644
index 0000000000..bb803d5b6c
--- /dev/null
+++ b/lib/unicore/In/153.pl
@@ -0,0 +1,7 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+2160 216f
+24b6 24cf
+END
diff --git a/lib/unicore/In/154.pl b/lib/unicore/In/154.pl
new file mode 100644
index 0000000000..3d9a2f8115
--- /dev/null
+++ b/lib/unicore/In/154.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+fdd0 fdef
+fffe ffff
+1fffe 1ffff
+2fffe 2ffff
+3fffe 3ffff
+4fffe 4ffff
+5fffe 5ffff
+6fffe 6ffff
+7fffe 7ffff
+8fffe 8ffff
+9fffe 9ffff
+afffe affff
+bfffe bffff
+cfffe cffff
+dfffe dffff
+efffe effff
+ffffe fffff
+END
diff --git a/lib/unicore/In/155.pl b/lib/unicore/In/155.pl
new file mode 100644
index 0000000000..c4c37445be
--- /dev/null
+++ b/lib/unicore/In/155.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+0000 10ffff Common # In/136.pl
+END
diff --git a/lib/unicore/In/156.pl b/lib/unicore/In/156.pl
new file mode 100644
index 0000000000..70205ab139
--- /dev/null
+++ b/lib/unicore/In/156.pl
@@ -0,0 +1,414 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0041 005a
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00f6
+00f8 021f
+0222 0233
+0250 02ad
+02b0 02b8
+02bb 02c1
+02d0 02d1
+02e0 02e4
+02ee
+0345
+037a
+0386
+0388 038a
+038c
+038e 03a1
+03a3 03ce
+03d0 03d7
+03da 03f5
+0400 0481
+048c 04c4
+04c7 04c8
+04cb 04cc
+04d0 04f5
+04f8 04f9
+0531 0556
+0559
+0561 0587
+05b0 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+05d0 05ea
+05f0 05f2
+0621 063a
+0640 064a
+064b 0655
+0670
+0671 06d3
+06d5
+06d6 06dc
+06e1 06e4
+06e5 06e6
+06e7 06e8
+06ed
+06fa 06fc
+0710
+0711
+0712 072c
+0730 073f
+0780 07a5
+07a6 07b0
+0901 0902
+0903
+0905 0939
+093d
+093e 0940
+0941 0948
+0949 094c
+0950
+0958 0961
+0962 0963
+0981
+0982 0983
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+09be 09c0
+09c1 09c4
+09c7 09c8
+09cb 09cc
+09d7
+09dc 09dd
+09df 09e1
+09e2 09e3
+09f0 09f1
+0a02
+0a05 0a0a
+0a0f 0a10
+0a13 0a28
+0a2a 0a30
+0a32 0a33
+0a35 0a36
+0a38 0a39
+0a3e 0a40
+0a41 0a42
+0a47 0a48
+0a4b 0a4c
+0a59 0a5c
+0a5e
+0a70 0a71
+0a72 0a74
+0a81 0a82
+0a83
+0a85 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0abe 0ac0
+0ac1 0ac5
+0ac7 0ac8
+0ac9
+0acb 0acc
+0ad0
+0ae0
+0b01
+0b02 0b03
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b3e
+0b3f
+0b40
+0b41 0b43
+0b47 0b48
+0b4b 0b4c
+0b56
+0b57
+0b5c 0b5d
+0b5f 0b61
+0b82
+0b83
+0b85 0b8a
+0b8e 0b90
+0b92 0b95
+0b99 0b9a
+0b9c
+0b9e 0b9f
+0ba3 0ba4
+0ba8 0baa
+0bae 0bb5
+0bb7 0bb9
+0bbe 0bbf
+0bc0
+0bc1 0bc2
+0bc6 0bc8
+0bca 0bcc
+0bd7
+0c01 0c03
+0c05 0c0c
+0c0e 0c10
+0c12 0c28
+0c2a 0c33
+0c35 0c39
+0c3e 0c40
+0c41 0c44
+0c46 0c48
+0c4a 0c4c
+0c55 0c56
+0c60 0c61
+0c82 0c83
+0c85 0c8c
+0c8e 0c90
+0c92 0ca8
+0caa 0cb3
+0cb5 0cb9
+0cbe
+0cbf
+0cc0 0cc4
+0cc6
+0cc7 0cc8
+0cca 0ccb
+0ccc
+0cd5 0cd6
+0cde
+0ce0 0ce1
+0d02 0d03
+0d05 0d0c
+0d0e 0d10
+0d12 0d28
+0d2a 0d39
+0d3e 0d40
+0d41 0d43
+0d46 0d48
+0d4a 0d4c
+0d57
+0d60 0d61
+0d82 0d83
+0d85 0d96
+0d9a 0db1
+0db3 0dbb
+0dbd
+0dc0 0dc6
+0dcf 0dd1
+0dd2 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df3
+0e01 0e30
+0e31
+0e32 0e33
+0e34 0e3a
+0e40 0e46
+0e4d
+0e81 0e82
+0e84
+0e87 0e88
+0e8a
+0e8d
+0e94 0e97
+0e99 0e9f
+0ea1 0ea3
+0ea5
+0ea7
+0eaa 0eab
+0ead 0eb0
+0eb1
+0eb2 0eb3
+0eb4 0eb9
+0ebb 0ebc
+0ebd
+0ec0 0ec4
+0ec6
+0ecd
+0edc 0edd
+0f00
+0f40 0f47
+0f49 0f6a
+0f71 0f7e
+0f7f
+0f80 0f81
+0f88 0f8b
+0f90 0f97
+0f99 0fbc
+1000 1021
+1023 1027
+1029 102a
+102c
+102d 1030
+1031
+1032
+1036
+1038
+1050 1055
+1056 1057
+1058 1059
+10a0 10c5
+10d0 10f6
+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
+1780 17b3
+17b4 17b6
+17b7 17bd
+17be 17c5
+17c6
+17c7 17c8
+1820 1877
+1880 18a8
+18a9
+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
+207f
+2102
+2107
+210a 2113
+2115
+2119 211d
+2124
+2126
+2128
+212a 212d
+212f 2131
+2133 2139
+2160 2183
+3005 3006
+3031 3035
+3041 3094
+309d 309e
+30a1 30fa
+30fc 30fe
+3105 312c
+3131 318e
+31a0 31b7
+3400 4db5
+4e00 9fa5
+a000 a48c
+ac00 d7a3
+f900 fa2d
+fb00 fb06
+fb13 fb17
+fb1d
+fb1e
+fb1f fb28
+fb2a fb36
+fb38 fb3c
+fb3e
+fb40 fb41
+fb43 fb44
+fb46 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+ff21 ff3a
+ff41 ff5a
+ff66 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+10300 1031e
+10330 10349
+1034a
+10400 10425
+10428 1044d
+1d400 1d454
+1d456 1d49c
+1d49e 1d49f
+1d4a2
+1d4a5 1d4a6
+1d4a9 1d4ac
+1d4ae 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 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/In/157.pl b/lib/unicore/In/157.pl
new file mode 100644
index 0000000000..901867cbae
--- /dev/null
+++ b/lib/unicore/In/157.pl
@@ -0,0 +1,416 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+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
+0223
+0225
+0227
+0229
+022b
+022d
+022f
+0231
+0233
+0250 02ad
+02b0 02b8
+02c0 02c1
+02e0 02e4
+0345
+037a
+0390
+03ac 03ce
+03d0 03d1
+03d5 03d7
+03db
+03dd
+03df
+03e1
+03e3
+03e5
+03e7
+03e9
+03eb
+03ed
+03ef 03f3
+03f5
+0430 045f
+0461
+0463
+0465
+0467
+0469
+046b
+046d
+046f
+0471
+0473
+0475
+0477
+0479
+047b
+047d
+047f
+0481
+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
+04c8
+04cc
+04d1
+04d3
+04d5
+04d7
+04d9
+04db
+04dd
+04df
+04e1
+04e3
+04e5
+04e7
+04e9
+04eb
+04ed
+04ef
+04f1
+04f3
+04f5
+04f9
+0561 0587
+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
+207f
+210a
+210e 210f
+2113
+212f
+2134
+2139
+2170 217f
+24d0 24e9
+fb00 fb06
+fb13 fb17
+ff41 ff5a
+10428 1044d
+1d41a 1d433
+1d44e 1d454
+1d456 1d467
+1d482 1d49b
+1d4b6 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 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/In/158.pl b/lib/unicore/In/158.pl
new file mode 100644
index 0000000000..d3609dbf88
--- /dev/null
+++ b/lib/unicore/In/158.pl
@@ -0,0 +1,410 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+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
+0222
+0224
+0226
+0228
+022a
+022c
+022e
+0230
+0232
+0386
+0388 038a
+038c
+038e 038f
+0391 03a1
+03a3 03ab
+03d2 03d4
+03da
+03dc
+03de
+03e0
+03e2
+03e4
+03e6
+03e8
+03ea
+03ec
+03ee
+03f4
+0400 042f
+0460
+0462
+0464
+0466
+0468
+046a
+046c
+046e
+0470
+0472
+0474
+0476
+0478
+047a
+047c
+047e
+0480
+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
+04c7
+04cb
+04d0
+04d2
+04d4
+04d6
+04d8
+04da
+04dc
+04de
+04e0
+04e2
+04e4
+04e6
+04e8
+04ea
+04ec
+04ee
+04f0
+04f2
+04f4
+04f8
+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
+2160 216f
+24b6 24cf
+ff21 ff3a
+10400 10425
+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/In/159.pl b/lib/unicore/In/159.pl
new file mode 100644
index 0000000000..4ef4844a8f
--- /dev/null
+++ b/lib/unicore/In/159.pl
@@ -0,0 +1,139 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0028
+0029
+002a
+002b
+002d
+002f
+003c 003e
+005b
+005c
+005d
+005e
+007b
+007c
+007d
+007e
+00ac
+00b1
+00d7
+00f7
+2016
+2032 2034
+2044
+207a 207c
+207d
+207e
+208a 208c
+208d
+208e
+20d0 20dc
+20e1
+2102
+210a 2113
+2115
+2119 211d
+2124
+2128
+212c 212d
+212f 2131
+2133 2134
+2135 2138
+2190 2194
+219a 219b
+21a0
+21a3
+21a6
+21ae
+21ce 21cf
+21d2
+21d4
+2200 22f1
+2308 230b
+2320 2321
+2329
+232a
+25b7
+25c1
+266f
+300a
+300b
+301a
+301b
+fb29
+fe35
+fe36
+fe37
+fe38
+fe59
+fe5a
+fe5b
+fe5c
+fe61
+fe62
+fe63
+fe64 fe66
+fe68
+ff08
+ff09
+ff0a
+ff0b
+ff0d
+ff0f
+ff1c ff1e
+ff3b
+ff3c
+ff3d
+ff3e
+ff5b
+ff5c
+ff5d
+ff5e
+ffe2
+ffe9 ffec
+1d400 1d454
+1d456 1d49c
+1d49e 1d49f
+1d4a2
+1d4a5 1d4a6
+1d4a9 1d4ac
+1d4ae 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 1d4c3
+1d4c5 1d505
+1d507 1d50a
+1d50d 1d514
+1d516 1d51c
+1d51e 1d539
+1d53b 1d53e
+1d540 1d544
+1d546
+1d54a 1d550
+1d552 1d6a3
+1d6a8 1d6c0
+1d6c1
+1d6c2 1d6da
+1d6db
+1d6dc 1d6fa
+1d6fb
+1d6fc 1d714
+1d715
+1d716 1d734
+1d735
+1d736 1d74e
+1d74f
+1d750 1d76e
+1d76f
+1d770 1d788
+1d789
+1d78a 1d7a8
+1d7a9
+1d7aa 1d7c2
+1d7c3
+1d7c4 1d7c9
+1d7ce 1d7ff
+END
diff --git a/lib/unicore/In/160.pl b/lib/unicore/In/160.pl
new file mode 100644
index 0000000000..217d939a31
--- /dev/null
+++ b/lib/unicore/In/160.pl
@@ -0,0 +1,822 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0041 005a
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00de
+00df 00f6
+00f8 00ff
+0100
+0101
+0102
+0103
+0104
+0105
+0106
+0107
+0108
+0109
+010a
+010b
+010c
+010d
+010e
+010f
+0110
+0111
+0112
+0113
+0114
+0115
+0116
+0117
+0118
+0119
+011a
+011b
+011c
+011d
+011e
+011f
+0120
+0121
+0122
+0123
+0124
+0125
+0126
+0127
+0128
+0129
+012a
+012b
+012c
+012d
+012e
+012f
+0130
+0131
+0132
+0133
+0134
+0135
+0136
+0137 0138
+0139
+013a
+013b
+013c
+013d
+013e
+013f
+0140
+0141
+0142
+0143
+0144
+0145
+0146
+0147
+0148 0149
+014a
+014b
+014c
+014d
+014e
+014f
+0150
+0151
+0152
+0153
+0154
+0155
+0156
+0157
+0158
+0159
+015a
+015b
+015c
+015d
+015e
+015f
+0160
+0161
+0162
+0163
+0164
+0165
+0166
+0167
+0168
+0169
+016a
+016b
+016c
+016d
+016e
+016f
+0170
+0171
+0172
+0173
+0174
+0175
+0176
+0177
+0178 0179
+017a
+017b
+017c
+017d
+017e 0180
+0181 0182
+0183
+0184
+0185
+0186 0187
+0188
+0189 018b
+018c 018d
+018e 0191
+0192
+0193 0194
+0195
+0196 0198
+0199 019b
+019c 019d
+019e
+019f 01a0
+01a1
+01a2
+01a3
+01a4
+01a5
+01a6 01a7
+01a8
+01a9
+01aa 01ab
+01ac
+01ad
+01ae 01af
+01b0
+01b1 01b3
+01b4
+01b5
+01b6
+01b7 01b8
+01b9 01ba
+01bc
+01bd 01bf
+01c4
+01c5
+01c6
+01c7
+01c8
+01c9
+01ca
+01cb
+01cc
+01cd
+01ce
+01cf
+01d0
+01d1
+01d2
+01d3
+01d4
+01d5
+01d6
+01d7
+01d8
+01d9
+01da
+01db
+01dc 01dd
+01de
+01df
+01e0
+01e1
+01e2
+01e3
+01e4
+01e5
+01e6
+01e7
+01e8
+01e9
+01ea
+01eb
+01ec
+01ed
+01ee
+01ef 01f0
+01f1
+01f2
+01f3
+01f4
+01f5
+01f6 01f8
+01f9
+01fa
+01fb
+01fc
+01fd
+01fe
+01ff
+0200
+0201
+0202
+0203
+0204
+0205
+0206
+0207
+0208
+0209
+020a
+020b
+020c
+020d
+020e
+020f
+0210
+0211
+0212
+0213
+0214
+0215
+0216
+0217
+0218
+0219
+021a
+021b
+021c
+021d
+021e
+021f
+0222
+0223
+0224
+0225
+0226
+0227
+0228
+0229
+022a
+022b
+022c
+022d
+022e
+022f
+0230
+0231
+0232
+0233
+0250 02ad
+0386
+0388 038a
+038c
+038e 038f
+0390
+0391 03a1
+03a3 03ab
+03ac 03ce
+03d0 03d1
+03d2 03d4
+03d5 03d7
+03da
+03db
+03dc
+03dd
+03de
+03df
+03e0
+03e1
+03e2
+03e3
+03e4
+03e5
+03e6
+03e7
+03e8
+03e9
+03ea
+03eb
+03ec
+03ed
+03ee
+03ef 03f3
+03f4
+03f5
+0400 042f
+0430 045f
+0460
+0461
+0462
+0463
+0464
+0465
+0466
+0467
+0468
+0469
+046a
+046b
+046c
+046d
+046e
+046f
+0470
+0471
+0472
+0473
+0474
+0475
+0476
+0477
+0478
+0479
+047a
+047b
+047c
+047d
+047e
+047f
+0480
+0481
+048c
+048d
+048e
+048f
+0490
+0491
+0492
+0493
+0494
+0495
+0496
+0497
+0498
+0499
+049a
+049b
+049c
+049d
+049e
+049f
+04a0
+04a1
+04a2
+04a3
+04a4
+04a5
+04a6
+04a7
+04a8
+04a9
+04aa
+04ab
+04ac
+04ad
+04ae
+04af
+04b0
+04b1
+04b2
+04b3
+04b4
+04b5
+04b6
+04b7
+04b8
+04b9
+04ba
+04bb
+04bc
+04bd
+04be
+04bf
+04c0 04c1
+04c2
+04c3
+04c4
+04c7
+04c8
+04cb
+04cc
+04d0
+04d1
+04d2
+04d3
+04d4
+04d5
+04d6
+04d7
+04d8
+04d9
+04da
+04db
+04dc
+04dd
+04de
+04df
+04e0
+04e1
+04e2
+04e3
+04e4
+04e5
+04e6
+04e7
+04e8
+04e9
+04ea
+04eb
+04ec
+04ed
+04ee
+04ef
+04f0
+04f1
+04f2
+04f3
+04f4
+04f5
+04f8
+04f9
+0531 0556
+0561 0587
+10a0 10c5
+1e00
+1e01
+1e02
+1e03
+1e04
+1e05
+1e06
+1e07
+1e08
+1e09
+1e0a
+1e0b
+1e0c
+1e0d
+1e0e
+1e0f
+1e10
+1e11
+1e12
+1e13
+1e14
+1e15
+1e16
+1e17
+1e18
+1e19
+1e1a
+1e1b
+1e1c
+1e1d
+1e1e
+1e1f
+1e20
+1e21
+1e22
+1e23
+1e24
+1e25
+1e26
+1e27
+1e28
+1e29
+1e2a
+1e2b
+1e2c
+1e2d
+1e2e
+1e2f
+1e30
+1e31
+1e32
+1e33
+1e34
+1e35
+1e36
+1e37
+1e38
+1e39
+1e3a
+1e3b
+1e3c
+1e3d
+1e3e
+1e3f
+1e40
+1e41
+1e42
+1e43
+1e44
+1e45
+1e46
+1e47
+1e48
+1e49
+1e4a
+1e4b
+1e4c
+1e4d
+1e4e
+1e4f
+1e50
+1e51
+1e52
+1e53
+1e54
+1e55
+1e56
+1e57
+1e58
+1e59
+1e5a
+1e5b
+1e5c
+1e5d
+1e5e
+1e5f
+1e60
+1e61
+1e62
+1e63
+1e64
+1e65
+1e66
+1e67
+1e68
+1e69
+1e6a
+1e6b
+1e6c
+1e6d
+1e6e
+1e6f
+1e70
+1e71
+1e72
+1e73
+1e74
+1e75
+1e76
+1e77
+1e78
+1e79
+1e7a
+1e7b
+1e7c
+1e7d
+1e7e
+1e7f
+1e80
+1e81
+1e82
+1e83
+1e84
+1e85
+1e86
+1e87
+1e88
+1e89
+1e8a
+1e8b
+1e8c
+1e8d
+1e8e
+1e8f
+1e90
+1e91
+1e92
+1e93
+1e94
+1e95 1e9b
+1ea0
+1ea1
+1ea2
+1ea3
+1ea4
+1ea5
+1ea6
+1ea7
+1ea8
+1ea9
+1eaa
+1eab
+1eac
+1ead
+1eae
+1eaf
+1eb0
+1eb1
+1eb2
+1eb3
+1eb4
+1eb5
+1eb6
+1eb7
+1eb8
+1eb9
+1eba
+1ebb
+1ebc
+1ebd
+1ebe
+1ebf
+1ec0
+1ec1
+1ec2
+1ec3
+1ec4
+1ec5
+1ec6
+1ec7
+1ec8
+1ec9
+1eca
+1ecb
+1ecc
+1ecd
+1ece
+1ecf
+1ed0
+1ed1
+1ed2
+1ed3
+1ed4
+1ed5
+1ed6
+1ed7
+1ed8
+1ed9
+1eda
+1edb
+1edc
+1edd
+1ede
+1edf
+1ee0
+1ee1
+1ee2
+1ee3
+1ee4
+1ee5
+1ee6
+1ee7
+1ee8
+1ee9
+1eea
+1eeb
+1eec
+1eed
+1eee
+1eef
+1ef0
+1ef1
+1ef2
+1ef3
+1ef4
+1ef5
+1ef6
+1ef7
+1ef8
+1ef9
+1f00 1f07
+1f08 1f0f
+1f10 1f15
+1f18 1f1d
+1f20 1f27
+1f28 1f2f
+1f30 1f37
+1f38 1f3f
+1f40 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f
+1f60 1f67
+1f68 1f6f
+1f70 1f7d
+1f80 1f87
+1f88 1f8f
+1f90 1f97
+1f98 1f9f
+1fa0 1fa7
+1fa8 1faf
+1fb0 1fb4
+1fb6 1fb7
+1fb8 1fbb
+1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fc7
+1fc8 1fcb
+1fcc
+1fd0 1fd3
+1fd6 1fd7
+1fd8 1fdb
+1fe0 1fe7
+1fe8 1fec
+1ff2 1ff4
+1ff6 1ff7
+1ff8 1ffb
+1ffc
+207f
+2102
+2107
+210a
+210b 210d
+210e 210f
+2110 2112
+2113
+2115
+2119 211d
+2124
+2126
+2128
+212a 212d
+212f
+2130 2131
+2133
+2134
+2139
+fb00 fb06
+fb13 fb17
+ff21 ff3a
+ff41 ff5a
+10400 10425
+10428 1044d
+1d400 1d419
+1d41a 1d433
+1d434 1d44d
+1d44e 1d454
+1d456 1d467
+1d468 1d481
+1d482 1d49b
+1d49c
+1d49e 1d49f
+1d4a2
+1d4a5 1d4a6
+1d4a9 1d4ac
+1d4ae 1d4b5
+1d4b6 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 1d4c3
+1d4c5 1d4cf
+1d4d0 1d4e9
+1d4ea 1d503
+1d504 1d505
+1d507 1d50a
+1d50d 1d514
+1d516 1d51c
+1d51e 1d537
+1d538 1d539
+1d53b 1d53e
+1d540 1d544
+1d546
+1d54a 1d550
+1d552 1d56b
+1d56c 1d585
+1d586 1d59f
+1d5a0 1d5b9
+1d5ba 1d5d3
+1d5d4 1d5ed
+1d5ee 1d607
+1d608 1d621
+1d622 1d63b
+1d63c 1d655
+1d656 1d66f
+1d670 1d689
+1d68a 1d6a3
+1d6a8 1d6c0
+1d6c2 1d6da
+1d6dc 1d6e1
+1d6e2 1d6fa
+1d6fc 1d714
+1d716 1d71b
+1d71c 1d734
+1d736 1d74e
+1d750 1d755
+1d756 1d76e
+1d770 1d788
+1d78a 1d78f
+1d790 1d7a8
+1d7aa 1d7c2
+1d7c4 1d7c9
+END
diff --git a/lib/unicore/In/161.pl b/lib/unicore/In/161.pl
new file mode 100644
index 0000000000..44c00e998f
--- /dev/null
+++ b/lib/unicore/In/161.pl
@@ -0,0 +1,1036 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0041 005a
+0061 007a
+00aa
+00b5
+00ba
+00c0 00d6
+00d8 00de
+00df 00f6
+00f8 00ff
+0100
+0101
+0102
+0103
+0104
+0105
+0106
+0107
+0108
+0109
+010a
+010b
+010c
+010d
+010e
+010f
+0110
+0111
+0112
+0113
+0114
+0115
+0116
+0117
+0118
+0119
+011a
+011b
+011c
+011d
+011e
+011f
+0120
+0121
+0122
+0123
+0124
+0125
+0126
+0127
+0128
+0129
+012a
+012b
+012c
+012d
+012e
+012f
+0130
+0131
+0132
+0133
+0134
+0135
+0136
+0137 0138
+0139
+013a
+013b
+013c
+013d
+013e
+013f
+0140
+0141
+0142
+0143
+0144
+0145
+0146
+0147
+0148 0149
+014a
+014b
+014c
+014d
+014e
+014f
+0150
+0151
+0152
+0153
+0154
+0155
+0156
+0157
+0158
+0159
+015a
+015b
+015c
+015d
+015e
+015f
+0160
+0161
+0162
+0163
+0164
+0165
+0166
+0167
+0168
+0169
+016a
+016b
+016c
+016d
+016e
+016f
+0170
+0171
+0172
+0173
+0174
+0175
+0176
+0177
+0178 0179
+017a
+017b
+017c
+017d
+017e 0180
+0181 0182
+0183
+0184
+0185
+0186 0187
+0188
+0189 018b
+018c 018d
+018e 0191
+0192
+0193 0194
+0195
+0196 0198
+0199 019b
+019c 019d
+019e
+019f 01a0
+01a1
+01a2
+01a3
+01a4
+01a5
+01a6 01a7
+01a8
+01a9
+01aa 01ab
+01ac
+01ad
+01ae 01af
+01b0
+01b1 01b3
+01b4
+01b5
+01b6
+01b7 01b8
+01b9 01ba
+01bb
+01bc
+01bd 01bf
+01c0 01c3
+01c4
+01c5
+01c6
+01c7
+01c8
+01c9
+01ca
+01cb
+01cc
+01cd
+01ce
+01cf
+01d0
+01d1
+01d2
+01d3
+01d4
+01d5
+01d6
+01d7
+01d8
+01d9
+01da
+01db
+01dc 01dd
+01de
+01df
+01e0
+01e1
+01e2
+01e3
+01e4
+01e5
+01e6
+01e7
+01e8
+01e9
+01ea
+01eb
+01ec
+01ed
+01ee
+01ef 01f0
+01f1
+01f2
+01f3
+01f4
+01f5
+01f6 01f8
+01f9
+01fa
+01fb
+01fc
+01fd
+01fe
+01ff
+0200
+0201
+0202
+0203
+0204
+0205
+0206
+0207
+0208
+0209
+020a
+020b
+020c
+020d
+020e
+020f
+0210
+0211
+0212
+0213
+0214
+0215
+0216
+0217
+0218
+0219
+021a
+021b
+021c
+021d
+021e
+021f
+0222
+0223
+0224
+0225
+0226
+0227
+0228
+0229
+022a
+022b
+022c
+022d
+022e
+022f
+0230
+0231
+0232
+0233
+0250 02ad
+02b0 02b8
+02bb 02c1
+02d0 02d1
+02e0 02e4
+02ee
+037a
+0386
+0388 038a
+038c
+038e 038f
+0390
+0391 03a1
+03a3 03ab
+03ac 03ce
+03d0 03d1
+03d2 03d4
+03d5 03d7
+03da
+03db
+03dc
+03dd
+03de
+03df
+03e0
+03e1
+03e2
+03e3
+03e4
+03e5
+03e6
+03e7
+03e8
+03e9
+03ea
+03eb
+03ec
+03ed
+03ee
+03ef 03f3
+03f4
+03f5
+0400 042f
+0430 045f
+0460
+0461
+0462
+0463
+0464
+0465
+0466
+0467
+0468
+0469
+046a
+046b
+046c
+046d
+046e
+046f
+0470
+0471
+0472
+0473
+0474
+0475
+0476
+0477
+0478
+0479
+047a
+047b
+047c
+047d
+047e
+047f
+0480
+0481
+048c
+048d
+048e
+048f
+0490
+0491
+0492
+0493
+0494
+0495
+0496
+0497
+0498
+0499
+049a
+049b
+049c
+049d
+049e
+049f
+04a0
+04a1
+04a2
+04a3
+04a4
+04a5
+04a6
+04a7
+04a8
+04a9
+04aa
+04ab
+04ac
+04ad
+04ae
+04af
+04b0
+04b1
+04b2
+04b3
+04b4
+04b5
+04b6
+04b7
+04b8
+04b9
+04ba
+04bb
+04bc
+04bd
+04be
+04bf
+04c0 04c1
+04c2
+04c3
+04c4
+04c7
+04c8
+04cb
+04cc
+04d0
+04d1
+04d2
+04d3
+04d4
+04d5
+04d6
+04d7
+04d8
+04d9
+04da
+04db
+04dc
+04dd
+04de
+04df
+04e0
+04e1
+04e2
+04e3
+04e4
+04e5
+04e6
+04e7
+04e8
+04e9
+04ea
+04eb
+04ec
+04ed
+04ee
+04ef
+04f0
+04f1
+04f2
+04f3
+04f4
+04f5
+04f8
+04f9
+0531 0556
+0559
+0561 0587
+05d0 05ea
+05f0 05f2
+0621 063a
+0640
+0641 064a
+0671 06d3
+06d5
+06e5 06e6
+06fa 06fc
+0710
+0712 072c
+0780 07a5
+0905 0939
+093d
+0950
+0958 0961
+0985 098c
+098f 0990
+0993 09a8
+09aa 09b0
+09b2
+09b6 09b9
+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 0a8b
+0a8d
+0a8f 0a91
+0a93 0aa8
+0aaa 0ab0
+0ab2 0ab3
+0ab5 0ab9
+0abd
+0ad0
+0ae0
+0b05 0b0c
+0b0f 0b10
+0b13 0b28
+0b2a 0b30
+0b32 0b33
+0b36 0b39
+0b3d
+0b5c 0b5d
+0b5f 0b61
+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
+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
+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 10f6
+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
+1780 17b3
+1820 1842
+1843
+1844 1877
+1880 18a8
+1e00
+1e01
+1e02
+1e03
+1e04
+1e05
+1e06
+1e07
+1e08
+1e09
+1e0a
+1e0b
+1e0c
+1e0d
+1e0e
+1e0f
+1e10
+1e11
+1e12
+1e13
+1e14
+1e15
+1e16
+1e17
+1e18
+1e19
+1e1a
+1e1b
+1e1c
+1e1d
+1e1e
+1e1f
+1e20
+1e21
+1e22
+1e23
+1e24
+1e25
+1e26
+1e27
+1e28
+1e29
+1e2a
+1e2b
+1e2c
+1e2d
+1e2e
+1e2f
+1e30
+1e31
+1e32
+1e33
+1e34
+1e35
+1e36
+1e37
+1e38
+1e39
+1e3a
+1e3b
+1e3c
+1e3d
+1e3e
+1e3f
+1e40
+1e41
+1e42
+1e43
+1e44
+1e45
+1e46
+1e47
+1e48
+1e49
+1e4a
+1e4b
+1e4c
+1e4d
+1e4e
+1e4f
+1e50
+1e51
+1e52
+1e53
+1e54
+1e55
+1e56
+1e57
+1e58
+1e59
+1e5a
+1e5b
+1e5c
+1e5d
+1e5e
+1e5f
+1e60
+1e61
+1e62
+1e63
+1e64
+1e65
+1e66
+1e67
+1e68
+1e69
+1e6a
+1e6b
+1e6c
+1e6d
+1e6e
+1e6f
+1e70
+1e71
+1e72
+1e73
+1e74
+1e75
+1e76
+1e77
+1e78
+1e79
+1e7a
+1e7b
+1e7c
+1e7d
+1e7e
+1e7f
+1e80
+1e81
+1e82
+1e83
+1e84
+1e85
+1e86
+1e87
+1e88
+1e89
+1e8a
+1e8b
+1e8c
+1e8d
+1e8e
+1e8f
+1e90
+1e91
+1e92
+1e93
+1e94
+1e95 1e9b
+1ea0
+1ea1
+1ea2
+1ea3
+1ea4
+1ea5
+1ea6
+1ea7
+1ea8
+1ea9
+1eaa
+1eab
+1eac
+1ead
+1eae
+1eaf
+1eb0
+1eb1
+1eb2
+1eb3
+1eb4
+1eb5
+1eb6
+1eb7
+1eb8
+1eb9
+1eba
+1ebb
+1ebc
+1ebd
+1ebe
+1ebf
+1ec0
+1ec1
+1ec2
+1ec3
+1ec4
+1ec5
+1ec6
+1ec7
+1ec8
+1ec9
+1eca
+1ecb
+1ecc
+1ecd
+1ece
+1ecf
+1ed0
+1ed1
+1ed2
+1ed3
+1ed4
+1ed5
+1ed6
+1ed7
+1ed8
+1ed9
+1eda
+1edb
+1edc
+1edd
+1ede
+1edf
+1ee0
+1ee1
+1ee2
+1ee3
+1ee4
+1ee5
+1ee6
+1ee7
+1ee8
+1ee9
+1eea
+1eeb
+1eec
+1eed
+1eee
+1eef
+1ef0
+1ef1
+1ef2
+1ef3
+1ef4
+1ef5
+1ef6
+1ef7
+1ef8
+1ef9
+1f00 1f07
+1f08 1f0f
+1f10 1f15
+1f18 1f1d
+1f20 1f27
+1f28 1f2f
+1f30 1f37
+1f38 1f3f
+1f40 1f45
+1f48 1f4d
+1f50 1f57
+1f59
+1f5b
+1f5d
+1f5f
+1f60 1f67
+1f68 1f6f
+1f70 1f7d
+1f80 1f87
+1f88 1f8f
+1f90 1f97
+1f98 1f9f
+1fa0 1fa7
+1fa8 1faf
+1fb0 1fb4
+1fb6 1fb7
+1fb8 1fbb
+1fbc
+1fbe
+1fc2 1fc4
+1fc6 1fc7
+1fc8 1fcb
+1fcc
+1fd0 1fd3
+1fd6 1fd7
+1fd8 1fdb
+1fe0 1fe7
+1fe8 1fec
+1ff2 1ff4
+1ff6 1ff7
+1ff8 1ffb
+1ffc
+207f
+2102
+2107
+210a
+210b 210d
+210e 210f
+2110 2112
+2113
+2115
+2119 211d
+2124
+2126
+2128
+212a 212d
+212f
+2130 2131
+2133
+2134
+2135 2138
+2139
+2160 2183
+3005
+3006
+3007
+3021 3029
+3031 3035
+3038 303a
+3041 3094
+309d 309e
+30a1 30fa
+30fc 30fe
+3105 312c
+3131 318e
+31a0 31b7
+3400 4db5
+4e00 9fa5
+a000 a48c
+ac00 d7a3
+f900 fa2d
+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 fe72
+fe74
+fe76 fefc
+ff21 ff3a
+ff41 ff5a
+ff66 ff6f
+ff70
+ff71 ff9d
+ff9e ff9f
+ffa0 ffbe
+ffc2 ffc7
+ffca ffcf
+ffd2 ffd7
+ffda ffdc
+10300 1031e
+10330 10349
+1034a
+10400 10425
+10428 1044d
+1d400 1d419
+1d41a 1d433
+1d434 1d44d
+1d44e 1d454
+1d456 1d467
+1d468 1d481
+1d482 1d49b
+1d49c
+1d49e 1d49f
+1d4a2
+1d4a5 1d4a6
+1d4a9 1d4ac
+1d4ae 1d4b5
+1d4b6 1d4b9
+1d4bb
+1d4bd 1d4c0
+1d4c2 1d4c3
+1d4c5 1d4cf
+1d4d0 1d4e9
+1d4ea 1d503
+1d504 1d505
+1d507 1d50a
+1d50d 1d514
+1d516 1d51c
+1d51e 1d537
+1d538 1d539
+1d53b 1d53e
+1d540 1d544
+1d546
+1d54a 1d550
+1d552 1d56b
+1d56c 1d585
+1d586 1d59f
+1d5a0 1d5b9
+1d5ba 1d5d3
+1d5d4 1d5ed
+1d5ee 1d607
+1d608 1d621
+1d622 1d63b
+1d63c 1d655
+1d656 1d66f
+1d670 1d689
+1d68a 1d6a3
+1d6a8 1d6c0
+1d6c2 1d6da
+1d6dc 1d6e1
+1d6e2 1d6fa
+1d6fc 1d714
+1d716 1d71b
+1d71c 1d734
+1d736 1d74e
+1d750 1d755
+1d756 1d76e
+1d770 1d788
+1d78a 1d78f
+1d790 1d7a8
+1d7aa 1d7c2
+1d7c4 1d7c9
+20000 2a6d6
+2f800 2fa1d
+END
diff --git a/lib/unicore/In/162.pl b/lib/unicore/In/162.pl
new file mode 100644
index 0000000000..c1d472c8aa
--- /dev/null
+++ b/lib/unicore/In/162.pl
@@ -0,0 +1,183 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<END;
+0030 0039
+005f
+0300 034e
+0360 0362
+0483 0486
+0591 05a1
+05a3 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0655
+0660 0669
+0670
+06d6 06dc
+06df 06e4
+06e7 06e8
+06ea 06ed
+06f0 06f9
+0711
+0730 074a
+07a6 07b0
+0901 0902
+0903
+093c
+093e 0940
+0941 0948
+0949 094c
+094d
+0951 0954
+0962 0963
+0966 096f
+0981
+0982 0983
+09bc
+09be 09c0
+09c1 09c4
+09c7 09c8
+09cb 09cc
+09cd
+09d7
+09e2 09e3
+09e6 09ef
+0a02
+0a3c
+0a3e 0a40
+0a41 0a42
+0a47 0a48
+0a4b 0a4d
+0a66 0a6f
+0a70 0a71
+0a81 0a82
+0a83
+0abc
+0abe 0ac0
+0ac1 0ac5
+0ac7 0ac8
+0ac9
+0acb 0acc
+0acd
+0ae6 0aef
+0b01
+0b02 0b03
+0b3c
+0b3e
+0b3f
+0b40
+0b41 0b43
+0b47 0b48
+0b4b 0b4c
+0b4d
+0b56
+0b57
+0b66 0b6f
+0b82
+0b83
+0bbe 0bbf
+0bc0
+0bc1 0bc2
+0bc6 0bc8
+0bca 0bcc
+0bcd
+0bd7
+0be7 0bef
+0c01 0c03
+0c3e 0c40
+0c41 0c44
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+0c66 0c6f
+0c82 0c83
+0cbe
+0cbf
+0cc0 0cc4
+0cc6
+0cc7 0cc8
+0cca 0ccb
+0ccc 0ccd
+0cd5 0cd6
+0ce6 0cef
+0d02 0d03
+0d3e 0d40
+0d41 0d43
+0d46 0d48
+0d4a 0d4c
+0d4d
+0d57
+0d66 0d6f
+0d82 0d83
+0dca
+0dcf 0dd1
+0dd2 0dd4
+0dd6
+0dd8 0ddf
+0df2 0df3
+0e31
+0e34 0e3a
+0e47 0e4e
+0e50 0e59
+0eb1
+0eb4 0eb9
+0ebb 0ebc
+0ec8 0ecd
+0ed0 0ed9
+0f18 0f19
+0f20 0f29
+0f35
+0f37
+0f39
+0f3e 0f3f
+0f71 0f7e
+0f7f
+0f80 0f84
+0f86 0f87
+0f90 0f97
+0f99 0fbc
+0fc6
+102c
+102d 1030
+1031
+1032
+1036 1037
+1038
+1039
+1040 1049
+1056 1057
+1058 1059
+1369 1371
+17b4 17b6
+17b7 17bd
+17be 17c5
+17c6
+17c7 17c8
+17c9 17d3
+17e0 17e9
+1810 1819
+18a9
+203f 2040
+20d0 20dc
+20e1
+302a 302f
+3099 309a
+30fb
+fb1e
+fe20 fe23
+fe33 fe34
+fe4d fe4f
+ff10 ff19
+ff3f
+ff65
+1d165 1d166
+1d167 1d169
+1d16d 1d172
+1d17b 1d182
+1d185 1d18b
+1d1aa 1d1ad
+1d7ce 1d7ff
+END
diff --git a/lib/unicore/mktables.PL b/lib/unicore/mktables.PL
index a63fbf09de..500e49ff58 100755
--- a/lib/unicore/mktables.PL
+++ b/lib/unicore/mktables.PL
@@ -6,6 +6,7 @@ $UnicodeData = "Unicode.txt";
$SyllableData = "syllables.txt";
$PropData = "PropList.txt";
+my $UnicodeLastHex = '10FFFF';
# Note: we try to keep filenames unique within first 8 chars. Using
# subdirectories for the following helps.
@@ -373,6 +374,23 @@ END2
print OUT "END\n";
close OUT;
+#
+# \p{Common} is any code point not assigned to a script
+#
+
+my $first;
+
+sub flushzerorange {
+ my ($scriptname, $scriptid, $i) = @_;
+ if (defined $first) {
+ my $last = $i - 1;
+ $last = $last == $first ? "" : sprintf("%04x", $last);
+ printf SCRIPT "%04x\t$last\t$scriptname\t# In/$scriptid.pl\n", $first;
+ printf "\t\t%04x..$last\n", $first;
+ undef $first;
+ }
+}
+
print "\tCommon\n";
my $CommonId = $Scripts{Common} = $InIdScript{Common} = $InId++;
open(SCRIPT, ">In/$CommonId.pl") or die "create In/$CommonId.pl: $!\n";
@@ -382,28 +400,269 @@ print SCRIPT <<EOH;
# Any changes made here will be lost!
return <<'END';
EOH
-my $first;
-sub flushzerorange {
- my $i = shift;
- if (defined $first) {
- my $last = $i - 1;
- $last = $last == $first ? "" : sprintf("%04X", $last);
- printf SCRIPT "%04X\t$last\tCommon\t# In/$CommonId.pl\n", $first;
- printf "\t\t%04X..$last\n", $first;
- undef $first;
- }
-}
+
+undef $first;
for my $i (0..$lastlast) {
if (vec($ScriptsVec, $i, 1)) {
- defined $first && flushzerorange($i);
+ defined $first && flushzerorange('Common', $CommonId, $i);
} else {
$first = $i unless defined $first;
}
}
-flushzerorange($lastlast+1);
+flushzerorange('Common', $CommonId, $lastlast+1);
print SCRIPT "END\n";
close(SCRIPT);
+#
+# \p{Any} is 0..10FFFF (in Unicode 3.1.1)
+#
+
+print "\tAny\n";
+my $AnyId = $Scripts{Any} = $InIdScript{Any} = $InId++;
+open(SCRIPT, ">In/$AnyId.pl") or die "create In/$AnyId.pl: $!\n";
+print SCRIPT <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+0000 $UnicodeLastHex
+END
+EOH
+
+my $CnVec = '';
+
+open(UD, 'PropList.txt') or die "Can't open PropList.txt: $!\n";
+
+my $InIdProp;
+while (<UD>) {
+ next if /^#/;
+ next if /^$/;
+ chomp;
+ ($code, $last, $name) = /^([0-9a-f]+)(?:\.\.([0-9a-f]+))?\s+; (\w+)\s/i;
+ $last = "" unless defined $last;
+ if ($name) {
+ my $InName = $name;
+ my $id;
+ unless (exists $InIdScript{$InName}) {
+ print "\t$InName\n";
+ print PROP <<EOH if defined $InIdProp;
+END
+EOH
+ $id = $InIdProp = $InIdScript{$InName} = $InId++;
+ open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+ print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+ }
+ $id = $InIdScript{$InName};
+ print PROP "\L$code\t\L$last\n";
+ if ($InName eq 'Cn') {
+ my $firsti = hex($code);
+ my $lasti = $last ? hex($last) : $firsti;
+ for my $I ($firsti..$hexi) {
+ vec($CnVec, $i, 1) = 1;
+ }
+ }
+ }
+}
+print PROP <<EOH;
+END
+EOH
+
+print "\tAssigned\n";
+my $AssignedId = $Scripts{Assigned} = $InIdScript{Assigned} = $InId++;
+open(SCRIPT, ">In/$AssignedId.pl") or die "create In/$AssignedId.pl: $!\n";
+print SCRIPT <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<'END';
+EOH
+
+undef $first;
+for my $i (0..hex($UnicodeLastHex)) {
+ if (vec($CnVec, $i, 1)) {
+ defined $first && flushzerorange('Assigned', $AssignedId, $i);
+ } else {
+ $first = $i unless defined $first;
+ }
+}
+flushzerorange('Common', $CommonId, hex($UnicodeLastHex)+1);
+print SCRIPT "END\n";
+close(SCRIPT);
+
+#
+# \p{Alphabetic} is \pL and \p{Other_Alphabetic}
+#
+
+print "\tAlphabetic\n";
+my @Alphabetic;
+push @Alphabetic, split(/\n/, do "Is/L.pl");
+push @Alphabetic, split(/\n/, do "In/$InIdScript{Other_Alphabetic}.pl");
+$id = $InIdScript{Alphabetic} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @Alphabetic) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{Lowercase} is \p{Ll} and \p{Other_Lowercase}
+#
+
+print "\tLowercase\n";
+my @Lowercase;
+push @Lowercase, split(/\n/, do "Is/Ll.pl");
+push @Lowercase, split(/\n/, do "In/$InIdScript{Other_Lowercase}.pl");
+$id = $InIdScript{Lowercase} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @Lowercase) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{Uppercase} is \p{Lu} and \p{Other_Uppercase}
+#
+
+print "\tUppercase\n";
+my @Uppercase;
+push @Uppercase, split(/\n/, do "Is/Lu.pl");
+push @Uppercase, split(/\n/, do "In/$InIdScript{Other_Uppercase}.pl");
+$id = $InIdScript{Uppercase} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @Uppercase) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{Math} is \p{Sm} and \p{Other_Math}
+#
+
+print "\tMath\n";
+my @Math;
+push @Math, split(/\n/, do "Is/Sm.pl");
+push @Math, split(/\n/, do "In/$InIdScript{Other_Math}.pl");
+$id = $InIdScript{Math} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @Math) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{L&} is \p{Ll}, \p{Lu} and \p{Lt}
+#
+
+print "\tLampersand\n";
+my @Lampersand;
+push @Lampersand, split(/\n/, do "Is/Ll.pl");
+push @Lampersand, split(/\n/, do "Is/Lu.pl");
+push @Lampersand, split(/\n/, do "Is/Lt.pl");
+$id = $InIdScript{Lampersand} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @Lampersand) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{ID_Start} is \p{Ll}, \p{Lu}, \p{Lt}, \p{Lm}, \p{Lo}, and \p{Nl}
+#
+
+print "\tID_Start\n";
+my @ID_Start;
+push @ID_Start, split(/\n/, do "Is/Ll.pl");
+push @ID_Start, split(/\n/, do "Is/Lu.pl");
+push @ID_Start, split(/\n/, do "Is/Lt.pl");
+push @ID_Start, split(/\n/, do "Is/Lm.pl");
+push @ID_Start, split(/\n/, do "Is/Lo.pl");
+push @ID_Start, split(/\n/, do "Is/Nl.pl");
+$id = $InIdScript{ID_Start} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @ID_Start) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
+#
+# \p{ID_Continue} is \p{ID_Start}, \p{Mn}, \p{Mc}, \p{Nd}, and \p{Pc}
+#
+
+print "\tID_Continue\n";
+my @ID_Continue;
+push @ID_Continue, split(/\n/, do "In/$InIdScript{ID_Start}.pl");
+push @ID_Continue, split(/\n/, do "Is/Mn.pl");
+push @ID_Continue, split(/\n/, do "Is/Mc.pl");
+push @ID_Continue, split(/\n/, do "Is/Nd.pl");
+push @ID_Continue, split(/\n/, do "Is/Pc.pl");
+$id = $InIdScript{ID_Continue} = $InId++;
+open(PROP, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+print PROP <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<END;
+EOH
+for (sort { hex($a) <=> hex($b) } @ID_Continue) {
+ print PROP "$_\n";
+}
+print PROP <<EOH;
+END
+EOH
+
open(INID, ">In.pl");
print INID <<EOH;
diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl
index 3efd421b55..f73b9eb88f 100644
--- a/lib/utf8_heavy.pl
+++ b/lib/utf8_heavy.pl
@@ -26,6 +26,8 @@ sub SWASHNEW {
$type =~ s/^In(?:[-_]|\s+)?(?!herited$)//i;
$type =~ s/\s+$//;
+ $type = 'Lampersand' if $type =~ /^(?:Is)?L&$/;
+
my $inprefix = substr(lc($type), 0, 3);
if (exists $utf8::InPat{$inprefix}) {
my $In = $type;
@@ -43,9 +45,8 @@ sub SWASHNEW {
unless (defined $file) {
# This is separate from 'To' in preparation of Is.pl (a la In.pl).
- if ($type =~ /^Is([A-Z][A-Za-z]*|L&)$/ || $type =~ /^(L&)$/ ) {
- my $cat = $1 eq 'L&' ? 'L' : $1;
- $file = "unicore/Is/$cat";
+ if ($type =~ /^Is([A-Z][A-Za-z]*)$/) {
+ $file = "unicore/Is/$1";
} elsif ((not defined $file) && $type =~ /^To([A-Z][A-Za-z]*)$/) {
$file = "unicore/To/$1";
}
diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 2a086f91c5..b903593ff2 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -73,12 +73,9 @@ C<\p{IsPs}>.
=item *
-Allow for the metaproperties C<Any> and C<Assigned>;
-C<Alphabetic>, C<Ideographic>, C<Lowercase>, C<Uppercase> (note that
-these are larger classes than the general categories C<Lu> and C<Ll>),
-C<White Space>, C<Bidi Control>, C<Join Control>, C<ASCII Hex Digit>,
-C<Hex Digit>, <Noncharacter Code Point>, C<ID Start>, C<ID Continue>,
-C<XID Start>, C<XID Continue>, C<NF*_NO>, C<NF*_MAYBE>.
+Allow for the metaproperties: C<XID Start>, C<XID Continue>,
+C<NF*_NO>, C<NF*_MAYBE> (require the DerivedCoreProperties and
+DerviceNormalizationProperties files).
There are also enumerated properties: C<Decomposition Type>,
C<Numeric Type>, C<East Asian Width>, C<Line Break>. These
diff --git a/pod/perlunicode.pod b/pod/perlunicode.pod
index 43ab5cb9be..641d99991d 100644
--- a/pod/perlunicode.pod
+++ b/pod/perlunicode.pod
@@ -191,118 +191,154 @@ The C<In> and C<Is> can be left out: C<\p{Greek}> is equal to
C<\p{InGreek}>, C<\P{Pd}> is equal to C<\P{Pd}>.
Here is the list as of Unicode 3.1.1 (the two-letter classes) and as
-defined by Perl (the one-letter classes) (what Perl calls C<L> is
-often in Unicode materials called C<L&>):
-
- L Letter
- Lu Letter, Uppercase
- Ll Letter, Lowercase
- Lt Letter, Titlecase
- Lm Letter, Modifier
- Lo Letter, Other
- M Mark
- Mn Mark, Non-Spacing
- Mc Mark, Spacing Combining
- Me Mark, Enclosing
- N Number
- Nd Number, Decimal Digit
- Nl Number, Letter
- No Number, Other
- P Punctuation
- Pc Punctuation, Connector
- Pd Punctuation, Dash
- Ps Punctuation, Open
- Pe Punctuation, Close
- Pi Punctuation, Initial quote
- (may behave like Ps or Pe depending on usage)
- Pf Punctuation, Final quote
- (may behave like Ps or Pe depending on usage)
- Po Punctuation, Other
- S Symbol
- Sm Symbol, Math
- Sc Symbol, Currency
- Sk Symbol, Modifier
- So Symbol, Other
- Z Separator
- Zs Separator, Space
- Zl Separator, Line
- Zp Separator, Paragraph
- C Other
- Cc Other, Control
- Cf Other, Format
- Cs Other, Surrogate
- Co Other, Private Use
- Cn Other, Not Assigned (Unicode defines no Cn characters)
+defined by Perl (the one-letter classes).
+
+ L Letter
+ Lu Letter, Uppercase
+ Ll Letter, Lowercase
+ Lt Letter, Titlecase
+ Lm Letter, Modifier
+ Lo Letter, Other
+ M Mark
+ Mn Mark, Non-Spacing
+ Mc Mark, Spacing Combining
+ Me Mark, Enclosing
+ N Number
+ Nd Number, Decimal Digit
+ Nl Number, Letter
+ No Number, Other
+ P Punctuation
+ Pc Punctuation, Connector
+ Pd Punctuation, Dash
+ Ps Punctuation, Open
+ Pe Punctuation, Close
+ Pi Punctuation, Initial quote
+ (may behave like Ps or Pe depending on usage)
+ Pf Punctuation, Final quote
+ (may behave like Ps or Pe depending on usage)
+ Po Punctuation, Other
+ S Symbol
+ Sm Symbol, Math
+ Sc Symbol, Currency
+ Sk Symbol, Modifier
+ So Symbol, Other
+ Z Separator
+ Zs Separator, Space
+ Zl Separator, Line
+ Zp Separator, Paragraph
+ C Other
+ Cc Other, Control
+ Cf Other, Format
+ Cs Other, Surrogate
+ Co Other, Private Use
+ Cn Other, Not Assigned
+
+There's also C<L&> which is an alias for C<Ll>, C<Lu>, and C<Lt>.
Additionally, because scripts differ in their directionality
(for example Hebrew is written right to left), all characters
have their directionality defined:
- 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
+ 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
=head2 Scripts
The scripts available for C<\p{In...}> and C<\P{In...}>, for example
\p{InCyrillic>, are as follows, for example C<\p{InLatin}> or C<\P{InHan}>:
- Latin
- Greek
- Cyrillic
- Armenian
- Hebrew
- Arabic
- Syriac
- Thaana
- Devanagari
- Bengali
- Gurmukhi
- Gujarati
- Oriya
- Tamil
- Telugu
- Kannada
- Malayalam
- Sinhala
- Thai
- Lao
- Tibetan
- Myanmar
- Georgian
- Hangul
- Ethiopic
- Cherokee
- CanadianAboriginal
- Ogham
- Runic
- Khmer
- Mongolian
- Hiragana
- Katakana
- Bopomofo
- Han
- Yi
- OldItalic
- Gothic
- Deseret
- Inherited
+ Latin
+ Greek
+ Cyrillic
+ Armenian
+ Hebrew
+ Arabic
+ Syriac
+ Thaana
+ Devanagari
+ Bengali
+ Gurmukhi
+ Gujarati
+ Oriya
+ Tamil
+ Telugu
+ Kannada
+ Malayalam
+ Sinhala
+ Thai
+ Lao
+ Tibetan
+ Myanmar
+ Georgian
+ Hangul
+ Ethiopic
+ Cherokee
+ CanadianAboriginal
+ Ogham
+ Runic
+ Khmer
+ Mongolian
+ Hiragana
+ Katakana
+ Bopomofo
+ Han
+ Yi
+ OldItalic
+ Gothic
+ Deseret
+ Inherited
+
+There are also extended property classes that supplement the basic
+properties, defined by the F<PropList> Unicode database:
+
+ White_space
+ Bidi_Control
+ Join_Control
+ Dash
+ Hyphen
+ Quotation_Mark
+ Other_Math
+ Hex_Digit
+ ASCII_Hex_Digit
+ Other_Alphabetic
+ Ideographic
+ Diacritic
+ Extender
+ Other_Lowercase
+ Other_Uppercase
+ Noncharacter_Code_Point
+
+and further derived properties:
+
+ Alphabetic Lu + Ll + Lt + Lm + Lo + Other_Alphabetic
+ Lowercase Ll + Other_Lowercase
+ Uppercase Lu + Other_Uppercase
+ Math Sm + Other_Math
+
+ ID_Start Lu + Ll + Lt + Lm + Lo + Nl
+ ID_Continue ID_Start + Mn + Mc + Nd + Pc
+
+ Any Any character
+ Assigned Any non-Cn character
+ Common Any character (or unassigned code point)
+ not explicitly assigned to a script.
=head2 Blocks