[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: how to setuo Mule-UCS
- X-ml-count: 1760
- Subject: Re: how to setuo Mule-UCS
- From: chiyu <ma11092c@xxxxxxxxxxxxxxxxx>
- Date: 17 Dec 1999 22:28:11 +0900
- User-agent: Nana-gnus/6.13.9 SEMI/1.13.5 (Meihō) FLIM/1.13.2 (Kasanui) Emacs/20.4 (i386-*-windows98.1998) MULE/4.1 (AOI) Meadow/1.10 (TSUYU)
こんにちは。chiyu(AKABA Nobuyuki)といいます。
> 次のような設定をしてみました。
> Meadow1.10 + Mule-UCS-0.62を使用しました。
>
> 実は、次のような不具合があります。
> 下のコードをevaluateした後、はじめて(既存の).javaファイルを
> find-fileすると、
> File mode specification error: (args-out-of-range 0 3)
> というエラーがエコーエリアに表示され、
> バッファ内もUnicode Escapesがdecodeされていません。
> そして、もう一度find-fileすると、以後は正しくdecodeされます。
UE-to-mule-bufferという関数の、replace-matchの部分を
以下のように変更したら、.javaファイルのはじめてのfind-fileでも
正しくdecodeされるようになりました。
どうして前回のだとうまくいかないのか、謎です。
(defun UE-to-mule-buffer nil ;Mule-UCS-0.62/lisp/un-define.el内のucs-to-charを使用
"Convert the current buffer from Unicode Escapes notation into mule characters."
(interactive "*")
(save-excursion
(save-restriction
(let (ucs-number)
(goto-char (point-min)) ;バッファの先頭へ。
(while (re-search-forward "\\\\u\\([0-9a-f][0-9a-f][0-9a-f][0-9a-f]\\)" nil t)
;JavaのUnicode Escapesを探す。
(setq ucs-number (string-to-number
(buffer-substring (match-beginning 1) (match-end 1)) 16))
(replace-match "")
(insert-char (ucs-to-char ucs-number) 1)))))) ;それをMule内部の文字に変換
それから、まったくの勘違いだったら申し訳ないのですが、
Mule-UCS-0.62を使用しているのですが、
un-define.el内の un-define-basic-translation-charset-order-list
という変数で、charsetの順番を変更して(ByteCompileして)も
その効果が現れないのですが、どうしてなのでしょう?
# そのための変数ですよね???
(tae-declare-translation
'unicode-basic-translation-rule
の部分で順番をかえれば、これは効果が現れます。
以上。おじゃましました。