[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r1731 - in trunk/debian: . patches scripts



Author: branden
Date: 2004-08-12 03:29:56 -0500 (Thu, 12 Aug 2004)
New Revision: 1731

Added:
   trunk/debian/scripts/locale-munger
Modified:
   trunk/debian/CHANGESETS
   trunk/debian/TODO
   trunk/debian/changelog
   trunk/debian/patches/011a_recognize_glibc_2.3.2_locale_names.diff
   trunk/debian/patches/096_Xlib_l10n_pt_BR.UTF-8.diff
Log:
Major housecleaning of X11's locale support (patch #011a).
+ Add all locales supported by version 2.3.2 of the GNU C Library except
  zh_CN.GB18030, sq_AL.ISO-8859-1, and tg_TJ.KOI8-T.  X has no support for
  the GB18030 and KOI8-T character sets, and glibc appears to disagree
  with most of the world about which character set Albanians use (see, for
  example, iso_8859-2(7)).  This baka gaijin has learned his lesson about
  trying to report l10n bugs in glibc, so I'll let someone else do the
  jousting.  :-P
+ Synchronize compose.dir with locale.dir wherever possible (i.e.,
  wherever compose tables exist) so that as many supported locales as
  possible get a Compose map.  Comment out references to compose tables
  that don't actually exist.
+ Disable support for iu_CA.NUNACOM-8.  X11 doesn't have any support for
  the NUNACOM-8 character set.  (iu_CA.UTF-8 is still supported.)
+ Disable support for locales that are neither supported by the GNU C
  Library, nor use standard ISO 639 language or 3166 territory codes.
  This includes Esperanto (eo_EO, eo_XX), and what I presume is
  Pennsylvania "Dutch" (pd_DE, pd_US).
+ Turn off intrusion of Nynorsk into Nyanja's ISO 639 space.  (Nynorsk is
  nn, not ny.)
+ Retain support for a3 as an alias for az (Azerbaijani), though I'm
  dubious about it.
+ Turn off support for the bogus (and ancient) FreeBSD-ism of using
  "lt_LN.ISO8859-1" as a "generic" Latin-1 locale.
+ Remove bogus "ee" locales for Estonian (et).
+ Remove ISO 8859-15 support for languages that don't use that character
  set according to glibc.
+ Remove @euro modifier support from locales that don't use that currency
  (i.e., countries not in the Euro zone).
+ Ensure we support the @euro modifier for all locales that use it
  (according to glibc), even if the codeset is explicitly specified.  See
  Debian #208137.
+ Rewrite some comments to be in grammatical English.
+ Add locale-munger script, which I used to gather the information that
  drove these changes.
