华宇拼音输入法论坛

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

彻底消除候选框开天窗现象

[复制链接]
跳转到指定楼层
发表于 2009-9-23 13:11:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

  安装了海峰五笔配套的国际标准超大字符集字体支持包,仍有可能部分字符(特别是偏旁部首)无法在候选栏中显示,出现开天窗现象。我就遭遇这种情况,为此专门请教ZXD4G。经老左指点,我电脑这个问题已经解决。不敢独享,特发帖共享——问题产生原因和解决方法。
  
  关于候选栏中的字符显示
  字符的显示不由输入法控制,全由操作系统把持,任何一个字库文件,都没有覆盖unicode中的所有字符,那么如何用一种字体设置来显示所有的字符呢?在windows中,是通过“字体链接”的手段达成的,详见如下网页(关于国际化,有七篇文章,都是值得看一看的)。
  http://msdn.microsoft.com/zh-cn/goglobal/bb688134.aspx
  安装海峰五笔提供的超大字库,将同时完成若干字体链接的操作,使得宋体等五六种字体与Sun-ExtA和Sun-ExtB链接起来,那么,设置字体为宋体时,操作系统将会在宋体字库中查找欲显示字的形状信息,没有的话,再去与之链接的若干种字体中去寻找。
  由于前述的对于汉字的判断方法有些缺陷,不在CJK基本集合中的汉字被认为是英文,输入法就尝试用英文字体去显示它,而英文的某个字体可能没有与Sun-ExtA、Sun-ExtB链接起来。手工添加若干种字体链接后,就能以英文字体来显示CJK Ext-A、CJK Ext-B和unicode自定义区的汉字了,原理和方法可见上列网页,也可仿照末尾我采用的办法。
  在6.6正式发布时,一定会对汉字判别的函数加以更正的,我最近还在研究字体探究的方法,想在输入法安装时对用户是否装有超大字库进行识别,必要时提示用户安装,并检查输入法外观字体是否与大字库链接,如不安装或没有链接,则可能出个选项(大约会叫做“过滤系统不能显示的汉字”或“过滤系统字库中没有的字符”),在候选栏中屏蔽那些当前系统中无法显示形状的字符,让那些缺省的方框形状在视野中消失,也可当用户外观字体设置改变时,再次检查该字体是否具备显示所有字符的能力,必要时进行字体链接的设置。
  
  我的输入法外观设置中,英文字体选的是“Arial Narrow”(安装OFFICE会添加该字体),看起来苗条一些,于是,安装大字库之后,手工实现“Arial Narrow”和Sun-ExtA、Sun-ExtB等的链接,操作步骤如下:
  1.打开注册表编辑器(运行regedit.exe)
  2.展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
  NT\CurrentVersion\FontLink\SystemLink
  3.双击Arial项,弹出对话框“编辑多字符串”(安装海峰大字库后,Arial会和Sun-ExtA等链接),按CTRL-C键复制内容
  4.新建“多字符串值”,以你想要链接的字体为名,然后双击再次弹出对话框进行编辑,按CTRL-V粘贴上一步复制的内容
  5.关闭注册表编辑器,如需链接更多的字体,重复执行第四步即可
  6.重启系统(这个机制是操作系统较为底层的支持,需要重新启动才能生效
)




  【为减少候选栏开天窗现象,安装国际标准超大字符集字体支持包后,请检查系统字体文件夹内有无Arial Unicode MS这一款字体,该字体文件名为ARIALUNI.TTF。如没有,或从网络下载,或从Office2003安装盘(网上的安装盘映像文件也可)提取,或者进入添加/删除程序界面(选中Office2003,选择“修改”,根据提示选取“国际性支持-通用字体”)。提供本人的系统字体链接注册表文件FontLink.reg(适用Windows XP系统,干净、安全),导入即可。

   如有必要,请参见第35、58楼的建议方法。

[ 本帖最后由 sanwsw 于 2010-5-24 16:36 编辑 ]
59
 楼主| 发表于 2010-5-24 20:53:37 | 只看该作者
楼上的方法,仅对6.6.0.38版本有效。☺_☺☺_☺



[ 本帖最后由 sanwsw 于 2010-5-25 08:10 编辑 ]
58
发表于 2010-5-24 19:26:13 | 只看该作者
四哥对字体链接问题的研究已经接近尾声,不知能否在6.7发布之时推出?那时,天窗就基本上可以消除了~~
57
 楼主| 发表于 2010-5-24 16:34:15 | 只看该作者
选用皮肤中文字体的不外乎宋体、黑体、楷体_GB2312、方正楷体、华文细黑、微软雅黑等几种。
一楼介绍的方法处理后,还是有部分偏旁部首出现“天窗”,经ZXD4G指点,更正如下,有兴趣者可以复制依样画葫芦。附件为Windows XP SP3下的关于字体链接注册表项,导入即可。

SimSun
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
micross.ttf
gulim.ttc,gulim
MSGOTHIC.TTC,MS UI Gothic


方正楷体
FZKaiS.TTF
FZKaiS(SIP).TTF
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
Arialuni.TTF
micross.ttf
gulim.ttc,gulim
MSGOTHIC.TTC,MS UI Gothic


