秀丸エディタ・HmCustomStringEncoderの設定パラメータ解説

概要

ここでは、HmCustomStringEncoder
の主な設定パラメータの解説となります。
といっても、3種類しかありません。

#ToEncodeCodePage

  • 意味合い

    指定のエンコードに「これから変換すると何か問題が発生しますか?」
    といった程度の意味合いとなります。

  • 数値対象範囲

    ここに記載されているコードページの全てに対応しているものと思いますが、
    こちらは(一部のコードページしか記載されていませんが)日本語なので、分かりやすく、参考になることでしょう。
    全てを確認したわけではないので、OSがVista等、古い場合は、
    対象の言語圏のOSでないと指定が出来ないコードページがあるかもしれません。

  • デフォルト値

    932。sjisです。

#NormalizeForm

  • 意味合い

    「文字列を正規化する度合い」、あるいは「範囲」といった方が良いかもしれません
    Unicodeには「サロゲートペア」や「結合文字」があります。
    焦点となるのは、この結合文字が中心となります。

  • 結合可能な文字を、結合済み文字に整理する

    例えば、「が」という文字は、

    • 「が」に直接対応する「1コード」でも表現できますし、
    • 「か+濁点」の2つのデータで合わせて1文字 といった形で表現しても扱うことが出来ます。

    #NormalizeFormに1以上を設定することで、
    この「2つ以上のデータで合わせて1文字」を表現しているものは、
    事前に「1つのデータ文字」として結合済みのものにしてから処理しますよ、ということになります。
    上で言えば、先に「が」という「結合済みの文字」にしてから文字コード変換の調査を行います。

  • 数値対象範囲

    • 0

      何もしない
      結合文字をあぶりだしたい場合には、このオプションが良いかもしれません。

    • 1

      デフォルトです。
      結合文字など、多数データで構成される文字に対して、NFCタイプのUnicode正規化を行います。
      (詳細参照: Unicode正規化とは)

      元々1文字で表現されていたデータに対しては、Normalizeを行わないことで、NFCによる漢字変形の弊害を最小限に抑えます。

    • 2

      元々1文字のものも含めて、全てをNFCタイプのUnicode正規化を行った後に、処理し結果を出します。

      これによって一部の旧字体(やそのような雰囲気を持つ漢字)が、新字体(や日常的に利用する漢字の形)へと変形してしまう場合があります。

  • デフォルト値

    1となります。

PushFallBackPairs

これについては、すでに利用法のページで体験した通りです。

デフォルトで記載してある「ペアの例」は、
特に意味があるようなものではありませんので、
削除したのち、ご自身の利用法に沿うものへと書き換えましょう。

「結合文字」を「結合済み文字」にしたいだけの場合

#ToEncodeCodePageを、「65001(=utf8)」や「1200(=utf16le)」などとし、
#NormalizeFormは「1」とします。

そうすれば、「結果のタブ」には可能な限り、結合済みの文字へと正規化された文字列が出力されます。

注意点

  • そのまま該当のエンコードで保存出来る、と言えるものは、あくまで「結果」のタブ方

    該当の文字コードで保存出来る、と言えるのは、あくまでも「結果」の方のデータです。
    下記で言えば、「HmCustomStringEncoder → [932]の結果」タブとして出た内容は、
    SJISでエラー無く保存が可能なことでしょう。

    PICTURE

    例え、「赤色が1カ所も出なかったしても」、
    該当文字コードで保存が可能と言えるのは、あくまで「結果のタブ」に出ているものです。

    例えば、先述の「2つのデータで構成された『が』」は結合前の状態では、
    秀丸でsjisとしては保存できないかもしれませんが、
    「結果タブ」に出ている方は、結合した状態なので、保存が可能です。