|
情報ありがとうございます。
該当文字コードで確認することができました。
いろいろ調べてみたところ、概ね理由がわかりました。
とりあえずの対策としては、フォントに「Tahoma」や「MS UI Gothic」を選ぶと
いいと思います。
または、少々危ないかもしれませんが、レジストリをいじってフォントリンクを
追加修正すると、MS ゴシックなどでもOKにすることもできるようです。
Windows Vista, Windows 7 と進むにつれて、これらの問題は解消に向かっている
ようで、Vista, 7においては秀丸エディタでもほぼ大丈夫でした。
------------------------
以下は蛇足かもしれませんが調べたことを書いておきます。
●OSによってフォントリンクが違う
フォントに含まれない文字を別のフォントで代替するフォントリンクという機能
があって、今回のハングル文字もフォントリンクによって表示されているものと
思われます。
WindowsXPではハングルにフォントリンクされているのが Tahoma や MS UI
Gothic などの一部だけのようで、これらのフォントでは秀丸エディタでも大丈夫
でした。
WindowsVista,Windows7では、MS ゴシックなどでも網羅的にフォントリンクさ
れていて、多くのフォントで秀丸エディタでも大丈夫でした。
●APIによってフォントリンクの挙動が違う
プログラム的なことですが、WindowsAPIによるテキスト描画は幾つか種類があっ
て、昔からある方法として主に4つあります。
今回調べてみて、APIによってフォントリンクの挙動が違うことがわかりました。
いずれもフォントリンクは有効なのですが、×と書いたものはフォントリンクの
みが有効で、○と書いたものはフォントリンクを超越して、何でもOKになって
いました。
WindowsXP,Vista
× TextOut
× ExtTextOut
○ DrawText
○ TabbedTextOut
Windows7
○ TextOut
○ ExtTextOut
○ DrawText
○ TabbedTextOut
TextOut, ExtTextOut はフォントリンクのみで、TahomaやMS UI Gothicではハン
グルが正しく表示されます。
DrawText, TabbedTextOut はなぜかフォントリンクを超越していて、どのフォン
トでもハングルは表示されました。
Windows7においては、全てのAPIでフォントリンクを超越してOKになっていまし
た。
おそらくメモ帳はDrawText,TabbedTextOutのほうを使っているのかもしれないで
す。でもメモ帳でも「MS Pゴシック」だけはNGでした。謎です。
秀丸エディタでも DrawText,TabbedTextOut を使って描画している箇所ではOK
でしたが、ほとんど使っていない箇所だらけなのでだめでした。(例:見出し
バーの描画はOK)
秀丸エディタとしても全面的に DrawText,TabbedTextOut を使うようにすると対
策できると思います。
しかし全面的に影響があるということと、OSとして対策が進んでいるようで、で
きればこのままとさせていただきたいところです。
できるかどうかわりませんが、もしできそうなら検討したいと思います。
|
|