Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 2 Nov 2000 07:51:38 +0000 (07:51 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 2 Nov 2000 07:51:38 +0000 (07:51 +0000)
* 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 <washi@yamato.ibm.co.jp>.

2000-11-01  Martin Buchholz  <martin@xemacs.org>

* manual/memory.texi (Hooks for Malloc): Fix `caller' arg docs to
agree with implementation.

2000-11-01  Ulrich Drepper  <drepper@redhat.com>

23 files changed:
ChangeLog
iconvdata/TESTS
iconvdata/run-iconv-test.sh
iconvdata/testdata/IBM1046 [new file with mode: 0644]
iconvdata/testdata/IBM1046..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM856 [new file with mode: 0644]
iconvdata/testdata/IBM856..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM930 [new file with mode: 0644]
iconvdata/testdata/IBM930..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM933 [new file with mode: 0644]
iconvdata/testdata/IBM933..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM935 [new file with mode: 0644]
iconvdata/testdata/IBM935..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM937 [new file with mode: 0644]
iconvdata/testdata/IBM937..UTF8 [new file with mode: 0644]
iconvdata/testdata/IBM939 [new file with mode: 0644]
iconvdata/testdata/IBM939..UTF8 [new file with mode: 0644]
intl/translit.po
intl/tst-translit.c
locale/C-translit.h
locale/C-translit.h.in
locale/gen-translit.pl
manual/memory.texi

index ef46b97..fd9601e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,30 @@
 2000-11-01  Ulrich Drepper  <drepper@redhat.com>
 
+       * 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 <washi@yamato.ibm.co.jp>.
+
+2000-11-01  Martin Buchholz  <martin@xemacs.org>
+
+       * manual/memory.texi (Hooks for Malloc): Fix `caller' arg docs to
+       agree with implementation.
+
+2000-11-01  Ulrich Drepper  <drepper@redhat.com>
+
        * sysdeps/unix/sysv/linux/bits/time.h (CLK_TCK): Cast sysconf result
        to __clock_t.
        * sysdeps/unix/sysv/linux/alpha/bits/time.h: Likewise.
index eb37765..cbdae2e 100644 (file)
@@ -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
index a000b68..532006c 100755 (executable)
@@ -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 (file)
index 0000000..0a43e95
--- /dev/null
@@ -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 { | } ~ \7f \80 \81 \82 Ó Ô Õ 
+Ö \87 \88 \89 \8a \8b \8c \8d \8e \8f \90 \91 \92 \93 \94 \95 \96 
+\97 \98 \99 \9a \9b \9c \9d \9e \9f   Ü Ý \80 ¤ Þ ¦ § 
+¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ 
+¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É 
+ʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ
+Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë 
+ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü 
+ý þ 
diff --git a/iconvdata/testdata/IBM1046..UTF8 b/iconvdata/testdata/IBM1046..UTF8
new file mode 100644 (file)
index 0000000..ed26797
--- /dev/null
@@ -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 { | } ~ \7f ﺈ × ÷ س ش ص 
+ض ﹱ \88 ■ │ ─ ┐ ┌ └ ┘ ﹹ ﹻ ﹽ ﹿ ﹷ ﺊ ﻰ 
+ﻳ ﻲ ﻎ ﻏ ﻐ ﻶ ﻸ ﻺ ﻼ   ﺂ ﺄ ﺈ ¤ ﺎ ﺋ ﺑ 
+ﺗ ﺛ ﺟ ﺣ ، ­ ﺧ ﺳ ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ 
+٩ ﺷ ؛ ﺻ ﺿ ﻊ ؟ ﻋ ء آ أ ؤ إ ئ ا ب ة 
+ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ 
+ﻌ ﺂ ﺄ ﺎ ﻓ ـ ف ق ك ل م ن ه و ى ي ً 
+ٌ ٍ َ ُ ِ ّ ْ ﻗ ﻛ ﻟ ​ ﻵ ﻷ ﻹ ﻻ ﻣ ﻧ 
+ﻬ ﻩ 
diff --git a/iconvdata/testdata/IBM856 b/iconvdata/testdata/IBM856
new file mode 100644 (file)
index 0000000..83af668
--- /dev/null
@@ -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 { | } ~ \7f \80 \81 \82 \83 \84 \85 
+\86 \87 \88 \89 \8a \8b \8c \8d \8e \8f \90 \91 \92 \93 \94 \95 \96 
+\97 \98 \99 \9a \9c \9e © ª « ¬ ® ¯ ° ± ² ³ ´ 
+¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å È É Ê 
+ˠ̠͠ΠϠ٠ڠ۠ܠݠߠæ î ï ð ñ ò 
+ó ô õ ö ÷ ø ù ú û ü ý þ ÿ 
diff --git a/iconvdata/testdata/IBM856..UTF8 b/iconvdata/testdata/IBM856..UTF8
new file mode 100644 (file)
index 0000000..080fe1d
--- /dev/null
@@ -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 { | } ~ \1a א ב ג ד ה ו 
+ז ח ט י ך כ ל ם מ ן נ ס ע ף פ ץ צ 
+ק ר ש ת £ × ® ¬ ½ ¼ « » ░ ▒ ▓ │ ┤ 
+© ╣ ║ ╗ ╝ ¢ ¥ ┐ └ ┴ ┬ ├ ─ ┼ ╚ ╔ ╩ 
+╦ ╠ ═ ╬ ¤ ┘ ┌ █ ▄ ¦ ▀ µ ‾ ´ ­ ± ‗ 
+¾ ¶ § ÷ ¸ ° ¨ • ¹ ³ ² ■   
diff --git a/iconvdata/testdata/IBM930 b/iconvdata/testdata/IBM930
new file mode 100644 (file)
index 0000000..551cb60
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 (file)
index 0000000..89df7f1
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 (file)
index 0000000..4da0d68
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 (file)
index 0000000..025c628
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 (file)
index 0000000..4a905ee
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 (file)
index 0000000..2fc263d
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 (file)
index 0000000..58bd263
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 (file)
index 0000000..61282f1
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 (file)
index 0000000..9c10f9e
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 (file)
index 0000000..89df7f1
Binary files /dev/null and b/iconvdata/testdata/IBM939..UTF8 differ
index 0dc380f..5df5d0d 100644 (file)
@@ -3,7 +3,7 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 
 msgid "test"
-msgstr "äöüÄÜÖß"
+msgstr "«© Æß»"
 
 msgid "onemore"
-msgstr "Ässdf"
+msgstr "½*½=¼"
index f12d99b..8e4e6ca 100644 (file)
@@ -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;
 }
index 2d42133..09c0346 100644 (file)
-#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";
index 4734789..93abad4 100644 (file)
 
 /* The entries here have to be sorted relative to the input string.  */
 
-/* <U00A9> COPYRIGHT SIGN.  */
-"\xa9"   "(C)"
-
-/* <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK.  */
-"\xab"   "<<"
-
-/* <U00AE> REGISTERED SIGN.  */
-"\xae"   "(R)"
-
-/* <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK.  */
-"\xbb"   ">>"
-
-/* <U00BC> VULGAR FRACTION ONE QUARTER.  */
-"\xbc"   "1/4"
-
-/* <U00BD> VULGAR FRACTION ONE HALF.  */
-"\xbd"   "1/2"
-
-/* <U00BE> VULGAR FRACTION THREE QUARTERS.  */
-"\xbe"   "3/4"
-
-/* <U00C4> 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"
-
-/* <U00C5> 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"
-
-/* <U00C6> LATIN CAPITAL LETTER AE.  */
-"\xc6"   "AE"
-
-/* <U00D6> 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"
-
-/* <U00DC> 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"
-
-/* <U00DF> LATIN SMALL LETTER SHARP S.  */
-"\xdf"   "ss"
-
-/* <U00E4> 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"
-
-/* <U00E5> 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"
-
-/* <U00E6> LATIN SMALL LETTER AE.  */
-"\xe6"   "ae"
-
-/* <U00F6> 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"
-
-/* <U00FC> 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"
-
-/* <U201C> LEFT DOUBLE QUOTATION MARK.  */
-"\x201c" "\""
-
-/* <U201D> RIGHT DOUBLE QUOTATION MARK.  */
-"\x201d" "\""
+"\x00a0"       " "     /* <U00A0> NO-BREAK SPACE */
+"\x00a9"       "(C)"   /* <U00A9> COPYRIGHT SIGN */
+"\x00ab"       "<<"    /* <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+"\x00ad"       "-"     /* <U00AD> SOFT HYPHEN */
+"\x00ae"       "(R)"   /* <U00AE> REGISTERED SIGN */
+"\x00bb"       ">>"    /* <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+"\x00bc"       "1/4"   /* <U00BC> VULGAR FRACTION ONE QUARTER */
+"\x00bd"       "1/2"   /* <U00BD> VULGAR FRACTION ONE HALF */
+"\x00be"       "3/4"   /* <U00BE> VULGAR FRACTION THREE QUARTERS */
+"\x00c6"       "AE"    /* <U00C6> LATIN CAPITAL LETTER AE */
+"\x00df"       "ss"    /* <U00DF> LATIN SMALL LETTER SHARP S */
+"\x00e6"       "ae"    /* <U00E6> LATIN SMALL LETTER AE */
+"\x0132"       "IJ"    /* <U0132> LATIN CAPITAL LIGATURE IJ */
+"\x0133"       "ij"    /* <U0133> LATIN SMALL LIGATURE IJ */
+"\x017f"       "s"     /* <U017F> LATIN SMALL LETTER LONG S */
+"\x01c7"       "LJ"    /* <U01C7> LATIN CAPITAL LETTER LJ */
+"\x01c8"       "Lj"    /* <U01C8> LATIN CAPITAL LETTER L WITH SMALL LETTER J */
+"\x01c9"       "lj"    /* <U01C9> LATIN SMALL LETTER LJ */
+"\x01ca"       "NJ"    /* <U01CA> LATIN CAPITAL LETTER NJ */
+"\x01cb"       "Nj"    /* <U01CB> LATIN CAPITAL LETTER N WITH SMALL LETTER J */
+"\x01cc"       "nj"    /* <U01CC> LATIN SMALL LETTER NJ */
+"\x01f1"       "DZ"    /* <U01F1> LATIN CAPITAL LETTER DZ */
+"\x01f2"       "Dz"    /* <U01F2> LATIN CAPITAL LETTER D WITH SMALL LETTER Z */
+"\x01f3"       "dz"    /* <U01F3> LATIN SMALL LETTER DZ */
+"\x02dc"       "~"     /* <U02DC> SMALL TILDE */
+"\x2002"       " "     /* <U2002> EN SPACE */
+"\x2003"       " "     /* <U2003> EM SPACE */
+"\x2004"       " "     /* <U2004> THREE-PER-EM SPACE */
+"\x2005"       " "     /* <U2005> FOUR-PER-EM SPACE */
+"\x2006"       " "     /* <U2006> SIX-PER-EM SPACE */
+"\x2008"       " "     /* <U2008> PUNCTUATION SPACE */
+"\x2009"       " "     /* <U2009> THIN SPACE */
+"\x200a"       " "     /* <U200A> HAIR SPACE */
+"\x2010"       "-"     /* <U2010> HYPHEN */
+"\x2011"       "-"     /* <U2011> NON-BREAKING HYPHEN */
+"\x2012"       "-"     /* <U2012> FIGURE DASH */
+"\x2013"       "-"     /* <U2013> EN DASH */
+"\x2014"       "-"     /* <U2014> EM DASH */
+"\x2015"       "-"     /* <U2015> HORIZONTAL BAR */
+"\x2018"       "'"     /* <U2018> LEFT SINGLE QUOTATION MARK */
+"\x2019"       "'"     /* <U2019> RIGHT SINGLE QUOTATION MARK */
+"\x201a"       ","     /* <U201A> SINGLE LOW-9 QUOTATION MARK */
+"\x201b"       "'"     /* <U201B> SINGLE HIGH-REVERSED-9 QUOTATION MARK */
+"\x201c"       "\""    /* <U201C> LEFT DOUBLE QUOTATION MARK */
+"\x201d"       "\""    /* <U201D> RIGHT DOUBLE QUOTATION MARK */
+"\x201e"       ",,"    /* <U201E> DOUBLE LOW-9 QUOTATION MARK */
+"\x201f"       "\""    /* <U201F> DOUBLE HIGH-REVERSED-9 QUOTATION MARK */
+"\x2020"       "+"     /* <U2020> DAGGER */
+"\x2022"       "o"     /* <U2022> BULLET */
+"\x2024"       "."     /* <U2024> ONE DOT LEADER */
+"\x2025"       ".."    /* <U2025> TWO DOT LEADER */
+"\x2026"       "..."   /* <U2026> HORIZONTAL ELLIPSIS */
+"\x2039"       "<"     /* <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
+"\x203a"       ">"     /* <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
+"\x203c"       "!!"    /* <U203C> DOUBLE EXCLAMATION MARK */
+"\x2048"       "?!"    /* <U2048> QUESTION EXCLAMATION MARK */
+"\x2049"       "!?"    /* <U2049> EXCLAMATION QUESTION MARK */
+"\x20a8"       "Rs"    /* <U20A8> RUPEE SIGN */
+"\x20ac"       "EUR"   /* <U20AC> EURO SIGN */
+"\x2100"       "a/c"   /* <U2100> ACCOUNT OF */
+"\x2101"       "a/s"   /* <U2101> ADDRESSED TO THE SUBJECT */
+"\x2102"       "C"     /* <U2102> DOUBLE-STRUCK CAPITAL C */
+"\x2105"       "c/o"   /* <U2105> CARE OF */
+"\x2106"       "c/u"   /* <U2106> CADA UNA */
+"\x210a"       "g"     /* <U210A> SCRIPT SMALL G */
+"\x210b"       "H"     /* <U210B> SCRIPT CAPITAL H */
+"\x210c"       "H"     /* <U210C> BLACK-LETTER CAPITAL H */
+"\x210d"       "H"     /* <U210D> DOUBLE-STRUCK CAPITAL H */
+"\x210e"       "h"     /* <U210E> PLANCK CONSTANT */
+"\x2110"       "I"     /* <U2110> SCRIPT CAPITAL I */
+"\x2111"       "I"     /* <U2111> BLACK-LETTER CAPITAL I */
+"\x2112"       "L"     /* <U2112> SCRIPT CAPITAL L */
+"\x2113"       "l"     /* <U2113> SCRIPT SMALL L */
+"\x2115"       "N"     /* <U2115> DOUBLE-STRUCK CAPITAL N */
+"\x2116"       "No"    /* <U2116> NUMERO SIGN */
+"\x2119"       "P"     /* <U2119> DOUBLE-STRUCK CAPITAL P */
+"\x211a"       "Q"     /* <U211A> DOUBLE-STRUCK CAPITAL Q */
+"\x211b"       "R"     /* <U211B> SCRIPT CAPITAL R */
+"\x211c"       "R"     /* <U211C> BLACK-LETTER CAPITAL R */
+"\x211d"       "R"     /* <U211D> DOUBLE-STRUCK CAPITAL R */
+"\x2121"       "TEL"   /* <U2121> TELEPHONE SIGN */
+"\x2122"       "(TM)"  /* <U2122> TRADE MARK SIGN */
+"\x2124"       "Z"     /* <U2124> DOUBLE-STRUCK CAPITAL Z */
+"\x2126"       "Ohm"   /* <U2126> OHM SIGN */
+"\x2128"       "Z"     /* <U2128> BLACK-LETTER CAPITAL Z */
+"\x212c"       "B"     /* <U212C> SCRIPT CAPITAL B */
+"\x212d"       "C"     /* <U212D> BLACK-LETTER CAPITAL C */
+"\x212f"       "e"     /* <U212F> SCRIPT SMALL E */
+"\x2130"       "E"     /* <U2130> SCRIPT CAPITAL E */
+"\x2131"       "F"     /* <U2131> SCRIPT CAPITAL F */
+"\x2133"       "M"     /* <U2133> SCRIPT CAPITAL M */
+"\x2134"       "o"     /* <U2134> SCRIPT SMALL O */
+"\x2139"       "i"     /* <U2139> INFORMATION SOURCE */
+"\x2153"       "1/3"   /* <U2153> VULGAR FRACTION ONE THIRD */
+"\x2154"       "2/3"   /* <U2154> VULGAR FRACTION TWO THIRDS */
+"\x2155"       "1/5"   /* <U2155> VULGAR FRACTION ONE FIFTH */
+"\x2156"       "2/5"   /* <U2156> VULGAR FRACTION TWO FIFTHS */
+"\x2157"       "3/5"   /* <U2157> VULGAR FRACTION THREE FIFTHS */
+"\x2158"       "4/5"   /* <U2158> VULGAR FRACTION FOUR FIFTHS */
+"\x2159"       "1/6"   /* <U2159> VULGAR FRACTION ONE SIXTH */
+"\x215a"       "5/6"   /* <U215A> VULGAR FRACTION FIVE SIXTHS */
+"\x215b"       "1/8"   /* <U215B> VULGAR FRACTION ONE EIGHTH */
+"\x215c"       "3/8"   /* <U215C> VULGAR FRACTION THREE EIGHTHS */
+"\x215d"       "5/8"   /* <U215D> VULGAR FRACTION FIVE EIGHTHS */
+"\x215e"       "7/8"   /* <U215E> VULGAR FRACTION SEVEN EIGHTHS */
+"\x215f"       "1/"    /* <U215F> FRACTION NUMERATOR ONE */
+"\x2160"       "I"     /* <U2160> ROMAN NUMERAL ONE */
+"\x2161"       "II"    /* <U2161> ROMAN NUMERAL TWO */
+"\x2162"       "III"   /* <U2162> ROMAN NUMERAL THREE */
+"\x2163"       "IV"    /* <U2163> ROMAN NUMERAL FOUR */
+"\x2164"       "V"     /* <U2164> ROMAN NUMERAL FIVE */
+"\x2165"       "VI"    /* <U2165> ROMAN NUMERAL SIX */
+"\x2166"       "VII"   /* <U2166> ROMAN NUMERAL SEVEN */
+"\x2167"       "VIII"  /* <U2167> ROMAN NUMERAL EIGHT */
+"\x2168"       "IX"    /* <U2168> ROMAN NUMERAL NINE */
+"\x2169"       "X"     /* <U2169> ROMAN NUMERAL TEN */
+"\x216a"       "XI"    /* <U216A> ROMAN NUMERAL ELEVEN */
+"\x216b"       "XII"   /* <U216B> ROMAN NUMERAL TWELVE */
+"\x216c"       "L"     /* <U216C> ROMAN NUMERAL FIFTY */
+"\x216d"       "C"     /* <U216D> ROMAN NUMERAL ONE HUNDRED */
+"\x216e"       "D"     /* <U216E> ROMAN NUMERAL FIVE HUNDRED */
+"\x216f"       "M"     /* <U216F> ROMAN NUMERAL ONE THOUSAND */
+"\x2170"       "i"     /* <U2170> SMALL ROMAN NUMERAL ONE */
+"\x2171"       "ii"    /* <U2171> SMALL ROMAN NUMERAL TWO */
+"\x2172"       "iii"   /* <U2172> SMALL ROMAN NUMERAL THREE */
+"\x2173"       "iv"    /* <U2173> SMALL ROMAN NUMERAL FOUR */
+"\x2174"       "v"     /* <U2174> SMALL ROMAN NUMERAL FIVE */
+"\x2175"       "vi"    /* <U2175> SMALL ROMAN NUMERAL SIX */
+"\x2176"       "vii"   /* <U2176> SMALL ROMAN NUMERAL SEVEN */
+"\x2177"       "viii"  /* <U2177> SMALL ROMAN NUMERAL EIGHT */
+"\x2178"       "ix"    /* <U2178> SMALL ROMAN NUMERAL NINE */
+"\x2179"       "x"     /* <U2179> SMALL ROMAN NUMERAL TEN */
+"\x217a"       "xi"    /* <U217A> SMALL ROMAN NUMERAL ELEVEN */
+"\x217b"       "xii"   /* <U217B> SMALL ROMAN NUMERAL TWELVE */
+"\x217c"       "l"     /* <U217C> SMALL ROMAN NUMERAL FIFTY */
+"\x217d"       "c"     /* <U217D> SMALL ROMAN NUMERAL ONE HUNDRED */
+"\x217e"       "d"     /* <U217E> SMALL ROMAN NUMERAL FIVE HUNDRED */
+"\x217f"       "m"     /* <U217F> SMALL ROMAN NUMERAL ONE THOUSAND */
+"\x2190"       "<-"    /* <U2190> LEFTWARDS ARROW */
+"\x2192"       "->"    /* <U2192> RIGHTWARDS ARROW */
+"\x21d0"       "<="    /* <U21D0> LEFTWARDS DOUBLE ARROW */
+"\x21d2"       "=>"    /* <U21D2> RIGHTWARDS DOUBLE ARROW */
+"\x2212"       "-"     /* <U2212> MINUS SIGN */
+"\x2215"       "/"     /* <U2215> DIVISION SLASH */
+"\x2264"       "<="    /* <U2264> LESS-THAN OR EQUAL TO */
+"\x2265"       ">="    /* <U2265> GREATER-THAN OR EQUAL TO */
+"\x226a"       "<<"    /* <U226A> MUCH LESS-THAN */
+"\x226b"       ">>"    /* <U226B> MUCH GREATER-THAN */
+"\x2460"       "(1)"   /* <U2460> CIRCLED DIGIT ONE */
+"\x2461"       "(2)"   /* <U2461> CIRCLED DIGIT TWO */
+"\x2462"       "(3)"   /* <U2462> CIRCLED DIGIT THREE */
+"\x2463"       "(4)"   /* <U2463> CIRCLED DIGIT FOUR */
+"\x2464"       "(5)"   /* <U2464> CIRCLED DIGIT FIVE */
+"\x2465"       "(6)"   /* <U2465> CIRCLED DIGIT SIX */
+"\x2466"       "(7)"   /* <U2466> CIRCLED DIGIT SEVEN */
+"\x2467"       "(8)"   /* <U2467> CIRCLED DIGIT EIGHT */
+"\x2468"       "(9)"   /* <U2468> CIRCLED DIGIT NINE */
+"\x2469"       "(10)"  /* <U2469> CIRCLED NUMBER TEN */
+"\x246a"       "(11)"  /* <U246A> CIRCLED NUMBER ELEVEN */
+"\x246b"       "(12)"  /* <U246B> CIRCLED NUMBER TWELVE */
+"\x246c"       "(13)"  /* <U246C> CIRCLED NUMBER THIRTEEN */
+"\x246d"       "(14)"  /* <U246D> CIRCLED NUMBER FOURTEEN */
+"\x246e"       "(15)"  /* <U246E> CIRCLED NUMBER FIFTEEN */
+"\x246f"       "(16)"  /* <U246F> CIRCLED NUMBER SIXTEEN */
+"\x2470"       "(17)"  /* <U2470> CIRCLED NUMBER SEVENTEEN */
+"\x2471"       "(18)"  /* <U2471> CIRCLED NUMBER EIGHTEEN */
+"\x2472"       "(19)"  /* <U2472> CIRCLED NUMBER NINETEEN */
+"\x2473"       "(20)"  /* <U2473> CIRCLED NUMBER TWENTY */
+"\x2474"       "(1)"   /* <U2474> PARENTHESIZED DIGIT ONE */
+"\x2475"       "(2)"   /* <U2475> PARENTHESIZED DIGIT TWO */
+"\x2476"       "(3)"   /* <U2476> PARENTHESIZED DIGIT THREE */
+"\x2477"       "(4)"   /* <U2477> PARENTHESIZED DIGIT FOUR */
+"\x2478"       "(5)"   /* <U2478> PARENTHESIZED DIGIT FIVE */
+"\x2479"       "(6)"   /* <U2479> PARENTHESIZED DIGIT SIX */
+"\x247a"       "(7)"   /* <U247A> PARENTHESIZED DIGIT SEVEN */
+"\x247b"       "(8)"   /* <U247B> PARENTHESIZED DIGIT EIGHT */
+"\x247c"       "(9)"   /* <U247C> PARENTHESIZED DIGIT NINE */
+"\x247d"       "(10)"  /* <U247D> PARENTHESIZED NUMBER TEN */
+"\x247e"       "(11)"  /* <U247E> PARENTHESIZED NUMBER ELEVEN */
+"\x247f"       "(12)"  /* <U247F> PARENTHESIZED NUMBER TWELVE */
+"\x2480"       "(13)"  /* <U2480> PARENTHESIZED NUMBER THIRTEEN */
+"\x2481"       "(14)"  /* <U2481> PARENTHESIZED NUMBER FOURTEEN */
+"\x2482"       "(15)"  /* <U2482> PARENTHESIZED NUMBER FIFTEEN */
+"\x2483"       "(16)"  /* <U2483> PARENTHESIZED NUMBER SIXTEEN */
+"\x2484"       "(17)"  /* <U2484> PARENTHESIZED NUMBER SEVENTEEN */
+"\x2485"       "(18)"  /* <U2485> PARENTHESIZED NUMBER EIGHTEEN */
+"\x2486"       "(19)"  /* <U2486> PARENTHESIZED NUMBER NINETEEN */
+"\x2487"       "(20)"  /* <U2487> PARENTHESIZED NUMBER TWENTY */
+"\x2488"       "1."    /* <U2488> DIGIT ONE FULL STOP */
+"\x2489"       "2."    /* <U2489> DIGIT TWO FULL STOP */
+"\x248a"       "3."    /* <U248A> DIGIT THREE FULL STOP */
+"\x248b"       "4."    /* <U248B> DIGIT FOUR FULL STOP */
+"\x248c"       "5."    /* <U248C> DIGIT FIVE FULL STOP */
+"\x248d"       "6."    /* <U248D> DIGIT SIX FULL STOP */
+"\x248e"       "7."    /* <U248E> DIGIT SEVEN FULL STOP */
+"\x248f"       "8."    /* <U248F> DIGIT EIGHT FULL STOP */
+"\x2490"       "9."    /* <U2490> DIGIT NINE FULL STOP */
+"\x2491"       "10."   /* <U2491> NUMBER TEN FULL STOP */
+"\x2492"       "11."   /* <U2492> NUMBER ELEVEN FULL STOP */
+"\x2493"       "12."   /* <U2493> NUMBER TWELVE FULL STOP */
+"\x2494"       "13."   /* <U2494> NUMBER THIRTEEN FULL STOP */
+"\x2495"       "14."   /* <U2495> NUMBER FOURTEEN FULL STOP */
+"\x2496"       "15."   /* <U2496> NUMBER FIFTEEN FULL STOP */
+"\x2497"       "16."   /* <U2497> NUMBER SIXTEEN FULL STOP */
+"\x2498"       "17."   /* <U2498> NUMBER SEVENTEEN FULL STOP */
+"\x2499"       "18."   /* <U2499> NUMBER EIGHTEEN FULL STOP */
+"\x249a"       "19."   /* <U249A> NUMBER NINETEEN FULL STOP */
+"\x249b"       "20."   /* <U249B> NUMBER TWENTY FULL STOP */
+"\x249c"       "(a)"   /* <U249C> PARENTHESIZED LATIN SMALL LETTER A */
+"\x249d"       "(b)"   /* <U249D> PARENTHESIZED LATIN SMALL LETTER B */
+"\x249e"       "(c)"   /* <U249E> PARENTHESIZED LATIN SMALL LETTER C */
+"\x249f"       "(d)"   /* <U249F> PARENTHESIZED LATIN SMALL LETTER D */
+"\x24a0"       "(e)"   /* <U24A0> PARENTHESIZED LATIN SMALL LETTER E */
+"\x24a1"       "(f)"   /* <U24A1> PARENTHESIZED LATIN SMALL LETTER F */
+"\x24a2"       "(g)"   /* <U24A2> PARENTHESIZED LATIN SMALL LETTER G */
+"\x24a3"       "(h)"   /* <U24A3> PARENTHESIZED LATIN SMALL LETTER H */
+"\x24a4"       "(i)"   /* <U24A4> PARENTHESIZED LATIN SMALL LETTER I */
+"\x24a5"       "(j)"   /* <U24A5> PARENTHESIZED LATIN SMALL LETTER J */
+"\x24a6"       "(k)"   /* <U24A6> PARENTHESIZED LATIN SMALL LETTER K */
+"\x24a7"       "(l)"   /* <U24A7> PARENTHESIZED LATIN SMALL LETTER L */
+"\x24a8"       "(m)"   /* <U24A8> PARENTHESIZED LATIN SMALL LETTER M */
+"\x24a9"       "(n)"   /* <U24A9> PARENTHESIZED LATIN SMALL LETTER N */
+"\x24aa"       "(o)"   /* <U24AA> PARENTHESIZED LATIN SMALL LETTER O */
+"\x24ab"       "(p)"   /* <U24AB> PARENTHESIZED LATIN SMALL LETTER P */
+"\x24ac"       "(q)"   /* <U24AC> PARENTHESIZED LATIN SMALL LETTER Q */
+"\x24ad"       "(r)"   /* <U24AD> PARENTHESIZED LATIN SMALL LETTER R */
+"\x24ae"       "(s)"   /* <U24AE> PARENTHESIZED LATIN SMALL LETTER S */
+"\x24af"       "(t)"   /* <U24AF> PARENTHESIZED LATIN SMALL LETTER T */
+"\x24b0"       "(u)"   /* <U24B0> PARENTHESIZED LATIN SMALL LETTER U */
+"\x24b1"       "(v)"   /* <U24B1> PARENTHESIZED LATIN SMALL LETTER V */
+"\x24b2"       "(w)"   /* <U24B2> PARENTHESIZED LATIN SMALL LETTER W */
+"\x24b3"       "(x)"   /* <U24B3> PARENTHESIZED LATIN SMALL LETTER X */
+"\x24b4"       "(y)"   /* <U24B4> PARENTHESIZED LATIN SMALL LETTER Y */
+"\x24b5"       "(z)"   /* <U24B5> PARENTHESIZED LATIN SMALL LETTER Z */
+"\x24b6"       "(A)"   /* <U24B6> CIRCLED LATIN CAPITAL LETTER A */
+"\x24b7"       "(B)"   /* <U24B7> CIRCLED LATIN CAPITAL LETTER B */
+"\x24b8"       "(C)"   /* <U24B8> CIRCLED LATIN CAPITAL LETTER C */
+"\x24b9"       "(D)"   /* <U24B9> CIRCLED LATIN CAPITAL LETTER D */
+"\x24ba"       "(E)"   /* <U24BA> CIRCLED LATIN CAPITAL LETTER E */
+"\x24bb"       "(F)"   /* <U24BB> CIRCLED LATIN CAPITAL LETTER F */
+"\x24bc"       "(G)"   /* <U24BC> CIRCLED LATIN CAPITAL LETTER G */
+"\x24bd"       "(H)"   /* <U24BD> CIRCLED LATIN CAPITAL LETTER H */
+"\x24be"       "(I)"   /* <U24BE> CIRCLED LATIN CAPITAL LETTER I */
+"\x24bf"       "(J)"   /* <U24BF> CIRCLED LATIN CAPITAL LETTER J */
+"\x24c0"       "(K)"   /* <U24C0> CIRCLED LATIN CAPITAL LETTER K */
+"\x24c1"       "(L)"   /* <U24C1> CIRCLED LATIN CAPITAL LETTER L */
+"\x24c2"       "(M)"   /* <U24C2> CIRCLED LATIN CAPITAL LETTER M */
+"\x24c3"       "(N)"   /* <U24C3> CIRCLED LATIN CAPITAL LETTER N */
+"\x24c4"       "(O)"   /* <U24C4> CIRCLED LATIN CAPITAL LETTER O */
+"\x24c5"       "(P)"   /* <U24C5> CIRCLED LATIN CAPITAL LETTER P */
+"\x24c6"       "(Q)"   /* <U24C6> CIRCLED LATIN CAPITAL LETTER Q */
+"\x24c7"       "(R)"   /* <U24C7> CIRCLED LATIN CAPITAL LETTER R */
+"\x24c8"       "(S)"   /* <U24C8> CIRCLED LATIN CAPITAL LETTER S */
+"\x24c9"       "(T)"   /* <U24C9> CIRCLED LATIN CAPITAL LETTER T */
+"\x24ca"       "(U)"   /* <U24CA> CIRCLED LATIN CAPITAL LETTER U */
+"\x24cb"       "(V)"   /* <U24CB> CIRCLED LATIN CAPITAL LETTER V */
+"\x24cc"       "(W)"   /* <U24CC> CIRCLED LATIN CAPITAL LETTER W */
+"\x24cd"       "(X)"   /* <U24CD> CIRCLED LATIN CAPITAL LETTER X */
+"\x24ce"       "(Y)"   /* <U24CE> CIRCLED LATIN CAPITAL LETTER Y */
+"\x24cf"       "(Z)"   /* <U24CF> CIRCLED LATIN CAPITAL LETTER Z */
+"\x24d0"       "(a)"   /* <U24D0> CIRCLED LATIN SMALL LETTER A */
+"\x24d1"       "(b)"   /* <U24D1> CIRCLED LATIN SMALL LETTER B */
+"\x24d2"       "(c)"   /* <U24D2> CIRCLED LATIN SMALL LETTER C */
+"\x24d3"       "(d)"   /* <U24D3> CIRCLED LATIN SMALL LETTER D */
+"\x24d4"       "(e)"   /* <U24D4> CIRCLED LATIN SMALL LETTER E */
+"\x24d5"       "(f)"   /* <U24D5> CIRCLED LATIN SMALL LETTER F */
+"\x24d6"       "(g)"   /* <U24D6> CIRCLED LATIN SMALL LETTER G */
+"\x24d7"       "(h)"   /* <U24D7> CIRCLED LATIN SMALL LETTER H */
+"\x24d8"       "(i)"   /* <U24D8> CIRCLED LATIN SMALL LETTER I */
+"\x24d9"       "(j)"   /* <U24D9> CIRCLED LATIN SMALL LETTER J */
+"\x24da"       "(k)"   /* <U24DA> CIRCLED LATIN SMALL LETTER K */
+"\x24db"       "(l)"   /* <U24DB> CIRCLED LATIN SMALL LETTER L */
+"\x24dc"       "(m)"   /* <U24DC> CIRCLED LATIN SMALL LETTER M */
+"\x24dd"       "(n)"   /* <U24DD> CIRCLED LATIN SMALL LETTER N */
+"\x24de"       "(o)"   /* <U24DE> CIRCLED LATIN SMALL LETTER O */
+"\x24df"       "(p)"   /* <U24DF> CIRCLED LATIN SMALL LETTER P */
+"\x24e0"       "(q)"   /* <U24E0> CIRCLED LATIN SMALL LETTER Q */
+"\x24e1"       "(r)"   /* <U24E1> CIRCLED LATIN SMALL LETTER R */
+"\x24e2"       "(s)"   /* <U24E2> CIRCLED LATIN SMALL LETTER S */
+"\x24e3"       "(t)"   /* <U24E3> CIRCLED LATIN SMALL LETTER T */
+"\x24e4"       "(u)"   /* <U24E4> CIRCLED LATIN SMALL LETTER U */
+"\x24e5"       "(v)"   /* <U24E5> CIRCLED LATIN SMALL LETTER V */
+"\x24e6"       "(w)"   /* <U24E6> CIRCLED LATIN SMALL LETTER W */
+"\x24e7"       "(x)"   /* <U24E7> CIRCLED LATIN SMALL LETTER X */
+"\x24e8"       "(y)"   /* <U24E8> CIRCLED LATIN SMALL LETTER Y */
+"\x24e9"       "(z)"   /* <U24E9> CIRCLED LATIN SMALL LETTER Z */
+"\x24ea"       "(0)"   /* <U24EA> CIRCLED DIGIT ZERO */
+"\x2500"       "-"     /* <U2500> BOX DRAWINGS LIGHT HORIZONTAL */
+"\x2502"       "|"     /* <U2502> BOX DRAWINGS LIGHT VERTICAL */
+"\x250c"       "+"     /* <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT */
+"\x2510"       "+"     /* <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT */
+"\x2514"       "+"     /* <U2514> BOX DRAWINGS LIGHT UP AND RIGHT */
+"\x2518"       "+"     /* <U2518> BOX DRAWINGS LIGHT UP AND LEFT */
+"\x251c"       "+"     /* <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+"\x2524"       "+"     /* <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+"\x252c"       "+"     /* <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+"\x2534"       "+"     /* <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+"\x253c"       "+"     /* <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+"\x3000"       " "     /* <U3000> IDEOGRAPHIC SPACE */
+"\xfb00"       "ff"    /* <UFB00> LATIN SMALL LIGATURE FF */
+"\xfb01"       "fi"    /* <UFB01> LATIN SMALL LIGATURE FI */
+"\xfb02"       "fl"    /* <UFB02> LATIN SMALL LIGATURE FL */
+"\xfb03"       "ffi"   /* <UFB03> LATIN SMALL LIGATURE FFI */
+"\xfb04"       "ffl"   /* <UFB04> LATIN SMALL LIGATURE FFL */
+"\xfb06"       "st"    /* <UFB06> LATIN SMALL LIGATURE ST */
+"\xfb29"       "+"     /* <UFB29> HEBREW LETTER ALTERNATIVE PLUS SIGN */
+"\xfe4d"       "_"     /* <UFE4D> DASHED LOW LINE */
+"\xfe4e"       "_"     /* <UFE4E> CENTRELINE LOW LINE */
+"\xfe4f"       "_"     /* <UFE4F> WAVY LOW LINE */
+"\xfe50"       ","     /* <UFE50> SMALL COMMA */
+"\xfe52"       "."     /* <UFE52> SMALL FULL STOP */
+"\xfe54"       ";"     /* <UFE54> SMALL SEMICOLON */
+"\xfe55"       ":"     /* <UFE55> SMALL COLON */
+"\xfe56"       "?"     /* <UFE56> SMALL QUESTION MARK */
+"\xfe57"       "!"     /* <UFE57> SMALL EXCLAMATION MARK */
+"\xfe59"       "("     /* <UFE59> SMALL LEFT PARENTHESIS */
+"\xfe5a"       ")"     /* <UFE5A> SMALL RIGHT PARENTHESIS */
+"\xfe5b"       "{"     /* <UFE5B> SMALL LEFT CURLY BRACKET */
+"\xfe5c"       "}"     /* <UFE5C> SMALL RIGHT CURLY BRACKET */
+"\xfe5f"       "#"     /* <UFE5F> SMALL NUMBER SIGN */
+"\xfe60"       "&"     /* <UFE60> SMALL AMPERSAND */
+"\xfe61"       "*"     /* <UFE61> SMALL ASTERISK */
+"\xfe62"       "+"     /* <UFE62> SMALL PLUS SIGN */
+"\xfe63"       "-"     /* <UFE63> SMALL HYPHEN-MINUS */
+"\xfe64"       "<"     /* <UFE64> SMALL LESS-THAN SIGN */
+"\xfe65"       ">"     /* <UFE65> SMALL GREATER-THAN SIGN */
+"\xfe66"       "="     /* <UFE66> SMALL EQUALS SIGN */
+"\xfe68"       "\\"    /* <UFE68> SMALL REVERSE SOLIDUS */
+"\xfe69"       "$"     /* <UFE69> SMALL DOLLAR SIGN */
+"\xfe6a"       "%"     /* <UFE6A> SMALL PERCENT SIGN */
+"\xfe6b"       "@"     /* <UFE6B> SMALL COMMERCIAL AT */
+"\xff01"       "!"     /* <UFF01> FULLWIDTH EXCLAMATION MARK */
+"\xff02"       "\""    /* <UFF02> FULLWIDTH QUOTATION MARK */
+"\xff03"       "#"     /* <UFF03> FULLWIDTH NUMBER SIGN */
+"\xff04"       "$"     /* <UFF04> FULLWIDTH DOLLAR SIGN */
+"\xff05"       "%"     /* <UFF05> FULLWIDTH PERCENT SIGN */
+"\xff06"       "&"     /* <UFF06> FULLWIDTH AMPERSAND */
+"\xff07"       "'"     /* <UFF07> FULLWIDTH APOSTROPHE */
+"\xff08"       "("     /* <UFF08> FULLWIDTH LEFT PARENTHESIS */
+"\xff09"       ")"     /* <UFF09> FULLWIDTH RIGHT PARENTHESIS */
+"\xff0a"       "*"     /* <UFF0A> FULLWIDTH ASTERISK */
+"\xff0b"       "+"     /* <UFF0B> FULLWIDTH PLUS SIGN */
+"\xff0c"       ","     /* <UFF0C> FULLWIDTH COMMA */
+"\xff0d"       "-"     /* <UFF0D> FULLWIDTH HYPHEN-MINUS */
+"\xff0e"       "."     /* <UFF0E> FULLWIDTH FULL STOP */
+"\xff0f"       "/"     /* <UFF0F> FULLWIDTH SOLIDUS */
+"\xff10"       "0"     /* <UFF10> FULLWIDTH DIGIT ZERO */
+"\xff11"       "1"     /* <UFF11> FULLWIDTH DIGIT ONE */
+"\xff12"       "2"     /* <UFF12> FULLWIDTH DIGIT TWO */
+"\xff13"       "3"     /* <UFF13> FULLWIDTH DIGIT THREE */
+"\xff14"       "4"     /* <UFF14> FULLWIDTH DIGIT FOUR */
+"\xff15"       "5"     /* <UFF15> FULLWIDTH DIGIT FIVE */
+"\xff16"       "6"     /* <UFF16> FULLWIDTH DIGIT SIX */
+"\xff17"       "7"     /* <UFF17> FULLWIDTH DIGIT SEVEN */
+"\xff18"       "8"     /* <UFF18> FULLWIDTH DIGIT EIGHT */
+"\xff19"       "9"     /* <UFF19> FULLWIDTH DIGIT NINE */
+"\xff1a"       ":"     /* <UFF1A> FULLWIDTH COLON */
+"\xff1b"       ";"     /* <UFF1B> FULLWIDTH SEMICOLON */
+"\xff1c"       "<"     /* <UFF1C> FULLWIDTH LESS-THAN SIGN */
+"\xff1d"       "="     /* <UFF1D> FULLWIDTH EQUALS SIGN */
+"\xff1e"       ">"     /* <UFF1E> FULLWIDTH GREATER-THAN SIGN */
+"\xff1f"       "?"     /* <UFF1F> FULLWIDTH QUESTION MARK */
+"\xff20"       "@"     /* <UFF20> FULLWIDTH COMMERCIAL AT */
+"\xff21"       "A"     /* <UFF21> FULLWIDTH LATIN CAPITAL LETTER A */
+"\xff22"       "B"     /* <UFF22> FULLWIDTH LATIN CAPITAL LETTER B */
+"\xff23"       "C"     /* <UFF23> FULLWIDTH LATIN CAPITAL LETTER C */
+"\xff24"       "D"     /* <UFF24> FULLWIDTH LATIN CAPITAL LETTER D */
+"\xff25"       "E"     /* <UFF25> FULLWIDTH LATIN CAPITAL LETTER E */
+"\xff26"       "F"     /* <UFF26> FULLWIDTH LATIN CAPITAL LETTER F */
+"\xff27"       "G"     /* <UFF27> FULLWIDTH LATIN CAPITAL LETTER G */
+"\xff28"       "H"     /* <UFF28> FULLWIDTH LATIN CAPITAL LETTER H */
+"\xff29"       "I"     /* <UFF29> FULLWIDTH LATIN CAPITAL LETTER I */
+"\xff2a"       "J"     /* <UFF2A> FULLWIDTH LATIN CAPITAL LETTER J */
+"\xff2b"       "K"     /* <UFF2B> FULLWIDTH LATIN CAPITAL LETTER K */
+"\xff2c"       "L"     /* <UFF2C> FULLWIDTH LATIN CAPITAL LETTER L */
+"\xff2d"       "M"     /* <UFF2D> FULLWIDTH LATIN CAPITAL LETTER M */
+"\xff2e"       "N"     /* <UFF2E> FULLWIDTH LATIN CAPITAL LETTER N */
+"\xff2f"       "O"     /* <UFF2F> FULLWIDTH LATIN CAPITAL LETTER O */
+"\xff30"       "P"     /* <UFF30> FULLWIDTH LATIN CAPITAL LETTER P */
+"\xff31"       "Q"     /* <UFF31> FULLWIDTH LATIN CAPITAL LETTER Q */
+"\xff32"       "R"     /* <UFF32> FULLWIDTH LATIN CAPITAL LETTER R */
+"\xff33"       "S"     /* <UFF33> FULLWIDTH LATIN CAPITAL LETTER S */
+"\xff34"       "T"     /* <UFF34> FULLWIDTH LATIN CAPITAL LETTER T */
+"\xff35"       "U"     /* <UFF35> FULLWIDTH LATIN CAPITAL LETTER U */
+"\xff36"       "V"     /* <UFF36> FULLWIDTH LATIN CAPITAL LETTER V */
+"\xff37"       "W"     /* <UFF37> FULLWIDTH LATIN CAPITAL LETTER W */
+"\xff38"       "X"     /* <UFF38> FULLWIDTH LATIN CAPITAL LETTER X */
+"\xff39"       "Y"     /* <UFF39> FULLWIDTH LATIN CAPITAL LETTER Y */
+"\xff3a"       "Z"     /* <UFF3A> FULLWIDTH LATIN CAPITAL LETTER Z */
+"\xff3b"       "["     /* <UFF3B> FULLWIDTH LEFT SQUARE BRACKET */
+"\xff3c"       "\\"    /* <UFF3C> FULLWIDTH REVERSE SOLIDUS */
+"\xff3d"       "]"     /* <UFF3D> FULLWIDTH RIGHT SQUARE BRACKET */
+"\xff3e"       "^"     /* <UFF3E> FULLWIDTH CIRCUMFLEX ACCENT */
+"\xff3f"       "_"     /* <UFF3F> FULLWIDTH LOW LINE */
+"\xff40"       "`"     /* <UFF40> FULLWIDTH GRAVE ACCENT */
+"\xff41"       "a"     /* <UFF41> FULLWIDTH LATIN SMALL LETTER A */
+"\xff42"       "b"     /* <UFF42> FULLWIDTH LATIN SMALL LETTER B */
+"\xff43"       "c"     /* <UFF43> FULLWIDTH LATIN SMALL LETTER C */
+"\xff44"       "d"     /* <UFF44> FULLWIDTH LATIN SMALL LETTER D */
+"\xff45"       "e"     /* <UFF45> FULLWIDTH LATIN SMALL LETTER E */
+"\xff46"       "f"     /* <UFF46> FULLWIDTH LATIN SMALL LETTER F */
+"\xff47"       "g"     /* <UFF47> FULLWIDTH LATIN SMALL LETTER G */
+"\xff48"       "h"     /* <UFF48> FULLWIDTH LATIN SMALL LETTER H */
+"\xff49"       "i"     /* <UFF49> FULLWIDTH LATIN SMALL LETTER I */
+"\xff4a"       "j"     /* <UFF4A> FULLWIDTH LATIN SMALL LETTER J */
+"\xff4b"       "k"     /* <UFF4B> FULLWIDTH LATIN SMALL LETTER K */
+"\xff4c"       "l"     /* <UFF4C> FULLWIDTH LATIN SMALL LETTER L */
+"\xff4d"       "m"     /* <UFF4D> FULLWIDTH LATIN SMALL LETTER M */
+"\xff4e"       "n"     /* <UFF4E> FULLWIDTH LATIN SMALL LETTER N */
+"\xff4f"       "o"     /* <UFF4F> FULLWIDTH LATIN SMALL LETTER O */
+"\xff50"       "p"     /* <UFF50> FULLWIDTH LATIN SMALL LETTER P */
+"\xff51"       "q"     /* <UFF51> FULLWIDTH LATIN SMALL LETTER Q */
+"\xff52"       "r"     /* <UFF52> FULLWIDTH LATIN SMALL LETTER R */
+"\xff53"       "s"     /* <UFF53> FULLWIDTH LATIN SMALL LETTER S */
+"\xff54"       "t"     /* <UFF54> FULLWIDTH LATIN SMALL LETTER T */
+"\xff55"       "u"     /* <UFF55> FULLWIDTH LATIN SMALL LETTER U */
+"\xff56"       "v"     /* <UFF56> FULLWIDTH LATIN SMALL LETTER V */
+"\xff57"       "w"     /* <UFF57> FULLWIDTH LATIN SMALL LETTER W */
+"\xff58"       "x"     /* <UFF58> FULLWIDTH LATIN SMALL LETTER X */
+"\xff59"       "y"     /* <UFF59> FULLWIDTH LATIN SMALL LETTER Y */
+"\xff5a"       "z"     /* <UFF5A> FULLWIDTH LATIN SMALL LETTER Z */
+"\xff5b"       "{"     /* <UFF5B> FULLWIDTH LEFT CURLY BRACKET */
+"\xff5c"       "|"     /* <UFF5C> FULLWIDTH VERTICAL LINE */
+"\xff5d"       "}"     /* <UFF5D> FULLWIDTH RIGHT CURLY BRACKET */
+"\xff5e"       "~"     /* <UFF5E> FULLWIDTH TILDE */
index b6fba77..d44310b 100644 (file)
@@ -134,7 +134,7 @@ for ($cnt = 0; $cnt <= $#tos; ++$cnt) {
     printf(" ");
     ++$col;
   }
-  printf("L\"$tos[$cnt]\\0\"");
+  printf("%s", "L\"$tos[$cnt]\\0\"");
   $col += length($tos[$cnt]) + 5;
 }
 printf(";\n");
index fc36419..6d86f55 100644 (file)
@@ -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 <malloc.h>
 
 /* 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)