特定の文字があると表示がおかしくなるNo.39975
もみじ さん 22/08/23 20:38
 
いつもお世話になります。

ver9.15(64bit)で記載された文字により表示がおかしくなる事例を見つけました。

UTF-8で以下の文字コードが並ぶとカーソルの動き、文字の選択の動作がおかしくな
ります。

8868h,200Bh,793Ah

文字にすると"表 ​​示"になります。

200Bのところ(表と示の間)にカーソルが行くと文字の半分のところにカーソルが出
現、表を選択しようとすると文字の表示位置が動きます。

200Bが見える文字ではないことに起因していると思われます。

ちなみに、この200Bが入った状態は意図的に作ったわけではなく、DeepLで英語を翻
訳した際に生成されたものになります。

[ ]
RE:39975 特定の文字があると表示がおかしNo.39978
秀丸担当 さん 22/08/24 09:35
 
ご指摘ありがとうございます。
確かにU+200Bの文字は、通常の固定幅フォントの場合はずれた表示になりました。
従来のGDIの描画のときの問題のようで、通常の場合もなんとかできないか検討します。
現状で幾つかの解決方法があります。

・3Dグラフィックスアクセラレータによる文字の描画
[その他]→[動作環境]→[表示/操作]→[文字の描画]→[3Dグラフィックスアクセラ
レータによる文字の描画]をONにすると、大丈夫になります。
これが一番簡単です。
ただ条件や設定の組み合わせによっては、同じフォントでも今までと違った見え方に
なることがあります。

・プロポーショナルフォント
[その他]→[ファイルタイプ別の設定]→[フォント]で、例えばMS Pゴシックやメ
イリオなどの、プロポーショナルフォントを選びます。
または、固定幅フォントであっても、プレビューの下にある[プロポーショナルフォ
ント扱い]をONにします。
こうしておくと、幅ゼロになります。
ただし、他の文字も含めてマス目状の配置にならない場合があります。

・追加のフォント
[その他]→[ファイルタイプ別の設定]→[フォント]の、右側にある[追加のフォント]
で何か適当なものを追加します。
同じフォントを第2フォントとしておくだけでもいいです。
見え方も全く同じの回避策になります。

追加のフォントの場合は、フォントのグリフが無い文字を自動的に第2,第3のフォン
ト使用へと順次使うようにしていく機能(文字コード範囲指定が無ければ)ですが、U+
200Bはグリフが無いので、フォントが同じでも描画が分離するという効果だけが得ら
れて結果的にできていました。

[ ]
RE:39978 特定の文字があると表示がおかしNo.39981
もみじ さん 22/08/24 11:17
 
ありがとうございます。

頂いた解決候補を試してみましたが、最初の3Dグラフィックで対処します。

引続きよろしくお願いいたします。


>ご指摘ありがとうございます。
> ......
>追加のフォントの場合は、フォントのグリフが無い文字を自動的に第2,第3のフォン
>ト使用へと順次使うようにしていく機能(文字コード範囲指定が無ければ)ですが、U
>+200Bはグリフが無いので、フォントが同じでも描画が分離するという効果だけが得
>られて結果的にできていました。

[ ]