about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--FAQ19
-rw-r--r--FAQ.in16
-rw-r--r--locale/C-translit.h406
-rw-r--r--locale/C-translit.h.in99
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/charmaps/BIG56
-rw-r--r--sysdeps/generic/dl-cache.c2
7 files changed, 347 insertions, 206 deletions
diff --git a/FAQ b/FAQ
index 899d3c6b50..de4cb739e6 100644
--- a/FAQ
+++ b/FAQ
@@ -114,6 +114,8 @@ please let me know.
 	in /etc/nsswitch.conf?
 2.32.	What has do be done when upgrading to glibc 2.2?
 2.33.	The makefiles want to do a CVS commit.
+2.34.	When compiling C++ programs, I get a compilation error in streambuf.h.
+2.35.	When recompiling GCC, I get compilation errors in libio.
 
 3. Source and binary incompatibilities, and what to do about them
 
@@ -1249,6 +1251,22 @@ time.  This is what you always have to use if you are checking sources
 directly out of the public CVS repository or you have your own private
 repository.
 
+
+2.34.	When compiling C++ programs, I get a compilation error in streambuf.h.
+
+{BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
+apply a patch to the include files in /usr/include/g++, because the fpos_t
+type has changed in glibc 2.2.  The patch is at
+http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
+
+
+2.35.	When recompiling GCC, I get compilation errors in libio.
+
+{BH} You are trying to recompile gcc 2.95.2?  After upgrading to glibc 2.2,
+you need to apply a patch to the gcc sources, because the fpos_t type and
+a few libio internals have changed in glibc 2.2. T he patch is at
+http://clisp.cons.org/~haible/gcc-glibc-2.2-compat.diff
+
 
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
@@ -1830,6 +1848,7 @@ Answers were given by:
 {HJ} H.J. Lu, <hjl@gnu.org>
 {CG} Cristian Gafton, <gafton@redhat.com>
 {AO} Alexandre Oliva, <oliva@lsd.ic.unicamp.br>
+{BH} Bruno Haible, <haible@clisp.cons.org>
 
 Local Variables:
  mode:outline
diff --git a/FAQ.in b/FAQ.in
index dd33c6f863..80a52212e9 100644
--- a/FAQ.in
+++ b/FAQ.in
@@ -1022,7 +1022,6 @@ be needed after upgrading:
 Please read also the NEWS file which is the authoritative source for this
 and gives more details for some topics.
 
-
 ??	The makefiles want to do a CVS commit.
 
 {UD} Only if you are not specifying the --without-cvs flag at configure
@@ -1030,6 +1029,20 @@ time.  This is what you always have to use if you are checking sources
 directly out of the public CVS repository or you have your own private
 repository.
 
+??	When compiling C++ programs, I get a compilation error in streambuf.h.
+
+{BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
+apply a patch to the include files in /usr/include/g++, because the fpos_t
+type has changed in glibc 2.2.  The patch is at
+http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
+
+??	When recompiling GCC, I get compilation errors in libio.
+
+{BH} You are trying to recompile gcc 2.95.2?  After upgrading to glibc 2.2,
+you need to apply a patch to the gcc sources, because the fpos_t type and
+a few libio internals have changed in glibc 2.2. T he patch is at
+http://clisp.cons.org/~haible/gcc-glibc-2.2-compat.diff
+
 
 ? Source and binary incompatibilities, and what to do about them
 
@@ -1580,6 +1593,7 @@ Answers were given by:
 {HJ} H.J. Lu, <hjl@gnu.org>
 {CG} Cristian Gafton, <gafton@redhat.com>
 {AO} Alexandre Oliva, <oliva@lsd.ic.unicamp.br>
+{BH} Bruno Haible, <haible@clisp.cons.org>
 
 Local Variables:
  mode:outline
diff --git a/locale/C-translit.h b/locale/C-translit.h
index 09c0346636..04600ebb56 100644
--- a/locale/C-translit.h
+++ b/locale/C-translit.h
@@ -1,4 +1,4 @@
-#define NTRANSLIT 425
+#define NTRANSLIT 492
 static const uint32_t translit_from_idx[] =
 {
      0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22,
@@ -36,172 +36,210 @@ static const uint32_t translit_from_idx[] =
    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
+   840,  842,  844,  846,  848,  850,  852,  854,  856,  858,  860,  862,
+   864,  866,  868,  870,  872,  874,  876,  878,  880,  882,  884,  886,
+   888,  890,  892,  894,  896,  898,  900,  902,  904,  906,  908,  910,
+   912,  914,  916,  918,  920,  922,  924,  926,  928,  930,  932,  934,
+   936,  938,  940,  942,  944,  946,  948,  950,  952,  954,  956,  958,
+   960,  962,  964,  966,  968,  970,  972,  974,  976,  978,  980,  982
 };
 static const wchar_t translit_from_tbl[] =
   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";
+  L"\0" L"\x00b5" L"\0" L"\x00b8" L"\0" L"\x00bb" L"\0" L"\x00bc" L"\0"
+  L"\x00bd" L"\0" L"\x00be" L"\0" L"\x00c6" L"\0" L"\x00d7" L"\0" L"\x00df"
+  L"\0" L"\x00e6" L"\0" L"\x0132" L"\0" L"\x0133" L"\0" L"\x0149" L"\0"
+  L"\x0152" L"\0" L"\x0152" L"\0" L"\x0153" L"\0" L"\x0153" 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"\x02bc" L"\0" L"\x02c6" L"\0" L"\x02c8" L"\0" L"\x02cb" L"\0"
+  L"\x02cd" L"\0" L"\x02d0" 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"\x200b" 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"\x202f"
+  L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" 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"\x212e" 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"\x2194" L"\0" L"\x21d0" L"\0"
+  L"\x21d2" L"\0" L"\x21d4" L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216"
+  L"\0" L"\x2217" L"\0" L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0"
+  L"\x2264" L"\0" L"\x2265" L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8"
+  L"\0" L"\x22d9" L"\0" L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0"
+  L"\x2403" L"\0" L"\x2404" L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407"
+  L"\0" L"\x2408" L"\0" L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0"
+  L"\x240c" L"\0" L"\x240d" L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410"
+  L"\0" L"\x2411" L"\0" L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0"
+  L"\x2415" L"\0" L"\x2416" L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419"
+  L"\0" L"\x241a" L"\0" L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0"
+  L"\x241e" L"\0" L"\x241f" L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423"
+  L"\0" L"\x2424" 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"\x25e6" 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"\xfeff" 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,    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
+     0,    3,    8,   12,   15,   20,   23,   26,   30,   37,   44,   51,
+    55,   58,   62,   66,   70,   74,   78,   82,   86,   90,   94,   97,
+   101,  105,  109,  113,  117,  121,  125,  129,  133,  136,  139,  142,
+   145,  148,  151,  154,  157,  160,  163,  166,  169,  172,  175,  178,
+   180,  183,  186,  189,  192,  195,  198,  201,  204,  207,  210,  213,
+   216,  220,  223,  226,  229,  232,  236,  241,  244,  247,  251,  256,
+   259,  262,  266,  270,  274,  278,  283,  288,  293,  296,  301,  306,
+   309,  312,  315,  318,  321,  324,  327,  330,  333,  336,  340,  343,
+   346,  349,  352,  355,  360,  366,  369,  374,  377,  380,  383,  386,
+   389,  392,  395,  398,  401,  404,  411,  418,  425,  432,  439,  446,
+   453,  460,  467,  474,  481,  488,  493,  496,  500,  505,  509,  512,
+   516,  521,  527,  531,  534,  538,  543,  546,  549,  552,  555,  558,
+   562,  567,  571,  574,  578,  583,  589,  593,  596,  600,  605,  608,
+   611,  614,  617,  621,  625,  630,  634,  638,  643,  646,  649,  652,
+   655,  658,  661,  664,  668,  672,  676,  680,  685,  690,  695,  700,
+   705,  710,  715,  720,  725,  730,  734,  738,  742,  746,  750,  754,
+   758,  762,  767,  772,  777,  782,  787,  792,  797,  802,  807,  811,
+   816,  821,  825,  829,  833,  837,  841,  846,  849,  853,  858,  863,
+   868,  873,  878,  883,  888,  893,  898,  904,  910,  916,  922,  928,
+   934,  940,  946,  952,  958,  964,  969,  974,  979,  984,  989,  994,
+   999, 1004, 1009, 1015, 1021, 1027, 1033, 1039, 1045, 1051, 1057, 1063,
+  1069, 1075, 1079, 1083, 1087, 1091, 1095, 1099, 1103, 1107, 1111, 1116,
+  1121, 1126, 1131, 1136, 1141, 1146, 1151, 1156, 1161, 1166, 1171, 1176,
+  1181, 1186, 1191, 1196, 1201, 1206, 1211, 1216, 1221, 1226, 1231, 1236,
+  1241, 1246, 1251, 1256, 1261, 1266, 1271, 1276, 1281, 1286, 1291, 1296,
+  1301, 1306, 1311, 1316, 1321, 1326, 1331, 1336, 1341, 1346, 1351, 1356,
+  1361, 1366, 1371, 1376, 1381, 1386, 1391, 1396, 1401, 1406, 1411, 1416,
+  1421, 1426, 1431, 1436, 1441, 1446, 1451, 1456, 1461, 1466, 1471, 1476,
+  1481, 1486, 1491, 1496, 1501, 1506, 1511, 1516, 1521, 1526, 1531, 1536,
+  1541, 1546, 1551, 1556, 1561, 1564, 1567, 1570, 1573, 1576, 1579, 1582,
+  1585, 1588, 1591, 1594, 1597, 1600, 1604, 1608, 1612, 1617, 1622, 1626,
+  1629, 1632, 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656, 1659, 1662,
+  1665, 1668, 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692, 1695, 1698,
+  1701, 1704, 1706, 1709, 1712, 1715, 1718, 1721, 1724, 1727, 1730, 1733,
+  1736, 1739, 1742, 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1769,
+  1772, 1775, 1778, 1781, 1784, 1787, 1790, 1793, 1796, 1799, 1802, 1805,
+  1808, 1811, 1814, 1817, 1820, 1823, 1826, 1829, 1832, 1835, 1838, 1841,
+  1844, 1847, 1850, 1853, 1856, 1859, 1862, 1865, 1868, 1871, 1874, 1877,
+  1880, 1883, 1886, 1889, 1892, 1895, 1898, 1901, 1904, 1907, 1910, 1913,
+  1916, 1919, 1922, 1925, 1928, 1931, 1934, 1937, 1940, 1943, 1946, 1949,
+  1952, 1955, 1958, 1961, 1964, 1967, 1970, 1973, 1976, 1979, 1982, 1985
 };
 static const wchar_t translit_to_tbl[] =
-  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" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" L"u\0"
+  L"\0" L",\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"x\0" L"\0" L"ss\0" L"\0" L"ae\0" L"\0"
+  L"IJ\0" L"\0" L"ij\0" L"\0" L"'n\0" L"\0" L"OE\0" L"\0" L"OE\0" L"\0"
+  L"oe\0" L"\0" L"oe\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",\0" L"\0" L"'\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">\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"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"|\0"
+  L"\0" L":\0" L"\0" L"~\0" L"\0" L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0"
+  L">>\0" L"\0" L"<<<\0" L"\0" L">>>\0" L"\0" L"NUL\0" L"\0" L"SOH\0" L"\0"
+  L"STX\0" L"\0" L"ETX\0" L"\0" L"EOT\0" L"\0" L"ENQ\0" L"\0" L"ACK\0" L"\0"
+  L"BEL\0" L"\0" L"BS\0" L"\0" L"HT\0" L"\0" L"LF\0" L"\0" L"VT\0" L"\0"
+  L"FF\0" L"\0" L"CR\0" L"\0" L"SO\0" L"\0" L"SI\0" L"\0" L"DLE\0" L"\0"
+  L"DC1\0" L"\0" L"DC2\0" L"\0" L"DC3\0" L"\0" L"DC4\0" L"\0" L"NAK\0" L"\0"
+  L"SYN\0" L"\0" L"ETB\0" L"\0" L"CAN\0" L"\0" L"EM\0" L"\0" L"SUB\0" L"\0"
+  L"ESC\0" L"\0" L"FS\0" L"\0" L"GS\0" L"\0" L"RS\0" L"\0" L"US\0" L"\0"
+  L"SP\0" L"\0" L"DEL\0" L"\0" L"_\0" L"\0" L"NL\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"
@@ -232,27 +270,27 @@ static const wchar_t translit_to_tbl[] =
   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";
+  L"o\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"
+  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 93abad4415..986d5ed1d7 100644
--- a/locale/C-translit.h.in
+++ b/locale/C-translit.h.in
@@ -25,15 +25,23 @@
 "\x00ab"	"<<"	/* <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
 "\x00ad"	"-"	/* <U00AD> SOFT HYPHEN */
 "\x00ae"	"(R)"	/* <U00AE> REGISTERED SIGN */
+"\x00b5"	"u"	/* <U00B5> MICRO SIGN */
+"\x00b8"	","	/* <U00B8> CEDILLA */
 "\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 */
+"\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 */
+"\x00d7"	"x"	/* <U00D7> MULTIPLICATION SIGN */
 "\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 */
+"\x0149"	"'n"	/* <U0149> LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
+"\x0152"	"OE"	/* <U0152> LATIN CAPITAL LIGATURE OE */
+"\x0152"	"OE"	/* <U0152> LATIN CAPITAL LIGATURE OE */
+"\x0153"	"oe"	/* <U0153> LATIN SMALL LIGATURE OE */
+"\x0153"	"oe"	/* <U0153> LATIN SMALL LIGATURE OE */
 "\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 */
@@ -44,6 +52,12 @@
 "\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 */
+"\x02bc"	"'"	/* <U02BC> MODIFIER LETTER APOSTROPHE */
+"\x02c6"	"^"	/* <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT */
+"\x02c8"	"'"	/* <U02C8> MODIFIER LETTER VERTICAL LINE */
+"\x02cb"	"`"	/* <U02CB> MODIFIER LETTER GRAVE ACCENT */
+"\x02cd"	"_"	/* <U02CD> MODIFIER LETTER LOW MACRON */
+"\x02d0"	":"	/* <U02D0> MODIFIER LETTER TRIANGULAR COLON */
 "\x02dc"	"~"	/* <U02DC> SMALL TILDE */
 "\x2002"	" "	/* <U2002> EN SPACE */
 "\x2003"	" "	/* <U2003> EM SPACE */
@@ -53,6 +67,7 @@
 "\x2008"	" "	/* <U2008> PUNCTUATION SPACE */
 "\x2009"	" "	/* <U2009> THIN SPACE */
 "\x200a"	" "	/* <U200A> HAIR SPACE */
+"\x200b"	""	/* <U200B> ZERO WIDTH SPACE */
 "\x2010"	"-"	/* <U2010> HYPHEN */
 "\x2011"	"-"	/* <U2011> NON-BREAKING HYPHEN */
 "\x2012"	"-"	/* <U2012> FIGURE DASH */
@@ -72,6 +87,10 @@
 "\x2024"	"."	/* <U2024> ONE DOT LEADER */
 "\x2025"	".."	/* <U2025> TWO DOT LEADER */
 "\x2026"	"..."	/* <U2026> HORIZONTAL ELLIPSIS */
+"\x202f"	" "	/* <U202F> NARROW NO-BREAK SPACE */
+"\x2035"	"`"	/* <U2035> REVERSED PRIME */
+"\x2036"	"``"	/* <U2036> REVERSED DOUBLE PRIME */
+"\x2037"	"```"	/* <U2037> REVERSED TRIPLE PRIME */
 "\x2039"	"<"	/* <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
 "\x203a"	">"	/* <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
 "\x203c"	"!!"	/* <U203C> DOUBLE EXCLAMATION MARK */
@@ -107,25 +126,26 @@
 "\x2128"	"Z"	/* <U2128> BLACK-LETTER CAPITAL Z */
 "\x212c"	"B"	/* <U212C> SCRIPT CAPITAL B */
 "\x212d"	"C"	/* <U212D> BLACK-LETTER CAPITAL C */
+"\x212e"	"e"	/* <U212E> ESTIMATED SYMBOL */
 "\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 */
+"\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 */
@@ -160,14 +180,59 @@
 "\x217f"	"m"	/* <U217F> SMALL ROMAN NUMERAL ONE THOUSAND */
 "\x2190"	"<-"	/* <U2190> LEFTWARDS ARROW */
 "\x2192"	"->"	/* <U2192> RIGHTWARDS ARROW */
+"\x2194"	"<->"	/* <U2194> LEFT RIGHT ARROW */
 "\x21d0"	"<="	/* <U21D0> LEFTWARDS DOUBLE ARROW */
 "\x21d2"	"=>"	/* <U21D2> RIGHTWARDS DOUBLE ARROW */
+"\x21d4"	"<=>"	/* <U21D4> LEFT RIGHT DOUBLE ARROW */
 "\x2212"	"-"	/* <U2212> MINUS SIGN */
 "\x2215"	"/"	/* <U2215> DIVISION SLASH */
+"\x2216"	"\\"	/* <U2216> SET MINUS */
+"\x2217"	"*"	/* <U2217> ASTERISK OPERATOR */
+"\x2223"	"|"	/* <U2223> DIVIDES */
+"\x2236"	":"	/* <U2236> RATIO */
+"\x223c"	"~"	/* <U223C> TILDE OPERATOR */
 "\x2264"	"<="	/* <U2264> LESS-THAN OR EQUAL TO */
 "\x2265"	">="	/* <U2265> GREATER-THAN OR EQUAL TO */
 "\x226a"	"<<"	/* <U226A> MUCH LESS-THAN */
 "\x226b"	">>"	/* <U226B> MUCH GREATER-THAN */
+"\x22d8"	"<<<"	/* <U22D8> VERY MUCH LESS-THAN */
+"\x22d9"	">>>"	/* <U22D9> VERY MUCH GREATER-THAN */
+"\x2400"	"NUL"	/* <U2400> SYMBOL FOR NULL */
+"\x2401"	"SOH"	/* <U2401> SYMBOL FOR START OF HEADING */
+"\x2402"	"STX"	/* <U2402> SYMBOL FOR START OF TEXT */
+"\x2403"	"ETX"	/* <U2403> SYMBOL FOR END OF TEXT */
+"\x2404"	"EOT"	/* <U2404> SYMBOL FOR END OF TRANSMISSION */
+"\x2405"	"ENQ"	/* <U2405> SYMBOL FOR ENQUIRY */
+"\x2406"	"ACK"	/* <U2406> SYMBOL FOR ACKNOWLEDGE */
+"\x2407"	"BEL"	/* <U2407> SYMBOL FOR BELL */
+"\x2408"	"BS"	/* <U2408> SYMBOL FOR BACKSPACE */
+"\x2409"	"HT"	/* <U2409> SYMBOL FOR HORIZONTAL TABULATION */
+"\x240a"	"LF"	/* <U240A> SYMBOL FOR LINE FEED */
+"\x240b"	"VT"	/* <U240B> SYMBOL FOR VERTICAL TABULATION */
+"\x240c"	"FF"	/* <U240C> SYMBOL FOR FORM FEED */
+"\x240d"	"CR"	/* <U240D> SYMBOL FOR CARRIAGE RETURN */
+"\x240e"	"SO"	/* <U240E> SYMBOL FOR SHIFT OUT */
+"\x240f"	"SI"	/* <U240F> SYMBOL FOR SHIFT IN */
+"\x2410"	"DLE"	/* <U2410> SYMBOL FOR DATA LINK ESCAPE */
+"\x2411"	"DC1"	/* <U2411> SYMBOL FOR DEVICE CONTROL ONE */
+"\x2412"	"DC2"	/* <U2412> SYMBOL FOR DEVICE CONTROL TWO */
+"\x2413"	"DC3"	/* <U2413> SYMBOL FOR DEVICE CONTROL THREE */
+"\x2414"	"DC4"	/* <U2414> SYMBOL FOR DEVICE CONTROL FOUR */
+"\x2415"	"NAK"	/* <U2415> SYMBOL FOR NEGATIVE ACKNOWLEDGE */
+"\x2416"	"SYN"	/* <U2416> SYMBOL FOR SYNCHRONOUS IDLE */
+"\x2417"	"ETB"	/* <U2417> SYMBOL FOR END OF TRANSMISSION BLOCK */
+"\x2418"	"CAN"	/* <U2418> SYMBOL FOR CANCEL */
+"\x2419"	"EM"	/* <U2419> SYMBOL FOR END OF MEDIUM */
+"\x241a"	"SUB"	/* <U241A> SYMBOL FOR SUBSTITUTE */
+"\x241b"	"ESC"	/* <U241B> SYMBOL FOR ESCAPE */
+"\x241c"	"FS"	/* <U241C> SYMBOL FOR FILE SEPARATOR */
+"\x241d"	"GS"	/* <U241D> SYMBOL FOR GROUP SEPARATOR */
+"\x241e"	"RS"	/* <U241E> SYMBOL FOR RECORD SEPARATOR */
+"\x241f"	"US"	/* <U241F> SYMBOL FOR UNIT SEPARATOR */
+"\x2420"	"SP"	/* <U2420> SYMBOL FOR SPACE */
+"\x2421"	"DEL"	/* <U2421> SYMBOL FOR DELETE */
+"\x2423"	"_"	/* <U2423> OPEN BOX */
+"\x2424"	"NL"	/* <U2424> SYMBOL FOR NEWLINE */
 "\x2460"	"(1)"	/* <U2460> CIRCLED DIGIT ONE */
 "\x2461"	"(2)"	/* <U2461> CIRCLED DIGIT TWO */
 "\x2462"	"(3)"	/* <U2462> CIRCLED DIGIT THREE */
@@ -318,6 +383,7 @@
 "\x252c"	"+"	/* <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
 "\x2534"	"+"	/* <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL */
 "\x253c"	"+"	/* <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+"\x25e6"	"o"	/* <U25E6> WHITE BULLET */
 "\x3000"	" "	/* <U3000> IDEOGRAPHIC SPACE */
 "\xfb00"	"ff"	/* <UFB00> LATIN SMALL LIGATURE FF */
 "\xfb01"	"fi"	/* <UFB01> LATIN SMALL LIGATURE FI */
@@ -351,6 +417,7 @@
 "\xfe69"	"$"	/* <UFE69> SMALL DOLLAR SIGN */
 "\xfe6a"	"%"	/* <UFE6A> SMALL PERCENT SIGN */
 "\xfe6b"	"@"	/* <UFE6B> SMALL COMMERCIAL AT */
+"\xfeff"	""	/* <UFEFF> ZERO WIDTH NO-BREAK SPACE */
 "\xff01"	"!"	/* <UFF01> FULLWIDTH EXCLAMATION MARK */
 "\xff02"	"\""	/* <UFF02> FULLWIDTH QUOTATION MARK */
 "\xff03"	"#"	/* <UFF03> FULLWIDTH NUMBER SIGN */
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 3c4195fd2f..8a20d9eae5 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-06  Ulrich Drepper  <drepper@redhat.com>
+
+	* charmaps/BIG5: Add mapping for <U20AC> back.
+	Patch by Tung-Han Hsieh <thhsieh@twcpro.phys.ntu.edu.tw>.
+
 2000-11-03  Bruno Haible  <haible@clisp.cons.org>
 
 	* locales/translit_neutral: Add more entries.  Mostly from Markus Kuhn.
diff --git a/localedata/charmaps/BIG5 b/localedata/charmaps/BIG5
index 84f259d45a..1a0a66fc4b 100644
--- a/localedata/charmaps/BIG5
+++ b/localedata/charmaps/BIG5
@@ -5,7 +5,7 @@
 <escape_char> /
 %
 % Chinese charmap for BIG5 (CP950)
-% version: 0.91
+% version: 0.92
 % Contact: Tung-Han Hsieh   <thhsieh@linux.org.tw>
 %	   Yuan-Chung Cheng <platin@ms31.hinet.net>
 % Distribution and use is free, even for comercial purpose.
@@ -19,9 +19,6 @@
 %     /xa2/xcc, /xa2/xce, /xf9/xe9, /xf9/xea, /xf9/xeb, 
 %     /xf9/xf9, /xf9/xfa, /xf9/xfb, /xf9/xfc, /xf9/xfd
 %
-% The mapping /xa3/xe1 <==> <U20AC> is removed because only CP950.TXT contains
-%     this mapping, but not found in elsewhere. It might be a mistake.
-%
 % alias BIG5-CP950
 
 CHARMAP
@@ -565,6 +562,7 @@ CHARMAP
 <U02CA>		/xa3/xbd	MODIFIER LETTER ACUTE ACCENT
 <U02C7>		/xa3/xbe	CARON
 <U02CB>		/xa3/xbf	MODIFIER LETTER GRAVE ACCENT
+<U20AC>		/xa3/xe1	EURO SIGN
 <U4E00>		/xa4/x40	<CJK>
 <U4E59>		/xa4/x41	<CJK>
 <U4E01>		/xa4/x42	<CJK>
diff --git a/sysdeps/generic/dl-cache.c b/sysdeps/generic/dl-cache.c
index 656fea8308..798bf06e54 100644
--- a/sysdeps/generic/dl-cache.c
+++ b/sysdeps/generic/dl-cache.c
@@ -183,7 +183,7 @@ _dl_load_cache_lookup (const char *name)
 	    cache_new = (void *) -1;
 	}
       else if (file != NULL && cachesize > sizeof *cache_new
-	       && memcmp (cache_new->magic, CACHEMAGIC_VERSION_NEW,
+	       && memcmp (file, CACHEMAGIC_VERSION_NEW,
 			  sizeof CACHEMAGIC_VERSION_NEW - 1) == 0)
 	{
 	  cache_new = file;