一种基于五键的汉字输入系统的制作方法

文档序号:6533893阅读:279来源:国知局
专利名称:一种基于五键的汉字输入系统的制作方法
技术领域
本发明涉及一种通过电子信息设备的按键盘进行汉字输入的系统,尤其涉及一种通过小键盘掌上信息设备的按键盘中的五个按键、以笔画编码的方式进行汉字输入的系统。它可应用于遥控器、机顶盒、游戏机、手持电话、掌上电脑、电子词典、数码相机、个人数字助理、电子记事本等便携式电子信息设备的汉字输入系统。
背景技术
目前人们在手持电话等小键盘电子信息设备上进行汉字输入时,最为普遍使用的汉字输入法为拼音输入法和笔画输入法,而其中的笔画输入法比较常见的有T9中文输入法、eZi中文输入法、iTAP中文输入法等。
这些目前公知的笔画编码的汉字输入方法的共同特点是①在输入法的目标要求上,它们均以输入快速、易学易用作为追求目标;并且要求汉字的笔画编码符合有关的国家规范标准。
②在输入法的按键利用上,它们均利用标准数字键盘上的0-9中的全部或部分数字键进行汉字笔画编码的输入,并利用未被用于笔画编码输入的其它数字键或非数字键进行汉字的选定和查找。
③在输入法的软件实现上,它们均使用高频字先见、词语推测联想等可以提高汉字平均输入速度的算法设计策略。
④在输入法的汉字编码上,它们均以笔画笔顺作为汉字的编码线索,并将名目繁多的汉字笔画类型归并为少量的几种。例如,在T9中文输入法中,将汉字的基本笔画分为五类;在eZi中文输入法中,将汉字的基本笔画分为八类;在iTAP中文输入法中,将汉字的基本笔画分为九类。
⑤在输入法的操作方式上,它们均是结合候选汉字列表实现汉字输入的,并且在汉字输入过程中涉及到笔画检索、汉字选定、列表翻页的按键操作。在笔画检索时,总是根据它们的各个笔画类型的键位分布,结合要输入汉字的笔画笔顺,依次输入它的笔画编码;在汉字选定时,普遍地使用“先将当前光标移动到要输入的汉字之上、然后选定确认”的方法,或者是“对当前候选汉字列表中的各个汉字进行数字按键编码、并由各相应的数字按键进行单健直接选定”的方法;在列表翻页时,往往是通过某一定义的按健,或者是光标在各个候选汉字上的连续移动实现翻页。这些输入方法,在进行上面所述的笔画检索、汉字选定、列表翻页这三种操作时,通常利用的是键盘上的不同按键。
⑥在笔画码的按键安排上,它们均是将各个用于汉字编码的笔画编码元顺序地安排在标准数字键盘上的数字键之上。
⑦在候选字的排列方式上,它们均是将候选汉字列表中的各个汉字以单行或多行的方式,顺序地排列在显示屏上。
上面所述的几种传统的汉字输入的操作方式,其最大的缺点是,在汉字输入过程中,所涉及到的按键的总数太多,不易实现“盲”操作(不看按键盘),视线在按键盘和显示屏之间的不断切换,往往会导致按动按键和输入汉字的效率的降低。

发明内容本发明克服了现有技术中的不足,提供了一种通过五个按键进行汉字输入的装置及其方法。其目的是,将汉字输入操作的整个过程实现于集中分布并便于操作的五个按键之上,以此来摆脱汉字输入过程中对按键的视觉依赖,以提高汉字输入过程中的按键操作速度;同时,设计科学合理的汉字编码方案和按键操作规则,增加按键的编码效率,以减少汉字输入过程中的按键次数。总而言之,本发明的目的是提高小键盘掌上设备中汉字输入操作的便捷性。
伴随着便携式电子设备小型化的发展趋势,其键盘变得越来越小巧,按键的间隔更紧凑,按键的表面积更小,并在其顶部印制更小的数字和字母。遗憾的是,这些电子设备的用户有时在辨认或按压那些小且紧凑安排的按键时遇到困难,容易造成用户一次按下多个键或者按错键。对于手持电话和其它便携式电子设备,存在着这些缺陷。因此需要将输入汉字所涉及到的按键的总数目减少。
为了解决上述问题,本发明是通过以下技术方案实现的在本发明中,力求将整个汉字输入过程中所使用的所有按键集中分布在五个易于操作的按键之上。这五个集中分布的按键,在本发明中合称为五键组,它由相对分布于上、下、左、右、中位置的五个按键构成,通过它们完成笔画检索、汉字选定、列表翻页的整个汉字输入过程。为提高五键组的可操作性,对它的机械设计要求是,结构紧凑、手感良好,这样操作者可以凭借五键组提供的明显的(拇指)触觉反馈,同时结合屏幕上的信息提示,可以方便直观地进行汉字输入操作。
在本发明中,候选汉字列表的分布形状与五键组的分布形状相同,即在候选汉字列表的每一页面中,除了处于中央位置用于标识汉字输入当前状态的提示符号之外,还包括四个候选汉字,并且它们分别位于提示符号的上、下、左、右位置。这使得候选汉字列表中上、下、左、右的四个候选汉字与五键组中上、下、左、右的四个按键之间存在着一种直接的链接关系,这种链接关系是通过直观的位置对应实现的。这种链接关系的建立,将使得候选汉字列表中的各个汉字均潜在地携带这样一种信息——选定该汉字所需要的按键在五键组中的位置。当通过五键组对候选汉字列表中的某一汉字进行选定操作时,结合这种信息提示,利用上、下、左、右四个按键位置的区别,以单健或复键(键组合)的形式,分别选定输入候选汉字列表中的上、下、左、右四个位置的汉字。
创建一种汉字输入系统,其实质是,把汉字的输入码(外码)转换为汉字的机内码。其基本要求是,编码效率高、编码长度短、编码规则简单、编码输入方便。在本发明中,为选择合理的汉字编码元,研究汉字的笔画构成特点,力争减少参与汉字编码的笔画类型的数目,并降低汉字输入过程中笔画类型的识别难度。通过对各种基本笔画类型的使用频度的统计,最后选择横、竖、撇、点、折五种基本笔画类型,或者其中的四种作为汉字编码的编码元。制订科学的编码规则,在参与编码的汉字笔画和输入它们的各个按键之间建立密切的关系,并以汉字书写的笔画笔顺作为汉字编码的天然线索。
与现有技术相比,本发明的有益效果是显而易见的,它主要表现在汉字输入操作的高效性和灵活性。

