DOSEIの日記

技術メモ+日常ログ

DEFAULT_GUI_FONT

前の話の続き。
Windows 2000 と XP では、DEFAULT_GUI_FONT は MS UI Gothic で、 SYSTEM_FONT は System だった。 Noteに The font used by the DEFAULT_GUI_FONT stock object could change. って書いてあるんだけど、これは「変更される可能性がある(=システムの設定による)」って意味だと思ってたんだが、日本語版のMSDNには「変更できる」ってあるから、プログラムから変更しても一貫性を保てるように、すべて統一して使えってことかな。この訳、書いた人はわかってないっぽいよなぁ…。第一、世の中のWebリソースはこの情報を鵜呑みにして、"GUI描画のデフォルトフォントです"って書いてあるのばっかりだけど、理解していってんだろうか…。

ていうか、英語版ではほんとに SYSTEM_FONT は Tahoma なんでしょうか。デバイスコンテキストのデフォルトフォントは SYSTEM_FONT なわけで、日本語環境で作った場合フォントが System なんですが、このフォント嫌いなんだよなぁ…。ABCDEFGWindows 環境の人は見れると思う。ビットマップフォントで、しかもサイズ固定。

標準のコントロールのフォントは、画面のプロパティで指定したフォントになるんだから、 DEFAULT_GUI_FONT もこれが反映される仕様が妥当だと思うんだけどな…。やはり、 SystemParametersInfo() を使うのがデファクトスタンダードでしょうかね。
方位記号さんのところのご指摘(2004/09/12)により、上記のわけわかんない文は撤回。ラベルやテキストボックスのフォントは画面のプロパティで設定したものとは無関係。設定できるのはアイコンキャプション、タイトルキャプション、リソースメニュー、ダイアログ、ツールチップのフォントだけ。 DEFAULT_GUI_FONT は一般に GUI のデフォルトとして設定するフォントとして安全で適切ってことかな。
どちらにせよ、日本語版のDEFAULT_GUI_FONT のストックオブジェクトで使われているフォントは、他のフォントへ変更することもできます。 っていう訳は変だよなぁ。全然意味がわからん。ま、そんなんばっかりだけど。