[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00092] Re: Q:tserver & EUC-TW Locale
- To: freewnn@tomo.tomo.gr.jp
- Subject: [freewnn:00092] Re: Q:tserver & EUC-TW Locale
- From: KATAYAMA Yoshio <kate@XXXX>
- Date: Thu, 19 Aug 1999 19:40:25 +0900
- In-Reply-To: Your message of Fri, 13 Aug 1999 00:50:10 +0900. <199908121552.AAA01583@smtp2.dti.ne.jp>
- Reply-To: freewnn@tomo.gr.jp
- Sender: kate@XXXX
片山@PFUです。
Date: Fri, 13 Aug 1999 00:50:10 +0900
From: Tsukasa Kishi <t-kishi@sol.dti.ne.jp>
>んーSunOS&X11R5ですか、この組合わせは、XLOCALEを使っているんでしょうか?
これは -DX_LOCALE でコンパイルしているかという意味でしょうか。そ
うでしたら、yes です。
>だとしたら、うちも一度、X11R5時代のLinuxパッケージを入れて実験してみる必要
>があるかなー?
SunOS + X11R5 の xwnmo を X11R6 サーバー上で動かして、X11R6 の
kterm で入力できるか試してみたのですが、ダメでした。
クライアントも X11R5 なら入力できましたので、全クライアントを
X11R5 にするなら意味があると思いますが、、、
>>FreeBSD もあるのですが、こちらは zh_TW は手つかずです。
>以前に、libcの国際化については、linuxよりもFreeBSDの方が進んでいると聞いた
>ことがあるんですが、zh_TWは、まだなんですね。
FreeBSD の場合、何故か -DX_LOCALE が付きませんので、setlocale は
libc のものを使い、そのため /usr/share/locale を見に行きます。
/usr/share/locale には zh_CN、zh_TW ともに入っていませんでした。
zh_CN の方は man mklocale のサンプルを見て作りました。
# xwnmo では中身は何でもいいみたいで、ja_JP にリンクするだけで
#も動きました(^^;
X11R6/lib/X11/locale には zh も zh_TW もあるのですが、どちらもマッ
トウな locale です。つまり、cWnn で使っている omron_udc_zh(四声
と注音の文字集合)が入っていません。
xwnmo や X のクライアントは、こちらも見に行きますので、zh の
XLC_LOCALE に omron_udc_zh の定義を追加してみたのですが、X11R5
のクライアントのためかうまくいかず、FreeBSD 2.1.7 の時の
XLC_LOCALE で無理矢理動かしています。
# X11R5 と FreeBSD 2.1.7 の時の X は wchar が 16 ビットなのです
#が、今の FreeBSD の X の wchar は 32 ビットです
#でも、ja_JP と ko_kR は動いているのが不思議、、、
ここの FreeBSD + X11R6 で make した xwnmo は、kterm から繋ぐと大
抵落ちてしまうなど、動作が安定していませんので、きちんと make で
きていないのかも知れません。
こんな状況なので、zh_TW は手つかずままというわけです。(^^;;;
>それから、Linuxのglibc2では、
>WCSとして、Unicodeがつかわれていますが、FreeBSDではどうなんでしょうか?
まだ調べていないのですが、man mklocale を見ると EUC と UTF2 をサ
ポートしているようです。で、man utf2 を見ると、UCS-2 の範囲しか
サポートしていないようです。:-(
>すいません、間違って書いてますね私。ここらへんは、手元にある「マルチリンガル
>環境の実現」しか頼れる資料が無いんですよね。
この本には Wnn で使っているコードについて書かれていないようです。
僅かに“EUC プロセスコード”と“Yincode”という記述がありますが、
詳しい記述はないようです。
#本を戴いておきながら、文句言って済みません(_ _)>戸村さん
>>CS3 に第2面を割り当てているのは Big5 との変換のためですが、Wnn 4.2 の辞書
>>は第1面の文字しか使っていないようです。
>ここなんですが、もしも、辞書ファイルを直接イジって、第2面の文字を追加したい
>ときには、通常のEUC-TWとして、3バイトコードを使うのでしょうか、それとも、0x8E
>を使った2バイトコードでファイルを作成するんでしょうか?また、私のところでは、
次のような EUC エンコードになります。
G0 (0x20 〜 0x7f) ASCII
G1 (0xa1 0xa1 〜 0xfe 0xfe) CNS 11643-1
G2 (0x8e 0xa1 〜 0x8e 0xfe) omron_udc_zh
G3 (0x8f 0xa1 0xa1 〜 0x8f 0xfe 0xfe) CNS 11643-2
#個人的には euc-twnn と呼んでいます(^^;
>EUC-TWを表示できるTerminalが無く、Emacs20.3においてもEUC-TWのファイルが編集
>出来ないのですが、片山さんのところでは、どういったツールを使っているのか教えて
>頂きたいです。
cWnn で使っている EUC については coding-system を自作して使って
います。
――――ここから――――ここから――――ここから――――ここから――――
(cond
;; Mule 3.0 (Emacs 20)
((>= (aref mule-version 0) ?3)
(make-coding-system
'cwnn-iso-8bit 2 ?C
"ISO 2022 based EUC encoding for cWnn"
'(ascii chinese-gb2312 chinese-sisheng nil
short ascii-eol ascii-cntl nil nil single-shift)
'((safe-charsets ascii chinese-gb2312 chinese-sisheng)))
(define-coding-system-alias 'euc-cwnn 'cwnn-iso-8bit)
(make-coding-system
'twnn-iso-8bit 2 ?T
"ISO 2022 based EUC encoding for tWnn"
'(ascii chinese-cns11643-1 chinese-sisheng chinese-cns11643-2
short ascii-eol ascii-cntl nil nil single-shift)
'((safe-charsets ascii chinese-cns11643-1 chinese-cns11643-2 chinese-sisheng)))
(define-coding-system-alias 'euc-twnn 'twnn-iso-8bit))
;; Mule 2.3
(t
(make-coding-system
'*euc-taiwan* 2
?T "Coding-system of Tiwanese CNS 11643 EUC"
t
(list lc-ascii lc-cns1 lc-sisheng lc-cns2
'short 'ascii-eol 'ascii-cntl))))
――――ここまで――――ここまで――――ここまで――――ここまで――――
euc-twnn(Mule 2.3 では *euc-taiwan*)が、それです。
euc-cwnn に対応する Mule 2.3 の coding-system がありませんが、
*euc-china* で lc-sisheng が使えるようになっているからです。
#ですから、*euc-china* はEUC-CN より拡張された形になっています
EUC-TW のファイルは見たことがありませんので、その coding-system
は作っていません。作っても大したことではないのですが、、、
--
片山@PFU