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

Re: bug#4090: Bug#541704: emacs-snapshot ruins w3m-el-snapshot tables



From: ARISAWA Akihiro <ari@xxxxxxxxxxxxx> さん曰く
Subject: [emacs-w3m:11003] Re: bug#4090: Bug#541704: emacs-snapshot ruins w3m-el-snapshot tables
Message-ID: <87prastqea.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 19 Aug 2009 12:48:45 +0900

> tty な環境しかないのですが、手元の Emacs23 では、
>
>  <_SYMBOL TYPE=5> |</_SYMBOL>
>
> といった感じでスペース入りで halfdump され、ちゃんと枠が表示されました。
> これは w3m に East Asian Ambiguous パッチを当てているためですかね。
> http://www.j10n.org/files/w3m-cvs-1.914-ambwidth.patch

これはあてていないけど、手元では w3m/libwc/map/ucs_wide.map だけ
を単純に改造して、ぼくの emacs22(Meadow3) + Mule-UCS での文字幅
と完全に一致するようにはしていました。emacs23 とも合わさないとだ
めだなぁ〜〜。

# おかげで UTF-8 な mlterm で 'w3m -O utf8' すると表示が狂うけど
# 気にしていない ^^:;;

> しかし、<_SYMBOL TYPE=32> *</_SYMBOL> に対応する U+2022 はデフォルトでは
> (string-width (string #x2022)) => 1 なため、逆に2つ表示されちゃいました。
> (set-char-table-range cjk-char-width-table #x2022 2) を行えば
> 良いのですが、端末の都合もありますし…。

そうなのですよね。全部で正解!!というのがありえなさそうなのです
よね。

> ということで、
>
>> もし、だめだとすると、w3m 側を大変更して UTF-8 なときに width が
>> 2 で計算してもらうか、
>
> は、それだけではダメだし簡単に対応できないから、
>
>> emacs-major-version > 22 のときは、(setq w3m-use-symbol nil) にして、
>
> に一票。

(defcustom w3m-use-symbol
  (when (and (featurep 'mule)
	     (eq w3m-type 'w3m-m17n))
    (if (eq w3m-output-coding-system 'utf-8)
	(and (w3m-mule-unicode-p)
	     (or (featurep 'xemacs)
		 (< emacs-major-version 23))
	     'w3m-device-on-window-system-p)
      t))
  ....

で良いかな?反対がなければあとで CVS にあてちゃいます。

> ところで、日本語環境での Emacs23 の w3m-output-coding-system の
> デフォルトを iso-2022-7bit-ss2 から UTF-8 に変えようかと思って
> いたのですが、こうなると iso-2022-7bit-ss2 のままがよいのかも。

ずーーと、UTF-8 で生活してきたのだけど、まれに iso-2022-7bit-ss2
で表示した方が良いページにぶつかるぐらいですね(簡単に切り替えら
れるけど)。iso-2022-7bit-ss2 で生活していた時は逆のことを思った
ことがあるから、これも正解はないのかも。

けど、今回の問題も jidanni さんに指摘されるまで気づかなかったグ
ライ(なんか変?と思ったことはあるかも)だから、ザルの目だよな。

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