|
麻煩的東亞語言字型名稱
Troublesome East Asian language font name
TrueType 在 Win32 之下支援多重名稱,以資源的方式儲存在字型檔案。這個資源和所有的
Win32 資源一樣,會自動隨著作業系統來變換。稍稍瞭解資源的人就知道,這實在是自找麻煩,每一種語言變換時,字型的名稱與功能也要跟著換。字型應該是全世界都使用同一名稱,而不是讓機器上不同的
locale 來指定不同的字型名稱。 有夠幸運地,祇有非常少的語言,會使用到字型名稱的功能。但有夠不幸地,這個會用到字型名稱的全部都是東亞語言。
這張表提供了常見英文名稱和本地化名稱。對一般使用已經非常足夠。不信可看,「全部名稱」的在這裡。
|
紅色框框,為該作業系統 Dialog
的「預設字型」。
後者名稱祇能用於特定 locale。前者能用在所有
locale ,偏偏就是該特定的 locale 不能用 (Win95/98)。
|
記得在程式裡面,在不同的亞洲國家使用不同的字型資料。 (比如 fontname
"新細明體" 祇用於 CHT 繁體中文, font "宋体" 祇用於 CHS 簡體中文,font
"MSP 明朝" 祇用於 JPN 日文。你可以試試在繁體中文裡面,可以找到 "SimSun"
,卻一定沒有 "MingLiU" "PMingLiU" 這種字型。)
謝天謝地,Windows 2000 and XP 已修正這個問題,可同時使用這兩種名稱,也都可以正確顯示。在
Winnows 98 和之前的版本,祇能接受一個名稱。下列的英文標記,可用於國際場合,而已本地化的名稱則用於亞洲語言的場合。
目前 MS 規定 "MS Shell Dlg" 為各 locale
預設字型,不過這祇對 Win2k/xp 有用。我不喜歡 "MS Shell Dlg",老是會出現 System
12 字型。如果考慮相容性和 Windows 98 的出現情形,反正寫個 "新細明體" 或英文版 "MS
Sans Serif" 還是一定要被微軟支援,那麼還是乖乖寫上去吧。
0404, CHT, 繁體中文, 預設為 "PMingLiU" 9, code_page 950

/////////////////////////////////////////////////////////////////////////////
// Chinese (Taiwan) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
#pragma code_page(950)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
1 DIALOG
STYLE WS_CHILD | WS_CAPTION
CAPTION "PLACERHOLDER TEXT"
FONT 9, "新細明體"
0804, CHS, 簡體中文, 預設為 "SimSun" 9, code_page 936

/////////////////////////////////////////////////////////////////////////////
// Chinese (P.R.C.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
1 DIALOG
STYLE WS_CHILD | WS_CAPTION
CAPTION "PLACERHOLDER TEXT"
FONT 9, "冼极"
0411, JPN, 日文, 預設為 "MS UI Gothic" 9, code_page 932
(注意:在 Windows 98 仍可見不少程式,仍然繼續使用 "MS PヶЁЧヱ" 這種為預設。

/////////////////////////////////////////////////////////////////////////////
// Japanese resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE
#pragma code_page(932)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
1 DIALOG
STYLE WS_CHILD | WS_CAPTION
CAPTION "PLACERHOLDER TEXT"
FONT 9, "MS UI Gothic"
0412, KOR, 韓文, 預設為 "Gulim" 9, code_page 949

/////////////////////////////////////////////////////////////////////////////
// Korean resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
#ifdef _WIN32
LANGUAGE LANG_KOREAN
#pragma code_page(949)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
1 DIALOG
STYLE WS_CHILD | WS_CAPTION
CAPTION "PLACERHOLDER TEXT"
FONT 9, "掉葡"
|