|
いいじまです。
現在、日本語の文章を中国語に翻訳する仕事をしています。
その関係で、GB2312のファイルを秀丸で扱っているのですが、
強調表示指定にASCII文字だけを指定していても、本来のGB2312にない文字
(第二バイトが0xA1〜0xFEになっていない文字;主に日本式の漢字)が
その正規表現に引っかかってしまって、表示が化けてしてしまいます。
再現手順
1.適当な日本語のテキストファイルを開く。
2.[ファイル(F)]→[エンコードの種類(D)]で簡体字中国語を選び、
「内容を維持したまま適用」を選ぶ。
たいていの場合は何も言われずにフォントだけ変わるはず。
3.強調指定を全て削除する。言語別自動色づけも「なし」にする。
この時点では、正常に表示される。
4.強調対象文字列として、正規表現で [ -~] を指定する。
ASCII文字は指定した強調状態で表示される。
GB2312に存在する文字はシステム文字色で正常に表示される。
日本漢字が「半角空白+2バイト目の文字」に化けて表示される。
5.この状態でも、「文字コード表示」コマンドを実行してみると内部的には
正しく格納されていることが確認できるし、カーソルも正しく動く。
これは仕様でしょうか、それとも不具合でしょうか。
現在、秀丸5.18を使用しております。
このへんの、2バイト目が0xA1〜0xFEになっていない文字の存在はWindowsの
拡張なのか、それとも何らかの規格があってそれに従っているのかちょっと
分からないのですが、できれば対応をお願いします。
#将来的にはGB18030にも…とか言ってみる。
|
|