From: TAKADA Toshihiro (高田敏弘) <takada@seraph.ntt.jp>
Real-Date: Tue, 11 Jan 1994 23:37:29 +0900
Subject: [infotalk,00681] Re: L10N-Mosaic for X 2.1 
Message-Id: <9401111437.AA12471@seraph.ntt.jp>


高田です。

In <infotalk:00679> "Youichi Watanabe <youchan@se.fujitsu.co.jp>"-san writes:
> > PS 出力を Multi-Localization する予定はありますか ?
> > # とりあえず日本語が使えれば嬉しいのですが、酷なお願いでしょうか...
> うちのプロジェクトで作った日本語patchです。libhtmlwのしだで
> お使い下さい。

すんばらしい!!!

ちょっと手直しして、早速組み込みました。手直ししたのは、
  ・Font指定 != Japanese の時はオリジナルと同じ動作にする。
  ・PSprintf("%x%x ",*data++,*data++); は評価順未定義なので...
の2点です。

L10Nの方は、今、他の所も工事中なので、これを含んだ版がFTP server
に載るのは、もうちょっと後になります(_o_)。

--------
In <infotalk:00680>
	"Seigo Yasutome (安留誠吾) <yasutome@ics.es.osaka-u.ac.jp>"-san writes:
> NEWS-OS 4.2.1R で Document Title に日本語がでるようにしてもらいました. 
> 					>さんくす 山本(y-yamamt)@阪大
> 日本語以外は試していませんが多分大丈夫だと思います. 

どうもありがとうございます。

しかしこれで動くっつーことは、これもやっぱしメーカー独自の拡張だなぁ...
何だかなぁ... NEWS-OS 6.? だとまた話が違ったりするのではないかなぁ...
しくしくだなぁ... ちなみに、

> :> Document TitleやDocument Sourceで日本語等が出る/出ないの問題は未だに

問題は X11R[4|5] + Motif-1.[1|2] + OS-locale の迷宮にずっぽし嵌まり
込んでしまってどーにもなりません。(;o;)(;o;)(;o;)

# だから locale はキライなんだぁぁぁぁぁ (錯乱)

> www-users ML への登録はどなたにお願いすればよろしいのでしょうか?

これは www-users-request@iij.ad.jp で良いと思います。

そいでわ。

========================================================================
NTT基礎研究所 情報科学研究部                                 高田敏弘
<http://www.ntt.jp/people/takada/>                  takada@nttlab.ntt.JP
========================================================================


From: Seigo Yasutome (安留誠吾) <yasutome@ics.es.osaka-u.ac.jp>
Real-Date: Tue, 11 Jan 1994 10:53:44 +0900
Subject: [infotalk,00680] Re: L10N-Mosaic for X 2.1 
Message-Id: <9401110153.AA02916@may.ics.es.osaka-u.ac.jp>


安留@阪大です. 

いつも www.ntt.jp を利用させていただいています _o_

Regarding [infotalk,00672] L10N-Mosaic for X 2.1; TAKADA Toshihiro (高田敏弘 ) <takada@seraph.ntt.jp> adds:

:> Document TitleやDocument Sourceで日本語等が出る/出ないの問題は未だに
:> 解決していません。その後どなたかMotifのLabel/Text Widgetで多国語を出
:> す方法が分かった方はいらっしゃいますでしょうか。どなたかアドバイス下
:> さい。よろしくお願いします。

NEWS-OS 4.2.1R で Document Title に日本語がでるようにしてもらいました. 
					>さんくす 山本(y-yamamt)@阪大

日本語以外は試していませんが多分大丈夫だと思います. 

www-users ML への登録はどなたにお願いすればよろしいのでしょうか?

---
安留  誠吾	大阪大学情報処理教育センター
		yasutome@rd.ecip.osaka-u.ac.jp

--- Mosaic-2.1-l10n/src/main.c	Fri Jan  7 12:42:44 1994
+++ Mosaic-2.1-l10n-sony/src/main.c	Mon Jan 10 17:39:50 1994
@@ -60,6 +60,7 @@
 
 #include "mosaic.h"
 #include <signal.h>
