機種依存文字の強調表示No.13129
でるもんた さん 02/10/14 04:22
 
いつもお世話になっております。

Windowsの機種依存文字を強調表示しようと思い、いろいろ試しているのですが、
一部、\xNN 表記で書かないとうまくいかない文字があります。

ファイルタイプ別の設定→強調表示、で、
[@-兢(←SJISコードで8740-8799)と指定をすると該当の文字にマッチしますが、
[@-∪](←SJISコードで8740-879C)ではダメで、この場合、[@-\x87\x9C]のよう
に書かないとマッチしてくれません。

同様に、SJISコードED40-EEFCの文字も\xNNで書かないとダメです。
(FA40-FC4Bの文字はそのまま書いてもOK。)

不思議なことに、検索の場合には[@-∪]と書いてもED40-EEFCの文字をそのまま
入力してもマッチします。

(ただし、ATOKやMS IMEからED40-EEFCの文字を入力しようとすると、対応する
FA40-FC4Bの文字に置き換えられて入力される=これはATOKやMS IMEの仕様=ので、
別途用意した文字コード表から切り貼りしました。)

これは仕様でしょうか、バグでしょうか?
私の予想では、Windows内部でのSJIS→Unicode→SJISの変換処理が悪さをして
いるように思えるのですが…

当方のバージョンは 3.08(古い(^^;))で、検索ダイアログには JRE32.DLL
V1.17 と表示されております。

[ ]
RE:13129 機種依存文字の強調表示No.13131
秀丸担当 さん 02/10/15 18:40
 
>ファイルタイプ別の設定→強調表示、で、
>[@-兢(←SJISコードで8740-8799)と指定をすると該当の文字にマッチしますが、
>[@-∪](←SJISコードで8740-879C)ではダメで、この場合、[@-\x87\x9C]のよう
>に書かないとマッチしてくれません。

おそらく、「∪」の文字が\x81beの文字になっているのではないかと思います。
おっしゃる通り、SJIS→Unicode→SJISの変換が行われているためです。
検索でも同様のはずで、できるというのは変です。
検索でできるとしたら、あらかじめ\x879cの文字が秀丸の編集画面にあるとき、
それを範囲選択して検索して、検索文字列の取得をすることで、検索は可能だ
と思います。
申し訳ありませんが、仕様とさせてください。
[@-\x87\x9C]のように書くのがいいと思います。

[ ]
RE:13131 機種依存文字の強調表示No.13132
でるもんた さん 02/10/15 20:23
 
> おそらく、「∪」の文字が\x81beの文字になっているのではないかと思います。
> おっしゃる通り、SJIS→Unicode→SJISの変換が行われているためです。

> 申し訳ありませんが、仕様とさせてください。
> [@-\x87\x9C]のように書くのがいいと思います。

ありがとうございました。このへんの文字は文字を直接書くより文字コードで
表記する方がわかりやすいので、そうすることにします。

やはりこのへんの Unicode まわりは鬼門だ…

[ ]