黑体
SimSun.ttc,NSimSun
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
Arialuni.TTF


华文细黑
SimSun.ttc,NSimSun
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
gulim.ttc,gulim
MSGOTHIC.TTC,MS UI Gothic
Arialuni.TTF


楷体_GB2312
FZKaiS.TTF
FZKaiS(SIP).TTF
Sun-ExtA.ttf
Sun-ExtB.ttf
Arialuni.TTF
gulim.ttc,gulim
MSGOTHIC.TTC,MS UI Gothic


微软雅黑
SimSun.ttc,NSimSun
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
Arialuni.TTF


方正北魏楷书_GBK
SimSun.ttc,NSimSun
Sun-ExtA.ttf
Sun-ExtB.ttf
SimSun.TTC,SimSun-PUA
gulim.ttc,gulim
MSGOTHIC.TTC,MS UI Gothic
Arialuni.TTF


FontLing.rar (2.35 KB, 下载次数: 513)
56
发表于 2010-1-6 12:40:37 | 只看该作者
非常强悍的帖子,顶上去!o(∩_∩)o
55
 楼主| 发表于 2010-1-3 19:57:46 | 只看该作者
原帖由 ZXD4G 于 2009-12-30 17:57 发表
弟,有关简体集合的收字原则或目标相信你在另外一个帖子中已阅,但实践中难免有特例要突破原则,便宜从事。

举实例之前,首先道声惭愧(抱歉得多了,不想用这两字了),“囻”之流确属异体字,现在暂归简体,绝对是个资料收编的罪过,应非简非繁,长期改进吧。

有个著名的异体字被网民们发扬光大了,如果严格恪守原则,那“囧”也只能打入冷宫了,但要是这么干了,不难预见到会引来骂声一片,因此,有时不得不向人民“低头服软”(好在不算太丢脸哦);若“囻”经此一拉扯,知名度飙升的话,可能也得考虑是否给予“囧”的待遇。

  老左啊,将现行简体集合中的所有繁体字、异体字都请出去,其难度不知有多大!看看台湾的《异体字字典》,我想你会惊出一身冷汗的。将简体集合打造成简化字+不简不繁的并集,需要相当的时日,不知这项工作开发组有几人共同进行。
  建议:异体字留着也无妨,只要让它们沉底就可以了。^_^^_^
54
发表于 2009-12-30 20:25:40 | 只看该作者

回复 30楼 的帖子

哦,看到这里才知道啥叫开天窗
53
发表于 2009-12-30 18:52:53 | 只看该作者
同意楼上的观点现在社会就是有许许多多冷僻的字是不是的被有人发掘出来记得前几年的圐圀现在还有人用吗。就是以后遇见了新的什么怪癖字也可以通过升级字库来弥补。所以我感觉6.6.0.32已经很成熟了!

[ 本帖最后由 wqpn 于 2009-12-30 18:57 编辑 ]
52
发表于 2009-12-30 17:57:47 | 只看该作者
兄弟,有关简体集合的收字原则或目标相信你在另外一个帖子中已阅,但实践中难免有特例要突破原则,便宜从事。

举实例之前,首先道声惭愧(抱歉得多了,不想用这两字了),“囻”之流确属异体字,现在暂归简体,绝对是个资料收编的罪过,应非简非繁,长期改进吧。

有个著名的异体字被网民们发扬光大了,如果严格恪守原则,那“囧”也只能打入冷宫了,但要是这么干了,不难预见到会引来骂声一片,因此,有时不得不向人民“低头服软”(好在不算太丢脸哦);若“囻”经此一拉扯,知名度飙升的话,可能也得考虑是否给予“囧”的待遇。
51
发表于 2009-12-30 17:32:55 | 只看该作者
原帖由 332211 于 2009-12-30 17:31 发表
天窗一个:

那个字不是天窗,是个guo字,
50
发表于 2009-12-30 14:18:29 | 只看该作者
感谢lz的热情帮助,问题解决了,谢谢。
49
发表于 2009-11-16 19:24:53 | 只看该作者
强帖需顶!!
48
发表于 2009-11-16 18:28:27 | 只看该作者
输入guo还是有 囗
47
发表于 2009-11-16 17:55:30 | 只看该作者
试试楼主的方法看看
46
发表于 2009-11-16 08:55:34 | 只看该作者
按照以上的方法搞过了,但是还是没有效果,不知道是什么原因.
45
发表于 2009-11-15 18:23:42 | 只看该作者
原帖由 332211 于 2009-11-15 18:16 发表
问题是紫光的输入法的编码是根据什么字库来编程的,那就提供这个字库不就成了么?否则如何确保不开天窗呢?既然有这个字库难道就不能提供?

这个和程序编程没关系的,是字符集的问题,现在的系统默认是不含这个字符集的,这个字符集是海峰五笔的作者自制的,所以要提供必须要得到允许
44
 楼主| 发表于 2009-11-15 16:22:21 | 只看该作者
