[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:6897] mule-ucs



From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx> 曰く
Subject: Re: [MD:6897] mule-ucs
Message-ID: <20051018.132420.81460047.shirai.hideyuki@xxxxxxxxxxx>
Date: Tue, 18 Oct 2005 13:24:20 +0900 (JST)

> > (require 'jisx0213)

だけした状態だと、

(decode-char 'ucs #x0900) => nil 

になるのですね。で、(error "Invalid value for :char-spec :nil")
となると。本当は、

(decode-char 'ucs #x0900) => 334528

原因は (require 'jisx0213) する前の decode-char() は
international/mule.el で定義されていて、ちゃんと動くのだけど、
(require 'jisx0213) すると、mule-ucs/mucs.el で定義されている
decode-char() にかわる。しかし、その中で使っている
mucs-get-representation-decoding-backend() 内部の
'mucs-decoding-backend は、mule-ucs/unicode.el がロードされない
と、定義されないから nil になる。という感じのようです。

○ 案一
(decode-char 'ucs #x0900) の部分を

(if (fboundp 'ucs-to-char)
    (ucs-to-char '#x0900)
  (decode-char 'ucs #x0900))

に変える。ちょっと弱気かな。

○ 案二
Mule-UCS を変えて、ちゃんと decode-char() (と encode-char()) が
いつでも動くようにする。

案二がよいと思うのだけど、実現性が不明なので検討を続けますわん。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxx)