概要
ここでは、HmCustomStringEncoder
の主な利用方法を解説していきます。
利用方
まずは、感覚を理解するため、デフォルトの設定でとにもかくにも利用してみましょう。
HmCustomStringEncorder.macのデフォルトの設定では「932」、
即ち、cp932(sjis)への「変換調査」となります。
-
適当にテキストを用意

と秀丸上で文字列があったとします。
ファイルに保存する必要はありません。
-
HmCustomStringEncorder.macを実行
実行すると、

というように、なります。
㊿のところが[U+32bf]となっています。(しかも赤くなっています)
「sjis(=コードページ932)」への変換調査でしたので、
「該当部分は、何も手を打たなければsjisへは変換出来ない、
そして変換出来なかった文字のUnicodeとしてのコード番号は「32bf」であることがわかります」
-
ユーザー定義で変換出来るようにする
HmCustomStringEncorder.macの
PushFallBackPairs:
{
call PushFallBackPair "㉑", "(21)";
call PushFallBackPair "\uD867\uDE3D", "ほっけ"; // 魚偏に花と書いてホッケ
call PushFallBackPair "♬", "♪"; // 音符を普通の♪に
call PushFallBackPair "🎶", "♪"; // 音符を普通の♪に
call PushFallBackPair "\u2049", "!?";
return;
}
の先頭に、以下のように1行付け加えてみましょう。
PushFallBackPairs:
{
call PushFallBackPair "㊿", "(50)";
call PushFallBackPair "㉑", "(21)";
call PushFallBackPair "\uD867\uDE3D", "ほっけ"; // 魚偏に花と書いてホッケ
call PushFallBackPair "♬", "♪"; // 音符を普通の♪に
call PushFallBackPair "🎶", "♪"; // 音符を普通の♪に
call PushFallBackPair "\u2049", "!?";
return;
}
そして、

の画面をアクティブにして、再度 HmCustomStringEncorder.mac を実行してみると、

となり、今度は㊿は(50)へと置き換えられました。
-
「㊿は本当にsjisには変換出来なかった」「㊿に対応するユーザー変換定義が書いてあった」「結果(50)に差し替えた」
表題にあるような動作となります。
逆に言えば、エラーが起きなければ、ユーザー定義がそこにあったとしても、変換は起きないのです。
このことも確認してみましょう。
HmCustomStringEncorder.macの
PushFallBackPairs:
{
call PushFallBackPair "可", "不可";
call PushFallBackPair "㊿", "(50)";
call PushFallBackPair "㉑", "(21)";
call PushFallBackPair "\uD867\uDE3D", "ほっけ"; // 魚偏に花と書いてホッケ
call PushFallBackPair "♬", "♪"; // 音符を普通の♪に
call PushFallBackPair "🎶", "♪"; // 音符を普通の♪に
call PushFallBackPair "\u2049", "!?";
return;
}
と、書き換え、再度

の画面をアクティブにして、再度 HmCustomStringEncorder.mac を実行してみましょう。

結果に変化はありません。
「表現不可能なのか?」などとなったりしません。
「可」の文字をsjisに変換したとしても文字が潰れたりしないからです。
-
「前の結果」や「次の結果」で移動出来る
赤い場所の位置が、遠く離れているなどで、目視しにくい場合は、
「前の結果」ボタンや「次の結果」ボタンを押すことで
どんどん移動することが出来ます。
