当前位置:首页 > 帮助

五笔输入法  帮助中心

冰凌输入法系统词库管理

系统词库是输入法软件的基本组件,也是输入法编码方案的具体实现。其优劣不仅影响着输入法软件的性能,也影响着用户的输入体验。

冰凌输入法系统词库以GB18030字符集为核心,支持词条词频、构词规则定义和双向检索。不仅适用于86版、98版等五笔字型编码方案,而且适用于所有码元为a-z、码长为4-12、词长为1-20的输入法编码方案。具有体积小、容量大、检索快、效率高等特点。

冰凌输入法系统词库不仅内置了五笔字型词库,还向用户开放了系统词库接口。用户通过导入导出、添加移除等管理功能,可自主打造个性化系统词库,也可转换挂接其他输入法词库。

词库定义

冰凌输入法系统词库是一个结构严谨、格式严格的Unicode文本文件,其由词库头和码表两部分组成。下图为词库格式示例,左边为冰凌输入法内置的极爽词库6.0的格式,右边为郑码词库的格式。

五笔输入

○ 词库头定义

词库头位于[CODETABLEHEADER]和[CODETABLE]之间,用于描述输入法编码方案及本词库的主要特征指标。一行为一项,等号左边为项名,等号右边为项值。

词库名称(Name)、词库版本号(Version)、词库作者(Author)定义词库的属性,项值为不超过20个汉字或字符的字符串,由词库作者命制。

输入法编码方案(CodeScheme)为输入法的名称,不超过20个汉字或字符,由本词库所采用的输入法编码方案决定。

输入法最大码长(CodeLength)为输入法编码的最大码元数,由本词库所采用的输入法编码方案决定。

输入法构词码长(BWCodeLength)为输入法组词编码的码元数,由本词库所采用的输入法编码方案决定。如果输入法编码方案没有单独的构词码,应设为0。

特殊符号前缀(SpecialPrefix)为词库中特殊符号编码的前缀引导,其必须为两个小写字母,如果词库中没有定义特殊符号,则为0,由词库作者在词库制作中定义。

输入法通配符(Wildcard)为小写字母,如果输入法没有通配符,则为0。

输入法构词规则(PhraseRule)为输入法组词的规则,其值为0,表明输入法没有构词规则,值为1,表明输入法釆用黙认的(五笔字型)构词规则。项值大于1,则代表输入法的构词规则条数。

当输入法构词规则项大于1时,还要在输入法构词规则项之后[CODETABLE]之前定义具体的构词规则。格式如下上图右边的郑码词库所示,具体定义方法如下:

等号左边为词组标识,如pa2、pa3、pe4分别为二字词、三字词、四字以上的多字词。其中第二个字母为e时表示多字词,后面的数字表示词组的字数。

等号右边为取码方法,每一项为一码。其中w为正向,r为反向,中间的数字为字序,右边的数字为码序。如w11为词组的第一个字的第一码,w22为词组的第二个字的第二码,r11为词组的倒数第一个字的第一码。

构词规则必须按二字词、三字词……多字词的顺序定义,每条一行,字序和码序均使用小写十六进制数字。

○ 码表定义

码表位于词库头之后,即[CODETABLE]之后,由若干个词条组成,每行一个词条。词条由编码、字词、词频三部分组成,中间以一个TAB字符分隔。重码必须分词条定义,一个重码一个词条。所有词条必须以编码字母升序为主,词频降序为副进行排序。

编码应符合输入法编码方案的编码规则,长度不能超过CodeLength。如果该字有构词码,则将构词码放在编码之后,中间以/分隔。

字词可以是GB18030字符集的任何汉字或符号,也可以是所有可打印的英文字符,长度不能超过20个字符。

词频不是必须的,但如果不包含词频,会影响联想输入的候选顺序并使检索范围的设置无效。词频不是绝对词频,而是经过平滑处理的相对词频,且要保证所有通用规范字词的词频大于255,其他字词的词频小于255,以满足检索范围的要求。

○ 特殊符号词条定义

特殊符号词条包括特殊符号菜单词条和特殊符号词条两种,其格式与常规词条定义一致,只是有一些特殊要求。如果词库头中的SpecialPrefix值为0,则不能定义特殊符号词条。特殊符号词条定义后应放入码表,与常规词条一起排序。

特殊符号菜单词条的编码为词库头中的SpecialPrefix值,字词则为菜单项,词频则必须大于或等于255(如果常规词条不带词频,则不设词频)。其中菜单项中可包括该组特殊符号的编码、该组特殊符号的简称(必须放在中文圆括号中)及该组特殊符号示例。

特殊符号词条的编码前两位为词库头中的SpecialPrefix值,后面特殊符号的编码,字词部分则为所要定义的特殊符号,词频则必须大于或等于255。

对于多个特殊符号菜单项和编码相同的特殊符号,应按重码分条定义。下图为冰凌输入法内置的极爽词库6.0的特殊符号词条定义示例,前面为特殊符号菜单词条,后面为部分特殊符号词条。

五笔输入

○ 日期时间词条定义

日期时间词条其实是一种变量词条,格式与常规词条定义一致,只是字词部分为日期时间变量。日期时间词条定义后应放入码表,与常规词条一起排序。

日期时间词条的编码由词库作者定义,长度不能超过CodeLength。日期时间词条的词频也必须大于或等于255(如果常规词条不带词频,则不设词频)。

日期时间变量由$引导变量字符组成日期时间串,长度不得超过20个字符。其中变量字符包括n(当前年份小写)、y(当前月份小写)、r(当前日期小字)、s(当前时小写)、f(当前分小写)、m(当前秒小写)和N(当前年份大写)、Y(当前月份大写)、R(当前日期大字)、S(当前时大写)、F(当前分大写)、M(当前秒大写)、W(当前星期)。

下图为冰凌输入法内置极爽词库6.0中定义的部分日期时间词条。其中词条中的02,表示变量代表的数值为两位,不足两位前面补0。词条中的其他字符不进行转换,保持不变。

五笔输入

○ 特别提示

冰凌输入法系统词库以Unicode编码为基础,所以要求系统词库文件必须为Unicode文本文件(UTF-16 LE编码,可以Windows记事本保存)。

冰凌输入法系统词库文件的内容是大小敏感的,编制过程中要注意字母的大小写,避免错误。

冰凌输入法系统词库文件的文字是紧凑的,编制过程中要避免空格等隐性字符的间杂,特别要注意行尾的空格和TAB字符。

词库管理

冰凌输入法提供了系统词库管理对话框,可通过状态栏的功能菜单、开始菜单的“冰凌输入法”菜单项或Ctrl+[(Ctrl+Shift+[、Ctrl+Alt+[)快捷键打开。管理功能包括导入、导岀、添加、移除、切换等,具体为:

导入:将前述定义的系统词库文件导入输入法系统并作为当前系统词库。

导岀:将当前系统词库从输入法系统中导岀并保存为与系统词库文件。

添加:将官方提供的码表文件添加到输入法系统并作为当前系统词库。官方提供的码表文件添加后,输入法的功能菜单、属性设置对话框中的“主码”等字样会被具体的输入法名称所替代。

切换:冰凌输入法可导入或添加多个系统词库,但当前系统词库只能是一个,用户可通过系统词库列表,选择和切换当前系统词库。