CN1245316A - 将一键盘模式的文本转换为另一键盘模式的文本的方法 - Google Patents
将一键盘模式的文本转换为另一键盘模式的文本的方法 Download PDFInfo
- Publication number
- CN1245316A CN1245316A CN99108879A CN99108879A CN1245316A CN 1245316 A CN1245316 A CN 1245316A CN 99108879 A CN99108879 A CN 99108879A CN 99108879 A CN99108879 A CN 99108879A CN 1245316 A CN1245316 A CN 1245316A
- Authority
- CN
- China
- Prior art keywords
- language
- character
- keyboard
- keyboard mode
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/263—Language identification
Abstract
将对应一种键盘模式的文本转换为对应另一种键盘模式的文本。利用语言检测来确定文本是否在正确的键盘模式下输入。如果文本在错误的键盘模式下输入,则自动将文本转换为对应正确键盘模式的文本。错误文本在逐个字符的基础上通过先把每个错误的字符映射为虚拟键,再将虚拟键映射成正确字符,从而被转换为正确文本。
Description
本发明一般涉及从一个字符集到另一个字符集的文本转换,更具体来说,涉及将利用一种键盘模式输入的文本转换为对应另一种键盘模式的文本。
通常用字处理程序来建立和编辑文档。为了用字处理程序建立文档,作家一般采用键盘输入该文档的文本。一个键盘可以支持多个字符集,因此作家可以用单个键盘来输入不同类型的字符。例如,作家可以用一个键盘输入拉丁文字符和希腊文字符两者。对每个字符集采用不同的键盘模式。为了输入拉丁文字符,用户通过按下某个组合键或选择对应拉丁文键盘模式的图标来选择拉丁文键盘模式。为了输入希腊文字符,用户通过按下某个组合键或选择对应希腊文键盘模式的图标来选择希腊文键盘模式。
作家可以在键盘模式之间转换,这样,作家就可以用希腊文字符建立文档,然后再用拉丁文字符建立文档,或者同时用希腊文和拉丁文字符建立一个文档。可能会出现这样的情况:作家开始输入文本时认为键盘为拉丁文模式,但实际上却是希腊文模式。如果这样,则显示给作家的文本不是作家打算输入的东西。为了纠正文本,作家必须重新输入文本或转换文本。重新输入文本可能会浪费时间,尤其是在作家注意到用来输入文本的键盘模式不对时就已经输入了相当数量文本的情况下更是如此。虽然文本转换可能耗费较少的时间,但一般要求作家手工启动转换。
键盘模式问题的一种解决方案是利用一个转换表来转换已经用不正确的键盘模式输入的文本。例如,由华盛顿州Redmond市的微软公司推出的“WORD97”字处理程序就采用了转换表。该表包括能将一个字符集的字符映射为另一个字符集的字符的表目。例如,如果用该表将拉丁文字符映射为希腊文字符,则包括映射拉丁文字符为希腊文字符的表目。用键盘上的某个特定键输入的拉丁文字符被映射为对应同一键的希腊文字符。作家使由错误键盘模式输入的文本发亮,然后按下某个组合键开始转换文本。通过查找每个字符,然后将该字符映射为转换表中所列出的替换字符来达到转换文本的目的。
“WORD97”方案的一个缺陷是不灵活。仅当具有可用的转换表时才能进行转换。此外,如果转换表中没有某个字符的表目,则该字符不能被转换。另一个缺陷是转换表要求大容量的计算机内存。如果用户有两种以上的键盘模式可用,则每种转换需要一个表。例如,如果用一个键盘来输入拉丁文字符、希腊文字符和西里尔字符,需要多个表以支持拉丁文到希腊文、拉丁文到西里尔文、希腊文到西里尔文的转换,以及对应的反向转换。还有另一个缺陷是,作家必须识别用错误键盘模式输入的文本,然后手工启动转换。
因此,在技术上需要一种灵活的方法,将利用一种键盘模式输入的文本自动转换为对应另一种键盘模式的文本。
本发明通过提供一种自动将文本从一个字符集转换到另一个字符集的方法,满足了上述的需要。可以利用该方法将在一种键盘模式下输入的文本转换为对应另一种键盘模式的文本。该方法用语言检测以确定是否用正确的键盘模式输入文本。如果是在错误的键盘模式下输入文本,则将该文本转换为对应正确键盘模式的文本。错误文本是在逐个字符的基础上被转换为正确文本的,先把每个错误的字符映射为一个虚拟键,然后再将该虚拟键映射为正确的字符。
本发明一个实施例的示例性软件体系结构包括应用程序,例如字处理程序,操作系统,第一键盘驱动程序,第二键盘驱动程序,语言检测模块,以及文本转换程序模块。键盘驱动程序将从键盘接收到的扫描代码转换为操作系统消息,识别字符或与击键联系的功能。每个键盘驱动程序对应一种不同的键盘配置,例如,第一键盘驱动程序可以对应拉丁文字符集的配置,而第二键盘驱动程序可以对应希腊文字符集的配置。
文本转换程序模块监控字处理程序以确定字处理程序何时空闲。一旦字处理程序空闲,文本转换程序模块确定由字处理程序输入的文本是否在正确的键盘模式下输入的。为了确定是否利用正确的键盘模式输入了文本,文本被送到语言检测模块,该模块利用算法和统计学方法识别文本样本的语言。如果语言检测模块确定该文本是在错误的键盘模式下输入的,文本转换程序模块逐字地将文本送到第一键盘驱动程序,第一键盘驱动程序识别该虚拟键以及对应每个字符的键盘状态信息。虚拟键是一个设备独立代码,用于识别字符或与某个键击联系的功能。键盘状态信息包括“shift”、“control”和“alt”键击的状态。一旦文本转换程序模块接收到来自第一键盘驱动程序的虚拟键和键盘状态信息,该模块就将虚拟键和键盘状态信息送到第二键盘驱动程序。第二键盘驱动程序识别对应该虚拟键和键盘状态信息的另一个字符。然后,文本转换程序模块用该字符替换原来的字符。
在本发明的一个方面中,文本是被逐句转换的。文本转换程序模块监控字处理程序以确定字处理程序何时空闲,一旦字处理程序空闲,由字处理程序输入的文本被检查以确定该文本是否构成一个句子,如果是一个句子,则利用语言检测模块确定该句子是否在正确的键盘模式下输入的。如果不是,选择该句子的一个字符并确定替换的字符。一旦确定了替换字符,就用该替换字符替换所选择的字符。重复这些步骤,直到该句子的所有字符都被选择。
为了确定替换字符,文本转换程序模块将所选择的字符送到与用来输入该句子的键盘模式相关的键盘驱动程序。该程序确定虚拟键以及对应所选字符的键盘状态信息,并将该虚拟键和键盘状态信息送到文本转换程序模块。该模块接收这些信息并将其送到替换的键盘驱动程序。替换的键盘驱动程序将虚拟键和键盘状态信息转换为一个替换字符。
在本发明的另一个方面中,文本是逐字转换的。与上述做法类似,不同之处在于:一旦确定句子是在错误的键盘模式下输入的,即从该句子中选择一个字并确定该字的拼写是否正确。如果拼写正确,则该字被留下,如果错误,则该字被转换。
下面结合附图和权利要求书对实施例的详细描述,可以使本发明的这些方面和其他方面的特征和优点更清楚地被理解和认同。
图1是一台个人计算机的示意图,说明本发明一个实施例的示例性操作环境。
图2说明本发明一个实施例的示例性软件体系结构。
图3是一个流程图,说明根据本发明的一个实施例将对应一种键盘模式的文本转换为对应另一种键盘模式文本的步骤。
图4是一个流程图,说明根据本发明的一个实施例来确定是否在正确的键盘模式下输入文本的步骤。
图5是一个流程图,说明根据本发明的一个实施例来确定替换字符的步骤。
图6A和图6B是流程图,说明根据本发明的另一个实施例将对应一种键盘模式的文本转换为对应另一种键盘模式的文本的步骤。
图7A和图7B说明根据本发明的一个实施例,将对应一种键盘模式的文本转换到对应另一种键盘模式的文本。
本发明涉及将利用一种键盘模式输入的文本转换为对应另一种键盘模式文本的一种方法。在一个实施例中,本发明加入了由华盛顿州Redmond市的微软公司推出的“WORD”字处理应用程序。简单来说,该方法将一个字符集的文本自动转换到另一个字符集的文本,以使在错误键盘模式下输入的文本可以被自动转换为对应正确键盘模式的文本。该方法利用语言检测来确定文本是否在正确的键盘模式下输入的。如果在错误的键盘模式下输入文本,则该文本被转换为对应正确键盘模式的文本。错误文本是在逐个字符的基础上被转换为正确文本的,即通过将每个错误的字符映射为一个虚拟键,然后再将该虚拟键映射到正确的字符。
示例性操作环境
图1和以下的讨论意在对可以实施本发明的一个适当的计算环境提供一个简短和一般性的说明。虽然并不如此要求,但本发明将在计算机可执行指令的一般环境中进行描述,例如在个人计算机上运行的程序模块或文件。一般来说,程序模块包括执行特定的任务或实现特定的抽象数据类型的子程序、程序、组件、数据结构等。而且,熟悉这一技术的人将认识到,本发明还可以在其他的计算机系统配置上实现,包括手持设备、多处理机系统、基于微处理器的或可编程的家用电器、小型计算机和大型计算机等。本发明还可以在分布式计算环境中实现,在这种环境中,任务是由通过通信网络连接的远程处理设备来完成的。在分布式计算环境中,程序模块既可以放在本地的存储设备中,也可以放在远程的存储设备中。
参考图1,实施本发明的一个示例性系统包括常规的个人计算机20,包括处理器21、系统存储器22,以及连接系统存储器和处理器21的系统总线23。系统存储器22包括只读存储器(“ROM”)24和随机存取存储器(“RAM”)25。基本输入/输出系统26(“BIOS”)存放在ROM24中,该系统包括例如在启动期间在个人计算机20中各元件之间帮助传送信息的基本子程序。个人计算机20进一步包括硬盘驱动器27、磁盘驱动器28,例如对可移动盘片29进行读写,以及光盘驱动器30,例如可读CD-ROM盘31或对其他的光介质进行读写。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。这些驱动器及其相关的计算机可读介质为个人计算机20提供了非易失性存储器。虽然上述的计算机可读介质只提到硬盘、可移动磁盘和CD-ROM盘,但熟悉这一技术的人应该认识到,其他类型的计算机可读介质,例如磁带、闪烁存储器卡、数字视盘、伯努利盒式磁带等等,也可以用在本示例性操作环境中。
大量程序模块可以存在各种驱动器和RAM25中,包括操作系统35、一个或多个应用程序36、其他程序模块37以及程序数据38。用户可以通过键盘40和点式装置,例如鼠标42,将命令和信息输入个人计算机20。其他输入设备(没有表示)还可以包括麦克风,游戏杆、游戏键盘、卫星盘、扫描仪,等等。这些以及其他的输入设备一般都通过连接至系统总线的串行端接口46和处理器21连接,但也可以通过其他的接口进行连接,例如游戏端口或通用串行总线(“USB”)。监视器47或其他类型的显示设备也可以通过接口和系统总线23连接,例如视频适配器48。除了监视器之外,个人计算机一般还包括其他的外部输出设备(没有表示),例如扬声器或打印机。
个人计算机可以利用对一个或多个远程计算机例如远程计算机49的逻辑连接,在网络化的环境中运行。远程计算机49可以是服务器、路由器、对等设备或其他一般的网络节点,并且一般包括所述有关个人计算机20的许多或所有元件,虽然图1中只给出硬盘驱动器50。图1中所示的逻辑连接包括局域网(“LAN”)51和广域网(“WAN”)52。这样的网络环境在办公室、企事业内部网络、内联网和因特网中是很普通的。
当用在局域网(LAN)环境中时,个人计算机20通过网络接口53连接LAN51。当用于广域网(WAN)环境时,个人计算机20一般带有调制解调器54(MODEM)或其他装置,用于建立WAN52上的通信,例如因特网。调制解调器54可以是内置或外置的,通过串行接口46连接系统总线23。在网络化环境中,所述与个人计算机20有关的程序模块,或者其中的部分,可以被存放在远程的存储器设备中。应该认识到,所示的网络连接是示意性的,在计算机之间建立通信链接的其他装置也可以使用。
示例性软件体系结构
图2是说明本发明一个实施例的示例性软件体系结构的示意图。图2所示的组件包括应用程序,例如字处理程序200,操作系统35,键盘驱动程序A204,键盘驱动程序B206,语言检测模块208,以及文本转换程序模块210。虽然字处理程序200、语言检测模块208以及文本转换程序模块210表示为独立的组件,但熟悉这一技术的人应认识到,这些组件中的一些或全部都可以被组合。键盘驱动程序A204和键盘驱动程序B206将从键盘接收到的扫描代码转换为识别字符或与击键联系的功能的操作系统消息。键盘驱动程序A204和键盘驱动程序B206分别对应不同的键盘配置。例如,键盘驱动程序A204可以对应拉丁文字符集的配置,而键盘驱动程序B206可以对应希腊文字符集的配置。
语言检测模块208确定文本样本的语言。该模块通常利用算法和统计学来识别文本样本的语言。关于示例性语言检测模块的其他信息可参见一般性转让的美国专利申请系列号09/044,752,该专利名称为“识别书写文本语言的系统和方法”,1998年3月29日递交,在此供引用参考。熟悉这一技术的人应该知道,也可以采用其他的语言检测方法。
文本转换程序模块210与字处理程序200、操作系统35、键盘驱动程序A204、键盘驱动程序B206以及语言检测模块208接口。文本转换程序模块210监视字处理程序200以确定其何时空闲。一旦空闲,文本转换程序模块210确定,通过字处理程序200输入的文本是否在正确的键盘模式下输入的。为了确定这一点,文本被送到语言检测模块208。如果该模块确定文本是在错误的键盘模式下输入的,文本转换程序模块210与键盘驱动程序A204和键盘驱动程序B206通信,将该文本转换为对应正确键盘模式的文本。
利用文本转换程序模块210将在一种键盘模式下输入的文本转换为对应另一种键盘模式的文本。在一个实施例中,本发明被用来将拉丁文字符转换为希腊文字符以及相反的转换。拉丁文字符与英语、法语和德语一起使用,而希腊文字符与希腊语言一起使用。在另一个实施例中,利用本发明实现拉丁文字符和西里尔字符之间的转换。西里尔字符与俄语一起使用。在本实施例中,用户可以建立同时包括拉丁文字符和西里尔字符两者的文档。为了输入拉丁文字符,用户激活拉丁文键盘模式。为了输入西里尔字符,用户又激活西里尔文键盘模式。然而,如果在输入文本之前忘了转换键盘模式,则在错误的键盘模式下输入文本。本发明自动将在错误键盘模式下输入的文本转换为对应正确键盘模式的文本。
逐句转换文本的方法
图3说明在逐句的基础上将对应一种键盘模式的文本转换为对应另一种键盘模式文本的步骤。通常,图3所示的步骤是由图2的文本转换程序模块210来执行的。在步骤300中,文本转换程序模块监视字处理程序以确定其何时为空闲。一旦空闲,该方法从步300进入步302。在步302中,对字处理程序输入的文本进行检查以确定该文本是否构成一个句子。最好由文本转换程序模块找出最新输入的句子和一个存在的句子,该存在的句子已经通过对句子中字符的增加、删除或替换等操作进行了编辑。选代地,也可以由文本转换程序模块找出句子的任何变化,包括格式的变化。为了确定文本是否构成一个句子,文本转换程序模块寻找句子中的定界符,例如句号或问号。如果找到定界符,则步302的判断结果为句子被检测到,顺着”是”分支到达步骤304。如果找不到定界符,则步302的判断结果是句子没有被检测到,顺着”否”分支到达步骤300。
如果检测到句子,则在步304中判断该句子是否在正确的键盘模式下输入。文本转换程序模块210利用语言检测模块来判断该句子是否在正确的键盘模式下输入,步304的其他细节将在后面结合图4进行讨论。如果句子是在正确的键盘模式下输入的,就顺着”是”分支到达步骤300。但如果句子是在错误的键盘模式下输入的,则走”否”分支到达步骤306。在步306中,选择句子的一个字符。选择一个字符后,在步308中确定替换字符。步308的其他细节在后面结合图5进行讨论。一旦确定了替换字符,在步310中用替换字符替换所选择的字符。在步312中,判断该句子的所有字符是否已经全部被选择,如果是,则顺着”是”分支到达步300。否则顺着”否”分支到达步306,并重复执行步306、308和310,直到该句子的所有字符都已经被选择
图4说明确定句子是否在正确键盘模式下输入的步骤。在步400中,文本转换程序模块将句子送到语言检测模块,以便判断该句子是否在正确的键盘模式下输入。语言检测模块扫描该句子并识别句子的语言。此外。语言检测模块还执行了由文本转换程序模块执行的其他句子检测功能。一旦语言检测模块确定正确的语言,就将语言标识符(ID)信息送到文本转换程序模块。语言ID信息最好包括(1)句子的文本,由语言检测模块进行判断,(2)用于输入该句子的键盘模式,以及(3)本应该用于输入该句子的键盘模式。语言ID信息在步402中被文本转换程序模块所接收。如果用于输入该句子的键盘模式不同于本应该用于输入该句子的键盘模式,则步404的判断结果为该句子是在错误的键盘模式下输入的,并顺着”否”分支到达步408。如果步404确定使用了正确的键盘模式,则由”是”分支到达步406。
图5说明确定替换字符的步骤。在步500中,文本转换程序模块将所选择的字符送到和用来输入该句子的键盘模式相关的键盘驱动程序。例如,如果键盘驱动程序A是当用户输入该句子时的激活键盘驱动程序,则将所选的字符送到键盘驱动程序A,该键盘驱动程序将所选字符转换为一个虚拟键并确定与该字符相关的键盘状态信息。键盘状态信息包括该字符的“shift”、“control”和“alt”状态。虚拟键是由操作系统,例如“WINDOWS”操作系统,定义的一种设备独立代码,用于识别该字符或者对应键击的功能。有一些键不能被映射为虚拟键。例如,用于将区分符加到由随后的键击产生的一个字符上的键就不能被映射为虚拟键。如果键盘驱动程序能将所选的字符映射成一个虚拟键,则文本转换程序模块在步502中接收该虚拟键和键盘状态信息,并由”是”分支到达步504。在步504中,文本转换程序模块将虚拟键和键盘状态信息送到替换键盘驱动程序。在这个例子中,文本转换程序模块将虚拟键和键盘状态信息送到键盘驱动程序B。键盘驱动程序B将虚拟键和键盘状态信息转换为替换字符,该字符在步506中被文本转换程序模块所接收。
如果键盘驱动程序模块不能将所选择的字符映射为一个虚拟键,则顺着”否”分支从步502到达步508。在步508中,文本转换程序模块用一个异常表将所选择的字符映射为替换字符。如果所选择的字符不出现在异常表中,则文本转换程序模块不替换所选择的字符。因为该异常表只处理不能被变换为虚拟键的字符,该表比现有技术中用于转换一个字符集所有字符的表要小。
逐字转换文本的方法
在另一个实施例中,输入文本是逐字而不是逐句被转换的。这个实施例对于需要利用两种不同字符集建立句子的用户特别有用。例如用户可以建立一个句子,该句子除了一个字用希腊文字符外,主要使用拉丁文。本实施例类似上述的实施例,不同之处在于,一旦确定句子是在错误的键盘模式下输入的,则从该句子中选择一个字并判断该字的拼写是否正确。如果正确,该字被留下;若不正确,则将该字转换。在本实施例中,图2的软件体系结构包括一个拼写检查模块(没有表示)。图6A和6B说明本实施例的执行步骤。
在步600中,文本转换程序模块监视字处理程序以确定其何时为空闲。一旦字处理程序空闲,该方法从步600进入步602。在步602中,检查字处理程序输入的文本以确定该文本是否构成一个句子。文本转换程序模块最好寻找最新输入的一个句子,以及已经通过增加、删除或替换句子字符而被编辑过的一个现有的句子。另外,文本转换程序模块也可以寻找一个句子中的任何变化,包括格式的变化。为了确定文本是否构成一个句子,文本转换程序模块在文本中寻找定界符,例如句号或问号。如果找到,则步602中的判断结果是一个句子被检测到,并顺着”是”分支到步604。如没有找到定界符,则步602中的判断结果是句子没有找到,就沿”否”分支到步600。
如果检测到一个句子,接着在步604中判断该句子是否在正确的键盘模式下输入的。文本控制模块利用语言检测模块来判断该句子是否在正确的键盘模式下输入的。步604的细节和步304相同,上面已结合图4进行了讨论。如果该句子是在正确的键盘模式下输入的,则由”是”分支到达步600。
如果步604确定句子是在错误的键盘模式下输入的,则由”否”分支到达步606。在步606中,从句子中选择一个字,一旦选择一个字,在步608中判断该字是否拼错。在一种实施方案中,当用户输入文本时执行拼写检查。在本实施方案中,对所选字的拼写检查可以在步608之前进行,如果这样,通过检查前面拼写检查的结果来判断所选字的拼写是否出错。如果所选字的拼写还没有被检查,就在步608中进行检查。
为了在输入文本时进行拼写检查,每个字符在被输入时都带有语言标识。拼写检查模块利用该字第一个字符的语言标识来决定拼写检查所用的语言。根据激活的键盘模式、用户定义的语言选择项以及文本入口点或插入点之前的文本,将语言标识赋予一个字符。例如,如果用户开始将文本输入一个空文档,则将对应激活键盘模式的语言将这些字符标识。如果用户选择的语言是利用字处理程序的语言选择项得到的,则用对应用户选择的语言对字符进行标记。如果用户在以前输入的文本前插入新的文本,而且插入点前文本的语言不同于对应激活键盘模式的语言,则用对应插入点前文本的语言对被插入文本的字符进行标记。熟悉该技术的人应该很清楚,许多其他的拼写检查方法都可以用来判断该字是否被拼错。
如果步608确定该字拼写正确,就不对其进行转换。由”否”分支到达步606并从句子中选择另一个字。如果步608确定该字拼错,则由”是”分支到达步骤610。
在步610中,从拼错的字中选择一个字符,一旦从拼错的字中选择一个字符,在步612中确定替换字符。步612按照结合图4所述的步骤确定替换字符。确定后,在步614中,用替换字符替换所选字符。该方法从图6A的步614进入图6B的步616,在步616中,判断拼错的字中所有的字符是否都已经被选择。如果是,则由”是”分支到步618,如果不是,则走”否”分支到图6A的步610。重复执行步610、612和614,直到该拼错的字中的所有字符都已经被选择。
一旦该字中所有的字符已经被选择,在步618中判断该句子中的所有字是否已经都被选择。如果是,则该方法进入图6A的步600,否则,由”否”分支到达图6A的步606并选择句子中的另一个字。选择字直到该句子中的所有字都已经被选择。
文本转换示例
图7A和7B说明了将在希腊文键盘模式下输入的文本转换为对应拉丁文键盘模式文本的过程。图7A说明利用希腊文键盘模式输入的文本,图7A所示的文本被显示给用户。一旦用户输入了文本,就执行结合图3、图4和图5(或图4、图5、图6A和图6B)所述的方法来转换文本。完成转换后,图7B所示的文本被显示给用户。
虽然本发明只是结合实现两种键盘模式的一个键盘进行描述,但熟悉该技术的人都应该知道,本发明也可以用于实现三种以上键盘模式的键盘。如果本发明用于二种以上的键盘模式,则通过将虚拟键送到对应由语言ID信息识别的键盘模式的键盘驱动程序来确定替换字符,该键盘模式是本来应该用来输入文本的键盘模式。
总之,本发明提出了一种方法,将利用一种键盘模式输入的文本转换为对应一种不同键盘模式的文本。该方法利用语言检测来判断文本是否在正确的键盘模式下输入的。如果是在错误的键盘模式下输入的,就将该文本转换为对应正确键盘模式的文本。将每个错误的字符映射为虚拟键,然后再将虚拟键映射为正确的字符,即可将错误文本在逐个字符的基础上转换为正确文本。
不脱离本发明的实质和范围的其他的实施例对于熟悉该技术的人来说是显然的。因此,本发明的范围由附加的权利要求书加以描述并受到上述内容的支持。
Claims (18)
1.一种将利用第一键盘模式输入的第一字符集转换为对应另一个键盘模式和另一种语言的另一个字符集的方法,包括以下步骤:
确定第一字符集所代表的语言;
如果第一字符集代表替换语言,则对于第一字符集中的每个字符,选择其中的一个字符作为所选字符;
通过以下步骤确定所选替换字符:
确定对应所选字符的所选虚拟键;并且
确定对应虚拟键的替换选择字符;并且
用替换选择字符替换所选字符。
2.根据权利要求1的方法,其中,确定对应所选字符的所选虚拟键的步骤包括步骤:
请求对应第一键盘模式的第一键盘驱动程序将所选字符映射为所选虚拟键。
3.根据权利要求1的方法,其中确定对应虚拟键的替换选择字符的步骤包括步骤:
请求对应替换键盘模式的替换键盘驱动程序将所选虚拟键映射为替换选择字符。
4.根据权利要求1的方法,其中确定第一字符集所代表的语言的步骤包括以下步骤:
将第一字符集送到语言检测模块;
从语言检测模块中接收第一语言标识符以及第二语言标识符,该第一语言标识符识别用来输入第一字符集的键盘模式,该第二语言标识符识别本来应该用来输入第一字符集的键盘模式;
比较第一语言标识符和第二语言标识符;并且
如果第一语言标识符识别第一键盘模式,第二语言标识符识别替换键盘模式,则确定第一字符集代表替换语言。
5.根据权利要求4的方法,其中第一语言对应第一键盘模式,并且其中确定第一字符集所代表何种语言的步骤进一步包括步骤:
如果第一语言标识符识别第一键盘模式并且第二语言标识符也识别第一键盘模式,则确定第一字符集代表第一语言。
6.根据权利要求1的方法,其中,第一字符集是一个句子。
7.在带一个支持第一语言的第一键盘模式和支持第二语言的第二键盘模式的键盘的计算机系统中,一种将使用第一键盘模式输入的一个句子的第一个字转换为第二语言的第二字的方法,包括以下的步骤:
(a)确定句子主要用第一语言或第二语言;
(b)如果句子主要用第二语言,则选择第一字;
(c)确定第一字是否拼错;
(d)如果第一字拼错,则从第一字中选择一个字符;
(e)将所选字符转换为虚拟键;
(f)将虚拟键转换为第二语言中的第二字符;并且
(g)重复执行步骤(d)-(f),直到第一字被转换为第二字。
8.根据权利要求7的方法,其中步骤(a)包括以下的步骤:
将句子送到语言检测模块;
从语言检测模块中接收第一语言标识符以及第二语言标识符,该第一语言标识符识别用来输入该句子的键盘模式,该第二语言标识符识别本来应该用来输入该句子的键盘模式;
比较第一语言标识符和第二语言标识符;并且
如果第一语言标识符识别第一键盘模式,第二语言标识符识别第二键盘模式,则确定该句子主要采用第二语言。
9.根据权利要求8的方法,其中步骤(a)进一步包括以下的步骤:
如果第一语言标识符和第二语言标识符都识别第一键盘模式,则确定该句子主要采用第一语言。
10.根据权利要求7的方法,其中第一键盘驱动程序模块对应第一键盘模式,并且其中步骤(e)包括步骤:
将所选字符送到第一键盘驱动程序模块;并且
从第一键盘驱动程序模块中接收虚拟键和键盘状态信息。
11.根据权利要求10的方法,其中第二键盘驱动程序模块对应第二键盘模式,并且其中步骤(f)包括以下步骤:
将虚拟键和键盘状态信息送到第二键盘驱动程序模块;并且
从第二键盘驱动程序模块中接收被转换的字符。
12.根据权利要求8的方法,进一步包括步骤:
如果第一字没拼错,则从句子中选择第二字;并且
对第二字重复执行步骤(c)-(g)。
13.根据权利要求8的方法,进一步包括步骤:
对该句子中剩下的字重复执行步骤(c)-(g)。
14.一种将使用对应第一键盘驱动程序模块和第一语言的第一键盘模式输入的第一字符集转换为对应第二键盘模式的第二字符集的方法,第二键盘模式对应第二键盘驱动程序模块和第二语言,该方法包括以下步骤:
确定第一字符集对应第一语言或第二语言;
如果第一字符集对应第二语言,则通过以下步骤将第一字符集转换为第二字符集:
(a)选择第一字符集中的一个字符作为所选字符;
(b)通过以下步骤确定第二所选字符:
(1)将所选字符送到第一键盘驱动程序模块;
(2)如果第一键盘驱动程序模块返回虚拟键,则将虚拟键送到第二键盘驱动程序模块;并且
(3)从第二键盘驱动程序模块中接收第二所选字符。
(c)用第二所选字符替换所选字符;并且
(d)对第一字符集中剩下的每个字符重复执行步骤(a)-(c)。
15.根据权利要求14的方法,进一步包括步骤:
如果第一键盘驱动程序模块没有返回虚拟键,则利用将所选字符和第二所选字符联系起来的一个表来确定第二所选字符。
16.根据权利要求14的方法,其中确定第一字符集对应第一语言或第二语言的步骤包括以下步骤:
利用语言检测模块产生第一语言标识符和第二语言标识符,第一语言标识符识别用何种键盘模式来输入第一字符集,第二语言标识符识别本来应该用何种键盘模式来输入第一字符集;
比较第一语言标识符和第二语言标识符;
如果第一语言标识符和第二语言标识符都识别第一键盘模式,则确定第一字符集对应第一语言;并且
如果第一语言标识符识别第一键盘模式及第二语言标识符识别第二键盘模式,则确定第一字符集对应第二语言。
17.根据权利要求14的方法,其中第一语言是希腊文及第二语言是英文。
18.根据权利要求14的方法,其中第一语言是英文及第二语言是西里尔文。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/103,784 US6326953B1 (en) | 1998-06-24 | 1998-06-24 | Method for converting text corresponding to one keyboard mode to text corresponding to another keyboard mode |
US103784 | 1998-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1245316A true CN1245316A (zh) | 2000-02-23 |
Family
ID=22297022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99108879A Pending CN1245316A (zh) | 1998-06-24 | 1999-06-23 | 将一键盘模式的文本转换为另一键盘模式的文本的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6326953B1 (zh) |
EP (1) | EP0967555A3 (zh) |
JP (1) | JP2000066823A (zh) |
CN (1) | CN1245316A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1629934B (zh) * | 2004-02-06 | 2011-05-11 | 刘新斌 | 一种语音虚拟键盘用户指令词库的构建方法 |
CN101604233B (zh) * | 2004-02-06 | 2011-08-10 | 刘新斌 | 一种用于交互控制的语音虚拟键盘的使用方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6933919B1 (en) * | 1998-12-03 | 2005-08-23 | Gateway Inc. | Pointing device with storage |
JP2000250696A (ja) * | 1999-03-02 | 2000-09-14 | Internatl Business Mach Corp <Ibm> | 異種キーボード間のデータ変換方法 |
US6681347B1 (en) * | 2000-11-06 | 2004-01-20 | Inventec Corp. | Method for testing keyboard complied with language code |
JP3485898B2 (ja) * | 2000-11-13 | 2004-01-13 | 株式会社スクウェア・エニックス | コンピュータ読み取り可能な記録媒体およびメッセージ送信プログラム、メッセージ受信プログラム、メッセージ送受信プログラムおよびメッセージ送信方法、メッセージ受信方法、メッセージ送受信方法および情報処理装置 |
US7257701B2 (en) * | 2001-11-21 | 2007-08-14 | Lenovo (Singapore) Pte. Ltd. | Method and system for configuring an operating system in a computer system |
US7769794B2 (en) | 2003-03-24 | 2010-08-03 | Microsoft Corporation | User interface for a file system shell |
US7627552B2 (en) | 2003-03-27 | 2009-12-01 | Microsoft Corporation | System and method for filtering and organizing items based on common elements |
US7421438B2 (en) | 2004-04-29 | 2008-09-02 | Microsoft Corporation | Metadata editing control |
US7823077B2 (en) | 2003-03-24 | 2010-10-26 | Microsoft Corporation | System and method for user modification of metadata in a shell browser |
US7240292B2 (en) | 2003-04-17 | 2007-07-03 | Microsoft Corporation | Virtual address bar user interface control |
US7712034B2 (en) * | 2003-03-24 | 2010-05-04 | Microsoft Corporation | System and method for shell browser |
US7650575B2 (en) | 2003-03-27 | 2010-01-19 | Microsoft Corporation | Rich drag drop user interface |
US7925682B2 (en) | 2003-03-27 | 2011-04-12 | Microsoft Corporation | System and method utilizing virtual folders |
US7762892B2 (en) * | 2003-05-09 | 2010-07-27 | Microsoft Corporation | Mode-altering key for a character input device |
KR100634496B1 (ko) * | 2003-06-16 | 2006-10-13 | 삼성전자주식회사 | 입력언어모드 인식방법 및 장치와 이를 이용한 입력언어모드 자동전환방법 및 장치 |
US8024335B2 (en) | 2004-05-03 | 2011-09-20 | Microsoft Corporation | System and method for dynamically generating a selectable search extension |
US7657846B2 (en) | 2004-04-23 | 2010-02-02 | Microsoft Corporation | System and method for displaying stack icons |
US7694236B2 (en) | 2004-04-23 | 2010-04-06 | Microsoft Corporation | Stack icons representing multiple objects |
US8707209B2 (en) | 2004-04-29 | 2014-04-22 | Microsoft Corporation | Save preview representation of files being created |
US20060041623A1 (en) * | 2004-08-17 | 2006-02-23 | Michael Danninger | Method and system to trigger an activity associated with a user interface element on a web page |
US7614016B2 (en) | 2005-04-21 | 2009-11-03 | Microsoft Corporation | Multiple roots in navigation pane |
US8195646B2 (en) | 2005-04-22 | 2012-06-05 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US7665028B2 (en) | 2005-07-13 | 2010-02-16 | Microsoft Corporation | Rich drag drop user interface |
JP4611147B2 (ja) | 2005-08-15 | 2011-01-12 | 富士通コンポーネント株式会社 | 遠隔操作システム及び遠隔操作方法 |
US8006180B2 (en) * | 2006-01-10 | 2011-08-23 | Mircrosoft Corporation | Spell checking in network browser based applications |
US20080115072A1 (en) * | 2006-11-09 | 2008-05-15 | International Business Machines Corporation | Method and apparatus for visually assisting language input mode indentification |
CN101206659B (zh) * | 2006-12-15 | 2013-09-18 | 谷歌股份有限公司 | 自动搜索查询校正 |
US20120239834A1 (en) | 2007-08-31 | 2012-09-20 | Google Inc. | Automatic correction of user input using transliteration |
WO2011103342A1 (en) * | 2010-02-18 | 2011-08-25 | Sulaiman Alkazi | Configurable multilingual keyboard |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1561975A (en) * | 1975-07-29 | 1980-03-05 | Xerox Corp | Word processing apparatus |
US5754847A (en) * | 1987-05-26 | 1998-05-19 | Xerox Corporation | Word/number and number/word mapping |
KR950008022B1 (ko) * | 1991-06-19 | 1995-07-24 | 가부시끼가이샤 히다찌세이사꾸쇼 | 문자처리방법 및 장치와 문자입력방법 및 장치 |
US5523946A (en) * | 1992-02-11 | 1996-06-04 | Xerox Corporation | Compact encoding of multi-lingual translation dictionaries |
US5535119A (en) * | 1992-06-11 | 1996-07-09 | Hitachi, Ltd. | Character inputting method allowing input of a plurality of different types of character species, and information processing equipment adopting the same |
CA2126175A1 (en) * | 1993-07-01 | 1995-01-02 | David Micheal Silver | Multilingual keyboard configuration and code page switching |
JPH0981569A (ja) * | 1995-09-12 | 1997-03-28 | Hitachi Ltd | 多カ国対応サービス提供システム |
-
1998
- 1998-06-24 US US09/103,784 patent/US6326953B1/en not_active Expired - Fee Related
-
1999
- 1999-06-18 EP EP99111783A patent/EP0967555A3/en not_active Withdrawn
- 1999-06-22 JP JP11175835A patent/JP2000066823A/ja not_active Ceased
- 1999-06-23 CN CN99108879A patent/CN1245316A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1629934B (zh) * | 2004-02-06 | 2011-05-11 | 刘新斌 | 一种语音虚拟键盘用户指令词库的构建方法 |
CN101604233B (zh) * | 2004-02-06 | 2011-08-10 | 刘新斌 | 一种用于交互控制的语音虚拟键盘的使用方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0967555A2 (en) | 1999-12-29 |
US6326953B1 (en) | 2001-12-04 |
EP0967555A3 (en) | 2002-02-06 |
JP2000066823A (ja) | 2000-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1245316A (zh) | 将一键盘模式的文本转换为另一键盘模式的文本的方法 | |
EP0978054B1 (en) | Method and system for verifying accuracy of spelling and grammatical composition of a document | |
CA2227904C (en) | Reduced keyboard disambiguating system | |
US7293229B2 (en) | Ensuring proper rendering order of bidirectionally rendered text | |
US6340937B1 (en) | System and method for mapping multiple identical consecutive keystrokes to replacement characters | |
US7032174B2 (en) | Automatically adding proper names to a database | |
WO1997005541A9 (en) | Reduced keyboard disambiguating system | |
JP2007128525A (ja) | 減少型キーボード曖昧さ除去システム | |
US7272792B2 (en) | Kana-to-kanji conversion method, apparatus and storage medium | |
JP2009500754A (ja) | 文書中のコロケーション誤りを処理すること | |
CN1107275C (zh) | 在非拉丁文文档中插入大写拉丁文字符的方法 | |
CN101796509A (zh) | 准备显示文档用于分析的设备 | |
JP5107556B2 (ja) | 改善された中国語−英語翻訳ツール | |
CN101753476A (zh) | 一种即时通讯快速定位联系人的系统及方法 | |
CN1290886A (zh) | 优化单字节字符处理的方法、系统及计算机程序产品 | |
Lin et al. | Graphics matter: a case study of mobile phone keypad design for chinese input | |
CN1399208A (zh) | 多种语言文字处理通信方法和多种语言文字处理通信系统 | |
US5961612A (en) | Front-end processor with notification and initialization means | |
CN1916888A (zh) | 识别双字节字符集字符数据的语言的方法和系统 | |
Matthews et al. | Internationalising data access through LIMBER | |
EP1221082B1 (en) | Use of english phonetics to write non-roman characters | |
KR100424009B1 (ko) | 입력오류 표시기능을 가진 번역장치 및 방법 | |
AU747901B2 (en) | Reduced keyboard disambiguating system | |
ES2220258T1 (es) | Tecla de funcion de acceso a datos. | |
CN115455992A (zh) | 文本处理方法、装置、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |