colormarker文の座標指定とUnicode文字No.08729
IKKI さん 15/10/11 03:35
 
秀丸担当さん、こんにちは。

colormarker 文で座標を指定したとき、Unicode 文字があるとおかしくなるようです。
下記のマクロはカーソル位置から右へ2文字幅の範囲を塗ることを意図していますが、
サンプルテキストの
「4」の位置にカーソルを置いて実行すると「☀」が塗られ、「𠀋」よ
り後にカーソルを置いて実行すると何も塗られません。
マクロの「if (1)」を 「if (0)」に置き換えた場合は意図したとおりの動作になり
ます。

if (1) {
 colormarker 0xFFFFFF, 0x6666FF, 11, 1, 0, "", lineno, column, lineno, colum
n + 2;
} else {
 beginsel;
 moveto2 column + 2, lineno;
 endsel;
 colormarker 0xFFFFFF, 0x6666FF, 11, 1, 0, "";
}

サンプルテキスト
01☀45𠀋89

ご確認のほどよろしくお願いいたします。

秀丸エディタ v8.56β9

[ ]
RE:08729 colormarker文の座標指定とUnicoNo.08732
秀丸担当 さん 15/10/13 14:13
 

マクロの通りにして確かにそうなってしまうことが確認できました。
こうなるのはおかしかったです。
次のβ版で修正させていただきます。

[ ]
RE:08732 colormarker文の座標指定とUnicoNo.08811
IKKI さん 15/11/08 18:07
 
この修正に関連してかどうかわかりませんが、
colormarker 文で塗った範囲に全角文字を挿入すると文字幅がおかしくなるようです。
https://dl.dropboxusercontent.com/u/861457/20151108.png
ご確認願います。

秀丸 v8.56β14

[ ]
RE:08811 colormarker文の座標指定とUnicoNo.08816
秀丸担当 さん 15/11/09 13:23
 

マクロファイルをUnicodeで保存して、setcompatiblemode 0x00100000;も加えて
やってみたところ、再現させることができました。
以前からおかしかったようでした。
調べて修正させていただきます。

[ ]
RE:08816 colormarker文の座標指定とUnicoNo.08833
秀丸担当 さん 15/11/12 17:13
 

V8.56β15でsetcompatiblemodeでカラーマーカーをやり直しできるかどうかを追
加しました。
カラーマーカーを個別にやり直しすることはできていないです。

[ ]