用于绘制文本和其他应用的嵌入式规则引擎的制作方法

文档序号:6569930阅读:186来源:国知局
专利名称:用于绘制文本和其他应用的嵌入式规则引擎的制作方法
技术领域
本发明涉及诸如移动电话和个人数字助理的手持式计算装置。更具体地,
本发明涉及一种手持式计算机,其利用规则引擎来提供(honor)规则,所述 规则管理数据显示的多个方案,该数据显示的多个方案可根据数据类型或被执 行的用户操作的特征随语言不同而变化。提供规则时,规则引擎=帮助确保数 据自动表示,以及用户初始化操作遵循指定的语言。
背景技术
手持式计算装置如今相当普遍。计算机激活的移动电话和个人数据助理是 两个实例。这些装置至少包括用户显示器、物理或虚拟键盘或用于用户输入的 数字化界面,以及安装在盒中的数字数据处理器。
为了与人类用户有效通信,所述装置必须以一种语言或其他语言提供输 出。数据处理器的编程通常专门提供一种语言。所述编程可以不同方式实施, 诸如利用通用计算机来执行指令,或通过可编程电路诸如专用集成电路 (ASIC)、现场可编程门阵列(FPGA)等等。更具体地,支持一种语言或其 他语言的计算装置的编程通常在其操作系统中实施,与相应字体的可用性关 联。
虽然这种配置应用普遍,但仍存在一些问题。首先,为不同语言编写不同 的操作系统版本的任务耗时且昂贵。因此, 一些厂商可能放弃为相对少数人使 用的语言编写操作系统,因为它们提供相对少量的潜在用户。对于使用这些语 言的人,可能将难以找到一种编程支持这些语言的手持式计算机。
第二个问题在于厂商,其面对数百或上千种可用语言,将发现难以选择一 种语言结合在手持式计算装置中。一些厂商计划生产与预期买主的语言相同比 例的不同语言编程的不同装置。然而,在制造和销售之间的滞后时间中市场可 能发生显著变化,使得精确的计划基本上是不可能的。这可能使得厂商或其分 销商为滞销语言编程的产品受到困扰。
第三个问题在于,在少数情况下,虽然一些使用稀有语言的人能够以某种 方式找到以他们的语言编程的手持式装置,他们可能被该装置给绊住。由于绝 大部分买主可能使用其他语言,诸如英语或中文或西班牙文,因此将来难以转 售该装置。
因此,由于一些未解决的问题,已知手持式计算机装置的特定语言编程一 直还未满足所有的厂商或用户。

发明内容
一种计算装置包括表示人可读信息的显示器和用户输入设备。规则数据存 储包括规则语句,其管理在显示器上表示数据的预定方案。这些方案包括只要 以下内容发生变化数据类型和/或正在执行的涉及该数据的用户操作的特征, 就随语言不同而变化的那些方案。规则引擎配置为实施所述规则。 一种或多个 公用程序配置为识别用于应用规则的条件,以及响应以调用该规则引擎。
该公开内容的教导可实施为方法、装置、逻辑电路、承载信号介质或其组 合。该公开内容提供许多其他优点和优势,将通过以下描述显而易见。


