|
こんにちは。秀丸愛用者の「でるもんた・いいじま」です。
テキスト中にある「Shift_JISの範囲外の文字」ぜんぶに色をつけて
表示させたいと考えています。現在は下記のような検索をしています
(そのうちマクロとして書き起こす予定です)。
検索(S):[^\x01-\x80\xA0-\xDF\x81\x40-\xFCFC]
・「単語の検索(W)」OFF
・「正規表現(R)」ON
・「あいまい検索(F)」OFF
・「検索文字列を強調(I)」ON
・「検索したら閉じる(D)」ON
とりあえず、マクロの findspecial と比べてもこれがベストかなと
考えているのですが、もしかしてどなたか、何かもっとスマートな
方法をご存じないでしょうか? ご存知でしたらぜひ教えてください。
☆ ☆ ☆
以下余談ですけど、この操作をしようとしている背景について。
最近はブログの投稿やツイッターの記事などで、主にスマホユーザーと
思われる人たちが、Shift_JISの範囲外の文字をどんどん使っています。
かくいう私自身も、ブログ等へのコメントやツイッターへの投稿など
「Unicodeの文字のほぼ全部を読み書きできることが前提の領域」では、
ハートマークなどの記号類、あるいは上付き・下付き文字などをけっこう
使っています。
で、そういう状況なのですが、そういうものをコピペしてファイルに
保存する際、ぜんぶUTF-8にしてしまえば話は簡単なのですが、どうも
20世紀の脳ミソにとっては、全面的なUTF-8化には抵抗があります。
もし、既存の文字に置き換えることで情報を損なわずにShift_JISで
保存できるなら、できるだけShift_JISで保存したいと考えています。
たとえば、「!?」の2文字が全角1文字の枠に納まった文字(コード
ポイントはU+2049;本来の存在理由は、縦書き印刷用のデータを
テキストファイルで入稿することでしょう)があったら、ASCIIの
「!」と「?」の2文字の組み合わせに置き換えて保存したいと考えて
います。
でも、Unicodeには膨大な数の文字があるので、すべての文字について
Shift_JISへの置換先を(もしくは置換できない旨を)指定するのは、
物理的に不可能です。
ちなみに今のところはデータ量が少ないので、「Unicode文字を目視で
さがすのは根本的に無理だが、一括検索して手作業で修正する程度なら
まったく苦にならない」という状態です。もう少しデータ量が増えるよう
であれば、頻出の文字については自分用にチューンした変換テーブルを
用意しようと思っています。
☆ ☆ ☆
ではでは。
|
|