DirectWrite使用時に斜体スタイルの記号がNo.30090
kobachi.pc さん 11/08/22 18:54
 
お世話になっております。
秀丸エディタ8.10に搭載されたDirectWrite対応機能がすばらしく常用しております。

さてそのDirectWriteですが、強調表示のスタイルにイタリックを指定すると
記号類が別の文字がレンダリングされてしまう問題が発生しております。
設定はフォントは「Consolas」で、フォントサイズは10です。
強調表示のスタイルにイタリックを含むスタイルを設定し、
「#」や「$」「@」「_」などの記号類を入力すると
それらの文字が違う文字でレンダリングされます。

例を挙げますと「#」(U+0023)が「£」(U+00A3)になったり、
「$」(U+0024)が「℗」(U+2117)になったり、
「_」(U+005F)が「ˇ」(U+02C7)になったりと不規則ですが、
表示される文字は再起動などを行っても常に同じです。
ひらがなや漢字・英数字などはきちんと表示されます。
また、他のOpenType・TrueType英語フォントでは再現しないため、
FontLinkと若干関係があるのかもしれません。

当環境では「Consolas」(consola[ibz]?.ttf)は
「meiryo.ttc」の「メイリオ」フォントとFontLinkされています。

DirectWriteを使用するFirefoxやIEなどのブラウザ上で同様の文字を表示するとちゃ
んと表示され、
秀丸エディタ上でもDirectWriteを無効にするときちんと表示されます。

以上からHmDWriteに何らかの問題があるのではないかと思われましたので、報告させ
ていただきました。
お手数ですがご確認いただけると助かります。

よろしくお願いします。

[ ]
RE:30090 DirectWrite使用時に斜体スタイNo.30096
秀まるお2 さん 11/08/23 11:14
 
 バグ情報どうもです。テストしてみたら再現出来ました。

 まだ調査の途中ですが…、

 秀丸エディタの場合だと、イタリックフォントで描画する時でも普通の
フォントの文字ピッチに合わせて無理矢理描画させるような処理がありまして、
それの関係でおかしくなってしまってるような気がします。

 もっと詳しく調べて早めに修正させていただきます。

[ ]
RE:30096 DirectWrite使用時に斜体スタイNo.30097
秀まるお2 さん 11/08/23 11:50
 
 やっぱりイタリック体フォントのピッチをイタリックじゃないフォントで計算
する用の処理が関係してバグってしまってました。

 次の秀丸エディタ/秀丸メールβ版の方で修正させていただきます。

 ついでに1つ制限があることも書かせていただきますと…

 実はConsolas等の欧文用フォントは日本語フォントを持って無くて、この
フォントで無理矢理日本語を描画すると、代替フォントとして、たぶんこの場合
はメイリオが使われます。この場合、イタリックであっても代替フォントは普通
のフォントになってしまうようで、結果としてConsolasイタリックでの日本語文
字列がイタリックじゃないフォントになってしまいます。

 これは、すみませんが、今の所制限とさせていただきます。

[ ]