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"

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值