您的位置:首页 > 其它

MSDN中关于链接字体的解释(非常有用)

2013-01-26 19:58 211 查看
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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: