[Date Prev][Date Next][Thread Prev][Thread Next][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 = した場合は、次の画像のよう
になるのです。
--
Shinichiro HIDA shinichiro@xxxxxxxxxxxxx
GPG fingerprint = 5F2D 1656 FFF6 F691 A51C 5E61 E416 D398 470C 1CE9