+#include <locale.h>
 
 void mo_exit (void)
 {
@@ -154,6 +155,8 @@
 
 main (int argc, char **argv)
 {
+setlocale(LC_CTYPE, "");
+XtSetLanguageProc(NULL, NULL, NULL);
   signal (SIGBUS, FatalProblem);
   signal (SIGSEGV, FatalProblem);
   signal (SIGILL, FatalProblem);
--- Mosaic-2.1-l10n/src/gui-menubar.c	Fri Jan  7 12:46:07 1994
+++ Mosaic-2.1-l10n-sony/src/gui-menubar.c	Mon Jan 10 18:27:07 1994
@@ -987,7 +987,7 @@
 XmFontList
 wrapFontList(int size)
 {
-  char *fname1, *fname2;
+  char *fname1, *fname2, *charset1, *charset2;
   XFontStruct *fstruct1, *fstruct2, *fstruct3;
   XmFontList flist;
 
@@ -995,43 +995,59 @@
   switch (size) {
   case mo_charset_iso_8859_2:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-2");
+    charset1 = charset2 = "ISO8859-2";
     break;
   case mo_charset_iso_8859_3:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-3");
+    charset1 = charset2 = "ISO8859-3";
     break;
   case mo_charset_iso_8859_4:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-4");
+    charset1 = charset2 = "ISO8859-4";
     break;
   case mo_charset_iso_8859_5:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-5");
+    charset1 = charset2 = "ISO8859-5";
     break;
   case mo_charset_iso_8859_7:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-7");
+    charset1 = charset2 = "ISO8859-7";
     break;
   case mo_charset_iso_8859_8:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-8");
+    charset1 = charset2 = "ISO8859-8";
     break;
   case mo_charset_iso_8859_9:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-9");
+    charset1 = charset2 = "ISO8859-9";
     break;
   case mo_charset_koi8:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "koi-1");
+    charset1 = charset2 = "KOI-1";
     break;
   case mo_charset_jis:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "jisx0208");
+    charset1 = "ISO8859-1";
+    charset2 = "JISX0208.1983-0";
     break;
   case mo_charset_gb:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "gb2312");
+    charset1 = "ISO8859-1";
+    charset2 = "GB2312.1980-0";
     break;
   case mo_charset_big5:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "big5");
+    charset1 = "ISO8859-1";
+    charset2 = "BIG5.HKU-0";
     break;
   case mo_charset_ksc:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "ksc5601");
+    charset1 = "ISO8859-1";
+    charset2 = "KSC5601.1987-0";
     break;
   case mo_large_fonts:
   case mo_regular_fonts:
@@ -1047,6 +1063,7 @@
   case mo_small_lucidabright:
   default:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
+    charset1 = charset2 = "ISO8859-1";
     break;
   }
 
@@ -1072,12 +1089,14 @@
       fprintf(stderr, "Could not open font: '%s'\n", fname1);
       fstruct1 = CachedLoadQueryFont(dsp, "fixed");
   }
-  flist = XmFontListCreate(fstruct1, XmSTRING_DEFAULT_CHARSET);
+  /* flist = XmFontListCreate(fstruct1, XmSTRING_DEFAULT_CHARSET); */
+  flist = XmFontListCreate(fstruct1, charset1);
   if ((fstruct2 = CachedLoadQueryFont(dsp, fname2)) == (XFontStruct *)NULL) {
       fprintf(stderr, "Could not open font: '%s'\n", fname2);
       fstruct2 = CachedLoadQueryFont(dsp, "fixed");
   }
-  flist = XmFontListAdd(flist, fstruct2, XmSTRING_DEFAULT_CHARSET);
+  /* flist = XmFontListAdd(flist, fstruct2, XmSTRING_DEFAULT_CHARSET); */
+  flist = XmFontListAdd(flist, fstruct2, charset2);
 #endif /* OPENWARE */
   
   return(flist);



From: Seigo Yasutome (安留誠吾) <yasutome@ics.es.osaka-u.ac.jp>
Real-Date: Tue, 11 Jan 1994 10:53:44 +0900
Subject: [infotalk,00680] Re: L10N-Mosaic for X 2.1 
Message-Id: <9401110153.AA02916@may.ics.es.osaka-u.ac.jp>


安留@阪大です. 

いつも www.ntt.jp を利用させていただいています _o_

Regarding [infotalk,00672] L10N-Mosaic for X 2.1; TAKADA Toshihiro (高田敏弘 ) <takada@seraph.ntt.jp> adds:

:> Document TitleやDocument Sourceで日本語等が出る/出ないの問題は未だに
:> 解決していません。その後どなたかMotifのLabel/Text Widgetで多国語を出
:> す方法が分かった方はいらっしゃいますでしょうか。どなたかアドバイス下
:> さい。よろしくお願いします。

NEWS-OS 4.2.1R で Document Title に日本語がでるようにしてもらいました. 
					>さんくす 山本(y-yamamt)@阪大

日本語以外は試していませんが多分大丈夫だと思います. 

