極東フラグ?
何に使われているのでしょう?
セットされている場所は次のようになっていました。
システムのロケールが中国語、韓国語、日本語の場合は極東フラグをセットしているようです。
switch (PRIMARYLANGID(LANGIDFROMLCID(GetSystemDefaultLCID()))) { case LANG_CHINESE: case LANG_KOREAN: case LANG_JAPANESE: bIsFarEast = TRUE; break; default: bIsFarEast = FALSE; break; }
ここでセットされた極東フラグはすぐ下で使われていました。
hSysFont = (HFONT) GetStockObject(SYSTEM_FONT); GetObject(hSysFont, sizeof(LOGFONT), &lf); // If it is far east, use a normal font at 9 points, // otherwise use a bold font as 8 points if (bIsFarEast) { lf.lfWeight = FW_NORMAL; // Calculate the font size, making sure to round the result to the nearest integer lf.lfHeight = (long) -((9.0 * (double)GetDeviceCaps(hDC, LOGPIXELSY) / 72.0)+.5); } else { lf.lfWeight = FW_BOLD; // Calculate the font size, making sure to round the result to the nearest integer lf.lfHeight = (long) -((8.0 * (double)GetDeviceCaps(hDC, LOGPIXELSY) / 72.0)+.5); }
極東の場合は9ポイント、極東以外の場合は太字の8ポイントが標準フォントになっているようです。
Today画面用のプログラムを書くときには憶えておきましょう。
国際化されたプログラムなんて書くことはないでしょうけど...。
0 件のコメント:
コメントを投稿