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

Re: [bookmark] characters are not representable in euc-japan



>>>>> In [emacs-w3m : No.04224] 
>>>>>	TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:

土> ただ,入力された文字列が euc-japan で表現できるかどうかを,

土> (string= string
土>          (decode-coding-string (encode-coding-string string 'euc-japan)
土>                                'euc-japan))

土> という式で判定しているのですが,もっといい方法はないでしょうか.

GNU Emacs であれば、`find-coding-systems-string' で容易に分かるようです。

(memq (car (coding-system-get 'euc-japan 'alias-coding-systems))
      (find-coding-systems-string string))

しかし XEmacs にはありませんね…。`find-charset-string' の返り値が
特定の charset で構成されているか調べるとかでしょうか。

(let ((charsets (find-charset-string string)))
  (while (and charsets
	      (memq (car charsets)
		    '(ascii latin-jisx0201 japanese-jisx0208
			    japanese-jisx0208-1978 katakana-jisx0201
			    japanese-jisx0212)))
    (setq charsets (cdr charsets)))
  (null charsets))

;; 今のままで良い気が(^^;

-- 
有沢 明宏