Unicode 制御文字の扱いについてNo.23757
MIA さん 07/10/03 23:49
 
Unicode(UTF-8)モードにおいて、U+001B を含むファイルを
読み込んだ場合に、該当文字が削除されてしまうのですが、
この処理の有無を選択する方法はありませんでしょうか?

U+001B 以外の制御コードは消されませんので、この文字だけ
捨てる専用の処理が入っているような感じです。

なお、制御コード入力で U+001B 等を入力して保存した場合は、
正しくファイルに出力されます(再度読むと消えますが…)。

[ ]
RE:23757 Unicode 制御文字の扱いについてNo.23760
秀丸担当 さん 07/10/04 11:08
 

>Unicode(UTF-8)モードにおいて、U+001B を含むファイルを
>読み込んだ場合に、該当文字が削除されてしまうのですが、
>この処理の有無を選択する方法はありませんでしょうか?

確かに、UTF-8の読み込みで、1Bがあった場合は認識エラーとなるようになって
いて、読み込みを飛ばすようになっていました。
認識エラーになるとしても読み込みを飛ばすのはまずいので、すぐに修正させて
いただきます。

[ ]
RE:23760 Unicode 制御文字の扱いについてNo.24458
MIA さん 08/02/07 17:00
 
Ver7.03 での対応、ありがとうございました。

現在 Ver7.07 を使用していますが、U+001B を含む UTF-8 ファイルの
読み込み時に、文字コードの自動認識が正しく行われないようです
(Shift-JIS 扱いになってしまう)。

他の制御コードでは問題は出ませんので、親記事と同じような
特殊処理が自動認識部分に残っているようなのですが、
上記の件調査していただいてもよろしいでしょうか?

お手数をお掛けしてしまってすみませんが、よろしくお願いします。

[ ]
RE:24458 Unicode 制御文字の扱いについてNo.24459
秀丸担当 さん 08/02/07 17:54
 

>現在 Ver7.07 を使用していますが、U+001B を含む UTF-8 ファイルの
>読み込み時に、文字コードの自動認識が正しく行われないようです
>(Shift-JIS 扱いになってしまう)。

UTF-8の場合は、Esc(0x1B)があると認識エラーになっています。
Shift-JISとEUCの場合は、Esc単体ではOKですが、、Esc '$' または Esc '(' と
いう並びでJISのエスケープシーケンスと思わしき場合は認識エラーにしてあっ
て、さらにShift-JISの場合は、旧vodafoneのウェブコードの場合は認めるなど、
複雑な判定もしています。
UTF-16の場合は、制御コードの判断はありません。
これ以外のエンコードもEscをエラーにしてあります。

UTF-8の場合も、Esc '$' または Esc '(' の判定にすると、Shift-JISとほぼ同
じになるので、そのように修正させていただきます。

現状で回避するには、明示的にUTF-8を選んで読み込んで、認識エラーが出たと
きに「変換できなかった文字にジャンプする」か「キャンセル」をすると、とり
あえず読み込むことができると思います。
[その他]→[動作環境]→[エンコード2]→[開くときのエンコードの種類関連]で
変換できない文字があったとき警告メッセージを表示]をOFFにすると、認識エ
ラーを出さないようにすることもできます。

[ ]