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

Re: Correct? Display Horizontal Ellipsis on UTF-8 env



飛田です。

>>>>> In [emacs-w3m : No.09456] 
>>>>>	Tatsuya Kinoshita <tats@xxxxxxxxxxxxxx> wrote:
> On May 21, 2007, [emacs-w3m:09455],
> shinichiro (at stained-g.net) wrote:

> > ;; 中途半端になってしまっており申し訳ありません。
> > 
> > utf-translate-cjk-set-unicode-range の話で、xterm (uxterm) に
> > `-cjk_width' オプションをつけてその上で `emacs -nw' した場合、カーソル
> > の動きがおかしくなる(2カウントする)文字が出現するケースについてです。
> [...]
> > おそらく、`xterm -cjk_width' で起動した場合、一部の文字でその幅と文字数
> > のカウントの対応がおかしくなるようで、先の問題もこの影響を受けているの
> > だと思います。
> > 
> > utf-8 で編集したテキストファイルを添付しますので、よろしければこれで試
> > してみて下さい。

> はい。試しましたが、何をおっしゃりたいのか、よくわかりません。

お手数をかけてしまい申し訳ありません。_o_

Emacs の動きは正しいのだと思います。しかし、手元では xterm の
`-cjk_width' オプションの動きがおかしいので、その上で `emacs -nw' した
場合もそれを引き継いでカーソルの動きがおかしくなるように見えるのですが..

> 手元のEmacs 22では、utf-translate-cjk-set-unicode-rangeに#x00e0,
> #x00e1等を加えれば、それらはjapanese-jisx0212として扱われ、
> xterm -cjk_widthでの扱いと一致するようになります。

> 飛田さんの環境ではそのようにならないのでしょうか。

> お返事をいただけていない[emacs-w3m:09376]での質問を再掲しておきます。

まず、これにお答えしなければならなかったですね。

> On April 13, 2007, [emacs-w3m:09376],
> tats (at vega.ocn.ne.jp) wrote:

> > On April 13, 2007, [emacs-w3m:09375],
> > shinichiro (at stained-g.net) wrote:
> [...]
> > > やはり、utf-translate-cjk-set-unicode-range の有無に係わらず、2カ
> > > ウントしてます。
> > 
> > 「’」のところで`C-u C-x ='とすると、どのように表示されますか?
> > 
> > 手元では、utf-translate-cjk-set-unicode-range有り(#x2019を含む)なら
> > 「charset: japanese-jisx0208」で無しなら「charset:
> > mule-unicode-0100-24ff」となり、想定どおりに動いているように見えます。

これは先にテストしていた時の私のミス[*1]で、木下さんのおっしゃる通り、

o #x2019 を含む場合:
  character: ' (53447, #o150307, #xd0c7, U+2019)
    charset: japanese-jisx0208 (JISX0208.1983/1990 Japanese Kanji: ISO-IR-87.)
 code point: #x21 #x47
     syntax: _  which means: symbol

o #x2019 を除外した場合:
  character: ' (342393, #o1234571, #x53979, U+2019)
    charset: mule-unicode-0100-24ff (Unicode characters of the range U+0100..U+24FF.)
 code point: #x72 #x79
     syntax: .  which means: punctuation

となりました。 

[*1] 該当の #x2019 だけを外さずに、のきなみ全体を無効有効で切替えてました。

で、#x2019 を utf-translate-cjk-set-unicode-range から除外すると、
`xterm -cjk_width' 上で `emacs -nw' した場合に、

>>>>> In [emacs-w3m : No.09361] 
>>>>>	Tatsuya Kinoshita <tats@xxxxxxxxxxxxxx> wrote:

[...]

> Emacs単独で使う場合には問題なさそうですが、たとえば、-cjk_width付き
> のxtermで使うなら、それに合わせる必要があります。上記の設定だと、
> U+2018, U+2019を表示すると、Emacsの動作はhalfwidthだけど表示はfullwidth、
> というふうになって、カーソルがずれてしまったりするものと思います。

この問題が起こりうまくない、という事だったかと思います。

しかし、これは utf-translate-cjk-set-unicode-range に U+2018, U+2019 が
含まれるか否か、という問題に限った話ではなくて、xterm の `-cjk_width'
オプションがどうもおかしいのではないかと思い、今回の utf8 のテキストを
添付したのです。

私の環境では、`-cjk_width' オプション付きの xterm 上で emacs -nw し、添
付したテキスト2行目を見ている状態で C-e すると、`t' の位置に飛んでしま
います。あるいは vi で $ すると、`s' にカーソルが移動します。

;; 行末よりもまだ先に文字が見える状態になってしまうのです。

添付したテキストに 2行追加してテストした物ですが、C-e して、`t' の位置
にカーソルがあるように見える状態で C-u C-x = した場合は、次の画像のよう
になるのです。

PNG image



-- 
  Shinichiro HIDA  shinichiro@xxxxxxxxxxxxx
  GPG fingerprint = 5F2D 1656 FFF6 F691 A51C  5E61 E416 D398 470C 1CE9