2014年11月6日

メモ帳で「ー」を置換すると「々」も置換される


Windowsのメモ帳である文章の「ー(全角長音記号)」を「-(半角ハイフン)」に置換したところ「ー」は正常に置換されたが「々」も同じように置換されると連絡を受けました。



まず思いついたのが1文字目の後半バイトと2文字目の前半バイトを1文字と誤認識しているのではないか?ということでした。文字の区切りを誤認識した場合、元の1文字目・2文字目は1バイトずつ分断されますので、文字化けが発生します。
しかしながら今回は「ー」や「々」がきっちり置換され、文字化けもありませんので、これが原因ではないと判断しました。

別のパソコンで同じ操作をしたところ、そのような事象が発生しなかったのですが、さらに別のパソコンで操作したところ再現されました。いくつかやてみると次のことがわかりました。

Windows 7 , 8.1 → 再現
Windows Vista → 再現されず

IMEの問題かとも思い、IMEを変えて確認してみましたが関係なさそうです。

こんなときは検索!検索!
すぐに出てきました。

*****************************************************
Excelにて長音記号「ー」を検索・置換するときに同等に扱われる文字









・大文字と小文字を区別する
・半角と全角を区別する

両方にチェックを入れることで回避できる
*****************************************************

実際にExcel(2010)でやってみると、上記のとおりでした。
意図的にやっているようですね。Microsoftさんは気を利かせているようですが、おせっかいと思う人の方が多いのでは?他にも同様に同じとみなす文字セットがありそうです。
デフォルトでチェックを入れておくべき(デフォルトではチェックが入っていません)ではないかと思いますが、とりあえず回避方法はありますので我慢できます。

Word(2010)でやってみると、デフォルト状態での検索・置換は「ー」と一致するのは「ー」だけでした。
オプションで「あいまい検索(日)」にチェックをいれると「ー」と一致するのは「ー」と「―」になります。
これはまっとうな動作だと思います。

Wordpadでやってみると、デフォルト状態での検索・置換はメモ帳と同様に全てにヒットしました。
「大文字と小文字を区別する」にチェックと入れると「ー」と一致するのは「ー」だけでした。
あれ?やればできるじゃん!

問題はメモ帳です。
検索オプションには「大文字と小文字を区別する」しかなく、これをいじっても変化ありませんでした。そうすると回避方法がありません。他のエディタを使うようにお願いしました。

Office系のアプリはいいのです。多機能が売りの部分がありますから。でもメモ帳!テメーはダメだ!おとなしくテキストエディタに専念してろ!
同じメモ帳でもOSによって動作が違うことからOSがなにかやっているのかもしれません。
Wordpadとメモ帳とで動作が違うのも意味不明です。もしかしてメモ帳のバグ?

0 件のコメント:

コメントを投稿