diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-21 16:12:08 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-21 16:12:08 +0000 |
commit | 983ffd37e39751798fdd14853511af238c5fe291 (patch) | |
tree | 6187c0ad68570488854d02859a100a727b1f973c /lib/unicore | |
parent | b050c948e7b63d3513ca9c148115d3ea439bf57f (diff) | |
download | perl-983ffd37e39751798fdd14853511af238c5fe291.tar.gz |
Implement multicharacter case mappings where a single
Unicode character can be mapped into several.
p4raw-id: //depot/perl@12546
Diffstat (limited to 'lib/unicore')
-rw-r--r-- | lib/unicore/To/Lower.pl | 106 | ||||
-rw-r--r-- | lib/unicore/To/SpecLower.pl | 107 | ||||
-rw-r--r-- | lib/unicore/To/SpecTitle.pl | 106 | ||||
-rw-r--r-- | lib/unicore/To/SpecUpper.pl | 106 | ||||
-rw-r--r-- | lib/unicore/To/Title.pl | 106 | ||||
-rw-r--r-- | lib/unicore/To/Upper.pl | 106 | ||||
-rw-r--r-- | lib/unicore/mktables | 30 |
7 files changed, 341 insertions, 326 deletions
diff --git a/lib/unicore/To/Lower.pl b/lib/unicore/To/Lower.pl index 0fd4f8dbb0..ce89c8e2a7 100644 --- a/lib/unicore/To/Lower.pl +++ b/lib/unicore/To/Lower.pl @@ -1,6 +1,112 @@ # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! # This file is built by mktables from e.g. Unicode.txt. # Any changes made here will be lost! + +%utf8::ToSpecLower = ( +'223' => "\x{00DF}", +'329' => "\x{0149}", +'496' => "\x{01F0}", +'912' => "\x{0390}", +'944' => "\x{03B0}", +'1415' => "\x{0587}", +'7830' => "\x{1E96}", +'7831' => "\x{1E97}", +'7832' => "\x{1E98}", +'7833' => "\x{1E99}", +'7834' => "\x{1E9A}", +'8016' => "\x{1F50}", +'8018' => "\x{1F52}", +'8020' => "\x{1F54}", +'8022' => "\x{1F56}", +'8064' => "\x{1F80}", +'8065' => "\x{1F81}", +'8066' => "\x{1F82}", +'8067' => "\x{1F83}", +'8068' => "\x{1F84}", +'8069' => "\x{1F85}", +'8070' => "\x{1F86}", +'8071' => "\x{1F87}", +'8072' => "\x{1F80}", +'8073' => "\x{1F81}", +'8074' => "\x{1F82}", +'8075' => "\x{1F83}", +'8076' => "\x{1F84}", +'8077' => "\x{1F85}", +'8078' => "\x{1F86}", +'8079' => "\x{1F87}", +'8080' => "\x{1F90}", +'8081' => "\x{1F91}", +'8082' => "\x{1F92}", +'8083' => "\x{1F93}", +'8084' => "\x{1F94}", +'8085' => "\x{1F95}", +'8086' => "\x{1F96}", +'8087' => "\x{1F97}", +'8088' => "\x{1F90}", +'8089' => "\x{1F91}", +'8090' => "\x{1F92}", +'8091' => "\x{1F93}", +'8092' => "\x{1F94}", +'8093' => "\x{1F95}", +'8094' => "\x{1F96}", +'8095' => "\x{1F97}", +'8096' => "\x{1FA0}", +'8097' => "\x{1FA1}", +'8098' => "\x{1FA2}", +'8099' => "\x{1FA3}", +'8100' => "\x{1FA4}", +'8101' => "\x{1FA5}", +'8102' => "\x{1FA6}", +'8103' => "\x{1FA7}", +'8104' => "\x{1FA0}", +'8105' => "\x{1FA1}", +'8106' => "\x{1FA2}", +'8107' => "\x{1FA3}", +'8108' => "\x{1FA4}", +'8109' => "\x{1FA5}", +'8110' => "\x{1FA6}", +'8111' => "\x{1FA7}", +'8114' => "\x{1FB2}", +'8115' => "\x{1FB3}", +'8116' => "\x{1FB4}", +'8118' => "\x{1FB6}", +'8119' => "\x{1FB7}", +'8124' => "\x{1FB3}", +'8130' => "\x{1FC2}", +'8131' => "\x{1FC3}", +'8132' => "\x{1FC4}", +'8134' => "\x{1FC6}", +'8135' => "\x{1FC7}", +'8140' => "\x{1FC3}", +'8146' => "\x{1FD2}", +'8147' => "\x{1FD3}", +'8150' => "\x{1FD6}", +'8151' => "\x{1FD7}", +'8162' => "\x{1FE2}", +'8163' => "\x{1FE3}", +'8164' => "\x{1FE4}", +'8166' => "\x{1FE6}", +'8167' => "\x{1FE7}", +'8178' => "\x{1FF2}", +'8179' => "\x{1FF3}", +'8180' => "\x{1FF4}", +'8182' => "\x{1FF6}", +'8183' => "\x{1FF7}", +'8188' => "\x{1FF3}", +'64256' => "\x{FB00}", +'64257' => "\x{FB01}", +'64258' => "\x{FB02}", +'64259' => "\x{FB03}", +'64260' => "\x{FB04}", +'64261' => "\x{FB05}", +'64262' => "\x{FB06}", +'64275' => "\x{FB13}", +'64276' => "\x{FB14}", +'64277' => "\x{FB15}", +'64278' => "\x{FB16}", +'64279' => "\x{FB17}", +); + return <<'END'; 0041 0061 0042 0062 diff --git a/lib/unicore/To/SpecLower.pl b/lib/unicore/To/SpecLower.pl deleted file mode 100644 index 18c073b98b..0000000000 --- a/lib/unicore/To/SpecLower.pl +++ /dev/null @@ -1,107 +0,0 @@ -# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! -# This file is built by mktables from e.g. Unicode.txt. -# Any changes made here will be lost! -return <<'END'; -00DF 00DF -0149 0149 -01F0 01F0 -0390 0390 -03B0 03B0 -0587 0587 -1E96 1E96 -1E97 1E97 -1E98 1E98 -1E99 1E99 -1E9A 1E9A -1F50 1F50 -1F52 1F52 -1F54 1F54 -1F56 1F56 -1F80 1F80 -1F81 1F81 -1F82 1F82 -1F83 1F83 -1F84 1F84 -1F85 1F85 -1F86 1F86 -1F87 1F87 -1F88 1F80 -1F89 1F81 -1F8A 1F82 -1F8B 1F83 -1F8C 1F84 -1F8D 1F85 -1F8E 1F86 -1F8F 1F87 -1F90 1F90 -1F91 1F91 -1F92 1F92 -1F93 1F93 -1F94 1F94 -1F95 1F95 -1F96 1F96 -1F97 1F97 -1F98 1F90 -1F99 1F91 -1F9A 1F92 -1F9B 1F93 -1F9C 1F94 -1F9D 1F95 -1F9E 1F96 -1F9F 1F97 -1FA0 1FA0 -1FA1 1FA1 -1FA2 1FA2 -1FA3 1FA3 -1FA4 1FA4 -1FA5 1FA5 -1FA6 1FA6 -1FA7 1FA7 -1FA8 1FA0 -1FA9 1FA1 -1FAA 1FA2 -1FAB 1FA3 -1FAC 1FA4 -1FAD 1FA5 -1FAE 1FA6 -1FAF 1FA7 -1FB2 1FB2 -1FB3 1FB3 -1FB4 1FB4 -1FB6 1FB6 -1FB7 1FB7 -1FBC 1FB3 -1FC2 1FC2 -1FC3 1FC3 -1FC4 1FC4 -1FC6 1FC6 -1FC7 1FC7 -1FCC 1FC3 -1FD2 1FD2 -1FD3 1FD3 -1FD6 1FD6 -1FD7 1FD7 -1FE2 1FE2 -1FE3 1FE3 -1FE4 1FE4 -1FE6 1FE6 -1FE7 1FE7 -1FF2 1FF2 -1FF3 1FF3 -1FF4 1FF4 -1FF6 1FF6 -1FF7 1FF7 -1FFC 1FF3 -FB00 FB00 -FB01 FB01 -FB02 FB02 -FB03 FB03 -FB04 FB04 -FB05 FB05 -FB06 FB06 -FB13 FB13 -FB14 FB14 -FB15 FB15 -FB16 FB16 -FB17 FB17 -END diff --git a/lib/unicore/To/SpecTitle.pl b/lib/unicore/To/SpecTitle.pl deleted file mode 100644 index c3e1911408..0000000000 --- a/lib/unicore/To/SpecTitle.pl +++ /dev/null @@ -1,106 +0,0 @@ -# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! -# This file is built by mktables from e.g. Unicode.txt. -# Any changes made here will be lost! -return <<'END'; -00DF 0053 0073 -0149 02BC 004E -01F0 004A 030C -0390 0399 0308 0301 -03B0 03A5 0308 0301 -0587 0535 0582 -1E96 0048 0331 -1E97 0054 0308 -1E98 0057 030A -1E99 0059 030A -1E9A 0041 02BE -1F50 03A5 0313 -1F52 03A5 0313 0300 -1F54 03A5 0313 0301 -1F56 03A5 0313 0342 -1F80 1F88 -1F81 1F89 -1F82 1F8A -1F83 1F8B -1F84 1F8C -1F85 1F8D -1F86 1F8E -1F87 1F8F -1F88 1F88 -1F89 1F89 -1F8A 1F8A -1F8B 1F8B -1F8C 1F8C -1F8D 1F8D -1F8E 1F8E -1F8F 1F8F -1F90 1F98 -1F91 1F99 -1F92 1F9A -1F93 1F9B -1F94 1F9C -1F95 1F9D -1F96 1F9E -1F97 1F9F -1F98 1F98 -1F99 1F99 -1F9A 1F9A -1F9B 1F9B -1F9C 1F9C -1F9D 1F9D -1F9E 1F9E -1F9F 1F9F -1FA0 1FA8 -1FA1 1FA9 -1FA2 1FAA -1FA3 1FAB -1FA4 1FAC -1FA5 1FAD -1FA6 1FAE -1FA7 1FAF -1FA8 1FA8 -1FA9 1FA9 -1FAA 1FAA -1FAB 1FAB -1FAC 1FAC -1FAD 1FAD -1FAE 1FAE -1FAF 1FAF -1FB2 1FBA 0345 -1FB3 1FBC -1FB4 0386 0345 -1FB6 0391 0342 -1FB7 0391 0342 0345 -1FBC 1FBC -1FC2 1FCA 0345 -1FC3 1FCC -1FC4 0389 0345 -1FC6 0397 0342 -1FC7 0397 0342 0345 -1FCC 1FCC -1FD2 0399 0308 0300 -1FD3 0399 0308 0301 -1FD6 0399 0342 -1FD7 0399 0308 0342 -1FE2 03A5 0308 0300 -1FE3 03A5 0308 0301 -1FE4 03A1 0313 -1FE6 03A5 0342 -1FE7 03A5 0308 0342 -1FF2 1FFA 0345 -1FF3 1FFC -1FF4 038F 0345 -1FF6 03A9 0342 -1FF7 03A9 0342 0345 -1FFC 1FFC -FB00 0046 0066 -FB01 0046 0069 -FB02 0046 006C -FB03 0046 0066 0069 -FB04 0046 0066 006C -FB05 FB06 0053 0074 -FB13 0544 0576 -FB14 0544 0565 -FB15 0544 056B -FB16 054E 0576 -FB17 0544 056D -END diff --git a/lib/unicore/To/SpecUpper.pl b/lib/unicore/To/SpecUpper.pl deleted file mode 100644 index e5af4b1089..0000000000 --- a/lib/unicore/To/SpecUpper.pl +++ /dev/null @@ -1,106 +0,0 @@ -# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! -# This file is built by mktables from e.g. Unicode.txt. -# Any changes made here will be lost! -return <<'END'; -00DF 0053 0053 -0149 02BC 004E -01F0 004A 030C -0390 0399 0308 0301 -03B0 03A5 0308 0301 -0587 0535 0552 -1E96 0048 0331 -1E97 0054 0308 -1E98 0057 030A -1E99 0059 030A -1E9A 0041 02BE -1F50 03A5 0313 -1F52 03A5 0313 0300 -1F54 03A5 0313 0301 -1F56 03A5 0313 0342 -1F80 1F08 0399 -1F81 1F09 0399 -1F82 1F0A 0399 -1F83 1F0B 0399 -1F84 1F0C 0399 -1F85 1F0D 0399 -1F86 1F0E 0399 -1F87 1F0F 0399 -1F88 1F08 0399 -1F89 1F09 0399 -1F8A 1F0A 0399 -1F8B 1F0B 0399 -1F8C 1F0C 0399 -1F8D 1F0D 0399 -1F8E 1F0E 0399 -1F8F 1F0F 0399 -1F90 1F28 0399 -1F91 1F29 0399 -1F92 1F2A 0399 -1F93 1F2B 0399 -1F94 1F2C 0399 -1F95 1F2D 0399 -1F96 1F2E 0399 -1F97 1F2F 0399 -1F98 1F28 0399 -1F99 1F29 0399 -1F9A 1F2A 0399 -1F9B 1F2B 0399 -1F9C 1F2C 0399 -1F9D 1F2D 0399 -1F9E 1F2E 0399 -1F9F 1F2F 0399 -1FA0 1F68 0399 -1FA1 1F69 0399 -1FA2 1F6A 0399 -1FA3 1F6B 0399 -1FA4 1F6C 0399 -1FA5 1F6D 0399 -1FA6 1F6E 0399 -1FA7 1F6F 0399 -1FA8 1F68 0399 -1FA9 1F69 0399 -1FAA 1F6A 0399 -1FAB 1F6B 0399 -1FAC 1F6C 0399 -1FAD 1F6D 0399 -1FAE 1F6E 0399 -1FAF 1F6F 0399 -1FB2 1FBA 0399 -1FB3 0391 0399 -1FB4 0386 0399 -1FB6 0391 0342 -1FB7 0391 0342 0399 -1FBC 0391 0399 -1FC2 1FCA 0399 -1FC3 0397 0399 -1FC4 0389 0399 -1FC6 0397 0342 -1FC7 0397 0342 0399 -1FCC 0397 0399 -1FD2 0399 0308 0300 -1FD3 0399 0308 0301 -1FD6 0399 0342 -1FD7 0399 0308 0342 -1FE2 03A5 0308 0300 -1FE3 03A5 0308 0301 -1FE4 03A1 0313 -1FE6 03A5 0342 -1FE7 03A5 0308 0342 -1FF2 1FFA 0399 -1FF3 03A9 0399 -1FF4 038F 0399 -1FF6 03A9 0342 -1FF7 03A9 0342 0399 -1FFC 03A9 0399 -FB00 0046 0046 -FB01 0046 0049 -FB02 0046 004C -FB03 0046 0046 0049 -FB04 0046 0046 004C -FB05 FB06 0053 0054 -FB13 0544 0546 -FB14 0544 0535 -FB15 0544 053B -FB16 054E 0546 -FB17 0544 053D -END diff --git a/lib/unicore/To/Title.pl b/lib/unicore/To/Title.pl index 2fca3533c8..3da9ca96ad 100644 --- a/lib/unicore/To/Title.pl +++ b/lib/unicore/To/Title.pl @@ -1,6 +1,112 @@ # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! # This file is built by mktables from e.g. Unicode.txt. # Any changes made here will be lost! + +%utf8::ToSpecTitle = ( +'223' => "\x{0053}\x{0073}", +'329' => "\x{02BC}\x{004E}", +'496' => "\x{004A}\x{030C}", +'912' => "\x{0399}\x{0308}\x{0301}", +'944' => "\x{03A5}\x{0308}\x{0301}", +'1415' => "\x{0535}\x{0582}", +'7830' => "\x{0048}\x{0331}", +'7831' => "\x{0054}\x{0308}", +'7832' => "\x{0057}\x{030A}", +'7833' => "\x{0059}\x{030A}", +'7834' => "\x{0041}\x{02BE}", +'8016' => "\x{03A5}\x{0313}", +'8018' => "\x{03A5}\x{0313}\x{0300}", +'8020' => "\x{03A5}\x{0313}\x{0301}", +'8022' => "\x{03A5}\x{0313}\x{0342}", +'8064' => "\x{1F88}", +'8065' => "\x{1F89}", +'8066' => "\x{1F8A}", +'8067' => "\x{1F8B}", +'8068' => "\x{1F8C}", +'8069' => "\x{1F8D}", +'8070' => "\x{1F8E}", +'8071' => "\x{1F8F}", +'8072' => "\x{1F88}", +'8073' => "\x{1F89}", +'8074' => "\x{1F8A}", +'8075' => "\x{1F8B}", +'8076' => "\x{1F8C}", +'8077' => "\x{1F8D}", +'8078' => "\x{1F8E}", +'8079' => "\x{1F8F}", +'8080' => "\x{1F98}", +'8081' => "\x{1F99}", +'8082' => "\x{1F9A}", +'8083' => "\x{1F9B}", +'8084' => "\x{1F9C}", +'8085' => "\x{1F9D}", +'8086' => "\x{1F9E}", +'8087' => "\x{1F9F}", +'8088' => "\x{1F98}", +'8089' => "\x{1F99}", +'8090' => "\x{1F9A}", +'8091' => "\x{1F9B}", +'8092' => "\x{1F9C}", +'8093' => "\x{1F9D}", +'8094' => "\x{1F9E}", +'8095' => "\x{1F9F}", +'8096' => "\x{1FA8}", +'8097' => "\x{1FA9}", +'8098' => "\x{1FAA}", +'8099' => "\x{1FAB}", +'8100' => "\x{1FAC}", +'8101' => "\x{1FAD}", +'8102' => "\x{1FAE}", +'8103' => "\x{1FAF}", +'8104' => "\x{1FA8}", +'8105' => "\x{1FA9}", +'8106' => "\x{1FAA}", +'8107' => "\x{1FAB}", +'8108' => "\x{1FAC}", +'8109' => "\x{1FAD}", +'8110' => "\x{1FAE}", +'8111' => "\x{1FAF}", +'8114' => "\x{1FBA}\x{0345}", +'8115' => "\x{1FBC}", +'8116' => "\x{0386}\x{0345}", +'8118' => "\x{0391}\x{0342}", +'8119' => "\x{0391}\x{0342}\x{0345}", +'8124' => "\x{1FBC}", +'8130' => "\x{1FCA}\x{0345}", +'8131' => "\x{1FCC}", +'8132' => "\x{0389}\x{0345}", +'8134' => "\x{0397}\x{0342}", +'8135' => "\x{0397}\x{0342}\x{0345}", +'8140' => "\x{1FCC}", +'8146' => "\x{0399}\x{0308}\x{0300}", +'8147' => "\x{0399}\x{0308}\x{0301}", +'8150' => "\x{0399}\x{0342}", +'8151' => "\x{0399}\x{0308}\x{0342}", +'8162' => "\x{03A5}\x{0308}\x{0300}", +'8163' => "\x{03A5}\x{0308}\x{0301}", +'8164' => "\x{03A1}\x{0313}", +'8166' => "\x{03A5}\x{0342}", +'8167' => "\x{03A5}\x{0308}\x{0342}", +'8178' => "\x{1FFA}\x{0345}", +'8179' => "\x{1FFC}", +'8180' => "\x{038F}\x{0345}", +'8182' => "\x{03A9}\x{0342}", +'8183' => "\x{03A9}\x{0342}\x{0345}", +'8188' => "\x{1FFC}", +'64256' => "\x{0046}\x{0066}", +'64257' => "\x{0046}\x{0069}", +'64258' => "\x{0046}\x{006C}", +'64259' => "\x{0046}\x{0066}\x{0069}", +'64260' => "\x{0046}\x{0066}\x{006C}", +'64261' => "\x{0053}\x{0074}", +'64262' => "\x{0053}\x{0074}", +'64275' => "\x{0544}\x{0576}", +'64276' => "\x{0544}\x{0565}", +'64277' => "\x{0544}\x{056B}", +'64278' => "\x{054E}\x{0576}", +'64279' => "\x{0544}\x{056D}", +); + return <<'END'; 0061 0041 0062 0042 diff --git a/lib/unicore/To/Upper.pl b/lib/unicore/To/Upper.pl index bfdd4eadc5..a9c7a9f734 100644 --- a/lib/unicore/To/Upper.pl +++ b/lib/unicore/To/Upper.pl @@ -1,6 +1,112 @@ # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! # This file is built by mktables from e.g. Unicode.txt. # Any changes made here will be lost! + +%utf8::ToSpecUpper = ( +'223' => "\x{0053}\x{0053}", +'329' => "\x{02BC}\x{004E}", +'496' => "\x{004A}\x{030C}", +'912' => "\x{0399}\x{0308}\x{0301}", +'944' => "\x{03A5}\x{0308}\x{0301}", +'1415' => "\x{0535}\x{0552}", +'7830' => "\x{0048}\x{0331}", +'7831' => "\x{0054}\x{0308}", +'7832' => "\x{0057}\x{030A}", +'7833' => "\x{0059}\x{030A}", +'7834' => "\x{0041}\x{02BE}", +'8016' => "\x{03A5}\x{0313}", +'8018' => "\x{03A5}\x{0313}\x{0300}", +'8020' => "\x{03A5}\x{0313}\x{0301}", +'8022' => "\x{03A5}\x{0313}\x{0342}", +'8064' => "\x{1F08}\x{0399}", +'8065' => "\x{1F09}\x{0399}", +'8066' => "\x{1F0A}\x{0399}", +'8067' => "\x{1F0B}\x{0399}", +'8068' => "\x{1F0C}\x{0399}", +'8069' => "\x{1F0D}\x{0399}", +'8070' => "\x{1F0E}\x{0399}", +'8071' => "\x{1F0F}\x{0399}", +'8072' => "\x{1F08}\x{0399}", +'8073' => "\x{1F09}\x{0399}", +'8074' => "\x{1F0A}\x{0399}", +'8075' => "\x{1F0B}\x{0399}", +'8076' => "\x{1F0C}\x{0399}", +'8077' => "\x{1F0D}\x{0399}", +'8078' => "\x{1F0E}\x{0399}", +'8079' => "\x{1F0F}\x{0399}", +'8080' => "\x{1F28}\x{0399}", +'8081' => "\x{1F29}\x{0399}", +'8082' => "\x{1F2A}\x{0399}", +'8083' => "\x{1F2B}\x{0399}", +'8084' => "\x{1F2C}\x{0399}", +'8085' => "\x{1F2D}\x{0399}", +'8086' => "\x{1F2E}\x{0399}", +'8087' => "\x{1F2F}\x{0399}", +'8088' => "\x{1F28}\x{0399}", +'8089' => "\x{1F29}\x{0399}", +'8090' => "\x{1F2A}\x{0399}", +'8091' => "\x{1F2B}\x{0399}", +'8092' => "\x{1F2C}\x{0399}", +'8093' => "\x{1F2D}\x{0399}", +'8094' => "\x{1F2E}\x{0399}", +'8095' => "\x{1F2F}\x{0399}", +'8096' => "\x{1F68}\x{0399}", +'8097' => "\x{1F69}\x{0399}", +'8098' => "\x{1F6A}\x{0399}", +'8099' => "\x{1F6B}\x{0399}", +'8100' => "\x{1F6C}\x{0399}", +'8101' => "\x{1F6D}\x{0399}", +'8102' => "\x{1F6E}\x{0399}", +'8103' => "\x{1F6F}\x{0399}", +'8104' => "\x{1F68}\x{0399}", +'8105' => "\x{1F69}\x{0399}", +'8106' => "\x{1F6A}\x{0399}", +'8107' => "\x{1F6B}\x{0399}", +'8108' => "\x{1F6C}\x{0399}", +'8109' => "\x{1F6D}\x{0399}", +'8110' => "\x{1F6E}\x{0399}", +'8111' => "\x{1F6F}\x{0399}", +'8114' => "\x{1FBA}\x{0399}", +'8115' => "\x{0391}\x{0399}", +'8116' => "\x{0386}\x{0399}", +'8118' => "\x{0391}\x{0342}", +'8119' => "\x{0391}\x{0342}\x{0399}", +'8124' => "\x{0391}\x{0399}", +'8130' => "\x{1FCA}\x{0399}", +'8131' => "\x{0397}\x{0399}", +'8132' => "\x{0389}\x{0399}", +'8134' => "\x{0397}\x{0342}", +'8135' => "\x{0397}\x{0342}\x{0399}", +'8140' => "\x{0397}\x{0399}", +'8146' => "\x{0399}\x{0308}\x{0300}", +'8147' => "\x{0399}\x{0308}\x{0301}", +'8150' => "\x{0399}\x{0342}", +'8151' => "\x{0399}\x{0308}\x{0342}", +'8162' => "\x{03A5}\x{0308}\x{0300}", +'8163' => "\x{03A5}\x{0308}\x{0301}", +'8164' => "\x{03A1}\x{0313}", +'8166' => "\x{03A5}\x{0342}", +'8167' => "\x{03A5}\x{0308}\x{0342}", +'8178' => "\x{1FFA}\x{0399}", +'8179' => "\x{03A9}\x{0399}", +'8180' => "\x{038F}\x{0399}", +'8182' => "\x{03A9}\x{0342}", +'8183' => "\x{03A9}\x{0342}\x{0399}", +'8188' => "\x{03A9}\x{0399}", +'64256' => "\x{0046}\x{0046}", +'64257' => "\x{0046}\x{0049}", +'64258' => "\x{0046}\x{004C}", +'64259' => "\x{0046}\x{0046}\x{0049}", +'64260' => "\x{0046}\x{0046}\x{004C}", +'64261' => "\x{0053}\x{0054}", +'64262' => "\x{0053}\x{0054}", +'64275' => "\x{0544}\x{0546}", +'64276' => "\x{0544}\x{0535}", +'64277' => "\x{0544}\x{053B}", +'64278' => "\x{054E}\x{0546}", +'64279' => "\x{0544}\x{053D}", +); + return <<'END'; 0061 0041 0062 0042 diff --git a/lib/unicore/mktables b/lib/unicore/mktables index 3328f69326..7d8912d977 100644 --- a/lib/unicore/mktables +++ b/lib/unicore/mktables @@ -745,16 +745,32 @@ if (open(my $SpecCase, "SpecCase.txt")) { } # Now write out the special cases properties in their code point order. -# The To/Spec{Lower,Title,Upper}.pl are unused for now since the swash -# routines do not do returning multiple characters. +# Prepend them to the To/{Upper,Lower,Title}.pl. for my $case (qw(Lower Title Upper)) { - my @case; - for my $prop (sort { $a->[0] <=> $b->[0] } @{$Case{$case}}) { - my ($ix, $code, $to) = @$prop; - append(\@case, $code, $to); + my $NormalCase = do "To/$case.pl"; + if (open(my $Case, ">To/$case.pl")) { + header($Case); + print $Case <<EOT; + +%utf8::ToSpec$case = ( +EOT + for my $prop (sort { $a->[0] <=> $b->[0] } @{$Case{$case}}) { + my ($ix, $code, $to) = @$prop; + my $tostr = + join "", map { sprintf "\\x{%s}", $_ } split ' ', $to; + print $Case qq['$ix' => "$tostr",\n]; + } + print $Case <<EOT; +); + +EOT + begin($Case); + print $Case $NormalCase; + end($Case); + } else { + die "$0: To/$case.txt: $!\n"; } - flush(\@case, "To/Spec$case.pl"); } # That's all, folks! |