diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-03 15:57:34 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-03 15:57:34 +0000 |
commit | c602af677d8c7bd977ba491d5b450211d4807d32 (patch) | |
tree | 4145bba48b823be3124afce642753d1819760a6e /lib | |
parent | 4f9392f7a2bc76232430e428c2332195e3cb1c32 (diff) | |
download | perl-c602af677d8c7bd977ba491d5b450211d4807d32.tar.gz |
Add the 'Common' Unicode property (code points not
explicitly assigned to any other script).
p4raw-id: //depot/perl@12318
Diffstat (limited to 'lib')
-rw-r--r-- | lib/unicore/In.pl | 2 | ||||
-rw-r--r-- | lib/unicore/In/136.pl | 351 | ||||
-rwxr-xr-x | lib/unicore/mktables.PL | 40 |
3 files changed, 393 insertions, 0 deletions
diff --git a/lib/unicore/In.pl b/lib/unicore/In.pl index 52383f3a57..2a82359701 100644 --- a/lib/unicore/In.pl +++ b/lib/unicore/In.pl @@ -138,6 +138,7 @@ 'CJK Unified Ideographs Extension B' => 133, 'CJK Compatibility Ideographs Supplement' => 134, 'Tags' => 135, +'Common' => 136, ); %utf8::InPat = ( 'alp' => { @@ -202,6 +203,7 @@ 'Combining(?:[-_]|\s+)?Diacritical(?:[-_]|\s+)?Marks' => 'Combining Diacritical Marks', 'Combining(?:[-_]|\s+)?Marks(?:[-_]|\s+)?for(?:[-_]|\s+)?Symbols' => 'Combining Marks for Symbols', 'Combining(?:[-_]|\s+)?Half(?:[-_]|\s+)?Marks' => 'Combining Half Marks', + 'Common' => 'Common', }, 'con' => { 'Control(?:[-_]|\s+)?Pictures' => 'Control Pictures', diff --git a/lib/unicore/In/136.pl b/lib/unicore/In/136.pl new file mode 100644 index 0000000000..b1abb046ca --- /dev/null +++ b/lib/unicore/In/136.pl @@ -0,0 +1,351 @@ +# !!!!!!! 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 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 +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 +0363 0379 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 +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 +0557 0558 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 +0904 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 +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 +1022 Common # In/136.pl +1028 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 +1207 Common # In/136.pl +1247 Common # In/136.pl +1249 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 +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 +1311 Common # In/136.pl +1316 1317 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 +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 +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 +3006 Common # In/136.pl +3008 3020 Common # In/136.pl +3030 3037 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 +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 +END diff --git a/lib/unicore/mktables.PL b/lib/unicore/mktables.PL index 09b8911691..a63fbf09de 100755 --- a/lib/unicore/mktables.PL +++ b/lib/unicore/mktables.PL @@ -272,6 +272,8 @@ return <<'END'; END my %Scripts; +my $ScriptsVec = ''; +my $lastlast = 0; while (<UD>) { next if /^#/; @@ -303,6 +305,13 @@ $code $last END close SCRIPT; } + my $firsti = hex($code); + my $lasti = $last ? hex($last) : $firsti; + for my $i ($firsti..$lasti) { + vec($ScriptsVec, $i, 1) = 1; + } + $lastlast = $lasti if $lasti > $lastlast; + print "\t\t$code..$last\n"; } for my $id (values %InIdScript) { @@ -364,6 +373,37 @@ END2 print OUT "END\n"; close OUT; +print "\tCommon\n"; +my $CommonId = $Scripts{Common} = $InIdScript{Common} = $InId++; +open(SCRIPT, ">In/$CommonId.pl") or die "create In/$CommonId.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 +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; + } +} +for my $i (0..$lastlast) { + if (vec($ScriptsVec, $i, 1)) { + defined $first && flushzerorange($i); + } else { + $first = $i unless defined $first; + } +} +flushzerorange($lastlast+1); +print SCRIPT "END\n"; +close(SCRIPT); + open(INID, ">In.pl"); print INID <<EOH; |