diff --git a/ChangeLog b/ChangeLog index ef46b97215..fd9601e5ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2000-11-01 Ulrich Drepper + + * iconvdata/TESTS: Add entries for IBM856, IBM930, IBM933, IBM935, + IBM937, IBM939, and IBM1046. + * iconvdata/testdata/IBM1046: New file. + * iconvdata/testdata/IBM930..UTF8: New file. + * iconvdata/testdata/IBM1046..UTF8: New file. + * iconvdata/testdata/IBM933: New file. + * iconvdata/testdata/IBM935: New file. + * iconvdata/testdata/IBM937: New file. + * iconvdata/testdata/IBM856..UTF8: New file. + * iconvdata/testdata/IBM939: New file. + * iconvdata/testdata/IBM933..UTF8: New file. + * iconvdata/testdata/IBM935..UTF8: New file. + * iconvdata/testdata/IBM930: New file. + * iconvdata/testdata/IBM856: New file. + * iconvdata/testdata/IBM937..UTF8: New file. + * iconvdata/testdata/IBM939..UTF8: New file. + Contributed by Masahide Washizawa . + +2000-11-01 Martin Buchholz + + * manual/memory.texi (Hooks for Malloc): Fix `caller' arg docs to + agree with implementation. + 2000-11-01 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/time.h (CLK_TCK): Cast sysconf result diff --git a/iconvdata/TESTS b/iconvdata/TESTS index eb3776537a..cbdae2ea44 100644 --- a/iconvdata/TESTS +++ b/iconvdata/TESTS @@ -88,3 +88,10 @@ EUC-TW EUC-TW Y UTF8 GBK GBK Y UTF8 BIG5HKSCS BIG5HKSCS Y UTF8 UTF-7 UTF-7 N UTF8 +IBM856 IBM856 N UTF8 +IBM930 IBM930 N UTF8 +IBM933 IBM933 N UTF8 +IBM935 IBM935 N UTF8 +IBM937 IBM937 N UTF8 +IBM939 IBM939 N UTF8 +IBM1046 IBM1046 Y UTF8 diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh index a000b68b14..532006cdcb 100755 --- a/iconvdata/run-iconv-test.sh +++ b/iconvdata/run-iconv-test.sh @@ -84,8 +84,8 @@ while read from to subset targets; do rm -f $temp1 $temp2 # Now test some bigger text, entirely in ASCII. If ASCII is no subset - # of the coded character set we test we convert the test to this - # coded character set. Otherwise we convert to all the TARGETS. + # of the coded character set we convert the text to this coded character + # set. Otherwise we convert to all the TARGETS. if test $subset = Y; then echo $ac_n " suntzu: $from -> $t -> $to $ac_c" $PROG -f $from -t $t testdata/suntzus | diff --git a/iconvdata/testdata/IBM1046 b/iconvdata/testdata/IBM1046 new file mode 100644 index 0000000000..0a43e9523a --- /dev/null +++ b/iconvdata/testdata/IBM1046 @@ -0,0 +1,14 @@ + ! " # $ % & ' ( ) * + , - . / 0 +1 2 3 4 5 6 7 8 9 : ; < = > ? @ A +B C D E F G H I J K L M N O P Q R +S T U V W X Y Z [ \ ] ^ _ ` a b c +d e f g h i j k l m n o p q r s t +u v w x y z { | } ~  + + + + + + + + diff --git a/iconvdata/testdata/IBM1046..UTF8 b/iconvdata/testdata/IBM1046..UTF8 new file mode 100644 index 0000000000..ed2679759b --- /dev/null +++ b/iconvdata/testdata/IBM1046..UTF8 @@ -0,0 +1,14 @@ + ! " # $ % & ' ( ) * + , - . / 0 +1 2 3 4 5 6 7 8 9 : ; < = > ? @ A +B C D E F G H I J K L M N O P Q R +S T U V W X Y Z [ \ ] ^ _ ` a b c +d e f g h i j k l m n o p q r s t +u v w x y z { | } ~  ﺈ × ÷ س ش ص +ض ﹱ ˆ ■ │ ─ ┐ ┌ └ ┘ ﹹ ﹻ ﹽ ﹿ ﹷ ﺊ ﻰ +ﻳ ﻲ ﻎ ﻏ ﻐ ﻶ ﻸ ﻺ ﻼ   ﺂ ﺄ ﺈ ¤ ﺎ ﺋ ﺑ +ﺗ ﺛ ﺟ ﺣ ، ­ ﺧ ﺳ ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ +٩ ﺷ ؛ ﺻ ﺿ ﻊ ؟ ﻋ ء آ أ ؤ إ ئ ا ب ة +ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ +ﻌ ﺂ ﺄ ﺎ ﻓ ـ ف ق ك ل م ن ه و ى ي ً +ٌ ٍ َ ُ ِ ّ ْ ﻗ ﻛ ﻟ ​ ﻵ ﻷ ﻹ ﻻ ﻣ ﻧ +ﻬ ﻩ diff --git a/iconvdata/testdata/IBM856 b/iconvdata/testdata/IBM856 new file mode 100644 index 0000000000..83af6682f1 --- /dev/null +++ b/iconvdata/testdata/IBM856 @@ -0,0 +1,11 @@ + ! " # $ % & ' ( ) * + , - . / 0 +1 2 3 4 5 6 7 8 9 : ; < = > ? @ A +B C D E F G H I J K L M N O P Q R +S T U V W X Y Z [ \ ] ^ _ ` a b c +d e f g h i j k l m n o p q r s t +u v w x y z { | } ~  + + + + + diff --git a/iconvdata/testdata/IBM856..UTF8 b/iconvdata/testdata/IBM856..UTF8 new file mode 100644 index 0000000000..080fe1d679 --- /dev/null +++ b/iconvdata/testdata/IBM856..UTF8 @@ -0,0 +1,11 @@ + ! " # $ % & ' ( ) * + , - . / 0 +1 2 3 4 5 6 7 8 9 : ; < = > ? @ A +B C D E F G H I J K L M N O P Q R +S T U V W X Y Z [ \ ] ^ _ ` a b c +d e f g h i j k l m n o p q r s t +u v w x y z { | } ~  א ב ג ד ה ו +ז ח ט י ך כ ל ם מ ן נ ס ע ף פ ץ צ +ק ר ש ת £ × ® ¬ ½ ¼ « » ░ ▒ ▓ │ ┤ +© ╣ ║ ╗ ╝ ¢ ¥ ┐ └ ┴ ┬ ├ ─ ┼ ╚ ╔ ╩ +╦ ╠ ═ ╬ ¤ ┘ ┌ █ ▄ ¦ ▀ µ ‾ ´ ­ ± ‗ +¾ ¶ § ÷ ¸ ° ¨ • ¹ ³ ² ■   diff --git a/iconvdata/testdata/IBM930 b/iconvdata/testdata/IBM930 new file mode 100644 index 0000000000..551cb60797 Binary files /dev/null and b/iconvdata/testdata/IBM930 differ diff --git a/iconvdata/testdata/IBM930..UTF8 b/iconvdata/testdata/IBM930..UTF8 new file mode 100644 index 0000000000..89df7f15ac Binary files /dev/null and b/iconvdata/testdata/IBM930..UTF8 differ diff --git a/iconvdata/testdata/IBM933 b/iconvdata/testdata/IBM933 new file mode 100644 index 0000000000..4da0d685bf Binary files /dev/null and b/iconvdata/testdata/IBM933 differ diff --git a/iconvdata/testdata/IBM933..UTF8 b/iconvdata/testdata/IBM933..UTF8 new file mode 100644 index 0000000000..025c6285e1 Binary files /dev/null and b/iconvdata/testdata/IBM933..UTF8 differ diff --git a/iconvdata/testdata/IBM935 b/iconvdata/testdata/IBM935 new file mode 100644 index 0000000000..4a905ee27e Binary files /dev/null and b/iconvdata/testdata/IBM935 differ diff --git a/iconvdata/testdata/IBM935..UTF8 b/iconvdata/testdata/IBM935..UTF8 new file mode 100644 index 0000000000..2fc263d52a Binary files /dev/null and b/iconvdata/testdata/IBM935..UTF8 differ diff --git a/iconvdata/testdata/IBM937 b/iconvdata/testdata/IBM937 new file mode 100644 index 0000000000..58bd2632c4 Binary files /dev/null and b/iconvdata/testdata/IBM937 differ diff --git a/iconvdata/testdata/IBM937..UTF8 b/iconvdata/testdata/IBM937..UTF8 new file mode 100644 index 0000000000..61282f129f Binary files /dev/null and b/iconvdata/testdata/IBM937..UTF8 differ diff --git a/iconvdata/testdata/IBM939 b/iconvdata/testdata/IBM939 new file mode 100644 index 0000000000..9c10f9e416 Binary files /dev/null and b/iconvdata/testdata/IBM939 differ diff --git a/iconvdata/testdata/IBM939..UTF8 b/iconvdata/testdata/IBM939..UTF8 new file mode 100644 index 0000000000..89df7f15ac Binary files /dev/null and b/iconvdata/testdata/IBM939..UTF8 differ diff --git a/intl/translit.po b/intl/translit.po index 0dc380f525..5df5d0d064 100644 --- a/intl/translit.po +++ b/intl/translit.po @@ -3,7 +3,7 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" msgid "test" -msgstr "" +msgstr "߻" msgid "onemore" -msgstr "ssdf" +msgstr "*=" diff --git a/intl/tst-translit.c b/intl/tst-translit.c index f12d99bc96..8e4e6ca26d 100644 --- a/intl/tst-translit.c +++ b/intl/tst-translit.c @@ -39,11 +39,11 @@ main (void) puts (s); \ result |= strcmp (s, exp) != 0; - TEST ("test", "aeoeueAEUEOEss"); - TEST ("test", "aeoeueAEUEOEss"); - TEST ("onemore", "AEssdf"); - TEST ("onemore", "AEssdf"); - TEST ("test", "aeoeueAEUEOEss"); + TEST ("test", "<<(C) AEss>>"); + TEST ("test", "<<(C) AEss>>"); + TEST ("onemore", "1/2*1/2=1/4"); + TEST ("onemore", "1/2*1/2=1/4"); + TEST ("test", "<<(C) AEss>>"); return result; } diff --git a/locale/C-translit.h b/locale/C-translit.h index 2d42133b0e..09c0346636 100644 --- a/locale/C-translit.h +++ b/locale/C-translit.h @@ -1,21 +1,258 @@ -#define NTRANSLIT 20 +#define NTRANSLIT 425 static const uint32_t translit_from_idx[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, - 24, 26, 28, 30, 32, 34, 36, 38 + 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, + 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, + 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, + 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, + 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, + 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, + 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, + 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, + 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, + 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, + 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, + 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, + 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, + 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, + 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, + 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, + 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, + 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, + 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, + 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, + 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, + 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, + 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, + 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, + 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, + 672, 674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, + 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, + 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 742, + 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, 766, + 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, + 792, 794, 796, 798, 800, 802, 804, 806, 808, 810, 812, 814, + 816, 818, 820, 822, 824, 826, 828, 830, 832, 834, 836, 838, + 840, 842, 844, 846, 848 }; static const wchar_t translit_from_tbl[] = - L"\xa9" L"\0" L"\xab" L"\0" L"\xae" L"\0" L"\xbb" L"\0" L"\xbc" L"\0" - L"\xbd" L"\0" L"\xbe" L"\0" L"\xc4" L"\0" L"\xc5" L"\0" L"\xc6" L"\0" - L"\xd6" L"\0" L"\xdc" L"\0" L"\xdf" L"\0" L"\xe4" L"\0" L"\xe5" L"\0" - L"\xe6" L"\0" L"\xf6" L"\0" L"\xfc" L"\0" L"\x201c" L"\0" L"\x201d"; + L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae" + L"\0" L"\x00bb" L"\0" L"\x00bc" L"\0" L"\x00bd" L"\0" L"\x00be" L"\0" + L"\x00c6" L"\0" L"\x00df" L"\0" L"\x00e6" L"\0" L"\x0132" L"\0" L"\x0133" + L"\0" L"\x017f" L"\0" L"\x01c7" L"\0" L"\x01c8" L"\0" L"\x01c9" L"\0" + L"\x01ca" L"\0" L"\x01cb" L"\0" L"\x01cc" L"\0" L"\x01f1" L"\0" L"\x01f2" + L"\0" L"\x01f3" L"\0" L"\x02dc" L"\0" L"\x2002" L"\0" L"\x2003" L"\0" + L"\x2004" L"\0" L"\x2005" L"\0" L"\x2006" L"\0" L"\x2008" L"\0" L"\x2009" + L"\0" L"\x200a" L"\0" L"\x2010" L"\0" L"\x2011" L"\0" L"\x2012" L"\0" + L"\x2013" L"\0" L"\x2014" L"\0" L"\x2015" L"\0" L"\x2018" L"\0" L"\x2019" + L"\0" L"\x201a" L"\0" L"\x201b" L"\0" L"\x201c" L"\0" L"\x201d" L"\0" + L"\x201e" L"\0" L"\x201f" L"\0" L"\x2020" L"\0" L"\x2022" L"\0" L"\x2024" + L"\0" L"\x2025" L"\0" L"\x2026" L"\0" L"\x2039" L"\0" L"\x203a" L"\0" + L"\x203c" L"\0" L"\x2048" L"\0" L"\x2049" L"\0" L"\x20a8" L"\0" L"\x20ac" + L"\0" L"\x2100" L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" + L"\x2106" L"\0" L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" + L"\0" L"\x210e" L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" + L"\x2113" L"\0" L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" + L"\0" L"\x211b" L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" + L"\x2122" L"\0" L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" + L"\0" L"\x212d" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0" + L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2153" L"\0" L"\x2154" + L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158" L"\0" + L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0" L"\x215d" + L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161" L"\0" + L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0" L"\x2166" + L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a" L"\0" + L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0" L"\x216f" + L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173" L"\0" + L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0" L"\x2178" + L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c" L"\0" + L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0" L"\x2192" + L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x2212" L"\0" L"\x2215" L"\0" + L"\x2264" L"\0" L"\x2265" L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x2460" + L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464" L"\0" + L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0" L"\x2469" + L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d" L"\0" + L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0" L"\x2472" + L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476" L"\0" + L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0" L"\x247b" + L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f" L"\0" + L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0" L"\x2484" + L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488" L"\0" + L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0" L"\x248d" + L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491" L"\0" + L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0" L"\x2496" + L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a" L"\0" + L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0" L"\x249f" + L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3" L"\0" + L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0" L"\x24a8" + L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac" L"\0" + L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0" L"\x24b1" + L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5" L"\0" + L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0" L"\x24ba" + L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be" L"\0" + L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0" L"\x24c3" + L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7" L"\0" + L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0" L"\x24cc" + L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0" L"\0" + L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0" L"\x24d5" + L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9" L"\0" + L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0" L"\x24de" + L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2" L"\0" + L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0" L"\x24e7" + L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500" L"\0" + L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0" L"\x2518" + L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534" L"\0" + L"\x253c" L"\0" L"\x3000" L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" + L"\0" L"\xfb03" L"\0" L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" + L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50" L"\0" L"\xfe52" + L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0" L"\xfe57" L"\0" + L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c" L"\0" L"\xfe5f" + L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0" L"\xfe63" L"\0" + L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68" L"\0" L"\xfe69" + L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xff01" L"\0" L"\xff02" L"\0" + L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05" L"\0" L"\xff06" L"\0" L"\xff07" + L"\0" L"\xff08" L"\0" L"\xff09" L"\0" L"\xff0a" L"\0" L"\xff0b" L"\0" + L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e" L"\0" L"\xff0f" L"\0" L"\xff10" + L"\0" L"\xff11" L"\0" L"\xff12" L"\0" L"\xff13" L"\0" L"\xff14" L"\0" + L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17" L"\0" L"\xff18" L"\0" L"\xff19" + L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0" L"\xff1c" L"\0" L"\xff1d" L"\0" + L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20" L"\0" L"\xff21" L"\0" L"\xff22" + L"\0" L"\xff23" L"\0" L"\xff24" L"\0" L"\xff25" L"\0" L"\xff26" L"\0" + L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29" L"\0" L"\xff2a" L"\0" L"\xff2b" + L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0" L"\xff2e" L"\0" L"\xff2f" L"\0" + L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32" L"\0" L"\xff33" L"\0" L"\xff34" + L"\0" L"\xff35" L"\0" L"\xff36" L"\0" L"\xff37" L"\0" L"\xff38" L"\0" + L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b" L"\0" L"\xff3c" L"\0" L"\xff3d" + L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0" L"\xff40" L"\0" L"\xff41" L"\0" + L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44" L"\0" L"\xff45" L"\0" L"\xff46" + L"\0" L"\xff47" L"\0" L"\xff48" L"\0" L"\xff49" L"\0" L"\xff4a" L"\0" + L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d" L"\0" L"\xff4e" L"\0" L"\xff4f" + L"\0" L"\xff50" L"\0" L"\xff51" L"\0" L"\xff52" L"\0" L"\xff53" L"\0" + L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56" L"\0" L"\xff57" L"\0" L"\xff58" + L"\0" L"\xff59" L"\0" L"\xff5a" L"\0" L"\xff5b" L"\0" L"\xff5c" L"\0" + L"\xff5d" L"\0" L"\xff5e"; static const uint32_t translit_to_idx[] = { - 0, 5, 9, 14, 18, 23, 28, 33, 37, 41, 45, 49, - 53, 57, 61, 65, 69, 73, 77, 80 + 0, 3, 8, 12, 15, 20, 24, 29, 34, 39, 43, 47, + 51, 55, 59, 62, 66, 70, 74, 78, 82, 86, 90, 94, + 98, 101, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, + 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 165, 168, + 171, 174, 177, 181, 186, 189, 192, 196, 200, 204, 208, 213, + 218, 223, 226, 231, 236, 239, 242, 245, 248, 251, 254, 257, + 260, 263, 266, 270, 273, 276, 279, 282, 285, 290, 296, 299, + 304, 307, 310, 313, 316, 319, 322, 325, 328, 331, 336, 341, + 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 395, 398, + 402, 407, 411, 414, 418, 423, 429, 433, 436, 440, 445, 448, + 451, 454, 457, 460, 464, 469, 473, 476, 480, 485, 491, 495, + 498, 502, 507, 510, 513, 516, 519, 523, 527, 531, 535, 538, + 541, 545, 549, 553, 557, 562, 567, 572, 577, 582, 587, 592, + 597, 602, 608, 614, 620, 626, 632, 638, 644, 650, 656, 662, + 668, 673, 678, 683, 688, 693, 698, 703, 708, 713, 719, 725, + 731, 737, 743, 749, 755, 761, 767, 773, 779, 783, 787, 791, + 795, 799, 803, 807, 811, 815, 820, 825, 830, 835, 840, 845, + 850, 855, 860, 865, 870, 875, 880, 885, 890, 895, 900, 905, + 910, 915, 920, 925, 930, 935, 940, 945, 950, 955, 960, 965, + 970, 975, 980, 985, 990, 995, 1000, 1005, 1010, 1015, 1020, 1025, + 1030, 1035, 1040, 1045, 1050, 1055, 1060, 1065, 1070, 1075, 1080, 1085, + 1090, 1095, 1100, 1105, 1110, 1115, 1120, 1125, 1130, 1135, 1140, 1145, + 1150, 1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, + 1210, 1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, + 1268, 1271, 1274, 1277, 1280, 1283, 1286, 1289, 1292, 1295, 1298, 1301, + 1305, 1309, 1313, 1318, 1323, 1327, 1330, 1333, 1336, 1339, 1342, 1345, + 1348, 1351, 1354, 1357, 1360, 1363, 1366, 1369, 1372, 1375, 1378, 1381, + 1384, 1387, 1390, 1393, 1396, 1399, 1402, 1405, 1408, 1411, 1414, 1417, + 1420, 1423, 1426, 1429, 1432, 1435, 1438, 1441, 1444, 1447, 1450, 1453, + 1456, 1459, 1462, 1465, 1468, 1471, 1474, 1477, 1480, 1483, 1486, 1489, + 1492, 1495, 1498, 1501, 1504, 1507, 1510, 1513, 1516, 1519, 1522, 1525, + 1528, 1531, 1534, 1537, 1540, 1543, 1546, 1549, 1552, 1555, 1558, 1561, + 1564, 1567, 1570, 1573, 1576, 1579, 1582, 1585, 1588, 1591, 1594, 1597, + 1600, 1603, 1606, 1609, 1612, 1615, 1618, 1621, 1624, 1627, 1630, 1633, + 1636, 1639, 1642, 1645, 1648, 1651, 1654, 1657, 1660, 1663, 1666, 1669, + 1672, 1675, 1678, 1681, 1684 }; static const wchar_t translit_to_tbl[] = - L"(C)\0" L"\0" L"<<\0" L"\0" L"(R)\0" L"\0" L">>\0" L"\0" L"1/4\0" L"\0" - L"1/2\0" L"\0" L"3/4\0" L"\0" L"AE\0" L"\0" L"AA\0" L"\0" L"AE\0" L"\0" - L"OE\0" L"\0" L"UE\0" L"\0" L"ss\0" L"\0" L"ae\0" L"\0" L"aa\0" L"\0" - L"ae\0" L"\0" L"oe\0" L"\0" L"ue\0" L"\0" L"\"\0" L"\0" L"\"\0"; + L" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" + L">>\0" L"\0" L"1/4\0" L"\0" L"1/2\0" L"\0" L"3/4\0" L"\0" L"AE\0" L"\0" + L"ss\0" L"\0" L"ae\0" L"\0" L"IJ\0" L"\0" L"ij\0" L"\0" L"s\0" L"\0" L"LJ\0" + L"\0" L"Lj\0" L"\0" L"lj\0" L"\0" L"NJ\0" L"\0" L"Nj\0" L"\0" L"nj\0" L"\0" + L"DZ\0" L"\0" L"Dz\0" L"\0" L"dz\0" L"\0" L"~\0" L"\0" L" \0" L"\0" L" \0" + L"\0" L" \0" L"\0" L" \0" L"\0" L" \0" L"\0" L" \0" L"\0" L" \0" L"\0" + L" \0" L"\0" L"-\0" L"\0" L"-\0" L"\0" L"-\0" L"\0" L"-\0" L"\0" L"-\0" + L"\0" L"-\0" L"\0" L"'\0" L"\0" L"'\0" L"\0" L",\0" L"\0" L"'\0" L"\0" + L"\"\0" L"\0" L"\"\0" L"\0" L",,\0" L"\0" L"\"\0" L"\0" L"+\0" L"\0" L"o\0" + L"\0" L".\0" L"\0" L"..\0" L"\0" L"...\0" L"\0" L"<\0" L"\0" L">\0" L"\0" + L"!!\0" L"\0" L"?!\0" L"\0" L"!?\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" + L"a/c\0" L"\0" L"a/s\0" L"\0" L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" + L"g\0" L"\0" L"H\0" L"\0" L"H\0" L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" + L"\0" L"I\0" L"\0" L"L\0" L"\0" L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" + L"P\0" L"\0" L"Q\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" + L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0" L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" + L"C\0" L"\0" L"e\0" L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0" + L"\0" L"i\0" L"\0" L"1/3\0" L"\0" L"2/3\0" L"\0" L"1/5\0" L"\0" L"2/5\0" + L"\0" L"3/5\0" L"\0" L"4/5\0" L"\0" L"1/6\0" L"\0" L"5/6\0" L"\0" L"1/8\0" + L"\0" L"3/8\0" L"\0" L"5/8\0" L"\0" L"7/8\0" L"\0" L"1/\0" L"\0" L"I\0" + L"\0" L"II\0" L"\0" L"III\0" L"\0" L"IV\0" L"\0" L"V\0" L"\0" L"VI\0" L"\0" + L"VII\0" L"\0" L"VIII\0" L"\0" L"IX\0" L"\0" L"X\0" L"\0" L"XI\0" L"\0" + L"XII\0" L"\0" L"L\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"M\0" L"\0" L"i\0" + L"\0" L"ii\0" L"\0" L"iii\0" L"\0" L"iv\0" L"\0" L"v\0" L"\0" L"vi\0" L"\0" + L"vii\0" L"\0" L"viii\0" L"\0" L"ix\0" L"\0" L"x\0" L"\0" L"xi\0" L"\0" + L"xii\0" L"\0" L"l\0" L"\0" L"c\0" L"\0" L"d\0" L"\0" L"m\0" L"\0" L"<-\0" + L"\0" L"->\0" L"\0" L"<=\0" L"\0" L"=>\0" L"\0" L"-\0" L"\0" L"/\0" L"\0" + L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0" L">>\0" L"\0" L"(1)\0" L"\0" + L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0" L"\0" + L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0" L"\0" + L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0" L"(16)\0" + L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0" L"\0" + L"(1)\0" L"\0" L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" + L"(6)\0" L"\0" L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" + L"(11)\0" L"\0" L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" + L"\0" L"(16)\0" L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" + L"(20)\0" L"\0" L"1.\0" L"\0" L"2.\0" L"\0" L"3.\0" L"\0" L"4.\0" L"\0" + L"5.\0" L"\0" L"6.\0" L"\0" L"7.\0" L"\0" L"8.\0" L"\0" L"9.\0" L"\0" + L"10.\0" L"\0" L"11.\0" L"\0" L"12.\0" L"\0" L"13.\0" L"\0" L"14.\0" L"\0" + L"15.\0" L"\0" L"16.\0" L"\0" L"17.\0" L"\0" L"18.\0" L"\0" L"19.\0" L"\0" + L"20.\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0" L"(d)\0" L"\0" + L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0" L"(i)\0" L"\0" + L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0" L"(n)\0" L"\0" + L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0" L"(s)\0" L"\0" + L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0" L"(x)\0" L"\0" + L"(y)\0" L"\0" L"(z)\0" L"\0" L"(A)\0" L"\0" L"(B)\0" L"\0" L"(C)\0" L"\0" + L"(D)\0" L"\0" L"(E)\0" L"\0" L"(F)\0" L"\0" L"(G)\0" L"\0" L"(H)\0" L"\0" + L"(I)\0" L"\0" L"(J)\0" L"\0" L"(K)\0" L"\0" L"(L)\0" L"\0" L"(M)\0" L"\0" + L"(N)\0" L"\0" L"(O)\0" L"\0" L"(P)\0" L"\0" L"(Q)\0" L"\0" L"(R)\0" L"\0" + L"(S)\0" L"\0" L"(T)\0" L"\0" L"(U)\0" L"\0" L"(V)\0" L"\0" L"(W)\0" L"\0" + L"(X)\0" L"\0" L"(Y)\0" L"\0" L"(Z)\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" + L"(c)\0" L"\0" L"(d)\0" L"\0" L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" + L"(h)\0" L"\0" L"(i)\0" L"\0" L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" + L"(m)\0" L"\0" L"(n)\0" L"\0" L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" + L"(r)\0" L"\0" L"(s)\0" L"\0" L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" + L"(w)\0" L"\0" L"(x)\0" L"\0" L"(y)\0" L"\0" L"(z)\0" L"\0" L"(0)\0" L"\0" + L"-\0" L"\0" L"|\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" + L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" + L" \0" L"\0" L"ff\0" L"\0" L"fi\0" L"\0" L"fl\0" L"\0" L"ffi\0" L"\0" + L"ffl\0" L"\0" L"st\0" L"\0" L"+\0" L"\0" L"_\0" L"\0" L"_\0" L"\0" L"_\0" + L"\0" L",\0" L"\0" L".\0" L"\0" L";\0" L"\0" L":\0" L"\0" L"?\0" L"\0" + L"!\0" L"\0" L"(\0" L"\0" L")\0" L"\0" L"{\0" L"\0" L"}\0" L"\0" L"#\0" + L"\0" L"&\0" L"\0" L"*\0" L"\0" L"+\0" L"\0" L"-\0" L"\0" L"<\0" L"\0" + L">\0" L"\0" L"=\0" L"\0" L"\\\0" L"\0" L"$\0" L"\0" L"%\0" L"\0" L"@\0" + L"\0" L"!\0" L"\0" L"\"\0" L"\0" L"#\0" L"\0" L"$\0" L"\0" L"%\0" L"\0" + L"&\0" L"\0" L"'\0" L"\0" L"(\0" L"\0" L")\0" L"\0" L"*\0" L"\0" L"+\0" + L"\0" L",\0" L"\0" L"-\0" L"\0" L".\0" L"\0" L"/\0" L"\0" L"0\0" L"\0" + L"1\0" L"\0" L"2\0" L"\0" L"3\0" L"\0" L"4\0" L"\0" L"5\0" L"\0" L"6\0" + L"\0" L"7\0" L"\0" L"8\0" L"\0" L"9\0" L"\0" L":\0" L"\0" L";\0" L"\0" + L"<\0" L"\0" L"=\0" L"\0" L">\0" L"\0" L"?\0" L"\0" L"@\0" L"\0" L"A\0" + L"\0" L"B\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"E\0" L"\0" L"F\0" L"\0" + L"G\0" L"\0" L"H\0" L"\0" L"I\0" L"\0" L"J\0" L"\0" L"K\0" L"\0" L"L\0" + L"\0" L"M\0" L"\0" L"N\0" L"\0" L"O\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" + L"R\0" L"\0" L"S\0" L"\0" L"T\0" L"\0" L"U\0" L"\0" L"V\0" L"\0" L"W\0" + L"\0" L"X\0" L"\0" L"Y\0" L"\0" L"Z\0" L"\0" L"[\0" L"\0" L"\\\0" L"\0" + L"]\0" L"\0" L"^\0" L"\0" L"_\0" L"\0" L"`\0" L"\0" L"a\0" L"\0" L"b\0" + L"\0" L"c\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"f\0" L"\0" L"g\0" L"\0" + L"h\0" L"\0" L"i\0" L"\0" L"j\0" L"\0" L"k\0" L"\0" L"l\0" L"\0" L"m\0" + L"\0" L"n\0" L"\0" L"o\0" L"\0" L"p\0" L"\0" L"q\0" L"\0" L"r\0" L"\0" + L"s\0" L"\0" L"t\0" L"\0" L"u\0" L"\0" L"v\0" L"\0" L"w\0" L"\0" L"x\0" + L"\0" L"y\0" L"\0" L"z\0" L"\0" L"{\0" L"\0" L"|\0" L"\0" L"}\0" L"\0" + L"~\0"; diff --git a/locale/C-translit.h.in b/locale/C-translit.h.in index 4734789ecb..93abad4415 100644 --- a/locale/C-translit.h.in +++ b/locale/C-translit.h.in @@ -20,78 +20,428 @@ /* The entries here have to be sorted relative to the input string. */ -/* COPYRIGHT SIGN. */ -"\xa9" "(C)" - -/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK. */ -"\xab" "<<" - -/* REGISTERED SIGN. */ -"\xae" "(R)" - -/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK. */ -"\xbb" ">>" - -/* VULGAR FRACTION ONE QUARTER. */ -"\xbc" "1/4" - -/* VULGAR FRACTION ONE HALF. */ -"\xbd" "1/2" - -/* VULGAR FRACTION THREE QUARTERS. */ -"\xbe" "3/4" - -/* LATIN CAPITAL LETTER A WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xc4" "AE" - -/* LATIN CAPITAL LETTER A WITH RING ABOVE. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xc5" "AA" - -/* LATIN CAPITAL LETTER AE. */ -"\xc6" "AE" - -/* LATIN CAPITAL LETTER O WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xd6" "OE" - -/* LATIN CAPITAL LETTER U WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xdc" "UE" - -/* LATIN SMALL LETTER SHARP S. */ -"\xdf" "ss" - -/* LATIN SMALL LETTER A WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xe4" "ae" - -/* LATIN SMALL LETTER A WITH RING ABOVE. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xe5" "aa" - -/* LATIN SMALL LETTER AE. */ -"\xe6" "ae" - -/* LATIN SMALL LETTER O WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xf6" "oe" - -/* LATIN SMALL LETTER U WITH DIAERESIS. */ -/* XXX It is not clear whether this is the best transliteration for - all locales. If not, we probably have to take it out completely. */ -"\xfc" "ue" - -/* LEFT DOUBLE QUOTATION MARK. */ -"\x201c" "\"" - -/* RIGHT DOUBLE QUOTATION MARK. */ -"\x201d" "\"" +"\x00a0" " " /* NO-BREAK SPACE */ +"\x00a9" "(C)" /* COPYRIGHT SIGN */ +"\x00ab" "<<" /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ +"\x00ad" "-" /* SOFT HYPHEN */ +"\x00ae" "(R)" /* REGISTERED SIGN */ +"\x00bb" ">>" /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ +"\x00bc" "1/4" /* VULGAR FRACTION ONE QUARTER */ +"\x00bd" "1/2" /* VULGAR FRACTION ONE HALF */ +"\x00be" "3/4" /* VULGAR FRACTION THREE QUARTERS */ +"\x00c6" "AE" /* LATIN CAPITAL LETTER AE */ +"\x00df" "ss" /* LATIN SMALL LETTER SHARP S */ +"\x00e6" "ae" /* LATIN SMALL LETTER AE */ +"\x0132" "IJ" /* LATIN CAPITAL LIGATURE IJ */ +"\x0133" "ij" /* LATIN SMALL LIGATURE IJ */ +"\x017f" "s" /* LATIN SMALL LETTER LONG S */ +"\x01c7" "LJ" /* LATIN CAPITAL LETTER LJ */ +"\x01c8" "Lj" /* LATIN CAPITAL LETTER L WITH SMALL LETTER J */ +"\x01c9" "lj" /* LATIN SMALL LETTER LJ */ +"\x01ca" "NJ" /* LATIN CAPITAL LETTER NJ */ +"\x01cb" "Nj" /* LATIN CAPITAL LETTER N WITH SMALL LETTER J */ +"\x01cc" "nj" /* LATIN SMALL LETTER NJ */ +"\x01f1" "DZ" /* LATIN CAPITAL LETTER DZ */ +"\x01f2" "Dz" /* LATIN CAPITAL LETTER D WITH SMALL LETTER Z */ +"\x01f3" "dz" /* LATIN SMALL LETTER DZ */ +"\x02dc" "~" /* SMALL TILDE */ +"\x2002" " " /* EN SPACE */ +"\x2003" " " /* EM SPACE */ +"\x2004" " " /* THREE-PER-EM SPACE */ +"\x2005" " " /* FOUR-PER-EM SPACE */ +"\x2006" " " /* SIX-PER-EM SPACE */ +"\x2008" " " /* PUNCTUATION SPACE */ +"\x2009" " " /* THIN SPACE */ +"\x200a" " " /* HAIR SPACE */ +"\x2010" "-" /* HYPHEN */ +"\x2011" "-" /* NON-BREAKING HYPHEN */ +"\x2012" "-" /* FIGURE DASH */ +"\x2013" "-" /* EN DASH */ +"\x2014" "-" /* EM DASH */ +"\x2015" "-" /* HORIZONTAL BAR */ +"\x2018" "'" /* LEFT SINGLE QUOTATION MARK */ +"\x2019" "'" /* RIGHT SINGLE QUOTATION MARK */ +"\x201a" "," /* SINGLE LOW-9 QUOTATION MARK */ +"\x201b" "'" /* SINGLE HIGH-REVERSED-9 QUOTATION MARK */ +"\x201c" "\"" /* LEFT DOUBLE QUOTATION MARK */ +"\x201d" "\"" /* RIGHT DOUBLE QUOTATION MARK */ +"\x201e" ",," /* DOUBLE LOW-9 QUOTATION MARK */ +"\x201f" "\"" /* DOUBLE HIGH-REVERSED-9 QUOTATION MARK */ +"\x2020" "+" /* DAGGER */ +"\x2022" "o" /* BULLET */ +"\x2024" "." /* ONE DOT LEADER */ +"\x2025" ".." /* TWO DOT LEADER */ +"\x2026" "..." /* HORIZONTAL ELLIPSIS */ +"\x2039" "<" /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */ +"\x203a" ">" /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */ +"\x203c" "!!" /* DOUBLE EXCLAMATION MARK */ +"\x2048" "?!" /* QUESTION EXCLAMATION MARK */ +"\x2049" "!?" /* EXCLAMATION QUESTION MARK */ +"\x20a8" "Rs" /* RUPEE SIGN */ +"\x20ac" "EUR" /* EURO SIGN */ +"\x2100" "a/c" /* ACCOUNT OF */ +"\x2101" "a/s" /* ADDRESSED TO THE SUBJECT */ +"\x2102" "C" /* DOUBLE-STRUCK CAPITAL C */ +"\x2105" "c/o" /* CARE OF */ +"\x2106" "c/u" /* CADA UNA */ +"\x210a" "g" /* SCRIPT SMALL G */ +"\x210b" "H" /* SCRIPT CAPITAL H */ +"\x210c" "H" /* BLACK-LETTER CAPITAL H */ +"\x210d" "H" /* DOUBLE-STRUCK CAPITAL H */ +"\x210e" "h" /* PLANCK CONSTANT */ +"\x2110" "I" /* SCRIPT CAPITAL I */ +"\x2111" "I" /* BLACK-LETTER CAPITAL I */ +"\x2112" "L" /* SCRIPT CAPITAL L */ +"\x2113" "l" /* SCRIPT SMALL L */ +"\x2115" "N" /* DOUBLE-STRUCK CAPITAL N */ +"\x2116" "No" /* NUMERO SIGN */ +"\x2119" "P" /* DOUBLE-STRUCK CAPITAL P */ +"\x211a" "Q" /* DOUBLE-STRUCK CAPITAL Q */ +"\x211b" "R" /* SCRIPT CAPITAL R */ +"\x211c" "R" /* BLACK-LETTER CAPITAL R */ +"\x211d" "R" /* DOUBLE-STRUCK CAPITAL R */ +"\x2121" "TEL" /* TELEPHONE SIGN */ +"\x2122" "(TM)" /* TRADE MARK SIGN */ +"\x2124" "Z" /* DOUBLE-STRUCK CAPITAL Z */ +"\x2126" "Ohm" /* OHM SIGN */ +"\x2128" "Z" /* BLACK-LETTER CAPITAL Z */ +"\x212c" "B" /* SCRIPT CAPITAL B */ +"\x212d" "C" /* BLACK-LETTER CAPITAL C */ +"\x212f" "e" /* SCRIPT SMALL E */ +"\x2130" "E" /* SCRIPT CAPITAL E */ +"\x2131" "F" /* SCRIPT CAPITAL F */ +"\x2133" "M" /* SCRIPT CAPITAL M */ +"\x2134" "o" /* SCRIPT SMALL O */ +"\x2139" "i" /* INFORMATION SOURCE */ +"\x2153" "1/3" /* VULGAR FRACTION ONE THIRD */ +"\x2154" "2/3" /* VULGAR FRACTION TWO THIRDS */ +"\x2155" "1/5" /* VULGAR FRACTION ONE FIFTH */ +"\x2156" "2/5" /* VULGAR FRACTION TWO FIFTHS */ +"\x2157" "3/5" /* VULGAR FRACTION THREE FIFTHS */ +"\x2158" "4/5" /* VULGAR FRACTION FOUR FIFTHS */ +"\x2159" "1/6" /* VULGAR FRACTION ONE SIXTH */ +"\x215a" "5/6" /* VULGAR FRACTION FIVE SIXTHS */ +"\x215b" "1/8" /* VULGAR FRACTION ONE EIGHTH */ +"\x215c" "3/8" /* VULGAR FRACTION THREE EIGHTHS */ +"\x215d" "5/8" /* VULGAR FRACTION FIVE EIGHTHS */ +"\x215e" "7/8" /* VULGAR FRACTION SEVEN EIGHTHS */ +"\x215f" "1/" /* FRACTION NUMERATOR ONE */ +"\x2160" "I" /* ROMAN NUMERAL ONE */ +"\x2161" "II" /* ROMAN NUMERAL TWO */ +"\x2162" "III" /* ROMAN NUMERAL THREE */ +"\x2163" "IV" /* ROMAN NUMERAL FOUR */ +"\x2164" "V" /* ROMAN NUMERAL FIVE */ +"\x2165" "VI" /* ROMAN NUMERAL SIX */ +"\x2166" "VII" /* ROMAN NUMERAL SEVEN */ +"\x2167" "VIII" /* ROMAN NUMERAL EIGHT */ +"\x2168" "IX" /* ROMAN NUMERAL NINE */ +"\x2169" "X" /* ROMAN NUMERAL TEN */ +"\x216a" "XI" /* ROMAN NUMERAL ELEVEN */ +"\x216b" "XII" /* ROMAN NUMERAL TWELVE */ +"\x216c" "L" /* ROMAN NUMERAL FIFTY */ +"\x216d" "C" /* ROMAN NUMERAL ONE HUNDRED */ +"\x216e" "D" /* ROMAN NUMERAL FIVE HUNDRED */ +"\x216f" "M" /* ROMAN NUMERAL ONE THOUSAND */ +"\x2170" "i" /* SMALL ROMAN NUMERAL ONE */ +"\x2171" "ii" /* SMALL ROMAN NUMERAL TWO */ +"\x2172" "iii" /* SMALL ROMAN NUMERAL THREE */ +"\x2173" "iv" /* SMALL ROMAN NUMERAL FOUR */ +"\x2174" "v" /* SMALL ROMAN NUMERAL FIVE */ +"\x2175" "vi" /* SMALL ROMAN NUMERAL SIX */ +"\x2176" "vii" /* SMALL ROMAN NUMERAL SEVEN */ +"\x2177" "viii" /* SMALL ROMAN NUMERAL EIGHT */ +"\x2178" "ix" /* SMALL ROMAN NUMERAL NINE */ +"\x2179" "x" /* SMALL ROMAN NUMERAL TEN */ +"\x217a" "xi" /* SMALL ROMAN NUMERAL ELEVEN */ +"\x217b" "xii" /* SMALL ROMAN NUMERAL TWELVE */ +"\x217c" "l" /* SMALL ROMAN NUMERAL FIFTY */ +"\x217d" "c" /* SMALL ROMAN NUMERAL ONE HUNDRED */ +"\x217e" "d" /* SMALL ROMAN NUMERAL FIVE HUNDRED */ +"\x217f" "m" /* SMALL ROMAN NUMERAL ONE THOUSAND */ +"\x2190" "<-" /* LEFTWARDS ARROW */ +"\x2192" "->" /* RIGHTWARDS ARROW */ +"\x21d0" "<=" /* LEFTWARDS DOUBLE ARROW */ +"\x21d2" "=>" /* RIGHTWARDS DOUBLE ARROW */ +"\x2212" "-" /* MINUS SIGN */ +"\x2215" "/" /* DIVISION SLASH */ +"\x2264" "<=" /* LESS-THAN OR EQUAL TO */ +"\x2265" ">=" /* GREATER-THAN OR EQUAL TO */ +"\x226a" "<<" /* MUCH LESS-THAN */ +"\x226b" ">>" /* MUCH GREATER-THAN */ +"\x2460" "(1)" /* CIRCLED DIGIT ONE */ +"\x2461" "(2)" /* CIRCLED DIGIT TWO */ +"\x2462" "(3)" /* CIRCLED DIGIT THREE */ +"\x2463" "(4)" /* CIRCLED DIGIT FOUR */ +"\x2464" "(5)" /* CIRCLED DIGIT FIVE */ +"\x2465" "(6)" /* CIRCLED DIGIT SIX */ +"\x2466" "(7)" /* CIRCLED DIGIT SEVEN */ +"\x2467" "(8)" /* CIRCLED DIGIT EIGHT */ +"\x2468" "(9)" /* CIRCLED DIGIT NINE */ +"\x2469" "(10)" /* CIRCLED NUMBER TEN */ +"\x246a" "(11)" /* CIRCLED NUMBER ELEVEN */ +"\x246b" "(12)" /* CIRCLED NUMBER TWELVE */ +"\x246c" "(13)" /* CIRCLED NUMBER THIRTEEN */ +"\x246d" "(14)" /* CIRCLED NUMBER FOURTEEN */ +"\x246e" "(15)" /* CIRCLED NUMBER FIFTEEN */ +"\x246f" "(16)" /* CIRCLED NUMBER SIXTEEN */ +"\x2470" "(17)" /* CIRCLED NUMBER SEVENTEEN */ +"\x2471" "(18)" /* CIRCLED NUMBER EIGHTEEN */ +"\x2472" "(19)" /* CIRCLED NUMBER NINETEEN */ +"\x2473" "(20)" /* CIRCLED NUMBER TWENTY */ +"\x2474" "(1)" /* PARENTHESIZED DIGIT ONE */ +"\x2475" "(2)" /* PARENTHESIZED DIGIT TWO */ +"\x2476" "(3)" /* PARENTHESIZED DIGIT THREE */ +"\x2477" "(4)" /* PARENTHESIZED DIGIT FOUR */ +"\x2478" "(5)" /* PARENTHESIZED DIGIT FIVE */ +"\x2479" "(6)" /* PARENTHESIZED DIGIT SIX */ +"\x247a" "(7)" /* PARENTHESIZED DIGIT SEVEN */ +"\x247b" "(8)" /* PARENTHESIZED DIGIT EIGHT */ +"\x247c" "(9)" /* PARENTHESIZED DIGIT NINE */ +"\x247d" "(10)" /* PARENTHESIZED NUMBER TEN */ +"\x247e" "(11)" /* PARENTHESIZED NUMBER ELEVEN */ +"\x247f" "(12)" /* PARENTHESIZED NUMBER TWELVE */ +"\x2480" "(13)" /* PARENTHESIZED NUMBER THIRTEEN */ +"\x2481" "(14)" /* PARENTHESIZED NUMBER FOURTEEN */ +"\x2482" "(15)" /* PARENTHESIZED NUMBER FIFTEEN */ +"\x2483" "(16)" /* PARENTHESIZED NUMBER SIXTEEN */ +"\x2484" "(17)" /* PARENTHESIZED NUMBER SEVENTEEN */ +"\x2485" "(18)" /* PARENTHESIZED NUMBER EIGHTEEN */ +"\x2486" "(19)" /* PARENTHESIZED NUMBER NINETEEN */ +"\x2487" "(20)" /* PARENTHESIZED NUMBER TWENTY */ +"\x2488" "1." /* DIGIT ONE FULL STOP */ +"\x2489" "2." /* DIGIT TWO FULL STOP */ +"\x248a" "3." /* DIGIT THREE FULL STOP */ +"\x248b" "4." /* DIGIT FOUR FULL STOP */ +"\x248c" "5." /* DIGIT FIVE FULL STOP */ +"\x248d" "6." /* DIGIT SIX FULL STOP */ +"\x248e" "7." /* DIGIT SEVEN FULL STOP */ +"\x248f" "8." /* DIGIT EIGHT FULL STOP */ +"\x2490" "9." /* DIGIT NINE FULL STOP */ +"\x2491" "10." /* NUMBER TEN FULL STOP */ +"\x2492" "11." /* NUMBER ELEVEN FULL STOP */ +"\x2493" "12." /* NUMBER TWELVE FULL STOP */ +"\x2494" "13." /* NUMBER THIRTEEN FULL STOP */ +"\x2495" "14." /* NUMBER FOURTEEN FULL STOP */ +"\x2496" "15." /* NUMBER FIFTEEN FULL STOP */ +"\x2497" "16." /* NUMBER SIXTEEN FULL STOP */ +"\x2498" "17." /* NUMBER SEVENTEEN FULL STOP */ +"\x2499" "18." /* NUMBER EIGHTEEN FULL STOP */ +"\x249a" "19." /* NUMBER NINETEEN FULL STOP */ +"\x249b" "20." /* NUMBER TWENTY FULL STOP */ +"\x249c" "(a)" /* PARENTHESIZED LATIN SMALL LETTER A */ +"\x249d" "(b)" /* PARENTHESIZED LATIN SMALL LETTER B */ +"\x249e" "(c)" /* PARENTHESIZED LATIN SMALL LETTER C */ +"\x249f" "(d)" /* PARENTHESIZED LATIN SMALL LETTER D */ +"\x24a0" "(e)" /* PARENTHESIZED LATIN SMALL LETTER E */ +"\x24a1" "(f)" /* PARENTHESIZED LATIN SMALL LETTER F */ +"\x24a2" "(g)" /* PARENTHESIZED LATIN SMALL LETTER G */ +"\x24a3" "(h)" /* PARENTHESIZED LATIN SMALL LETTER H */ +"\x24a4" "(i)" /* PARENTHESIZED LATIN SMALL LETTER I */ +"\x24a5" "(j)" /* PARENTHESIZED LATIN SMALL LETTER J */ +"\x24a6" "(k)" /* PARENTHESIZED LATIN SMALL LETTER K */ +"\x24a7" "(l)" /* PARENTHESIZED LATIN SMALL LETTER L */ +"\x24a8" "(m)" /* PARENTHESIZED LATIN SMALL LETTER M */ +"\x24a9" "(n)" /* PARENTHESIZED LATIN SMALL LETTER N */ +"\x24aa" "(o)" /* PARENTHESIZED LATIN SMALL LETTER O */ +"\x24ab" "(p)" /* PARENTHESIZED LATIN SMALL LETTER P */ +"\x24ac" "(q)" /* PARENTHESIZED LATIN SMALL LETTER Q */ +"\x24ad" "(r)" /* PARENTHESIZED LATIN SMALL LETTER R */ +"\x24ae" "(s)" /* PARENTHESIZED LATIN SMALL LETTER S */ +"\x24af" "(t)" /* PARENTHESIZED LATIN SMALL LETTER T */ +"\x24b0" "(u)" /* PARENTHESIZED LATIN SMALL LETTER U */ +"\x24b1" "(v)" /* PARENTHESIZED LATIN SMALL LETTER V */ +"\x24b2" "(w)" /* PARENTHESIZED LATIN SMALL LETTER W */ +"\x24b3" "(x)" /* PARENTHESIZED LATIN SMALL LETTER X */ +"\x24b4" "(y)" /* PARENTHESIZED LATIN SMALL LETTER Y */ +"\x24b5" "(z)" /* PARENTHESIZED LATIN SMALL LETTER Z */ +"\x24b6" "(A)" /* CIRCLED LATIN CAPITAL LETTER A */ +"\x24b7" "(B)" /* CIRCLED LATIN CAPITAL LETTER B */ +"\x24b8" "(C)" /* CIRCLED LATIN CAPITAL LETTER C */ +"\x24b9" "(D)" /* CIRCLED LATIN CAPITAL LETTER D */ +"\x24ba" "(E)" /* CIRCLED LATIN CAPITAL LETTER E */ +"\x24bb" "(F)" /* CIRCLED LATIN CAPITAL LETTER F */ +"\x24bc" "(G)" /* CIRCLED LATIN CAPITAL LETTER G */ +"\x24bd" "(H)" /* CIRCLED LATIN CAPITAL LETTER H */ +"\x24be" "(I)" /* CIRCLED LATIN CAPITAL LETTER I */ +"\x24bf" "(J)" /* CIRCLED LATIN CAPITAL LETTER J */ +"\x24c0" "(K)" /* CIRCLED LATIN CAPITAL LETTER K */ +"\x24c1" "(L)" /* CIRCLED LATIN CAPITAL LETTER L */ +"\x24c2" "(M)" /* CIRCLED LATIN CAPITAL LETTER M */ +"\x24c3" "(N)" /* CIRCLED LATIN CAPITAL LETTER N */ +"\x24c4" "(O)" /* CIRCLED LATIN CAPITAL LETTER O */ +"\x24c5" "(P)" /* CIRCLED LATIN CAPITAL LETTER P */ +"\x24c6" "(Q)" /* CIRCLED LATIN CAPITAL LETTER Q */ +"\x24c7" "(R)" /* CIRCLED LATIN CAPITAL LETTER R */ +"\x24c8" "(S)" /* CIRCLED LATIN CAPITAL LETTER S */ +"\x24c9" "(T)" /* CIRCLED LATIN CAPITAL LETTER T */ +"\x24ca" "(U)" /* CIRCLED LATIN CAPITAL LETTER U */ +"\x24cb" "(V)" /* CIRCLED LATIN CAPITAL LETTER V */ +"\x24cc" "(W)" /* CIRCLED LATIN CAPITAL LETTER W */ +"\x24cd" "(X)" /* CIRCLED LATIN CAPITAL LETTER X */ +"\x24ce" "(Y)" /* CIRCLED LATIN CAPITAL LETTER Y */ +"\x24cf" "(Z)" /* CIRCLED LATIN CAPITAL LETTER Z */ +"\x24d0" "(a)" /* CIRCLED LATIN SMALL LETTER A */ +"\x24d1" "(b)" /* CIRCLED LATIN SMALL LETTER B */ +"\x24d2" "(c)" /* CIRCLED LATIN SMALL LETTER C */ +"\x24d3" "(d)" /* CIRCLED LATIN SMALL LETTER D */ +"\x24d4" "(e)" /* CIRCLED LATIN SMALL LETTER E */ +"\x24d5" "(f)" /* CIRCLED LATIN SMALL LETTER F */ +"\x24d6" "(g)" /* CIRCLED LATIN SMALL LETTER G */ +"\x24d7" "(h)" /* CIRCLED LATIN SMALL LETTER H */ +"\x24d8" "(i)" /* CIRCLED LATIN SMALL LETTER I */ +"\x24d9" "(j)" /* CIRCLED LATIN SMALL LETTER J */ +"\x24da" "(k)" /* CIRCLED LATIN SMALL LETTER K */ +"\x24db" "(l)" /* CIRCLED LATIN SMALL LETTER L */ +"\x24dc" "(m)" /* CIRCLED LATIN SMALL LETTER M */ +"\x24dd" "(n)" /* CIRCLED LATIN SMALL LETTER N */ +"\x24de" "(o)" /* CIRCLED LATIN SMALL LETTER O */ +"\x24df" "(p)" /* CIRCLED LATIN SMALL LETTER P */ +"\x24e0" "(q)" /* CIRCLED LATIN SMALL LETTER Q */ +"\x24e1" "(r)" /* CIRCLED LATIN SMALL LETTER R */ +"\x24e2" "(s)" /* CIRCLED LATIN SMALL LETTER S */ +"\x24e3" "(t)" /* CIRCLED LATIN SMALL LETTER T */ +"\x24e4" "(u)" /* CIRCLED LATIN SMALL LETTER U */ +"\x24e5" "(v)" /* CIRCLED LATIN SMALL LETTER V */ +"\x24e6" "(w)" /* CIRCLED LATIN SMALL LETTER W */ +"\x24e7" "(x)" /* CIRCLED LATIN SMALL LETTER X */ +"\x24e8" "(y)" /* CIRCLED LATIN SMALL LETTER Y */ +"\x24e9" "(z)" /* CIRCLED LATIN SMALL LETTER Z */ +"\x24ea" "(0)" /* CIRCLED DIGIT ZERO */ +"\x2500" "-" /* BOX DRAWINGS LIGHT HORIZONTAL */ +"\x2502" "|" /* BOX DRAWINGS LIGHT VERTICAL */ +"\x250c" "+" /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ +"\x2510" "+" /* BOX DRAWINGS LIGHT DOWN AND LEFT */ +"\x2514" "+" /* BOX DRAWINGS LIGHT UP AND RIGHT */ +"\x2518" "+" /* BOX DRAWINGS LIGHT UP AND LEFT */ +"\x251c" "+" /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ +"\x2524" "+" /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ +"\x252c" "+" /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ +"\x2534" "+" /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ +"\x253c" "+" /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ +"\x3000" " " /* IDEOGRAPHIC SPACE */ +"\xfb00" "ff" /* LATIN SMALL LIGATURE FF */ +"\xfb01" "fi" /* LATIN SMALL LIGATURE FI */ +"\xfb02" "fl" /* LATIN SMALL LIGATURE FL */ +"\xfb03" "ffi" /* LATIN SMALL LIGATURE FFI */ +"\xfb04" "ffl" /* LATIN SMALL LIGATURE FFL */ +"\xfb06" "st" /* LATIN SMALL LIGATURE ST */ +"\xfb29" "+" /* HEBREW LETTER ALTERNATIVE PLUS SIGN */ +"\xfe4d" "_" /* DASHED LOW LINE */ +"\xfe4e" "_" /* CENTRELINE LOW LINE */ +"\xfe4f" "_" /* WAVY LOW LINE */ +"\xfe50" "," /* SMALL COMMA */ +"\xfe52" "." /* SMALL FULL STOP */ +"\xfe54" ";" /* SMALL SEMICOLON */ +"\xfe55" ":" /* SMALL COLON */ +"\xfe56" "?" /* SMALL QUESTION MARK */ +"\xfe57" "!" /* SMALL EXCLAMATION MARK */ +"\xfe59" "(" /* SMALL LEFT PARENTHESIS */ +"\xfe5a" ")" /* SMALL RIGHT PARENTHESIS */ +"\xfe5b" "{" /* SMALL LEFT CURLY BRACKET */ +"\xfe5c" "}" /* SMALL RIGHT CURLY BRACKET */ +"\xfe5f" "#" /* SMALL NUMBER SIGN */ +"\xfe60" "&" /* SMALL AMPERSAND */ +"\xfe61" "*" /* SMALL ASTERISK */ +"\xfe62" "+" /* SMALL PLUS SIGN */ +"\xfe63" "-" /* SMALL HYPHEN-MINUS */ +"\xfe64" "<" /* SMALL LESS-THAN SIGN */ +"\xfe65" ">" /* SMALL GREATER-THAN SIGN */ +"\xfe66" "=" /* SMALL EQUALS SIGN */ +"\xfe68" "\\" /* SMALL REVERSE SOLIDUS */ +"\xfe69" "$" /* SMALL DOLLAR SIGN */ +"\xfe6a" "%" /* SMALL PERCENT SIGN */ +"\xfe6b" "@" /* SMALL COMMERCIAL AT */ +"\xff01" "!" /* FULLWIDTH EXCLAMATION MARK */ +"\xff02" "\"" /* FULLWIDTH QUOTATION MARK */ +"\xff03" "#" /* FULLWIDTH NUMBER SIGN */ +"\xff04" "$" /* FULLWIDTH DOLLAR SIGN */ +"\xff05" "%" /* FULLWIDTH PERCENT SIGN */ +"\xff06" "&" /* FULLWIDTH AMPERSAND */ +"\xff07" "'" /* FULLWIDTH APOSTROPHE */ +"\xff08" "(" /* FULLWIDTH LEFT PARENTHESIS */ +"\xff09" ")" /* FULLWIDTH RIGHT PARENTHESIS */ +"\xff0a" "*" /* FULLWIDTH ASTERISK */ +"\xff0b" "+" /* FULLWIDTH PLUS SIGN */ +"\xff0c" "," /* FULLWIDTH COMMA */ +"\xff0d" "-" /* FULLWIDTH HYPHEN-MINUS */ +"\xff0e" "." /* FULLWIDTH FULL STOP */ +"\xff0f" "/" /* FULLWIDTH SOLIDUS */ +"\xff10" "0" /* FULLWIDTH DIGIT ZERO */ +"\xff11" "1" /* FULLWIDTH DIGIT ONE */ +"\xff12" "2" /* FULLWIDTH DIGIT TWO */ +"\xff13" "3" /* FULLWIDTH DIGIT THREE */ +"\xff14" "4" /* FULLWIDTH DIGIT FOUR */ +"\xff15" "5" /* FULLWIDTH DIGIT FIVE */ +"\xff16" "6" /* FULLWIDTH DIGIT SIX */ +"\xff17" "7" /* FULLWIDTH DIGIT SEVEN */ +"\xff18" "8" /* FULLWIDTH DIGIT EIGHT */ +"\xff19" "9" /* FULLWIDTH DIGIT NINE */ +"\xff1a" ":" /* FULLWIDTH COLON */ +"\xff1b" ";" /* FULLWIDTH SEMICOLON */ +"\xff1c" "<" /* FULLWIDTH LESS-THAN SIGN */ +"\xff1d" "=" /* FULLWIDTH EQUALS SIGN */ +"\xff1e" ">" /* FULLWIDTH GREATER-THAN SIGN */ +"\xff1f" "?" /* FULLWIDTH QUESTION MARK */ +"\xff20" "@" /* FULLWIDTH COMMERCIAL AT */ +"\xff21" "A" /* FULLWIDTH LATIN CAPITAL LETTER A */ +"\xff22" "B" /* FULLWIDTH LATIN CAPITAL LETTER B */ +"\xff23" "C" /* FULLWIDTH LATIN CAPITAL LETTER C */ +"\xff24" "D" /* FULLWIDTH LATIN CAPITAL LETTER D */ +"\xff25" "E" /* FULLWIDTH LATIN CAPITAL LETTER E */ +"\xff26" "F" /* FULLWIDTH LATIN CAPITAL LETTER F */ +"\xff27" "G" /* FULLWIDTH LATIN CAPITAL LETTER G */ +"\xff28" "H" /* FULLWIDTH LATIN CAPITAL LETTER H */ +"\xff29" "I" /* FULLWIDTH LATIN CAPITAL LETTER I */ +"\xff2a" "J" /* FULLWIDTH LATIN CAPITAL LETTER J */ +"\xff2b" "K" /* FULLWIDTH LATIN CAPITAL LETTER K */ +"\xff2c" "L" /* FULLWIDTH LATIN CAPITAL LETTER L */ +"\xff2d" "M" /* FULLWIDTH LATIN CAPITAL LETTER M */ +"\xff2e" "N" /* FULLWIDTH LATIN CAPITAL LETTER N */ +"\xff2f" "O" /* FULLWIDTH LATIN CAPITAL LETTER O */ +"\xff30" "P" /* FULLWIDTH LATIN CAPITAL LETTER P */ +"\xff31" "Q" /* FULLWIDTH LATIN CAPITAL LETTER Q */ +"\xff32" "R" /* FULLWIDTH LATIN CAPITAL LETTER R */ +"\xff33" "S" /* FULLWIDTH LATIN CAPITAL LETTER S */ +"\xff34" "T" /* FULLWIDTH LATIN CAPITAL LETTER T */ +"\xff35" "U" /* FULLWIDTH LATIN CAPITAL LETTER U */ +"\xff36" "V" /* FULLWIDTH LATIN CAPITAL LETTER V */ +"\xff37" "W" /* FULLWIDTH LATIN CAPITAL LETTER W */ +"\xff38" "X" /* FULLWIDTH LATIN CAPITAL LETTER X */ +"\xff39" "Y" /* FULLWIDTH LATIN CAPITAL LETTER Y */ +"\xff3a" "Z" /* FULLWIDTH LATIN CAPITAL LETTER Z */ +"\xff3b" "[" /* FULLWIDTH LEFT SQUARE BRACKET */ +"\xff3c" "\\" /* FULLWIDTH REVERSE SOLIDUS */ +"\xff3d" "]" /* FULLWIDTH RIGHT SQUARE BRACKET */ +"\xff3e" "^" /* FULLWIDTH CIRCUMFLEX ACCENT */ +"\xff3f" "_" /* FULLWIDTH LOW LINE */ +"\xff40" "`" /* FULLWIDTH GRAVE ACCENT */ +"\xff41" "a" /* FULLWIDTH LATIN SMALL LETTER A */ +"\xff42" "b" /* FULLWIDTH LATIN SMALL LETTER B */ +"\xff43" "c" /* FULLWIDTH LATIN SMALL LETTER C */ +"\xff44" "d" /* FULLWIDTH LATIN SMALL LETTER D */ +"\xff45" "e" /* FULLWIDTH LATIN SMALL LETTER E */ +"\xff46" "f" /* FULLWIDTH LATIN SMALL LETTER F */ +"\xff47" "g" /* FULLWIDTH LATIN SMALL LETTER G */ +"\xff48" "h" /* FULLWIDTH LATIN SMALL LETTER H */ +"\xff49" "i" /* FULLWIDTH LATIN SMALL LETTER I */ +"\xff4a" "j" /* FULLWIDTH LATIN SMALL LETTER J */ +"\xff4b" "k" /* FULLWIDTH LATIN SMALL LETTER K */ +"\xff4c" "l" /* FULLWIDTH LATIN SMALL LETTER L */ +"\xff4d" "m" /* FULLWIDTH LATIN SMALL LETTER M */ +"\xff4e" "n" /* FULLWIDTH LATIN SMALL LETTER N */ +"\xff4f" "o" /* FULLWIDTH LATIN SMALL LETTER O */ +"\xff50" "p" /* FULLWIDTH LATIN SMALL LETTER P */ +"\xff51" "q" /* FULLWIDTH LATIN SMALL LETTER Q */ +"\xff52" "r" /* FULLWIDTH LATIN SMALL LETTER R */ +"\xff53" "s" /* FULLWIDTH LATIN SMALL LETTER S */ +"\xff54" "t" /* FULLWIDTH LATIN SMALL LETTER T */ +"\xff55" "u" /* FULLWIDTH LATIN SMALL LETTER U */ +"\xff56" "v" /* FULLWIDTH LATIN SMALL LETTER V */ +"\xff57" "w" /* FULLWIDTH LATIN SMALL LETTER W */ +"\xff58" "x" /* FULLWIDTH LATIN SMALL LETTER X */ +"\xff59" "y" /* FULLWIDTH LATIN SMALL LETTER Y */ +"\xff5a" "z" /* FULLWIDTH LATIN SMALL LETTER Z */ +"\xff5b" "{" /* FULLWIDTH LEFT CURLY BRACKET */ +"\xff5c" "|" /* FULLWIDTH VERTICAL LINE */ +"\xff5d" "}" /* FULLWIDTH RIGHT CURLY BRACKET */ +"\xff5e" "~" /* FULLWIDTH TILDE */ diff --git a/locale/gen-translit.pl b/locale/gen-translit.pl index b6fba77c80..d44310b316 100644 --- a/locale/gen-translit.pl +++ b/locale/gen-translit.pl @@ -134,7 +134,7 @@ sub cstrlen { printf(" "); ++$col; } - printf("L\"$tos[$cnt]\\0\""); + printf("%s", "L\"$tos[$cnt]\\0\""); $col += length($tos[$cnt]) + 5; } printf(";\n"); diff --git a/manual/memory.texi b/manual/memory.texi index fc364194df..6d86f550a3 100644 --- a/manual/memory.texi +++ b/manual/memory.texi @@ -841,7 +841,7 @@ The value of this variable is a pointer to the function that function to look like @code{malloc}; that is, like: @smallexample -void *@var{function} (size_t @var{size}, void *@var{caller}) +void *@var{function} (size_t @var{size}, const void *@var{caller}) @end smallexample The value of @var{caller} is the return address found on the stack when @@ -857,7 +857,7 @@ uses whenever it is called. You should define this function to look like @code{realloc}; that is, like: @smallexample -void *@var{function} (void *@var{ptr}, size_t @var{size}, void *@var{caller}) +void *@var{function} (void *@var{ptr}, size_t @var{size}, const void *@var{caller}) @end smallexample The value of @var{caller} is the return address found on the stack when @@ -873,7 +873,7 @@ uses whenever it is called. You should define this function to look like @code{free}; that is, like: @smallexample -void @var{function} (void *@var{ptr}, void *@var{caller}) +void @var{function} (void *@var{ptr}, const void *@var{caller}) @end smallexample The value of @var{caller} is the return address found on the stack when @@ -889,8 +889,12 @@ uses whenever it is called. You should define this function to look like @code{memalign}; that is, like: @smallexample -void *@var{function} (size_t @var{size}, size_t @var{alignment}) +void *@var{function} (size_t @var{size}, size_t @var{alignment}, const void *@var{caller}) @end smallexample + +The value of @var{caller} is the return address found on the stack when +the @code{memalign} function was called. This value allows you to trace the +memory consumption of the program. @end defvar You must make sure that the function you install as a hook for one of @@ -936,14 +940,13 @@ assume here that @code{realloc} and @code{memalign} are not used in our program. @smallexample -/* Global variables used to hold underlaying hook values. */ -static void *(*old_malloc_hook) (size_t); -static void (*old_free_hook) (void*); +/* Prototypes for __malloc_hook, __free_hook */ +#include /* Prototypes for our hooks. */ static void *my_init_hook (void); -static void *my_malloc_hook (size_t); -static void my_free_hook (void*); +static void *my_malloc_hook (size_t, const void *); +static void my_free_hook (void*, const void *); /* Override initializing hook from the C library. */ void (*__malloc_initialize_hook) (void) = my_init_hook; @@ -958,7 +961,7 @@ my_init_hook (void) @} static void * -my_malloc_hook (size_t size) +my_malloc_hook (size_t size, const void *caller) @{ void *result; /* Restore all old hooks */ @@ -978,7 +981,7 @@ my_malloc_hook (size_t size) @} static void * -my_free_hook (void *ptr) +my_free_hook (void *ptr, const void *caller) @{ /* Restore all old hooks */ __malloc_hook = old_malloc_hook; @@ -1109,16 +1112,16 @@ Tell @code{malloc} to perform occasional consistency checks on dynamically allocated memory, and to call @var{abortfn} when an inconsistency is found. @xref{Heap Consistency Checking}. -@item void *(*__malloc_hook) (size_t @var{size}, void *@var{caller}) +@item void *(*__malloc_hook) (size_t @var{size}, const void *@var{caller}) A pointer to a function that @code{malloc} uses whenever it is called. -@item void *(*__realloc_hook) (void *@var{ptr}, size_t @var{size}, void *@var{caller}) +@item void *(*__realloc_hook) (void *@var{ptr}, size_t @var{size}, const void *@var{caller}) A pointer to a function that @code{realloc} uses whenever it is called. -@item void (*__free_hook) (void *@var{ptr}, void *@var{caller}) +@item void (*__free_hook) (void *@var{ptr}, const void *@var{caller}) A pointer to a function that @code{free} uses whenever it is called. -@item void (*__memalign_hook) (size_t @var{size}, size_t @var{alignment}) +@item void (*__memalign_hook) (size_t @var{size}, size_t @var{alignment}, const void *@var{caller}) A pointer to a function that @code{memalign} uses whenever it is called. @item struct mallinfo mallinfo (void)