人是会思考的一棵苇草

Man is but a reed, the weakest in nature, but he is a thinking reed. All our dignity consists in thought.

原创  Windows CE中的字库链接 收藏

先翻译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"

发表于 @ 2009年05月19日 11:49:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:国外精品课程 | 新一篇:Google的九条创新准则

  • 发表评论
  • 评论内容:
  •  
Copyright © codewarrior
Powered by CSDN Blog