9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso88593.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso88593	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,8 @@
9fcb0f8
+style "gtk-default-iso-8859-3" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-3,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-3,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-3"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/Makefile.am.encoding	Fri Feb  2 12:09:02 2001
9fcb0f8
+++ gtk+-1.2.10/gtk/Makefile.am	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -374,10 +374,12 @@
9fcb0f8
 
9fcb0f8
 
9fcb0f8
 gtkconfdir = $(sysconfdir)/gtk
9fcb0f8
-gtkconf_DATA = gtkrc.az gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
9fcb0f8
-	gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
9fcb0f8
-	gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
9fcb0f8
-	gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.big5 \
9fcb0f8
+gtkconf_DATA = gtkrc.az gtkrc.he gtkrc.hy gtkrc.ja \
9fcb0f8
+	gtkrc.ko gtkrc.ru gtkrc.th gtkrc.uk \
9fcb0f8
+	gtkrc.utf8 gtkrc.iso88592 \
9fcb0f8
+	gtkrc.iso88593 gtkrc.iso88595 gtkrc.iso88597 \
9fcb0f8
+	gtkrc.iso88599 gtkrc.iso885913 gtkrc.iso885914 \
9fcb0f8
+	gtkrc.iso885915 gtkrc.zh_CN gtkrc.zh_TW.big5 \
9fcb0f8
 	gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
9fcb0f8
 	gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii gtkrc.cp1251 gtkrc.cp1255
9fcb0f8
 
9fcb0f8
@@ -390,11 +392,11 @@
9fcb0f8
 	cd $(DESTDIR)$(gtkconfdir) && \
9fcb0f8
 	  for i in cs hr hu pl ro sk sl sq sr ; do \
9fcb0f8
 	    rm -f gtkrc.$$i ; \
9fcb0f8
-	    ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
9fcb0f8
+	    ln -s gtkrc.iso88592 gtkrc.$$i ; \
9fcb0f8
 	  done ; \
9fcb0f8
 	  for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \
9fcb0f8
 	    rm -f gtkrc.$$i ; \
9fcb0f8
-	    ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
9fcb0f8
+	    ln -s gtkrc.iso88595 gtkrc.$$i ; \
9fcb0f8
 	  done ; \
9fcb0f8
 	  for i in he_IL.cp1255 he_IL.microsoftcp1255 yi ; do \
9fcb0f8
 	    rm -f gtkrc.$$i ; \
9fcb0f8
@@ -403,12 +405,12 @@
9fcb0f8
 	rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
9fcb0f8
 	     gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \
9fcb0f8
 	     gtkrc.be gtkrc.bg gtkrc.mi ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-13 gtkrc.mi ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
9fcb0f8
-	ln -s gtkrc.iso-8859-15 gtkrc.et ; \
9fcb0f8
+	ln -s gtkrc.iso885913 gtkrc.mi ; \
9fcb0f8
+	ln -s gtkrc.iso885913 gtkrc.lt ; \
9fcb0f8
+	ln -s gtkrc.iso885913 gtkrc.lv ; \
9fcb0f8
+	ln -s gtkrc.iso885914 gtkrc.cy ; \
9fcb0f8
+	ln -s gtkrc.iso885914 gtkrc.ga ; \
9fcb0f8
+	ln -s gtkrc.iso885915 gtkrc.et ; \
9fcb0f8
 	ln -s gtkrc.ka_GE.georgianps gtkrc.ka ; \
9fcb0f8
 	ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
9fcb0f8
 	ln -s gtkrc.vi_VN.tcvn gtkrc.vi ; \
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.c.encoding	Thu Mar 15 13:41:40 2001
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.c	Fri Jul 26 16:49:24 2002
9fcb0f8
@@ -33,6 +33,7 @@
9fcb0f8
 #include <string.h>
9fcb0f8
 #include <stdio.h>
9fcb0f8
 #include <stdlib.h>
9fcb0f8
+#include <langinfo.h>
9fcb0f8
 
9fcb0f8
 #include "gtkrc.h"
9fcb0f8
 #include "gtkbindings.h"
9fcb0f8
@@ -440,7 +441,7 @@
9fcb0f8
 void
9fcb0f8
 gtk_rc_init (void)