图1A是计算装置的组件和互连的方框图; 图1B是规则数据库的方框图; 图2是数字数据处理器的方框图; 图3示出承载信号介质; 图4是逻辑电路的透视图5说明辅助显示数据的操作的流程图,其中由于数据类型和/或与数据 执行的用户操作的特征导致数据的表示根据语言而变化。
具体实施例方式
对于本领域的技术人员来说,在结合附图阅读以下详细说明之后本发明的 特点、目的和优点将变得更加清楚。 硬件组件&互连 整体结构本发明公开内容的一个技术方案涉及一种计算装置。在没有任何限制的意 图下,该装置可实施为具有计算功能的手持式装置,诸如无线电话、PDA等等。
图1A示出示例性计算装置100。装置100主要应用执行引擎106以执行 由用户指示的各种计算任务(未示出)。引擎106,以及装置100的所有其他 功能组件,可通过一个或多个硬件装置、软件装置、 一个或多个硬件或软件装 置的一部分,或前述的组合实施。以下参照图2-4详细描述这些子组件的结构。
引擎106经由用户输入设备104和用户输出设备102与用户交互。输入 104是物理键区或屏幕上键区或键盘、数字化表面、点击设备(pointing device) 或以下讨论的适合用于操作的任何其他用户输入装置。输出102包括利用液晶 显示器(LCD)或适于在此讨论的操作的任何其他技术的小型彩色或单色显示 屏。输出102可包括另外组件诸如蜂鸣器、发声器、振动机构、扬声器或其他 输出装置。
引擎106包括公用程序106b和规则引擎106a。在下文将更详细描述这些 组件。
公用程序
除以下描述的规则引擎106a的特定功能外,公用程序106b主要示出了装 置100的处理能力。公用程序106b主要包括各种其行为根据一种语言而固定 或者以其它方式与语言的变化无关的处理。对于根据语言而变化的功能,这些 功能通过规则引擎106a提供专用规则118b的行为而处理,如下文详细描述。
公用程序106b可包括各种应用程序、系统功能、操作系统、操作系统组 件、装置驱动器、图形绘制等等。应用程序的一些实施例包括诸如文字处理、 拨打电话号码、地址薄、日历、电子数据表等等的任务。为了增加计算效率, 程序106b可包括由更高层应用程序调用的各种低层共享应用程序。这些程序 可以是例如子程序或库功能。这些共享应用程序执行任务诸如经由104接收用 户输入,当输入数据时在102显示用户输入,消除用户输入的歧义(诸如手写 识别或T9输入)、分类数据、提供电话振铃或振动功能、管理显示器102和 用户输入104、管理文件系统、执行操作系统层功能等等。
可选地,公用程序106b可包括用户输入消歧程序以帮助解释具有歧义的 用户输入。例如,该程序可帮助用户利用电话键(telephone key)拼写单词,
由于大部分键对应三个可能字母,因此电话键总是提供具有歧义的用户输入。 一些示例性消歧程序在以下参考文献示出,在此引入其中全部内容作为参考。
在1999年9月14日授权给King等人的美国专利No.5,953,541 ,发明名称为 "Disambiguating System for Disambiguating Ambiguous Input Sequences by Displaying Objects Associated with the Generated Input Sequences in the Order of the Decreasing Frequency of Use (用于通过显示以使用频率降低的次序生成的 输入序列关联的目标使具有歧义的输入序列消歧的消歧系统)"。在2001年 10月23日授权给Flinchem等人的美国专利No. 6,307,548,发明名称为 "Reduced Keyboard Disambiguating System (键盘减少的消歧系统)"。在1998 年10月6日授权给Grover等人的美国专利No.5,818,437,发明名称为"Reduced Keyboard Disambiguating Computer (键盘减少的消歧计算机)"。
为了进一步增强用户输入消歧程序的操作,消歧应用程序可应用针对消歧 的各种专用规则118b。所述规则的实施例(175)在下文讨论。
程序106b可另外包括绘制引擎以绘制图形。该绘制引擎接收来自其他程 序106b的高层输入,并响应,将具体的像素级别表示指令指向用户输出102。 在一个实施例中,绘制引擎接收广范围通用字符映射表,诸如Unicode。在另 一实施例中,绘制引擎应用更专用编码,诸如一个实施例为具有7个拉丁字母 的特定语言。由于图形绘制在现有技术的众多领域应用,普通技术人员(己经 从该公开内容受益)将认识到各种不同技术适合于实施适宜于其特定应用的绘 制引擎。
公用程序106b的另一组件是更新器(updater) 106c。更新器106c是硬件 和/或软件模块的可选模块以更新专用规则118b的组件。当然,视需要,可以 实施更新器106c以更新除这些之外的额外组件。然而,实施时,更新器106c 被编程为从远程位置下载更新并将更新代替至少部分规则U8b,以便使得规 则引擎106a支持不同语言。
规则引擎
规则引擎106a提供规则数据库118中包含的各种规则。引擎106a可以是 执行引擎106的独立部分或无缝整合在引擎106中。与组件106b相反,(在 本发明的实施例中)其执行编程指令,弓l擎106a提供规则118。在一个实施
例中,规则以容易变化的形式诸如正则表达式编写。正则表达式是公知的结构,
也称为"rege邓"或"regex"或"regxp"。 一般来说,正则表达式是描述或匹 配字符串集的字符串,任选地根据特定的语法规则。规则118可以用除正则表 达式外的其他形式表述。不管格式和语法,每个规则用于描述输入字符串到输 出字符串的处理。在一个实施例中,规则引擎106读取规则118并将它们转换 为用于执行的有限状态机。
如下文讨论,语言具体规则包含在专用规则118b中。可存在对于单语言 安装的一个专用规则118b的一个集,或规则118b的多个集,其中每个集对应 不同语言。在任何情况下,存在一种安装语言。对于单语言安装,该语言是安 装语言,原因在于它就是安装在装置100中的语言。对于多语言机,操作系统 (106b的一部分)辅助用户选择这些语言的其中之一,其中规则引擎106a支 持一种语言或其他语言的用户选择。这里,用户所选语言是安装语言。
在一个实施例中,由于规则引擎106a是通过装置IOO封装的由其控制的 专用计算机,因此规则引擎106a和规则118嵌入在装置100中。对规则引擎 106a的编程可结合在源代码、编译代码、可执行代码或执行引擎106的其他 实施中。
数据存储
数据存储110通过数字数据存储器实施,如下文更详细讨论。规则数据库 118包含在存储110中。在应用更新器106c的实施方式中,数据库118的部 分或全部规则(至少专用规则118b)包含在可重写存储器中,以便于由更新 器106c管理的改变。数据存储110的内容可以文件、页面、寄存器、链表、 表、字符串、关系数据库形式或任意其他可能的数据结构的形式存在。
规则
规则118a-118c,如下文另外讨论,作为数据而不是编程指令实施,以及 这些数据提供用于对于一定语言的表示、分类以及其他活动的准则。因此,引 擎106a不是执行规则118而是提供规定。这方面,规则118以容易变化的形 式诸如正则表达式实施。然而,各种其他适宜的格式可用于描述输入字符串到 输出字符串的处理。
如图所示,规则数据库118包括公用规则118a、专用规则118b和字体规 则118c。公用规则118b不指定根据语言而变化的行为,但专用规则118b指 定这种行为。另外,在执行引擎106通过执行适当配置的应用程序106b而执 行所述公用功能情形下,可以省略公用规则H8a。
字体规则118c规定用于根据安装语言显示特定字符的规则。例如,对于 法语的一种字体规则通过规定当"oe" —起出现时,总是将"e"向左移动十 个像素而识别连字。如果装置100实施用于荷兰语,则字体规则118c通过规 定当一起出现时,将"j"向左移动五个像素而实施字距调整(kerning) (提示)。
在一个实施例中,字体规则118c可通过利用公知技术诸如在OpenType 字体或TrueType字体技术中应用的字体表实施。关于这些字体的更多信息可 在OpenType规范v丄4中以及由Microsoft Corporation (微软公司)颁布的相 关文件中可获得。
与描述文本显示的各种基本方案的专用规则118b (如下文描述)相反, 其,字体规则118c不预期更高级别操作诸如用其他字符代替一个或更多字符、 绘制字符串的字符、分类、寻找音节边界等等。
专用规则
一般来说,专用规则118b管理数据如何在102上表示的规定方案。这些 方案包括可根据数据的类型和/或正在执行数据的用户操作的特征随语言不同 而变化的那些特点。
如上所述,专用规则118b管理数据表示方案,其根据一定因素随语言不 同而变化。在本申请中使用的"语言"指不同的交流系统,其包括文字和被公 众所理解的组合文字的方法。不同语言的一些实施例包括英语、法语、德语和 西班牙语。
在此使用的"语言"也包括其他概念。即是,为了使用单一术语更方便表 达各种不同概念,应当理解不同"语言"额外包括不同方言、本地话(locale) 等等。"方言"指特定子群体的人使用的语言的变体。例如,有人认为英国英 语和美国英语是英语的不同方言。"本地话"指文字或其使用的方法随地理位 置不同而变化的语言变体。在此使用的不同"语言"可另外包括其他语言变体 或子集,诸如语域(register)、社会方言、行话、俚语、个人方言(idolect)、 标准语言、使用两种语言或方言、通变系统(diasystem)、多元中心语等等。
数据类型和用户操作
如上所述,专用规则118b管理数据表示方案,其根据数据的类型和/或正 在执行数据的用户操作的特征随语言不同而变化。
关于数据类型,其保证改变显示器102以针对语言进行解释, 一些实施例 包括数字、货币、日期、时间、电话号码、街道地址、邮编、语言名称和其他。 例如,相同的原始数字,当显示为货币时,必须根据适用语言进行不同显示,
例如,美国英语的"1,000"或荷兰语的"1.000"。
关于用户操作,其保证改变显示器102以针对语言进行解释, 一些实施例 包括分类、显示菜单、显示消息、连字号连接、断字(word break)等等。例 如,由于不同语言可能具有不同的字母顺序,相同文本列表可根据适用语言进 行不同排序。
另外实施例
图1B示出了专用规则118b的另外实施例。规则118b中是用于分类字母 数字文本的规则154,用于表示货币的规则156,用于用连字号连接文本的规 则158,用于表示数字的规则160,用于表示日期和/或时间的规则162,菜单/ 消息规则170、本地化规则166、消歧准则175以及图形规则180。下文将讨 论一些示例性规则的内容和操作。
在一种情形下,本地化规则166可以规定只要Unicode字符Nl、 N2和 N3顺序出现,则用N42取代Nl并且将N3移动到N2的前面。本地化规则处 理字符经过在特定语言中的重排、替换或其他形式的修改的情形。
作为用于荷兰语的数字规则160的实施例,只要数量类型是数字时,将逗 号和句号交换。作为用于荷兰语的货币规则156的实施例,"FL"或Euro (欧 元)符号替换"$"。示例性日期规则162可以改变在数字日期表示中的日和 月的顺序。
示例性的北印度(Hindi)用连字号连接规则158识别北印度文字的音节 边界,并推荐适当的断字。示例性的德语分类规则154识别英语字母表中不存 在的字符,以及以在相关字母表中的所述字符的顺序进行适当分类。除如图所 示的用连字号连接外,规则158可另外包括音节划分、断字和用连字号连接规 则。用连字号连接尤其在混合语言诸如芬兰语或德语中相关,其中长字必须适 当地"包装(wrapped)"在小的电话显示屏中。在泰国语中,不使用任何空
格,规则158可以根据音节执行断字。
菜单/消息规则170操作如下所述。菜单规则包含不同系统或应用程序菜 单项和以安装语言对应的名称之间的映射。例如,菜单规则可指示特定的菜单
项应当为英语应用显示为"Edit"。因此,只要规则引擎106a调用菜单规则, 该规则的执行引导绘制引擎将该菜单项显示为"Edit"。菜单项到名称的映射 可被包含作为规则本身的一部分,或者该规则可引用该规则以外的映射。单映 射或多映射可被调用以将菜单项映射到多种语言或甚至所有语言。
消息规则170以相同方式操作,但用于系统生成的消息。消息规则包含在 系统生成的消息,诸如"OK to delete (是否删除?)"和在一种或更多安装 语言中它们的措词(phrasing)之间的映射。
如上所述,应用程序106b可包括用户输入消歧程序以帮助解释具有歧义 的用户输入。为了支持该程序的操作,专用规则118b可包括消歧准则175, 用于解决语言的具体问题。准则175可包括,例如,已识别文字的词表以及根 据安装语言的其他可能用户输入。例如当用户利用电话按键拼写单词时,消歧 应用程序(106b的)调用规则引擎116a,将用户歧义输出(由于每个键实际 对应三个字母)与词表(175)比较以识别可能想要输入的单词。
专用规则118b可实施为提供实施单语言的规则,或者规则118b可包括用 于多语言的多个子集。在多语言实施例中,应用程序106b可进一步允许用户 视需要主动切换语言,或者语言间的切换可由上下文或其他被动输入驱动。
示例性数字数据处理装置
如上所述,数据处理实体(诸如执行引擎106或其任意组件)可以实施为 不同形式。
一些实施例包括通用计算机、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶 体管逻辑、分立硬件组件或其组合,其设计为以执行在此描述的功能。通用处 理器可以是微处理器,但在替代实施例中,处理器可以是任何传统处理器、控 制器、微控制器或状态机。处理器还可以实施为计算装置的组合,例如,DSP 和微处理器的组合,多个微处理器,结合DSP内核的一个或多个微处理器, 或任意其他这种结构。
作为更具体的实施例,图2示出数字数据处理装置200。该装置200包括
连接到存储器204的处理器202,诸如微处理器、个人计算机、工作站、控制
器、微控制器、状态机或其他处理机。在本发明的实施例中,存储器204包括 快速存取存储器206,以及非易失性存储器208。快速存取存储器206可以用 于,例如,存储通过处理器202执行的编程指令。存储器206和208可以通过 各种装置实施,诸如结合图3和图4更详细讨论的那些装置。还可以有多种替 代物。例如,组件206、 28的其中之一可以移除;而且,存储器204、 206和/ 或208可以配置在处理器202的板上,或者设置在装置200的外部。
装置200还包括输入/输出210,诸如连接器、电线、总线、电缆、缓冲、 电磁链接、网络、调制解调器或用于处理器202与装置200外部的其他设备交 换数据的其他设备。
承载信号介质
如上所述,数字数据存储器的不同实施例可用于,例如,提供系统100 中使用的存储,诸如数据存储UO (图1),以具体表现为存储器204和208 (图2)等等。根据其应用,该数字数据存储器可用于各种功能,诸如存储数 据,或存储机器可读指令。这些指令本身可辅助执行各种处理功能,或者它们 可用于将软件程序安装在计算机上,其中所述软件程序随后可以执行以实施本 发明公开内容相关的其他功能。
在任何情形下,承载信号介质可通过几乎任何机构实施以数字化存储机器 可读信号。 一个实施例是光存储器诸如只读型光盘(CD-ROM)、 一次写入型 光盘(WORM) 、 DVD、数字光带、磁盘存储器300 (图3),或其他光存储 器。另一实施例是直接存取存储器,诸如传统的"硬盘驱动器"、廉价磁盘冗 余阵列("RAID")或其他直接存取存储器("DASD")。另一实施例是 串行存取存储器诸如磁带或光带。其他数字数据存储器的实施例包括电存储器 诸如只读存储器(ROM)、可擦可编程只读存储器(EPROM)、闪存可编程 只读存储器(flashPROM)、电可擦除只读存储器(EEPROM)、存储器寄存 器、后备电池的随机存储器(battery backed-up RAM)等等。
示例性存储器介质连接到处理器使得处理器可从存储器介质读取信息和 将信息写入存储器介质。任选地,存储器介质可与处理器集成在一起。在另一 实施例中,处理器和存储器介质可驻留在ASIC中或其他集成电路中。
逻辑电路
与含有机器可执行指令的信号承载介质相反(如上所述),不同的实施方 式应用逻辑电路以实施处理特征,诸如执行引擎106和/或其组件。
根据在速度、花费、加工成本等等方面应用的特定要求,该逻辑电路可通
过构造具有上千个微小集成晶体管的专用集成电路(ASIC)实施。所述ASIC 可以由互补金属氧化物半导体(CMOS)、晶体管-晶体管逻辑(TTL)、超大 规模集成电路(VLSI)或其他适合结构实施。其他替代物包括数字信号处理 芯片(DSP)、分立电路(诸如电阻器、电容器、二极管、电感器和晶体管)、 现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、可编程逻辑器件(PLD) 等等。
图4以集成电路400的形式示出了逻辑电路的实施例。
操作
已经描述了本发明的结构组件,现在将描述本发明的操作方案。结合在此 公开的实施方式描述的任何方法的步骤、工艺或算法可直接在硬件、由硬件执 行的软件模块或两者的组合中得到具体体现。
全部操作序列
图5示出序列500以描述本发明公开内容的方法技术方案的一个实施例。 一般来说,所述序列500应用规则集以管理手持式计算装置上的语言可变数据 的显示。当适用时,这种规则被调用以管理被显示的数据的方案,其根据数据 类型或用户初始化操作的特征随语言不同而变化。为了便于解释,而不是限制 的目的,图5的实施例在以上所述的系统100 (图1)的具体环境下描述。
配置
步骤501中,配置装置100。在其他操作中, 一个或多个规则的语句被写 入规则数据库118。步骤501可在制造装置100、首次启动、用户配置、重新 配置、重新编程或其他有用的时间或事件时执行。
作为配置501的一部分,装置100配置为以特定语言接收和显示数据。这 称为"安装语言"。可存在多种这样的语言,但为便于解释,在以下讨论中使 用单独一种语言。安装语言确定安装哪个专用规则118b和字体规则118c。由 于具有便于安装和配置的优点,相同程序106b可以在不经过改变的情况下用 于任何语- 曰o
正常操作
在配置(501)后,装置100执行正常操作(502),特别地,执行公用程 序106b及其子组件的功能。如502a所示,这些操作502继续执行装置100的 正常操作。某种意义上,步骤502的操作涉及不同用户和装置初始化的操作, 其不需要任何规则118a-118c。
在步骤502,响应不同事件或触发执行公用程序106b。事件/触发的一些 实施例包括应用程序的用户初始化,操作系统功能的用户初始化,系统应用的 操作系统初始化,预定时间的到达,来自远程源的信号的到达,重复调度事件 的发生,装置100内部预定信号或状态的发生,公用程序的状态的变化,I/O (输入/输出)操作,或实质上与公用程序106b相关的任何其他硬件或软件事 件。
一旦事件或触发发生,如上所述,相关联的公用程序106b执行。公用程 序执行的一些实施例包括初始化或执行包含在诸如文字处理器的高层应用程 序中的正在进行的任务、调用拨号器、打开电子数据表、通过通讯簿搜索、管 理记事、文本消息或根据用户需要和装置100的编程的上百个不同操作。而且, 正常操作502可涉及执行装置驱动器、系统功能、库任务或与106b的组件相 关联的其他处理任务。
更新器
操作502的另一实施例是更新器106c在何种情形下执行。在一个实施例 中,更新器106c响应事件执行,所述事件诸如预设时间表、周期触发、手动 用户激活、远程传输的激活信号等等。然后,更新器106c工作以校正规则118b 的错误安装,更新规则118b和/或字体118d,改变装置100的安装语言,或除 更新语言外的其他动作。
优点在于,由于装置100的通用架构,更新器106c可通过仅利用适用于 新语言的不同的专用规则集和字体集取代现有专用规则118b和字体118d的操 作来改变装置100的安装语言。这使得装置IOO根据新语言无缝运行,而不需 要改变100的任何其他组件。
为了下载更新,更新器106c与无线服务提供商、软件厂商、售后软件商 或其他实体通过无线连接、互联网或其他链接通信。用户可免费执行改变装置 安装语言的操作,或者新语言提供商可向用户收费。调用
步骤504检査在步骤502执行的一种公用程序是否己经调用规则引擎 106a。在一个实施例中,步骤504通过规则引擎106a执行,确定其是否已经 接收了正确的调用、切换(handoff)、中断,或来自调用一种公用程序106b 的其他信号。步骤504可以固定的或可变的时间表,周期地,或在其他重复基 础上执行,如步骤504d所示。
关于调用(504)规则引擎106a以执行专用规则506b,在一个实施例中 调用公用程序限制对要求数据表示(经由显示器)的条件的这些调用,所述数 据表示由于数据类型、涉及数据的正在执行的用户操作的特征或者两者,根据 语言不同而变化。在不同的实施例中,在显示任何数据前调用程序调用规则引 擎106a,以及规则引擎106a根据任何专用规则118b是否应用而应用专用规 则506b (或返回未转换的数据)。
关于要求规则引擎106a以执行专用规则506b的调用,该调用504可因为 多种不同原因发生,其中一些实施例包括用户输入插入分行,用户输入请求向 上滚动/向下滚动操作,用户调用菜单,操作系统或应用程序给用户发送消息, 或其他处理步骤。作为一个具体的实施例,用户,其先前打开了地址簿应用程 序(106b),选择显示依字母顺序排列的地址列表的功能。然后,地址簿应用 程序调用规则引擎106a以确保地址根据安装的语言而适当分类。
规则执行
在步骤506,当公用程序106b之一调用规则引擎时,规则引擎106a执行 数据库118中的适当规则。取决于来自公用程序的请求的特征,步骤504中规 则引擎106a可以调用公用规则506a、专用规则506b和/或字体规则506c。因 此,公用程序106b构造为利用规则引擎106a的共享功能的优点,而不是必须 总是依赖单元106b自身的编程。这有助于简化公用程序106b。
在一些情况下,当程序106b调用引擎106a时,引擎106a利用公用规则 118a执行请求的功能(步骤506a)。在其他情况下,即对于涉及字体的情况, 引擎106a利用字体规则118c执行请求的功能(步骤506c)。优点在于,字体 规则118c帮助以适于安装语言的字体显示文本。
在另外其他情况下,弓l擎106a利用专用规则118b执行请求的功能(步骤 506b)。通过应用专用规则118b,引擎106a特别地注意与数据显示有关的问
题,由于数据类型或对数据执行的用户操作使得数据显示可能随语言不同而变 化。因此,专用规则118b确保来自所有特定操作的数据,以及所有类型的数 据,根据安装语言进行适当的显示。
在步骤506b的一个实施例中,规则数据库118包括专用规则118b (以及 字体规则118c)的多个集合,以及作为步骤506b的一部分,规则引擎106a 根据安装语言选择适当的集合118b/118c。
当规则引擎106a完成应用规则时,引擎106a将结果传回到调用公用程序 (506a)。
专用规则执行的实施例
在步骤506b的一个实施例中,通讯簿应用程序(106b)已经在步骤502 中运行。在步骤502,通讯簿接收用户请求以显示联系人。为了对联系人进行 分类,联系人程序调用(504)规则引擎106a。在步骤506,规则引擎106a根 据规则154执行分类操作,其中在一个实施例中规则154是荷兰语专用规则集 118b的一部分。因此,规则154 了解荷兰语的特定特征,诸如ij字符出现在j 字符前的规则。规则引擎106a将适当分类的数据,返回(506a)给调用程序 106b以完成步骤506。
在步骤506b的另一实施例中,计算器程序(106a)己经在步骤502中运 行。通过用户输入(也在步骤502中),计算器程序接收数字输入。为了根据 安装语言(荷兰语)正确显示数字,计算器激活(504)规则引擎106a。在步 骤506b,引擎106a根据数字规则160处理文本,其中数字规则是荷兰语专用 规则集118b的一部分。因此,规则160支持专用于荷兰语协议的特征,例如 相对于美国英语表示,荷兰语协议将逗号和小数点(decimal)交换。规则引 擎106a将正确表示输出的数据返回(506a)给调用程序106b。
在步骤506b的另一实施例中,在步骤502中正运行数据库应用程序 (106b)。通过用户输入(也在步骤502中),数据库程序接收用户回调显示 日期的指示。为了正确显示日期,数据库程序调用(504)规则引擎106a。规 则引擎106a根据规则162执行(506b)日期显示操作,其中在一个实施例中 规则162是荷兰语专用规则集118b的一部分。因此,规则154了解荷兰语协 议,其规定日期应当表示为日在先,而不是月份在先。因此,规则引擎106a 将"19 February 2001"从数据库返回给调用程序106b。
在步骤506b的另一实施例中,文字处理程序(106b)已经在步骤502中 运行。通过用户输入(也在步骤502中),文字处理程序接收用户输入的各种 文本。为了根据安装语言(在该实施例中为德语)正确地表示包含任何适当连 字号连接的文本,文字处理器激活(504)规则引擎106a。规则引擎106a返 回(506a)根据用连字号连接规则158建议的连字号连接,其中在该实施例中 连字号连接规则158是德语专用规则集118b的一部分。特别地,在步骤506b, 连字号连接规则158识别对于德语词的适当音节边界,并推荐适当的断字。规 则引擎106a将连字号连接建议,或者一个或多个具体的用连字号连接的词返 回(506a)给调用程序106a。
在步骤506b的另一实施例中,操作系统程序(106b)已经在步骤502中 运行。为了根据安装语言(在该实施例中为荷兰语)正确显示程序菜单,该程 序激活(504)规则引擎106a。该步骤可以为整个菜单系统执行一次,或者该 步骤在每次调用或显示菜单时执行一次,或该步骤可以基于不同的基础而执行 一次。引擎106a返回(506a)根据菜单规则170的菜单项的语句,其中在该 实施例中,菜单规则170是荷兰语专用规则集118b的一部分。作为一个实施 例,规则170识别(506b)特定项(英语中"Folder")应当显示为荷兰语等 同的"Map"。为了执行该处理(转换),菜单规则170引用包括在规则或其 他源中的转换映射。该转换可以,例如,在对于每个菜单项的数字编码和以英 语、荷兰语、西班牙语或安装语言的对应单词之间进行。规则引擎106a将转 换建议返回(506a)给调用程序106b。
消息规则170以相同方式操作,但用于系统生成的消息。消息规则在系统 生成的消息,诸如字母数字编码或英语消息"OK to delete ",和以安装语言 的它们的措词诸如荷兰语的"Wissen "之间的映射。
作为步骤506b的另一实施例,文字处理程序(106b)在步骤502中运行。 该程序通过电话键区(104)接收用户输入。更具体地,用户应用数字的电话 按键输入文本,由于每个键对应多个字母,因此用户输出本身具有歧义。因此, 不完全清楚用户输入"6-3-3"是否对应"M-E-N"或者"O-E-M"。如果英语 不是安装语言,则所述按键具有完全不同的字符映射,但用户的输入仍然不清 楚。为了显示正确的单词选择,通过文字处理程序调用的消歧功能触发(504) 规则引擎106a。规则引擎106a调用(506b)用于安装语言的消歧准则175,
在该实施例中,该消歧准则提供英语词汇的词表。因此,规则154建议用户的 输入可能对应"men"或"oem"或"neo"或其他单词诸如"oenophile"的 起始部分等等。规则引擎106a将该信息传回(506a)给调用引擎106a的消歧 功能。
作为步骤506b的另一实施例,操作系统程序或系统功能(106b)在步骤 502中运行。更具体地,通过在步骤502的用户输入,该程序106b接收一系 列请求以调整装置100的硬件配置。在某些方面上,这些用户请求的其中之一 不能被执行,并且由于一些原因而必须被拒绝。为了将错误通过图形正确传达 给用户,程序调用(504)规则引擎106a。规则引擎106a根据规则180导出 适当图形符号。例如,在英语实施例中,禾U用显示表示"Halt"的手势的图形 传达错误将是有效的。然而,在其他语言中,这种手势可能被认为是冒犯的, 因此规则180利用表示不同手势或完全不同的其他物体的符号来进行指示。在 步骤506a规则引擎106a将适当的图形符号返回到调用程序106b。
执行规则后
当规则引擎106a完成应用规则时,引擎106a将结果传回给调用公用程序 (506a)。在步骤506后,例行程序500仍未完成。即,公用程序继续(502a)
操作装置IOO。而且,步骤504仍在重复基础上执行(504d),使得规则引擎
106a有机会立刻响应公用程序106b的调用。
在专用规则118b的情形下,其涉及关于随语言不同而变化的数据的显示,
在数据传递后(506a),仍然需要做更多工作以将数据表示给用户。即,调用 (504)专用规则118b的相同或不同公用程序随后调用规则引擎106a以获得
适当的字体信息(通过字体规则118c,在步骤506c中)。传回(506a)给调
用程序的字体信息由诸如图形绘制的其他公用程序使用,以在用户输出102
处适当地显示数据。
其他实施方式
虽然前述公开内容说明许多示例性实施方式,对于本领域技术人员来说, 在不偏离由所附权利要求书限定的本发明的范围下可在此进行不同变化和修 改。因此,公开的实施方式代表本发明广泛地预期的主题,以及本发明的范围 完全包括对本领域技术人员来说显而易见的其他实施方式,并且因此本发明的 范围只由所附权利要求书限定。对本领域技术人员来说已知的或将来获知的以上所述实施方式的元件的 所有结构和功能等同物在此都通入引入的方式合并进来,并意欲包含在本发明 权利要求中。而且,对于包括在本发明权利要求书中的一种装置或方法,它们 不需要解决由本发明寻求解决的每个和各个问题。另外,本发明公开内容中的 没有一个元件、组件或方法步骤意在致力于公众,不管该元件、组件或方法步 骤是否清楚地叙述在权利要求书中。在此没有要求保护的元件将在35 USC112,第六段的规定下构造,除非该元件应用短语"用于…的装置"或者, 在方法权利的情形下,短语"用于...的步骤"清楚叙述。
而且,虽然本发明的元件以单数描述或要求保护,参考单数元件不意指"一 个和仅一个",除非清楚陈述,而应指"一个或多个"。另外,熟知本领域的 普通技术人员将认识到为解释和要求保护的目的操作序列必须以一些具体次 序描述,但本发明预期除所述具体次序外的各种变化。
另外,相关领域的普通技术人员将理解信息和信号可利用各种不同技术和 技巧表示。例如,在此提到的任何数据、指令、命令、信息、信号、比特、符 号和芯片可通过电压、电流、电磁波、磁场或颗粒、光场或颗粒,其他物品, 或前述组合来表示。
而且,本领域技术人员将理解在此描述的任何示例性逻辑区段、模块、电 路和处理步骤可以实施为电子硬件、计算机软件或两者的组合。为了清楚说明 硬件和软件的互换性,各种示例性组件、区段、模块、电路和步骤在上文一般 以其功能的方式进行描述。所述功能是否实施为硬件或软件,取决于特定的应 用和对整个系统的设计限制。本领域技术人员针对每个特定的应用可以不同方 式实施所述功能,但所述实施决定不应当解释为造成偏离本发明的范围。
提供公开的实施方式的前述描述以能本领域技术人员能够实施或利用本 发明。对本领域技术人员来说对这些实施方式的各种修改是清楚的,以及在此 限定的一般原理可应用于其他实施方式,而不偏离本发明的精神或范围。因此, 本发明不意在局限于在此所示的实施方式,而限定与在此公开的原理和新颖性 特征一致的最宽范围。
权利要求
1.一种文本输入装置,用于接收用户输入,用于预测用户想要从该输入装置输入的文本,以及用于绘制文本和响应它们执行其他相关功能,包括至少一个预测文本输入语言数据库,包括多个嵌入的规则,其结合进入到所述装置中文本的用户输入一起使用,用于对所述输入信号的正确显示和附加处理;其中所述规则包括位图字体和布局规则、本地化规则、对照规则和其他这种规则中任意规则;一种语言无关装置平台,用于与多个文本输入语言数据库中任意文本语言输入数据库合作操作,所述装置平台包括第一引擎,用于结合所述用户输入以解释所述规则以及用于执行相关功能,结合与所述文本输入语言数据库中的所述用户输入关联的信息;以及第二引擎,用于根据所述位图字体和在所述装置上显示的布局规则绘制预测的用户输入;其中所述字体和所述规则被分配为所述语言数据库的一部分。
2. 根据权利要求1所述的装置,其特征在于,所述文本输入语言还包括 用于识别用户输入信息的消歧信息。
3. —种计算装置,包括 表示人可读信息的显示器; 用户输入设备;一个或多个公用程序,其响应预定条件以调用规则引擎并且将输入数据传 递给规则引擎;用于管理输入数据的转换的规则集,其中由于数据类型、正执行的涉及数 据的用户操作的特征,或两者,导致所述输入数据的表示随语言不同而变化, 所述转换包括将输入数据处理处理成与指定语言一致的输出数据的处理;规则引擎,设计为执行操作,所述操作包括 接收输入数据;识别适用于输入数据的至少一个规则;应用所述识别的规则以将所述输入数据处理成与指定语言一致的输出 数据;将输出数据返回给调用规则引擎的公用程序。
4. 根据权利要求3所述的装置,其特征在于,所述从语言到语言的变化包括经过以下至少其中之一的变化方言、本地话。
5. 根据权利要求3所述的装置,其特征在于,还包括选择性激活的更新模块,被编程为从远程位置下载更新以及用所述更新替 换所述规则集的至少一部分以使得规则引擎输出与不同的语言一致的数据。
6. 根据权利要求3所述的装置,其特征在于,所述规则还管理输入数据的转换,所述输入数据的表示由于字体随语言的不同而变化。
7. 根据权利要求3所述的装置,其特征在于,所述规则包括消歧准则, 用于分辨相对于指定语言的词表具有多种解释的用户输入。
8. 根据权利要求3所述的装置,其特征在于,将输入数据处理成与指定语言一致的输出数据的处理包括显示与所述指定语言一致的图形元素。
9. 根据权利要求3所述的装置,其特征在于,所述规则包括正则表达式, 其规定输入字符串到输出字符串的不同处理。
10. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与指定语言的输出数据的处理包括将输入数据的一个或多个字符用一个或多个不同字符替换。
11. 根据权利要求3所述的装置,其特征在于 输入数据包括字符串;所述将输入数据处理成与指定语言一致的输出数据的处理包括将输入数 据的字符重新排序。
12. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与指定语言一致的输出数据的处理包括寻找与所述指定语言一致的音节边界; 以与指定语言一致的方式用连字号连接文本。
13. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与指定语言一致的输出数据的处理包括根据指定语言对文本进行分类。
14. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与 指定语言一致的输出数据的处理包括支持用于以与指定语言一致的方式表示以下其中之一数字、货币、日期、 时间的格式。
15. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与 指定语言一致的输出数据的处理包括根据指定语言表示菜单文本。
16. 根据权利要求3所述的装置,其特征在于,所述将输入数据处理成与 指定语言一致的输出数据的处理包括所述指定语言表示通过公用程序以初始化的消息。
17. —种计算装置,包括 表示人可读信息的显示器; 用户输入设备;一个或多个公用程序,其配置为响应通过显示器表示数据的要求调用规则 引擎,其中由于所述数据类型、正在执行的涉及所述数据的用户操作的特征, 或两者,所述数据随语言不同而变化;规则集,每个规则指定将输入数据处理成与指定语言一致的输出数据的处理;规则引擎,其配置为响应通过公用程序中之一的调用实施规则。
18. —种计算装置,包括 表示人可读信息的显示器; 用户输入设备;包括规则语句的规则数据存储,该规则语句管理在显示器上表示数据的规 定方案,所述规定的方案包括只要以下至少其中之一变化数据类型,正在执 行的涉及所述数据的用户操作特征,就随不同语言而变化的那些方案;一个或多个公用程序,被编程为响应规定条件而调用规则引擎。
19. 一种操作计算装置的方法,包括以下操作 产生计算装置,该计算装置包括 表示人可读信息的显示器; 用户输入设备;规则数据存储;规则引擎,其配置为实施规则数据存储中的规则; 一个或多个公用程序,被编程为响应规定条件而调用规则引擎; 选择性激活更新器;响应所述更新器的激活,更新器从远程位置获得更新并将更新安装在所述 规则数据存储中以在其中提供管理在显示器上与指定语言一致地表示数据的 规定方案的规则语句,所述规定的方案包括只要以下至少其中之一变化数据 类型和正在执行的涉及所述数据的用户操作特征,就随不同语言而变化的那些 方案。
20. 根据权利要求19所述的方法,其特征在于产生操作包括产生具有规则的第一语句的规则数据存储,规则的第一语句 管理在所述显示器上与第一指定语言一致地表示数据的规定方案;获得更新的操作包括提供规则的第二语句,其中规则的第二语句管理在显 示器上与第二指定语言一致地表示数据的规定方案。
21. 根据权利要求19所述的方法,其特征在于,所述操作还包括对提供 所述更新收取费用。
全文摘要
一种计算装置包括表示人可读信息的显示器和用户输入设备。规则数据存储包括规则语句,其管理在显示器上表示数据的规定方案。这些方案包括只要以下内容发生变化数据类型和/或正在执行的涉及该数据的用户操作的特征,随语言不同而变化的那些方案。规则引擎配置为实施规则。一种或多个公用程序配置为识别用于应用规则的条件,以及响应以调用规则引擎。
文档编号G06F17/00GK101375273SQ200680046262
公开日2009年2月25日 申请日期2006年12月8日 优先权日2005年12月9日
发明者皮姆·范·默尔斯 申请人:泰吉克通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1