極東フラグ?
何に使われているのでしょう?
セットされている場所は次のようになっていました。
システムのロケールが中国語、韓国語、日本語の場合は極東フラグをセットしているようです。
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 件のコメント:
コメントを投稿