9fcb0f8
 {
9fcb0f8
-  static gchar *locale_suffixes[3];
9fcb0f8
+  static gchar *locale_suffixes[8];
9fcb0f8
   static gint n_locale_suffixes = 0;
9fcb0f8
 
9fcb0f8
   gint i, j;
9fcb0f8
@@ -449,9 +450,7 @@
9fcb0f8
 
9fcb0f8
   if (!initted)
9fcb0f8
     {
9fcb0f8
-      gint length;
9fcb0f8
-      
9fcb0f8
-      char *locale = setlocale (LC_CTYPE, NULL);
9fcb0f8
+      char *locale = g_strdup (setlocale (LC_CTYPE, NULL));
9fcb0f8
       char *p;
9fcb0f8
       
9fcb0f8
       initted = TRUE;
9fcb0f8
@@ -470,39 +469,88 @@
9fcb0f8
 	   * We normalize the charset into a standard form,
9fcb0f8
 	   * which has all '-' and '_' characters removed,
9fcb0f8
 	   * and is lowercase.
9fcb0f8
+	   *
9fcb0f8
+	   * the search is done in that order:
9fcb0f8
+	   * gtkrc.ll_cc.lowercasecodeset
9fcb0f8
+	   * gtkrc.ll_cc.normalizedcodeset
9fcb0f8
+	   * gtkrc.ll.lowercasecodeset
9fcb0f8
+	   * gtkrc.ll.normalizedcodeset
9fcb0f8
+	   * gtkrc.lowercasecodeset
9fcb0f8
+	   * gtkrc.normalizedcodeset
9fcb0f8
+	   * gtkrc.ll_cc
9fcb0f8
+	   * gtkrc.ll
9fcb0f8
+	   * 
9fcb0f8
 	   */
9fcb0f8
-	  gchar *normalized_locale;
9fcb0f8
+	  char *codeset = NULL;
9fcb0f8
+	  char *normalized_codeset = NULL;
9fcb0f8
+	  char *cc = NULL;
9fcb0f8
+	  char *ll;
9fcb0f8
 
9fcb0f8
 	  p = strchr (locale, '@');
9fcb0f8
-	  length = p ? (p -locale) : strlen (locale);
9fcb0f8
+	  if (p)
9fcb0f8
+	    *p = '\0';
9fcb0f8
 
9fcb0f8
+	  codeset = nl_langinfo (CODESET);
9fcb0f8
+	  
9fcb0f8
 	  p = strchr (locale, '.');
9fcb0f8
+	  if (!codeset && p)
9fcb0f8
+	    codeset = p + 1;
9fcb0f8
 	  if (p)
9fcb0f8
+	    *p = '\0';
9fcb0f8
+	  
9fcb0f8
+	  if (codeset)
9fcb0f8
 	    {
9fcb0f8
-	      gchar *tmp1 = g_strndup (locale, p - locale + 1);
9fcb0f8
-	      gchar *tmp2 = _gtk_normalize_codeset (p + 1, length - (p - locale + 1));
9fcb0f8
+	      codeset = g_strdup (codeset);
9fcb0f8
 	      
9fcb0f8
-	      normalized_locale = g_strconcat (tmp1, tmp2, NULL);
9fcb0f8
-	      g_free (tmp1);
9fcb0f8
-	      g_free (tmp2);
9fcb0f8
-						 
9fcb0f8
-	      locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_locale);
9fcb0f8
-	      length = p - locale;
9fcb0f8
+	      p = codeset;
9fcb0f8
+	      while (*p)
9fcb0f8
+		{
9fcb0f8
+		  /* tolower not used, because some locales are not
9fcb0f8
+		   * compatible with C locale in lowercasing ascii
9fcb0f8
+		   */
9fcb0f8
+		  if (*p >= 'A' && *p <= 'Z')
9fcb0f8
+		    *p = (*p) - 'A' + 'a';
9fcb0f8
+		  p++;
9fcb0f8
+		}
9fcb0f8
+	      
9fcb0f8
+	      normalized_codeset = _gtk_normalize_codeset(codeset, strlen (codeset));
9fcb0f8
+	      if (strcmp (normalized_codeset, codeset) == 0)
9fcb0f8
+		{
9fcb0f8
+		  g_free (normalized_codeset);
9fcb0f8
+		  normalized_codeset = NULL;
9fcb0f8
+		}
9fcb0f8
 	    }
9fcb0f8
-	  else
9fcb0f8
-	    normalized_locale = g_strndup (locale, length);
9fcb0f8
 	  
9fcb0f8
-	  p = strchr (normalized_locale, '_');
9fcb0f8
+	  p = strchr (locale, '_');
9fcb0f8
 	  if (p)
9fcb0f8
 	    {
9fcb0f8
-	      locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
9fcb0f8
-	      length = p - normalized_locale;
9fcb0f8
+	      cc = p + 1;
9fcb0f8
+	      *p = '\0';
9fcb0f8
 	    }
9fcb0f8
-	  
9fcb0f8
-	  locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
9fcb0f8
 
9fcb0f8
-	  g_free (normalized_locale);
9fcb0f8
+	  ll = locale;	
9fcb0f8
+	
9fcb0f8
+	  if (cc && codeset)
9fcb0f8
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", codeset, NULL);
9fcb0f8
+          if (cc && normalized_codeset)
9fcb0f8
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", normalized_codeset, NULL);
9fcb0f8
+	  if (codeset)
9fcb0f8
+            locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", codeset, NULL);
9fcb0f8
+          if (normalized_codeset)
9fcb0f8
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", normalized_codeset, NULL);
9fcb0f8
+	  if (codeset)
9fcb0f8
+	    locale_suffixes[n_locale_suffixes++] = g_strdup (codeset);
9fcb0f8
+	  if (normalized_codeset)
9fcb0f8
+	    locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_codeset);
9fcb0f8
+	  if (cc)
9fcb0f8
+            locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, NULL);
9fcb0f8
+	  locale_suffixes[n_locale_suffixes++] = g_strdup (ll);
9fcb0f8
+
9fcb0f8
+	  g_free (normalized_codeset);
9fcb0f8
+	  g_free (codeset);
9fcb0f8
 	}
