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

Re: utf-translate-cjk-mode



In article <u1xuqrchg.fsf@xxxxxxxxxxxxxx>, KOBAYASHI Yasuhiro <kobayays@xxxxxxxxxxxxxx> writes:
> こばやしです@NTemacs-cvs + IME-patch改です。
> utf-translate-cjk-mode で使用しているときに、全角記号
> 例えば!”#()等をutf-8で保存し、再度ファイルを開くと
> 半角の豆腐文字になってしまいます。

utf-translate-cjk-mode は mule-unicode-XXXX-YYYY のどの文字
セットにも格納できない Unicode文字を JIS/GB/BIG5/KSC 等に
translate するものなんですが、それらの記号は Unicode では 
U+FF0? にあり、mule-unicode-e000-ffff に格納できるため、 
JISX に translate されないのです。

例えば、以下を実行すればちゃんと表示はできるようになるはずで
す。

(require 'disp-table)

(dolist (elt '((#xff01 . ?!)
	       (#xff03 . ?#)
	       (#xff04 . ?$)
	       ;; ...
	       (#xff5e . ?〜)))
  (aset standard-display-table (decode-char 'ucs (car elt))
	(vector (cdr elt))))

でも、 mule-unicode-e000-ffff の文字の文字幅はすべて1なので
fill 等でちょっと不具合が発生します。

unify-8859-on-{en,de}coding-mode や utf-translate-cjk-mode 
等は基本的に Unicode ベースの Emacs がリリースされるまでの継
ぎのような機能だし、そもそも僕が作ったものでもなくまだコード
を完全には理解していないので、あまりこれに時間をかけたくない
というのが本音です。^.^;;;

ちなみに昨晩 CVS の emacs-unicode-2 という branch で Unicode 
ベースの Emacs (8月始めの HEAD をベース)を commit しまし
た。興味がある方は是非試してください。

−− けんちゃん@AIST
      handa@xxxxxxxx