紫光华宇拼音输入法6.6.0.12收录了包括CJK统一汉字、CJK Ext-A、CJK Ext-B在内的71599个汉字(含汉字笔画、偏旁、部首),目前任何一款字体都不能全部显示。要消除或减少候选栏“天窗”,建议任选下列方法之一种:

①下载安装“国际标准超大字符集字体支持包”(http://okuc.net/software/UniFonts.exe该地址常年提供下载,速度较快)。安装时建议一是先卸载宋体-方正超大字符集,而是选择默认安装,安装好后重启系统。在注册表中修改字体链接(参见另帖http://bbs.unispim.com/viewthread.php?tid=7112&extra=page%3D1),将输入法外观设置中选定的“中文字体”(宋体已经做好了字体链接)与Sun-ExtA.ttf和Sun-ExtB.ttf两款字体进行手工链接。可消除“天窗”现象。

②下载安装方正楷体超大字符集,下载地址是http://bbs.unispim.com/viewthrea ... D%D5%FD%BF%AC%CC%E5(见置顶帖)。注意参用http://bbs.unispim.com/viewthread.php?tid=7112&extra=page%3D1一帖方法将FZKaiS(SIP).TTF字体与FZKaiS.TTF字体做好链接;外观设置中将中文字体设为FZKaiS-Extended(即FZKaiS.TTF),重启系统。不知能否完全消除“天窗”现象。

③下载安装“方正楷体.ttf”(书同文楷体MSSong.ttf的扩展版,字体名本人修改,下载地址是http://sanwsw.ys168.com/中的“字体备份”文件夹内);外观设置中将中文字体设为“方正楷体”。应可极大减少“天窗”现象,能满足一般人日常文字输入需要。
43
 楼主| 发表于 2009-11-15 15:55:16 | 只看该作者
  自顶,希望使用6.6.0.12版而出现空白、“囗”的网友看到并解决这个恼人的问题。实际上,默认安装国际标准超大字符集字体支持包(Unifonts.exe)后,已经自动将相关字体做好了字体链接。根据网上的建议,卸载默认安装Office2003后进入Fonts文件夹的宋体-方正超大字符集这款字体,再安装UniFonts.exe,重启系统。

42
发表于 2009-11-11 10:38:30 | 只看该作者
每次都可以从“sanwsw”那里受教,真是良师益友呀!
41
发表于 2009-11-1 13:04:50 | 只看该作者
楼上说得正确!呵呵!
40
发表于 2009-11-1 08:12:39 | 只看该作者
原帖由 332211 于 2009-10-28 22:45 发表
字体现实要统一,怎么有大有小,这算是什么呀?难道就一个半拉子的输入法?一个临时凑合着用用的?


也许你需要了解一下,字体显示是归Windows系统调用字体文件来实现的,输入法不直接负责这项工作。字体有大有小,那是因为GBK区字和CJK扩展区字的显示字体本来就不统一。
39
 楼主| 发表于 2009-10-29 11:08:19 | 只看该作者
原帖由 jxm127 于 2009-10-29 09:34 发表
扫盲....什么是开天窗

因字体缺失,在文本文档中、输入法候选栏内出现?、空白、囗的现象,常被人们戏称为“开天窗”。
38
发表于 2009-10-29 09:34:01 | 只看该作者
扫盲....什么是开天窗
37
发表于 2009-10-29 06:28:33 | 只看该作者
36
 楼主| 发表于 2009-10-28 22:48:49 | 只看该作者
原帖由 332211 于 2009-10-28 22:45 发表
字体现实要统一,怎么有大有小,这算是什么呀?难道就一个半拉子的输入法?一个临时凑合着用用的?

字体大小不一,你想想或者猜猜,是不是输入法所致?
35
发表于 2009-10-28 12:34:25 | 只看该作者
强力技术帖,该顶。

在别的输入法论坛遇到有人抱怨某字打不出来,只能告诉他和输入法无关,让他自己安装大字符集支持包。这回紫光的努力有望将这个问题纳入到输入法本身的范畴内,这种努力是令人鼓舞的。
34
发表于 2009-10-26 12:41:13 | 只看该作者
原帖由 332211 于 2009-10-26 12:33 发表
什么呀?在紫光拼音输入法安装过程中为何不自动检测一下是否安装了以上必须的字库呢?为何不能更为人性化一点儿呢?难道还要用户自己来考虑是否安装了必须的字库之类?

这个功能正在开发中,正式版中一定会有的。
33
发表于 2009-9-28 07:01:33 | 只看该作者
在6.5版中使用是有前提的:使用sanwsw版的“叠字快输自定义短语方案”;或等待6.6版发布。
32
 楼主| 发表于 2009-9-26 00:25:28 | 只看该作者
等待6.6版发布,当可享用。或者搜索本坛帖子,下载本人编辑的叠字快输自定义短语方案。在6.5.0.23中使用。可能需要重启或注销,安装字体支持包可获得更佳效果。
31
发表于 2009-9-25 22:46:11 | 只看该作者
这个输入叠字是否需要设置哟。 我得Dmu 怎么只是出来汉字呀!
30
发表于 2009-9-25 21:06:43 | 只看该作者
那些不能显示的方框就是天窗……

正常的应该如下:


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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