先翻譯MSDN中關於連結字型的解釋:
Windows Embedded CE提供了連結字型檔的能力,它可以將一個或多個字型檔連結到另一個字型檔上,前者稱為被連結字型檔,後者稱為基本字型檔。一旦你連結了字型檔,你就可以使用被連結的字型檔顯示在基本字型檔中不存在的碼字。比如,將日文字型檔連結到拉丁字型檔,你就可以在使用拉丁字型檔的UNICODE文本API中顯示日文字元。
如果你的裝置上啟用了字型檔連結,你可以通過檢查註冊表的子鍵HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontLink/SystemLink來確定被連結的字型檔到基本字型檔的映射關係,下面的程式碼範例了如何在註冊表中添加一個連結:
<base font name> = <path and file of linked font>, <name of linked font>
使用字型檔連結時,你可以規定一個或多個UNICODE字元必須從被連結字型中取,即使這些字元也存在於基本字型檔中。要指定被從基本字型檔中忽略的字元,你可以使用HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontLink/SkipTable註冊表鍵,此鍵在作業系統啟動時是唯讀。
在下面的範例程式碼中,某字元的UNICODE編碼為005c,雖然Tahoma字型檔中包含此碼字,但仍然只使用被連結字型檔中的字元。
Tahoma=005c, 00a5, 007e, 0391-03c9, 2026, 2116, 221a, 25a0-25ff
當添加了中文字型檔支援時,實際上也就是將中文字型檔作為被連結字型使用的:
[HKEY_LOCAL_MACHINE/SYSTEM/GDI]
"FontLinkMethods"=dword:1
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontLink/SystemLink]
"Tahoma"="//Windows//simsun.ac3,NSimSun"
"Courier New"="//Windows//simsun.ac3,NSimSun"
"Arial"="//Windows//simsun.ac3,NSimSun"
"Times New Roman"="//Windows//simsun.ac3,NSimSun"
"Symbol"="//Windows//simsun.ac3,NSimSun"
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontLink/SkipTable]
"Tahoma"="005c,00a5,007e,0391-03c9,2026,2116,221a,25a0-25ff" // 0391-03c9 is Greek chars.
"Arial"="005c"
"Courier New"="005c"