秀丸エディタ・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でエラー無く保存が可能なことでしょう。

例え、「赤色が1カ所も出なかったしても」、
該当文字コードで保存が可能と言えるのは、あくまで「結果のタブ」に出ているものです。
例えば、先述の「2つのデータで構成された『が』」は結合前の状態では、
秀丸でsjisとしては保存できないかもしれませんが、
「結果タブ」に出ている方は、結合した状態なので、保存が可能です。
|