图1五键组的按键分布形状;图2候选汉字列表的分布形状;图3采用嵌套结构的候选汉字列表的分布形状举例;图4五种笔画编码元在五键组按键上的分布图;图5四种笔画编码元在五键组按键上的分布图;图6汉字输入过程举例;图7码本文件的数据格式;图8软件实现流程图9-图12在软件运行过程中的数据变化过程举例。
具体实施方式本发明所涉及的基于五键的汉字输入系统,包括目前小型掌上设备中通过按键实现汉字输入功能的硬件系统和软件系统。
本发明所涉及的汉字输入,指的是国家标准通用汉字库中的汉字的输入,并且在本专利说明中,汉字库以国家语言文字工作委员会和中华人民共和国新闻出版署联合发布的《现代汉语通用字表》(共收录7000个汉字)为例子。
在本发明中,对汉字采用的是笔画编码的方式,即按照汉字的自然笔画书写顺序,根据编码规则将它的各个参与编码的笔画以编码元的形式来表示。因此,每个汉字的笔画编码与汉字本身的笔画构成和笔画顺序有关。在本专利说明中,为了描述汉字笔画编码的方便,使用“12345”的五个数字分别表示“横竖撇点折”的五种基本笔画。在本发明的汉字输入码本中,各个汉字的笔画编码以国家语言文字工作委员会和中华人民共和国新闻出版署联合发布的《现代汉语通用字笔顺规范》(共收录7000个汉字)作为参考标准。
在本专利说明中,将以手持电话为例,阐述本发明的主要思想和各种具体实施方案。
下面将从五个方面、并结合附图、通过若干具体实施方式
,对本发明的技术方案做进一步的详细描述。
1关于五键组的设计方案五键组的存在是本发明赖以实现的前提基础。在本发明中,五键组就是整个汉字输入过程中所使用的全部按键。
1.1关于五键组的机械特征存在于按键盘上的五键组中的各个按键,应满足下面描述的机械特征。
1.1.1按键的数量构成用于实现整个汉字输入过程的五键组,顾名思义,它仅仅由五个按键构成。
1.1.2按键的相对位置五键组中的五个按键呈上、下、左、右、中的十字形相对位置分布,其分布形状如附图1所示。在下文的阐述中,五个按键分别称为上键、下键、左键、右键、中央键,其中上、下、左、右位置的四个按键又统称为四向键。
需要说明的是,上面提到的五键组的十字形按键分布,其名称或者含义源于五键组的按键构成及其各按键之间的相对位置,在附图1所给出的具体实施例的按键的外观特征,仅仅反映的是五键组的按键构成以及它们之间的相对位置分布,但它并不限定各个按键的具体形状。因此,当对这些按键的形状进行各种方式的美工设计后,仍可属于本发明的五键组的概念范畴之内。
1.1.3按键的分布间距为提高五键组中按键分布结构的紧凑性和适宜性,上、下、左、右、中的五个按键无论是各自独立分布,还是在物理上被一体化,上、下、左、右的四个按键的中心位置相对于中央键的中心位置的距离,均应适应于手指(通常为拇指)的舒适操作。
1.1.4按键的触觉反馈应通过机械设计,使五键组能够提供按键手感。几种典型的设计方案是之一,在整个五键组之中,中央键相对于四向键向键盘底部凹陷,形成一种“盆地”状结构;之二,在整个五键组之中,中央键与四向键之间的环形区域下沉,形成一种“沟壑”状结构;之三,在整个五键组之中,各个按键相对于它们之间的按键空隙上浮,形成一种“丘陵”状结构。
总之,五键组的上述机械特征表明,五个按键的数量是便于为人们所熟悉的;各个按键所处的上、下、左、右、中的相对位置也是便于人们所掌握的;紧凑的按键分布结构在汉字输入过程中缩短了手指在按键盘上的移动距离和时间;加强了手感设计的按键造型会为使用者提供良好的触觉反馈。所有这些,均为使用者对五键组的方便操作、尤其为是“盲”操作提供了有用的帮助,从而为快捷、连贯地进行汉字输入提供可能条件。
在汉字输入过程中,对按键的“盲”化操作方式所带来的一个好处是,因使用者摆脱了对键盘的视觉依赖,也避免了视线在键盘和屏幕之间的不断切换,从而能够将视线完全集中于屏幕上的候选汉字列表。因此,对于其笔画编码还没有输入完毕就已经在候选汉字列表中出现的汉字,均不会造成本不必需的多余笔画码继续输入的情况,而是在第一时间内直接进行汉字选定操作。
1.2关于五键组的存在形式十字形分布的五键组属于电子信息设备按键盘上的一个组成部分。幸运的是,在当前电子信息设备尤其是手持电话中,其按键盘上存在着其分布形状符合“上下左右中”特征的五键组合。它在整个按键盘上的分布位置,可以表现为下面两种形式。
1.2.1五键组分布在标准数字键盘中的“2-8-4-6-5”或者“5-0-7-9-8”数字键之上。
在标准数字键盘上,0-9的10个数字键、以及“*”和“#”的2个符号键,总是以4(行)×3(列)的阵列分布,并且它们中的五个数字键“2-8-4-6-5”或者“5-0-7-9-8”均构成了“上—下—左—右—中”的相对分布形状,符合本发明所涉及的五键组的分布形状特征。
1.2.2五键组分布在按键盘中的五向导航键之上。
可以直接利用当前电子信息设备的按键盘中常见的五向导航键(5-way navigation key),进行本发明所涉及的汉字输入。五向导航键是相对分布为上、下、左、右、中位置的一组相关按键,在手持电话中它通常位于按键盘的上部,普遍地被用于菜单浏览和光标移动的功能操作,其外围的四个按键有时被称为四向导航键。
当五键组位于五向导航键之上时,其最大优点在于,电子设备按键盘中的五向导航键本身的机械设计通常是结构紧凑、手感良好,它可以为本发明所直接借用,并赋予其汉字输入的特殊功能。尤其是当本发明的汉字输入系统应用于手持电话时,利用位于它的按键盘上部的五向导航键、并且利用拇指进行汉字输入操作时,更容易为使用者所把持话机;同时,由于本汉字输入系统在这种情况下并不占用按键盘上的数字键资源,可以实现在不切换本汉字输入法状态的情况下,直接利用数字键进行数字输入、或者利用数字键以其它不使用五向导航键的汉字输入法进行汉字输入。在另一方面,当五键组位于五向导航键之上时的不利因素是,五向导航键在新赋予的汉字输入功能和原有的其它功能之间会产生按键定义上的冲突,这种冲突需要设法解决。
五向导航键中的各个按键在机械设计上除了可以各自独立分布,也可以将它们一体化,即将整个五向导航键在机械上一体化为一个五向操纵杆式按键,这样,它除了上、下、左、右的四向按动之外,还可向下按动;也可以将五向导航键中的上、下、左、右键部分在机械上设计为一个整体,而将中央键独立分布。将五向导航键中的“上下左右中”五个按键中的全部或部分,在机械设计上被集于一体化的形式,同样也是可以符合前面描述的五键组的机械特征的,因此也是可以用作本发明所涉及的五键组进行汉字输入的,并且一体化的按键操作起来将更为方便灵活。
若对五键组的按键分布形状稍做变通,将原有的上、下、左、右的四个按键的相对位置保持不变,而将原来的中央键移动到这四个按键的外侧位置,而对五个按键的功能不做任何变化,这样做虽然并不影响本发明的汉字输入方法的实现,但按键操作的便捷性将会大打折扣。
1.3关于五键组的按键方式在本发明的各种实施例中,所涉及到的对五键组按键的操作方式总共有三种,它们分别是“按动”、“长按”、“双按”,对它们的统一解释如下①“按动”某键是指,按下某按键之后即松开,是最为普遍的按键方式;②“长按”某键是指,按下某按键之后并在一个软件所定义的足够长的时间段内保持这种按键被按下的状态;
③“双按”某键是指,连续按动某按键两次,并且两次按键之间的时间间隔小于一个软件所定义的足够短的时间段之内。它非常类似于计算机鼠标的“双击”操作。
2关于候选汉字列表的设计方案候选汉字列表是指,根据当前已经输入的笔画码串,由系统智能预测的可能要输入的各个汉字的列表,它可以多页(屏)显示。
保存于当前候选汉字列表中的各个汉字均满足这样的编码检索特征汉字的整个笔画编码、或其整个笔画编码的前缀部分(整个编码开头的一个或多个连续编码元),与当前已经输入的笔画编码串完全相同;当没有输入任何笔画码时,当前候选汉字列表中的汉字应为汉字库全集。
候选汉字列表是本发明的汉字输入系统的核心,同时也是汉字输入过程中的操作界面。在进入本汉字输入系统之后的整个汉字输入过程中,候选汉字列表始终存在。
2.1关于候选汉字列表的存在意义在本发明中,一旦进入汉字输入状态,候选汉字列表马上出现并始终存在,它可以为汉字输入提供各种便利,列举几项如下①候选汉字列表的存在,将为汉字输入时不经过笔画检索而直接进行汉字选定提供可能。在进入本输入系统之后但未输入汉字的笔画码之时,或者在输入一个汉字之后但未输入下一汉字的笔画码之时,候选汉字列表的存在,可以方便操作者在不输入任何笔画码的情况下,直接选定输入其首页中的一个汉字,这样做在整体上会减少按键次数。
②候选汉字列表的存在,有助于处理重码汉字、以及笔画编码前缀相同的汉字的输入问题。按照汉字的笔画编码规则进行汉字输入时,若两个或两个以上的汉字对应于相同的笔画编码、或者对应于相同的笔画编码前缀,为了对它们加以区别,或者是在没有输入任何笔画码的条件下对候选汉字列表同一页面内的各个汉字加以区别,通过候选汉字列表的形式,由系统自动产生二次识别码(例如可以是数字序号等)。广义地讲,这个二次识别码也是汉字编码的一个组成部分。因此,具有汉字选定的操作特性的候选汉字列表,实质上是为其中的汉字进行了改变汉字编码方法的第二次编码。本发明中对候选汉字列表同一页面内的汉字进行第二次编码的依据是,它们各自在列表页面内的位置。
③候选汉字列表的存在,将缓冲笔画输入和汉字检索二者之间的关系。在汉字输入时,候选汉字列表在笔画码串的输入和候选汉字的筛选之间起一种“缓冲池”的作用。除了对应于相同的笔画编码的多个重码汉字可以候选汉字列表中分别显示之外,当已输入的笔画编码串所构成的汉字并不存在时,以其为编码前缀的汉字可以提前出现于候选汉字列表,此时可以停止笔画检索而直接选定输入候选汉字列表当前页中汉字,有时还会节省按键次数。例如,在汉字库中以“黑”字为笔画编码前缀的汉字共有12个,按其笔画编码的字典顺序,依次排列为“黑墨黠黩默黔黟黥黯黜黢黝”。“黑”字的完整的笔画编码为“254312,114444”。当要输入“黑”字旁中的某个汉字时,通过笔画码检索,在输入笔画码“254312”之后,已经唯一地识别了所有的以“黑”字的笔画编码为其编码前缀的这12个汉字,它们存在于当前的候选汉字列表之中,此时可以直接选定输入位于首页中的、以“黑”字为编码前缀的汉字。另一方面,倘若继续输入笔画编码“114444”,候选汉字列表也没有任何变化,从此意义上讲,12个“黑”字为编码前缀的汉字已经提前出现在当前的候选汉字列表之中。
④在本发明中,候选汉字列表的存在,还有助于解决笔画编码长度为零的汉字的输入问题。当所采用的汉字编码规则决定了汉字的笔画编码不存在时,可以将这些汉字置于当前候选汉字列表的首页之中,以便对其直接选定输入。
2.2关于候选汉字列表的外观属性候选汉字列表往往由多个候选汉字构成,因此它常常多页保存、翻页显示。在候选汉字列表的每页中,共显示有四个汉字,它们呈上、下、左、右的十字形分布,如附图2所示。
在五键组中的四向键与屏幕中的候选汉字之间的对应关系上,本发明企图通过这种方法来建立二者之间的直接映射——各候选汉字在其列表中的相对位置即代表选择该汉字的四向键在五键组中的相对位置。这样的位置映射关系将使得汉字选定操作非常的直观。在汉字输入过程中,可以通过五键组中的上、下、左、右的四向键,分别选定输入当前候选汉字列表中与它们位置相对应的候选汉字。这样,通过对汉字输入系统的操作界面即候选汉字列表的造型设计,对每一个候选汉字进行特别方便于选定输入的二次编码,因为它提供的是直接面向按键操作的键位信息。
总之,候选汉字列表的上述外观属性表明,候选汉字列表中每页显示的四个汉字的容量,可方便地为人的视野范围所接受;同时,候选汉字列表中的四个候选汉字呈十字形的分布形状,可将这四个候选汉字分别与五键组中上、下、左、右的四个按键建立起一种直观的位置映射关系,方便汉字选定。
作为汉字输入操作界面的候选汉字列表还可以出现嵌套结构,这样的一个例子如附图3所示,在候选汉字列表的每个页面中共罗列16个汉字,它们被划为上、下、左、右的4个分区,每个分区中的4个汉字又有上、下、左、右的位置之分。在汉字选定时,首先根据要选汉字在候选汉字列表中的分区的位置,通过相应的四向键,选中它所在的分区,之后该分区以线框、反色、变化了的前景或背景颜色等手段加以特别显示;然后根据要选汉字在分区中的具体位置,按动相应的四向键,该汉字即被选定。以附图3所示的候选汉字列表页面为例,当要选定输入其中的“人”字时,首先由下键选中下面的分区,然后再由下键选定该字。
在嵌套结构的操作界面中,汉字选定操作需要更多的按键次数;同时,这种嵌套结构因加大了每页中的汉字数量,尤其是当与要输入汉字重码的汉字数目多于4时,避免或减少了列表翻页操作,也提高了对列表中汉字的目检速度。
无论是单层结构还是嵌套结构,在候选汉字列表页面的中央位置,均应以各种形象化的提示符号,标识汉字输入过程中的当前按键状态。
2.3关于候选汉字列表的操作属性在整个汉字输入过程中的各种具体按键操作,均是以候选汉字列表为中心对象,其基本目标都是将要输入的汉字从候选汉字列表调入到文本输入编辑区之内。对于候选汉字列表的按键操作有三种类型笔画检索、汉字选定、列表翻页,对它们分别描述如下。
2.3.1笔画检索这种按键操作指的是,根据要输入汉字的笔顺,依次输入它的笔画编码元,并以此作为关键码条件,在当前候选汉字列表中检索要输入的汉字。
在汉字输入过程中,随着汉字笔画码的不断输入,对现有候选汉字列表中的所有汉字,根据输入的笔画码也进行着不断的检索和淘汰。将符合检索要求的各个汉字继续保留于候选汉字列表,而不符合检索要求的汉字将从列表中消失。继续保留于列表的仍是以当前已输入的笔画编码串为其笔画编码、或者笔画编码的前缀的所有汉字,因此每输入一个笔画码,候选汉字列表也随即更新。如果参与汉字编码的码元个数为5,那么在理想情况下,候选汉字列表中的汉字数目也将以(1/5)N的衰减速度缩小(N为输入的笔画编码的长度)。
2.3.2汉字选定这种按键操作指的是,对出现在候选汉字列表当前页中要输入的汉字,利用候选汉字与四向键之间的直观位置对应关系,通过相应的键操作将它调入到文本输入区的当前光标之处。
当要输入的汉字出现于候选汉字列表的当前页时,需要这种按键操作。并且在本发明中,汉字选定是在任一汉字输入过程中都必不可少的操作。
2.3.3列表翻页这种按键操作指的是,当候选汉字数量较多,需多页分别显示时,可通过按键对当前候选汉字列表进行翻页,分批地查找要输入的汉字。
列表翻页操作使用的场合通常是,在笔画检索操作时,对要输入汉字中的某些笔画类型识别有难度、或者笔画顺序难以掌握,而中断了笔画码的继续输入,因输入的笔画码过少导致候选汉字太多,而它又未能出现在候选汉字列表的当前首页时;以及在笔画检索操作时,当要输入汉字中的所有笔画码输入完毕,但因重码字较多,而它又未能出现在候选汉字列表的当前首页时。
以上描述的三种按键操作方式是相辅相成的,在汉字输入过程中它们可以交叉进行。并且在候选汉字列表的任一状态之下,均可进行这三种按键操作类型中的任意一种。需要说明的一点是,在汉字输入的过程中,为使要输入的汉字尽快出现于候选汉字列表的当前页,可以通过笔画检索的按键操作方式,也可以通过列表翻页查找的按键操作方式。为提高汉字输入效率,本输入系统都积极推荐尽可能多地输入它的笔画码,使其尽快出现在候选汉字列表的首页中,而不是通过翻页的方法找到它。这是因为,笔画码输入是属于一种索引查找方式,而翻页属于一种分块查找方式,通常前者要比后者的算法效率要高。所以,即使是要输入的汉字为上一输入汉字的词语联想字,但由于词语联想字较多而它未排列在候选汉字列表的首页之内时,为提高输入效率,也应尽量不使用、或者不首先使用翻页的方式查找它,而应首先使用笔画检索的方式。
在任一汉字输入过程中的检索、查找的按键操作之前,候选汉字列表所处的状态,在本发明中统称为候选汉字列表的初始状态。具体地说它就是,在进入本汉字输入系统之后而未进行任何按键操作的状态、或者是在刚刚输入一个汉字之后而未进行任何按键操作的状态、或者是在一个汉字的选定输入之前所进行的各种按键操作被CLR(清除)键清除之后的状态、或者是在笔画检索操作时所输入的笔画码经系统判断为非法后将要自动返回的状态。在初始状态下,候选汉字列表中的汉字构成为整个汉字库,并且屏幕显示候选汉字列表的首页。
2.4关于候选汉字列表的排序属性在候选汉字列表中各个汉字排列顺序的设计上,应遵循下面的原则①高频使用的汉字位于低频使用的汉字之前。众所周知,汉字库中每个汉字的整体使用频率并不相同,它们呈现出“少量汉字被高频使用”的特点。汉字出现频度的不平衡性,造成汉字的效用呈现出由高频字到低频字依次递减的规律。使用频率越高的汉字,覆盖面越广,效用越好。为此,应用频率统计机制,提高汉字输入的平均速度。其方法是,根据各个汉字使用频率的不同,由高到低地依次排列它们,并且无论何时都保持这种排列特性。因为高频使用的汉字始终位于候选汉字列表的前部,它们会尽早地出现于候选汉字列表的首页以方便输入。表现在显示屏的操作界面上,就是“高频先见”的汉字排列特性。
②词语联想的汉字位于非词语联想的汉字之前。在汉语的句子表达中,词语出现的成份较多,为此引入词语联想机制,将与当前已输入的汉字可以构成词语的下一汉字,列于候选汉字列表的前部,无疑会加快汉字的输入过程。同时为了提高效果,应在本发明的汉字输入系统的码本中加大每个汉字的词语联想字的数目。应用词语联想机制后,可以明显地提高汉字输入效率。因为,当要输入的汉字为上一输入汉字的词语联想字时,通过笔画检索的方式,词语联想字的数量将以指数级的速度衰减,往往是只需少量的按键次数,要输入的汉字即可出现于候选汉字列表的首页之中。
③完全匹配的汉字位于前缀匹配的汉字之前。在各个候选汉字中,应将完全匹配的汉字置于前缀匹配的汉字的前面。这是因为,当输入一个笔画编码串之后,候选汉字列表所列的汉字有完全匹配字,也有前缀匹配字。假设要输入的汉字为完全匹配字,当把它放在后面时,因其笔画码输入完毕,就只有通过翻页的方法才能找到它,并且有时会需要大量的列表翻页操作;当把它放在前面时,在重码字不超过一页的容量即四个汉字的情况下,就不存在翻页操作。假设要输入的汉字为前缀匹配字,即使位于候选汉字列表的后部而未能显示于首页,仍可通过继续输入笔画编码的方法来检索它,而不是通过翻页的方式。重要的是,通常而言笔画检索的查找方式比翻页查找的方式效率要高。
另外,构成汉字的笔画数是同汉字的使用频率密切相关的,汉字使用频率越高,构成汉字的笔画数就越少;相反,汉字使用频率越低,构成汉字的笔画数就越多。在总体上,汉字的使用频率和汉字的笔画数成反比,呈现出汉字笔画趋简的规律。从此意义上讲,将笔画总数较少的完全匹配的汉字,放在笔画总数较多的前缀匹配的汉字之前,与前面提到的高频字位于低频字之前是一致的。
根据上面几条原则的思想,将各种类型的汉字,按其在候选汉字列表中的排列顺序,依次列举如下①在整个汉字库中、同属于上一输入汉字的词语联想字、并且与当前已经输入的笔画码串完全匹配的所有(重码)汉字,即完全匹配的词语联想字,并且它们按照各自使用频率的高低依次排列;②在整个汉字库中、不属于上一输入汉字的词语联想字、并且与当前已经输入的笔画码串完全匹配的所有(重码)汉字,即完全匹配的非词语联想字,并且它们按照各自使用频率的高低依次排列;③在整个汉字库中、同属于上一输入汉字的词语联想字、并且以当前已经输入的笔画码串作为其笔画编码的前缀的所有汉字,即前缀匹配的词语联想字,并且它们按照各自使用频率的高低依次排列;④在整个汉字库中、不属于上一输入汉字的词语联想字、并且以当前已经输入的笔画码串作为其笔画编码的前缀的所有汉字,即前缀匹配的非词语联想字,并且它们按照各自使用频率的高低依次排列。
3关于汉字输入的按键规则的设计方案下面将描述汉字输入过程中的具体按键操作规则。
3.1关于汉字输入的笔画编码方式汉字编码是汉字的另一种表达形式。在本发明中,除了以非编码因素的辅助手段来提高输入速度的方法之外,还要求能够通过汉字编码自身,加快汉字的输入速度。为此,要恰当地选择编码元,设计科学的汉字编码规则,并据此建立汉字库中每个汉字的笔画编码。
本发明所涉及的汉字输入系统,是在符合国家语言文字的相关规范的基础上,建立易学易用的汉字编码的。它将汉字的基本笔画分类为公知的五种横、竖、撇、点、折,根据汉字书写的笔画和笔顺对汉字进行编码,并以此为线索进行汉字输入时的笔画检索操作。
3.1.1关于汉字的笔画类型汉字的“笔画”(stroke)是指,构成楷书汉字字形的最小单位。它是在书写汉字的时候,每一次从落笔到起笔所写出来的点或线。
在《现代汉语通用字表》和《现代汉语通用字笔顺规范》中,规定了五种基本的笔画类型(即“笔形”,stroke feature),它们是一(横)、丨(竖)、丿(撇)、丶(点)、乛(折)。
在上面的五种基本笔形中,又有主笔形(basic stroke feature)和附笔形(subordinate strokefeature)之分。例如,在基本笔形“一(横)”中包括主笔形“一(横)”和附笔形“ (提)”;在基本笔形“丨(竖)”中包括主笔形“丨(竖)”和附笔形“亅(竖钩)”;在基本笔形“丿(撇)”中不存在附笔形;在基本笔形“丶(点)”中包括主笔形“丶(点)”和附笔形“(捺)”;在基本笔形“乛(折)”中包括各种折笔笔画。
在上面的五种基本笔形中,可以归并为两类,即平笔笔形(plane stroke feature)和折笔笔形(turningstroke feature)。其中,平笔笔形有四种基本笔形一(横)、丨(竖)、丿(撇)、丶(点);折笔笔形有一种基本笔形乛(折)。
3.1.2从五种基本笔画类型的使用频度验证其作为汉字编码元的合理性3.1.2.1字库统计为了统计汉字中的基本笔画类型“横竖撇点折”各自在汉字构成时的使用频度,首先以收录于《现代汉语通用字笔顺规范》中的汉字的笔画构成为样本进行分析,并对五种基本笔画类型在构成这些汉字时的使用频度进行统计,其数据结果如下在该《现代汉语通用字笔顺规范》中,收录的汉字总数为7000个,“横竖撇点折”的基本笔画的出现总次数为75290次,每个汉字的平均构成笔画数目为(75290/7000≈)10.76,其中的每一种基本笔画类型的出现情况为一(横)共出现22948次(总体使用频度约为30.48%);丨(竖)共出现14397次(总体使用频度约为19.12%);丿(撇)共出现11997次(总体使用频度约为15.93%);丶(点)共出现12596次(总体使用频度约为16.73%);乛(折)共出现13352次(总体使用频度约为17.73%)。
3.1.2.2文本统计考虑到各个汉字在汉语中的使用频度因素,经过对若干篇典型文章中的各个汉字中的笔画构成的统计分析,发现“横竖撇点折”笔画在汉字构成时的使用频度也与以上统计的百分比数字基本一致。
3.1.2.3数据结论作为一种科学的汉字编码方法,各个参与汉字编码的编码元在汉字输入时应尽可能均等概率地出现,因为这样可以提高编码效率。从上面的统计结果看,“横竖撇点折”的出现概率并非特别失衡,同时考虑到汉字编码方式的简单性原则,将“横竖撇点折”作为汉字的笔画编码元基本上是符合要求的,这种码元分类方法和汉字编码方案也是合理的。顺便值得一提的是,单单从码元使用频度的均衡性的角度讲,在当前某些汉字笔画输入法之中,将“折”笔画类型进行了较多的门类细分,意义并不大。
3.1.3关于汉字的笔顺规则除了汉字的笔画类型,进行汉字编码的另外一个重要因素是汉字书写时的笔画顺序。汉字的“笔顺”是指,一个汉字书写时笔画的先后顺序。
汉字笔顺的一般规则如下所述①先上后下(例字旦、星、章、军、叁);②先左后右(例字阳、明、打、谢、啪);③先横后竖(例字十、干、击、王、拜);④先撇后捺(例字入、八、人、分、参);⑤先外后内(例字周、风、问、同、用);⑥先里头后封口(例字田、目、团、国、围);⑦先中间后两边(例字小、水、木、永、兼);⑧先中间后加框(例字山、凶、幽、丞、亟)。
上述只是一般的原则,由于汉字的结构复杂、形体变化多样。不同字的笔顺是上述原则的综合运用,而不一定过于拘泥。
3.2关于汉字输入的按键操作方案本部分将阐述如何利用五键组中的五个按键,进行汉字输入过程中所涉及到的三种按键操作笔画检索、汉字选定、列表翻页。并假设候选汉字列表的页面容量为4字/页。
3.2.1方案一(简记为笔画检索=五个码元、五键按动输入;汉字选定=长按四向键;列表翻页=长按中央键。)3.2.1.1笔画检索利用五种基本笔画即“横竖撇点折”作为编码元,对汉字进行编码,并利用五键组中“上下左右中”的五个按键,根据要输入汉字的笔顺,依次输入它的笔画编码。
五种笔画与五个按键一一对应,关于它们对应方式的一个案例如附图4所示,其中,上—横、下—竖、左—撇、右—点、中—折。在这种方案中,由各按键在整个五键组中的位置很容易联想到与它相应的笔形走势、以及它所代表的笔画类型,这会对用户提供有用的视觉帮助,因此也不必将各笔画类型印制在五键组中的相应按键之上。
在根据这种汉字编码方式进行笔画检索时,按照欲输入汉字的笔画构成和笔画顺序,将它的“横竖撇点折”笔画,分别通过“按动”五键组中“上下左右中”的五个按键依次输入。例如,在这种方案下,“构”字的笔画编码为横(1)、竖(2)、撇(3)、点(4)、撇(3)、折(5)、折(5)、点(4),编码长度为8。
3.2.1.2汉字选定当欲输入的汉字出现于候选汉字列表当前页之中时,通过“长按”五键组中与该汉字位置相对应的四向键,即可直接选定输入这一汉字。
3.2.1.3列表翻页通过“长按”中央键,对候选汉字列表进行单向循环翻页。
3.2.2方案二(简记为笔画检索=五个码元、五键按动输入;汉字选定=双按四向键;列表翻页=双按中央键。)3.2.2.1笔画检索内容同于前面方案一中“3.2.1.1笔画检索”部分的描述。
3.2.2.2汉字选定当欲输入的汉字出现于候选汉字列表当前页之中时,通过“双按”五键组中与该汉字位置相对应的四向键,即可直接选定输入这一汉字。
3.2.2.3列表翻页通过“双按”中央键,对候选汉字列表进行单向循环翻页。
3.2.3方案三(简记为笔画检索=四个码元、四键按动输入;汉字选定=中央键+四向键;列表翻页=中央键+中央键。)3.2.3.1笔画检索利用五种基本笔画即“横竖撇点折”之中的四种作为编码元,对汉字进行编码,并利用五键组中“上下左右”的四个按键,根据要输入汉字的笔顺,依次输入它的笔画编码。
在五种基本笔画“横竖撇点折”之中选出四种作为编码元对汉字进行编码时,将有五种实施案例,它们分别是忽略“横”利用“竖撇点折”的编码法;忽略“竖”利用“横撇点折”的编码法;忽略“撇”利用“横竖点折”的编码法;忽略“点”利用“横竖撇折”的编码法;忽略“折”利用“横竖撇点”的编码法。现以最后一种情况为例做进一步说明。
利用“横竖撇点折”中的四种平笔笔画,即“横竖撇点”作为编码元,对汉字进行编码。
四种笔画与四个按键一一对应,关于它们对应方式的一个案例如附图5所示,其中,上—横、下—竖、左—撇、右—点。在这种方案中,同样因笔形走势与按键位置之间的形象化对应关系,也不必将各笔画类型印制在五键组中的相应按键之上。
在根据这种汉字编码方式进行笔画检索时,按照欲输入汉字的笔画构成和笔画顺序,将它的“横竖撇点”笔画,分别通过“按动”五键组中“上下左右”的四个按键依次输入,而将汉字构成中出现的“折”笔画忽略(跳过)不输入。例如,在这种方案下,“构”字的笔画编码为横(1)、竖(2)、撇(3)、点(4)、撇(3)、点(4),编码长度为6。
3.2.3.2汉字选定当欲输入的汉字出现于候选汉字列表当前页之中时,通过先“按动”中央键、再“按动”五键组中与该汉字位置相对应的四向键,即可直接选定输入这一汉字。
3.2.3.3列表翻页通过连续“按动”中央键两次,对候选汉字列表进行单向循环翻页。
3.2.4对以上三种按键操作方案的补充说明上面三种关于汉字输入的按键操作方案只是普遍使用的规则,还需要对其中的某些具体问题做出具体的补充说明。
3.2.4.1三种按键操作方案各有优劣纵观前面三种汉字输入的按键操作方案,它们是通过汉字编码元的多少(五个/四个)和四向键复用时的区别方式(长按/双按/辅助)的不同,所形成的方案组合。它们在按键操作方式上各有不足,在方案一中,因使用了按键的“长按”操作,在汉字选定和列表翻页操作时,往往需要操作者的目视等待;在方案二中,因使用了按键的“双按”操作,在笔画检索操作时,对连续输入相同笔画时的时间间隔的最小值做出了限制;在方案三中,因使用了按键的“辅助”操作,在汉字选定和列表翻页操作时,需要使用中央键作为前缀的辅助键。
3.2.4.2对方案三中省略折笔画的汉字编码方案的优劣评论根据上面方案三中“折”笔画的处理方式,在输入汉字的各个编码元时,将以跳跃的方式输入汉字中的平笔笔形(横、竖、撇、点),而忽略其中的折笔笔形(折),因此使用者无需考虑名目繁多的折笔分类。
同时,由于省略了汉字中的“折”笔画,在输入汉字的笔画编码时,只要“横竖撇点”之间的相对顺序正确,而“折”笔画在它们之间的位置并不需要考虑,就能正确地进行笔画编码的输入。这是因为,在汉字的笔画笔顺中,“折”笔画与它相邻的非“折”笔画(横竖撇点)之间的相对顺序无论使用者视为如何,都会因“折”笔画不参与汉字编码,而仅输入涉及“横竖撇点”的相对顺序固定不变的笔画编码。因此,这种处理方式除了使汉字的编码规则更为简洁之外,还会在某种程度上降低了操作者对汉字笔顺掌握的要求,或者它能在一定程度上对汉字输入的笔顺具有容错能力。
从编码元对汉字的编码效率上看,因为由汉字总数所决定的每个汉字平均所需的理论编码长度(例如算式Log57000≈5.50、Log47000≈6.39),小于汉字的平均笔画总数(10.76)。所以,当省略了汉字中的“折”笔画之后,利用其余部分的笔画对汉字进行编码是可行的,并且这样将会在整体上更能反映汉字的构成特点,从而更有效地将各个汉字区别开来。实际上,当省略了汉字中的“折”笔画之后,对《现代汉语通用字笔顺规范》中收录的7000个汉字的笔画编码的统计表明,汉字的平均笔画数目由10.76降为8.85,同样大于数值6.39。
但是,当采用上面省略“折”笔画的汉字编码方案时,相对于“横竖撇点折”的完整的笔画编码方案,在理论上必然会造成汉字平均所需编码长度的增加。例如,当使用的汉字总数为N=1000时,理论编码长度的增加为(Log4N-Log5N)≈0.69;当使用的汉字总数为N=3000时,理论编码长度的增加为(Log4N-Log5N)≈0.80;当使用的汉字总数为N=7000时,理论编码长度的增加为(Log4N-Log5N)≈0.89;当使用的汉字总数为N=20000时,理论编码长度的增加为(Log4N-Log5N)≈0.99。
令人欣慰的是,由于汉字笔画编码中存在着“冗余”码,并导致“输入的笔画码多余”的现象,当以间隔、跳跃的方式输入汉字笔画笔顺中的非“折”笔画时,将在一定程度上改善此现象,对某些汉字也未必能够引起汉字编码长度的增加。例如,以“雨”(其完整的笔画编码为1452,4444)为偏旁部首的汉字多达31个,将它们按照完整的“横竖撇点折”笔画编码的字典顺序排列为“雩霸霰霖霜震需颥雳霏霄雷露酃霆霉霓霍霾零雾雹雯霁霎霈霪霭雪霞霹”。在它们的完整的“横竖撇捺折”笔画编码中,这些汉字的编码前缀部分“1452”已经足足可以将它们区别于汉字库中的其它汉字。当继续输入位于这些前缀之后的、同样属于“雨”字的笔画编码部分“4444”,符合检索要求的这31个汉字竟然没有任何变化。笔画编码部分“4444”就是汉字笔画编码中的“冗余”码,它们对于缩小汉字列表的规模没有起到任何作用。当采用省略“折”的“横竖撇点”的笔画编码法时,当输入“雨”(其完整的笔画编码为142,4444)字的编码前缀部分“1424”之后,即可将前面这31个汉字区别于汉字库中的其它汉字。虽然继续输入后面的笔画编码部分“444”之后,符合检索要求的汉字的规模也没有任何变化,但其总体输入的笔画码数目7将同样达到前面所述的输入笔画码数目为8时的效果。
编码元数量的减少,一方面,在理论上会导致汉字所需的笔画编码长度的增加;而另一方面,汉字中参与编码的笔画总数是有限的,当它未能满足这种编码长度增加的需要时,会造成大量重码汉字的存在。例如,当采用上面省略“折”笔画的汉字编码方案时,经过对《现代汉语通用字表》收录的7000个汉字进行笔画编码后的统计表明,共产生628组重码字(每组内的汉字的笔画编码完全相同),它们共涉及到1777字;当然,当遇到重码汉字的输入时,并非必须进行翻页操作,因为只有当要输入的重码字未出现于候选汉字列表的首页时,才有必要进行列表翻页的按键操作。在上面这些重码汉字中,共有65组重码字,共涉及到448字,它们每组中的重码字数目均超过了4字。因此,对于4字/页的候选汉字列表的页面容量,必须通过翻页查找的非首页汉字共有(448-65×4=)188个,由此看来,这些汉字在整个汉字库中的百分比并不大,仅为(188/7000≈)2.69%。对于这些翻页查找的汉字,根据统计,它们所需的平均翻页次数为1.20。
与之相比较的是,对于“横竖撇点折”的完整笔画编码方式,共有219组重码字,共计486个汉字。在各组重码的汉字中,重码汉字数目大于4的仅有一组,在该组中共有7个重码的汉字“么久勺丸夕凡及”,它们的笔画编码均为“354”。
3.2.4.3编码长度为零的汉字的输入在上面方案三中,当使用忽略“折”利用“横竖撇点”的笔画编码法时,将会造成全部由“折”笔画构成的汉字(共有2个汉字乙、乜)的编码长度为零的情况;当使用忽略“横”利用“竖撇点折”的笔画编码法时,将会造成全部由“横”笔画构成的汉字(共有3个汉字一、二、三)的编码长度为零的情况;当使用忽略“竖”利用“横撇点折”的笔画编码法、或者忽略“撇”利用“横竖点折”的笔画编码法、或者忽略“点”利用“横竖撇折”的笔画编码法时,将不会造成这种情况,因为汉字库中全部由竖、撇、点笔画构成的汉字不存在。
对于因笔画编码长度为零而无法进行笔画检索的汉字的输入问题,除了改用“横撇点折”、或“横竖点折”、或“横竖撇折”的笔画编码方案之外,还可以使用以下方法之一,凡是在候选汉字列表处于初始状态下,均将这些特殊汉字(“乙、乜”或“一、二、三”)在首页之中罗列出来,此时无需笔画检索而可直接选定输入它们。当要输入的汉字不是它们而开始输入汉字的笔画编码后,这些特殊汉字因不符合笔画检索要求,而会从当前候选汉字列表中消失。
之二,仅仅是在进入本汉字输入系统之后的候选汉字列表的初始状态下,才将这些特殊汉字(“乙、乜”或“一、二、三”)在首页之中罗列出来,此时无需笔画检索而可直接选定输入它们。当开始输入汉字的笔画编码后,这些特殊汉字即从候选汉字列表中消失。在其它情况的初始状态下,这些特殊汉字并不出现在候选汉字列表之中。因此,当要再次输入这些特殊汉字时,需先退出本汉字输入系统,然后重新进入。
除了上述两种方法之外,一种比较消极的解决措施,是将本发明的汉字输入法状态切换到其它输入法状态,例如拼音输入法,来输入这些特殊的汉字。
在上面第一种方法中,将零编码长度的汉字(“乙、乜”或“一、二、三”)放于各种情况下的候选汉字列表的初始状态下的首页之中,更能体现前面“2.4关于候选汉字列表的排序属性”部分所描述的内容,这些特殊汉字的编码长度因与当前已经输入的笔画编码长度相同(均为零),属于完全匹配字。同时,由于并没有对这些特殊汉字的输入做特殊处理,这也体现了所有汉字在输入规则上的统一和简洁。但是,候选汉字列表一旦处于初始状态,这些零编码长度的汉字总会占用列表首页中的汉字位置,而不利于更多的词语联想字不经过笔画检索的直接选定输入。
3.2.4.4候选汉字列表的自动复位和人为复位当前候选汉字列表中保存的汉字,始终是根据已输入的笔画码串在整个汉字库中的检索结果;但当已输入的笔画码串非法,即码本中不存在以此为编码或编码前缀的汉字时,系统将自动清除当前已经输入的所有笔画码,并使候选汉字列表返回到先前的初始状态。
在汉字输入过程中,虽然已输入的笔画码合法,但是操作者意识到它们对于要输入的汉字属于按键误操作,此时也可以利用CLR键来清除。其方式是,在汉字输入进行之后的任何操作状态下,通过按动或者长按CLR键,清除当前已经输入的所有笔画码,并使候选汉字列表返回到先前的初始状态。
在前面,无论是笔画码非法而导致的自动复位,还是按键误操作而进行的人为复位,系统均将清除已输入的全部笔画码,而非当前输入的最后一个笔画码。其理由是,一则笔画编码的错误往往并非由最后输入的一个笔画码引起的,而是由错误的笔顺造成的,需要重新开始输入汉字的笔画编码;二则本发明的输入界面上只能显示最后输入的一个笔画码,而不能同时显示已输入的所有笔画码,操作者也无法对它们看得清除。
3.2.4.5按键功能的扩展方式在上面关于汉字输入的按键操作的三种方案中,通过对四向键使用不同于笔画检索、汉字选定、列表翻页的其它按键操作方式,也即使用四向键的其它键码值,对本输入系统中所输入字符的类型实现功能扩展。例如,方案一可使用“双按”四向键的方法;方案二可使用“长按”四向键的方法;方案三可使用“长按”或者“双按”四向键的方法。下面给出对本汉字输入系统进行功能扩展的两个例子之一,利用对四向键的其它按键方式,在不改变汉字输入状态的情况下,输入最常用的四个标点符号,并使候选汉字列表返回到初始状态,并且这种初始状态同于进入本汉字输入系统之后而未进行任何按键操作时的初始状态。作为一个例子,四个按键与四个标点符号之间的对应关系分别为上键—逗号(,);下键—句号(.或。);左键—问号(?);右键—感叹号(!)。
之二,利用对四向键的其它按键方式,分别将当前的汉字输入列表状态切换到其它比较特殊的字符输入列表状态,这些特殊的字符列表可以是——本输入系统中笔画编码长度为零的汉字的输入列表状态。即“乙、乜”,或者“一、二、三”字,单独把它们放在一个列表中,当操作者输入这两个汉字时需要进入这个列表中进行选定输入。实际上,它为前面所述的“编码长度为零的汉字的输入”,提供了一种问题的解决方案。
——常用标点的输入列表状态。即各种全角和半角标点符号,举例但不局限于下面这些,、。;!?·‘’“”()[]{}「」<>《》——……——常用符号的输入列表状态。即各种特殊符号、表情符号、标识符号等的输入,举例但不局限于下面这些+-×÷=±~*@#$∵∴∷…√⊥∥∠⊙◎∫∮≡≌≈∞∝≠≮≯≤≥αβε♂♀|‖/\%&¥※∑∏∈Ω∧∨℃¢¤№§☆★△▲◇◆○●□■〓前面这些特殊字符在其列表中的排列方式,同于候选汉字列表的十字形。不过,在选定输入其中的字符时,可以直接“按动”四向键;在对字符列表进行单向循环翻页操作时,可以直接“按动”中央键。
当进入到特殊的汉字或符号输入列表状态并输入一个字符之后,或者虽已进入到这个特殊的输入列表状态、但没有输入任何字符而按动了CLR键之后,系统将自动返回到汉字输入状态并使候选汉字列表处于初始状态,而且这种初始状态同于进入本汉字输入系统之后而未进行任何按键操作时的初始状态。
除了上面描述的利用对四向键的其它按键方式进行功能扩展的方法之外,针对上面关于汉字输入的按键操作的三种方案,还可利用空缺的汉字笔画编码来进行功能扩展,但这需要使用者记忆特殊的编码作为功能操作的入口。
3.2.4.6按键状态的切换方式当本发明的五键组分布在手持电话等设备的按键盘中的五向导航键之上时,在字符文本的输入编辑状态下,由于此时的五向导航键的功能通常已经被常规地定义为,(四向键的)上下左右的光标移动功能和(中央键的)文本输入的完成确认功能。因此,要求五键组必须具有笔画检索、汉字选定、列表翻页、光标移动、完成确认的多个功能,为此它需要在汉字输入功能和常规定义功能之间进行相互的状态切换。
五向导航键在新赋予的汉字输入功能和原有的常规定义功能之间的状态切换,有多种实现思路,举例分别论述如下之一,利用对中央键的其它按键方式,在五向导航键的两种功能状态之间进行相互切换。
在上面关于汉字输入的按键操作的三种方案中,通过对中央键使用不同于笔画检索、汉字选定、列表翻页的其它按键操作方式,也即使用中央键的其它键码值,实现五向导航键的两种功能状态之间的相互切换。例如,方案一可使用“双按”中央键的方法;方案二可使用“长按”中央键的方法;方案三可使用“长按”或者“双按”中央键的方法。
进一步举例说,在方案三中可通过“长按”中央键的方式,将五向导航键的功能在汉字输入功能和常规定义功能这两种状态之间进行相互切换,并且这种切换可以在两种状态下的任何按键操作过程中随时进行。两种功能状态的区别标志在于作为汉字输入界面的十字形候选汉字列表是否存在。在汉字输入状态下,由“上下左右中”的五个按键进行汉字输入的各种操作;在常规定义状态下,由“上下左右”的四个按键进行上下左右的光标移动操作,由中央键进行其定义的功能操作,例如为文本输入的完成确认功能。
因为这种状态切换方案的执行不使用五键组之外的其它按键,操作起来比较方便。例如方案三中直接利用“长按”中央键的方法实现两种功能状态之间的切换,可以实现在拇指不离开五键组的情况下,直接切换按键的功能状态。
另外,它还可以实现在不退出本汉字输入法状态的情况下,利用CLR键对已输入的文本字符进行删除。例如,在候选汉字列表的初始状态下,利用CLR键删除文本字符,与此向时作为汉字输入操作界面的候选汉字列表依然存在,以便在字符删除之后继续进行汉字输入操作。
之二,利用五键组之外的软键或其它键,在五向导航键的两种功能状态之间进行相互切换。
在汉字输入的状态下,如果存在可利用的软键资源,那么完全可以通过对这些空闲的软键进行按键定义,利用按动软键的方式,将五键组的功能在汉字输入功能和常规定义功能这两种状态之间进行相互切换。
这里所说的“软键”(soft key),在手持电话中,它通常有两个,位于按键盘的上部,由软件灵活定义其在当前操作状态下的功能,并由屏幕底行的标签文字给予简要说明。
这种状态切换方案的操作方式比较简单,但要求在汉字输入状态下存在着这样一个空闲的软键资源。倘若没有空闲的软键可以利用,仍然可以通过标准数字键盘上的“*”键,或者“#”键的其中之一,将五键组的功能在汉字输入功能和常规定义功能这两种状态之间进行相互切换。无论如何,这种切换方式均需要占用其它的按键资源,因此这种状态切换方案的执行需要事先考察这些按键是否已被功能定义。
之三,利用五键组之外的CLR键和软键,在五向导航键的两种功能状态之间进行相互切换。
当通过某个按键,例如软键,切换汉字输入法到本发明的汉字输入法状态之后,五向导航键的功能首先默认地处于汉字输入状态,同时对这个切换汉字输入法的软键的功能状态标注为,本发明的汉字输入法的名称例如为“五键”。在候选汉字列表的初始状态下,通过CLR键操作,使作为汉字输入操作界面的候选汉字列表消失,五向导航键的功能由汉字输入功能切换到常规定义功能,同时对切换汉字输入法的软键的功能状态的标注文字改为“输入”。只要此时再次按动该软键,即可重新进入到汉字输入状态,对软键的功能状态的标注文字也相应地变回为“五键”。
在前面,当将五向导航键的功能由常规定义功能切换到汉字输入功能时,除了通过按动标注文字变化为“输入”的软键的方法之外,还可以使用这样的方法重新选择或切换汉字输入法到本发明的输入法;或者是在中央键没有被定义为文本输入的完成确认功能,而是按键空闲的条件下,按动中央键,使汉字输入的操作界面重新出现;或者是在标准数字键盘上的“*”或“#”键没有被其它功能定义,而是按键空闲的条件下,按动“*”或“#”键,使汉字输入的操作界面重新出现。
在前面,当将五向导航键的功能由汉字输入功能切换到常规定义功能时,使用了CLR键操作。当候选汉字列表处于初始状态时,按动CLR键一次即可使作为汉字输入操作界面的候选汉字列表消失,五向导航键进入到常规定义功能状态;而当候选汉字列表处于非初始状态时,需首先按动CLR键一次使它复位到初始状态,然后再次按动CLR键一次即可。在操作界面消失,退出汉字输入状态后,可以利用CLR键删除文本中的字符,这一点与切换方式之一中的、在汉字输入状态下按CLR键删除文本中的字符时候选汉字列表并不消失是不同的。
之四,利用五键组之外的某个热键,在本发明的汉字输入法状态与其它某种汉字输入法状态之间进行相互切换,并在其它某种汉字输入法状态下进行五向导航键的常规定义的功能操作。
可以在本发明的汉字输入法状态与其它某种汉字输入法状态之间建立起一种热键联系,通过某个热键,将其它某种汉字输入法与本发明的汉字输入法之间进行相互直接的状态切换。当五向导航键处于本发明的汉字输入状态,而又需要利用四向键在输入的字符文本中进行上下左右的光标移动操作、或者是利用中央键对输入的字符文本进行完成确认操作时,可以通过这个热键,先将本发明汉字输入法状态切换到其它某种汉字输入法状态,然后再进行所需要的操作。当然这种热键切换,不仅仅可用于五向导航键的常规定义功能的操作,还可以临时改变汉字输入法,以解决操作者使用当前输入法有困难的汉字的输入问题。
对这个切换热键的要求是,无论是本发明的输入法,还是其它某种输入法,在它们的按键操作过程中,这个热键必须是没有其它功能定义的。这个热键可以是软键,或者“*”键,或者“#”键的其中之一。
3.3关于汉字输入的操作过程举例前面描述的关于汉字输入的诸多方面的设计方案,往往有多个选项。在与现要进行的描述(“3.3关于汉字输入的操作过程举例”)、和将要进行的描述(“4关于汉字码本数据库的创建方法”、“5关于汉字输入过程的软件控制方法”)有直接内容联系的设计方案中,为文字描述上的方便,将选择一些具体的选项作为进一步展开描述的假设的基础条件,这些具体的选项是①在候选汉字列表的页面容量设计上,选择4字/页的方案;
②在“3.2关于汉字输入的按键操作方案”部分中,选择方案三,并采用忽略“折”利用“横竖撇点”的汉字编码法;③在编码长度为零的汉字的输入方式上,采用前面第一种处理方式,也就是说,凡是在候选汉字列表处于初始状态时,均将全部由“折”笔画构成的两个汉字(“乙”和“乜”)在首页之中列举出来。
关于汉字输入的操作过程的一个例子,如附图6所示。
在十字形操作界面的中央位置,用一个符号标识当前的汉字输入状态,具体地说就是①候选汉字列表的初始状态,用符号 标识,此标识的出现,代表本发明的汉字输入法状态的进入、或者是一个汉字的输入完成、或者是一个汉字的选定输入之前所进行的各种按键操作已被CLR键清除、或者是在笔画检索操作时所输入的笔画码经系统判断为非法并要求重新输入;②在笔画检索的按键操作过程中,操作界面的中央位置显示当前输入的最后一个笔画码符号,“横竖撇点”的四个笔画码分别用符号标识;③在进行汉字选定或列表翻页操作时,按动中央键之后的辅助状态,用符号 标识;④在进行列表翻页操作时,连续按动中央键两次实现翻页后的状态,用符号 标识。
进入本发明的汉字输入法状态之后,在屏幕上作为操作界面的十字形候选汉字列表的中央位置,首先显示符号标记 在候选汉字列表的四周位置,分别显示四个候选汉字,它们是候选汉字列表在初始状态下的第一页中的汉字。
根据要输入汉字的笔画构成和笔画顺序,通过按动五键组中的四向键,依次输入汉字的笔画编码元,候选汉字列表中的汉字也随即不断更新。在笔画码输入正确的情况下,打算要输入的汉字总位于当前候选汉字列表之中——尽管它未必出现在当前屏幕中可见的首页之内,笔画检索的过程就是当前候选汉字的数量范围不断缩小的过程。随着笔画码的不断输入,符合检索要求的汉字的数量规模将不断减小。
例如,在进入本汉字输入系统之后,候选汉字列表处于初始状态,由于“乙”和“乜”字的笔画编码长度为零,它们将位于整个列表的最前部。在依次输入笔画编码串“13421”,即依次按动按键“上(横)左(撇)右(点)下(竖)上(横)”之后,当前候选汉字列表中的汉字数目将由7000个变为符合检索要求的10个汉字“络骆奋昼殃奄咫殂殒鹌”。其中,前2个字为完全的笔画匹配,后8个字为前缀的笔画匹配。它们中头部的四个汉字“络骆奋昼”显示在候选汉字列表的首页,其它汉字可以通过翻页显示。在操作界面的中央区域,显示当前输入的最后一个笔画编码键的键位标识符号 此时倘若继续输入笔画码“4”,即按动按键“右(点)”,因笔画编码“134214”在码本中不存在对应汉字,也无以此为编码前缀的汉字,候选汉字列表将自动返回到初始状态。
在笔画检索过程中,当要输入的汉字出现在候选汉字列表的当前页面中时,通过先“按动”中央键、再“按动”与要选定汉字所对应的四向键的方式,指定汉字输入。例如,在前面所说的候选汉字列表首页显示四个汉字“络骆奋昼”时,按动中央键后再按动左键,在文本中将成功地输入“奋”字。同时,候选汉字列表重新回到初始状态,此时初始状态下的候选汉字列表,与刚刚进入到本汉字输入系统之后的初始状态相比,虽然它之中的汉字数目仍为7000个,但是所输入的“奋”字的各个词语联想字“不发起进战力斗勇”将会被显示在候选汉字列表的前部。此时若依次输入笔画编码串“2121134”,即依次按动按键“下(竖)上(横)下(竖)上(横)上(横)左(撇)右(点)”之后,当前候选汉字列表中的汉字剩为7个,它们是“战畏器哭鹃畸畎”。其中,“战”字为完全匹配的词语联想字,“畏”字为完全匹配的非词语联想字,其它字为前缀匹配的非词语联想字。此时倘若继续输入笔画码“2”或“3”,即按动按键“下(竖)”或“左(撇)”,因笔画编码“21211342”或“21211343”在码本中不存在对应汉字,也无以此为编码前缀的汉字,候选汉字列表将自动返回到初始状态。
在必要时,可以通过连续按动中央键两次的方式,翻页查找要输入的汉字,并且这种翻页的特点是,针对当前候选汉字列表中所有汉字的单向循环。
当汉字的笔画码输入过程中,在候选汉字列表的中央位置,始终以提示符分别标识当前输入的最后一个笔画码所对应的“上、下、左、右”键。因十字形操作界而的中央位置只能显示当前输入的最后一个笔画码的键位符号,并且连续输入的两个笔画码有可能相同,所以这只能在一定程度上作为笔画码输入时按键操作的反馈提示。作为弥补措施,可利用动画效果来提示当前按动的按键所对应的键位符号标识。除此以外,操作者也可通过候选汉字列表当前页面中汉字的变化作为笔画码输入的按键反馈提示。
当进行汉字选定或列表翻页操作时,都应首先按动中央键,同时在操作界面的中央位置,以符号 作为按键反馈提示。若此时按动四向键选定相应汉字后,中央位置的提示符号变为 若此时按动中央键对列表翻页后,中央位置的提示符号变为 当成功地输入一个汉字后,它的词语联想字,总是优先出现在进入初始状态后的候选汉字列表的前部。对于这些词语联想字,与排在后面的非词语联想字一样,均可以进行笔画检索、汉字选定、列表翻页的按键操作。
在上面汉字输入的按键操作过程中,通过十字形操作界面中央位置处的各种状态标记符号分别表示不同的按键操作状态。需要说明的是,在状态符号的形象设计上,并不局限于这些,还可以另行设计出更生动、逼真、醒目的符号标识;在按键有效的反馈方式上,除了状态符号的改变,还可以通过暂时改变颜色显示、产生动画效果等方式,作为当前按键有效的反馈提示途径。
4关于汉字码本数据库的创建方法汉字编码方法的生成,包括码本创建和软件开发两个部分,在这里首先阐述码本的创建。
汉字码本数据库,是指能够实现汉字字符信息到其相应属性的对应关系的数据结构。它将为本汉字输入系统的运行提供数据支持。
汉字笔画编码本的建立是进行汉字的笔画输入的基础,码本文件的数据格式如附图7所示。码本文件采用线性表的形式组织数据,在它的每一条记录中记载着汉字库中每个汉字的输入信息,它包括汉字编号、汉字内码、笔画编码、编码长度、联想字表共五个字段(或称数据项),下面将分别论述。
4.1关于“汉字编号”字段在该字段中,记录的是后面“汉字内码”字段中各汉字所对应的顺序编号,以《现代汉语通用字表》中收录的7000个汉字为例,其数字编号范围为0000-6999。
设计此字段的意义在于,通过汉字编号作为偏移变量,同时结合作为基址的首个汉字的存储地址,可以快速查询到有关该汉字输入的数据信息。在本发明的软件实现中,通常会使用汉字编号的方式来表示其汉字本身。
4.2关于“汉字内码”字段在该字段中,记录的实际上是汉字库中的各个汉字本身,因为每个汉字以计算机内码的形式保存于该字段中。
汉字库中的各个汉字按照它们在汉语中的使用频度由大到小的顺序排列,这个按使用频度排列的字表是参考各种文献、并经过大量的计算机统计生成的。
4.3关于“笔画编码”字段在该字段中,记录的是反映各个汉字笔画笔顺的数字编码串。使用1234这四个数字分别代表四种笔画1-横、2-竖、3-撇、4-点。
对于每个汉字的笔画编码,其创建依据是《现代汉语通用字笔顺规范》。
由于笔画编码串中只出现“横竖撇点”的四种编码元,故可采用一个两位的二进制数字来表示一个编码元,例如00-横;01-竖;10-撇;11-点。按此方案,一个存储字节可保存四个编码元,这样做的目的是为了节约码本文件的存储空间。
由于采用折笔画省略的编码规则,汉字的这种编码长度通常会小于其笔画总数。例如,在7000汉字中笔画总数最多的汉字为“齉”字,其笔画总数为36,其完整的“横竖撇点折”笔画编码为“325111251211321251245251251112213534”;省略其中的“折”笔画后,其编码长度变为29,其完整的“横竖撇点”笔画编码为“32111212113212124212111221334”。
4.4关于“编码长度”字段在该字段中,记录的是在各汉字的“笔画编码”字段中保存的、作为字符串的笔画编码的长度。
4.5关于“联想字表”字段在该字段中,记录的是在包含当前汉字的各个词语中,位于该汉字之后的下一汉字的列表集合,并且下一汉字均以汉字编号的形式保存。
建立联想字表的方法是,对于汉语词库中每一个词语,无论是双字词语还是多字词语,都是将后一汉字在码本文件中的汉字标号添加到前一汉字的“联想字表”字段之中。例如,在词语“发展”中,“展”字是“发”字的词语联想字;在词语“为什么”中,“什”字是“为”字的词语联想字,“么”字是“什”字的词语联想字。
需要说明的一点是,本文所称的“词语联想字”是一种广义概念,它强调的是在高频连用的几个汉字中相对于上一汉字的下一汉字,虽然它更多地涉及为“词语”中的汉字,但它还包括经常连在一起使用的汉字,尽管它们不属于汉语词典中的词语,例如“的话”、“得很”、“写了”、“凭你”、“年来”等。
需要说明的另一点是,各个词语联想字的汉字编号未必按照数值递增的方式排列,由后面的软件实现的算法流程可知,这些汉字编号无论如何排列,它们总会按照“汉字内码”字段所表明的使用频度的大小排列顺序,出现在候选汉字列表之中。
5关于汉字输入过程的软件控制方法为实现本发明所涉及的汉字输入系统,下面给出一种软件实现的案例,其软件流程如附图8所述,并对该软件流程的控制过程说明如下。
二维数组list_symbol[4]中的数据元素的取值范围为逻辑变量数值T(True)或F(False),它们实时地标识着当前候选汉字列表的汉字构成,即它表示汉字库中的各个汉字在汉字输入过程中对当前候选汉字列表的构成状态。数组元素的行地址表示其相应的汉字编号,它涉及到《现代汉语通用字表》所收录的7000个汉字,每一行代表一个由其行址在码本文件中所对应的汉字;数组元素的列地址表示它们在当前候选汉字列表中的类型,其中,第一列由T标识的汉字为完全匹配的词语联想字,第二列由T标识的汉字为完全匹配的非词语联想字,第三列由T标识的汉字为前缀匹配的词语联想字,第四列由T标识的汉字为前缀匹配的非词语联想字。在二维数组list_symbol[4]中凡是值为T的元素,均表示由其行地址代表的汉字编号在码本中的相应汉字,存在于当前候选汉字列表之中,并且它们属于由其列地址代表的汉字类型;而凡是其中四个列元素的值均为F的行所对应的汉字,将不出现在当前候选汉字列表之中。
无论何时,一维数组list_candidate均是根据二维数组list_symbol[4]构建的。对二维数组list_symbol[4]按照列序优先的遍历顺序,将其中值为T的全部元素的行号,依次存放在一维数组list_candidate中,该一维数组中的全部元素,就是当前的候选汉字列表中的所有汉字的编号。这样,依次将二维数组list_symbol[4]中第1、2、3、4列中值为T的元素的行地址顺序地记录于一维数组list_candidate所构成的当前的候选汉字列表,其候选汉字的这种存放顺序是符合前面所述的候选汉字列表的汉字排列顺序的。数组list_candidate通过暂存当前候选汉字列表中的各个候选汉字的编号,表示当前候选汉字列表的汉字构成,它的各个元素靠前存放,其元素个数往往随着笔画码的不断输入而逐步减少。数组list_candidate中最后一个元素的下标地址由变量list_last保存,并由此判断当前候选汉字列表中的汉字个数。因数组的下标地址通常由0开始,所以当前候选汉字列表中的汉字总数应为(list_last+1),并以“list_last=-1”作为“list_candidate是空表”也即当前候选汉字列表为空的判断条件。
由于要求候选汉字列表中的汉字不得重复出现,在二维数组list_symbol[4]的每一行元素中,在任何时候,至多只能有一个元素的值为T,其它均为F;若某个汉字不存在于当前候选汉字列表中时,在二维数组list_symbol[4]中该汉字所对应的四个数据元素的值,必然全部为F。
一维数组list_page[4]保存的是一维数组list_candidate之中的连续四个元素,将一维数组list_candidate中从头开始的每四个元素为一组,当将其中的某一组传送到一维数组list_page[4]后,其中第一个元素在一维数组list_candidate中的下标地址由变量list_first保存。对应于4字/页的候选汉字列表的页面容量,这四个元素的值就是候选汉字列表在屏幕上当前页显示的四个汉字的编号。当数组中的元素个数不足四个时,以空白填充。当前候选汉字列表当前页中所显示的各个汉字,就是由此数组中的数据决定的,设置此数组的目的是便于显示屏的显示缓冲。当将候选汉字列表当前页中的汉字显示于屏幕时,由数组list_page[4]保存的四个汉字的编号、即它们在码本文件中的地址,经过查询码本文件获得相应汉字的内码后,经输出系统,将它们分别显示在输入法操作界面、即候选汉字列表中的上、下、左、右位置,便形成候选汉字列表的当前页。
在进入本汉字输入系统之后、笔画检索的按键操作之前,当前候选汉字列表中的全部汉字属于非词语联想字。当对二维数组list_symbol[4]中的各数据元素进行初始化时,因为汉字“乙”和“乜”的编码长度为0,属于完全匹配的非词语联想字,所以在该二维数组中,与这两个汉字相对应的第二列的元素值为T、其它列的元素值均为F;而在其它汉字的标识元素中,都是第四列中的元素值为T,第1-3列中的元素值均为F,因为它们属于前缀匹配的非词语联想字。
在开始一个汉字输入的任何按键操作之前,候选汉字列表总处于它的初始状态,它包括汉字库中的全部汉字。在一个汉字输入过程中,有时因为按键输入错误而需要重新开始,所以在候选汉字列表初始状态下,需要通过数组list_symbol_back[4]备份数组list_symbol[4]中的数据状态。list_symbol[4]与list_symbol_back[4]的不同点是,前者在每输入一个笔画码之后都要进行数据更新,而后者仅仅保存前者在候选汉字列表初始状态下的数据。
在码本文件中,若使用数字1、2、3、4分别代表横、竖、撇、点的四种笔画码,为了与码本文件中数据的一致,在笔画检索的按键操作时,将变量key_index也地根据扫描到的“上下左右”键的键码值key_code的不同,相应地赋值为1、2、3、4,它们分别表示输入的笔画码为横、竖、撇、点。但对于在先输入的特定笔画码串,后继输入的1-4的四个数字并非都是合法的,因为它们可能会构成码本文件中不存在的、空的笔画码组合。为此利用数组key_index_legal[4],标识当前可能输入的四个笔画码,哪些为合法,哪些为非法。数组key_index_legal[4]中的四个元素,分别利用数值T/F标识笔画1/横、2/竖、3/撇、4/点作为当前要输入的笔画码的合法性,例如当数组key_index_legal[4]的取值为{‘T’,‘F’,‘T’,‘F’}时,表示在当前要输入的笔画码中,“1/横”和“3/撇”为合法的笔画码,而“2/竖”和“4/点”为非法的笔画码。
数组key_index_legal[4]中的元素取值,来自于在上次笔画检索操作过程中,在对码本文件的访问时对各汉字下一笔画的提前观察汇总。数组key_index_legal[4]数据初始化时,由横、竖、撇、点起笔的汉字总是存在的,因此它的四个元素的值均为T。
利用变量key_len与码本文件中的各汉字的编码长度的比较关系,很容易判断当前匹配的汉字是属于前缀匹配,还是完全匹配。
一维数组mark_type[7]中保存七个固定不变的字符 它们是在候选汉字列表中央位置显示的各种状态提示符号的集合。变量mark_current存放的是一维数组mark_type[7]中的某一具体提示符号,用于标识当前的汉字输入状态,并且当它的取值为 的其中之一时,四向键的功能为笔画编码的输入,标志变量mark_flag的取值为1;当它的取值为 时,四向键的功能为候选汉字的选定,标志变量mark_flag的取值为0。
在判断输入的笔画码的合法性时,利用数值(key_index-1)作为下标地址,查询数组key_index_legal[4]中的相应元素的值是否为T即可。当确认输入的笔画码合法后,要对数组key_index_legal[4]中的数值进行重置,即首先将它们全部恢复为默认的非法状态,四个元素的取值全部为F,然后在笔画检索的码本查询过程中,根据遇到的下一笔画类型,对数组key_index_legal[4]中的相应元素赋值为T。
在进行笔画检索的操作时,在数组list_symbol[4]中,对于第1、2列中值为T的元素的行号所对应的汉字,将不再进行笔画匹配运算,因为当新输入了一个笔画码之后,这些汉字的编码长度会小于当前已输入的笔画码总数,它们将被全部淘汰,故将第1、2列中值为T的元素全部改为F。
在进行笔画检索的操作时,在数组list_symbol[4]中,对于第3、4列中值为T的元素的行号所对应的汉字,仍要继续进行笔画检索的操作。根据对码本文件的查询,针对不同的情况,对这些汉字分别进行三种类型的处理①若当前输入的最后一个笔画码与候选汉字的笔画编码中的相应编码元不同,则将相应的元素值由T改为F,即T标志位的消失,这表明它所对应的汉字将从当前候选汉字列表中淘汰;②若当前输入的最后一个笔画码与候选汉字的笔画编码中的相应编码元相同、并且其编码长度等于当前已经输入的编码长度,则将该行元素中的T标志由第四列移动到第二列,或者由第三列移动到第一列,即T标志位的移动,这表明它所对应的汉字仍将继续保留在当前候选汉字列表之中,但其相对位序被提前,供优先显示;③若当前输入的最后一个笔画码与候选汉字的笔画编码中的相应编码元相同、并且其编码长度仍大于当前已经输入的编码长度,则对该行中的T标志不进行任何处理,继续保留在它原先所处的第三或第四列的位置,即T标志位的保持,这表明它所对应的汉字仍将继续保留在当前候选汉字列表之中,且其类型不变。
在上面第②、③两种情况下,在判断所遇到的汉字满足笔画检索要求的同时,还要通过对码本的查询,对这些汉字的下一笔画类型备案记录到数组key_index_legal[4]之中。其方法是,将新探明的笔画类型在该数组中所对应的元素写为数值“T”。例如,在笔画匹配的过程中,若探明的下一笔画类型为“横”,则将元素key_index_legal
赋值为“T”,依此类推。
当要输入的汉字出现于屏幕,而要对当前候选汉字列表进行汉字选定的按键操作时,根据在操作界面上选定汉字的五键组中的具体四向键的不同,将保存于数组list_page[4]中相应位置的汉字编号,根据对码本文件的查询,获取它所对应的汉字内码,并将该汉字插入到字符输入文本的当前光标之处。与此同时,二维数组list_symbol[4]中的数据相对于刚刚进入本汉字输入系统后的数据,要重新调整,这表现在当前候选汉字列表中各个汉字显示顺序的改变上。即在整个汉字库中,凡是属于上一输入汉字的词语联想字,其对应的T标志将由第四列移动到第三列。而这些词语联想字在二维数组list_symbol[4]中所对应的行地址,是由输入上一汉字时通过码本查询其“联想字表”时得知的。
汉字顺序被调整后的候选汉字列表,虽然其候选汉字总数仍为较大的数目7000,但下一个很可能要输入的各个联想字将被移动到候选汉字列表的前部。此时要输入的汉字如果确实位于其中,那么往往只需输入少量的几个笔画编码,即可将它筛选至候选汉字列表的首页之中;要输入的后一个汉字即使不是上一汉字的联想字,也不影响其它非联想字的正常输入。
当要对当前候选汉字列表进行列表翻页的按键操作时,调整变量list_first的值,其方法是,在不越界的情况下,变量list_first的值增加4,否则复位为0,这表现为列表的循环翻页。在一维数组list_candidate中,从表示候选汉字列表当前页中首字的下标地址开始,后移四个元素的位置,然后从新位置开始的四个元素数值重新赋予数组list_page[4]即可。
结合前面汉字输入过程的举例,下面说明该软件流程的工作过程。
在进入本汉字输入系统之后,二维数组list_symbol[4]的初始数据状态用附图9(a)示意。在图中,各元素的取值用阴影表示数值T,用空白表示数值F。相应地,一维数组list_candidate中的数据用附图9(b)示意,当前候选汉字列表的首页表示为附图9(c)。
在输入笔画码串“13421”之后,候选汉字列表中的候选汉字由原来的7000个衰减为10个符合这种关键码检索特征汉字,它们按照笔画码的字典顺序依次排列为“络(13421)、骆(13421)、奄(134211)、殂(1342111)、昼(1342111)、鹌(134211341)、奋(1342121)、殒(13421234)、殃(1342134)、咫(1342134)”。其中最前面的两个汉字为完全匹配,其余的汉字为前缀匹配。结合码本中各个汉字在使用频度排列上的先后顺序,这10个汉字在候选汉字列表中的实际排列次序为“络、骆、奋、昼、殃、奄、咫、殂、殒、鹌”,其中最前面的四个汉字将显示于候选候选汉字列表的首页。这时,二维数组list_symbol[4]、一维数组list_candidate、当前候选汉字列表的首页分别用附图10中的子图(a)、(b)、(c)表示。
在选定输入其中的“奋”字后,当前候选汉字列表复位为初始状态,其包含总字数为7000。但与前面在刚刚进入本汉字输入系统之后的候选汉字列表不同的是,在下面由“奋”字打头的词语中、“奋”字之后的第一个汉字在二维数组list_symbol[4]中的逻辑“是”标志将由第四列移至第三列“奋不顾身、奋斗、奋斗不息、奋斗到底、奋斗目标、奋发、奋发图强、奋发向上、奋进、奋力、奋力拼搏、奋力抢救、奋起、奋起直追、奋勇、奋勇当先、奋战”,它们共有8个汉字“不、斗、发、进、力、起、勇、战”,按其使用频度它们将以“不、发、起、进、战、力、斗、勇”的顺序显示。此时的数据状态,如附图11(a)、(b)、(c)所示。
在继续输入笔画码“2121134”之后,“奋”字的词语联想字中的“战”(2121134)字继续保留但变为完全匹配的词语联想字,并产生一个完全匹配的非词语联想字“畏”(2121134),和5个前缀匹配的非词语联想字,它们按照笔画码的字典顺序依次排列为“鹃(21211341)、畸(21211341212)、畎(21211344)、哭(21211344)、器(212113442121)”。这7个汉字在候选汉字列表中的排列次序为“战、畏、器、哭、鹃、畸、畎”。此时的数据状态,如附图12(a)、(b)、(c)所示。
以上为关于本发明具体实施方案的详细说明。最后需要补充说明的是①本发明的产品应用并不局限于手持电话。以上的描述借助于手持电话为示例,示意性地给出了本发明的技术方案。但值得说明的是,本发明并不局限于该产品。因此,上述实施例应被看作示例性的,而非限制性的。凡涉及应用于其它电子产品的按键信息输入,并利用符合本发明技术特征的各种汉字输入系统也属于本发明的范围。
②本发明的实现方法并不局限于具体实施例。以上的描述参照优选实施例,示意性地给出了本发明的技术方案,但本发明领域内的技术人员将很容易地认识到,对前述内容可进行其它应用的替换而不脱离本发明的主旨和范围。与之等价的符合本发明技术特征的其它实现方法也属于本发明的范围,在本发明的精神和范围之内,对上述各种具体实施方案,仍可做出变形和改进。
③本发明的本质特征并不拘泥于具体示例。以上的描述提到的汉字输入过程的操作界面,仅仅为具体示例,它并不限定实际上的操作界面,因为实际上的操作界面与具体的实现软件有关。各示例性的汉字也并不完全代表实际操作时的真实过程,各示例性的状态符号标识在具体的软件实现时同样可以修改和完善。
④本发明的软件实现并不限定于具体数据。以上的描述借助于具体的码本数据库文件,其中的根据使用频度罗列的汉字排列顺序、各个汉字的联想字表等均为举例,它们也应被看作示例性的,而非限制性的。在本技术领域的实际应用过程中,在本发明的精神和范围之内,同样可以对它们进行优化和调整。
权利要求
1.一种基于五键的汉字输入系统,通过电子信息设备的按键盘中的若干个相关按键,实现汉字输入操作,其特征是——汉字输入的整个操作过程通过按键盘上集中分布的五键组实现,它由相对分布于上、下、左、右、中位置的五个按键构成;——汉字输入的各种按键操作均以候选汉字列表为核心,对其可以进行笔画检索、汉字选定、列表翻页的三种按键操作,同时候选汉字列表作为汉字输入的操作界面,它的每一页面由位于上、下、左、右的四个分区构成,在每个分区中罗列一个候选汉字,或者在每个分区中罗列四个候选汉字、并且这四个汉字同样地按照上、下、左、右的相对位置分布,在候选汉字列表页面的中央位置,以各种形象化的提示符号标识汉字输入过程中的当前按键状态;——汉字输入过程中的三种按键操作,即笔画检索、汉字选定、列表翻页,采用以下三种方案规则之中的一种之一,通过“按动”五键组中的五个按键,根据汉字笔顺,分别输入其横、竖、撇、点、折的五种基本笔画,通过“长按”四向键,分别选定候选汉字列表当前页面中与之相应的分区中的汉字,通过“长按”中央键,对候选汉字列表进行单向循环翻页;之二,通过“按动”五键组中的五个按键,根据汉字笔顺,分别输入其横、竖、撇、点、折的五种基本笔画,通过“双按”四向键,分别选定候选汉字列表当前页面中与之相应的分区中的汉字,通过“双按”中央键,对候选汉字列表进行单向循环翻页;之三,通过“按动”五键组中的四向键,根据汉字笔顺,分别输入其横、竖、撇、点、折的五种基本笔画之中的四种,而第五种笔画省略不输入,通过先“按动”中央键再“按动”四向键,分别选定候选汉字列表当前页面中与之相应的分区中的汉字,通过连续“按动”中央键两次,对候选汉字列表进行单向循环翻页。
2.根据权利要求1所述的汉字输入系统,其特征是,五键组在电子信息设备的整个按键盘中的存在,表现为以下两种形式的其中之一——标准数字键盘中数字键“2-8-4-6-5”或者“5-0-7-9-8”所构成的五个按键;——按键盘中五向导航键的“上—下—左—右—中”键所构成的五个按键。
3.根据权利要求1所述的汉字输入系统,其特征是,在汉字输入过程中,候选汉字列表由四个部分的汉字构成,按照先后排列顺序它们依次为完全匹配的词语联想字、完全匹配的非词语联想字、前缀匹配的词语联想字、前缀匹配的非词语联想字,并且每一部分中的汉字均按其使用频度由高到低的顺序依次排列。
4.根据权利要求1所述的汉字输入系统,其特征是,在笔画检索操作时,通过以下两种方式的其中之一——如果汉字的笔画编码元利用的是横、竖、撇、点、折的五种基本笔画,那么它们分别通过五键组中的上键、下键、左键、右键、中央键,一一对应地按照汉字笔顺输入;——如果汉字的笔画编码元利用的是横、竖、撇、点、折的五种基本笔画之中的四种,那么选择其中的四种平笔笔画即横、竖、撇、点作为编码元,并且它们分别通过五键组中的上键、下键、左键、右键,一一对应地按照汉字笔顺输入。
5.根据权利要求1所述的汉字输入系统,其特征是,在汉字选定操作时,通过以下两种方式的其中之一——如果在候选汉字列表页面的每个分区中罗列一个候选汉字,那么在汉字选定时,直接根据要选汉字在操作界面中的分区的位置,通过五键组中的相应四向键选中它所在的分区,即可选定该汉字;——如果在候选汉字列表页面的每个分区中罗列四个候选汉字,那么在汉字选定时,首先根据要选汉字在操作界面中的分区的位置,通过五键组中的相应四向键选中它所在的分区,然后根据要选汉字在分区中的具体位置,“按动”相应的四向键,即可选定该汉字。
6.根据权利要求1所述的汉字输入系统,其特征是,如果利用横、竖、撇、点、折的五种基本笔画之中的四种作为编码元对汉字进行笔画编码,并且这四种笔画是竖、撇、点、折,或者是横、竖、撇、点,那么由此会造成部分汉字的笔画编码长度为零,对于这些零编码长度的汉字的输入,采用以下两种方式的其中之一——凡是在候选汉字列表处于初始状态下,均将这些零编码长度的汉字在首页之中罗列出来,此时对它们直接选定输入;——仅仅是在进入本汉字输入系统状态之后的候选汉字列表的初始状态下,才将这些零编码长度的汉字在首页之中罗列出来,并且只有此时方可对它们直接选定输入,而在其它情况的初始状态下这些汉字并不出现在候选汉字列表之中。
7.根据权利要求1所述的汉字输入系统,其特征是,在汉字输入过程中,如果遇到下面的无论哪种情况,系统将自动清除当前已经输入的所有笔画码,并使候选汉字列表返回到先前的初始状态——当已输入的笔画码串非法时;——在汉字输入过程中的任何操作状态下,“按动”或者“长按”CLR键之后。
8.根据权利要求1所述的汉字输入系统,其特征是,通过对五键组之中的四向键使用不同于笔画检索、汉字选定、列表翻页的其它按键操作方式,作为功能扩展地输入除汉字以外的其它字符,这种功能扩展表现为以下两种类型的其中之一——在不改变汉字输入状态的情况下,分别输入最常用的四个标点符号,即逗号、句号、问号、感叹号,并使候选汉字列表返回到初始状态,并且这种初始状态同于进入本汉字输入系统之后而未进行任何按键操作时的初始状态;——分别将当前的汉字输入列表状态切换到其它比较特殊的字符输入列表状态,即本汉字输入系统中零编码长度的汉字的输入列表、常用标点的输入列表、常用符号的输入列表,这些特殊字符在其列表中的排列方式,同于候选汉字列表的十字形,并且通过直接“按动”四向键分别选定列表当前页面中与之相应的分区中的字符,通过直接“按动”中央键对列表进行单向循环翻页,当进入到这个特殊的字符输入列表状态并输入一个字符之后,或者虽已进入到此状态、但没有输入任何字符而按动了CLR键之后,系统将自动返回到汉字输入状态并使候选汉字列表处于初始状态,而且这种初始状态同于进入本汉字输入系统之后而未进行任何按键操作时的初始状态。
9.根据权利要求2所述的汉字输入系统,其特征是,如果五键组位于电子信息设备的按键盘中的五向导航键之上,那么在文本输入时,五键组既用于本发明的汉字输入操作,又用于作为五向导航键的常规定义操作,五键组的这两种功能操作的状态切换,使用以下四种方式的其中之一——通过对五键组之中的中央键使用不同于笔画检索、汉字选定、列表翻页的其它按键操作方式,实现五键组的两种功能状态之间的相互切换;——通过电子信息设备的按键盘中五键组之外的软键、“*”键、“#”键中的一个,实现五键组的两种功能状态之间的相互切换;——通过电子信息设备的按键盘中五键组之外的CLR键和软键,实现五键组的两种功能状态之间的相互切换;——通过电子信息设备的按键盘中五键组之外的软键、“*”键、“#”键中的一个,在本发明的汉字输入法状态与其它某种汉字输入法状态之间进行相互切换,并在其它某种汉字输入法状态下进行五键组的常规定义的功能操作。
全文摘要
本发明公开了一种基于五键的汉字输入系统,旨在提高小键盘掌上信息设备中汉字输入操作的高效性和灵活性。将按键盘中分布紧凑、且相对位于上、下、左、右、中的一组相关按键构成一个五键组。凭借五键组的良好手感,使操作者摆脱汉字输入时对按键的视觉依赖。在作为汉字输入操作界面的候选汉字列表中,各个汉字的排列顺序科学合理,以加快汉字输入;并且列表每页中的汉字均呈上、下、左、右的相对位置分布,它们与五键组中上、下、左、右的四个按键相对应,以方便汉字选定。利用汉字的五种基本笔画类型、或者其中的四种进行编码。通过五键组,可对候选汉字列表进行笔画检索、汉字选定、列表翻页操作,从而将汉字输入的整个过程均实现于这五个按键。
文档编号G06F3/023GK1694049SQ20051004356
公开日2005年11月9日 申请日期2005年5月20日 优先权日2005年5月20日
发明者韩亚林 申请人:韩亚林
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1