最終更新日 2021-03-21

秀丸エディタ・HmCustomStringEncoderの利用法

概要

ここでは、HmCustomStringEncoder
の主な利用方法を解説していきます。

利用方

まずは、感覚を理解するため、デフォルトの設定でとにもかくにも利用してみましょう。

HmCustomStringEncorder.macのデフォルトの設定では「932」、
即ち、cp932(sjis)への「変換調査」となります。

  • 適当にテキストを用意

    ㊿という文字列はsjisで表現可能なのか?
    

    PICTURE

    と秀丸上で文字列があったとします。
    ファイルに保存する必要はありません。

  • HmCustomStringEncorder.macを実行

    実行すると、

    PICTURE

    というように、なります。

    ㊿のところが[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;
    }
    

    そして、

    PICTURE

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

    PICTURE

    となり、今度は㊿は(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;
    }
    

    と、書き換え、再度

    PICTURE

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

    PICTURE

    結果に変化はありません。
    「表現不可能なのか?」などとなったりしません。
    「可」の文字をsjisに変換したとしても文字が潰れたりしないからです。

  • 「前の結果」や「次の結果」で移動出来る

    赤い場所の位置が、遠く離れているなどで、目視しにくい場合は、
    「前の結果」ボタンや「次の結果」ボタンを押すことで
    どんどん移動することが出来ます。

    PICTURE