|
こんばんは。毎度お世話になっております。
さて、.hilight ファイルで Unicode 文字での強調表示を扱おうとしたところ、正常
に Unicode 文字が
扱えない不具合がありました。
まず、拡張子 .test という形式のファイルタイプ別の設定を予め作成しておきます。
そして、
強調表示させるファイル test.test を UTF-8 などの Unicode エンコードで以下の
内容で作成します。
0001 abcde
0002 あいうえお
0003 👩🏻‍👩🏿‍👧🏼&#
8205;👧🏾
1 行目が ASCII 、2 行目が Shift-JIS 、3 行目が Unicode 絵文字の範囲となって
います。
次に、この test.test ファイルの全行を強調表示させるための input.hilight 定義
ファイルを
UTF-16 LE 、CR+LF 、BOM有り で以下の内容で作成します。
37,abcde
37,あいうえお
37,👩🏻‍👩🏿‍👧🏼̴
5;👧🏾
これは test.test ファイルの各行を「行の強調表示 1」で色付けさせるものとなっ
ています。
そして、test.test ファイルを開いた状態で「ファイルタイプ別の設定」の「デザイ
ン」の
「保存/読込」ボタンで input.hilight 定義ファイルの読み込みを実行します。
すると、test.test ファイルの 1 行目と 2 行目は正しく色付けされるが、3 行目の
絵文字の行は
色付けされません。また、「ファイルタイプ別の設定」の「強調表示」のページで絵
文字の項目が
????????
と文字化けした状態になってしまいました。
さらに、この状態で「ファイルタイプ別の設定」の「デザイン」の「保存/読込」ボ
タンで
現在の設定を output.hilight 定義ファイルとして保存したところ、以下の内容のよ
うに
絵文字部分が ???????? に化けた、しかも Unicode ではなく Shift-JIS 、CR+LF 形
式で保存されて
しまいました。
37,???????????????????
37,abcde
37,あいうえお
まとめると、
1. .hilight ファイルでの入力では Unicode 文字が ???? に化けて正常に読み込
めない。
2. .hilight ファイルへの出力では UTF-16 LE などの Unicode 形式で保存でき
ない。
ということになります。
いずれも、ユーザーが意図した強調表示が正常に行えない不具合といえます。もちろ
ん、Unicode 文字を
1 文字ずつ正規表現を用いて [\u{0123AB}] と書くことで問題を回避できるように見
えます。しかし、
この方法だと 1 文字を表現するのに最低でも 10 文字書かないといけないため、強
調表示の文字数制限が
3999 文字しかない状況下ではあっという間に領域が枯渇するため現実的ではありま
せん。
どうか問題の修正の方よろしくお願いします。
|
|