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

  • 概要

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

  • 利用方

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

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

    • 適当にテキストを用意

      ㊿という文字列は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に変換したとしても文字が潰れたりしないからです。

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

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