「U+00A0(NO-BREAK SPACE)」を含む行のNo.36932
SRH さん 18/11/17 08:54
 
マクロの都合で、秀丸エディタ v7.11からv8.83に久々にアップデートしました。
すると「U+00A0(NO-BREAK SPACE)」が含まれている行のみ、フォントの表示がおか
しくなりました。

フォントは「ファイルタイプ別の設定」>「共通」>「フォント」で、デフォルトの
「FixedSys」の設定のまま使っていたのですが、この行のみ「FixedSys」ではないフ
ォントになるようなのです。
(何らかのプロポーショナルフォントが等幅フォントの間隔で表示される。)

この行の中で「U+00A0」を含む一部分だけを選択すると、選択していない文字は通常
のFixedSysで表示されます。
また、この行の中で「U+00A0」を含まないように一部分だけを選択すると、今度は選
択中の文字が通常のFixedSysで表示されます。

フォントを「FixedSys」以外に設定すると、この現象は起きませんでした。

この現象を回避する設定がどこかにあるのかと探したのですが見つかりませんでした。

何か対処法をご存じでしたら、ご教示いただけませんでしょうか。
OSは Windows 7 (32bit) です。
よろしくお願いいたします。

[ ]
RE:36932 「U+00A0(NO-BREAK SPACE)」をNo.36933
SRH さん 18/11/17 17:34
 
追記です。
古いヴァージョンを試してみたところ、v8.59以前では問題ありませんでした。

[ ]
RE:36933 「U+00A0(NO-BREAK SPACE)」をNo.36934
秀丸担当 さん 18/11/19 09:23
 

試してみたところ、Windows8.1以下で確かにそうなるようです。
バージョンによる違いは、範囲選択で試されているのと同じようなことで、文字列と
して一緒に描画するか、別々に描画するかといったような違いがあります。

メモ帳でFixedSysを選んでも同じになるようで、問題そのものについてはWindowsに
そういう問題があるようです。Windows10以降だと直っているようです。
現在のバージョンにおいては、類似の問題として、特定のUnicode文字を一文字だけ
で描画すると文字化けする問題がWindows8.1以前にあって、それの回避のために現状
になっていて、戻すとまた以前の問題が出てしまうので、従来通りにすることは難し
いです。その問題もWindows10以降では直っているようです。

現状で回避するには、
[その他]→[動作環境]で左下の「上級者向け設定」をONにして、
[その他]→[動作環境]→[表示/操作]→[文字の描画]の「3Dグラフィックスアクセラ
レータによる文字の描画」をONにして回避できると思います。

または、既にやられているように、MS ゴシックなど別のフォントでも回避できる
ようです。
または、[その他]→[ファイルタイプ別の設定]→[デザイン]→[強調表示]で、ユー
ザー定義で「[\u00a0]」を正規表現ONで追加しても回避できると思います。



[ ]
RE:36934 「U+00A0(NO-BREAK SPACE)」をNo.36937
SRH さん 18/11/20 07:25
 
秀丸担当様、

ご回答ありがとうございます。
(Windowsそのものの問題でしたか……。)
ご教示いただいた対策でなんとかなりそうです。
重ねて御礼申し上げます。

[ ]