9fcb0f8
+
9fcb0f8
+      g_free (locale);
9fcb0f8
     }
9fcb0f8
   
9fcb0f8
   i = 0;
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso88599.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso88599	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,8 @@
9fcb0f8
+style "gtk-default-iso-8859-9" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-9,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-9,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-9"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.utf8.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.utf8	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,7 @@
9fcb0f8
+style "default-text" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--*-120-*-*-p-*-*-*"
9fcb0f8
+
9fcb0f8
+}
9fcb0f8
+
9fcb0f8
+class "GtkWidget" style "default-text"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso885913.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso885913	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,7 @@
9fcb0f8
+style "gtk-default-iso-8859-13" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-13,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-13,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-13"
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso885914.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso885914	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,8 @@
9fcb0f8
+style "gtk-default-iso-8859-14" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-14,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-14,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-14"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso885915.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso885915	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,8 @@
9fcb0f8
+style "gtk-default-iso-8859-15" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-15,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-15,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-15"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso88592.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso88592	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,14 @@
9fcb0f8
+#$(gtkconfigdir)/gtkrc.iso-8859-2
9fcb0f8
+#
9fcb0f8
+# This file defines the fontsets for iso-8859-2 encoding
9fcb0f8
+# make symliks or hardlinks to gtkrc.$LANG if your language uses iso-8859-2
9fcb0f8
+# and a gtkrc.$LANG doesn't exist yet.
9fcb0f8
+
9fcb0f8
+style  "gtk-default-iso-8859-2" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-2,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-2,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-2"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso88595.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso88595	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,14 @@
9fcb0f8
+#$(gtkconfigdir)/gtkrc.iso-8859-5
9fcb0f8
+#
9fcb0f8
+# This file defines the fontsets for iso-8859-5 encoding
9fcb0f8
+# make symliks or hardlinks to gtkrc.$LANG if your language uses iso-8859-5
9fcb0f8
+# and a gtkrc.$LANG doesn't exist yet.
9fcb0f8
+
9fcb0f8
+style "gtk-default-iso-8859-5" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-5,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-5,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-5"
9fcb0f8
+
9fcb0f8
--- gtk+-1.2.10/gtk/gtkrc.iso88597.encoding	Fri Jul 26 16:47:04 2002
9fcb0f8
+++ gtk+-1.2.10/gtk/gtkrc.iso88597	Fri Jul 26 16:47:04 2002
9fcb0f8
@@ -0,0 +1,8 @@
9fcb0f8
+style "gtk-default-iso-8859-7" {
9fcb0f8
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
9fcb0f8
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-7,\
9fcb0f8
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-7,*-r-*"
9fcb0f8
+}
9fcb0f8
+class "GtkWidget" style "gtk-default-iso-8859-7"
9fcb0f8
+