summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-05-28 10:01:48 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-05-28 10:01:48 +0000
commit7c6f5cd212ae61ef572b511249a68eba23258ef2 (patch)
tree073edaa98da549b2d1c8f72259c1b0072d4ab40e
parent0b931be4791f7d772317758feb118bd4d693a29e (diff)
downloadperl-7c6f5cd212ae61ef572b511249a68eba23258ef2.tar.gz
revise mktables.PL for bugs and newness in Unicode 3.0
(from James Bence <jbence@amgen.com>) p4raw-id: //depot/perl@6139
-rw-r--r--MANIFEST30
-rw-r--r--lib/unicode/Is/BidiAL.pl25
-rw-r--r--lib/unicode/Is/BidiBN.pl15
-rw-r--r--lib/unicode/Is/BidiLRE.pl6
-rw-r--r--lib/unicode/Is/BidiLRO.pl6
-rw-r--r--lib/unicode/Is/BidiNSM.pl97
-rw-r--r--lib/unicode/Is/BidiPDF.pl6
-rw-r--r--lib/unicode/Is/BidiRLE.pl6
-rw-r--r--lib/unicode/Is/BidiRLO.pl6
-rw-r--r--lib/unicode/Is/Cf.pl12
-rw-r--r--lib/unicode/Is/Cn.pl354
-rw-r--r--lib/unicode/Is/Cs.pl8
-rw-r--r--lib/unicode/Is/DCfraction.pl7
-rw-r--r--lib/unicode/Is/Graph.pl3
-rw-r--r--lib/unicode/Is/Me.pl9
-rw-r--r--lib/unicode/Is/Nl.pl9
-rw-r--r--lib/unicode/Is/Pc.pl12
-rw-r--r--lib/unicode/Is/Pf.pl9
-rw-r--r--lib/unicode/Is/Pi.pl10
-rw-r--r--lib/unicode/Is/Punct.pl62
-rw-r--r--lib/unicode/Is/Sk.pl27
-rw-r--r--lib/unicode/Is/Space.pl14
-rw-r--r--lib/unicode/Is/SylA.pl153
-rw-r--r--lib/unicode/Is/SylAA.pl25
-rw-r--r--lib/unicode/Is/SylAAI.pl19
-rw-r--r--lib/unicode/Is/SylAI.pl7
-rw-r--r--lib/unicode/Is/SylC.pl65
-rw-r--r--lib/unicode/Is/SylE.pl142
-rw-r--r--lib/unicode/Is/SylEE.pl34
-rw-r--r--lib/unicode/Is/SylI.pl149
-rw-r--r--lib/unicode/Is/SylII.pl25
-rw-r--r--lib/unicode/Is/SylN.pl6
-rw-r--r--lib/unicode/Is/SylO.pl152
-rw-r--r--lib/unicode/Is/SylOO.pl25
-rw-r--r--lib/unicode/Is/SylU.pl117
-rw-r--r--lib/unicode/Is/SylV.pl49
-rw-r--r--lib/unicode/Is/SylWA.pl44
-rw-r--r--lib/unicode/Is/SylWAA.pl19
-rw-r--r--lib/unicode/Is/SylWC.pl8
-rw-r--r--lib/unicode/Is/SylWE.pl18
-rw-r--r--lib/unicode/Is/SylWEE.pl6
-rw-r--r--lib/unicode/Is/SylWI.pl17
-rw-r--r--lib/unicode/Is/SylWII.pl15
-rw-r--r--lib/unicode/Is/SylWO.pl16
-rw-r--r--lib/unicode/Is/SylWOO.pl15
-rw-r--r--lib/unicode/Is/SylWU.pl6
-rw-r--r--lib/unicode/Is/SylWV.pl6
-rw-r--r--lib/unicode/Is/Upper.pl17
-rw-r--r--lib/unicode/Makefile3
-rwxr-xr-xlib/unicode/mktables.PL104
50 files changed, 1922 insertions, 73 deletions
diff --git a/MANIFEST b/MANIFEST
index 2500943624..3dec812275 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -836,26 +836,37 @@ lib/unicode/Index.txt Unicode character database
lib/unicode/Is/ASCII.pl Unicode character database
lib/unicode/Is/Alnum.pl Unicode character database
lib/unicode/Is/Alpha.pl Unicode character database
+lib/unicode/Is/BidiAL.pl Unicode character database
lib/unicode/Is/BidiAN.pl Unicode character database
lib/unicode/Is/BidiB.pl Unicode character database
+lib/unicode/Is/BidiBN.pl Unicode character database
lib/unicode/Is/BidiCS.pl Unicode character database
lib/unicode/Is/BidiEN.pl Unicode character database
lib/unicode/Is/BidiES.pl Unicode character database
lib/unicode/Is/BidiET.pl Unicode character database
lib/unicode/Is/BidiL.pl Unicode character database
+lib/unicode/Is/BidiLRE.pl Unicode character database
+lib/unicode/Is/BidiLRO.pl Unicode character database
+lib/unicode/Is/BidiNSM.pl Unicode character database
lib/unicode/Is/BidiON.pl Unicode character database
+lib/unicode/Is/BidiPDF.pl Unicode character database
lib/unicode/Is/BidiR.pl Unicode character database
+lib/unicode/Is/BidiRLE.pl Unicode character database
+lib/unicode/Is/BidiRLO.pl Unicode character database
lib/unicode/Is/BidiS.pl Unicode character database
lib/unicode/Is/BidiWS.pl Unicode character database
lib/unicode/Is/C.pl Unicode character database
lib/unicode/Is/Cc.pl Unicode character database
+lib/unicode/Is/Cf.pl Unicode character database
lib/unicode/Is/Cn.pl Unicode character database
lib/unicode/Is/Cntrl.pl Unicode character database
lib/unicode/Is/Co.pl Unicode character database
+lib/unicode/Is/Cs.pl Unicode character database
lib/unicode/Is/DCcircle.pl Unicode character database
lib/unicode/Is/DCcompat.pl Unicode character database
lib/unicode/Is/DCfinal.pl Unicode character database
lib/unicode/Is/DCfont.pl Unicode character database
+lib/unicode/Is/DCfraction.pl Unicode character database
lib/unicode/Is/DCinital.pl Unicode character database
lib/unicode/Is/DCinitial.pl Unicode character database
lib/unicode/Is/DCisolated.pl Unicode character database
@@ -909,34 +920,53 @@ lib/unicode/Is/Lt.pl Unicode character database
lib/unicode/Is/Lu.pl Unicode character database
lib/unicode/Is/M.pl Unicode character database
lib/unicode/Is/Mc.pl Unicode character database
+lib/unicode/Is/Me.pl Unicode character database
lib/unicode/Is/Mirrored.pl Unicode character database
lib/unicode/Is/Mn.pl Unicode character database
lib/unicode/Is/N.pl Unicode character database
lib/unicode/Is/Nd.pl Unicode character database
+lib/unicode/Is/Nl.pl Unicode character database
lib/unicode/Is/No.pl Unicode character database
lib/unicode/Is/P.pl Unicode character database
+lib/unicode/Is/Pc.pl Unicode character database
lib/unicode/Is/Pd.pl Unicode character database
lib/unicode/Is/Pe.pl Unicode character database
+lib/unicode/Is/Pf.pl Unicode character database
+lib/unicode/Is/Pi.pl Unicode character database
lib/unicode/Is/Po.pl Unicode character database
lib/unicode/Is/Print.pl Unicode character database
lib/unicode/Is/Ps.pl Unicode character database
lib/unicode/Is/Punct.pl Unicode character database
lib/unicode/Is/S.pl Unicode character database
lib/unicode/Is/Sc.pl Unicode character database
+lib/unicode/Is/Sk.pl Unicode character database
lib/unicode/Is/Sm.pl Unicode character database
lib/unicode/Is/So.pl Unicode character database
lib/unicode/Is/Space.pl Unicode character database
lib/unicode/Is/SylA.pl Unicode character database
+lib/unicode/Is/SylAA.pl Unicode character database
+lib/unicode/Is/SylAAI.pl Unicode character database
+lib/unicode/Is/SylAI.pl Unicode character database
lib/unicode/Is/SylC.pl Unicode character database
lib/unicode/Is/SylE.pl Unicode character database
+lib/unicode/Is/SylEE.pl Unicode character database
lib/unicode/Is/SylI.pl Unicode character database
+lib/unicode/Is/SylII.pl Unicode character database
+lib/unicode/Is/SylN.pl Unicode character database
lib/unicode/Is/SylO.pl Unicode character database
+lib/unicode/Is/SylOO.pl Unicode character database
lib/unicode/Is/SylU.pl Unicode character database
lib/unicode/Is/SylV.pl Unicode character database
lib/unicode/Is/SylWA.pl Unicode character database
+lib/unicode/Is/SylWAA.pl Unicode character database
lib/unicode/Is/SylWC.pl Unicode character database
lib/unicode/Is/SylWE.pl Unicode character database
+lib/unicode/Is/SylWEE.pl Unicode character database
lib/unicode/Is/SylWI.pl Unicode character database
+lib/unicode/Is/SylWII.pl Unicode character database
+lib/unicode/Is/SylWO.pl Unicode character database
+lib/unicode/Is/SylWOO.pl Unicode character database
+lib/unicode/Is/SylWU.pl Unicode character database
lib/unicode/Is/SylWV.pl Unicode character database
lib/unicode/Is/Syllable.pl Unicode character database
lib/unicode/Is/Upper.pl Unicode character database
diff --git a/lib/unicode/Is/BidiAL.pl b/lib/unicode/Is/BidiAL.pl
new file mode 100644
index 0000000000..e04f2f562d
--- /dev/null
+++ b/lib/unicode/Is/BidiAL.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+061b
+061f
+0621 063a
+0640 064a
+066d
+0671 06d5
+06e5 06e6
+06fa 06fe
+0700 070d
+0710
+0712 072c
+0780 07a5
+fb50 fbb1
+fbd3 fd3d
+fd50 fd8f
+fd92 fdc7
+fdf0 fdfb
+fe70 fe72
+fe74
+fe76 fefc
+END
diff --git a/lib/unicode/Is/BidiBN.pl b/lib/unicode/Is/BidiBN.pl
new file mode 100644
index 0000000000..795a4a9f40
--- /dev/null
+++ b/lib/unicode/Is/BidiBN.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+0000 0008
+000e 001b
+007f 0084
+0086 009f
+070f
+180b 180e
+200b 200d
+206a 206f
+feff
+fff9 fffb
+END
diff --git a/lib/unicode/Is/BidiLRE.pl b/lib/unicode/Is/BidiLRE.pl
new file mode 100644
index 0000000000..ef2a6e462f
--- /dev/null
+++ b/lib/unicode/Is/BidiLRE.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+202a
+END
diff --git a/lib/unicode/Is/BidiLRO.pl b/lib/unicode/Is/BidiLRO.pl
new file mode 100644
index 0000000000..e9958c4b81
--- /dev/null
+++ b/lib/unicode/Is/BidiLRO.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+202d
+END
diff --git a/lib/unicode/Is/BidiNSM.pl b/lib/unicode/Is/BidiNSM.pl
new file mode 100644
index 0000000000..191bc052a9
--- /dev/null
+++ b/lib/unicode/Is/BidiNSM.pl
@@ -0,0 +1,97 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+0300 034e
+0360 0362
+0483 0486
+0488 0489
+0591 05a1
+05a3 05b9
+05bb 05bd
+05bf
+05c1 05c2
+05c4
+064b 0655
+0670
+06d6 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
+0a02
+0a3c
+0a41 0a42
+0a47 0a48
+0a4b 0a4d
+0a70 0a71
+0a81 0a82
+0abc
+0ac1 0ac5
+0ac7 0ac8
+0acd
+0b01
+0b3c
+0b3f
+0b41 0b43
+0b4d
+0b56
+0b82
+0bc0
+0bcd
+0c3e 0c40
+0c46 0c48
+0c4a 0c4d
+0c55 0c56
+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
+17b7 17bd
+17c6
+17c9 17d3
+18a9
+20d0 20e3
+302a 302f
+3099 309a
+fb1e
+fe20 fe23
+END
diff --git a/lib/unicode/Is/BidiPDF.pl b/lib/unicode/Is/BidiPDF.pl
new file mode 100644
index 0000000000..4a3eedd564
--- /dev/null
+++ b/lib/unicode/Is/BidiPDF.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+202c
+END
diff --git a/lib/unicode/Is/BidiRLE.pl b/lib/unicode/Is/BidiRLE.pl
new file mode 100644
index 0000000000..d789246ddb
--- /dev/null
+++ b/lib/unicode/Is/BidiRLE.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+202b
+END
diff --git a/lib/unicode/Is/BidiRLO.pl b/lib/unicode/Is/BidiRLO.pl
new file mode 100644
index 0000000000..fcb81acc93
--- /dev/null
+++ b/lib/unicode/Is/BidiRLO.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+202e
+END
diff --git a/lib/unicode/Is/Cf.pl b/lib/unicode/Is/Cf.pl
new file mode 100644
index 0000000000..896c3e6cd6
--- /dev/null
+++ b/lib/unicode/Is/Cf.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+070f
+180b 180e
+200c 200f
+202a 202e
+206a 206f
+feff
+fff9 fffb
+END
diff --git a/lib/unicode/Is/Cn.pl b/lib/unicode/Is/Cn.pl
index ec287c456a..3c686154c1 100644
--- a/lib/unicode/Is/Cn.pl
+++ b/lib/unicode/Is/Cn.pl
@@ -2,4 +2,358 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+0220 0221
+0234 024f
+02ae 02af
+02ef 02ff
+034f 035f
+0363 0373
+0376 0379
+037b 037d
+037f 0383
+038b
+038d
+03a2
+03cf
+03d8 03d9
+03f4 03ff
+0487
+048a 048b
+04c5 04c6
+04c9 04ca
+04cd 04cf
+04f6 04f7
+04fa 0530
+0557 0558
+0560
+0588
+058b 0590
+05a2
+05ba
+05c5 05cf
+05eb 05ef
+05f5 060b
+060d 061a
+061c 061e
+0620
+063b 063f
+0656 065f
+066e 066f
+06ee 06ef
+06ff
+070e
+072d 072f
+074b 077f
+07b1 0900
+0904
+093a 093b
+094e 094f
+0955 0957
+0971 0980
+0984
+098d 098e
+0991 0992
+09a9
+09b1
+09b3 09b5
+09ba 09bb
+09bd
+09c5 09c6
+09c9 09ca
+09ce 09d6
+09d8 09db
+09de
+09e4 09e5
+09fb 0a01
+0a03 0a04
+0a0b 0a0e
+0a11 0a12
+0a29
+0a31
+0a34
+0a37
+0a3a 0a3b
+0a3d
+0a43 0a46
+0a49 0a4a
+0a4e 0a58
+0a5d
+0a5f 0a65
+0a75 0a80
+0a84
+0a8c
+0a8e
+0a92
+0aa9
+0ab1
+0ab4
+0aba 0abb
+0ac6
+0aca
+0ace 0acf
+0ad1 0adf
+0ae1 0ae5
+0af0 0b00
+0b04
+0b0d 0b0e
+0b11 0b12
+0b29
+0b31
+0b34 0b35
+0b3a 0b3b
+0b44 0b46
+0b49 0b4a
+0b4e 0b55
+0b58 0b5b
+0b5e
+0b62 0b65
+0b71 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
+0bf3 0c00
+0c04
+0c0d
+0c11
+0c29
+0c34
+0c3a 0c3d
+0c45
+0c49
+0c4e 0c54
+0c57 0c5f
+0c62 0c65
+0c70 0c81
+0c84
+0c8d
+0c91
+0ca9
+0cb4
+0cba 0cbd
+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
+10f7 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 177f
+17dd 17df
+17ea 17ff
+180f
+181a 181f
+1878 187f
+18aa 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
+2047
+204e 2069
+2071 2073
+208f 209f
+20b0 20cf
+20e4 20ff
+213b 2152
+2184 218f
+21f4 21ff
+22f2 22ff
+237c
+239b 23ff
+2427 243f
+244b 245f
+24eb 24ff
+2596 259f
+25f8 25ff
+2614 2618
+2672 2700
+2705
+270a 270b
+2728
+274c
+274e
+2753 2755
+2757
+275f 2760
+2768 2775
+2795 2797
+27b0
+27bf 27ff
+2900 2e7f
+2e9a
+2ef4 2eff
+2fd6 2fef
+2ffc 2fff
+303b 303d
+3040
+3095 3098
+309f 30a0
+30ff 3104
+312d 3130
+318f
+31b8 31ff
+321d 321f
+3244 325f
+327c 327e
+32b1 32bf
+32cc 32cf
+32ff
+3377 337a
+33de 33df
+33ff
+4db6 4dff
+9fa6 9fff
+a48d a48f
+a4a2 a4a3
+a4b4
+a4c1
+a4c5
+a4c7 abff
+d7a4 d7ff
+fa2e faff
+fb07 fb12
+fb18 fb1c
+fb37
+fb3d
+fb3f
+fb42
+fb45
+fbb2 fbd2
+fd40 fd4f
+fd90 fd91
+fdc8 fdef
+fdfc fe1f
+fe24 fe2f
+fe45 fe48
+fe53
+fe67
+fe6c fe6f
+fe73
+fe75
+fefd fefe
+ff00
+ff5f ff60
+ffbf ffc1
+ffc8 ffc9
+ffd0 ffd1
+ffd8 ffd9
+ffdd ffdf
+ffe7
+ffef fff8
END
diff --git a/lib/unicode/Is/Cs.pl b/lib/unicode/Is/Cs.pl
new file mode 100644
index 0000000000..8888fb5f3c
--- /dev/null
+++ b/lib/unicode/Is/Cs.pl
@@ -0,0 +1,8 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+d800 db7f
+db80 dbff
+dc00 dfff
+END
diff --git a/lib/unicode/Is/DCfraction.pl b/lib/unicode/Is/DCfraction.pl
new file mode 100644
index 0000000000..fc2dd6755d
--- /dev/null
+++ b/lib/unicode/Is/DCfraction.pl
@@ -0,0 +1,7 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+00bc 00be
+2153 215f
+END
diff --git a/lib/unicode/Is/Graph.pl b/lib/unicode/Is/Graph.pl
index 9c94bb722c..156f1711af 100644
--- a/lib/unicode/Is/Graph.pl
+++ b/lib/unicode/Is/Graph.pl
@@ -265,7 +265,8 @@ return <<'END';
1fdd 1fef
1ff2 1ff4
1ff6 1ffe
-2000 200b
+2000 2008
+200b
2010 2029
202f 2046
2048 204d
diff --git a/lib/unicode/Is/Me.pl b/lib/unicode/Is/Me.pl
new file mode 100644
index 0000000000..00f446d87d
--- /dev/null
+++ b/lib/unicode/Is/Me.pl
@@ -0,0 +1,9 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+0488 0489
+06dd 06de
+20dd 20e0
+20e2 20e3
+END
diff --git a/lib/unicode/Is/Nl.pl b/lib/unicode/Is/Nl.pl
new file mode 100644
index 0000000000..8f1af469bb
--- /dev/null
+++ b/lib/unicode/Is/Nl.pl
@@ -0,0 +1,9 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+2160 2183
+3007
+3021 3029
+3038 303a
+END
diff --git a/lib/unicode/Is/Pc.pl b/lib/unicode/Is/Pc.pl
new file mode 100644
index 0000000000..342efac344
--- /dev/null
+++ b/lib/unicode/Is/Pc.pl
@@ -0,0 +1,12 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+005f
+203f 2040
+30fb
+fe33 fe34
+fe4d fe4f
+ff3f
+ff65
+END
diff --git a/lib/unicode/Is/Pf.pl b/lib/unicode/Is/Pf.pl
new file mode 100644
index 0000000000..166c64bbb6
--- /dev/null
+++ b/lib/unicode/Is/Pf.pl
@@ -0,0 +1,9 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+00bb
+2019
+201d
+203a
+END
diff --git a/lib/unicode/Is/Pi.pl b/lib/unicode/Is/Pi.pl
new file mode 100644
index 0000000000..7f2243d5d8
--- /dev/null
+++ b/lib/unicode/Is/Pi.pl
@@ -0,0 +1,10 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+00ab
+2018
+201b 201c
+201f
+2039
+END
diff --git a/lib/unicode/Is/Punct.pl b/lib/unicode/Is/Punct.pl
index 8fd1e8e183..9e8684d6fc 100644
--- a/lib/unicode/Is/Punct.pl
+++ b/lib/unicode/Is/Punct.pl
@@ -8,45 +8,45 @@ return <<'END';
003a 003b
003f 0040
005b 005d
-005f
-007b
-007d
-00a1
-00ab
-00ad
-00b7
-00bb
-00bf
-037e
-0387
+005f
+007b
+007d
+00a1
+00ab
+00ad
+00b7
+00bb
+00bf
+037e
+0387
055a 055f
0589 058a
-05be
-05c0
-05c3
+05be
+05c0
+05c3
05f3 05f4
-060c
-061b
-061f
+060c
+061b
+061f
066a 066d
-06d4
+06d4
0700 070d
0964 0965
-0970
-0df4
-0e4f
+0970
+0df4
+0e4f
0e5a 0e5b
0f04 0f12
0f3a 0f3d
-0f85
+0f85
104a 104f
-10fb
+10fb
1361 1368
166d 166e
169b 169c
16eb 16ed
17d4 17da
-17dc
+17dc
1800 180a
2010 2027
2030 2043
@@ -58,14 +58,14 @@ return <<'END';
3001 3003
3008 3011
3014 301f
-3030
-30fb
+3030
+30fb
fd3e fd3f
fe30 fe44
fe49 fe52
fe54 fe61
-fe63
-fe68
+fe63
+fe68
fe6a fe6b
ff01 ff03
ff05 ff0a
@@ -73,8 +73,8 @@ ff0c ff0f
ff1a ff1b
ff1f ff20
ff3b ff3d
-ff3f
-ff5b
-ff5d
+ff3f
+ff5b
+ff5d
ff61 ff65
END
diff --git a/lib/unicode/Is/Sk.pl b/lib/unicode/Is/Sk.pl
new file mode 100644
index 0000000000..b5f6e591a7
--- /dev/null
+++ b/lib/unicode/Is/Sk.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+005e
+0060
+00a8
+00af
+00b4
+00b8
+02b9 02ba
+02c2 02cf
+02d2 02df
+02e5 02ed
+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/unicode/Is/Space.pl b/lib/unicode/Is/Space.pl
index 4121ef49b8..701329ff82 100644
--- a/lib/unicode/Is/Space.pl
+++ b/lib/unicode/Is/Space.pl
@@ -2,13 +2,13 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
-0009 000a
-000c 000d
-0020
-00a0
-1680
+0009 000d
+0020
+0085
+00a0
+1680
2000 200b
2028 2029
-202f
-3000
+202f
+3000
END
diff --git a/lib/unicode/Is/SylA.pl b/lib/unicode/Is/SylA.pl
index ec287c456a..be1107822d 100644
--- a/lib/unicode/Is/SylA.pl
+++ b/lib/unicode/Is/SylA.pl
@@ -2,4 +2,157 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1203
+120b
+1213
+121b
+1223
+122b
+1233
+123b
+1243
+1253
+1263
+126b
+1273
+127b
+1283
+1293
+129b
+12a3
+12ab
+12bb
+12cb
+12d3
+12db
+12e3
+12eb
+12f3
+12fb
+1303
+130b
+131b
+1323
+132b
+1333
+133b
+1343
+134b
+1353
+13a0
+13a6 13a7
+13ad
+13b3
+13b9
+13be 13bf
+13c6
+13cc
+13d3 13d4
+13dc 13dd
+13e3
+13e9
+13ef
+140a
+1438
+1455
+146a
+1472
+1490
+14aa
+14c7
+14da
+14f4
+1515
+152d
+154b
+154d
+1559
+1566
+156e
+1573
+1579
+1583
+1589
+158d
+1593
+159a
+159e
+15a4
+15ac
+15b3
+15b7
+15bb
+15bf
+15c3
+15c9
+15cf
+15d5
+15e1
+15e7
+15ed
+15f4
+15fa
+1600
+1607
+160d
+1613
+161b
+1621
+1627
+162d
+1633
+1639
+163f
+1645
+164d
+1653
+1659
+1660
+1666
+166c
+1675
+30a1 30a2
+30ab 30ac
+30b5 30b6
+30bf 30c0
+30ca
+30cf 30d1
+30de
+30e3 30e4
+30e9
+30ee 30ef
+30f5
+30f7
+32d0
+32d5
+32da
+32df
+32e4
+32e9
+32ee
+32f3
+32f6
+32fb
+ff67
+ff6c
+ff71
+ff76
+ff7b
+ff80
+ff85
+ff8a
+ff8f
+ff94
+ff97
+ff9c
+3041 3042
+304b 304c
+3055 3056
+305f 3060
+306a
+306f 3071
+307e
+3083 3084
+3089
+308e 308f
END
diff --git a/lib/unicode/Is/SylAA.pl b/lib/unicode/Is/SylAA.pl
new file mode 100644
index 0000000000..45d6692de7
--- /dev/null
+++ b/lib/unicode/Is/SylAA.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+140b
+1439
+1456
+1473
+1491
+14ab
+14c8
+14db
+14f5
+1516
+152e
+154c
+155a
+1567
+157a
+1584
+1594
+15a5
+15ad
+1676
+END
diff --git a/lib/unicode/Is/SylAAI.pl b/lib/unicode/Is/SylAAI.pl
new file mode 100644
index 0000000000..a8b03d4c6c
--- /dev/null
+++ b/lib/unicode/Is/SylAAI.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1402
+1430
+144d
+146c
+148a
+14a4
+14c1
+14d4
+14ee
+1527
+1545
+1554
+157e
+158e
+END
diff --git a/lib/unicode/Is/SylAI.pl b/lib/unicode/Is/SylAI.pl
new file mode 100644
index 0000000000..b70d793bc6
--- /dev/null
+++ b/lib/unicode/Is/SylAI.pl
@@ -0,0 +1,7 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+141c
+166f 1670
+END
diff --git a/lib/unicode/Is/SylC.pl b/lib/unicode/Is/SylC.pl
index ec287c456a..e2a1601dd3 100644
--- a/lib/unicode/Is/SylC.pl
+++ b/lib/unicode/Is/SylC.pl
@@ -2,4 +2,69 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1205
+120d
+1215
+121d
+1225
+122d
+1235
+123d
+1245
+1255
+1265
+126d
+1275
+127d
+1285
+1295
+129d
+12a5
+12ad
+12bd
+12cd
+12d5
+12dd
+12e5
+12ed
+12f5
+12fd
+1305
+130d
+131d
+1325
+132d
+1335
+133d
+1345
+134d
+1355
+13c0
+13cd
+141d
+142b 142e
+1449 144b
+1466
+1483
+1485 1488
+14a1
+14bb 14bf
+14d0 14d2
+14ea 14ec
+1505 1506
+1508 150b
+1525
+153e 1540
+1550 1552
+155d
+156a
+156f
+157b 157d
+1585
+1595 1596
+159f
+15a6
+15ae 15af
+30f3
+ff9d
END
diff --git a/lib/unicode/Is/SylE.pl b/lib/unicode/Is/SylE.pl
index ec287c456a..b3c3e60437 100644
--- a/lib/unicode/Is/SylE.pl
+++ b/lib/unicode/Is/SylE.pl
@@ -2,4 +2,146 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1204
+120c
+1214
+121c
+1224
+122c
+1234
+123c
+1244
+1254
+1264
+126c
+1274
+127c
+1284
+1294
+129c
+12a4
+12ac
+12bc
+12cc
+12d4
+12dc
+12e4
+12ec
+12f4
+12fc
+1304
+130c
+131c
+1324
+132c
+1334
+133c
+1344
+134c
+1354
+13a1
+13a8
+13ae
+13b4
+13ba
+13c1
+13c7
+13ce
+13d5 13d6
+13de
+13e4
+13ea
+13f0
+1401
+142f
+144c
+1467
+146b
+1489
+14a3
+14c0
+14d3
+14ed
+1510
+1526
+1542 1544
+1553
+155e 155f
+156b
+1570
+1574
+1586
+158a
+1597
+159b
+15a7
+15b0
+15b4
+15b8
+15bc
+15c0
+15c6
+15cc
+15d2
+15de
+15e4
+15ea
+15f1
+15f7
+15fd
+1604
+160a
+1610
+1617
+161e
+1624
+162a
+1630
+1636
+163c
+1642
+164a
+1650
+1656
+165d
+1663
+1669
+30a7 30a8
+30b1 30b2
+30bb 30bc
+30c6 30c7
+30cd
+30d8 30da
+30e1
+30ec
+30f1
+30f6
+30f9
+32d3
+32d8
+32dd
+32e2
+32e7
+32ec
+32f1
+32f9
+32fd
+ff6a
+ff74
+ff79
+ff7e
+ff83
+ff88
+ff8d
+ff92
+ff9a
+3047 3048
+3051 3052
+305b 305c
+3066 3067
+306d
+3078 307a
+3081
+308c
+3091
END
diff --git a/lib/unicode/Is/SylEE.pl b/lib/unicode/Is/SylEE.pl
new file mode 100644
index 0000000000..0a22f78f65
--- /dev/null
+++ b/lib/unicode/Is/SylEE.pl
@@ -0,0 +1,34 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1408
+1436
+1453
+15c7
+15cd
+15d3
+15df
+15e5
+15eb
+15f2
+15f8
+15fe
+1605
+160b
+1611
+1618
+161f
+1625
+162b
+1631
+1637
+163d
+1643
+164b
+1651
+1657
+165e
+1664
+166a
+END
diff --git a/lib/unicode/Is/SylI.pl b/lib/unicode/Is/SylI.pl
index ec287c456a..f80790ce44 100644
--- a/lib/unicode/Is/SylI.pl
+++ b/lib/unicode/Is/SylI.pl
@@ -2,4 +2,153 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1202
+120a
+1212
+121a
+1222
+122a
+1232
+123a
+1242
+1252
+1262
+126a
+1272
+127a
+1282
+1292
+129a
+12a2
+12aa
+12ba
+12ca
+12d2
+12da
+12e2
+12ea
+12f2
+12fa
+1302
+130a
+131a
+1322
+132a
+1332
+133a
+1342
+134a
+1352
+13a2
+13a9
+13af
+13b5
+13bb
+13c2
+13c8
+13cf
+13d7 13d8
+13df
+13e5
+13eb
+13f1
+1403
+1409
+1431
+1437
+144e
+1454
+1468
+146d
+148b
+14a5
+14c2
+14d5
+14ef
+1511
+1528
+1541
+1546
+1555
+1560 1561
+156c
+1571
+1575
+157f
+1587
+158b
+158f
+1598
+159c
+15a0
+15a8
+15b1
+15b5
+15b9
+15bd
+15c1
+15c8
+15ce
+15d4
+15e0
+15e6
+15ec
+15f3
+15f9
+15ff
+1606
+160c
+1612
+1619 161a
+1620
+1626
+162c
+1632
+1638
+163e
+1644
+164c
+1652
+1658
+165f
+1665
+166b
+1671
+30a3 30a4
+30ad 30ae
+30b7 30b8
+30c1 30c2
+30cb
+30d2 30d4
+30df
+30ea
+30f0
+30f8
+32d1
+32d6
+32db
+32e0
+32e5
+32ea
+32ef
+32f7
+32fc
+ff68
+ff72
+ff77
+ff7c
+ff81
+ff86
+ff8b
+ff90
+ff98
+3043 3044
+304d 304e
+3057 3058
+3061 3062
+306b
+3072 3074
+307f
+308a
+3090
END
diff --git a/lib/unicode/Is/SylII.pl b/lib/unicode/Is/SylII.pl
new file mode 100644
index 0000000000..4516d7a32a
--- /dev/null
+++ b/lib/unicode/Is/SylII.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1404
+1432
+144f
+146e
+148c
+14a6
+14c3
+14d6
+14f0
+1512
+1529
+1547
+1556
+1562 1563
+1576
+1580
+1590
+15a1
+15a9
+1672
+END
diff --git a/lib/unicode/Is/SylN.pl b/lib/unicode/Is/SylN.pl
new file mode 100644
index 0000000000..215463fb7f
--- /dev/null
+++ b/lib/unicode/Is/SylN.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+3093
+END
diff --git a/lib/unicode/Is/SylO.pl b/lib/unicode/Is/SylO.pl
index ec287c456a..a0a6f7dd01 100644
--- a/lib/unicode/Is/SylO.pl
+++ b/lib/unicode/Is/SylO.pl
@@ -2,4 +2,156 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1206
+120e
+1216
+121e
+1226
+122e
+1236
+123e
+1246
+1256
+1266
+126e
+1276
+127e
+1286
+1296
+129e
+12a6
+12ae
+12be
+12ce
+12d6
+12de
+12e6
+12ee
+12f6
+12fe
+1306
+130e
+131e
+1326
+132e
+1336
+133e
+1346
+134e
+1356
+13a3
+13aa
+13b0
+13b6
+13bc
+13c3
+13c9
+13d0
+13d9
+13e0
+13e6
+13ec
+13f2
+1405
+1433
+1450
+1469
+146f
+148d
+14a7
+14c4
+14d7
+14f1
+1513
+152a
+1548
+154a
+1557
+1564
+156d
+1572
+1577
+1581
+1588
+158c
+1591
+1599
+159d
+15a2
+15aa
+15b2
+15b6
+15ba
+15be
+15c2
+15c5
+15cb
+15d1
+15dd
+15e3
+15e9
+15f0
+15f6
+15fc
+1603
+1609
+160f
+1616
+161d
+1623
+1629
+162f
+1635
+163b
+1641
+1649
+164f
+1655
+165c
+1662
+1668
+1673
+30a9 30aa
+30b3 30b4
+30bd 30be
+30c8 30c9
+30ce
+30db 30dd
+30e2
+30e7 30e8
+30ed
+30f2
+30fa
+32d4
+32d9
+32de
+32e3
+32e8
+32ed
+32f2
+32f5
+32fa
+32fe
+ff66
+ff6b
+ff6e
+ff75
+ff7a
+ff7f
+ff84
+ff89
+ff8e
+ff93
+ff96
+ff9b
+3049 304a
+3053 3054
+305d 305e
+3068 3069
+306e
+307b 307d
+3082
+3087 3088
+308d
+3092
END
diff --git a/lib/unicode/Is/SylOO.pl b/lib/unicode/Is/SylOO.pl
new file mode 100644
index 0000000000..12280534b1
--- /dev/null
+++ b/lib/unicode/Is/SylOO.pl
@@ -0,0 +1,25 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1406 1407
+1434 1435
+1451 1452
+1470 1471
+148e 148f
+14a8 14a9
+14c5 14c6
+14d8 14d9
+14f2 14f3
+1514
+152b 152c
+1549
+1558
+1565
+1578
+1582
+1592
+15a3
+15ab
+1674
+END
diff --git a/lib/unicode/Is/SylU.pl b/lib/unicode/Is/SylU.pl
index ec287c456a..c458382f25 100644
--- a/lib/unicode/Is/SylU.pl
+++ b/lib/unicode/Is/SylU.pl
@@ -2,4 +2,121 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1201
+1209
+1211
+1219
+1221
+1229
+1231
+1239
+1241
+1251
+1261
+1269
+1271
+1279
+1281
+1291
+1299
+12a1
+12a9
+12b9
+12c9
+12d1
+12d9
+12e1
+12e9
+12f1
+12f9
+1301
+1309
+1319
+1321
+1329
+1331
+1339
+1341
+1349
+1351
+13a4
+13ab
+13b1
+13b7
+13bd
+13c4
+13ca
+13d1
+13da
+13e1
+13e7
+13ed
+13f3
+15c4
+15ca
+15d0
+15dc
+15e2
+15e8
+15ef
+15f5
+15fb
+1602
+1608
+160e
+1614 1615
+161c
+1622
+1628
+162e
+1634
+163a
+1640
+1648
+164e
+1654
+165b
+1661
+1667
+30a5 30a6
+30af 30b0
+30b9 30ba
+30c3 30c5
+30cc
+30d5 30d7
+30e0
+30e5 30e6
+30eb
+30f4
+32d2
+32d7
+32dc
+32e1
+32e6
+32eb
+32f0
+32f4
+32f8
+ff69
+ff6d
+ff6f
+ff73
+ff78
+ff7d
+ff82
+ff87
+ff8c
+ff91
+ff95
+ff99
+3045 3046
+304f 3050
+3059 305a
+3063 3065
+306c
+3075 3077
+3080
+3085 3086
+308b
+3094
END
diff --git a/lib/unicode/Is/SylV.pl b/lib/unicode/Is/SylV.pl
index ec287c456a..b6e76f81b9 100644
--- a/lib/unicode/Is/SylV.pl
+++ b/lib/unicode/Is/SylV.pl
@@ -2,4 +2,53 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1200
+1208
+1210
+1218
+1220
+1228
+1230
+1238
+1240
+1250
+1260
+1268
+1270
+1278
+1280
+1290
+1298
+12a0
+12a8
+12b8
+12c8
+12d0
+12d8
+12e0
+12e8
+12f0
+12f8
+1300
+1308
+1318
+1320
+1328
+1330
+1338
+1340
+1348
+1350
+13a5
+13ac
+13b2
+13b8
+13c5
+13cb
+13d2
+13db
+13e2
+13e8
+13ee
+13f4
END
diff --git a/lib/unicode/Is/SylWA.pl b/lib/unicode/Is/SylWA.pl
index ec287c456a..9bb529ed01 100644
--- a/lib/unicode/Is/SylWA.pl
+++ b/lib/unicode/Is/SylWA.pl
@@ -2,4 +2,48 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+120f
+1217
+121f
+1227
+122f
+1237
+123f
+124b
+125b
+1267
+126f
+1277
+127f
+128b
+1297
+129f
+12a7
+12b3
+12c3
+12df
+12e7
+12f7
+12ff
+1307
+1313
+1327
+132f
+1337
+133f
+134f
+1357
+1417 1418
+1444 1445
+1461 1462
+147e 147f
+149c 149d
+14b6 14b7
+14cb 14cc
+14e6 14e7
+1500 1501
+150c 150f
+1521 1522
+1539 153a
+15db
END
diff --git a/lib/unicode/Is/SylWAA.pl b/lib/unicode/Is/SylWAA.pl
new file mode 100644
index 0000000000..5f3b784d0c
--- /dev/null
+++ b/lib/unicode/Is/SylWAA.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1419 141b
+1446 1448
+1463 1465
+1480 1482
+149e 14a0
+14b8 14ba
+14cd 14cf
+14e8 14e9
+1502 1504
+1523 1524
+153b 153d
+154e 154f
+155b 155c
+1568 1569
+END
diff --git a/lib/unicode/Is/SylWC.pl b/lib/unicode/Is/SylWC.pl
index ec287c456a..3ad968c505 100644
--- a/lib/unicode/Is/SylWC.pl
+++ b/lib/unicode/Is/SylWC.pl
@@ -2,4 +2,12 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+124d
+125d
+128d
+12b5
+12c5
+1315
+1484
+1507
END
diff --git a/lib/unicode/Is/SylWE.pl b/lib/unicode/Is/SylWE.pl
index ec287c456a..9e32c0e602 100644
--- a/lib/unicode/Is/SylWE.pl
+++ b/lib/unicode/Is/SylWE.pl
@@ -2,4 +2,22 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+124c
+125c
+128c
+12b4
+12c4
+1314
+140c 140d
+143a 143b
+1457 1458
+1474 1475
+1492 1493
+14ac 14ad
+14c9 14ca
+14dc 14dd
+14f6 14f7
+1517 1518
+152f 1530
+15d8
END
diff --git a/lib/unicode/Is/SylWEE.pl b/lib/unicode/Is/SylWEE.pl
new file mode 100644
index 0000000000..c4bccb5240
--- /dev/null
+++ b/lib/unicode/Is/SylWEE.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+15d9
+END
diff --git a/lib/unicode/Is/SylWI.pl b/lib/unicode/Is/SylWI.pl
index ec287c456a..4cd6c6789c 100644
--- a/lib/unicode/Is/SylWI.pl
+++ b/lib/unicode/Is/SylWI.pl
@@ -2,4 +2,21 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+124a
+125a
+128a
+12b2
+12c2
+1312
+140e 140f
+143c 143d
+1459 145a
+1476 1477
+1494 1495
+14ae 14af
+14de 14df
+14f8 14f9
+1519 151a
+1531 1532
+15da
END
diff --git a/lib/unicode/Is/SylWII.pl b/lib/unicode/Is/SylWII.pl
new file mode 100644
index 0000000000..bd68aeadf5
--- /dev/null
+++ b/lib/unicode/Is/SylWII.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1410 1411
+143e 143f
+145b 145c
+1478 1479
+1496 1497
+14b0 14b1
+14e0 14e1
+14fa 14fb
+151b 151c
+1533 1534
+END
diff --git a/lib/unicode/Is/SylWO.pl b/lib/unicode/Is/SylWO.pl
new file mode 100644
index 0000000000..7676564130
--- /dev/null
+++ b/lib/unicode/Is/SylWO.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1412 1413
+1440 1441
+145d 145e
+147a 147b
+1498 1499
+14b2 14b3
+14e2 14e3
+14fc 14fd
+151d 151e
+1535 1536
+15d7
+END
diff --git a/lib/unicode/Is/SylWOO.pl b/lib/unicode/Is/SylWOO.pl
new file mode 100644
index 0000000000..0ab766a553
--- /dev/null
+++ b/lib/unicode/Is/SylWOO.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+1414 1416
+1442 1443
+145f 1460
+147c 147d
+149a 149b
+14b4 14b5
+14e4 14e5
+14fe 14ff
+151f 1520
+1537 1538
+END
diff --git a/lib/unicode/Is/SylWU.pl b/lib/unicode/Is/SylWU.pl
new file mode 100644
index 0000000000..76af7aefad
--- /dev/null
+++ b/lib/unicode/Is/SylWU.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.300.
+# Any changes made here will be lost!
+return <<'END';
+15d6
+END
diff --git a/lib/unicode/Is/SylWV.pl b/lib/unicode/Is/SylWV.pl
index ec287c456a..8bd8849042 100644
--- a/lib/unicode/Is/SylWV.pl
+++ b/lib/unicode/Is/SylWV.pl
@@ -2,4 +2,10 @@
# This file is built by mktables.PL from e.g. Unicode.300.
# Any changes made here will be lost!
return <<'END';
+1248
+1258
+1288
+12b0
+12c0
+1310
END
diff --git a/lib/unicode/Is/Upper.pl b/lib/unicode/Is/Upper.pl
index 8dde2742d0..4fda655dc4 100644
--- a/lib/unicode/Is/Upper.pl
+++ b/lib/unicode/Is/Upper.pl
@@ -86,9 +86,9 @@ return <<'END';
01b5
01b7 01b8
01bc
-01c4
-01c7
-01ca
+01c4 01c5
+01c7 01c8
+01ca 01cb
01cd
01cf
01d1
@@ -106,7 +106,7 @@ return <<'END';
01ea
01ec
01ee
-01f1
+01f1 01f2
01f4
01f6 01f8
01fa
@@ -355,11 +355,14 @@ return <<'END';
1f5d
1f5f
1f68 1f6f
-1fb8 1fbb
-1fc8 1fcb
+1f88 1f8f
+1f98 1f9f
+1fa8 1faf
+1fb8 1fbc
+1fc8 1fcc
1fd8 1fdb
1fe8 1fec
-1ff8 1ffb
+1ff8 1ffc
2102
2107
210b 210d
diff --git a/lib/unicode/Makefile b/lib/unicode/Makefile
index c68fa3af00..af5e77b47b 100644
--- a/lib/unicode/Makefile
+++ b/lib/unicode/Makefile
@@ -1,6 +1,5 @@
all:
- ./mktables.PL
- ./MakeEthiopicSyllables.PL
+ ../../miniperl -I../../lib ./mktables.PL
clean:
rm -f *.pl */*.pl
diff --git a/lib/unicode/mktables.PL b/lib/unicode/mktables.PL
index 4f705a4016..241d2e6bb3 100755
--- a/lib/unicode/mktables.PL
+++ b/lib/unicode/mktables.PL
@@ -1,6 +1,11 @@
#!../../miniperl
+use bytes;
+
$UnicodeData = "Unicode.300";
+$SyllableData = "syllables.txt";
+$PropData = "Props.txt";
+
# Note: we try to keep filenames unique within first 8 chars. Using
# subdirectories for the following helps.
@@ -14,16 +19,15 @@ mkdir "To", 0777;
['IsWord', '$cat =~ /^L[ulot]|^Nd/ or $code eq "005F"', ''],
['IsAlnum', '$cat =~ /^L[ulot]|^Nd/', ''],
['IsAlpha', '$cat =~ /^L[ulot]/', ''],
- # XXX broken: recursive definition (/\s/ will look up IsSpace in future)
- ['IsSpace', '$cat =~ /^Z/ or $code lt "0020" and chr(hex $code) =~ /^\s/', ''],
+ ['IsSpace', 'White space', $PropData],
['IsDigit', '$cat =~ /^Nd$/', ''],
- ['IsUpper', '$cat =~ /^Lu$/', ''],
+ ['IsUpper', '$cat =~ /^L[ut]$/', ''],
['IsLower', '$cat =~ /^Ll$/', ''],
['IsASCII', 'hex $code <= 127', ''],
['IsCntrl', '$cat =~ /^C/', ''],
- ['IsGraph', '$cat =~ /^[^C]/ and $code ne "0020"', ''],
+ ['IsGraph', '$cat =~ /^[^C]/ and ($cat !~ /^Z/ and $code ne "0020" or chr(hex $code) !~ /^\s/)', ''],
['IsPrint', '$cat =~ /^[^C]/', ''],
- ['IsPunct', '$cat =~ /^P/', ''],
+ ['IsPunct', 'Punctuation', $PropData],
['IsXDigit', '$code =~ /^00(3[0-9]|[46][1-6])$/', ''],
['ToUpper', '$up', '$up'],
['ToLower', '$down', '$down'],
@@ -43,12 +47,14 @@ mkdir "To", 0777;
['IsM', '$cat =~ /^M/', ''], # Mark
['IsMn', '$cat eq "Mn"', ''], # Mark, Non-Spacing
['IsMc', '$cat eq "Mc"', ''], # Mark, Combining
+ ['IsMe', '$cat eq "Me"', ''], # Mark, Enclosing
['IsN', '$cat =~ /^N/', ''], # Number
['IsNd', '$cat eq "Nd"', ''], # Number, Decimal Digit
['IsNo', '$cat eq "No"', ''], # Number, Other
+ ['IsNl', '$cat eq "Nl"', ''], # Number, Letter
- ['IsZ', '$cat =~ /^Z/', ''], # Zeparator
+ ['IsZ', '$cat =~ /^Z/', ''], # Separator
['IsZs', '$cat eq "Zs"', ''], # Separator, Space
['IsZl', '$cat eq "Zl"', ''], # Separator, Line
['IsZp', '$cat eq "Zp"', ''], # Separator, Paragraph
@@ -57,6 +63,9 @@ mkdir "To", 0777;
['IsCc', '$cat eq "Cc"', ''], # Other, Control or Format
['IsCo', '$cat eq "Co"', ''], # Other, Private Use
['IsCn', '$cat eq "Cn"', ''], # Other, Not Assigned
+ ['IsCf', '$cat eq "Cf"', ''], # Other, Format
+ ['IsCs', '$cat eq "Cs"', ''], # Other, Surrogate
+ ['IsCn', 'Unassigned Code Value',$PropData], # Other, Not Assigned
# Informative
@@ -72,9 +81,13 @@ mkdir "To", 0777;
['IsPs', '$cat eq "Ps"', ''], # Punctuation, Open
['IsPe', '$cat eq "Pe"', ''], # Punctuation, Close
['IsPo', '$cat eq "Po"', ''], # Punctuation, Other
+ ['IsPc', '$cat eq "Pc"', ''], # Punctuation, Connector
+ ['IsPi', '$cat eq "Pi"', ''], # Punctuation, Initial quote
+ ['IsPf', '$cat eq "Pf"', ''], # Punctuation, Final quote
['IsS', '$cat =~ /^S/', ''], # Symbol
['IsSm', '$cat eq "Sm"', ''], # Symbol, Math
+ ['IsSk', '$cat eq "Sk"', ''], # Symbol, Modifier
['IsSc', '$cat eq "Sc"', ''], # Symbol, Currency
['IsSo', '$cat eq "So"', ''], # Symbol, Other
@@ -95,6 +108,15 @@ mkdir "To", 0777;
# and punctuation specific to
# those scripts
+ ['IsBidiLRE', '$bid eq "LRE"', ''], # Left-to-Right Embedding
+ ['IsBidiLRO', '$bid eq "LRO"', ''], # Left-to-Right Override
+ ['IsBidiAL', '$bid eq "AL"', ''], # Right-to-Left Arabic
+ ['IsBidiRLE', '$bid eq "RLE"', ''], # Right-to-Left Embedding
+ ['IsBidiRLO', '$bid eq "RLO"', ''], # Right-to-Left Override
+ ['IsBidiPDF', '$bid eq "PDF"', ''], # Pop Directional Format
+ ['IsBidiNSM', '$bid eq "NSM"', ''], # Non-Spacing Mark
+ ['IsBidiBN', '$bid eq "BN"', ''], # Boundary Neutral
+
# Weak types:
['IsBidiEN','$bid eq "EN"', ''], # European Number
@@ -134,6 +156,7 @@ mkdir "To", 0777;
['IsDCnarrow', '$decomp =~ /^<narrow>/', ''],
['IsDCsmall', '$decomp =~ /^<small>/', ''],
['IsDCsquare', '$decomp =~ /^<square>/', ''],
+ ['IsDCfraction', '$decomp =~ /^<fraction>/', ''],
['IsDCcompat', '$decomp =~ /^<compat>/', ''],
# Number
@@ -155,19 +178,8 @@ mkdir "To", 0777;
# Syllables
- ['IsSylV', '$syl eq "V"', ''],
- ['IsSylU', '$syl eq "U"', ''],
- ['IsSylI', '$syl eq "I"', ''],
- ['IsSylA', '$syl eq "A"', ''],
- ['IsSylE', '$syl eq "E"', ''],
- ['IsSylC', '$syl eq "C"', ''],
- ['IsSylO', '$syl eq "O"', ''],
- ['IsSylWV', '$syl eq "V"', ''],
- ['IsSylWI', '$syl eq "I"', ''],
- ['IsSylWA', '$syl eq "A"', ''],
- ['IsSylWE', '$syl eq "E"', ''],
- ['IsSylWC', '$syl eq "C"', ''],
-
+ syllable_defs(),
+
# Line break properties - Normative
['IsLbrkBK','$brk eq "BK"', ''], # Mandatory Break
@@ -232,8 +244,8 @@ END
exit if @ARGV and not grep { $_ eq Block } @ARGV;
print "Block\n";
-open(UD, 'Blocks.txt') or die "Can't open blocks.txt: $!\n";
-open(OUT, ">Block.pl") or die "Can't create $table.pl: $!\n";
+open(UD, 'Blocks.txt') or die "Can't open Blocks.txt: $!\n";
+open(OUT, ">Block.pl") or die "Can't create Block.pl: $!\n";
print OUT <<EOH;
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is built by $0 from e.g. $UnicodeData.
@@ -277,6 +289,8 @@ sub proplist {
my $out;
my $split;
+ return listFromPropFile($wanted) if $val eq $PropData;
+
if ($table =~ /^Arab/) {
open(UD, "ArabShap.txt") or warn "Can't open $table: $!";
@@ -288,7 +302,7 @@ sub proplist {
$split = '($code, $short, $name) = split(/; */); $code =~ s/^U\+//;';
}
elsif ($table =~ /^IsSyl/) {
- open(UD, "syllables.txt") or warn "Can't open $table: $!";
+ open(UD, $SyllableData) or warn "Can't open $table: $!";
$split = '($code, $short, $syl) = split(/; */); $code =~ s/^U\+//;';
}
@@ -308,8 +322,8 @@ sub proplist {
eval <<"END";
while (<UD>) {
next if /^#/;
- next if /^\s/;
- chop;
+ next if /^\\s/;
+ s/\\s+\$//;
$split
if ($wanted) {
push(\@wanted, [hex \$code, hex $val, \$name =~ /, First>\$/]);
@@ -343,7 +357,7 @@ END
eval <<"END";
while (<UD>) {
next if /^#/;
- next if /^\s*\$/;
+ next if /^\\s*\$/;
chop;
$split
if ($wanted) {
@@ -376,4 +390,44 @@ END
$out;
}
+sub listFromPropFile {
+ my ($wanted) = @_;
+ my $out;
+
+ open (UD, $PropData) or die "Can't open $PropData: $!\n";
+ local($/) = "\n" . '*' x 43 . "\n\nProperty dump for:"; # not 42?
+
+ <UD>;
+ while (<UD>) {
+ chomp;
+ if (s/0x[\d\w]+\s+\((.*?)\)// and $wanted eq $1) {
+ s/\(\d+ chars\)//g;
+ s/^\s+//mg;
+ s/\s+$//mg;
+ s/\.\./\t/g;
+ $out = lc $_;
+ last;
+ }
+ }
+ close (UD);
+ "$out\n";
+}
+
+sub syllable_defs {
+ my @defs;
+ my %seen;
+
+ open (SD, $SyllableData) or die "Can't open $SyllableData: $!\n";
+ while (<SD>) {
+ next if /^\s*(#|$)/;
+ s/\s+$//;
+ ($code, $name, $syl) = split /; */;
+ next unless $syl;
+ push (@defs, ["IsSyl$syl", qq{\$syl eq "$syl"}, ''])
+ unless $seen{$syl}++;
+ }
+ close (SD);
+ return (@defs);
+}
+
# eof