WinXP x64 で、DEFAULT_GUI_FONT が微妙なのはどうにかならんのかなぁ

http://ir9.jp/hd08/0914_00.png

http://ir9.jp/hd08/0914_01.png

http://ir9.jp/hd08/0914_02.png

WinXP 64bit Edition だけ、GetStockObject(DEFAULT_GUI_FONT) で取得できるデフォルトのフォントの大きさが違ってまいっちんぐ



http://ir9.jp/hd08/0914_03.png

ちゃんと 9pt を指定してるのに、8.25pt(?) になっちゃってるんですよね。ちっともデフォルト見てくれないのは一体…

まぁ多分コレ、米国圏のデフォルトの大きさなんじゃないかと思っているのですけれどもー


…と思って見るも、Firefox とかは確り 9pt で表示されていることに気づく。ついでに、Firefox のダイアログを表示しながら、デフォルトのフォントの大きさを変えると、ちゃんとその大きさで再描画してくれる。


ってか、逆においらのテストアプリは、ずっと -11 のままだ orz



うーん、デフォルトのフォントの大きさの取得方法を間違っているのかしら…。 どうすりゃいいんだ…。

余談

  • ANSI_VAR_FONT -> 大きさ的には正しいっぽいものの、日本語が使えないフォントが返るので使うに使えない
  • DEVICE_DEFAULT_FONT -> でけぇ
  • SYSTEM_FONT -> でけぇ

追記 - 14:12

コメントよりご指摘いただいたので、実験してみました。

winのデフォルトフォントをMS UI Gothic以外にしたらどうなるんだろう?

http://ir9.jp/hd08/0914_04.png

変わらねぇよかよ! orz @ WinXP 32bit


デフォルトの設定を変えてからテストアプリを起動してみたのですが、結局 "MS UI GOTHIC" という結果。 DEFAULT_GUI_FONT ってことで、ユーザー指定のデフォルトが取得できそうな気はしたんですけれども…

え、なにこれ。 ユーザー指定とか全く無視して、Windows 固定 のデフォルトを返して来やがりますかコレはもしや…!?


…えー、じゃぁ逆に疑問。

上の「MS P明朝 / 15pt」のフォント(== コントロールパネルで指定したデフォルトのフォント)ってどうやって取得すればいいんだろう…