华宇拼音输入法论坛

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 18412|回复: 4
打印 上一主题 下一主题

“开天窗”现象释疑及解决办法(转帖)

[复制链接]
跳转到指定楼层
1
发表于 2010-5-27 18:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  现将超版ZXD4G一个回帖独立成帖,希望有疑问者能够明白解决之道。

1.原因
    支持7万多个汉字的输入(实际上,能够用拼音输入的只有3万左右),对系统安装的字体是有要求的,迄今为止,没有一款字体(windows目录的fonts子目录中若干.fon、.ttf等文件)收编了7万多汉字的字形信息,所以windows系统采用字体回退、链接等机制,使得显示一个汉字时,在一个字体中没有找到字形,就去别的字体中查找字形信息。
    从哪些字体中查找呢?据我们目前确知,是从与当前字体链接着的那些字体中找,这些字体文件在系统注册表中定义(位置是HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink),安装unifont5.4的作用在于两点,其一是向系统添加几个支持7万字的字体文件(拷贝到windows\fonts目录中),其二是将几种最常用的字体(宋体/arial等)与新加的字体链接起来(向上述注册表位置添加多字节字符串值)。
    unifont只做了少数几种字体的链接,当输入法界面主题中选择的字体不在已链接之列时,windows找不到字形(一般是GBK或CJK基本集合之外的字儿)时,就没有依据去查找别的字体,只好显示为空心方框,在视觉上恰似开了个天窗,虽然各个天窗背后的内码是正确的,但确实影响输入。

2.方案
    准备开一个选项,大约是“隐藏无法显示的汉字”,当用户没有安装豪华字体,或者未将界面主题字体与豪华字体链接,而又根据拼音、笔画或部首拼字枚举候选时,屏蔽那些可预见的只能以方框示人的字儿;虽然看似有所缺憾,但其实普通用户根本用不着那些GBK之外的字儿,屏蔽它们对于正常的写作、沟通没有任何影响。
    准备开发一个字体检测工具,同时具备增加字体链接的功能:在安装输入法时,如果发现用户没有安装豪华字体,则予以提示并指示独立下载的位置;当改变输入法主题字体时,检测该字体是否支持GBK之外字儿的显示,若不支持,则隐藏或创建链接。

3.应急预案
    现在字体检测和操纵链接的工具尚未完备,心急的用户可以自行操作,步骤如下:
1)安装unifont5.4
2)重启系统,必须,因HKLM\......\Windows NT属于系统核心,修改核心自然需要重启使之生效
3)运行regedit.exe,定位到上述字体链接的位置,双击Arial(unifont已经增加了其链接),将其内容复制,然后新建“多字符串值”,取名为“Arial Narrow”,粘贴复制自Arial的内容,如此便完成了手工链接Arial Narrow的操作;根据自己的需要,完成其它字体的链接
4)重启系统,理由同上


[ 本帖最后由 sanwsw 于 2010-5-27 18:55 编辑 ]
2
发表于 2010-5-27 19:34:56 | 只看该作者
不错不错,学下了。
3
发表于 2010-5-27 19:37:46 | 只看该作者
支持一下
天窗确实有碍观瞻,看着不爽
4
发表于 2010-5-28 22:46:41 | 只看该作者
支持一下!
5
发表于 2010-5-29 08:15:21 | 只看该作者
不使用不规范的汉字就不会有天窗。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|华宇拼音输入法网站  

GMT+8, 2025-12-26 02:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表