www-users ML への登録はどなたにお願いすればよろしいのでしょうか?

---
安留  誠吾	大阪大学情報処理教育センター
		yasutome@rd.ecip.osaka-u.ac.jp

--- Mosaic-2.1-l10n/src/main.c	Fri Jan  7 12:42:44 1994
+++ Mosaic-2.1-l10n-sony/src/main.c	Mon Jan 10 17:39:50 1994
@@ -60,6 +60,7 @@
 
 #include "mosaic.h"
 #include <signal.h>
+#include <locale.h>
 
 void mo_exit (void)
 {
@@ -154,6 +155,8 @@
 
 main (int argc, char **argv)
 {
+setlocale(LC_CTYPE, "");
+XtSetLanguageProc(NULL, NULL, NULL);
   signal (SIGBUS, FatalProblem);
   signal (SIGSEGV, FatalProblem);
   signal (SIGILL, FatalProblem);
--- Mosaic-2.1-l10n/src/gui-menubar.c	Fri Jan  7 12:46:07 1994
+++ Mosaic-2.1-l10n-sony/src/gui-menubar.c	Mon Jan 10 18:27:07 1994
@@ -987,7 +987,7 @@
 XmFontList
 wrapFontList(int size)
 {
-  char *fname1, *fname2;
+  char *fname1, *fname2, *charset1, *charset2;
   XFontStruct *fstruct1, *fstruct2, *fstruct3;
   XmFontList flist;
 
@@ -995,43 +995,59 @@
   switch (size) {
   case mo_charset_iso_8859_2:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-2");
+    charset1 = charset2 = "ISO8859-2";
     break;
   case mo_charset_iso_8859_3:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-3");
+    charset1 = charset2 = "ISO8859-3";
     break;
   case mo_charset_iso_8859_4:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-4");
+    charset1 = charset2 = "ISO8859-4";
     break;
   case mo_charset_iso_8859_5:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-5");
+    charset1 = charset2 = "ISO8859-5";
     break;
   case mo_charset_iso_8859_7:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-7");
+    charset1 = charset2 = "ISO8859-7";
     break;
   case mo_charset_iso_8859_8:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-8");
+    charset1 = charset2 = "ISO8859-8";
     break;
   case mo_charset_iso_8859_9:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-9");
+    charset1 = charset2 = "ISO8859-9";
     break;
   case mo_charset_koi8:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "koi-1");
+    charset1 = charset2 = "KOI-1";
     break;
   case mo_charset_jis:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "jisx0208");
+    charset1 = "ISO8859-1";
+    charset2 = "JISX0208.1983-0";
     break;
   case mo_charset_gb:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "gb2312");
+    charset1 = "ISO8859-1";
+    charset2 = "GB2312.1980-0";
     break;
   case mo_charset_big5:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "big5");
+    charset1 = "ISO8859-1";
+    charset2 = "BIG5.HKU-0";
     break;
   case mo_charset_ksc:
     fname1 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
     fname2 = GetFontName(Rdata.textfieldFontSet, "ksc5601");
+    charset1 = "ISO8859-1";
+    charset2 = "KSC5601.1987-0";
     break;
   case mo_large_fonts:
   case mo_regular_fonts:
@@ -1047,6 +1063,7 @@
   case mo_small_lucidabright:
   default:
     fname1 = fname2 = GetFontName(Rdata.textfieldFontSet, "iso8859-1");
+    charset1 = charset2 = "ISO8859-1";
     break;
   }
 
@@ -1072,12 +1089,14 @@
       fprintf(stderr, "Could not open font: '%s'\n", fname1);
       fstruct1 = CachedLoadQueryFont(dsp, "fixed");
   }
-  flist = XmFontListCreate(fstruct1, XmSTRING_DEFAULT_CHARSET);
+  /* flist = XmFontListCreate(fstruct1, XmSTRING_DEFAULT_CHARSET); */
+  flist = XmFontListCreate(fstruct1, charset1);
   if ((fstruct2 = CachedLoadQueryFont(dsp, fname2)) == (XFontStruct *)NULL) {
       fprintf(stderr, "Could not open font: '%s'\n", fname2);
       fstruct2 = CachedLoadQueryFont(dsp, "fixed");
   }
-  flist = XmFontListAdd(flist, fstruct2, XmSTRING_DEFAULT_CHARSET);
+  /* flist = XmFontListAdd(flist, fstruct2, XmSTRING_DEFAULT_CHARSET); */
+  flist = XmFontListAdd(flist, fstruct2, charset2);
 #endif /* OPENWARE */
   
   return(flist);