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

Re: w3m-ucs-e21



>> On Sat, 12 Jul 2003 10:30:24 +0900
>> "ari" == ari@mbf.sphere.ne.jp (ARISAWA Akihiro) said as follows:

ari> 21.3.50 であっても Mule-UCS がロードされていれば、従来からの
ari> Mule-UCS を使った w3m-euc-japan を使うのが良いかなと考えていまし
ari> た。

ああ,なるほど.以前からの設定とかを捨てられない人がいるかも知れません
からね.

ari> Mule-UCS がロードされて無ければ、21.3.50 以上では件の 
ari> w3m-euc-japan を使うので良いと思うのですが、21.3 以前でも 
ari> iso-8859-* の文字だけからなる utf-8 なページを見るには使えそうに
ari> 思います。

ari> ということで、以下のようなオプションを追加して、w3m-ucs.el ではオ
ari> プションによって場合分けしようかと思いますが、どうでしょう。

基本的に賛成です.

ただ,オプションの意味については若干の議論の余地があると思います.基本
的には,Emacs 内蔵の encoder が利用できる時はそれを使い,Mule-UCS の 
encoder が利用できる時はそれを使うというように,その時々の環境でできる
最善の処理を行うようになっているのが良いのではないかと思います.

そう考えると,オプションと切り分けのロジックは以下のようになるのではな
いでしょうか.

  (defcustom w3m-use-unicode
    (or (eq w3m-type 'w3m-m17n)
        (eq w3m-type 'w3mmee)
        w3m-use-mule-ucs
        (boundp 'utf-subst-table-for-encode)
        (coding-system-p 'mule-utf-8))
    "*Non nil means supporting Unicode characters."
    :group 'w3m
    :type 'boolean)

  (when w3m-use-unicode
    (when (eq w3m-type 'w3m)
      (if w3m-use-mule-ucs
          (Mule-UCS の encoder を使う)
        (if (boundp 'utf-subst-table-for-encode)
            (Emacs 内蔵の encoder を使う)
          (if (coding-system-p 'mule-utf-8)
              (Emacs 内蔵の encoder を使って,iso8859-* の文字だけをな
               んとか表示する)
            ;; どうにもならないので,諦める
            (setq w3m-use-unicode nil))))))

;; これだと,w3m-m17n / w3mmee を使っている時に,(setq w3m-use-unicode
;; nil) した場合は,どういう風に動くべきなんでしょうね?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )