一种使信息可供一应用程序使用的方法,包括: 存储一组墨水笔画; 发布一划分请求; 在响应所述划分请求时,将所述存储的墨水笔画分组成一个或多个具有至少一第一预定粒度的笔画分组;以及 使与所述一个或多个笔画分组有关的信息可供所述应用程序使用。(*该技术在2023年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术的方面涉及促进应用程序和电子墨水(包括各种墨水和墨水划分器对象)之间通信的系统、方法和计算机可读介质。这样的系统、方法和计算机可读介质的一些实例使应用程序或客户代码能够访问不同粒度的墨水笔画分组,以提高应用程序的性能并且允许改善这些程序及其关联的代码与数字墨水的交互。
技术介绍
典型的计算机系统,尤其是使用图形用户接口(GUI)系统的计算机系统,如Microsoft(微软)WINDOWS,被最优化为从一个或多个离散的输入设备,诸如输入文本的键盘和指点设备(例如具有一个或多个按钮的鼠标),以驱动用户界面。无所不在的键盘和鼠标接口提供快速创建和修改文档、电子表格、数据库字段、图画、照片等等。不过在有些方面,由键盘和鼠标界面提供的灵活性与非计算机(即传统的)笔和纸相比有着很大的差距。用传统的笔和纸,用户可编辑文档、在空白页边写批注、画图画或其它形状等等。在一些实例中,由于能够自由地在键盘和鼠标接口的限制外做笔记,用户可能更喜欢用笔标记文档而不是在计算机屏幕上检查文档。一些计算机系统允许用户在屏幕上绘画。例如,微软READER应用软件允许用户向文档添加电子墨水(electronic ink)(这里也称为“ink(墨水)”或“digital ink(数字墨水)”)。系统存储墨水并在被请求时将墨水提供给用户。其它应用软件(例如,在本领域中公知的与掌上计算机(Palm)3.x、4.x和袖珍个人计算机(PocketPC)的操作系统相关的绘图应用软件)允许图画的捕获和存储。此外,各种绘画应用软件,如Corel Draw,和照片及编辑应用软件,如Photoshop,可能使用基于输入笔(stylus)的输入产品,如Wacom图形输入板(tablet)产品。这些绘图包括与用于构成绘图的墨水笔画相关的其它特性。例如,行宽和颜色可与墨水一起存储。这些系统的一个目标是复制用于一张纸上的物理墨水的外观和感觉。虽然接受电子墨水的计算机系统是皆知的,但是目前它们的可用性和有用性至少在某些方面是有点受到限制的。要进一步增强它们的可用性和有效性,应用程序必须包括允许与电子墨水交互和接口的代码。因此,允许代码编写者容易地、灵活地和一致地与各种不同的墨水分组(ink grouping)交互和接口的应用编程接口(“API”)对那些想要为以某些方式与电子墨水交互的应用程序编写代码的人是非常有用的。概述实现自由格式绘图表面的应用软件,例如用户可在页面上用电子墨水输入和交互的应用软件,面临着确定以什么范围存储和操纵用户提供的笔画的挑战。对于应用软件开发者,一个直接的方法是(1)各别地处理每个笔画,或(2)一起处理一个页面上或在一给定编辑期间的所有笔画。不过,这些方法的每一个在易于被最终用户使用以及与现有文档布局代码兼容方面具有严重的实施限制。对于应用软件的理想方法,但平常相当难以实现的一个方法,是在包括词、行或段落的分组中处理笔画。这个方法具有很大好处在于易于使用、兼容性、使有可能改善的手写识别和许多其它特性等。本专利技术产生应用软件开发者可使用的API以方便地取得这些好处,不必自己确定如何分组笔画,从而去除这个方法的一个主要困难。本专利技术的各方面涉及使信息可供应用程序使用的系统和方法。这些系统和方法包括存储一组墨水笔画;发布或接收一划分请求;对划分请求响应,将被存储的笔画分组成一个或多个具有至少一第一预定粒度的笔画分组;以及使有关一个或多个笔画分组的信息可供应用程序使用。所产生的可用于应用程序的“信息”可包括,至少一个或多个笔画分组;表示具有第一预定粒度的笔画多个分组的信息;以及相应于一个或多个笔画分组的至少一个分组的机器生成文本。笔画可被分组成各种不同粒度,诸如包含词、行、段落、句、绘图等的分组。分组动作还可将笔画分组成多于一个不同粒度的分组中,并且在改变墨水笔画组例如通过添加、删除、移动、重新确定尺寸或以其它方式更改一个或多个笔画之后,可重复分组动作。应用程序代码可在上述方法运行期间为解析器提供各种类型的解析信息,诸如设定在解析期间使用的识别器,设定在解析期间使用的语言,设定笔画想要的将被解析的粒度,设定包括在墨水笔画中的文本行的行高等等。本专利技术的其它方面涉及用于在一应用和一墨水划分器对象之间通信的系统和方法,墨水划分器对象存储要被划分到分组的墨水笔画。在一些实例中,系统和方法包括(a)可任选地由应用发布一个划分请求至墨水划分器对象,(b)响应于划分请求,调用一划分方法,这个划分方法将被存储的墨水笔画分组成一个或多个具有至少一第一预定粒度(例如,词、行、段落、句、绘图等)的笔画分组;以及(c)使一个或多个笔画分组可供应用使用。划分方法的结果可被存储在一个墨水划分结果对象中。在一些实例中,墨水划分结果对象可包括(并允许应用程序访问)原来被划分的墨水笔画,并允许检索各种不同粒度的笔画分组。在本专利技术的其它实例中,划分方法可使用预定的或预设的与墨水笔画关联的语言特征以协助更好地定义墨水笔画分组。本专利技术另外的方面涉及计算机可读介质,具有存储在其上的用于执行上面概括地描述的各种方法的计算机可执行指令。本专利技术另外的方面涉及计算机可读介质,具有存储在其上的用于各种墨水划分器对象、墨水划分结果对象、墨水划分多单元对象和墨水划分量单元对象。本专利技术的这些和其它特性和方面在考虑下面的详细说明和附图时将更为显而易见。附图说明前面的概述,以及后面的详细说明,在结合附图阅读时可较好地被理解,这些附图是以实例方式包括进来的,而不是作为有关所主张的专利技术的限制。图1示出一个通用数字计算环境的示意图,可被用于实现本专利技术的各个方面。图2示出一个可按照本专利技术各个方面使用的基于输入笔的计算系统的平面图。图3是一个示意图,一个可结合本专利技术使用的解析系统和/或方法的实例的全面概述。图4示出一个概括地说明可结合本专利技术的实例使用的递增的解析处理的示意图。图5示出一个示意图,概括地说明可结合本专利技术的实例使用的各个布局分析步骤的示例。图6A和6B示出解析树数据结构的实例,例如可使用执行在图5中所示的步骤的一个布局分析引擎获得的这个解析树数据结构。图7示出用于本专利技术一些实例的InkDivider(墨水划分器)对象的组件和特性。图8示出用于本专利技术一些实例的InkDivisionResult(墨水划分结果)对象的组件和特性。图9示出用于本专利技术一些实例的InkDivisionUnits(墨水划分单元集合)对象的组件和特性。图10示出用于本专利技术一些实例的InkDivisionUnit(墨水划分单元)对象的组件和特性。图11示出用于本专利技术一些实例的InkDivider(墨水划分器)对象的另一个实例。详细说明为帮助读者,将下面的说明分成几个子部分。这些子部分包括术语;通用计算机;关于墨水布局分析和分类分析的一般背景;墨水划分器对象和API;墨水划分器对象和API的操作;应用编程接口;可替换的墨水划分器对象;以及结论。I.术语墨水(ink)-一个或多个笔画的序列或集合,可任选地具有多种属性。笔画序列可包括有序形式的笔画。这个序列可按捕获的时间或笔画在页面上出现的位置排序。其它排序也是可能的。一笔画集合可包括笔画序列或未排序的笔画或它们的任意组合。可将墨水扩展为包括附加属性、方法、或触发器事件等本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:S·道齐,A·古纳雷斯,A·J·高尔德伯格,B·德雷塞维克,J·J·特纳,M·P·罗顿,R·L·查姆伯斯,S·拉古帕西,T·H·坎纳派尔,T·基林斯基,Z·C·斯基拉格伊,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。