+ Resync patch #096.
+ Fix a few Debian bugs in the process:
  - en_GB.ISO-8859-15 is supported.  (Closes: #122039)
  - et_EE.ISO-8859-15 is supported.  (Closes: #258223)
  - sv_SE.ISO-8859-15 is supported.  (Closes: #243237)


Modified: trunk/debian/CHANGESETS
===================================================================
--- trunk/debian/CHANGESETS	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/CHANGESETS	2004-08-12 08:29:56 UTC (rev 1731)
@@ -310,4 +310,46 @@
 CVS to their own patch file.  (Closes: #257835)
     1730
 
+Major housecleaning of X11's locale support (patch #011a).
++ Add all locales supported by version 2.3.2 of the GNU C Library except
+  zh_CN.GB18030, sq_AL.ISO-8859-1, and tg_TJ.KOI8-T.  X has no support for
+  the GB18030 and KOI8-T character sets, and glibc appears to disagree
+  with most of the world about which character set Albanians use (see, for
+  example, iso_8859-2(7)).  This baka gaijin has learned his lesson about
+  trying to report l10n bugs in glibc, so I'll let someone else do the
+  jousting.  :-P
++ Synchronize compose.dir with locale.dir wherever possible (i.e.,
+  wherever compose tables exist) so that as many supported locales as
+  possible get a Compose map.  Comment out references to compose tables
+  that don't actually exist.
++ Disable support for iu_CA.NUNACOM-8.  X11 doesn't have any support for
+  the NUNACOM-8 character set.  (iu_CA.UTF-8 is still supported.)
++ Disable support for locales that are neither supported by the GNU C
+  Library, nor use standard ISO 639 language or 3166 territory codes.
+  This includes Esperanto (eo_EO, eo_XX), and what I presume is
+  Pennsylvania "Dutch" (pd_DE, pd_US).
++ Turn off intrusion of Nynorsk into Nyanja's ISO 639 space.  (Nynorsk is
+  nn, not ny.)
++ Retain support for a3 as an alias for az (Azerbaijani), though I'm
+  dubious about it.
++ Turn off support for the bogus (and ancient) FreeBSD-ism of using
+  "lt_LN.ISO8859-1" as a "generic" Latin-1 locale.
++ Remove bogus "ee" locales for Estonian (et).
++ Remove ISO 8859-15 support for languages that don't use that character
+  set according to glibc.
++ Remove @euro modifier support from locales that don't use that currency
+  (i.e., countries not in the Euro zone).
++ Ensure we support the @euro modifier for all locales that use it
+  (according to glibc), even if the codeset is explicitly specified.  See
+  Debian #208137.
++ Rewrite some comments to be in grammatical English.
++ Add locale-munger script, which I used to gather the information that
+  drove these changes.
++ Resync patch #096.
++ Fix a few Debian bugs in the process:
+  - en_GB.ISO-8859-15 is supported.  (Closes: #122039)
+  - et_EE.ISO-8859-15 is supported.  (Closes: #258223)
+  - sv_SE.ISO-8859-15 is supported.  (Closes: #243237)
+    1731
+
 vim:set ai et sts=4 sw=4 tw=80:

Modified: trunk/debian/TODO
===================================================================
--- trunk/debian/TODO	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/TODO	2004-08-12 08:29:56 UTC (rev 1731)
@@ -60,10 +60,6 @@
   + #259080: xserver-xfree86: [debconf] specialized mouse defaults for Hurd [BR]
   + #261777: Problems handling multiple detected video cards; see what can be
     done about this [BR]
-* #258223: add et_EE.ISO-8859-15 to locale.alias [perhaps fix this and many
-  other bugs like it by writing a damn Python script to prep a diff against
-  locale.alias by scanning glibc's list of supported locales]
-  + #243237: sv_SE.ISO-8859-15
 * Add FAQ entry describing Debian's plans in the X department.
 * #258986: turn off RandR support in savage driver when driver's "Rotate" option
   is used; patch for driver supplied by submitter; need to write update to

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/changelog	2004-08-12 08:29:56 UTC (rev 1731)
@@ -226,6 +226,47 @@
     fix for a SEGV in Lisp_New().  Move existing xedit patches from XFree86
     CVS to their own patch file.  (Closes: #257835)
 
+  * Major housecleaning of X11's locale support (patch #011a).
+    + Add all locales supported by version 2.3.2 of the GNU C Library except
+      zh_CN.GB18030, sq_AL.ISO-8859-1, and tg_TJ.KOI8-T.  X has no support for
+      the GB18030 and KOI8-T character sets, and glibc appears to disagree
+      with most of the world about which character set Albanians use (see, for
+      example, iso_8859-2(7)).  This baka gaijin has learned his lesson about
+      trying to report l10n bugs in glibc, so I'll let someone else do the
+      jousting.  :-P
+    + Synchronize compose.dir with locale.dir wherever possible (i.e.,
+      wherever compose tables exist) so that as many supported locales as
+      possible get a Compose map.  Comment out references to compose tables
+      that don't actually exist.
+    + Disable support for iu_CA.NUNACOM-8.  X11 doesn't have any support for
+      the NUNACOM-8 character set.  (iu_CA.UTF-8 is still supported.)
+    + Disable support for locales that are neither supported by the GNU C
+      Library, nor use standard ISO 639 language or 3166 territory codes.
+      This includes Esperanto (eo_EO, eo_XX), and what I presume is
+      Pennsylvania "Dutch" (pd_DE, pd_US).
+    + Turn off intrusion of Nynorsk into Nyanja's ISO 639 space.  (Nynorsk is
+      nn, not ny.)
+    + Retain support for a3 as an alias for az (Azerbaijani), though I'm
+      dubious about it.
+    + Turn off support for the bogus (and ancient) FreeBSD-ism of using
+      "lt_LN.ISO8859-1" as a "generic" Latin-1 locale.
+    + Remove bogus "ee" locales for Estonian (et).
+    + Remove ISO 8859-15 support for languages that don't use that character
+      set according to glibc.
+    + Remove @euro modifier support from locales that don't use that currency
+      (i.e., countries not in the Euro zone).
+    + Ensure we support the @euro modifier for all locales that use it
+      (according to glibc), even if the codeset is explicitly specified.  See
+      Debian #208137.
+    + Rewrite some comments to be in grammatical English.
+    + Add locale-munger script, which I used to gather the information that
+      drove these changes.
+    + Resync patch #096.
+    + Fix a few Debian bugs in the process:
+      - en_GB.ISO-8859-15 is supported.  (Closes: #122039)
+      - et_EE.ISO-8859-15 is supported.  (Closes: #258223)
+      - sv_SE.ISO-8859-15 is supported.  (Closes: #243237)
+
   Changes by Fabio M. Di Nitto and Branden Robinson:
 
   * Support building only the parts of the source tree needed by
@@ -267,7 +308,7 @@
     autodetection would cause the script to think it had detected one X server
     or XFree86 video driver instead ($(echo "" | wc -l) is "1", not "0").
 
- -- Branden Robinson <branden@debian.org>  Wed, 11 Aug 2004 02:15:45 -0500
+ -- Branden Robinson <branden@debian.org>  Thu, 12 Aug 2004 02:45:45 -0500
 
 xfree86 (4.3.0.dfsg.1-6) unstable; urgency=low
 

Modified: trunk/debian/patches/011a_recognize_glibc_2.3.2_locale_names.diff
===================================================================
--- trunk/debian/patches/011a_recognize_glibc_2.3.2_locale_names.diff	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/patches/011a_recognize_glibc_2.3.2_locale_names.diff	2004-08-12 08:29:56 UTC (rev 1731)
@@ -1,80 +1,1951 @@
 $Id$
 
-Add a bunch of aliases to support locale settings that use the "@euro"
-modifier.  From Debian bug report #208137.
+Major housecleaning of X11's locale support.
 
-Also add other aliases supported by glibc 2.3.2; from Debian bug report
-#121900.
+* Add all locales supported by version 2.3.2 of the GNU C Library except
+  zh_CN.GB18030, sq_AL.ISO-8859-1, and tg_TJ.KOI8-T.  X has no support for
+  the GB18030 and KOI8-T character sets, and glibc appears to disagree with
+  most of the world about which character set Albanians use (see, for
+  example, iso_8859-2(7)).  This baka gaijin has learned his lesson about
+  trying to report l10n bugs in glibc, so I'll let someone else do the
+  jousting.  :-P
 
-Not submitted upstream yet.
+* Synchronize compose.dir with locale.dir wherever possible (i.e., wherever
+  compose tables exist) so that as many supported locales as possible get a
+  Compose map.  Comment out references to compose tables that don't
+  actually exist.
 
---- xc/nls/locale.alias~	2003-12-16 12:58:34.000000000 -0500
-+++ xc/nls/locale.alias	2003-12-16 12:59:31.000000000 -0500
-@@ -885,3 +885,67 @@
- japan:						ja_JP.U90
- #endif
- Japanese-EUC:					ja_JP.eucJP
-+XCOMM for compatibility with the GNU C Library, version 2.3.2
+* Disable support for iu_CA.NUNACOM-8.  X11 doesn't have any support for
+  the NUNACOM-8 character set.  (iu_CA.UTF-8 is still supported.)
+
+* Disable support for locales that are neither supported by the GNU C
+  Library, nor use standard ISO 639 language or 3166 territory codes.  This
+  includes Esperanto (eo_EO, eo_XX), and what I presume is Pennsylvania
+  "Dutch" (pd_DE, pd_US).
+
+* Turn off intrusion of Nynorsk into Nyanja's ISO 639 space.  (Nynorsk is
+  nn, not ny.)
+
+* Retain support for a3 as an alias for az (Azerbaijani), though I'm dubious
+  about it.
+
+* Turn off support for the bogus (and ancient) FreeBSD-ism of using
+  "lt_LN.ISO8859-1" as a "generic" Latin-1 locale.
+
+* Remove bogus "ee" locales for Estonian (et).
+
+* Remove ISO 8859-15 support for languages that don't use that character
+  set according to glibc.
+
+* Remove @euro modifier support from locales that don't use that currency
+  (i.e., countries not in the Euro zone).
+
+* Ensure we support the @euro modifier for all locales that use it
+  (according to glibc), even if the codeset is explicitly specified.  See
+  Debian #208137.
+
+* Rewrite some comments to be in grammatical English.
+
+This patch by Branden Robinson.
+
+Not submitted to XFree86.
+
+diff -urN xc/nls~/compose.dir xc/nls/compose.dir
+--- xc/nls~/compose.dir	2004-08-11 17:14:48.000000000 -0500
++++ xc/nls/compose.dir	2004-08-12 01:09:09.000000000 -0500
+@@ -1,14 +1,22 @@
+ XCOMM $Xorg: compose.dir,v 1.3 2000/08/17 19:46:48 cpqbld Exp $
+ XCOMM
+-XCOMM	This file contains compose table file name.
+-XCOMM	The first word is the compose table file name and
+-XCOMM	the second word is full locale name.
++XCOMM	This file contains compose table file names.  The first word is the
++XCOMM	compose table file name and the second word is the full locale
++XCOMM	name.
+ XCOMM
+ XCOMM $XFree86: xc/nls/compose.dir,v 1.23 2002/12/10 04:23:51 dawes Exp $
+ XCOMM
++XCOMM Note that no Compose tables exist for ISO 8859-11, Microsoft code
++XCOMM pages, Fujitsu's S90 or U90 character sets, or TIS620 yet.
++XCOMM
+ iso8859-1/Compose:		C
++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3".
++koi8-c/Compose:			a3_AZ.KOI8-C
++iso8859-1/Compose:		aa_DJ.ISO8859-1
+ iso8859-1/Compose:		af_ZA.ISO8859-1
++iso8859-15/Compose:		an_ES.ISO8859-15
+ iso8859-6/Compose:		ar_AA.ISO8859-6
++iso8859-6/Compose:		ar_AE.ISO8859-6
+ iso8859-6/Compose:		ar_BH.ISO8859-6
+ iso8859-6/Compose:		ar_DZ.ISO8859-6
+ iso8859-6/Compose:		ar_EG.ISO8859-6
+@@ -21,16 +29,21 @@
+ iso8859-6/Compose:		ar_OM.ISO8859-6
+ iso8859-6/Compose:		ar_QA.ISO8859-6
+ iso8859-6/Compose:		ar_SA.ISO8859-6
++iso8859-6/Compose:		ar_SD.ISO8859-6
++iso8859-6/Compose:		ar_SY.ISO8859-6
+ iso8859-6/Compose:		ar_TN.ISO8859-6
+ iso8859-6/Compose:		ar_YE.ISO8859-6
+ iso8859-9e/Compose:		az_AZ.ISO8859-9E
+-koi8-c/Compose:			a3_AZ.KOI8-C
+-microsoft-cp1251/Compose:	be_BY.CP1251
++koi8-c/Compose:			az_AZ.KOI8-C
++iso8859-5/Compose:		be_BY.ISO8859-5
++XCOMM microsoft-cp1251/Compose:	be_BY.CP1251
+ iso8859-5/Compose:		bg_BG.ISO8859-5
+-microsoft-cp1251/Compose:	bg_BG.CP1251
++XCOMM microsoft-cp1251/Compose:	bg_BG.CP1251
++koi8-r/Compose:			bg_BG.KOI8-R
+ iso8859-1/Compose:		br_FR.ISO8859-1
+ iso8859-14/Compose:		br_FR.ISO8859-14
+ iso8859-15/Compose:		br_FR.ISO8859-15
++iso8859-2/Compose:		bs_BA.ISO8859-2
+ iso8859-1/Compose:		ca_ES.ISO8859-1
+ iso8859-15/Compose:		ca_ES.ISO8859-15
+ iso8859-2/Compose:		cs_CZ.ISO8859-2
+@@ -41,6 +54,8 @@
+ iso8859-15/Compose:		da_DK.ISO8859-15
+ iso8859-1/Compose:		de_AT.ISO8859-1
+ iso8859-15/Compose:		de_AT.ISO8859-15
++iso8859-1/Compose:		de_BE.ISO8859-1
++iso8859-15/Compose:		de_BE.ISO8859-15
+ iso8859-1/Compose:		de_CH.ISO8859-1
+ iso8859-15/Compose:		de_CH.ISO8859-15
+ iso8859-1/Compose:		de_DE.ISO8859-1
+@@ -51,14 +66,19 @@
+ iso8859-15/Compose:		de_LU.ISO8859-15
+ iso8859-7/Compose:		el_GR.ISO8859-7
+ iso8859-1/Compose:		en_AU.ISO8859-1
++iso8859-1/Compose:		en_BW.ISO8859-1
+ iso8859-1/Compose:		en_BZ.ISO8859-1
+ iso8859-1/Compose:		en_CA.ISO8859-1
++iso8859-1/Compose:		en_DK.ISO8859-1
+ iso8859-1/Compose:		en_GB.ISO8859-1
+ iso8859-15/Compose:		en_GB.ISO8859-15
++iso8859-1/Compose:		en_HK.ISO8859-1
+ iso8859-1/Compose:		en_IE.ISO8859-1
+ iso8859-15/Compose:		en_IE.ISO8859-15
+ iso8859-1/Compose:		en_JM.ISO8859-1
+ iso8859-1/Compose:		en_NZ.ISO8859-1
++iso8859-1/Compose:		en_PH.ISO8859-1
++iso8859-1/Compose:		en_SG.ISO8859-1
+ iso8859-1/Compose:		en_TT.ISO8859-1
+ iso8859-1/Compose:		en_UK.ISO8859-1
+ iso8859-15/Compose:		en_UK.ISO8859-15
+@@ -66,7 +86,11 @@
+ iso8859-15/Compose:		en_US.ISO8859-15
+ iso8859-1/Compose:		en_ZA.ISO8859-1
+ iso8859-15/Compose:		en_ZA.ISO8859-15
+-iso8859-3/Compose:		eo_XX.ISO8859-3
++iso8859-1/Compose:		en_ZW.ISO8859-1
++XCOMM Esperato (eo) is not supported by the GNU C Library and neither the
++XCOMM EO nor XX territories exist in ISO 3166.
++XCOMM iso8859-3/Compose:		eo_EO.ISO8859-3
++XCOMM iso8859-3/Compose:		eo_XX.ISO8859-3
+ iso8859-1/Compose:		es_AR.ISO8859-1
+ iso8859-1/Compose:		es_BO.ISO8859-1
+ iso8859-1/Compose:		es_CL.ISO8859-1
+@@ -85,6 +109,7 @@
+ iso8859-1/Compose:		es_PR.ISO8859-1
+ iso8859-1/Compose:		es_PY.ISO8859-1
+ iso8859-1/Compose:		es_SV.ISO8859-1
++iso8859-1/Compose:		es_US.ISO8859-1
+ iso8859-1/Compose:		es_UY.ISO8859-1
+ iso8859-1/Compose:		es_VE.ISO8859-1
+ iso8859-1/Compose:		et_EE.ISO8859-1
+@@ -93,6 +118,8 @@
+ iso8859-15/Compose:		et_EE.ISO8859-15
+ iso8859-1/Compose:		eu_ES.ISO8859-1
+ iso8859-15/Compose:		eu_ES.ISO8859-15
++iso8859-1/Compose:		eu_FR.ISO8859-1
++iso8859-15/Compose:		eu_FR.ISO8859-15
+ isiri-3342/Compose:		fa_IR.ISIRI-3342
+ iso8859-1/Compose:		fi_FI.ISO8859-1
+ iso8859-15/Compose:		fi_FI.ISO8859-15
+@@ -120,17 +147,15 @@
+ iso8859-14/Compose:		gv_GB.ISO8859-14
+ iso8859-15/Compose:		gv_GB.ISO8859-15
+ iso8859-8/Compose:		he_IL.ISO8859-8
+-microsoft-cp1255/Compose:	he_IL.CP1255
++XCOMM microsoft-cp1255/Compose:	he_IL.CP1255
+ iscii-dev/Compose:		hi_IN.ISCII-DEV
+ iso8859-2/Compose:		hr_HR.ISO8859-2
+ iso8859-2/Compose:		hu_HU.ISO8859-2
+ armscii-8/Compose:		hy_AM.ARMSCII-8
+ iso8859-1/Compose:		id_ID.ISO8859-1
+-iso8859-15/Compose:		id_ID.ISO8859-15
+ iso8859-1/Compose:		is_IS.ISO8859-1
+ iso8859-15/Compose:		is_IS.ISO8859-15
+ iso8859-1/Compose:		it_CH.ISO8859-1
+-iso8859-15/Compose:		it_CH.ISO8859-15
+ iso8859-1/Compose:		it_IT.ISO8859-1
+ iso8859-15/Compose:		it_IT.ISO8859-15
+ ja/Compose:			ja_JP.eucJP
+@@ -139,14 +164,20 @@
+ georgian-academy/Compose:	ka_GE.GEORGIAN-ACADEMY
+ georgian-ps/Compose:		ka_GE.GEORGIAN-PS
+ iso8859-1/Compose:		kl_GL.ISO8859-1
+-iso8859-15/Compose:		kl_GL.ISO8859-15
+ iso8859-1/Compose:		kw_GB.ISO8859-1
+ iso8859-14/Compose:		kw_GB.ISO8859-14
+ iso8859-15/Compose:		kw_GB.ISO8859-15
++iso8859-10/Compose:		lg_UG.ISO8859-10
+ ko/Compose:			ko_KR.eucKR
+ ibm-cp1133/Compose:		lo_LA.IBM-CP1133
+ mulelao-1/Compose:		lo_LA.MULELAO-1
+-iso8859-1/Compose:		lt_LN.ISO8859-1
++#if defined(__FreeBSD__)
++XCOMM most locales in FreeBSD 2.1.[56] do not work, allow use of FreeBSD's
++XCOMM generic latin-1 locale name. N.B. "lt" is a bad code to use for a
++XCOMM generic Latin-1 locale anyway because it is the country code for
++XCOMM Lithuania, which by default uses Latin-7 (ISO-8859-13).
++XCOMM lt_LN.ISO_8859-1:				lt_LN.ISO8859-1
++#endif
+ iso8859-4/Compose:		lt_LT.ISO8859-4
+ iso8859-13/Compose:		lt_LT.ISO8859-13
+ iso8859-4/Compose:		lv_LV.ISO8859-4
+@@ -154,7 +185,7 @@
+ iso8859-13/Compose:		mi_NZ.ISO8859-13
+ iso8859-5/Compose:		mk_MK.ISO8859-5
+ XCOMM mk_MK.UTF-8/Compose:		mk_MK.UTF-8
+-microsoft-cp1251/Compose:	mk_MK.CP1251
++XCOMM microsoft-cp1251/Compose:	mk_MK.CP1251
+ iso8859-1/Compose:		ms_MY.ISO8859-1
+ iso8859-3/Compose:		mt_MT.ISO8859-3
+ iso8859-1/Compose:		nl_BE.ISO8859-1
+@@ -171,58 +202,88 @@
+ iso8859-15/Compose:		ny_NO.ISO8859-15
+ iso8859-1/Compose:		oc_FR.ISO8859-1
+ iso8859-15/Compose:		oc_FR.ISO8859-15
+-iso8859-1/Compose:		pd_DE.ISO8859-1
+-iso8859-1/Compose:		pd_US.ISO8859-1
++iso8859-1/Compose:		om_KE.ISO8859-1
++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German.
++XCOMM This is not an ISO language code defined for it, and the GNU C Library
++XCOMM doesn't support it.
++XCOMM iso8859-1/Compose:		pd_DE.ISO8859-1
++XCOMM iso8859-1/Compose:		pd_US.ISO8859-1
+ iso8859-1/Compose:		ph_PH.ISO8859-1
+ iso8859-2/Compose:		pl_PL.ISO8859-2
+ iso8859-1/Compose:		pp_AN.ISO8859-1
+ iso8859-1/Compose:		pt_BR.ISO8859-1
+-iso8859-15/Compose:		pt_BR.ISO8859-15
+ iso8859-1/Compose:		pt_PT.ISO8859-1
+ iso8859-15/Compose:		pt_PT.ISO8859-15
+ iso8859-2/Compose:		ro_RO.ISO8859-2
+-koi8-r/Compose:			ru_RU.KOI8-R
+ iso8859-5/Compose:		ru_RU.ISO8859-5
+-microsoft-cp1251/Compose:	ru_RU.CP1251
++XCOMM microsoft-cp1251/Compose:	ru_RU.CP1251
++koi8-r/Compose:			ru_RU.KOI8-R
++XCOMM microsoft-cp1251/Compose:	ru_UA.CP1251
+ koi8-u/Compose:			ru_UA.KOI8-U
+ iso8859-2/Compose: 		sh_YU.ISO8859-2
+ iso8859-2/Compose: 		sk_SK.ISO8859-2
+-iso8859-2/Compose: 		sl_CS.ISO8859-2
+ iso8859-2/Compose: 		sl_SI.ISO8859-2
++iso8859-1/Compose:		so_DJ.ISO8859-1
++iso8859-1/Compose:		so_KE.ISO8859-1
++iso8859-1/Compose:		so_SO.ISO8859-1
+ iso8859-5/Compose:		sp_YU.ISO8859-5
+ iso8859-2/Compose: 		sq_AL.ISO8859-2
+ iso8859-2/Compose:		sr_SP.ISO8859-2
+ iso8859-2/Compose:		sr_YU.ISO8859-2
+ iso8859-5/Compose:		sr_YU.ISO8859-5
++XCOMM microsoft-cp1251/Compose:	sr_YU.CP1251
++iso8859-1/Compose:		st_ZA.ISO8859-1
+ iso8859-1/Compose:		sv_FI.ISO8859-1
+ iso8859-15/Compose:		sv_FI.ISO8859-15
+ iso8859-1/Compose:		sv_SE.ISO8859-1
+ iso8859-15/Compose:		sv_SE.ISO8859-15
+ tscii-0/Compose:		ta_IN.TSCII-0
+ koi8-c/Compose:			tg_TJ.KOI8-C
++XCOMM There was once a blank th_TH Compose map, but it was removed.  See
++XCOMM <URL: http://linux.thai.net/~thep/thaisupp/ >.
++XCOMM iso8859-11/Compose:		th_TH.ISO8859-11
++XCOMM th_TH/Compose:			th_TH.TIS620
+ iso8859-1/Compose:		tl_PH.ISO8859-1
+ iso8859-9/Compose:		tr_TR.ISO8859-9
+ tatar-cyr/Compose:		tt_RU.TATAR-CYR
+ koi8-c/Compose:			tt_RU.KOI8-C
++iso8859-5/Compose:		uk_UA.ISO8859-5
+ koi8-u/Compose:			uk_UA.KOI8-U
+-microsoft-cp1256/Compose:	ur_PK.CP1256
++XCOMM microsoft-cp1251/Compose: 	uk_UA.CP1251
++XCOMM microsoft-cp1256/Compose:	ur_PK.CP1256
++iso8859-1/Compose:		uz_UZ.ISO8859-1
+ vi_VN.viscii/Compose:		vi_VN.VISCII
+ vi_VN.tcvn/Compose:		vi_VN.TCVN
+ iso8859-1/Compose:		wa_BE.ISO8859-1
+-microsoft-cp1255/Compose:	yi_US.CP1256
++iso8859-15/Compose:		wa_BE.ISO8859-15
++iso8859-1/Compose:		xh_ZA.ISO8859-1
++XCOMM microsoft-cp1255/Compose:	yi_US.CP1255
+ zh_CN/Compose:			zh_CN.eucCN
+ zh_CN/Compose:			zh_CN.GB2312
+-zh_CN.gbk/Compose:		zh_CN.GBK
++zh_CN.gbk/Compose:		zh_CN.gbk
++zh_HK.big5/Compose:		zh_HK.big5
++zh_HK.big5hkscs/Compose:	zh_HK.big5-hkscs
++zh_HK.big5hkscs/Compose:	zh_HK.Big5-HKSCS
++zh_HK.big5hkscs/Compose:	zh_HK.big5hkscs
++zh_HK.big5hkscs/Compose:	zh_HK.Big5HKSCS
++zh_CN/Compose:			zh_SG.GB2312
++zh_CN.gbk/Compose:		zh_SG.gbk
+ zh_TW.big5/Compose:		zh_TW.big5
+-zh_TW.big5/Compose:		zh_TW.Big5
+ zh_TW/Compose:			zh_TW.eucTW
+-XCOMM
+-XCOMM
++iso8859-1/Compose:		zu_ZA.ISO8859-1
++XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress.
++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3".
++en_US.UTF-8/Compose:		a3_AZ.UTF-8
++en_US.UTF-8/Compose:		aa_ER.UTF-8
++en_US.UTF-8/Compose:		aa_ET.UTF-8
+ en_US.UTF-8/Compose:		af_ZA.UTF-8
++en_US.UTF-8/Compose:		am_ET.UTF-8
+ en_US.UTF-8/Compose:		ar_AA.UTF-8
++en_US.UTF-8/Compose:		ar_AE.UTF-8
+ en_US.UTF-8/Compose:		ar_BH.UTF-8
+ en_US.UTF-8/Compose:		ar_DZ.UTF-8
+ en_US.UTF-8/Compose:		ar_EG.UTF-8
++en_US.UTF-8/Compose:		ar_IN.UTF-8
+ en_US.UTF-8/Compose:		ar_IQ.UTF-8
+ en_US.UTF-8/Compose:		ar_JO.UTF-8
+ en_US.UTF-8/Compose:		ar_KW.UTF-8
+@@ -232,13 +293,17 @@
+ en_US.UTF-8/Compose:		ar_OM.UTF-8
+ en_US.UTF-8/Compose:		ar_QA.UTF-8
+ en_US.UTF-8/Compose:		ar_SA.UTF-8
++en_US.UTF-8/Compose:		ar_SD.UTF-8
++en_US.UTF-8/Compose:		ar_SY.UTF-8
+ en_US.UTF-8/Compose:		ar_TN.UTF-8
+ en_US.UTF-8/Compose:		ar_YE.UTF-8
+ en_US.UTF-8/Compose:		az_AZ.UTF-8
+-en_US.UTF-8/Compose:		a3_AZ.UTF-8
+ en_US.UTF-8/Compose:		be_BY.UTF-8
+ en_US.UTF-8/Compose:		bg_BG.UTF-8
++en_US.UTF-8/Compose:		bn_BD.UTF-8
++en_US.UTF-8/Compose:		bn_IN.UTF-8
+ en_US.UTF-8/Compose:		br_FR.UTF-8
++en_US.UTF-8/Compose:		byn_ER.UTF-8
+ en_US.UTF-8/Compose:		ca_ES.UTF-8
+ en_US.UTF-8/Compose:		cs_CZ.UTF-8
+ en_US.UTF-8/Compose:		cy_GB.UTF-8
+@@ -252,17 +317,27 @@
+ en_US.UTF-8/Compose:		de_LU.UTF-8
+ el_GR.UTF-8/Compose:		el_GR.UTF-8
+ en_US.UTF-8/Compose:		en_AU.UTF-8
++en_US.UTF-8/Compose:		en_BW.UTF-8
+ en_US.UTF-8/Compose:		en_BZ.UTF-8
+ en_US.UTF-8/Compose:		en_CA.UTF-8
++en_US.UTF-8/Compose:		en_DK.UTF-8
+ en_US.UTF-8/Compose:		en_GB.UTF-8
++en_US.UTF-8/Compose:		en_HK.UTF-8
+ en_US.UTF-8/Compose:		en_IE.UTF-8
++en_US.UTF-8/Compose:		en_IN.UTF-8
+ en_US.UTF-8/Compose:		en_JM.UTF-8
+ en_US.UTF-8/Compose:		en_NZ.UTF-8
++en_US.UTF-8/Compose:		en_PH.UTF-8
++en_US.UTF-8/Compose:		en_SG.UTF-8
+ en_US.UTF-8/Compose:		en_TT.UTF-8
+ en_US.UTF-8/Compose:		en_UK.UTF-8
+ en_US.UTF-8/Compose:		en_US.UTF-8
+ en_US.UTF-8/Compose:		en_ZA.UTF-8
+-en_US.UTF-8/Compose:		eo_XX.UTF-8
++en_US.UTF-8/Compose:		en_ZW.UTF-8
++XCOMM Esperato (eo) is not supported by the GNU C Library and neither the
++XCOMM EO nor XX territories exist in ISO 3166.
++XCOMM en_US.UTF-8/Compose:		eo_EO.UTF-8
++XCOMM en_US.UTF-8/Compose:		eo_XX.UTF-8
+ en_US.UTF-8/Compose:		es_AR.UTF-8
+ en_US.UTF-8/Compose:		es_BO.UTF-8
+ en_US.UTF-8/Compose:		es_CL.UTF-8
+@@ -280,10 +355,12 @@
+ en_US.UTF-8/Compose:		es_PR.UTF-8
+ en_US.UTF-8/Compose:		es_PY.UTF-8
+ en_US.UTF-8/Compose:		es_SV.UTF-8
++en_US.UTF-8/Compose:		es_US.UTF-8
+ en_US.UTF-8/Compose:		es_UY.UTF-8
+ en_US.UTF-8/Compose:		es_VE.UTF-8
+ en_US.UTF-8/Compose:		et_EE.UTF-8
+ en_US.UTF-8/Compose:		eu_ES.UTF-8
++en_US.UTF-8/Compose:		eu_FR.UTF-8
+ en_US.UTF-8/Compose:		fa_IR.UTF-8
+ en_US.UTF-8/Compose:		fi_FI.UTF-8
+ en_US.UTF-8/Compose:		fo_FO.UTF-8
+@@ -294,7 +371,10 @@
+ en_US.UTF-8/Compose:		fr_LU.UTF-8
+ en_US.UTF-8/Compose:		ga_IE.UTF-8
+ en_US.UTF-8/Compose:		gd_GB.UTF-8
++en_US.UTF-8/Compose:		gez_ER.UTF-8
++en_US.UTF-8/Compose:		gez_ET.UTF-8
+ en_US.UTF-8/Compose:		gl_ES.UTF-8
++en_US.UTF-8/Compose:		gu_IN.UTF-8
+ en_US.UTF-8/Compose:		gv_GB.UTF-8
+ en_US.UTF-8/Compose:		he_IL.UTF-8
+ en_US.UTF-8/Compose:		hi_IN.UTF-8
+@@ -306,23 +386,40 @@
+ en_US.UTF-8/Compose:		it_CH.UTF-8
+ en_US.UTF-8/Compose:		it_IT.UTF-8
+ en_US.UTF-8/Compose:		iu_CA.UTF-8
++en_US.UTF-8/Compose:		iw_IL.UTF-8
++en_US.UTF-8/Compose:		ja_JP.UTF-8
+ en_US.UTF-8/Compose:		ka_GE.UTF-8
+ en_US.UTF-8/Compose:		kl_GL.UTF-8
++en_US.UTF-8/Compose:		kn_IN.UTF-8
++en_US.UTF-8/Compose:		ko_KR.UTF-8
+ en_US.UTF-8/Compose:		kw_GB.UTF-8
+ en_US.UTF-8/Compose:		lo_LA.UTF-8
+ en_US.UTF-8/Compose:		lt_LT.UTF-8
+ en_US.UTF-8/Compose:		lv_LV.UTF-8
+ en_US.UTF-8/Compose:		mi_NZ.UTF-8
+ en_US.UTF-8/Compose:		mk_MK.UTF-8
++en_US.UTF-8/Compose:		ml_IN.UTF-8
++en_US.UTF-8/Compose:		mn_MN.UTF-8
++en_US.UTF-8/Compose:		mr_IN.UTF-8
+ en_US.UTF-8/Compose:		ms_MY.UTF-8
++en_US.UTF-8/Compose:		mt_MT.UTF-8
++en_US.UTF-8/Compose:		ne_NP.UTF-8
+ en_US.UTF-8/Compose:		nl_BE.UTF-8
+ en_US.UTF-8/Compose:		nl_NL.UTF-8
+ en_US.UTF-8/Compose:		no_NO.UTF-8
+ en_US.UTF-8/Compose:		nb_NO.UTF-8
+-en_US.UTF-8/Compose:		ny_NO.UTF-8
++en_US.UTF-8/Compose:		nn_NO.UTF-8
++XCOMM ny is the language code for Nyanja (spoken in Malawi), not Nynorsk.
++XCOMM See <URL: http://www.ethnologue.com/show_iso639.asp?code=nya >.
++XCOMM en_US.UTF-8/Compose:		ny_NO.UTF-8
+ en_US.UTF-8/Compose:		oc_FR.UTF-8
+-en_US.UTF-8/Compose:		pd_DE.UTF-8
+-en_US.UTF-8/Compose:		pd_US.UTF-8
++en_US.UTF-8/Compose:		om_ET.UTF-8
++en_US.UTF-8/Compose:		pa_IN.UTF-8
++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German.
++XCOMM This is not an ISO language code defined for it, and the GNU C Library
++XCOMM doesn't support it.
++XCOMM en_US.UTF-8/Compose:		pd_DE.UTF-8
++XCOMM en_US.UTF-8/Compose:		pd_US.UTF-8
+ en_US.UTF-8/Compose:		ph_PH.UTF-8
+ en_US.UTF-8/Compose:		pl_PL.UTF-8
+ en_US.UTF-8/Compose:		pp_AN.UTF-8
+@@ -331,20 +428,34 @@
+ en_US.UTF-8/Compose:		ro_RO.UTF-8
+ en_US.UTF-8/Compose:		ru_RU.UTF-8
+ en_US.UTF-8/Compose:		ru_UA.UTF-8
++en_US.UTF-8/Compose:		se_NO.UTF-8
++en_US.UTF-8/Compose:		sid_ET.UTF-8
+ en_US.UTF-8/Compose:		sk_SK.UTF-8
+ en_US.UTF-8/Compose:		sl_SI.UTF-8
++en_US.UTF-8/Compose:		so_ET.UTF-8
+ en_US.UTF-8/Compose:		sq_AL.UTF-8
+ en_US.UTF-8/Compose:		sr_YU.UTF-8
++en_US.UTF-8/Compose:		st_ZA.UTF-8
+ en_US.UTF-8/Compose:		sv_FI.UTF-8
+ en_US.UTF-8/Compose:		sv_SE.UTF-8
+ en_US.UTF-8/Compose:		ta_IN.UTF-8
++en_US.UTF-8/Compose:		te_IN.UTF-8
+ en_US.UTF-8/Compose:		tg_TJ.UTF-8
+ en_US.UTF-8/Compose:		th_TH.UTF-8
++en_US.UTF-8/Compose:		ti_ER.UTF-8
++en_US.UTF-8/Compose:		ti_ET.UTF-8
++en_US.UTF-8/Compose:		tig_ER.UTF-8
+ en_US.UTF-8/Compose:		tl_PH.UTF-8
+ en_US.UTF-8/Compose:		tr_TR.UTF-8
+ en_US.UTF-8/Compose:		tt_RU.UTF-8
+ en_US.UTF-8/Compose:		uk_UA.UTF-8
+ en_US.UTF-8/Compose:		ur_PK.UTF-8
++en_US.UTF-8/Compose:		uz_UZ.UTF-8
+ en_US.UTF-8/Compose:		vi_VN.UTF-8
+ en_US.UTF-8/Compose:		wa_BE.UTF-8
++en_US.UTF-8/Compose:		xh_ZA.UTF-8
+ en_US.UTF-8/Compose:		yi_US.UTF-8
++en_US.UTF-8/Compose:		zh_CN.UTF-8
++en_US.UTF-8/Compose:		zh_HK.UTF-8
++en_US.UTF-8/Compose:		zh_TW.UTF-8
++en_US.UTF-8/Compose:		zu_ZA.UTF-8
+diff -urN xc/nls~/locale.alias xc/nls/locale.alias
+--- xc/nls~/locale.alias	2004-08-11 17:15:26.000000000 -0500
++++ xc/nls/locale.alias	2004-08-12 01:54:26.000000000 -0500
+@@ -16,30 +16,90 @@
+ Cextend:					en_US.ISO8859-1
+ Cextend.en:					en_US.ISO8859-1
+ English_United-States.437:			C
++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3".
++a3:						a3_AZ.KOI8-C
++a3_AZ:						a3_AZ.KOI8-C
++a3_AZ.koi8c:					a3_AZ.KOI8-C
++aa_DJ:						aa_DJ.ISO8859-1
++aa_DJ.iso88591:					aa_DJ.ISO8859-1
++aa_DJ.ISO-8859-1:				aa_DJ.ISO8859-1
++aa_ER:						aa_ER.UTF-8
++aa_ER@saaho:					aa_ER.UTF-8
++aa_ER.UTF-8@saaho:				aa_ER.UTF-8
++aa_ET:						aa_ET.UTF-8
+ af:						af_ZA.ISO8859-1
+ af_ZA:						af_ZA.ISO8859-1
+ af_ZA.iso88591:					af_ZA.ISO8859-1
++af_ZA.ISO-8859-1:				af_ZA.ISO8859-1
+ am:						am_ET.UTF-8
++am_ET:						am_ET.UTF-8
++an_ES:						an_ES.ISO8859-15
++an_ES.ISO-8859-15:				an_ES.ISO8859-15
+ ar:						ar_AA.ISO8859-6
+ ar_AA:						ar_AA.ISO8859-6
+ ar_AA.iso88596:					ar_AA.ISO8859-6
+-ar_SA:						ar_SA.ISO8859-6
+-ar_SA.iso88596:					ar_SA.ISO8859-6
++ar_AA.ISO-8859-6:				ar_AA.ISO8859-6
++ar_AE:						ar_AE.ISO8859-6
++ar_AE.iso88596:					ar_AE.ISO8859-6
++ar_AE.ISO-8859-6:				ar_AE.ISO8859-6
++ar_BH:						ar_BH.ISO8859-6
++ar_BH.iso88596:					ar_BH.ISO8859-6
++ar_BH.ISO-8859-6:				ar_BH.ISO8859-6
++ar_DZ:						ar_DZ.ISO8859-6
++ar_DZ.iso88596:					ar_DZ.ISO8859-6
++ar_DZ.ISO-8859-6:				ar_DZ.ISO8859-6
+ ar_EG:						ar_EG.ISO8859-6
+ ar_EG.iso88596:					ar_EG.ISO8859-6
++ar_EG.ISO-8859-6:				ar_EG.ISO8859-6
++ar_IN:						ar_IN.UTF-8
++ar_IQ:						ar_IQ.ISO8859-6
++ar_IQ.iso88596:					ar_IQ.ISO8859-6
++ar_IQ.ISO-8859-6:				ar_IQ.ISO8859-6
++ar_JO:						ar_JO.ISO8859-6
++ar_JO.iso88596:					ar_JO.ISO8859-6
++ar_JO.ISO-8859-6:				ar_JO.ISO8859-6
++ar_KW:						ar_KW.ISO8859-6
++ar_KW.iso88596:					ar_KW.ISO8859-6
++ar_KW.ISO-8859-6:				ar_KW.ISO8859-6
++ar_LB:						ar_LB.ISO8859-6
++ar_LB.iso88596:					ar_LB.ISO8859-6
++ar_LB.ISO-8859-6:				ar_LB.ISO8859-6
++ar_LY:						ar_LY.ISO8859-6
++ar_LY.iso88596:					ar_LY.ISO8859-6
++ar_LY.ISO-8859-6:				ar_LY.ISO8859-6
++ar_MA:						ar_MA.ISO8859-6
++ar_MA.iso88596:					ar_MA.ISO8859-6
++ar_MA.ISO-8859-6:				ar_MA.ISO8859-6
++ar_OM:						ar_OM.ISO8859-6
++ar_OM.iso88596:					ar_OM.ISO8859-6
++ar_OM.ISO-8859-6:				ar_OM.ISO8859-6
++ar_QA:						ar_QA.ISO8859-6
++ar_QA.iso88596:					ar_QA.ISO8859-6
++ar_QA.ISO-8859-6:				ar_QA.ISO8859-6
++ar_SA:						ar_SA.ISO8859-6
++ar_SA.iso88596:					ar_SA.ISO8859-6
++ar_SA.ISO-8859-6:				ar_SA.ISO8859-6
++ar_SD:						ar_SD.ISO8859-6
++ar_SD.iso88596:					ar_SD.ISO8859-6
++ar_SD.ISO-8859-6:				ar_SD.ISO8859-6
++ar_SY:						ar_SY.ISO8859-6
++ar_SY.iso88596:					ar_SY.ISO8859-6
++ar_SY.ISO-8859-6:				ar_SY.ISO8859-6
++ar_TN:						ar_TN.ISO8859-6
++ar_TN.iso88596:					ar_TN.ISO8859-6
++ar_TN.ISO-8859-6:				ar_TN.ISO8859-6
++ar_YE:						ar_YE.ISO8859-6
++ar_YE.iso88596:					ar_YE.ISO8859-6
++ar_YE.ISO-8859-6:				ar_YE.ISO8859-6
+ az:						az_AZ.ISO8859-9E
+ az_AZ:						az_AZ.ISO8859-9E
+ az_AZ.iso88599e:				az_AZ.ISO8859-9E
+-a3:						a3_AZKOI8-C
+-a3_AZ:						a3_AZ.KOI8-C
+-a3_AZ.koi8c:					a3_AZ.KOI8-C
+ be:						be_BY.CP1251
+ be_BY:						be_BY.CP1251
+ be_BY.cp1251:					be_BY.CP1251
+ be_BY.microsoftcp1251:				be_BY.CP1251
+ be_BY.microsoft-cp1251:				be_BY.CP1251
+ be_BY.MICROSOFT-CP1251:				be_BY.CP1251
+-bg_BG.iso88595:					bg_BY.ISO8859-5
+ bg:						bg_BG.CP1251
+ bg_BG:						bg_BG.CP1251
+ bg_BG.cp1251:					bg_BG.CP1251
+@@ -47,19 +107,33 @@
+ bg_BG.microsoft-cp1251:				bg_BG.CP1251
+ bg_BG.MICROSOFT-CP1251:				bg_BG.CP1251
+ bg_BG.iso88595:					bg_BG.ISO8859-5
++bg_BG.ISO-8859-5:				bg_BG.ISO8859-5
+ bg_BG.koi8r:					bg_BG.KOI8-R
+ br:						br_FR.ISO8859-1
+ br_FR:						br_FR.ISO8859-1
+ br_FR.iso88591:					br_FR.ISO8859-1
++br_FR.ISO-8859-1:				br_FR.ISO8859-1
+ br_FR.iso885914:				br_FR.ISO8859-14
++br_FR.ISO-8859-14:				br_FR.ISO8859-14
+ br_FR.iso885915:				br_FR.ISO8859-15
++br_FR.ISO-8859-15:				br_FR.ISO8859-15
 +br_FR.ISO-8859-15@euro:				br_FR.ISO8859-15
+ br_FR@euro:					br_FR.ISO8859-15
++br_FR.UTF-8@euro:				br_FR.UTF-8
++bn_BD:						bn_BD.UTF-8
++bn_IN:						bn_BD.UTF-8
++bs_BA:						bs_BA.ISO8859-2
++bs_BA.ISO-8859-2:				bs_BA.ISO8859-2
++byn_ER:						byn_ER.UTF-8
+ ca:						ca_ES.ISO8859-1
+ ca_ES:						ca_ES.ISO8859-1
++ca_ES@euro:					ca_ES.ISO8859-15
+ ca_ES.iso88591:					ca_ES.ISO8859-1
+ ca_ES.ISO-8859-1:				ca_ES.ISO8859-1
+ ca_ES.iso885915:				ca_ES.ISO8859-15
+-ca_ES@euro:					ca_ES.ISO8859-15
++ca_ES.ISO-8859-15:				ca_ES.ISO8859-15
 +ca_ES.ISO-8859-15@euro:				ca_ES.ISO8859-15
-+ca_ES.ISO-8859-1:				ca_ES.ISO8859-1
 +ca_ES.UTF-8@euro:				ca_ES.UTF-8
-+cs_CZ.ISO-8859-2:				cs_CZ.ISO8859-2
+ cs:						cs_CZ.ISO8859-2
+ cs_CS:						cs_CZ.ISO8859-2
+ cs_CS.ISO8859-2:				cs_CZ.ISO8859-2
+@@ -67,14 +141,17 @@
+ cs_CZ.iso88592:					cs_CZ.ISO8859-2
+ cs_CZ.ISO-8859-2:				cs_CZ.ISO8859-2
+ cs_CZ.ISO_8859-2:				cs_CZ.ISO8859-2
+-XCOMM cz is old name for cs, should be deleted in the future:
++XCOMM cz is an old name for Czech (now cs), and should be deleted in the future.
+ cz:						cs_CZ.ISO8859-2
+ cz_CZ:						cs_CZ.ISO8859-2
+ cy:						cy_GB.ISO8859-1
+ cy_GB:						cy_GB.ISO8859-1
+ cy_GB.iso88591:					cy_GB.ISO8859-1
++cy_GB.ISO-8859-1:				cy_GB.ISO8859-1
+ cy_GB.iso885914:				cy_GB.ISO8859-14
++cy_GB.ISO-8859-14:				cy_GB.ISO8859-14
+ cy_GB.iso885915:				cy_GB.ISO8859-15
++cy_GB.ISO-8859-15:				cy_GB.ISO8859-15
+ da:						da_DK.ISO8859-1
+ da_DK:						da_DK.ISO8859-1
+ da_DK.88591:					da_DK.ISO8859-1
+@@ -83,20 +160,27 @@
+ da_DK.ISO-8859-1:				da_DK.ISO8859-1
+ da_DK.ISO_8859-1:				da_DK.ISO8859-1
+ da_DK.iso885915:				da_DK.ISO8859-15
++da_DK.ISO-8859-15:				da_DK.ISO8859-15
+ de:						de_DE.ISO8859-1
+ de_AT:						de_AT.ISO8859-1
++de_AT@euro:					de_AT.ISO8859-15
+ de_AT.iso88591:					de_AT.ISO8859-1
++de_AT.ISO-8859-1:				de_AT.ISO8859-1
+ de_AT.ISO_8859-1:				de_AT.ISO8859-1
+ de_AT.iso885915:				de_AT.ISO8859-15
+-de_AT@euro:					de_AT.ISO8859-15
++de_AT.ISO-8859-15:				de_AT.ISO8859-15
 +de_AT.ISO-8859-15@euro:				de_AT.ISO8859-15
 +de_AT.UTF-8@euro:				de_AT.UTF-8
+ de_BE:						de_BE.ISO8859-1
++de_BE@euro:					de_BE.ISO8859-15
+ de_BE.iso88591:					de_BE.ISO8859-1
+ de_BE.ISO_8859-1:				de_BE.ISO8859-1
+ de_BE.ISO-8859-1:				de_BE.ISO8859-1
+ de_BE.iso885915:				de_BE.ISO8859-15
+ de_BE.ISO_8859-15:				de_BE.ISO8859-15
+ de_BE.ISO-8859-15:				de_BE.ISO8859-15
+-de_BE@euro:					de_BE.ISO8859-15
 +de_BE.ISO-8859-15@euro:				de_BE.ISO8859-15
 +de_BE.UTF-8@euro:				de_BE.UTF-8
+ de_CH:						de_CH.ISO8859-1
+ de_CH.iso88591:					de_CH.ISO8859-1
+ de_CH.ISO_8859-1:				de_CH.ISO8859-1
+@@ -105,6 +189,7 @@
+ de_CH.ISO_8859-15:				de_CH.ISO8859-15
+ de_CH.ISO-8859-15:				de_CH.ISO8859-15
+ de_DE:						de_DE.ISO8859-1
++de_DE@euro:					de_DE.ISO8859-15
+ de_DE.88591:					de_DE.ISO8859-1
+ de_DE.88591.en:					de_DE.ISO8859-1
+ de_DE.iso88591:					de_DE.ISO8859-1
+@@ -113,58 +198,88 @@
+ de_DE.iso885915:				de_DE.ISO8859-15
+ de_DE.ISO-8859-15:				de_DE.ISO8859-15
+ de_DE.ISO_8859-15:				de_DE.ISO8859-15
+-de_DE@euro:					de_DE.ISO8859-15
 +de_DE.ISO-8859-15@euro:				de_DE.ISO8859-15
 +de_DE.UTF-8@euro:				de_DE.UTF-8
++de_LI:						de_LI.ISO8859-1
++de_LI@euro:					de_LI.ISO8859-15
++de_LI.iso88591:					de_LI.ISO8859-1
++de_LI.ISO-8859-1:				de_LI.ISO8859-1
++de_LI.iso885915:				de_LI.ISO8859-15
++de_LI.ISO-8859-15:				de_LI.ISO8859-15
++de_LI.ISO-8859-15@euro:				de_LI.ISO8859-15
++de_LI.UTF-8@euro:				de_LI.UTF-8
+ de_LU:						de_LU.ISO8859-1
++de_LU@euro:					de_LU.ISO8859-15
+ de_LU.iso88591:					de_LU.ISO8859-1
+ de_LU.ISO_8859-1:				de_LU.ISO8859-1
+ de_LU.ISO-8859-1:				de_LU.ISO8859-1
+ de_LU.iso885915:				de_LU.ISO8859-15
+ de_LU.ISO_8859-15:				de_LU.ISO8859-15
+ de_LU.ISO-8859-15:				de_LU.ISO8859-15
+-de_LU@euro:					de_LU.ISO8859-15
 +de_LU.ISO-8859-15@euro:				de_LU.ISO8859-15
 +de_LU.UTF-8@euro:				de_LU.UTF-8
-+el_GR.ISO-8859-15@euro:				el_GR.ISO8859-15
-+el_GR.ISO-8859-7:				el_GR.ISO8859-7
+ GER_DE.8859:					de_DE.ISO8859-1
+ GER_DE.8859.in:					de_DE.ISO8859-1
+-ee:						ee_EE.ISO8859-4
+-ee_EE:						ee_EE.ISO8859-4
+-ee_EE.iso88594:					ee_EE.ISO8859-4
+ el:						el_GR.ISO8859-7
+ el_GR:						el_GR.ISO8859-7
+ el_GR.iso88597:					el_GR.ISO8859-7
+ el_GR.ISO-8859-7:				el_GR.ISO8859-7
+-el_GR@euro:					el_GR.ISO8859-15
+ en:						en_US.ISO8859-1
+ en.ISO-8859-1:					en_US.ISO8859-1
+ en_AU:						en_AU.ISO8859-1
+ en_AU.iso88591:					en_AU.ISO8859-1
+ en_AU.ISO-8859-1:				en_AU.ISO8859-1
+ en_AU.ISO_8859-1:				en_AU.ISO8859-1
++en_BW:						en_BW.ISO8859-1
++en_BW.iso88591:					en_BW.ISO8859-1
++en_BW.ISO-8859-1:				en_BW.ISO8859-1
+ en_CA:						en_CA.ISO8859-1
+ en_CA.iso88591:					en_CA.ISO8859-1
+ en_CA.ISO-8859-1:				en_CA.ISO8859-1
+ en_CA.ISO_8859-1:				en_CA.ISO8859-1
++en_DK:						en_DK.ISO8859-1
++en_DK.iso88591:					en_DK.ISO8859-1
++en_DK.ISO-8859-1:				en_DK.ISO8859-1
+ en_GB:						en_GB.ISO8859-1
+ en_GB.88591:					en_GB.ISO8859-1
+ en_GB.88591.en:					en_GB.ISO8859-1
+ en_GB.iso88591:					en_GB.ISO8859-1
+-en_GB.iso885915:				en_GB.ISO8859-15
+ en_GB.ISO-8859-1:				en_GB.ISO8859-1
+ en_GB.ISO_8859-1:				en_GB.ISO8859-1
++en_GB.iso885915:				en_GB.ISO8859-15
++en_GB.ISO-8859-15:				en_GB.ISO8859-15
+ en_UK:						en_GB.ISO8859-1
+ ENG_GB.8859:					en_GB.ISO8859-1
+ ENG_GB.8859.in:					en_GB.ISO8859-1
++en_HK:						en_HK.ISO8859-1
++en_HK.iso88591:					en_HK.ISO8859-1
++en_HK.ISO-8859-1:				en_HK.ISO8859-1
+ en_IE:						en_IE.ISO8859-1
+ en_IE.iso88591:					en_IE.ISO8859-1
++en_IE.ISO-8859-1:				en_IE.ISO8859-1
+ en_IE.iso885915:				en_IE.ISO8859-15
++en_IE.ISO-8859-15:				en_IE.ISO8859-15
 +en_IE.ISO-8859-15@euro:				en_IE.ISO8859-15
+ en_IE@euro:					en_IE.ISO8859-15
 +en_IE.UTF-8@euro:				en_IE.UTF-8
++en_IN:						en_IN.UTF-8
+ en_NZ:						en_NZ.ISO8859-1
+ en_NZ.iso88591:					en_NZ.ISO8859-1
++en_NZ.ISO-8859-1:				en_NZ.ISO8859-1
++en_PH:						en_PH.ISO8859-1
++en_PH.iso88591:					en_PH.ISO8859-1
++en_PH.ISO-8859-1:				en_PH.ISO8859-1
++en_SG:						en_SG.ISO8859-1
++en_SG.iso88591:					en_SG.ISO8859-1
++en_SG.ISO-8859-1:				en_SG.ISO8859-1
+ en_US:						en_US.ISO8859-1
+ en_US.88591:					en_US.ISO8859-1
+ en_US.88591.en:					en_US.ISO8859-1
+ en_US.iso88591:					en_US.ISO8859-1
+-en_US.iso885915:				en_US.ISO8859-15
+ en_US.ISO-8859-1:				en_US.ISO8859-1
+ en_US.ISO_8859-1:				en_US.ISO8859-1
++en_US.iso885915:				en_US.ISO8859-15
++en_US.ISO-8859-15:				en_US.ISO8859-15
+ #if defined(SVR4) && defined(sun)
+ en_US.utf8:					en_US.UTF-8
+ #endif
+@@ -174,29 +289,41 @@
+ en_ZA.iso88591:					en_ZA.ISO8859-1
+ en_ZA.ISO-8859-1:				en_ZA.ISO8859-1
+ en_ZA.ISO_8859-1:				en_ZA.ISO8859-1
+-en_ZA.ISO-8859-15:				en_ZA.ISO8859-15
+ en_ZA.iso885915:				en_ZA.ISO8859-15
++en_ZA.ISO-8859-15:				en_ZA.ISO8859-15
+ en_ZA.utf8:					en_ZA.UTF-8
+-eo:						eo_XX.ISO8859-3
+-eo_EO:						eo_EO.ISO8859-3
+-eo_EO.ISO8859-3:				eo_EO.ISO8859-3
+-eo_XX:						eo_XX.ISO8859-3
+-eo_XX.ISO8859-3:				eo_XX.ISO8859-3
++en_ZW:						en_ZW.ISO8859-1
++en_ZW.iso88591:					en_ZW.ISO8859-1
++en_ZW.ISO-8859-1:				en_ZW.ISO8859-1
++XCOMM Esperato (eo) is not supported by the GNU C Library and neither the
++XCOMM EO nor XX territories exist in ISO 3166.
++XCOMM eo:						eo_XX.ISO8859-3
++XCOMM eo_EO:						eo_EO.ISO8859-3
++XCOMM eo_EO.ISO8859-3:				eo_EO.ISO8859-3
++XCOMM eo_XX:						eo_XX.ISO8859-3
++XCOMM eo_XX.ISO8859-3:				eo_XX.ISO8859-3
+ es:						es_ES.ISO8859-1
+ es_AR:						es_AR.ISO8859-1
+ es_AR.iso88591:					es_AR.ISO8859-1
++es_AR.ISO-8859-1:				es_AR.ISO8859-1
+ es_BO:						es_BO.ISO8859-1
+ es_BO.iso88591:					es_BO.ISO8859-1
++es_BO.ISO-8859-1:				es_BO.ISO8859-1
+ es_CL:						es_CL.ISO8859-1
+ es_CL.iso88591:					es_CL.ISO8859-1
++es_CL.ISO-8859-1:				es_CL.ISO8859-1
+ es_CO:						es_CO.ISO8859-1
+ es_CO.iso88591:					es_CO.ISO8859-1
++es_CO.ISO-8859-1:				es_CO.ISO8859-1
+ es_CR:						es_CR.ISO8859-1
+ es_CR.iso88591:					es_CR.ISO8859-1
++es_CR.ISO-8859-1:				es_CR.ISO8859-1
+ es_DO:						es_DO.ISO8859-1
+ es_DO.iso88591:					es_DO.ISO8859-1
++es_DO.ISO-8859-1:				es_DO.ISO8859-1
+ es_EC:						es_EC.ISO8859-1
+ es_EC.iso88591:					es_EC.ISO8859-1
++es_EC.ISO-8859-1:				es_EC.ISO8859-1
+ es_ES:						es_ES.ISO8859-1
+ es_ES.88591:					es_ES.ISO8859-1
+ es_ES.88591.en:					es_ES.ISO8859-1
+@@ -204,53 +331,79 @@
+ es_ES.ISO-8859-1:				es_ES.ISO8859-1
+ es_ES.ISO_8859-1:				es_ES.ISO8859-1
+ es_ES.iso885915:				es_ES.ISO8859-15
++es_ES.ISO-8859-15:				es_ES.ISO8859-15
 +es_ES.ISO-8859-15@euro:				es_ES.ISO8859-15
-+es_ES.ISO-8859-1:				es_ES.ISO8859-1
+ es_ES@euro:					es_ES.ISO8859-15
 +es_ES.UTF-8@euro:				es_ES.UTF-8
+ es_GT:						es_GT.ISO8859-1
+ es_GT.iso88591:					es_GT.ISO8859-1
++es_GT.ISO-8859-1:				es_GT.ISO8859-1
+ es_HN:						es_HN.ISO8859-1
+ es_HN.iso88591:					es_HN.ISO8859-1
++es_HN.ISO-8859-1:				es_HN.ISO8859-1
+ es_MX:						es_MX.ISO8859-1
+ es_MX.iso88591:					es_MX.ISO8859-1
++es_MX.ISO-8859-1:				es_MX.ISO8859-1
+ es_NI:						es_NI.ISO8859-1
+ es_NI.iso88591:					es_NI.ISO8859-1
++es_NI.ISO-8859-1:				es_NI.ISO8859-1
+ es_PA:						es_PA.ISO8859-1
+ es_PA.iso88591:					es_PA.ISO8859-1
+-es_PA.iso885915:				es_PA.ISO8859-15
++es_PA.ISO-8859-1:				es_PA.ISO8859-1
+ es_PE:						es_PE.ISO8859-1
+ es_PE.iso88591:					es_PE.ISO8859-1
+-es_PE.iso885915:				es_PE.ISO8859-15
++es_PE.ISO-8859-1:				es_PE.ISO8859-1
+ es_PR:						es_PR.ISO8859-1
+ es_PR.iso88591:					es_PR.ISO8859-1
++es_PR.ISO-8859-1:				es_PR.ISO8859-1
+ es_PY:						es_PY.ISO8859-1
+ es_PY.iso88591:					es_PY.ISO8859-1
+-es_PY.iso885915:				es_PY.ISO8859-15
++es_PY.ISO-8859-1:				es_PY.ISO8859-1
+ es_SV:						es_SV.ISO8859-1
+ es_SV.iso88591:					es_SV.ISO8859-1
+-es_SV.iso885915:				es_SV.ISO8859-15
++es_SV.ISO-8859-1:				es_SV.ISO8859-1
++es_US:						es_US.ISO8859-1
++es_US.iso88591:					es_US.ISO8859-1
++es_US.ISO-8859-1:				es_US.ISO8859-1
+ es_UY:						es_UY.ISO8859-1
+ es_UY.iso88591:					es_UY.ISO8859-1
+-es_UY.iso885915:				es_UY.ISO8859-15
++es_UY.ISO-8859-1:				es_UY.ISO8859-1
+ es_VE:						es_VE.ISO8859-1
+ es_VE.iso88591:					es_VE.ISO8859-1
+-es_VE.iso885915:				es_VE.ISO8859-15
++es_VE.ISO-8859-1:				es_VE.ISO8859-1
+ #if defined(SVR4) && defined(sun)
+ XCOMM Sun Solaris 2.6 has erroneously specified Estonian as a Latin-1
+ XCOMM language; however this is clearly incorrect according to ISO8859.
+ #endif
+-XCOMM According to Estonian local standards, ISO8859-4 is not recommended
+-XCOMM charset. EVS8:2000 specifies ISO8859-15 as base charset.
++XCOMM According to Estonian local standards, ISO8859-4 is not a recommended
++XCOMM charset. EVS8:2000 specifies ISO8859-15 as the base charset.
+ et:						et_EE.ISO8859-15
+ et_EE:						et_EE.ISO8859-15
+ et_EE.iso88591:					et_EE.ISO8859-1
+ et_EE.ISO-8859-1:				et_EE.ISO8859-1
+ et_EE.iso88594:					et_EE.ISO8859-4
++et_EE.ISO-8859-4:				et_EE.ISO8859-4
+ et_EE.iso885913:				et_EE.ISO8859-13
++et_EE.ISO-8859-13:				et_EE.ISO8859-13
+ et_EE.iso885915:				et_EE.ISO8859-15
++et_EE.ISO-8859-15:				et_EE.ISO8859-15
+ eu:						eu_ES.ISO8859-1
+ eu_ES:						eu_ES.ISO8859-1
+ eu_ES.iso88591:					eu_ES.ISO8859-1
++eu_ES.ISO-8859-1:				eu_ES.ISO8859-1
+ eu_ES.iso885915:				eu_ES.ISO8859-15
++eu_ES.ISO-8859-15:				eu_ES.ISO8859-15
 +eu_ES.ISO-8859-15@euro:				eu_ES.ISO8859-15
+ eu_ES@euro:					eu_ES.ISO8859-15
 +eu_ES.UTF-8@euro:				eu_ES.UTF-8
++eu_FR:						eu_FR.ISO8859-1
++eu_FR.iso88591:					eu_FR.ISO8859-1
++eu_FR.ISO-8859-1:				eu_FR.ISO8859-1
++eu_FR.iso885915:				eu_FR.ISO8859-15
++eu_FR.ISO-8859-15:				eu_FR.ISO8859-15
++eu_FR.ISO-8859-15@euro:				eu_FR.ISO8859-15
++eu_FR@euro:					eu_FR.ISO8859-15
++eu_FR.UTF-8@euro:				eu_FR.UTF-8
+ fa:						fa_IR.UTF-8
+ fa_IR:						fa_IR.UTF-8
+ fa_IR.isiri3342:				fa_IR.ISIRI-3342
+@@ -263,30 +416,42 @@
+ fi_FI.ISO-8859-1:				fi_FI.ISO8859-1
+ fi_FI.ISO_8859-1:				fi_FI.ISO8859-1
+ fi_FI.iso885915:				fi_FI.ISO8859-15
++fi_FI.ISO-8859-15:				fi_FI.ISO8859-15
 +fi_FI.ISO-8859-15@euro:				fi_FI.ISO8859-15
-+fi_FI.ISO-8859-1:				fi_FI.ISO8859-1
-+fi_FI.UTF-8@euro:				fi_FI.UTF-8
+ fi_FI@euro:					fi_FI.ISO8859-15
+ fi_FI.UTF-8@euro:				fi_FI.UTF-8
+ fo:						fo_FO.ISO8859-1
+ fo_FO:						fo_FO.ISO8859-1
+ fo_FO.iso88591:					fo_FO.ISO8859-1
++fo_FO.ISO-8859-1:				fo_FO.ISO8859-1
+ fo_FO.iso885915:				fo_FO.ISO8859-15
++fo_FO.ISO-8859-15:				fo_FO.ISO8859-15
+ fr:						fr_FR.ISO8859-1
+ fr_BE:						fr_BE.ISO8859-1
+ fr_BE.88591:					fr_BE.ISO8859-1
+ fr_BE.88591.en:					fr_BE.ISO8859-1
++fr_BE.ISO-8859-1:				fr_BE.ISO8859-1
+ fr_BE.ISO_8859-1:				fr_BE.ISO8859-1
+ fr_BE.iso885915:				fr_BE.ISO8859-15
++fr_BE.ISO-8859-15:				fr_BE.ISO8859-15
 +fr_BE.ISO-8859-15@euro:				fr_BE.ISO8859-15
+ fr_BE@euro:					fr_BE.ISO8859-15
 +fr_BE.UTF-8@euro:				fr_BE.UTF-8
+ fr_CA:						fr_CA.ISO8859-1
+ fr_CA.88591:					fr_CA.ISO8859-1
+ fr_CA.88591.en:					fr_CA.ISO8859-1
+ fr_CA.iso88591:					fr_CA.ISO8859-1
++fr_CA.ISO-8859-1:				fr_CA.ISO8859-1
+ fr_CA.ISO_8859-1:				fr_CA.ISO8859-1
+ fr_CA.iso885915:				fr_CA.ISO8859-15
++fr_CA.ISO-8859-15:				fr_CA.ISO8859-15
+ fr_CH:						fr_CH.ISO8859-1
+ fr_CH.88591:					fr_CH.ISO8859-1
+ fr_CH.88591.en:					fr_CH.ISO8859-1
++fr_CH.ISO-8859-1:				fr_CH.ISO8859-1
+ fr_CH.ISO_8859-1:				fr_CH.ISO8859-1
+ fr_CH.iso885915:				fr_CH.ISO8859-15
++fr_CH.ISO-8859-15:				fr_CH.ISO8859-15
+ fr_FR:						fr_FR.ISO8859-1
+ fr_FR.88591:					fr_FR.ISO8859-1
+ fr_FR.88591.en:					fr_FR.ISO8859-1
+@@ -294,7 +459,10 @@
+ fr_FR.ISO-8859-1:				fr_FR.ISO8859-1
+ fr_FR.ISO_8859-1:				fr_FR.ISO8859-1
+ fr_FR.iso885915:				fr_FR.ISO8859-15
++fr_FR.ISO-8859-15:				fr_FR.ISO8859-15
 +fr_FR.ISO-8859-15@euro:				fr_FR.ISO8859-15
+ fr_FR@euro:					fr_FR.ISO8859-15
 +fr_FR.UTF-8@euro:				fr_FR.UTF-8
+ fr_LU:						fr_LU.ISO8859-1
+ fr_LU.88591:					fr_LU.ISO8859-1
+ fr_LU.88591.en:					fr_LU.ISO8859-1
+@@ -302,34 +470,59 @@
+ fr_LU.ISO-8859-1:				fr_LU.ISO8859-1
+ fr_LU.ISO_8859-1:				fr_LU.ISO8859-1
+ fr_LU.iso885915:				fr_LU.ISO8859-15
++fr_LU.ISO-8859-15:				fr_LU.ISO8859-15
 +fr_LU.ISO-8859-15@euro:				fr_LU.ISO8859-15
+ fr_LU@euro:					fr_LU.ISO8859-15
 +fr_LU.UTF-8@euro:				fr_LU.UTF-8
+ FRE_FR.8859:					fr_FR.ISO8859-1
+ FRE_FR.8859.in:					fr_FR.ISO8859-1
+ ga:						ga_IE.ISO8859-1
+ ga_IE:						ga_IE.ISO8859-1
+ ga_IE.iso88591:					ga_IE.ISO8859-1
++ga_IE.ISO-8859-1:				ga_IE.ISO8859-1
+ ga_IE.iso885914:				ga_IE.ISO8859-14
++ga_IE.ISO-8859-14:				ga_IE.ISO8859-14
+ ga_IE.iso885915:				ga_IE.ISO8859-15
++ga_IE.ISO-8859-15:				ga_IE.ISO8859-15
 +ga_IE.ISO-8859-15@euro:				ga_IE.ISO8859-15
+ ga_IE@euro:					ga_IE.ISO8859-15
 +ga_IE.UTF-8@euro:				ga_IE.UTF-8
+ gd:						gd_GB.ISO8859-1
+ gd_GB:						gd_GB.ISO8859-1
+ gd_GB.iso88591:					gd_GB.ISO8859-1
++gd_GB.ISO-8859-1:				gd_GB.ISO8859-1
+ gd_GB.iso885914:				gd_GB.ISO8859-14
++gd_GB.ISO-8859-14:				gd_GB.ISO8859-14
+ gd_GB.iso885915:				gd_GB.ISO8859-15
++gd_GB.ISO-8859-15:				gd_GB.ISO8859-15
++gez_ER:						gez_ER.UTF-8
++gez_ET:						gez_ET.UTF-8
++gez_ER@abegede:					gez_ER.UTF-8
++gez_ET@abegede:					gez_ET.UTF-8
++gez_ER.UTF-8@abegede:				gez_ER.UTF-8
++gez_ET.UTF-8@abegede:				gez_ET.UTF-8
+ gl:						gl_ES.ISO8859-1
+ gl_ES:						gl_ES.ISO8859-1
+ gl_ES.iso88591:					gl_ES.ISO8859-1
+ gl_ES.ISO-8859-1:				gl_ES.ISO8859-1
+ gl_ES.iso885915:				gl_ES.ISO8859-15
++gl_ES.ISO-8859-15:				gl_ES.ISO8859-15
 +gl_ES.ISO-8859-15@euro:				gl_ES.ISO8859-15
+ gl_ES@euro:					gl_ES.ISO8859-15
 +gl_ES.UTF-8@euro:				gl_ES.UTF-8
++gu_IN:						gu_IN.UTF-8
+ gv:						gv_GB.ISO8859-1
+ gv_GB:						gv_GB.ISO8859-1
+ gv_GB.iso88591:					gv_GB.ISO8859-1
++gv_GB.ISO-8859-1:				gv_GB.ISO8859-1
+ gv_GB.iso885914:				gv_GB.ISO8859-14
++gv_GB.ISO-8859-14:				gv_GB.ISO8859-14
+ gv_GB.iso885915:				gv_GB.ISO8859-15
++gv_GB.ISO-8859-15:				gv_GB.ISO8859-15
+ he:						he_IL.ISO8859-8
+ he_IL:						he_IL.ISO8859-8
+ he_IL.iso88598:					he_IL.ISO8859-8
 +he_IL.ISO-8859-8:				he_IL.ISO8859-8
-+hu_HU.ISO-8859-2:				hu_HU.ISO8859-2
-+is_IS.ISO-8859-1:				is_IS.ISO8859-1
+ he_IL.cp1255:					he_IL.CP1255
+ he_IL.microsoftcp1255:				he_IL.CP1255
+ he_IL.microsoft-cp1255:				he_IL.CP1255
+@@ -352,8 +545,9 @@
+ id:						id_ID.ISO8859-1
+ id_ID:						id_ID.ISO8859-1
+ id_ID.iso88591:					id_ID.ISO8859-1
+-XCOMM in was the old iso code for indonesian (now id):
+-XCOMM those lines should be deleted in a near future:
++id_ID.ISO-8859-1:				id_ID.ISO8859-1
++XCOMM in was the old ISO code for Indonesian (now id).  These lines should be
++XCOMM deleted in the future.
+ in:						id_ID.ISO8859-1
+ in_ID:						id_ID.ISO8859-1
+ is:						is_IS.ISO8859-1
+@@ -362,11 +556,12 @@
+ is_IS.ISO-8859-1:				is_IS.ISO8859-1
+ is_IS.ISO_8859-1:				is_IS.ISO8859-1
+ is_IS.iso885915:				is_IS.ISO8859-15
++is_IS.ISO-8859-15:				is_IS.ISO8859-15
+ it:						it_IT.ISO8859-1
+ it_CH:						it_CH.ISO8859-1
+ it_CH.iso88591:					it_CH.ISO8859-1
+ it_CH.ISO_8859-1:				it_CH.ISO8859-1
+-it_CH.iso885915:				it_CH.ISO8859-15
++it_CH.ISO-8859-1:				it_CH.ISO8859-1
+ it_IT:						it_IT.ISO8859-1
+ it_IT.88591:					it_IT.ISO8859-1
+ it_IT.88591.en:					it_IT.ISO8859-1
+@@ -374,16 +569,20 @@
+ it_IT.ISO-8859-1:				it_IT.ISO8859-1
+ it_IT.ISO_8859-1:				it_IT.ISO8859-1
+ it_IT.iso885915:				it_IT.ISO8859-15
++it_IT.ISO-8859-15:				it_IT.ISO8859-15
 +it_IT.ISO-8859-15@euro:				it_IT.ISO8859-15
-+it_IT.ISO-8859-1:				it_IT.ISO8859-1
+ it_IT@euro:					it_IT.ISO8859-15
+-iu:						iu_CA.NUNACOM-8
+-iu_CA:						iu_CA.NUNACOM-8
+-iu_CA.nunacom8:					iu_CA.NUNACOM-8
+-XCOMM iw was the old iso code for hebrew (now he)
+-XCOMM those lines should be deleted in a near future
 +it_IT.UTF-8@euro:				it_IT.UTF-8
-+lt_LT.ISO-8859-13:				lt_LT.ISO8859-13
-+nl_BE.ISO-8859-15@euro:				nl_BE.ISO8859-15
++XCOMM X11 has no support for the NUNACOM-8 character set.
++XCOMM iu:						iu_CA.NUNACOM-8
++XCOMM iu_CA:						iu_CA.NUNACOM-8
++XCOMM iu_CA.nunacom8:					iu_CA.NUNACOM-8
++XCOMM iw was the old ISO code for Hebrew (now he).  These lines should be
++XCOMM deleted in the future.
+ iw:						he_IL.ISO8859-8
+ iw_IL:						he_IL.ISO8859-8
+ iw_IL.iso88598:					he_IL.ISO8859-8
+-iw_IL.ISO-8859-8:				iw_IL.ISO8859-8
++iw_IL.ISO-8859-8:				he_IL.ISO8859-8
+ #ifndef __uxp__
+ ja_JP:						ja_JP.eucJP
+ #else /* __uxp__ */
+@@ -415,7 +614,8 @@
+ kl:						kl_GL.ISO8859-1
+ kl_GL:						kl_GL.ISO8859-1
+ kl_GL.iso88591:					kl_GL.ISO8859-1
+-kl_GL.iso885915:				kl_GL.ISO8859-15
++kl_GL.ISO-8859-1:				kl_GL.ISO8859-1
++kn_IN:						kn_IN.UTF-8
+ ko:						ko_KR.eucKR
+ ko_KR:						ko_KR.eucKR
+ ko_KR.EUC:					ko_KR.eucKR
+@@ -426,8 +626,13 @@
+ kw:						kw_GB.ISO8859-1
+ kw_GB:						kw_GB.ISO8859-1
+ kw_GB.iso88591:					kw_GB.ISO8859-1
++kw_GB.ISO-8859-1:				kw_GB.ISO8859-1
+ kw_GB.iso885914:				kw_GB.ISO8859-14
++kw_GB.ISO-8859-14:				kw_GB.ISO8859-14
+ kw_GB.iso885915:				kw_GB.ISO8859-15
++kw_GB.ISO-8859-15:				kw_GB.ISO8859-15
++lg_UG:						lg_UG.ISO8859-10
++lg_UG.ISO-8859-10:				lg_UG.ISO8859-10
+ lo:						lo_LA.MULELAO-1
+ lo_LA:						lo_LA.MULELAO-1
+ lo_LA.cp1133:					lo_LA.IBM-CP1133
+@@ -435,14 +640,15 @@
+ lo_LA.mulelao1:					lo_LA.MULELAO-1
+ #if defined(__FreeBSD__)
+ XCOMM most locales in FreeBSD 2.1.[56] do not work, allow use of FreeBSD's
+-XCOMM generic latin-1 locale name. N.B. "lt" is a bad code to use for a 
+-XCOMM generic Latin-1 locale anyway because it is the country code for 
++XCOMM generic latin-1 locale name. N.B. "lt" is a bad code to use for a
++XCOMM generic Latin-1 locale anyway because it is the country code for
+ XCOMM Lithuania, which by default uses Latin-7 (ISO-8859-13).
+-lt_LN.ISO_8859-1:				lt_LN.ISO8859-1
++XCOMM lt_LN.ISO_8859-1:				lt_LN.ISO8859-1
+ #endif
+ lt:						lt_LT.ISO8859-13
+ lt_LT:						lt_LT.ISO8859-13
+ lt_LT.iso88594:					lt_LT.ISO8859-4
++lt_LT.ISO-8859-4:				lt_LT.ISO8859-4
+ lt_LT.ISO_8859-4:				lt_LT.ISO8859-4
+ lt_LT.iso885913:				lt_LT.ISO8859-13
+ lt_LT.ISO-8859-13:				lt_LT.ISO8859-13
+@@ -450,34 +656,52 @@
+ lv:						lv_LV.ISO8859-13
+ lv_LV:						lv_LV.ISO8859-13
+ lv_LV.iso88594:					lv_LV.ISO8859-4
++lv_LV.ISO-8859-4:				lv_LV.ISO8859-4
+ lv_LV.iso885913:				lv_LV.ISO8859-13
+ lv_LV.ISO-8859-13:				lv_LV.ISO8859-13
+ lv_LV.ISO_8859-13:				lv_LV.ISO8859-13
+-mi:						mi_NZ.ISO8859-1
+-mi_NZ:						mi_NZ.ISO8859-1
+-mi_NZ.iso88591:					mi_NZ.ISO8859-1
++mi:						mi_NZ.ISO8859-13
++mi_NZ:						mi_NZ.ISO8859-13
++mi_NZ.iso885913:				mi_NZ.ISO8859-13
++mi_NZ.ISO-8859-13:				mi_NZ.ISO8859-13
+ mk:						mk_MK.ISO8859-5
+ mk_MK:						mk_MK.ISO8859-5
+ mk_MK.iso88595:					mk_MK.ISO8859-5
++mk_MK.ISO-8859-5:				mk_MK.ISO8859-5
+ mk_MK.cp1251:					mk_MK.CP1251
+ mk_MK.microsoftcp1251:				mk_MK.CP1251
+ mk_MK.microsoft-cp1251:				mk_MK.CP1251
+ mk_MK.MICROSOFT-CP1251:				mk_MK.CP1251
+ mk_MK.utf8:					mk_MK.UTF-8
++ml_IN:						ml_IN.UTF-8
++mn_MN:						mn_MN.UTF-8
++mr_IN:						mr_IN.UTF-8
+ ms:						ms_MY.ISO8859-1
+ ms_MY:						ms_MY.ISO8859-1
+ ms_MY.iso88591:					ms_MY.ISO8859-1
++ms_MY.ISO-8859-1:				ms_MY.ISO8859-1
+ mt:						mt_MT.ISO8859-3
+ mt_MT:						mt_MT.ISO8859-3
+-mt_MT.ISO8859-3:				mt_MT.ISO8859-3
++mt_MT.ISO-8859-3:				mt_MT.ISO8859-3
++nb:						nb_NO.ISO8859-1
++nb_NO:						nb_NO.ISO8859-1
++nb_NO.iso88591:					nb_NO.ISO8859-1
++nb_NO.ISO-8859-1:				nb_NO.ISO8859-1
++nb_NO.iso885915:				nb_NO.ISO8859-15
++nb_NO.ISO-8859-15:				nb_NO.ISO8859-15
++ne_NP:						ne_NP.UTF-8
+ nl:						nl_NL.ISO8859-1
+ nl_BE:						nl_BE.ISO8859-1
+ nl_BE.88591:					nl_BE.ISO8859-1
+ nl_BE.88591.en:					nl_BE.ISO8859-1
+ nl_BE.iso88591:					nl_BE.ISO8859-1
++nl_BE.ISO-8859-1:				nl_BE.ISO8859-1
+ nl_BE.ISO_8859-1:				nl_BE.ISO8859-1
+ nl_BE.iso885915:				nl_BE.ISO8859-15
++nl_BE.ISO-8859-15:				nl_BE.ISO8859-1
++nl_BE.ISO-8859-15@euro:				nl_BE.ISO8859-1
+ nl_BE@euro:					nl_BE.ISO8859-15
 +nl_BE.UTF-8@euro:				nl_BE.UTF-8
+ nl_NL:						nl_NL.ISO8859-1
+ nl_NL.88591:					nl_NL.ISO8859-1
+ nl_NL.88591.en:					nl_NL.ISO8859-1
+@@ -485,43 +709,55 @@
+ nl_NL.ISO-8859-1:				nl_NL.ISO8859-1
+ nl_NL.ISO_8859-1:				nl_NL.ISO8859-1
+ nl_NL.iso885915:				nl_NL.ISO8859-15
++nl_NL.ISO-8859-15:				nl_NL.ISO8859-15
 +nl_NL.ISO-8859-15@euro:				nl_NL.ISO8859-15
-+nl_NL.ISO-8859-1:				nl_NL.ISO8859-1
+ nl_NL@euro:					nl_NL.ISO8859-15
+-no:						no_NO.ISO8859-1
+-nb:						nb_NO.ISO8859-1
 +nl_NL.UTF-8@euro:				nl_NL.UTF-8
+ nn:						nn_NO.ISO8859-1
+-ny:						ny_NO.ISO8859-1
+-no_NO:						no_NO.ISO8859-1
+-nb_NO:						nb_NO.ISO8859-1
+ nn_NO:						nn_NO.ISO8859-1
+-ny_NO:						ny_NO.ISO8859-1
++nn_NO.iso88591:					nn_NO.ISO8859-1
 +nn_NO.ISO-8859-1:				nn_NO.ISO8859-1
-+oc_FR.ISO-8859-15@euro:				oc_FR.ISO8859-15
-+pl_PL.ISO-8859-2:				pl_PL.ISO8859-2
++nn_NO.iso885915:				nn_NO.ISO8859-15
++nn_NO.ISO-8859-15:				nn_NO.ISO8859-15
++no@nynorsk:					nn_NO.ISO8859-1
++nynorsk:					nn_NO.ISO8859-1
++XCOMM ny is the language code for Nyanja (spoken in Malawi), not Nynorsk.
++XCOMM See <URL: http://www.ethnologue.com/show_iso639.asp?code=nya >.
++XCOMM ny:						ny_NO.ISO8859-1
++XCOMM ny_NO:						ny_NO.ISO8859-1
++XCOMM ny_NO.88591:					ny_NO.ISO8859-1
++XCOMM ny_NO.ISO_8859-1:				ny_NO.ISO8859-1
++XCOMM ny_NO.iso885915:				ny_NO.ISO8859-15
++no:						no_NO.ISO8859-1
++no_NO:						no_NO.ISO8859-1
+ no_NO.88591:					no_NO.ISO8859-1
+-nb_NO.88591:					nb_NO.ISO8859-1
+ nn_NO.88591:					nn_NO.ISO8859-1
+-ny_NO.88591:					ny_NO.ISO8859-1
+ no_NO.88591.en:					no_NO.ISO8859-1
+ no_NO.iso88591:					no_NO.ISO8859-1
+ no_NO.ISO-8859-1:				no_NO.ISO8859-1
+-nb_NO.ISO-8859-1:				nb_NO.ISO8859-1
+-nn_NO.ISO_8859-1:				nn_NO.ISO8859-1
+-ny_NO.ISO_8859-1:				ny_NO.ISO8859-1
+ no_NO.iso885915:				no_NO.ISO8859-15
+-nb_NO.iso885915:				nb_NO.ISO8859-15
+-nn_NO.iso885915:				nn_NO.ISO8859-15
+-ny_NO.iso885915:				ny_NO.ISO8859-15
+-no@nynorsk:					ny_NO.ISO8859-1
+-nynorsk:					nn_NO.ISO8859-1
++no_NO.ISO-8859-15:				no_NO.ISO8859-15
+ oc:						oc_FR.ISO8859-1
+ oc_FR:						oc_FR.ISO8859-1
+ oc_FR.iso88591:					oc_FR.ISO8859-1
++oc_FR.ISO-8859-1:				oc_FR.ISO8859-1
+ oc_FR.iso885915:				oc_FR.ISO8859-15
++oc_FR.ISO-8859-15:				oc_FR.ISO8859-15
+ oc_FR@euro:					oc_FR.ISO8859-15
+-pd:						pd_US.ISO8859-1
+-pd_DE:						pd_DE.ISO8859-1
+-pd_US:						pd_US.ISO8859-1
+-pd_DE.iso88591:					pd_DE.ISO8859-1
+-pd_US.iso88591:					pd_US.ISO8859-1
+-pd_DE.iso885915:				pd_DE.ISO8859-15
+-pd_US.iso885915:				pd_US.ISO8859-15
++om_ET:						om_ET.UTF-8
++om_KE:						om_KE.ISO8859-1
++om_KE.ISO-8859-1:				om_KE.ISO8859-1
++pa_IN:						pa_IN.UTF-8
++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German.
++XCOMM This is not an ISO language code defined for it, and the GNU C Library
++XCOMM doesn't support it.
++XCOMM pd:						pd_US.ISO8859-1
++XCOMM pd_DE:						pd_DE.ISO8859-1
++XCOMM pd_US:						pd_US.ISO8859-1
++XCOMM pd_DE.iso88591:					pd_DE.ISO8859-1
++XCOMM pd_US.iso88591:					pd_US.ISO8859-1
++XCOMM pd_DE.iso885915:					pd_DE.ISO8859-15
++XCOMM pd_US.iso885915:					pd_US.ISO8859-15
+ ph:						ph_PH.ISO8859-1
+ ph_PH:						ph_PH.ISO8859-1
+ ph_PH.iso88591:					ph_PH.ISO8859-1
+@@ -539,7 +775,6 @@
+ pt_BR.iso88591:					pt_BR.ISO8859-1
+ pt_BR.ISO-8859-1:				pt_BR.ISO8859-1
+ pt_BR.ISO_8859-1:				pt_BR.ISO8859-1
+-pt_BR.iso885915:				pt_BR.ISO8859-15
+ pt_PT:						pt_PT.ISO8859-1
+ pt_PT.88591:					pt_PT.ISO8859-1
+ pt_PT.88591.en:					pt_PT.ISO8859-1
+@@ -547,6 +782,8 @@
+ pt_PT.ISO-8859-1:				pt_PT.ISO8859-1
+ pt_PT.ISO_8859-1:				pt_PT.ISO8859-1
+ pt_PT.iso885915:				pt_PT.ISO8859-15
++pt_PT.ISO-8859-15:				pt_PT.ISO8859-15
 +pt_PT.ISO-8859-15@euro:				pt_PT.ISO8859-15
-+pt_PT.ISO-8859-1:				pt_PT.ISO8859-1
-+pt_PT.UTF-8@euro:				pt_PT.UTF-8
-+ro_RO.ISO-8859-2:				ro_RO.ISO8859-2
-+ru_RU.ISO-8859-5:				ru_RU.ISO8859-5
-+sk_SK.ISO-8859-2:				sk_SK.ISO8859-2
+ pt_PT@euro:					pt_PT.ISO8859-15
+ pt_PT.UTF-8@euro:				pt_PT.UTF-8
+ ro:						ro_RO.ISO8859-2
+@@ -577,9 +814,9 @@
+ se_NO:						se_NO.UTF-8
+ se_NO.utf8:					se_NO.UTF-8
+ sh:						sh_YU.ISO8859-2
+-sh_HR.iso88592:					sh_HR.ISO8859-2
+ sh_YU:						sh_YU.ISO8859-2
+ sh_SP:						sh_YU.ISO8859-2
++sid_ET:						sid_ET.UTF-8
+ sk:						sk_SK.ISO8859-2
+ sk_SK:						sk_SK.ISO8859-2
+ sk_SK.iso88592:					sk_SK.ISO8859-2
+@@ -588,19 +825,30 @@
+ sl_SI:						sl_SI.ISO8859-2
+ sl_SI.iso88592:					sl_SI.ISO8859-2
+ sl_SI.ISO-8859-2:				sl_SI.ISO8859-2
++so_DJ:						so_DJ.ISO8859-1
++so_DJ.ISO-8859-1:				so_DJ.ISO8859-1
++so_ET:						so_ET.UTF-8
++so_KE:						so_KE.ISO8859-1
++so_KE.ISO-8859-1:				so_KE.ISO8859-1
++so_SO:						so_SO.ISO8859-1
++so_SO.ISO-8859-1:				so_SO.ISO8859-1
+ sp:						sp_YU.ISO8859-5
+ sp_YU:						sp_YU.ISO8859-5
+ sq:						sq_AL.ISO8859-2
+ sq_AL:						sq_AL.ISO8859-2
+ sq_AL.iso88592:					sq_AL.ISO8859-2
++sq_AL.ISO-8859-2:				sq_AL.ISO8859-2
+ sr_SP:						sr_SP.ISO8859-2
+ sr:						sr_YU.ISO8859-5
+ sr_YU:						sr_YU.ISO8859-5
+ sr_YU.iso88592:					sr_YU.ISO8859-2
++sr_YU.ISO-8859-2:				sr_YU.ISO8859-2
+ sr_YU.iso88595:					sr_YU.ISO8859-5
++sr_YU.ISO-8859-5:				sr_YU.ISO8859-5
+ sr@cyrillic:					sr_YU.ISO8859-5
+ sr_YU@cyrillic:					sr_YU.ISO8859-5
+ sr_YU.iso88595@cyrillic:			sr_YU.ISO8859-5
++sr_YU.ISO-8859-5@cyrillic:			sr_YU.ISO8859-5
+ sr_YU.ISO8859-5@cyrillic:			sr_YU.ISO8859-5
+ sr_YU.cp1251@cyrillic:				sr_YU.CP1251
+ sr_YU.CP1251@cyrillic:				sr_YU.CP1251
+@@ -608,11 +856,17 @@
+ sr_YU.microsoft-cp1251@cyrillic:		sr_YU.CP1251
+ sr_YU.MICROSOFT-CP1251@cyrillic:		sr_YU.CP1251
+ sr_YU.UTF-8@cyrillic:				sr_YU.UTF-8
++st_ZA:						st_ZA.ISO8859-1
++st_ZA.ISO-8859-1:				st_ZA.ISO8859-1
+ sv:						sv_SE.ISO8859-1
+ sv_FI:						sv_FI.ISO8859-1
+ sv_FI.iso88591:					sv_FI.ISO8859-1
++sv_FI.ISO-8859-1:				sv_FI.ISO8859-1
+ sv_FI.iso885915:				sv_FI.ISO8859-15
++sv_FI.ISO-8859-15:				sv_FI.ISO8859-15
 +sv_FI.ISO-8859-15@euro:				sv_FI.ISO8859-15
+ sv_FI@euro:					sv_FI.ISO8859-15
 +sv_FI.UTF-8@euro:				sv_FI.UTF-8
-+sv_SE.ISO-8859-15@euro:				sv_SE.ISO8859-15
-+sv_SE.ISO-8859-1:				sv_SE.ISO8859-1
-+th_TH.TIS-620:					th_TH.TIS620
-+tr_TR.ISO-8859-9:				tr_TR.ISO8859-9
+ sv_SE:						sv_SE.ISO8859-1
+ sv_SE.88591:					sv_SE.ISO8859-1
+ sv_SE.88591.en:					sv_SE.ISO8859-1
+@@ -620,11 +874,13 @@
+ sv_SE.ISO-8859-1:				sv_SE.ISO8859-1
+ sv_SE.ISO_8859-1:				sv_SE.ISO8859-1
+ sv_SE.iso885915:				sv_SE.ISO8859-15
++sv_SE.ISO-8859-15:				sv_SE.ISO8859-15
+ sv_SE@euro:					sv_SE.ISO8859-15
+ ta:						ta_IN.TSCII-0
+ ta_IN:						ta_IN.TSCII-0
+ ta_IN.tscii:					ta_IN.TSCII-0
+ ta_IN.tscii0:					ta_IN.TSCII-0
++te_IN:						te_IN.UTF-8
+ tg:						tg_TJ.KOI8-C
+ tg_TJ:						tg_TJ.KOI8-C
+ tg_TJ.koi8c:					tg_TJ.KOI8-C
+@@ -634,9 +890,13 @@
+ th_TH.tis620:					th_TH.TIS620
+ th_TH.TIS-620:					th_TH.TIS620
+ th_TH.TACTIS:					th_TH.TIS620
++ti_ER:						ti_ER.UTF-8
++ti_ET:						ti_ET.UTF-8
++tig_ER:						tig_ER.UTF-8
+ tl:						tl_PH.ISO8859-1
+ tl_PH:						tl_PH.ISO8859-1
+ tl_PH.iso88591:					tl_PH.ISO8859-1
++tl_PH.ISO-8859-1:				tl_PH.ISO8859-1
+ tr:						tr_TR.ISO8859-9
+ tr_TR:						tr_TR.ISO8859-9
+ tr_TR.iso88599:					tr_TR.ISO8859-9
+@@ -660,6 +920,10 @@
+ ur_PK.microsoftcp1256:				ur_PK.CP1256
+ ur_PK.microsoft-cp1256:				ur_PK.CP1256
+ ur_PK.MICROSOFT-CP1256:				ur_PK.CP1256
++uz_UZ:						uz_UZ.ISO8859-1
++uz_UZ.ISO-8859-1:				uz_UZ.ISO8859-1
++uz_UZ@cyrillic:					uz_UZ.UTF-8
++uz_UZ.UTF-8@cyrillic:				uz_UZ.UTF-8
+ vi:						vi_VN.TCVN
+ vi_VN:						vi_VN.TCVN
+ vi_VN.tcvn:					vi_VN.TCVN
+@@ -669,8 +933,13 @@
+ wa:						wa_BE.ISO8859-1
+ wa_BE:						wa_BE.ISO8859-1
+ wa_BE.iso88591:					wa_BE.ISO8859-1
++wa_BE.ISO-8859-1:				wa_BE.ISO8859-1
+ wa_BE.iso885915:				wa_BE.ISO8859-15
++wa_BE.ISO-8859-15:				wa_BE.ISO8859-15
 +wa_BE.ISO-8859-15@euro:				wa_BE.ISO8859-15
+ wa_BE@euro:					wa_BE.ISO8859-15
++xh_ZA:						xh_ZA.ISO8859-1
++xh_ZA.ISO-8859-1:				xh_ZA.ISO8859-1
+ yi:						yi_US.CP1255
+ yi_US:						yi_US.CP1255
+ yi_US.cp1255:					yi_US.CP1255
+@@ -693,9 +962,15 @@
+ zh_HK.BIG5-HKSCS:				zh_HK.big5hkscs
+ zh_HK.BIG5_HKSCS:				zh_HK.big5hkscs
+ zh_HK.Big5:					zh_HK.big5
++zh_SG:						zh_SG.GB2312
++zh_SG.GBK:					zh_SG.gbk
+ zh_TW:						zh_TW.big5
+ zh_TW.Big5:					zh_TW.big5
++zh_TW.BIG5:					zh_TW.big5
+ zh_TW.EUC:					zh_TW.eucTW
++zh_TW.EUC-TW:					zh_TW.eucTW
++zu_ZA:						zu_ZA.ISO8859-1
++zu_ZA.ISO-8859-1:				zu_ZA.ISO8859-1
+ 
+ XCOMM The following locale names are used in SCO 3.0
+ english_uk.8859:				en_GB.ISO8859-1
+@@ -724,7 +999,7 @@
+ dutch:						nl_NL.ISO8859-1
+ dutch.iso88591:					nl_BE.ISO8859-1
+ eesti:						et_EE.ISO8859-1
+-english.iso88591:				en_EN.ISO8859-1
++english.iso88591:				en_US.ISO8859-1
+ estonian:					et_EE.ISO8859-1
+ finnish:					fi_FI.ISO8859-1
+ finnish.iso88591:				fi_FI.ISO8859-1
+@@ -737,8 +1012,8 @@
+ german.iso88591:				de_CH.ISO8859-1
+ greek:						el_GR.ISO8859-7
+ greek.iso88597:					el_GR.ISO8859-7
+-hebrew:						iw_IL.ISO8859-8
+-hebrew.iso88598:				iw_IL.ISO8859-8
++hebrew:						he_IL.ISO8859-8
++hebrew.iso88598:				he_IL.ISO8859-8
+ hrvatski:					hr_HR.ISO8859-2
+ hungarian:					hu_HU.ISO8859-2
+ icelandic.iso88591:				is_IS.ISO8859-1
+@@ -778,103 +1053,103 @@
+ #ifdef WIN32
+ XCOMM Microsoft Windows/NT 4.0 SP3
+ XCOMM parser doesn't grok embedded spaces in locale name
+-Afrikaans_South Africa.1252:			af_ZA.iso8859-1
+-Arabic_Bahrain.1256:				ar_BH.iso8859-6
+-Arabic_Algeria.1256:				ar_DZ.iso8859-6
+-Arabic_Egypt.1256:				ar_EG.iso8859-6
+-Arabic_Iraq.1256:				ar_IQ.iso8859-6
+-Arabic_Jordan.1256:				ar_JO.iso8859-6
+-Arabic_Kuwait.1256:				ar_KW.iso8859-6
+-Arabic_Lebanon.1256:				ar_LB.iso8859-6
+-Arabic_Libya.1256:				ar_LY.iso8859-6
+-Arabic_Morocco.1256:				ar_MA.iso8859-6
+-Arabic_Oman.1256:				ar_OM.iso8859-6
+-Arabic_Qatar.1256:				ar_QA.iso8859-6
+-Arabic_Saudi Arabia.1256:			ar_SA.iso8859-6
+-Arabic_Tunisia.1256:				ar_TN.iso8859-6
+-Arabic_Yemen.1256:				ar_YE.iso8859-6
+-Belarusian_Belarus.1251:			be_BY.iso8859-5
+-Bulgarian_Bulgaria.1251:			bg_BG.iso8859-5
+-Catalan_Spain.1252:				ca_ES.iso8859-1
+-Czech_Czech Republic.1250:			cs_CZ.iso8859-2
+-Danish_Denmark.1252:				da_DK.iso8859-1
+-German_Austria.1252:				de_AT.iso8859-1
+-German_Switzerland.1252:			de_CH.iso8859-1
+-German_Germany.1252:				de_DE.iso8859-1
+-German_Liechtenstein.1252:			de_LI.iso8859-1
+-German_Luxembourg.1252:				de_LU.iso8859-1
+-Greek_Greece.1253:				el_GR.iso8859-7
+-English_Australia.1252:				en_AU.iso8859-1
+-English_Belize.1252:				en_BZ.iso8859-1
+-English_Canada.1252:				en_CA.iso8859-1
+-English_Ireland.1252:				en_IE.iso8859-1
+-English_Jamaica.1252:				en_JM.iso8859-1
+-English_New Zealand.1252:			en_NZ.iso8859-1
+-English_Trinidad y Tobago.1252:			en_TT.iso8859-1
+-English_United Kingdom.1252:			en_UK.iso8859-1
+-English_United States.1252:			en_US.iso8859-1
+-English_South Africa.1252:			en_ZA.iso8859-1
+-Spanish_Argentina.1252:				es_AR.iso8859-1
+-Spanish_Bolivia.1252:				es_BO.iso8859-1
+-Spanish_Chile.1252:				es_CL.iso8859-1
+-Spanish_Colombia.1252:				es_CO.iso8859-1
+-Spanish_Costa Rica.1252:			es_CR.iso8859-1
+-Spanish_Dominican Republic.1252:		es_DO.iso8859-1
+-Spanish_Ecuador.1252:				es_EC.iso8859-1
+-Spanish - Modern Sort_Spain.1252:		es_ES.iso8859-1
+-Spanish - Traditional Sort_Spain.1252:		es_ES.iso8859-1
+-Spanish_Guatemala.1252:				es_GT.iso8859-1
+-Spanish_Honduras.1252:				es_HN.iso8859-1
+-Spanish_Mexican.1252:				es_MX.iso8859-1
+-Spanish_Nicaragua.1252:				es_NI.iso8859-1
+-Spanish_Panama.1252:				es_PA.iso8859-1
+-Spanish_Paraguay.1252:				es_PY.iso8859-1
+-Spanish_Peru.1252:				es_PE.iso8859-1
+-Spanish_Puerto Rico.1252:			es_PR.iso8859-1
+-Spanish_El Salvador.1252:			es_SV.iso8859-1
+-Spanish_Uruguay.1252:				es_UY.iso8859-1
+-Spanish_Venezuela.1252:				es_VE.iso8859-1
+-Estonian_Estonia.1257:				et_EE.iso8859-13
+-Basque_Spain.1252:				eu_ES.iso8859-1
+-Finnish_Finland.1252:				fi_FI.iso8859-1
+-French_Belgium.1252:				fr_BE.iso8859-1
+-French_Canada.1252:				fr_CA.iso8859-1
+-French_Switzerland.1252:			fr_CH.iso8859-1
+-French_France.1252:				fr_FR.iso8859-1
+-French_Luxembourg.1252:				fr_LU.iso8859-1
+-Faeroese_Faeroe Islands.1252:			fo_FO.iso8859-1
+-Hebrew_Israel.1255:				he_IL.iso8859-8
+-Croatian_Croatia.1250:				hr_HR.iso8859-2
+-Hungarian_Hungary.1250:				hu_HU.iso8859-2
+-Indonesian_Indonesia.1252:			id_ID.iso8859-1
+-Icelandic_Iceland.1252:				is_IS.iso8859-1
+-Italian_Switzerland.1252:			it_CH.iso8859-1
+-Italian_Italy.1252:				it_IT.iso8859-1
++Afrikaans_South Africa.1252:			af_ZA.ISO8859-1
++Arabic_Bahrain.1256:				ar_BH.ISO8859-6
++Arabic_Algeria.1256:				ar_DZ.ISO8859-6
++Arabic_Egypt.1256:				ar_EG.ISO8859-6
++Arabic_Iraq.1256:				ar_IQ.ISO8859-6
++Arabic_Jordan.1256:				ar_JO.ISO8859-6
++Arabic_Kuwait.1256:				ar_KW.ISO8859-6
++Arabic_Lebanon.1256:				ar_LB.ISO8859-6
++Arabic_Libya.1256:				ar_LY.ISO8859-6
++Arabic_Morocco.1256:				ar_MA.ISO8859-6
++Arabic_Oman.1256:				ar_OM.ISO8859-6
++Arabic_Qatar.1256:				ar_QA.ISO8859-6
++Arabic_Saudi Arabia.1256:			ar_SA.ISO8859-6
++Arabic_Tunisia.1256:				ar_TN.ISO8859-6
++Arabic_Yemen.1256:				ar_YE.ISO8859-6
++Belarusian_Belarus.1251:			be_BY.ISO8859-5
++Bulgarian_Bulgaria.1251:			bg_BG.ISO8859-5
++Catalan_Spain.1252:				ca_ES.ISO8859-1
++Czech_Czech Republic.1250:			cs_CZ.ISO8859-2
++Danish_Denmark.1252:				da_DK.ISO8859-1
++German_Austria.1252:				de_AT.ISO8859-1
++German_Switzerland.1252:			de_CH.ISO8859-1
++German_Germany.1252:				de_DE.ISO8859-1
++German_Liechtenstein.1252:			de_LI.ISO8859-1
++German_Luxembourg.1252:				de_LU.ISO8859-1
++Greek_Greece.1253:				el_GR.ISO8859-7
++English_Australia.1252:				en_AU.ISO8859-1
++English_Belize.1252:				en_BZ.ISO8859-1
++English_Canada.1252:				en_CA.ISO8859-1
++English_Ireland.1252:				en_IE.ISO8859-1
++English_Jamaica.1252:				en_JM.ISO8859-1
++English_New Zealand.1252:			en_NZ.ISO8859-1
++English_Trinidad y Tobago.1252:			en_TT.ISO8859-1
++English_United Kingdom.1252:			en_UK.ISO8859-1
++English_United States.1252:			en_US.ISO8859-1
++English_South Africa.1252:			en_ZA.ISO8859-1
++Spanish_Argentina.1252:				es_AR.ISO8859-1
++Spanish_Bolivia.1252:				es_BO.ISO8859-1
++Spanish_Chile.1252:				es_CL.ISO8859-1
++Spanish_Colombia.1252:				es_CO.ISO8859-1
++Spanish_Costa Rica.1252:			es_CR.ISO8859-1
++Spanish_Dominican Republic.1252:		es_DO.ISO8859-1
++Spanish_Ecuador.1252:				es_EC.ISO8859-1
++Spanish - Modern Sort_Spain.1252:		es_ES.ISO8859-1
++Spanish - Traditional Sort_Spain.1252:		es_ES.ISO8859-1
++Spanish_Guatemala.1252:				es_GT.ISO8859-1
++Spanish_Honduras.1252:				es_HN.ISO8859-1
++Spanish_Mexican.1252:				es_MX.ISO8859-1
++Spanish_Nicaragua.1252:				es_NI.ISO8859-1
++Spanish_Panama.1252:				es_PA.ISO8859-1
++Spanish_Paraguay.1252:				es_PY.ISO8859-1
++Spanish_Peru.1252:				es_PE.ISO8859-1
++Spanish_Puerto Rico.1252:			es_PR.ISO8859-1
++Spanish_El Salvador.1252:			es_SV.ISO8859-1
++Spanish_Uruguay.1252:				es_UY.ISO8859-1
++Spanish_Venezuela.1252:				es_VE.ISO8859-1
++Estonian_Estonia.1257:				et_EE.ISO8859-13
++Basque_Spain.1252:				eu_ES.ISO8859-1
++Finnish_Finland.1252:				fi_FI.ISO8859-1
++French_Belgium.1252:				fr_BE.ISO8859-1
++French_Canada.1252:				fr_CA.ISO8859-1
++French_Switzerland.1252:			fr_CH.ISO8859-1
++French_France.1252:				fr_FR.ISO8859-1
++French_Luxembourg.1252:				fr_LU.ISO8859-1
++Faeroese_Faeroe Islands.1252:			fo_FO.ISO8859-1
++Hebrew_Israel.1255:				he_IL.ISO8859-8
++Croatian_Croatia.1250:				hr_HR.ISO8859-2
++Hungarian_Hungary.1250:				hu_HU.ISO8859-2
++Indonesian_Indonesia.1252:			id_ID.ISO8859-1
++Icelandic_Iceland.1252:				is_IS.ISO8859-1
++Italian_Switzerland.1252:			it_CH.ISO8859-1
++Italian_Italy.1252:				it_IT.ISO8859-1
+ Japanese_Japan.932:				ja_JP.SJIS
+-Korean_Korea.949:				ko_KR.EUC
+-Lithuanian_Lithuania.1257:			lt_LT.iso8859-13
+-Latvian_Latvia.1257:				lv_LV.iso8859-13
+-Dutch_Belgium.1252:				nl_BE.iso8859-1
+-Dutch_Netherlands.1252:				nl_NL.iso8859-1
+-Norwegian (Nynorsk)_Norway.1252:		no_NO.iso8859-1
+-Norwegian (Bokm�_Norway.1252:			no_NO.iso8859-1
+-Polish_Poland.1250:				pl_PL.iso8859-2
+-Portuguese_Brazil.1252:				pt_BR.iso8859-1
+-Portuguese_Portugal.1252:			pt_PT.iso8859-1
+-Romanian_Romania.1250:				ro_RO.iso8859-2
+-Russian_Russia.1251:				ru_RU.iso8859-5
+-Slovak_Slovakia.1250:				sk_SK.iso8859-2
+-Slovene_Slovenia.1250:				sl_SI.iso8859-2
+-Albanian_Albania.1250:				sq_AL.iso8859-2
+-Serbian (Latin)_Serbia.1250:			sr_YU.iso8859-2
+-Swedish_Finland.1252:				sv_FI.iso8859-1
+-Swedish_Sweden.1252:				sv_SE.iso8859-1
+-Turkish_Turkey.1254:				tr_TR.iso8859-9
+-Ukrainian_Ukraine.1251:				uk_UA.iso8859-5
+-Chinese(PRC)_People's Republic of China.936:	zh_CN.EUC
+-Chinese(PRC)_Hong Kong.950:			zh_HK.EUC
+-Chinese(Singapore)_Signapore.936:		zh_SG.EUC
+-Chinese(Taiwan)_Taiwan.950:			zh_TW.EUC
++Korean_Korea.949:				ko_KR.eucKR
++Lithuanian_Lithuania.1257:			lt_LT.ISO8859-13
++Latvian_Latvia.1257:				lv_LV.ISO8859-13
++Dutch_Belgium.1252:				nl_BE.ISO8859-1
++Dutch_Netherlands.1252:				nl_NL.ISO8859-1
++Norwegian (Nynorsk)_Norway.1252:		no_NO.ISO8859-1
++Norwegian (Bokm�_Norway.1252:			no_NO.ISO8859-1
++Polish_Poland.1250:				pl_PL.ISO8859-2
++Portuguese_Brazil.1252:				pt_BR.ISO8859-1
++Portuguese_Portugal.1252:			pt_PT.ISO8859-1
++Romanian_Romania.1250:				ro_RO.ISO8859-2
++Russian_Russia.1251:				ru_RU.ISO8859-5
++Slovak_Slovakia.1250:				sk_SK.ISO8859-2
++Slovene_Slovenia.1250:				sl_SI.ISO8859-2
++Albanian_Albania.1250:				sq_AL.ISO8859-2
++Serbian (Latin)_Serbia.1250:			sr_YU.ISO8859-2
++Swedish_Finland.1252:				sv_FI.ISO8859-1
++Swedish_Sweden.1252:				sv_SE.ISO8859-1
++Turkish_Turkey.1254:				tr_TR.ISO8859-9
++Ukrainian_Ukraine.1251:				uk_UA.ISO8859-5
++Chinese(PRC)_People's Republic of China.936:	zh_CN.eucCN
++Chinese(PRC)_Hong Kong.950:			zh_TW.eucTW
++Chinese(Singapore)_Signapore.936:		zh_CN.eucCN
++Chinese(Taiwan)_Taiwan.950:			zh_TW.eucTW
+ #endif
+ XCOMM Other miscellaneous locale names
+ ISO8859-1:					en_US.ISO8859-1
+diff -urN xc/nls~/locale.dir xc/nls/locale.dir
+--- xc/nls~/locale.dir	2004-08-11 17:14:48.000000000 -0500
++++ xc/nls/locale.dir	2004-08-12 01:09:09.000000000 -0500
+@@ -8,8 +8,13 @@
+ XCOMM
+ 
+ C/XLC_LOCALE:				C
++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3".
++koi8-c/XLC_LOCALE:			a3_AZ.KOI8-C
++iso8859-1/XLC_LOCALE:			aa_DJ.ISO8859-1
+ iso8859-1/XLC_LOCALE:			af_ZA.ISO8859-1
++iso8859-15/XLC_LOCALE:			an_ES.ISO8859-15
+ iso8859-6/XLC_LOCALE:			ar_AA.ISO8859-6
++iso8859-6/XLC_LOCALE:			ar_AE.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_BH.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_DZ.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_EG.ISO8859-6
+@@ -22,6 +27,8 @@
+ iso8859-6/XLC_LOCALE:			ar_OM.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_QA.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_SA.ISO8859-6
++iso8859-6/XLC_LOCALE:			ar_SD.ISO8859-6
++iso8859-6/XLC_LOCALE:			ar_SY.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_TN.ISO8859-6
+ iso8859-6/XLC_LOCALE:			ar_YE.ISO8859-6
+ iso8859-9e/XLC_LOCALE:			az_AZ.ISO8859-9E
+@@ -34,13 +41,13 @@
+ iso8859-1/XLC_LOCALE:			br_FR.ISO8859-1
+ iso8859-14/XLC_LOCALE:			br_FR.ISO8859-14
+ iso8859-15/XLC_LOCALE:			br_FR.ISO8859-15
++iso8859-2/XLC_LOCALE:			bs_BA.ISO8859-2
+ iso8859-1/XLC_LOCALE:			ca_ES.ISO8859-1
+ iso8859-15/XLC_LOCALE:			ca_ES.ISO8859-15
+ iso8859-2/XLC_LOCALE:			cs_CZ.ISO8859-2
+ iso8859-1/XLC_LOCALE:			cy_GB.ISO8859-1
+ iso8859-14/XLC_LOCALE:			cy_GB.ISO8859-14
+ iso8859-15/XLC_LOCALE:			cy_GB.ISO8859-15
+-iso8859-2/XLC_LOCALE:			cz_CZ.ISO8859-2
+ iso8859-1/XLC_LOCALE:			da_DK.ISO8859-1
+ iso8859-15/XLC_LOCALE:			da_DK.ISO8859-15
+ iso8859-1/XLC_LOCALE:			de_AT.ISO8859-1
+@@ -52,20 +59,24 @@
+ iso8859-1/XLC_LOCALE:			de_DE.ISO8859-1
+ iso8859-15/XLC_LOCALE:			de_DE.ISO8859-15
+ iso8859-1/XLC_LOCALE:			de_LI.ISO8859-1
++iso8859-15/XLC_LOCALE:			de_LI.ISO8859-15
+ iso8859-1/XLC_LOCALE:			de_LU.ISO8859-1
+ iso8859-15/XLC_LOCALE:			de_LU.ISO8859-15
+ iso8859-7/XLC_LOCALE: 			el_GR.ISO8859-7
+-iso8859-15/XLC_LOCALE:			el_GR.ISO8859-15
+ iso8859-1/XLC_LOCALE:			en_AU.ISO8859-1
+-iso8859-1/XLC_LOCALE:			en_BE.ISO8859-1
++iso8859-1/XLC_LOCALE:			en_BW.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_BZ.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_CA.ISO8859-1
++iso8859-1/XLC_LOCALE:			en_DK.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_GB.ISO8859-1
+ iso8859-15/XLC_LOCALE:			en_GB.ISO8859-15
++iso8859-1/XLC_LOCALE:			en_HK.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_IE.ISO8859-1
+ iso8859-15/XLC_LOCALE:			en_IE.ISO8859-15
+ iso8859-1/XLC_LOCALE:			en_JM.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_NZ.ISO8859-1
++iso8859-1/XLC_LOCALE:			en_PH.ISO8859-1
++iso8859-1/XLC_LOCALE:			en_SG.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_TT.ISO8859-1
+ iso8859-1/XLC_LOCALE:			en_UK.ISO8859-1
+ iso8859-15/XLC_LOCALE:			en_UK.ISO8859-15
+@@ -73,8 +84,11 @@
+ iso8859-15/XLC_LOCALE:			en_US.ISO8859-15
+ iso8859-1/XLC_LOCALE:			en_ZA.ISO8859-1
+ iso8859-15/XLC_LOCALE:			en_ZA.ISO8859-15
+-iso8859-3/XLC_LOCALE:			eo_EO.ISO8859-3
+-iso8859-3/XLC_LOCALE:			eo_XX.ISO8859-3
++iso8859-1/XLC_LOCALE:			en_ZW.ISO8859-1
++XCOMM Esperato (eo) is not supported by the GNU C Library and neither the
++XCOMM EO nor XX territories exist in ISO 3166.
++XCOMM iso8859-3/XLC_LOCALE:			eo_EO.ISO8859-3
++XCOMM iso8859-3/XLC_LOCALE:			eo_XX.ISO8859-3
+ iso8859-1/XLC_LOCALE:			es_AR.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_BO.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_CL.ISO8859-1
+@@ -93,6 +107,7 @@
+ iso8859-1/XLC_LOCALE:			es_PR.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_PY.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_SV.ISO8859-1
++iso8859-1/XLC_LOCALE:			es_US.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_UY.ISO8859-1
+ iso8859-1/XLC_LOCALE:			es_VE.ISO8859-1
+ iso8859-1/XLC_LOCALE:			et_EE.ISO8859-1
+@@ -101,6 +116,8 @@
+ iso8859-15/XLC_LOCALE:			et_EE.ISO8859-15
+ iso8859-1/XLC_LOCALE:			eu_ES.ISO8859-1
+ iso8859-15/XLC_LOCALE:			eu_ES.ISO8859-15
++iso8859-1/XLC_LOCALE:			eu_FR.ISO8859-1
++iso8859-15/XLC_LOCALE:			eu_FR.ISO8859-15
+ isiri-3342/XLC_LOCALE:			fa_IR.ISIRI-3342
+ iso8859-1/XLC_LOCALE:			fi_FI.ISO8859-1
+ iso8859-15/XLC_LOCALE:			fi_FI.ISO8859-15
+@@ -149,6 +166,7 @@
+ iso8859-1/XLC_LOCALE:			kw_GB.ISO8859-1
+ iso8859-14/XLC_LOCALE:			kw_GB.ISO8859-14
+ iso8859-15/XLC_LOCALE:			kw_GB.ISO8859-15
++iso8859-10/XLC_LOCALE:			lg_UG.ISO8859-10
+ ibm-cp1133/XLC_LOCALE:			lo_LA.IBM-CP1133
+ mulelao-1/XLC_LOCALE:			lo_LA.MULELAO-1
+ iso8859-4/XLC_LOCALE:			lt_LT.ISO8859-4
+@@ -174,8 +192,12 @@
+ iso8859-1/XLC_LOCALE:			ny_NO.ISO8859-15
+ iso8859-1/XLC_LOCALE:			oc_FR.ISO8859-1
+ iso8859-15/XLC_LOCALE:			oc_FR.ISO8859-15
+-iso8859-1/XLC_LOCALE:			pd_US.ISO8859-1
+-iso8859-1/XLC_LOCALE:			pd_DE.ISO8859-1
++iso8859-1/XLC_LOCALE:			om_KE.ISO8859-1
++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German.
++XCOMM This is not an ISO language code defined for it, and the GNU C Library
++XCOMM doesn't support it.
++XCOMM iso8859-1/XLC_LOCALE:			pd_US.ISO8859-1
++XCOMM iso8859-1/XLC_LOCALE:			pd_DE.ISO8859-1
+ iso8859-1/XLC_LOCALE:			ph_PH.ISO8859-1
+ iso8859-2/XLC_LOCALE:			pl_PL.ISO8859-2
+ iso8859-1/XLC_LOCALE:			pp_AN.ISO8859-1
+@@ -186,24 +208,29 @@
+ iso8859-5/XLC_LOCALE: 			ru_RU.ISO8859-5
+ microsoft-cp1251/XLC_LOCALE: 		ru_RU.CP1251
+ koi8-r/XLC_LOCALE: 			ru_RU.KOI8-R
++microsoft-cp1251/XLC_LOCALE: 		ru_UA.CP1251
+ koi8-u/XLC_LOCALE:			ru_UA.KOI8-U
+ iso8859-2/XLC_LOCALE: 			sh_YU.ISO8859-2
+ iso8859-2/XLC_LOCALE: 			sk_SK.ISO8859-2
+ iso8859-2/XLC_LOCALE: 			sl_SI.ISO8859-2
++iso8859-1/XLC_LOCALE:			so_DJ.ISO8859-1
++iso8859-1/XLC_LOCALE:			so_KE.ISO8859-1
++iso8859-1/XLC_LOCALE:			so_SO.ISO8859-1
+ iso8859-5/XLC_LOCALE: 			sp_YU.ISO8859-5
+ iso8859-2/XLC_LOCALE: 			sq_AL.ISO8859-2
+ iso8859-2/XLC_LOCALE:			sr_SP.ISO8859-2
+ iso8859-2/XLC_LOCALE:			sr_YU.ISO8859-2
+ iso8859-5/XLC_LOCALE:			sr_YU.ISO8859-5
+ microsoft-cp1251/XLC_LOCALE:		sr_YU.CP1251
++iso8859-1/XLC_LOCALE:			st_ZA.ISO8859-1
+ iso8859-1/XLC_LOCALE:			sv_FI.ISO8859-1
+ iso8859-15/XLC_LOCALE:			sv_FI.ISO8859-15
+ iso8859-1/XLC_LOCALE:			sv_SE.ISO8859-1
+ iso8859-15/XLC_LOCALE:			sv_SE.ISO8859-15
+ tscii-0/XLC_LOCALE:			ta_IN.TSCII-0
+ koi8-c/XLC_LOCALE:			tg_TJ.KOI8-C
+-th_TH/XLC_LOCALE:			th_TH.TIS620
+ iso8859-11/XLC_LOCALE:			th_TH.ISO8859-11
++th_TH/XLC_LOCALE:			th_TH.TIS620
+ iso8859-1/XLC_LOCALE: 			tl_PH.ISO8859-1
+ iso8859-9/XLC_LOCALE:			tr_TR.ISO8859-9
+ tatar-cyr/XLC_LOCALE:			tt_RU.TATAR-CYR
+@@ -212,10 +239,12 @@
+ microsoft-cp1251/XLC_LOCALE: 		uk_UA.CP1251
+ koi8-u/XLC_LOCALE:			uk_UA.KOI8-U
+ microsoft-cp1256/XLC_LOCALE:		ur_PK.CP1256
++iso8859-1/XLC_LOCALE:			uz_UZ.ISO8859-1
+ vi_VN.tcvn/XLC_LOCALE:			vi_VN.TCVN
+ vi_VN.viscii/XLC_LOCALE:		vi_VN.VISCII
+ iso8859-1/XLC_LOCALE:			wa_BE.ISO8859-1
+ iso8859-15/XLC_LOCALE:			wa_BE.ISO8859-15
++iso8859-1/XLC_LOCALE:			xh_ZA.ISO8859-1
+ microsoft-cp1255/XLC_LOCALE:		yi_US.CP1255
+ zh_CN/XLC_LOCALE:			zh_CN.eucCN
+ zh_CN/XLC_LOCALE:			zh_CN.GB2312
+@@ -225,15 +254,24 @@
+ zh_HK.big5hkscs/XLC_LOCALE:		zh_HK.Big5-HKSCS
+ zh_HK.big5hkscs/XLC_LOCALE:		zh_HK.big5hkscs
+ zh_HK.big5hkscs/XLC_LOCALE:		zh_HK.Big5HKSCS
++zh_CN/XLC_LOCALE:			zh_SG.GB2312
++zh_CN.gbk/XLC_LOCALE:			zh_SG.gbk
+ zh_TW.big5/XLC_LOCALE:			zh_TW.big5
+ zh_TW/XLC_LOCALE:			zh_TW.eucTW
++iso8859-1/XLC_LOCALE:			zu_ZA.ISO8859-1
+ XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress.
++XCOMM a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3".
++en_US.UTF-8/XLC_LOCALE:			a3_AZ.UTF-8
++en_US.UTF-8/XLC_LOCALE:			aa_ER.UTF-8
++en_US.UTF-8/XLC_LOCALE:			aa_ET.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			af_ZA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			am_ET.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_AA.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ar_AE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_BH.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_DZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_EG.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ar_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_IQ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_JO.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_KW.UTF-8
+@@ -243,14 +281,17 @@
+ en_US.UTF-8/XLC_LOCALE:			ar_OM.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_QA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_SA.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ar_SD.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ar_SY.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_TN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ar_YE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			az_AZ.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			a3_AZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			be_BY.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			bg_BG.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			bn_BD.UTF-8
++en_US.UTF-8/XLC_LOCALE:			bn_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			br_FR.UTF-8
++en_US.UTF-8/XLC_LOCALE:			byn_ER.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ca_ES.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			cs_CZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			cy_GB.UTF-8
+@@ -264,19 +305,27 @@
+ en_US.UTF-8/XLC_LOCALE:			de_LU.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			el_GR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_AU.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			en_BE.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_BW.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_BZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_CA.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_DK.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_GB.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_HK.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_IE.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_JM.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_NZ.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_PH.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_SG.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_TT.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_UK.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_US.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			en_ZA.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			eo_EO.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			eo_XX.UTF-8
++en_US.UTF-8/XLC_LOCALE:			en_ZW.UTF-8
++XCOMM Esperato (eo) is not supported by the GNU C Library and neither the
++XCOMM EO nor XX territories exist in ISO 3166.
++XCOMM en_US.UTF-8/XLC_LOCALE:			eo_EO.UTF-8
++XCOMM en_US.UTF-8/XLC_LOCALE:			eo_XX.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_AR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_BO.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_CL.UTF-8
+@@ -294,10 +343,12 @@
+ en_US.UTF-8/XLC_LOCALE:			es_PR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_PY.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_SV.UTF-8
++en_US.UTF-8/XLC_LOCALE:			es_US.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_UY.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			es_VE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			et_EE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			eu_ES.UTF-8
++en_US.UTF-8/XLC_LOCALE:			eu_FR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			fa_IR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			fi_FI.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			fo_FO.UTF-8
+@@ -308,7 +359,10 @@
+ en_US.UTF-8/XLC_LOCALE:			fr_LU.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ga_IE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			gd_GB.UTF-8
++en_US.UTF-8/XLC_LOCALE:			gez_ER.UTF-8
++en_US.UTF-8/XLC_LOCALE:			gez_ET.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			gl_ES.UTF-8
++en_US.UTF-8/XLC_LOCALE:			gu_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			gv_GB.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			he_IL.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			hi_IN.UTF-8
+@@ -320,9 +374,11 @@
+ en_US.UTF-8/XLC_LOCALE:			it_CH.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			it_IT.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			iu_CA.UTF-8
++en_US.UTF-8/XLC_LOCALE:			iw_IL.UTF-8
+ ja_JP.UTF-8/XLC_LOCALE:			ja_JP.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ka_GE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			kl_GL.UTF-8
++en_US.UTF-8/XLC_LOCALE:			kn_IN.UTF-8
+ ko_KR.UTF-8/XLC_LOCALE:			ko_KR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			kw_GB.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			lo_LA.UTF-8
+@@ -330,16 +386,28 @@
+ en_US.UTF-8/XLC_LOCALE:			lv_LV.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			mi_NZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			mk_MK.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ml_IN.UTF-8
++en_US.UTF-8/XLC_LOCALE:			mn_MN.UTF-8
++en_US.UTF-8/XLC_LOCALE:			mr_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ms_MY.UTF-8
++en_US.UTF-8/XLC_LOCALE:			mt_MT.UTF-8
++en_US.UTF-8/XLC_LOCALE:			ne_NP.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			nl_BE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			nl_NL.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			no_NO.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			nb_NO.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			nn_NO.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			ny_NO.UTF-8
++XCOMM ny is the language code for Nyanja (spoken in Malawi), not Nynorsk.
++XCOMM See <URL: http://www.ethnologue.com/show_iso639.asp?code=nya >.
++XCOMM en_US.UTF-8/XLC_LOCALE:			ny_NO.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			oc_FR.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			pd_DE.UTF-8
+-en_US.UTF-8/XLC_LOCALE:			pd_US.UTF-8
++en_US.UTF-8/XLC_LOCALE:			om_ET.UTF-8
++en_US.UTF-8/XLC_LOCALE:			pa_IN.UTF-8
++XCOMM Presumably, "pd" is "Pennsylvania 'Dutch'", a U.S. dialect of German.
++XCOMM This is not an ISO language code defined for it, and the GNU C Library
++XCOMM doesn't support it.
++XCOMM en_US.UTF-8/XLC_LOCALE:			pd_DE.UTF-8
++XCOMM en_US.UTF-8/XLC_LOCALE:			pd_US.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ph_PH.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			pl_PL.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			pp_AN.UTF-8
+@@ -349,27 +417,36 @@
+ en_US.UTF-8/XLC_LOCALE:			ru_RU.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ru_UA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			se_NO.UTF-8
++en_US.UTF-8/XLC_LOCALE:			sid_ET.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sk_SK.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sl_SI.UTF-8
++en_US.UTF-8/XLC_LOCALE:			so_ET.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sq_AL.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sr_YU.UTF-8
++en_US.UTF-8/XLC_LOCALE:			st_ZA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sv_FI.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			sv_SE.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ta_IN.UTF-8
++en_US.UTF-8/XLC_LOCALE:			te_IN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			tg_TJ.UTF-8
+ th_TH.UTF-8/XLC_LOCALE:			th_TH.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ti_ER.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ti_ET.UTF-8
++en_US.UTF-8/XLC_LOCALE:			tig_ER.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			tl_PH.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			tr_TR.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			tt_RU.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			uk_UA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			ur_PK.UTF-8
++en_US.UTF-8/XLC_LOCALE:			uz_UZ.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			vi_VN.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			wa_BE.UTF-8
++en_US.UTF-8/XLC_LOCALE:			xh_ZA.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			yi_US.UTF-8
+ en_US.UTF-8/XLC_LOCALE:			zh_CN.UTF-8
++en_US.UTF-8/XLC_LOCALE:			zh_HK.UTF-8
+ zh_TW.UTF-8/XLC_LOCALE:			zh_TW.UTF-8
++en_US.UTF-8/XLC_LOCALE:			zu_ZA.UTF-8
+ #ifdef __uxp__
+ ja.U90/XLC_LOCALE:			ja_JP.U90
+ ja.S90/XLC_LOCALE:			ja_JP.S90

Modified: trunk/debian/patches/096_Xlib_l10n_pt_BR.UTF-8.diff
===================================================================
--- trunk/debian/patches/096_Xlib_l10n_pt_BR.UTF-8.diff	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/patches/096_Xlib_l10n_pt_BR.UTF-8.diff	2004-08-12 08:29:56 UTC (rev 1731)
@@ -9,8 +9,8 @@
 Not submitted upstream yet.
 
 diff -urN xc/nls~/Compose/Imakefile xc/nls/Compose/Imakefile
---- xc/nls~/Compose/Imakefile	2002-06-03 17:19:43.000000000 -0500
-+++ xc/nls/Compose/Imakefile	2003-09-17 22:42:16.000000000 -0500
+--- xc/nls~/Compose/Imakefile	2004-08-12 02:38:22.000000000 -0500
++++ xc/nls/Compose/Imakefile	2004-08-12 02:38:54.000000000 -0500
 @@ -55,6 +55,7 @@
  ComposeTarget(koi8-u)
  ComposeTarget(koi8-c)
@@ -21,7 +21,7 @@
  ComposeTarget(zh_CN)
 diff -urN xc/nls~/Compose/pt_BR.UTF-8 xc/nls/Compose/pt_BR.UTF-8
 --- xc/nls~/Compose/pt_BR.UTF-8	1969-12-31 19:00:00.000000000 -0500
-+++ xc/nls/Compose/pt_BR.UTF-8	2003-09-17 22:42:16.000000000 -0500
++++ xc/nls/Compose/pt_BR.UTF-8	2004-08-12 02:38:54.000000000 -0500
 @@ -0,0 +1,5541 @@
 +# UTF-8 (Unicode) compose sequence
 +# David.Monniaux@ens.fr
@@ -5565,8 +5565,8 @@
 +<Multi_key> <U1d1bc> <U1d16f>	: "퇀" U1D1C0 # MUSICAL SYMBOL FUSA BLACK
 +<Multi_key> <U1d1ba> <U1d165> <U1d16f>	: "퇀" U1D1C0 # MUSICAL SYMBOL FUSA BLACK
 diff -urN xc/nls~/XI18N_OBJS/Imakefile xc/nls/XI18N_OBJS/Imakefile
---- xc/nls~/XI18N_OBJS/Imakefile	2003-01-14 22:59:47.000000000 -0500
-+++ xc/nls/XI18N_OBJS/Imakefile	2003-09-17 22:43:01.000000000 -0500
+--- xc/nls~/XI18N_OBJS/Imakefile	2004-08-12 02:38:22.000000000 -0500
++++ xc/nls/XI18N_OBJS/Imakefile	2004-08-12 02:38:54.000000000 -0500
 @@ -68,6 +68,7 @@
  XI18NTarget(en_US.UTF-8)
  XI18NTarget(ja_JP.UTF-8)
@@ -5577,7 +5577,7 @@
  #ifdef UXPArchitecture
 diff -urN xc/nls~/XI18N_OBJS/pt_BR.UTF-8 xc/nls/XI18N_OBJS/pt_BR.UTF-8
 --- xc/nls~/XI18N_OBJS/pt_BR.UTF-8	1969-12-31 19:00:00.000000000 -0500
-+++ xc/nls/XI18N_OBJS/pt_BR.UTF-8	2003-09-17 22:42:16.000000000 -0500
++++ xc/nls/XI18N_OBJS/pt_BR.UTF-8	2004-08-12 02:38:54.000000000 -0500
 @@ -0,0 +1,7 @@
 +# CATEGORY(XLC|XIM|OM)	SHARED_LIBRARY_NAME	FUNCTION_NAME
 +#
@@ -5587,8 +5587,8 @@
 +XIM	common/ximcp	_XimOpenIM _XimRegisterIMInstantiateCallback  _XimUnRegisterIMInstantiateCallback # XIM_open	XIM_register XIM_unregister
 +XOM	common/xomGeneric 	_XomGenericOpenOM	# XOM_open
 diff -urN xc/nls~/XLC_LOCALE/Imakefile xc/nls/XLC_LOCALE/Imakefile
---- xc/nls~/XLC_LOCALE/Imakefile	2003-01-14 22:59:47.000000000 -0500
-+++ xc/nls/XLC_LOCALE/Imakefile	2003-09-17 22:44:03.000000000 -0500
+--- xc/nls~/XLC_LOCALE/Imakefile	2004-08-12 02:38:22.000000000 -0500
++++ xc/nls/XLC_LOCALE/Imakefile	2004-08-12 02:38:54.000000000 -0500
 @@ -69,6 +69,7 @@
  LTarget(microsoft-cp1256)
  LTarget(mulelao-1)
@@ -5599,7 +5599,7 @@
  LTarget(th_TH.UTF-8)
 diff -urN xc/nls~/XLC_LOCALE/pt_BR.UTF-8 xc/nls/XLC_LOCALE/pt_BR.UTF-8
 --- xc/nls~/XLC_LOCALE/pt_BR.UTF-8	1969-12-31 19:00:00.000000000 -0500
-+++ xc/nls/XLC_LOCALE/pt_BR.UTF-8	2003-09-17 22:42:16.000000000 -0500
++++ xc/nls/XLC_LOCALE/pt_BR.UTF-8	2004-08-12 02:38:54.000000000 -0500
 @@ -0,0 +1,143 @@
 +#  XLocale Database Sample for pt_BR.UTF-8
 +#
@@ -5745,9 +5745,9 @@
 +
 +END XLC_XLOCALE
 diff -urN xc/nls~/compose.dir xc/nls/compose.dir
---- xc/nls~/compose.dir	2002-12-09 23:23:51.000000000 -0500
-+++ xc/nls/compose.dir	2003-09-17 22:42:16.000000000 -0500
-@@ -326,7 +326,7 @@
+--- xc/nls~/compose.dir	2004-08-12 02:38:22.000000000 -0500
++++ xc/nls/compose.dir	2004-08-12 02:38:54.000000000 -0500
+@@ -423,7 +423,7 @@
  en_US.UTF-8/Compose:		ph_PH.UTF-8
  en_US.UTF-8/Compose:		pl_PL.UTF-8
  en_US.UTF-8/Compose:		pp_AN.UTF-8
@@ -5757,9 +5757,9 @@
  en_US.UTF-8/Compose:		ro_RO.UTF-8
  en_US.UTF-8/Compose:		ru_RU.UTF-8
 diff -urN xc/nls~/locale.dir xc/nls/locale.dir
---- xc/nls~/locale.dir	2003-01-14 22:59:46.000000000 -0500
-+++ xc/nls/locale.dir	2003-09-17 22:42:16.000000000 -0500
-@@ -343,7 +343,7 @@
+--- xc/nls~/locale.dir	2004-08-12 02:38:22.000000000 -0500
++++ xc/nls/locale.dir	2004-08-12 02:38:54.000000000 -0500
+@@ -411,7 +411,7 @@
  en_US.UTF-8/XLC_LOCALE:			ph_PH.UTF-8
  en_US.UTF-8/XLC_LOCALE:			pl_PL.UTF-8
  en_US.UTF-8/XLC_LOCALE:			pp_AN.UTF-8

Added: trunk/debian/scripts/locale-munger
===================================================================
--- trunk/debian/scripts/locale-munger	2004-08-11 07:18:58 UTC (rev 1730)
+++ trunk/debian/scripts/locale-munger	2004-08-12 08:29:56 UTC (rev 1731)
@@ -0,0 +1,247 @@
+#!/usr/bin/python
+
+# $Id$
+
+# This program compares X11 locale information from an unpacked source tree to
+# what the installed version of the GNU C Library claims it supports.  Some
+# internal consistency checks of X11's own locale data are done as well.
+
+# Run this program without arguments.
+
+import os
+import re
+
+RUNTIME_DEBUG = False
+
+# Figure out where we are.  Build a simple directory stack and go hunting for
+# debian/rules.
+
+cwd = [ ]
+cwd.insert(0, os.getcwd())
+search_list = (".", "..", os.path.join("..", ".."))
+goal = os.path.join("debian", "rules")
+found = False
+
+for dir in search_list:
+    new_cwd = os.path.join(cwd[0], dir)
+    cwd.insert(0, new_cwd)
+    os.chdir(new_cwd)
+    if os.path.exists(goal):
+        found = True
+        break
+    else:
+        cwd.pop(0)
+
+if found:
+    cwd = os.path.normpath(cwd[0])
+else:
+    raise RuntimeError, "cannot find %s in any of the directories %s" \
+      % (goal, search_list)
+
+# Find an unpacked source tree to look at.
+nls_dir = os.path.join("build-tree", "xc", "nls")
+
+if not os.path.isdir(nls_dir):
+    raise RuntimeError, "cannot find directory %s; need an unpacked and" \
+      " patched source tree to proceed" % (os.path.join(cwd, nls_dir),)
+
+# Ensure we can find glibc's list of supported locales.
+glibc_locale_file = os.path.join("/", "usr", "share", "i18n", "SUPPORTED")
+
+if not os.path.exists(glibc_locale_file):
+    raise RuntimeError, "cannot find file %s; is the locales package" \
+      " installed?" % (glibc_locale_file,)
+
+# Build a list of locales or character sets supported by X.  X provides
+# "generic" locale support based on the character set, with occasional specific
+# overrides for a given locale.  E.g., there is an "iso8559-1" XLC_LOCALE file
+# which serves for most (all?) locales that use the ISO 8859-1 character set,
+# but there are also XLC_LOCALE files for th_TH, th_TH.UTF-8, zh_CN, and so
+# forth.
+
+x11_charsets = [ ]
+
+for file in os.listdir(os.path.join(nls_dir, "XLC_LOCALE")):
+    # Exclude files ending in ".lt"; these are post-processed files that appear
+    # if the source tree has been built.  Also exlcude the Imakefile and the
+    # Makefile it generates.
+    if re.search(r'\.lt$', file) \
+      or file == "Imakefile" \
+      or file == "Makefile":
+        continue
+    x11_charsets.append(file)
+
+if RUNTIME_DEBUG:
+    print "Supported X11 charsets: %s" % (x11_charsets,)
+
+# Build a list of the "canonical" locales supported by X, using the locale.dir
+# file.
+
+x11_locales_canonical = [ ]
+x11_locale_dir_filename = "locale.dir"
+x11_locale_file = open(os.path.join(nls_dir, x11_locale_dir_filename))
+
+for line in x11_locale_file.readlines():
+    # Ignore blank lines, lines beginning with a comment character, and lines
+    # beginning with "XCOMM".
+    if re.match(r'$', line) \
+      or re.match(r'#', line) \
+      or re.match(r'XCOMM', line):
+        continue
+    # We don't actually use the left side of the split, but assigning to None
+    # raises a SyntaxWarning.
+    (left_side, right_side) = re.split(r':', line)
+    x11_locales_canonical.append(right_side.strip())
+
+x11_locale_file.close()
+
+if RUNTIME_DEBUG:
+    print "Canonical X11 locales: %s" % (x11_locales_canonical,)
+
+# Because it is convenient do so, compare the compose.dir file to locale.dir.
+
+x11_locales_compose = [ ]
+x11_compose_dir_filename = "compose.dir"
+x11_compose_file = open(os.path.join(nls_dir, x11_compose_dir_filename))
+
+for line in x11_compose_file.readlines():
+    # Ignore blank lines, lines beginning with a comment character, and lines
+    # beginning with "XCOMM".
+    if re.match(r'$', line) \
+      or re.match(r'#', line) \
+      or re.match(r'XCOMM', line):
+        continue
+    # We don't actually use the left side of the split, but assigning to None
+    # raises a SyntaxWarning.
+    (left_side, right_side) = re.split(r':', line)
+    x11_locales_compose.append(right_side.strip())
+
+x11_compose_file.close()
+
+if RUNTIME_DEBUG:
+    print "Composable X11 locales: %s" % (x11_locales_compose,)
+
+for locale in x11_locales_compose:
+    if locale not in x11_locales_canonical:
+        print "Warning: locale \"%s\" referenced in %s but missing from %s" \
+          % (locale, x11_compose_dir_filename, x11_locale_dir_filename)
+
+for locale in x11_locales_canonical:
+    if locale not in x11_locales_compose:
+        print "Warning: locale \"%s\" referenced in %s but missing from %s" \
+          % (locale, x11_locale_dir_filename, x11_compose_dir_filename)
+
+# Build a dictionary of the "aliased" locales supported by X, using the
+# locale.alias file.  The keys in this dictionary are the aliases, and the
+# values are the canonical locale names.
+
+x11_locales_aliased = { }
+x11_alias_file = open(os.path.join(nls_dir, "locale.alias"))
+
+for line in x11_alias_file.readlines():
+    # Ignore blank lines and lines beginning with a comment character.
+    if re.match(r'$', line) \
+      or re.match(r'#', line) \
+      or re.match(r'XCOMM', line):
+        continue
+    (left_side, right_side) = re.split(r':', line)
+    x11_locales_aliased[(left_side.strip())] = right_side.strip()
+    if right_side.strip() not in x11_locales_canonical:
+        print "Warning: X11 bug: X11 locale %s is aliased to non-canonical" \
+          " X11 locale %s" % (left_side.strip(), right_side.strip())
+
+x11_alias_file.close()
+
+if RUNTIME_DEBUG:
+    print "Aliased X11 locales: %s" % (x11_locales_aliased.keys(),)
+
+# Build a dictionary of canonical locales according to the GNU C library.  The
+# keys in this dictionary are the locale names, and the values are the character
+# sets used by each locale name.
+
+glibc_locales_canonical = { }
+glibc_locale_file = open(os.path.join("/", "usr", "share", "i18n", "SUPPORTED"))
+
+for line in glibc_locale_file.readlines():
+    (left_side, right_side) = re.split(r'\s', line, 1)
+    glibc_locales_canonical[(left_side.strip())] = right_side.strip()
+
+glibc_locale_file.close()
+
+if RUNTIME_DEBUG:
+    print "Canonical glibc locales: %s" % (glibc_locales_canonical.keys(),)
+
+glibc_locales_aliased = { }
+glibc_alias_file = open(os.path.join("/", "etc", "locale.alias"))
+
+for line in glibc_alias_file.readlines():
+    # Ignore blank lines and lines beginning with a comment character.
+    # beginning with "XCOMM".
+    if re.match(r'$', line) \
+      or re.match(r'#', line):
+        continue
+    (left_side, right_side) = re.split(r'\s', line, 1)
+    glibc_locales_aliased[(left_side.strip())] = right_side.strip()
+    # glibc is a little weird; it aliases names to locale specifications
+    # *including* the codeset, whereas it omits the codeset from the officially
+    # supported list except when necessary for disambiguation purposes.
+    # Consequently, if we don't find the alias's target in the canonical list,
+    # we have to fall back to seeing if it is in the canonical list using the
+    # same codeset that is explicitly stated.
+    if right_side.strip() not in glibc_locales_canonical.keys():
+        # Try harder to find it.
+        goal_locale = right_side.strip()
+        found = False
+        for locale in glibc_locales_canonical.keys():
+            if not re.match(r'\.', locale):
+                locale_with_codeset = '.'.join([ locale,
+                                               glibc_locales_canonical[locale] ])
+                if goal_locale == locale_with_codeset:
+                    found = True
+                    break
+        if not found:
+            print "Warning: glibc bug: glibc locale %s is aliased to" \
+              " non-canonical glibc locale %s" \
+              % (left_side.strip(), right_side.strip())
+
+glibc_alias_file.close()
+
+if RUNTIME_DEBUG:
+    print "Aliased glibc locales: %s" % (glibc_locales_aliased.keys(),)
+
+# Now for the good part.  Walk through the list of supported glibc locales that
+# X11 doesn't support.  This phenomenon produces a lot of Debian bug reports.
+
+all_glibc_locales = (glibc_locales_canonical.keys() \
+  + glibc_locales_aliased.keys())
+all_glibc_locales.sort()
+
+for locale in all_glibc_locales:
+    if locale not in (x11_locales_canonical + x11_locales_aliased.keys()):
+        print "ERROR: X11 does not support glibc locale %s" % (locale,)
+    else:
+        if RUNTIME_DEBUG:
+            print "GOOD NEWS: X111 supports glibc locale %s" % (locale,)
+
+# Now see if locale values that include an explicit (but redundant) character
+# set are supported by X11.
+
+all_x11_locales = (x11_locales_canonical + x11_locales_aliased.keys())
+glibc_explicit_codeset = [ ]
+
+for key in glibc_locales_canonical.keys():
+    if not re.search(r'\.', key):
+        if re.search(r'@', key):
+            explicit_locale = re.sub(r'@', ".%s@" %
+                                           (glibc_locales_canonical[key],), key)
+        else:
+            explicit_locale = '.'.join([ key, glibc_locales_canonical[key] ])
+        glibc_explicit_codeset.append(explicit_locale)
+
+glibc_explicit_codeset.sort()
+
+for locale in glibc_explicit_codeset:
+    if locale not in all_x11_locales:
+        print "ERROR: X11 does not support glibc locale %s" % (locale,)
+
+# vim:set ai et sts=4 sw=4 tw=80:


Property changes on: trunk/debian/scripts/locale-munger
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + id



Reply to: