CN110073350B - 用于管理数字墨水排版的系统和方法 - Google Patents
用于管理数字墨水排版的系统和方法 Download PDFInfo
- Publication number
- CN110073350B CN110073350B CN201780077858.XA CN201780077858A CN110073350B CN 110073350 B CN110073350 B CN 110073350B CN 201780077858 A CN201780077858 A CN 201780077858A CN 110073350 B CN110073350 B CN 110073350B
- Authority
- CN
- China
- Prior art keywords
- text
- ink
- typeset
- digital ink
- font size
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000004590 computer program Methods 0.000 abstract description 3
- 239000000976 ink Substances 0.000 description 701
- 238000010586 diagram Methods 0.000 description 49
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 17
- 230000011218 segmentation Effects 0.000 description 13
- 238000010606 normalization Methods 0.000 description 12
- 230000001788 irregular Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 8
- 239000010432 diamond Substances 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 229910003460 diamond Inorganic materials 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- NIXOWILDQLNWCW-UHFFFAOYSA-N acrylic acid group Chemical group C(C=C)(=O)O NIXOWILDQLNWCW-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/171—Editing, e.g. inserting or deleting by use of digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种用于管理在计算设备上对数字墨水结构化内容进行排版的系统、方法和计算机程序产品。每个计算设备具有处理器、以及用于在处理器的控制下识别手写输入的至少一个系统应用。系统应用确定结构化内容的至少数字墨水文本元素的尺寸信息,基于尺寸信息的至少一部分计算分别与数字墨水文本元素相对应的每个排版墨水文本元素的第一字体大小,将排版墨水文本元素分类为结构化内容的一个或多个类别,基于相应类别的每个排版墨水文本元素的第一字体大小确定每个排版墨水文本元素的第二字体大小,并且在与计算设备相关联的显示器上显示相应确定的第二字体大小下的排版墨水文本元素。
Description
相关申请的交叉引用
本申请要求于2017年3月22日提交的No.15/466,346美国专利申请的优先权,该美国专利申请要求于2016年10月26日提交的No.16 290 205.0欧洲申请的优先权,其全部内容通过引用并入本文中。
技术领域
本描述总体涉及能够识别各种图形和文本的用户输入手写的计算设备接口的领域。特别地,本描述涉及与手写输入相对应的数字墨水的排版管理。
背景技术
计算设备不断在日常生活中普遍存在。它们采用台式计算机、膝上型计算机、平板计算机、混合型计算机(二合一)、电子书阅读器、移动电话、智能电话、可穿戴计算机、全球定位系统(GPS)单元、企业数字助理(EDA))、个人数字助理(PDA)、游戏控制台等形式。此外,计算设备被包含到车辆和设备中,例如汽车、卡车、农场设备、制造设备、建筑环境控制(例如,照明、HVAC)以及家庭和商业设备。
计算设备通常由诸如中央处理单元(CPU)之类的至少一个处理元件、某种形式的存储器以及输入和输出设备组成。各种计算设备及其后续使用需要各种接口和输入设备。一种这样的输入设备是诸如触摸屏或触摸板之类的触敏表面,在这样的触敏表面中通过用户的手指或诸如笔或触写笔之类的仪器与触敏表面之间的接触来接收用户输入。另一个输入设备是感测用户在输入接口上方做出的手势的输入接口。另一输入设备是检测触摸或非触摸交互与非触摸物理或虚拟表面的相对位置的位置检测系统。这些输入方法中的任何一种通常可用于输入手写内容。使用手写识别系统或方法来解释用户的手写。
手写识别在计算设备中的一个应用是创建图,这些图在计算设备上手绘以转换成排版版本。图是说明或示出布置和关系(作为部分)的图。图通常包括具有任意或特定含义的形状和与这些形状有关系的文本。有许多类型的图,例如流程图、组织图、概念图、蜘蛛图、框/体系结构图、思维导图、框图、维恩图和金字塔,仅举几例。
通常,图被创建为具有包含文本的形状元素。在传统的数字(例如,非手写)图应用中,形状容器内的排版文本的大小(例如,字体大小)由预设参数控制。例如,在中,用户可以设置/>图纸和/>幻灯片设置,以便将文本包裹在形状内,在缩小形状大小时缩小字体大小,或在输入溢出文本时调整形状大小。然而,将这些操作应用于手写图的文本和形状是有问题的。
这是因为,对于数字墨水(即,输入手写的呈现可视化)版本的图,难以在不扭曲手写的情况下调整数字墨水中的文本和非文本的大小,这会对用户体验和内容本身产生负面影响,因为需要用户额外费力,还可能会降低质量。此外,如果不对数字墨水执行这样的操作,而是在转换数字墨水时对排版内容执行这样的操作,则所得到的排版版本的图可能与最初预期的图完全不同。
关于图中的层级结构(例如,树)存在进一步的问题。也就是说,许多图类型具有信息级别,例如组织结构图、思维导图等,其中每个级别的信息以可视地表示级别顺序的方式显示。在这种情况下,对于排版版本的图,通过用户的预选择或后选择、样式模板的使用等或内容的解释,可以容易地呈现不同级别的层级,其具有特定于级别的文本大小和形状大小。
然而,以数字墨水表示这样的层级级别是困难的,因为正如申请人已经发现的那样,在没有和有这种不同级别的情况下,用户的手写在很大程度上变化(例如,已经注意到,为了适合已经绘制的形状,用户手写受约束),使得难以通过手写识别过程本身来解释元素大小的任何预期区别。也就是说,如果在排版时数字墨水的高度(或大小)直接映射到字体大小,则转换后的内容可能针对相似的块(级别)具有许多不同的字体大小,并且可能针对不同级别弄反字体大小,例如,更高级别比更低级别的字体大小更小。这可以通过用户的干预(例如,经由块或菜单选择)在排版后进行校正,然而这降低了用户体验和生产率。备选地,可以对所有级别应用默认或标准字体大小,或者针对每个级别单独应用默认或标准字体大小,而不管手写文本大小如何。
手写识别在计算设备中的另一个应用是创建表,以及将内容和数据输入到表或其他结构化内容(例如列表)中。与图类似,表被创建为具有与限定包含文本的单元格的有边界或无边界的列和行相对应的“容器”,并且可以具有层级结构,例如列和行标题,其具有与表主体不同的字体大小或的其他样式差异。因此,与图类似,在考虑输入本身时,难以解释排版版本的手写表或列表输入的敏感文本和非文本大小调整。
发明内容
下面本文描述的本公开的示例提供了用于管理到计算设备的手写输入的排版的方法、系统和计算机程序产品。
在一些示例中,本公开包括一种用于管理在计算设备对数字墨水结构化内容进行排版的系统。计算设备可以包括处理器以及用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。至少一个非暂时性计算机可读介质可以被配置为:确定结构化内容的至少多个数字墨水文本元素的尺寸信息;基于尺寸信息的至少一部分计算分别与数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;将排版墨水文本元素分类为结构化内容的一个或多个类别;基于相应类别的每个排版墨水文本元素的第一字体大小,确定排版墨水文本元素中的每一个的第二字体大小;以及,在与相应的计算设备相关联的显示器上以相应确定的第二字体大小显示多个排版墨水文本元素。在一些示例中,本公开包括一种用于管理在计算设备上对数字墨水结构化内容进行排版的系统。所述系统可以包括包含指令的存储器以及处理器,处理器被配置为执行指令以实现以下操作:确定结构化内容的至少多个数字墨水文本元素的尺寸信息;基于尺寸信息的至少一部分计算分别与数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;将排版墨水文本元素分类为结构化内容的一个或多个类别;基于相应类别的每个排版墨水文本元素的第一字体大小,确定排版墨水文本元素中的每一个的第二字体大小;以及,在与相应的计算设备相关联的显示器上以相应确定的第二字体大小显示多个排版墨水文本元素。
可以基于对应的数字墨水文本元素的尺寸信息对排版墨水文本元素进行分类。
尺寸信息可以包括数字墨水文本元素的排印信息。排印信息可以包括数字墨水文本元素的x高度。
尺寸信息可以涉及与结构化内容中的与数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应的一个或多个排版墨水非文本元素,并且至少一个非暂时性计算机可读介质可以被配置为:通过将根据数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算排版墨水文本元素中的与数字墨水文本元素中的一个或多个数字墨水文本元素相对应的一个或多个排版墨水文本元素的每个第一字体大小。
尺寸信息可以包括排版墨水非文本元素的几何信息。
数字墨水文本元素中的一个或多个数字墨水文本元素的至少一个的至少一部分可以被包含在相关的数字墨水非文本元素内,并且可以计算对应的排版墨水文本元素的第一字体大小使得排版墨水文本元素被对应的排版墨水非文本元素完全包含。
在一些示例中,本公开包括一种用于管理在计算设备上对数字墨水结构化内容进行排版的方法。计算设备可以包括处理器和用于在处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质。该方法可以包括以下步骤:确定结构化内容的至少多个数字墨水文本元素的尺寸信息;基于尺寸信息的至少一部分计算分别与数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;将排版墨水文本元素分类为结构化内容的一个或多个类别;基于相应类别的每个排版墨水文本元素的第一字体大小,确定排版墨水文本元素中的每一个的第二字体大小;以及,在与相应的计算设备相关联的显示器上以相应确定的第二字体大小显示多个排版墨水文本元素。
可以基于对应的数字墨水文本元素的尺寸信息对排版墨水文本元素进行分类。
尺寸信息可以包括数字墨水文本元素的排印信息。排印信息可以包括数字墨水文本元素的x高度。
尺寸信息可以涉及与结构化内容中的与数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应的一个或多个排版墨水非文本元素,并且存储器可以包括以下步骤:通过将根据数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算排版墨水文本元素中的与数字墨水文本元素中的一个或多个数字墨水文本元素相对应的一个或多个排版墨水文本元素的每个第一字体大小。
尺寸信息可以包括排版墨水非文本元素的几何信息。
数字墨水文本元素中的一个或多个数字墨水文本元素的至少一个的至少一部分可以被包含在相关的数字墨水非文本元素内,并且可以计算对应的排版墨水文本元素的第一字体大小使得排版墨水文本元素被对应的排版墨水非文本元素完全包含。
在一些示例中,本公开包括一种非暂时性计算机可读介质,其中具体化有计算机可读程序代码。计算机可读程序代码可以适于被执行以实现用于管理在计算设备上对数字墨水结构化内容排版的方法。计算设备可以包括处理器用于在处理器的控制下识别手写输入的和至少一个非暂时性计算机可读介质。该方法可以包括以下步骤:确定结构化内容的至少多个数字墨水文本元素的尺寸信息;基于尺寸信息的至少一部分计算分别与数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;将排版墨水文本元素分类为结构化内容的一个或多个类别;基于相应类别的每个排版墨水文本元素的第一文本大小,确定排版墨水文本元素中的每一个的第二字体大小;以及,在与相应的计算设备相关联的显示器上以相应确定的第二字体大小显示多个排版墨水文本元素。
可以基于对应的数字墨水文本元素的尺寸信息对排版墨水文本元素进行分类。
尺寸信息可以包括数字墨水文本元素的排印信息。排印信息可以包括数字墨水文本元素的x高度。
尺寸信息可以涉及与结构化内容中的与数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应的一个或多个排版墨水非文本元素,并且存储器可以包括以下步骤:通过将根据数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算排版墨水文本元素中的与数字墨水文本元素中的一个或多个数字墨水文本元素相对应的一个或多个排版墨水文本元素的每个第一字体大小。
尺寸信息可以包括排版墨水非文本元素的几何信息。
数字墨水文本元素中的一个或多个数字墨水文本元素的至少一个的至少一部分可以被包含在相关的数字墨水非文本元素内,并且可以计算对应的排版墨水文本元素的第一字体大小使得排版墨水文本元素被对应的排版墨水非文本元素完全包含。
附图说明
结合附图,根据以下对本系统和方法的实施例的详细描述,将更全面地理解本系统和方法。在附图中,相同的附图标记表示相同的元件。在附图中:
图1示出了在计算设备的输入接口上呈现的排版墨水思维导图形式的示例结构化数字对象内容;
图2示出了在计算设备的输入接口上呈现的数字墨水思维导图形式的示例结构化墨水对象内容;
图3示出了根据本系统和方法的示例的计算设备的框图;
图4示出了根据本系统和方法的示例的用于手写识别的系统的框图;
图5示出了图示根据本系统和方法的示例的图4的手写识别系统的细节的框图;
图6示出了如根据图2的数字墨水思维导图排版而成的示例排版墨水思维导图;
图7示出了如根据图2的数字墨水思维导图排版而成的示例排版墨水思维导图;
图8示出了在计算设备的输入接口上呈现为数字墨水的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图9A示出了图8的数字墨水上呈现有示例性排版墨水、以及数字墨水尺寸信息;
图9B示出了图8的数字墨水上呈现有示例性排版墨水、根据本系统和方法的示例确定的数字墨水尺寸信息和排版墨水的尺寸信息;
图10示出了与图8的数字墨水相关的在计算设备的输入接口上呈现为数字墨水的另外的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图11A和图11B示出了图10的数字墨水上呈现有示例排版墨水、以及数字墨水尺寸信息;
图11C示出了根据图10的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水的尺寸信息;
图12A示出了排版墨水形式的多个不同形状;
图12B示出了图12A的形状具有根据本系统和方法的示例确定的排版墨水的尺寸信息;
图12C示出了图12A的形状具有根据本系统和方法的示例确定的排版墨水的尺寸信息;
图13示出了数字墨水形式的不规则形状具有根据本系统和方法的示例确定的排版墨水的尺寸信息;
图14示出了在计算设备的输入接口上呈现为数字墨水的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图15A示出了根据图14的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水的尺寸信息和以基于高度的字体大小排版的输入的文本;
图15B示出了根据图14的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水尺寸信息和以基于区域的字体大小排版的输入的文本;
图15C示出了根据图14的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水尺寸信息和以基于容器的字体大小排版的输入的文本;
图16示出了在计算设备的输入接口上呈现为数字墨水的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图17A示出了根据图16的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水的尺寸信息和以基于高度的字体大小排版的输入的文本;
图17B示出了根据图16的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水尺寸信息和以基于区域的字体大小排版的输入的文本;
图17C示出了根据图16的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水尺寸信息和以基于容器的字体大小排版的输入的文本;
图18示出了在计算设备的输入接口上呈现为数字墨水的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图19A示出了根据图18的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的数字墨水尺寸信息和以基于高度的字体大小排版的输入的多行文本;
图19B示出了根据图18的数字墨水排版而成的示例排版墨水,其具有排版墨水尺寸信息和以图19A的基于高度的字体大小之一排版的输入的多行文本;
图19C示出了根据图18的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水的尺寸信息和以基于容器的字体大小排版的输入的多行文本;
图19D示出了根据图18的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水尺寸信息和以基于区域、基于容器的字体大小排版的输入的多行文本;
图20A示出了在计算设备的输入接口上呈现为具有包含的文本的排版墨水单元格的示例排版墨水内容,其描绘了调整大小的方向;
图20B示出了根据本系统和方法的示例调整大小的图20A的排版墨水单元格;
图21示出了在计算设备的输入接口上呈现为具有包含的文本的数字墨水容器的示例手写输入,其描绘了根据本系统和方法的示例确定的数字墨水的尺寸信息;
图22A示出了根据图21的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的数字墨水尺寸信息和以基于高度的字体大小排版的输入的多行文本;
图22B示出了根据图21的数字墨水排版而成的示例排版墨水,其具有根据本系统和方法的示例确定的排版墨水的尺寸信息和以基于容器的字体大小排版的输入的多行文本;
图22C示出了呈现在计算设备的输入接口上的根据图21的数字墨水排版而成的示例排版墨水,其具有以图22A的基于高度的字体大小之一排版的并根据本系统和方法的示例归一化的输入的多行文本;
图23示出了根据本系统和方法的示例的局部字体大小计算的流程图;
图24示出了图2的示例数字墨水思维导图,其具有根据本系统和方法的示例确定的数字墨水的尺寸信息;以及
图25示出了图2的示例数字墨水思维导图,其具有根据本系统和方法的示例确定的一些数字墨水、在一些数字墨水上的示例排版墨水的尺寸信息、以及排版墨水的尺寸信息。
具体实施方式
在以下详细描述中,通过示例阐述了许多具体细节,以便提供对相关教导的透彻理解。然而,对于本领域技术人员来说清楚的是,可以在没有这些细节的情况下实践本教导。在其他情况下,公知的方法、过程、组件和/或电路是在相对上位的层面的描述的,而没有进行详细描述,以避免不必要地模糊本教导的各方面。
相对于如应用于在其上识别输入的输入接口的笛卡尔坐标系进行诸如上、下、上方、下方、最低、最高、水平、竖直等方向特征的参考和讨论。此外,当查看附图时,诸如左和右之类的术语是关于读者的参考系而做出的。此外,在本描述中对术语“文本”的使用被理解为包括任何书面语言中的所有字母数字字符及其字符串、以及书面文本中使用的常用的非字母数字字符(例如符号)。此外,本描述中的术语“非文本”被理解为包括在非本文环境下使用的形式自由的手写或手绘内容和呈现的文本和图像数据、以及非字母数字字符及其字符串和字母数字字符及其字符串。此外,这些图中所示的示例是处于从左到右书面语言上下文下的,因此对位置的任何引用可以适用于具有不同方向格式的书面语言。
本文描述的各种技术总体涉及以保留所输入的内容样式的方式在便携式和非便携式计算设备上捕获、处理和管理手绘和手写内容,同时允许转换为该内容的忠实排版的版本或美化版本。本文描述的系统和方法可以利用对经由连接到计算设备的或计算设备的输入接口(例如触敏屏幕)或者经由连接到计算设备的输入设备(例如,数字笔或鼠标)、或经由由位置检测系统监测的物理或虚拟表面输入到计算设备的用户的自然书写和绘图样式的识别。
尽管各种示例是关于使用所谓的在线识别技术识别手写输入来描述的,但是应当理解,可以应用于其他形式的输入识别(例如,识别图像而不是数字墨水的离线识别)。术语手绘和手写在本文中可互换使用,以定义用户通过使用他们的手直接在数字或数字连接的介质上或经由诸如手持式触写笔之类的输入工具来创建数字内容。本文中使用术语“手”来提供输入技术的简明描述,然而在该定义中包括使用用户身体的其他部位(例如,脚、嘴和眼睛)以用于类似输入。本文中使用术语“数字”来定义区别于模拟媒体和内容(例如,纸张和纸张墨水)的计算媒体和内容,。该术语不旨在定义由任何适用的设备使用的计算处理的方式(例如,二进制),并且可以与“电子”或类似术语互换。
图1示出了具有(层级)图元素的思维导图100,其作为具有排版墨水文本元素和排版墨水非文本元素的结构化数字对象内容的示例。图100具有以节点分布的多个元素:(第一级)中央或主节点102(节点“1”)、多个(第二级)分支节点104(节点“2”)、以及多个(第三级)分支或列表节点106(节点“3”)。图100还具有标题元素或节点108(节点“0”),其包括文本(例如,单词“MY MIND-MAP”)。
(第一级)节点102包括形状102a(例如,椭圆形),其包含文本102b(例如,单词或短语“Main Concept”),由此形状102a是容器。
分别地,第一(第二级)节点104包括形状104a(例如,椭圆形),其包含文本104b(例如,单词和数字的组合或短语“Idea 1”),第二(第二级)节点104包括形状104c(例如,椭圆形),其包含文本104d(例如,单词和数字的组合或短语“Idea 2”),第三(第二级)节点104包括形状104e(例如,椭圆形),其包含文本104f(例如,单词和数字的组合或短语“Idea 3”),以及第四(第二级)节点104包括形状104g(例如,椭圆形),其包含文本104h(例如,单词和数字的组合或短语“Idea 4”),由此形状是容器。
第一(第三级)节点106包括文本106a(例如,单词和数字的组合或短语“Item 1”),第二(第三级)节点106包括文本106b(例如,单词和数字的组合或短语“Item 2”),并且第三(第三级)节点106包括文本106c(例如,单词和数字的组合或短语“Item 3”),这几个文本一起形成列表。
此外,第二级容器104各自通过相应的连接线110连接到第一级容器102,并且第三级列表元素106各自通过相应的连接线112连接到第二级容器104之一。
关于示例思维导图100的层级结构的含义是第二级元素依赖于第一级元素(例如,那些“idea”是根据“main concept”而形成的),并且第三级元素取决于第二级元素之一(例如,那些“item”与那些“idea”之一相关)。图100以排版墨水呈现或格式化在例如计算设备的屏幕上。也就是说,文本(例如,文本字符和数字)和非文本(例如,椭圆形和线)的图元素被呈现为数字对象。因此,通过利用针对这些元素的不同数字对象大小来辅助层级关系的可视化。
可以看出,第一级节点102的形状102a的大小和文本102b的文本大小大于分别为第二级节点104的形状104a、104c、104e和104g以及文本104b、104d、104f和104h的大小。第二级节点104的形状和文本分别具有相同的形状大小(和尺寸)和文本大小。第三级节点106的文本106a、106b和106c的文本大小彼此相同,并且与第二级节点104的文本104b、104d、104f和104h的文本大小相同。此外,标题108的文本的文本大小是最大的。以这种方式,图100的不同依赖级别可以容易且立即在视觉上辨别出。其他格式和样式也可以提供这样的视觉分级,例如线条和文本颜色、线条粗细、容器阴影、文本突出显示、动画、装饰等。
图2示出了具有层级图元素的示例思维导图200,其作为结构化墨水对象内容的示例。也就是说,图200基于到计算设备的手写输入而以数字墨水呈现为具有数字墨水文本元素和数字墨水非文本元素,到计算设备的手写输入被手写识别处理用以以如下的示例方式来解释输入的图解关系。
图3示出了示例计算设备300的框图。计算设备可以是台式计算机、膝上型计算机、平板计算机、混合型计算机(二合一)、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位系统(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA),游戏控制台等。计算设备300包括至少一个处理元件、某种形式的存储器以及输入和/或输出(I/O)设备的组件。这些组件通过输入和输出(例如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、IR端口、天线或本领域普通技术人员已知的其他组件)彼此通信。
所示出的计算设备300的示例具有至少一个显示器302,用于从计算设备输出数据(例如,图像、文本和视频)。显示器302可以使用LCD、等离子、LED、iOLED、CRT或本领域普通技术人员已知的是或者不是触敏的任何其他适当技术。显示器302中的至少一些与至少一个输入接口304共置一处。输入接口304可以采用诸如电阻、表面声波、电容、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声脉冲识别之类的技术、或本领域普通技术人员已知任何其他适当技术来接收用户输入。输入接口304可以由清楚地标识其分界线的永久的或视频产生的边界限定。替代机载显示器或除了机载显示器之外,计算设备300可以具有投影显示能力。
计算设备300可以包括经由本地接口通信地耦接的一个或多个附加I/O设备(或外围设备)。附加I/O设备可以包括输入设备,例如键盘、鼠标、扫描仪、麦克风、触摸板、条形码读取器、激光读取器、射频设备读取器或本领域普通技术人员已知的任何其他适当技术。此外,I/O设备可以包括输出设备,例如打印机、条形码打印机或本领域普通技术人员已知的任何其他适当的技术。此外,I/O设备可以包括传送输入和输出两者的通信设备,例如调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器或本领域普通技术人员已知的任何其他适当技术。本地接口可以具有用于实现通信的附加元件,例如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,为了简单起见省略了这些元件,但是对本领域技术人员是已知的。此外,本地接口可以包括地址、控制和/或数据连接,以实现其他计算机组件之间的适当通信。
计算设备300还包括处理器306,处理器306是用于执行软件(特别是存储器308中存储的软件)的硬件设备。处理器可以是本领域普通技术人员已知的被设计用于执行软件指令的任何定制的或商业上可获得的通用处理器、中央处理单元(CPU)、商业上可获得的微处理器,包括基于半导体的微处理器(以微芯片或芯片组的形式)、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件、状态机或其任何组合。
存储器308可以包括易失性存储器元件(例如,随机存取存储器(RAM,例如DRAM、SRAM或SDRAM))和非易失性存储器元件(例如,ROM、EPROM、闪存PROM、EEPROM、硬盘驱动器、磁带或光带、存储器寄存器、CD-ROM、WORM、DVD、廉价磁盘冗余阵列(RAID)、另一种直接存取存储设备(DASD)或任何其他磁性、电阻或相变非易失性存储器)中的任何一个或组合。此外,存储器308可以包含电子、磁、光和/或其他类型的存储介质。存储器308可以具有分布式架构,其中各种组件彼此远离,但也可以由处理器306访问。此外,存储器308可以远离设备,例如在服务器或基于云的系统处,计算设备300可远程访问存储器308。存储器308耦接到处理器306,因此处理器306可从存储器308读取信息并将信息写入存储器308。在备选实施方式中,存储器308可与处理器306集成在一起。在另一示例中,处理器306和存储器308可以都驻留在单个ASIC或其他集成电路中。
存储器308中的软件包括操作系统310、其中具体化有计算机可读程序代码的非暂时性计算机可读介质形式的墨水管理系统312和手写识别(HWR)系统314。墨水管理系统312和HWR系统314各自均可包括一个或多个单独的计算机程序。这些中的每一个都具有用于实现逻辑功能的可执行指令的有序列表。操作系统310控制墨水管理器312(和HWR系统314)的执行。操作系统310可以是任何专有操作系统或商业或免费可获得的操作系统,例如WEBOS、MAC和IPHONE/>LINUX和ANDROID。应该理解,也可以使用其他操作系统。备选地,可以在不使用操作系统的情况下提供本系统和方法的墨水管理系统312。
墨水管理系统312包括与对用户输入的手绘形状和手写文本进行检测、管理和处理相关的一个或多个处理元件。该软件还可以包括与手写识别、不同功能或两者相关的一个或多个其他应用。其他应用的一些示例包括文本编辑器、电话拨号器、联系人目录、即时消息发送工具、计算机辅助设计(CAD)程序、电子邮件程序、文字处理程序、web浏览器和相机。墨水管理系统312和其他应用包括在制造时与计算设备300一起提供的程序,并且还可以包括在制造之后上载或下载到计算设备300中的程序。
具有支持和兼容能力的HWR系统314可以是源程序、可执行程序(目标代码)、脚本、应用或具有要执行的指令集的任何其他实体。当为源程序时,程序需要经由编译器、汇编器、解译器等翻译,编译器、汇编器、解译器等可以包括或不包括在存储器中,以便与操作系统一起正确地操作。此外,具有支持和兼容能力的手写识别系统可以写成(a)面向对象的编程语言,其具有数据和方法的类别;(b)过程编程语言,其具有例程、子例程和/或函数,例如但不限于C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift和Ada;或(c)功能编程语言,例如但不限于Hope、Rex、Common Lisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog和F#。
备选地,HWR系统314可以是用于与远离设备的手写识别系统(例如,服务器或基于云的系统)通信的方法或系统,但是,其可由计算设备300可以使用计算设备300的上述通信I/O设备通过通信链路远程访问。此外,墨水管理系统312和HWR系统314可以一起操作或组合为单个系统或应用。此外,墨水管理系统312和/或HWR系统314可以集成在操作系统310内。
在输入接口304上或经由输入接口304输入的笔划被处理器306处理为数字墨水。用户可以用手指或适合与输入接口一起使用的某些仪器(例如,笔或触写笔)输入笔划。用户可以在使用对在输入接口304附近的运动进行感测或成像的技术的情况下通过在用户接口304上做出手势来输入笔划,或者可以用计算设备300的外围设备(例如,鼠标或者操纵杆)、或者用投影接口(例如,用以确定笔划和手势信号的无源平面表面的图像处理)来输入笔划。
笔划至少由笔划起始位置、笔划终止位置以及连接笔划起始位置和笔划终止位置的路径表征。还可以捕获诸如沿着路径的多个采样点处的定时、压力、角度之类的另外的信息,以提供笔划的更深度的细节。因为不同的用户可以自然地写出具有轻微变化的相同的对象(例如,字母、形状、符号),因此HWR系统适应每个对象可以在被输入时被识别为正确的或者期望对象的各种方式。
图4是为本地(即,加载在设备300上)或远程(即,设备300可远程访问)形式的HWR系统314的示例的示意图。HWR系统314包括诸如预处理316、识别318和输出320之类的阶段。预处理阶段316处理数字墨水以在识别阶段318期间实现更高的精度并减少处理时间。该预处理可以包括通过应用大小归一化和/或诸如B样条逼近之类的方法以平滑输入来对连接笔划起始位置和笔划终止位置的路径进行归一化。然后将预处理后的笔划传递到识别阶段318,识别阶段318处理笔划以识别由此形成的对象。然后可以将识别的对象输出320到显示器302,通常被输出为数字墨水或排版墨水版本的手写输入。
识别阶段318可包括不同的处理元件或专家。图5是图4的示例的示意图,其示出了识别阶段318的示意性细节。示出了分割专家322、识别专家324和语言专家326这三个专家,它们通过动态编程协作以产生输出320。
分割专家322定义不同方式来将输入笔划分割成单独元素假设(例如,字母数字字符和数学运算符、文本字符、单独形状或子表达),以便形成表达(例如,单词、数学方程式或形状组)。例如,分割专家322可以通过对原始输入的连续笔划进行分组来形成元素假设以获得分割图,在分割图中每个节点与至少一个元素假设相对应,并且元素之间的邻接约束由节点连接处理。备选地,分割专家322可以针对不同的输入类型(例如,文本、绘图、表、图表、方程式和乐谱)采用单独的专家。
识别专家324提供对由分类器328提取的特征的分类,并输出具有针对分割图的每个节点的概率或识别分数的元素候选项列表。存在可以用于解决该识别任务的许多类型的分类器,例如支持向量机、隐马尔可夫模型或诸如多层感知、深度、卷积或回归神经网络之类的神经网络。选择取决于任务所需的复杂度、精度和速度。
语言专家326使用语言模型(例如,语法或语义)针对分割图中的不同路径产生语言意义。专家326根据语言信息330检查其他专家建议的候选项。语言信息330可以包括词典、正则表达式等,并且是语言专家326用来执行语言模型的所有静态数据的存储。语言模型可以依赖于关于给定语言的统计信息。根据识别结果和用户交互,在有或没有适配的情况下离线计算语言信息330,并将其提供给语言专家326。语言专家326旨在找到最优识别路径。在一个示例中,语言专家326通过探索表示语言信息330的内容的语言模型(例如,最终状态自动机(FSA))来做到这一点。除了词典约束之外,语言专家326可以使用通过针对给定的元素序列在指定语言中出现的频率如何、或者由特定用户用于评价分割图的给定路径的解释的语言可能性的频率如何进行统计信息建模而得到的语言模型。
关于图2的手写输入,与排版墨水图100类似,数字墨水图200具有以节点分布的多个元素:(第一级)中央或主节点202、多个第二级或者分支节点204、多个第三级或分支(或列表)节点206,并且具有标题元素或节点208。因此,HWR系统314可以识别图200的文本和非文本元素并解释其间的图解关系。该解释可以如在以本申请人和受让人的名义提交的、要求2015年10月10日的优先权日期的、No.14/955,155美国专利申请中描述的那样执行,该专利的内容通过引用并入本文中。为了完整且简洁起见,现在关于图200描述该解释的各方面。
示例图200包括表示非文本和文本两者的多个笔划的手写输入。本系统和方法自动检测和区分形状(和其他非文本)和文本的不同手写对象的输入,使得HWR系统314利用合适的识别技术处理它们,例如,使用形状语言模型处理检测到的形状的笔划,并使用文本语言模型处理检测到的文本的笔划。然而,应注意,由于许多手写形状和文本字符可共享共同特征(例如,圆圈和字母“o”、箭头和字母“v”),因此向用户提供用于使用用户接口(UI)等来校正错误的区分决定的能力,和/或可以使用多于一种语言模型来处理这种混淆的输入以提供最可能的结果。预处理阶段316或HWR系统314的一个或多个阶段可以被配置为通过将呈现的数字墨水的元素分类为不同的类别或种类(非文本(例如,形状)、文本、以及形状和文本的混合)来执行该消歧处理。然后根据分类将分类的数字墨水解析到识别器318以进行合适的识别处理。
例如,当处理被分类为文本的数字墨水时,识别器318采用分割专家322来分割文本的各个笔划以确定分割图,采用识别专家324来使用分类器328向图节点指派概率,并且采用语言专家326来使用例如语言信息330的基于文本的词典以找到通过图的最优路径。另一方面,当处理被分类为非文本的数字墨水时,识别器318采用分割专家322来分割形状的笔划,采用识别专家324来使用分类器128确定分割图,并且采用语言专家326来使用语言信息330的基于形状的词典找到通过图的最优路径。混合内容分类可以被视为“垃圾”,并且当被解析到识别器318时将产生低识别概率。
这样,本系统和方法可以识别如下项:单独手绘的形状(例如,没有相关联的连接线或文本),如闭合形状或多边形(例如,圆形、椭圆形、正方形、矩形和菱形),并且如开放形状(例如,可以被组合在多边形的图中的线条);在一个或多个现有非文本和/或文本元素周围手绘的形状(例如,创建轮廓或容器、创建多个容器、以及在其他非文本和文本元素之间创建连接线);在现有形状内(例如,在容器内)和其他元素附近单独手写的文本(例如,没有轮廓或容器);以及包含单行文本(一个或多个单词)或多行文本(带或不带回车、编号的列表、项目符号点等)的文本元素。关于图200,基于消歧结果如下识别各种非文本和文本元素。
(第一级)节点202包括:以单个连续笔划手绘的形状202a,其被检测为非文本并且被识别为卵形或椭圆形;以及,以多个笔划手写的文本202b,其被检测为文本并且被识别为单词或短语“Main Concept”。此外,由于识别的文本202b被识别的形状202a包围,因此形状202a被检测为容器。
第一(第二级)节点204包括:以单个连续笔划手绘的形状204a,其被检测为非文本并且被识别为卵形或椭圆形;以及,以多个笔划手写的文本204b,其被检测为文本并且被识别为单词和数字的组合或短语“Idea 1”。此外,由于识别的文本204b被识别的形状204a包围,因此形状204a被检测为容器。
第二(第二级)节点204包括:以单个连续笔划手绘的形状204c,其被检测为非文本并且被识别为卵形或椭圆形;以及,以多个笔划手写的文本204d,其被检测为文本并且被识别为单词和数字的组合或短语“Idea 2”。此外,由于识别的文本204d被识别的形状204c包围,因此形状204c被检测为容器。
第三(第二级)节点204包括:以单个连续笔划手绘的形状204e,其被检测为非文本并且被识别为卵形或椭圆形;以及,以多个笔划手写的文本204f,其被检测为文本并且被识别为单词和数字的组合或短语“Idea 3”。此外,由于识别的文本204f被识别的形状204e包围,因此形状204e被检测为容器。
第四(第二级)节点204包括:以单个连续笔划手绘的形状204g,其被检测为非文本并且被识别为卵形或椭圆形;以及,以多个笔划手写的文本204h,其被检测为文本并且被识别为单词和数字的组合或短语“Idea 4”。此外,由于识别的文本204h被识别的形状204g包围,因此形状204g被检测为容器。
第一(第三级)节点206包括以多个笔划手写的文本206a,其被检测为文本并且被识别为单词和数字的组合或短语“Item 1”。第二(第三级)节点206包括以多个笔划手写的文本206b,其被检测为文本并且被识别为单词和数字的组合或短语“Item 2”。第三(第三级)节点206包括以多个笔划手写的文本206c,其被检测为文本并且被识别为单词和数字的组合或短语“Item 3”。此外,由于识别的文本206a、206b和206c设置在相邻的水平线上,因此包含文本206a、206b和206c的“文本块”可以被检测为列表。
此外,在第二级容器204中的每一个容器和第一级容器202之间,存在以单个连续笔划手绘的线210,其被检测为非文本并且被识别为线。因此,线210可以被检测为第一级容器202和第二级容器204的连接线。此外,在第三级列表元素206中的每一个列表元素和第一(第二级)容器204之间,存在以单个连续笔划手绘的线212,其被检测为非文本并且被识别为线。因此,线212可以被检测为该第二级容器204和第三级列表元素206的连接线。
此外,标题元素208包括以多个笔划手写的文本,其被检测为文本并且被识别为单词“MY MIND-MAP”。
手写图200的这种识别和解释提供了许多益处,包括直接与数字墨水交互以编辑数字墨水图的能力,如前面通过引用并入的的No.14/955,155美国专利申请所述。在本系统和方法中,进一步的益处在于实现对被识别和解释的图的排版转换,以便提供具有捕获和尊重图的创作者意图的样式的排版或文档版本的图、以及包含内容的其他文本和非文本。
如背景技术中所述,可以以若干方式实现排版。在一个示例中,对于形状,数字墨水形状的大小可以用于定义排版墨水形状,并且对于文本,针对排版墨水文本的单个或“正常”字体大小可以如以预定和/或可设置的方式(例如,通过用户与UI等的交互)所定义的那样使用。例如,正常字体大小可以由接受手写作为输入的文档处理应用提供。这种正常或默认字体大小可以与文档处理应用的排印元素相关地定义,例如,在以本申请人和受让人的名义的提交的、要求2015年8月25日的优先权日期的No.15/215,716美国专利申请中描述,其内容通过引用并入本文中。
关于形状,排版可以被认为是通过转换为数字对象来“美化”数字墨水形状。在本系统和方法中,手写输入可以用以本申请人和受让人的名义提交的、要求2016年1月7日的优先权日期的No.15/083,195美国专利申请中描述的方式呈现为墨水对象,该专利申请的内容通过引用并入本文中。也就是说,“原始”墨水或输入墨水(例如,手写笔划)可以被引用或链接到数字墨水(例如,显示的墨水),使得墨水管理系统312知道由HWR系统314识别的实际输入和所显示的输入之间的关系。以这种方式,关于潜在(underlying)识别来执行用户与数字墨水的交互(例如,用于编辑内容)。这种识别的墨水和数字墨水的“结合”(marrying)形成“墨水对象”。每个墨水对象具有元数据,元数据包括与数字对象的信息类似的信息,并且还具有与识别处理相关的信息。此外,通过排版来保留墨水对象可以仅通过将数字墨水重新呈现为排版墨水而不是转换为数字对象来执行。以这种方式,墨水管理系统312以与数字墨水的交互类似的方式处理与排版墨水的交互。也就是说,参考相关的潜在识别结果,从而提供类似的功能。
图6示出了排版墨水图600,其基于该正常或通用字体大小示例根据数字墨水图200排版而成。与排版墨水图100类似,排版墨水图600具有以节点分布的多个元素:(第一级)中央或主节点602、多个第二级或分支节点604、多个第三级或分支节点606,并且具有标题元素608。
可以看出,图200中的数字墨水形状202a、204a、204c、204e和204g中的每一个分别被排版成排版墨水形状602a、604a、604c、604e和604g,使得第二级节点604的排版墨水形状或容器604a、604c、604e和604g中的每一个相对小于第一级节点602的排版墨水形状或容器602a。这是因为数字墨水形状204a、204c、204e和204g相对小于数字墨水形状202a。因此,通常通过中心或第一级图元素具有比第二级图元素更大的大小来遵守思维导图的样式。然而,由于数字墨水形状具有不同的大小,因此相同层级等级的排版墨水形状图元素大小不一。
关于文本,图200的数字墨水文本202b、204b、204d、204f、204h、206a、206b、206c和208分别被排版成排版墨水文本602b、604b、604d、604f、604h、606a、606b、606c和608,所有排版墨水文本均具有与所定义的相同的字体大小。尽管这种排版转换易于实现,但是与排版图100不同,所得到的排版图600显然不反映用户的原始手绘图200中使用的不同文本大小。特别地,相对大的容器或单元格(稍后详细定义)包含相对较小的文本(即容器602),并且标题608相对于图的其余文本而言相对较小。
基于该不期望的结果,认为排版操作应根据排版结果应该相对接近用户的手写墨水输入的(第一)准则执行。也就是说,与使用笔和纸绘制图和其他混合文本和非文本内容一样,当绘制数字图等时,用户通过更大的手写体或字体来强调某些元素(例如,图中的标题和重要内容),如图2的示例图中所示。这样,在本系统和方法中,遵守手写文本中的比例差异,这允许例如用于文本元素(例如,标题)和层级图元素(例如,所示示例的思维导图的中央或第一级节点)的相对较大的字体。
利用该第一准则,在另一示例中,对于形状,使用与前一示例相同的定义,然而对于文本,数字墨水文本的高度可用于确定排版墨水文本的样式,每个样式具有如以预定和/或可设置(例如,通过用户与UI等的交互)方式定义的相关联的字体大小,例如,小的、正常的、大的、超大的。也就是说,每种样式由数字墨水文本的相关联高度阈值定义,使得例如,高度低于最低阈值水平的数字墨水被归类为“小的”,高度在阈值水平之间的数字墨水被适当地归类为“正常的”或“大的”,并且高度高于最高阈值水平的数字墨水被归类为“超大的”。
也就是说,正常大小可以是如前所述定义的正常字体大小,并且其他大小(例如,小的、大的和超大的)中的每一个参考该正常字体大小而具有适当大小差异或移位,例如,针对每个级别基于数字墨水高度从正常字体大小移动大约2pt至大约4pt。所使用的数字墨水的高度可以是例如由HWR系统314识别的字符和所包含的单词的最大高度,或者识别的小写字符的最大高度,或平均高度等。稍后将更详细地讨论这种数字墨水字符大小特征的确定。备选地或附加地,可以使用数字墨水的其他大小特性(例如,宽度、区域)。
图7示出了排版墨水图700,其基于该预定义(分级)字体大小设置示例根据数字墨水图200排版而成。与排版墨水图100类似,排版墨水图700具有以节点分布的多个元素:(第一级)中央或主节点702、多个第二级或分支节点704以及多个第三级或分支节点706,并且具有标题元素708。
可以看出,图200中的数字墨水形状202a、204a、204c、204e和204g中的每一个分别被排版成排版墨水形状602a、604a、604c、604e和604g(如图6示例所示),因此具有尺寸不同的相同问题。
关于文本,图200的数字墨水文本202b、204b、204d、204f、204h、206a、206b、206c和208分别排版成排版墨水文本702a、704a、704b、704c、704d、706a、706b、706c和708,其中所有排版墨水文本具有由其表示的数字墨水文本定义的字体大小。这可以如稍后详细描述的那样实现。与排版图100不同,所得到的排版图700显然不反映用户的原始手绘图200中使用的文本大小。特别地,层级结构内的相同级别的文本具有不同的大小,无论是否包含在容器或单元格中,例如排版墨水文本704a、704b、704c和704d、以及排版墨水文本706a、706b和706c。
基于这种不期望的结果,认为排版操作还应当根据相同排版墨水字体大小应当用于通常以相同比例手写的(例如,相同层级级别处的)图元素的(第二)准则执行。这样,遵守手写文本中的比例差异,这允许例如用于层级图元素,例如所示示例的思维导图的分支或第二级节点和第三级节点。
通过满足以下两个准则:
(1)遵守手写文本的比例差异,
(2)将相同的字体大小用于以大致相同比例手写的所有文本块,
本系统和方法的字体大小计算将字体大小归因于提供尊重用户意图的有意义的视觉内容的每个文本块,使得例如根据图2的数字墨水图200产生图1的排版墨水图100。现在描述本系统和方法遵守这些准则的方式。
在本系统和方法中,当对包括被包含的或不被包含的文本的数字墨水内容进行排版时,墨水管理系统312以三个步骤计算要在排版墨水中使用的适当字体大小:
·局部字体大小计算
-计算每个文本块的最适合的字体大小,
·分类
-基于至少文本的尺寸信息将文本块分类成组,
·归一化
-通过考虑所有文本块针对内容将字体大小归一化。
以这种方式,基于被识别的和解释的数字墨水内容计算动态归一化的字体大小。应当理解,本系统和方法的字体大小计算不仅适用于包括文本和非文本的手写内容(例如,示例的图或表),还适用于仅包括文本的手写内容。
对于局部字体大小计算,墨水管理系统312计算每个文本块的字体大小,该文本块具有在容器或单元格内的文本、单独的文本、或与连接线相关联的作为标签的文本。为了确定文本块的字体大小,墨水管理系统312被配置为基于由HWR系统314连同识别结果提供的输入所表示的字符的所识别或确定的特性,和/或由HWR系统314连同识别结果提供的输入所表示的形状的所识别或确定的特征,使用与手写输入的尺寸特征有关的信息。也就是说,在识别处理中,识别引擎318确定与手写输入的至少每个识别字符的排印相关的尺寸信息和/或与手绘输入的识别形状的尺寸相关的尺寸信息。
文本和标点符号的排印包括与文本元素相关的若干元素,包括字母的上半出头部分(ascender)和下半出头部分(descender)。关于手写字符,HWR系统314确定每个字符的下极值和上极值。下极值是所识别字符的笔划通过的最低点。上极值是所识别字符的笔划通过的最高点。根据这些极值,确定在字符、单词(例如,一系列字符)、句子或短语(例如,一系列字符和/或单词)和文本行(例如,一系列字符、单词和/或句子)的水平线处的书写行。书写行包括顶线、底线、基线和中(或中间)线。备选地或附加地,墨水管理系统312可以被配置为根据识别结果或根据数字墨水确定这些极值本身。本系统和方法在确定排印时可以考虑的其他文本元素可以包括例如字符宽度、间距、倾斜。
关于个别字符,可以基于由HWR系统314识别的字符的类型来应用排印信息,或者由墨水管理系统312以其他方式确定排印信息。也就是说,对于大写字母、具有上半出头部分和某些标点符号的字母,顶线(或上半出头部分高度或线)被定义为通过与字符的水平范围的上极值相关的点的水平线。值得注意的是,对于大写字母,排印也可以定义大写顶线,该大写顶线可以与单词的顶线不同,以允许某些字体形式(fontification)。
对于具有下半出头部分和某些标点符号的字母,下线(或下半出头部分线)被定义为通过与字符的水平范围的下极值相关的点的水平线。
基线被定义为通过与字符的水平范围中的至少下线相关的点的水平线,并且中线(或x高度或线)被定义为通过与字符水平范围内的顶线和基线相关的点的水平线。这些线通过的点的确定特定于HWR系统314使用的识别处理和语言模型。
对于既没有下半出头部分也没有上半出头部分且为小写形式的字母,中线被定义为顶线而基线被定义为下线。
对于大写字母、具有上半出头部分和某些标点符号的字母,例如,基线被定义为下线,而中线被定义为通过作为顶线和基线之间的中间距离的点的水平线。
对于具有下半出头部分和某些标点符号的字母,中线被定义为顶线,而基线被定义为通过作为中线和下线之间的中间距离或由一些其他度量(例如,笔划本身的某些几何特征)定义的点的水平线。
当然,取决于语言和手写样式,某些字符可以包括上半出头部分和下半出头部分两者、或变音符号(例如重音符号),使得上述关系的某些组合或加权用于定义字符的排印。此外,某些标点符号和其他符号可以不超过多于一个的排印行(例如句号和连字符),由此对这些字符应用特定规则。
对于文本块中的文本串的所有字符,确定并比较或组合每个字符的相应排印信息,以便确定整个文本串的相关联的排印信息。无论文本串中的文本行的数量如何,这都可以对所有文本进行,或者可以逐行进行(如稍后所述)。也就是说,所有文本的顶线可以被定义在具有最高上半出头部分的字符处,所有文本的下线可以被定义在具有最低下半出头部分的字符处,所有文本的基线可以被定义在具有不是下半出头部分(例如,字符不下伸到文本行下方或者不下伸到文本行下方的某一程度)的最低点的字符处,并且所有文本的中线可以被定义在顶线和下线之间的中点处。备选地,可以在所有文本的字符的平均点或中间点处定义这些行中的一个或多个。使用这种平均或中间确定会对字符实质上不是水平对齐的锯齿或倾斜手写提供一些阻力。
例如,图8示出了例如在设备300的输入接口304上呈现为数字墨水的示例手写输入800。手写输入800以多个笔划手写,被检测为文本并被识别为写在一个文本行中的单词“flower”。可以看出,手写输入800包括具有上半出头部分和下半出头部分两者的字符(即“f”)、具有上半出头部分的字符(即“l”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“o”、“w”、“e”和“r”)。
对于该示例文本800,如所示,顶线TL可以被确定为在字母“f”的上半出头部分的上限处,下线LL可以被确定为在字母“f”的下半出头部分的下限处,基线BL可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且中线ML可以被确定为在顶线TL和下线LL之间的中点处。
所确定的排印定义被墨水管理系统312用作用于局部字体大小计算的尺寸信息。根据包括顶线、下线、基线和中线的尺寸信息,墨水管理系统312确定数字墨水的文本大小特性。例如,如图8所示,墨水管理系统312将为数字墨水800的基线BL与中线ML之间的竖直距离的文本高度(或x高度)h确定为基于高度的数字墨水(第一)文本大小特性,并将数字墨水800的区域范围的文本边界框802(例如,由顶线TL和下线LL竖直限定并且由数字墨水800的初始点和最后点水平限定)确定为基于区域的数字墨水(第一)文本大小特性。墨水管理系统312使用这些数字墨水文本大小特性来计算本示例中的排版文本的局部字体大小。定义该区域的文本高度和宽度可以最初以SI单位(即毫米)测量并且转换为排印单位(例如,点(pt)),或者最初以pt为单位测量。
特别地,在本示例中,计算排版墨水的两种可能的字体大小,基于基于高度的数字墨水文本大小特性的基于高度的字体大小Sh、和基于基于区域的数字墨水文本大小特性的基于区域的字体大小Sa。然后,作为确定哪个字体大小最适合于所考虑的文本块的数字墨水的排版的一部分,比较这些排版墨水字体大小,从而为排版墨水文本提供局部(第一)字体大小。
确定基于高度的字体大小Sh,使得排版墨水文本的非上半出头部分和非下半出头部分的高度与数字墨水文本高度h相同。因此,对于数字墨水800的文本高度h,例如,得到基于高度的字体大小Sh为72pt。图9A示出了图8的数字墨水800上具有基于高度的字体大小为72pt的排版墨水900(为了说明的目的)。可以看出,排版墨水文本900溢出数字墨水800的边界框802。这对于单独的文本块的文本可能不是问题,如图8的示例中那样。然而,对于被包含或以其他方式链接到其他对象(例如,图或表元素)的文本,此溢出会使得排版文本溢出包围文本的排版墨水形状,从而不满足第三准则。
确定基于区域的字体大小Sa,使得排版墨水文本的宽度具有与数字墨水文本的边界框实质上相同的宽度。因此,对于数字墨水800的边界框802,例如,得到基于区域的字体大小Sa为62pt。图9B示出了图8的数字墨水800上具有基于区域的字体大小为62pt的排版墨水900′(用于说明目的)。可以看出,排版墨水文本900′不会溢出数字墨水800的边界框802。这是因为,基于区域的字体大小基于数字墨水文本块边界框的宽度,使得当排版时,整个文本行适合在框内,例如,排版墨水文本900′的边界框902具有与所示数字墨水文本800的边界框802实质相同的宽度。
在本文描述的字体大小计算中,应该理解,可以计算非整数字体大小。然而,为了实现与文字处理应用等的良好集成,可以提供整数字体大小,其中视情况而定使用数字墨水文本高度和边界框宽度(和其他尺寸测量)的向上或向下舍入。
基于所计算的排版墨水文本的可能的基于高度和基于区域的字体大小,本系统和方法的墨水管理系统312被配置为选择所计算的字体大小之一用于手写输入的排版。如果文本块是单独的,即文本形状隔离(如图8的示例中),则可以选择任一计算的字体大小以用于计算的局部字体大小。然而,为了在图或其他文本和非文本内容之间提供一致性,墨水管理系统312可以被配置为基于预定义条件(例如,最小可能字体大小或最大可能字体大小)选择所计算的字体大小之一。
申请人已经发现,用于基于数字墨水的排印选择用于将数字墨水转换为排版墨水的局部字体大小的本系统和方法的这种机制特别适用于隔离的文本内容,无论是否与非文本内容相关或不相关。然而,对于打算包含在容器内的文本内容,例如,当仅考虑数字墨水的排印时,排版墨水文本内容可能会在转换后溢出排版墨水容器。
例如,图10示出了图8的输入800具有示例手写输入1000,示例性手写输入1000例如在设备300的输入接口304上呈现为数字墨水。手写输入1000以单个连续笔划手写,被检测为非文本并被识别为矩形。此外,因为识别的文本800被识别的形状1000包围时,因此形状1000被检测为容器。
图11A示出了图10的数字墨水文本800和数字墨水形状1000上具有基于高度的字体大小Sh为72pt的排版墨水文本900和排版墨水1100(用于说明目的)。排版墨水1100是在排版时表示数字墨水矩形1000的矩形。可以看出,排版墨水文本900溢出排版墨水形状1100。根据本系统和方法的数字墨水形状的排版转换可以基于各种考虑以各种方式执行,如后面详细讨论的。在该示例中,执行排版使得所得到的排版墨水形状具有接近表示数字墨水形状的尺寸的尺寸,如图11A中可见。
图11B示出了图10的数字墨水文本800和数字墨水形状1000上具有基于区域的字体尺寸Sa为62pt的排版墨水文本900′以及排版墨水1100(用于说明目的)。可以看出,排版墨水文本900′也溢出排版墨水形状1100。因此,在这种包含情况下,在没有用于形状排版转换的一些其他定义的情况下,使用文本本身的排印不会产生令人满意的结果。
因此,排版操作还可以根据(第三)准则来执行,(第三)准则为:当存在被包含的文本时,每个容器(或单元格)的排版墨水文本应该显示在容器中而不会溢出容器。这样,即使手写文本溢出(部分地)包含该文本的手写形状,如果识别结果将文本检测为容器的标签或内容,则所得到的排版墨水文本的字体大小需要使得排版墨水标签或内容不会溢出排版墨水容器。
因此,准则可以进一步定义为:
(1)遵守手写文本的比例差异,
(2)将相同的字体大小用于以大致相同比例手写的所有文本块,以及
(3)显示每个容器/单元格的文本而不会溢出。
因此,为了确保排版墨水文本被相关联排版墨水容器完全包含以满足第三准则,本系统和方法可以考虑所识别的容器的尺寸信息来执行局部字体大小计算。也就是说,如前所述,与手绘输入的所识别的形状的尺寸相关的尺寸信息也用于该计算。特别地,可以关于容器尺寸信息采用分层方法来用于字体大小选择。也就是说,作为第一层或步骤,针对被包含的文本块计算基于高度的字体大小Sh和基于区域的字体大小Sa,并且测试这些字体大小中的一个或两个是否适合相关联容器。例如,可以选择针对文本块计算的基于高度和基于区域的字体大小Sh和Sa中的最小字体大小,使得排版墨水文本不会发生溢出,从而满足第三准则。
该测试是相对于所识别的形状的尺寸进行的,其包括与形状相关的若干元素,包括高度、宽度和几何形状。关于手写形状,HWR系统314确定形状的坐标极值。这些极值定义形状的几何形状。例如,图12A示出了排版墨水形式的多个不同形状,即矩形1200、椭圆形1201、圆形1202,(等腰)三角形1203、直(角)三角形1204、梯形1205、平行四边形(斜方形)1206和菱形1207。这些排版墨水形状由HWR系统314以前面描述的方式根据识别的手写形状输入转换得到,并且在该转换中,确定排版墨水形状的尺寸。
墨水管理系统312使用这些尺寸来将每个容器的文本包含元素确定为基于容器的数字墨水(第二)文本大小特性。在最简单的级别上,容器本身的尺寸可以被定义为文本包含元素。然而,这可能使得排版文本太靠近相关联排版容器的边界,这无法提供令人愉悦的视觉效果。因此,文本包含元素被定义为与容器的边界或极值分离开一定的边距,以例如定义“边沟”。以这种方式,文本包含元素的尺寸(例如,区域)小于容器,使得可以产生包含在文本包含元素或围栏内并且因此完全包含在容器本身内的排版墨水文本。
通过考虑所识别的容器的高度和宽度及其几何形状,可以将文本围栏确定为任何形状的容器内的简单的预定义形状。例如,图12B示出了图12A中描绘的形状具有相应的文本围栏,文本围栏被定义为所识别的容器内的矩形。也就是说,矩形1200被定义为具有矩形文本围栏1208,椭圆形1201被定义为具有矩形文本围栏1209,圆形1202被定义为具有矩形文本围栏1210,三角形1203被定义为具有矩形文本围栏1211,直角三角形1204被定义为具有矩形文本围栏1212,梯形1205被定义为具有矩形文本围栏1213,斜方形1206被定义为具有矩形文本围栏1214,菱形1207被定义为具有矩形文本围栏1215。
基于容器的尺寸和几何形状确定围住的矩形文本围栏的尺寸,使得矩形的面积最大化,同时考虑距离容器侧边的间距或边距最小。该面积和间距的大小可以是例如经由UI菜单等可设置的。
备选地或附加地,通过考虑文本围栏的几何形状,可以将文本围栏确定为与所识别的容器的几何形状相对应。例如,图12C示出了图12A中描绘的形状具有相应的文本围栏,文本围栏被定义为具有所识别的容器内的对应几何形状。也就是说,矩形1200被定义为具有矩形文本围栏1208,椭圆形1201被定义为具有椭圆形文本围栏1209′,圆形1202被定义为具有圆形文本围栏1210′,三角形1203被定义为具有三角形文本围栏1211′,直角三角形1204被定义为具有直角三角形文本围栏1212′,梯形1205被定义为具有梯形文本围栏1213′,斜方形1206被定义为具有斜方形文本围栏1214′,菱形1207被定义为具有菱形文本围栏1215′。
类似于预定义形状的围栏,围住的几何文本围栏的尺寸基于容器的尺寸确定,使得几何形状的面积最大化,同时考虑距离容器侧边间距或边距最小。该面积和间距的大小可以是例如经由UI菜单等可设置的。
墨水管理系统312可以类似地确定针对不规则形状的文本围栏。例如,图13示出了数字墨水形式的不规则形状1300。不规则形状1300是云形状,因此可以不被HWR系统314转换成排版墨水,因为它被识别为不规则或不符合词典,如例如在前面通过引用并入的No.14/955,155美国专利申请中描述的。然而,HWR系统314被配置为确定所识别的不规则形状的尺寸。因此,墨水管理系统312可以确定与不规则形状相对应的规则形状,该规则形状具有由不规则形状尺寸限定的高度和宽度。例如,针对图13中的不规则形状1300定义矩形1302,其由形状1300的高度极值和宽度极值限定。对于该代表性规则形状,如前所述定义文本围栏1304,使得包含的排版墨水文本可以包含在不规则的数字(或排版)墨水形状中。备选地,本系统和方法可以通过识别处理对这种不规则形状排版,并且因此可以确定相关联的文本围栏。
回到图11的示例,图11C示出了排版墨水容器1100具有由墨水管理系统312确定的文本围栏1102。在该示例中,由于文本围栏1102再次小于容器1100,如图11A所示的基于高度的字体大小Sh和如图11B所示的基于区域的字体大小Sa相对于文本围栏1102太大。因此,作为下一层或步骤,墨水管理系统312计算针对排版墨水的另一可能的字体大小,即基于文本围栏大小特性的基于容器的字体大小Sc。
确定基于容器的字体大小Sc,使得排版墨水文本的宽度具有与排版墨水容器的文本围栏实质相同的宽度。因此,对于文本围栏1102,例如,得到基于容器的字体大小Sc为50pt,使得图11C示出基于容器的字体大小为50pt的排版墨水文本900″。可以看出,排版墨水文本900″不会溢出排版墨水容器1100。这是因为,基于容器的字体大小基于容器的相对较小的文本围栏的宽度(例如,排版墨水文本900″的边界框902′具有与排版墨水容器1100的文本围栏1102实质相同的宽度,如图所示),因此当排版时,整个文本行适合于该框内。这样,基于容器的字体大小被计算为被缩放到容器(或其边距)本身的局部字体大小。因此,对于图10的该示例中的数字墨水800,局部字体大小被计算为50pt。
可以将墨水管理系统312配置为在任何包含的文本情况下计算和采用容器缩放或基于容器的字体大小,以便在不采用分层方法的情况下满足第三准则,从而忽略或不计算基于排印的字体大小。存在可以成功应用该方法的一些包含的文本情况,,然而在其他情况下,结果可能是不合需要的。
例如,图14和图15示出了关于墨水管理系统312计算三种可能的局部字体大小类型的示例。图14示出了例如在设备300的输入接口304上呈现为数字墨水的示例手写输入1400和1402。手写输入1400以多个笔划手写,被检测为文本并被识别为写在一个文本行中的单词和语法(例如,问号)符号“Valid?”。可以看出,手写输入1400包括大写字符(即,“V”)、具有上半出头部分的字符(即,“l”、“d”和“?”)、具有延迟笔划的字符(即,“i”和“?”)、以及既没有上半出头部分也没有下半出头部分的字符(例如,“a”)。手写输入1402以单个连续笔划手写,被检测为非文本并被识别为菱形。此外,由于所识别的文本1400被识别的形状1402包围,因此形状1402被检测为容器。
对于示例数字墨水文本1400,顶线TL(未示出)可以被确定为在字符“?”的上半出头部分的上限处,下线LL(未示出)和基线BL(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且中线ML(示出)可以被确定为在顶线TL和基线BL之间的中点处。此外,如所示,文本高度h被定义为数字墨水文本1400的基线BL与中线ML之间的竖直距离,文本边界框1404被定义为数字墨水文本1400的区域范围。
如前所述,确定基于高度的字体大小Sh,使得排版墨水文本的非上半出头部分和非下半出头部分的高度与数字墨水文本1400的文本高度h实质相同,并且确定基于区域的字体大小Sa,使得排版墨水文本的(边界框)的宽度具有与数字墨水文本1400的边界框1404实质相同的宽度。图15A示出了基于高度的字体大小Sh下的与数字墨水文本1400相对应的排版墨水文本1500和与数字墨水容器1402相对应的排版墨水容器1502。图15B示出了基于区域的字体大小Sa下的与数字墨水文本1400相对应的排版墨水文本1500′和排版墨水容器1502。
图15A和图15B进一步示出了由墨水管理系统312基于排版墨水容器1502确定的文本围栏1504。可以看出,基于高度的字体大小Sh下的排版墨水文本1500包含在文本围栏1504内,然而,基于区域的字体大小Sa下的排版墨水文本1500′溢出文本围栏1504。
利用先前描述的分层方法的第一步骤,墨水管理系统312此时将选择基于高度的字体大小Sh,因为它满足第三准则。然而,基于原始墨水输入1400,可以看出,基于高度的字体大小Sh下的排版文本1500相对于排版容器1502的文本块比数字墨水文本1400相对于数字墨水容器1402的文本块更小。该结果是可以理解的,因为基于排印的字体大小是在不考虑包含的或相关联形状的尺寸信息的情况下计算的。
另一方面,基于容器的字体大小Sc是关于容器的尺寸信息确定的,因此排版墨水文本的(边界框)的宽度具有与排版墨水容器1502的文本围栏1504实质相同的宽度。图15C示出了基于容器的字体大小Sc下的与数字墨水文本1400相对应的排版墨水文本1500″和具有文本围栏1504的排版墨水容器1502。可以看出,类似于基于高度的字体大小Sh下的排版墨水文本1500,基于容器的字体大小Sc下的排版墨水文本1500″包含在文本围栏1504中,但基于容器的字体大小略大于基于高度的字体大小,因此更接近于数字墨水元素的关系。
这样,如果墨水管理系统312被配置为计算并采用基于容器的字体大小作为默认值以便确保包含排版文本,则排版结果可以实现与原始墨水输入的紧密贴合度。然而,这种简单的机制可能无法基于容器(因此基于围栏)的大小提供令人满意的结果。
例如,图16示出了例如在设备300的输入接口304上呈现为数字墨水的示例手写输入1600和1602。手写输入1600以多个笔划手写,被检测为文本并被识别为写在一个文本行中的单词“Hello”。可以看出,手写输入1600包括大写字符(即,“H”)、具有上半出头部分的字符(例如,“l”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“e”和“o”)。手写输入1602以单个连续笔划手写,被检测为非文本并被识别为矩形。此外,由于所识别的文本1600被识别的形状1602包围,因此形状1602被检测为容器。
对于示例数字墨水文本1600,顶线TL(未示出)可以被确定为在字母“H”的上半出头部分的上限处,下线LL(未示出)和基线BL(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且中线ML(示出)可以被确定为在顶线TL和基线BL之间的中点处。此外,如所示,文本高度h被定义为数字墨水文本1600的基线BL与中线ML之间的竖直距离,文本边界框1604被定义为数字墨水文本1600的区域范围。
如前所述,确定基于高度的字体大小Sh,使得排版墨水文本的非上半出头部分和非下半出头部分的高度与数字墨水文本1600的文本高度h实质相同,并且确定基于区域的字体大小Sa,使得排版墨水文本的(边界框)的宽度具有与数字墨水文本1600的边界框1604实质相同的宽度。图17A示出了基于高度的字体大小Sh下的与数字墨水文本1600相对应的排版墨水文本1700和与数字墨水容器1702相对应的排版墨水容器1702。图17B示出了基于区域的字体大小Sa下的与数字墨水文本1600相对应的排版墨水文本1700′和排版墨水容器1702。
图17A和图17B进一步示出了由墨水管理系统312基于排版墨水容器1702确定的文本围栏1704。可以看出,基于高度的字体大小Sh下的排版墨水文本1700和基于区域的字体大小Sa下的排版墨水文本1700′两者均包含在文本围栏1704中。
图17C示出了基于容器的字体大小Sc下的与数字墨水文本1600相对应的排版墨水文本1700″和具有文本围栏1704的排版墨水容器1702。基于容器的字体大小Sc如前所述确定,使得排版墨水文本的(边界框)的宽度具有与排版墨水容器1702的文本围栏1704实质相同的宽度。可以看出,类似于基于高度的字体大小Sh下的排版墨水文本1700和基于区域的字体大小Sa下的排版墨水文本1700′,基于容器的字体大小Sc下的排版墨水文本1700″包含在文本围栏1704内。然而,由于容器1702的尺寸和针对文本围栏定义的距离设置,基于容器的字体大小Sc相对较大,使得相对大的排版墨水文本1700″填充容器1702。
基于如图16所示的手写输入1600和1602,这样的排版结果显然不是用户的意图,并且基于高度的字体大小Sh下的排版墨水文本1700显然更接近于该意图。因此,在本单文本行示例中,将墨水管理系统312配置为:作为初始步骤,计算基于高度的字体大小Sh和基于区域的字体大小Sa并且将二者之中的最小字体大小与文本包含元素进行比较;以及然后,如果最小字体大小的单文本行溢出文本包含元素,则作为后续步骤,计算基于容器的字体大小Sc,从而提供遵守手写输入同时满足第三准则的良好的排版结果。
在这些示例中,计算基于高度的字体大小和基于区域的字体大小。然而,可以只计算其中一个。例如,墨水管理系统312可以被配置为不确定基于区域的字体大小Sa,从而在必要时仅计算基于高度字体大小Sh和基于容器的字体大小Sc。备选地,墨水管理系统312可以被配置为不确定基于高度的字体大小Sh,从而仅计算基于区域的字体大小Sa和基于容器的字体大小Sc。备选地,计算所有字体大小Sh、Sa和Sc。
然而,遵循最小字体大小可能会使得排版结果中有其他问题,特别是对于多个文本行示例。在这种情况下,可以使用另外的排版机制,如现在关于图18和图19所描述的。图18示出了例如在设备300的输入接口304上呈现为数字墨水的示例手写输入1800和1802。手写输入1800以多个笔划手写,被检测为文本并被识别为写在多个文本行1800a、1800b和1800c中的单词和语法符号“Patient is in the system?”。第一文本行1800a包括单词“Patient is”,第二文本行1800b包括单词“in the”,第二文本行1800c包括单词和语法符号“the system?”。手写输入1802以单个连续笔划手写,被检测为非文本并被识别为菱形。此外,由于识别的文本1800被识别的形状1802包围时,因此形状1802被检测为容器。
可以看出,第一文本行1800a包括大写字符(即,“P”)、具有上半出头部分的字符(例如,“t”)、具有延迟笔划的字符(例如,“i”和“t”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“a”、“e”、“n”和“s”),第二文本行1800b包括具有上半出头部分的字符(即,“t”和“h”)、具有延迟笔划的字符(即,“i”和“t”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“n”和“e”),第三文本行1800c包括具有上半出头部分的字符(即,“t”和“?”)、具有下半出头部分的字符(即“y”)、具有延迟笔划的字符(即,“t”和“?”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“s”和“e”)。
在处理多个数字墨水文本行时,本系统和方法在局部字体大小计算中确定每个文本行的对应尺寸信息。此外,由于尺寸信息是在字符级别上确定的,因此在一些文本行中存在多个单词不会带来困难。然而,应当理解,可以在单词级别(或句子级别、行级别、段级别或块级别)上确定尺寸信息,以便在单词之间确定任何相当的值,例如平均值和均值。
对于示例(第一)数字墨水文本行1800a,(第一)顶线TLa(未示出)可以被确定为在第二个字母“t”的上半出头部分的上限处,(第一)下线LLa(未示出)和(第一)基线BLa(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,以及(第一)中线MLa(示出)可以被确定为在第一顶线TLa和第一基线BLa之间的中点处。此外,如图所示,(第一)文本高度ha被定义为第一数字墨水文本行1800a的第一基线BLa与第一中线MLa之间的竖直距离。
对于示例(第二)数字墨水文本行1800b,(第二)顶线TLb(未示出)可以被确定为在字母“h”的上半出头部分的上限处,(第二)下线LLb(未示出)和(第二)基线BLb(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且(第二)中线MLb(示出)可以被确定为在第二顶线TLb和第二基线BLb之间的中点处。此外,如图所示,(第二)文本高度hb被定义为第二数字墨水文本行1800b的第二基线BLb和第二中线MLb之间的竖直距离。
对于示例(第三)数字墨水文本行1800c,(第三)顶线TLc(未示出)可以被确定为在字符“?”的上半出头部分的上限处,(第三)下线LLc(未示出)可以被确定为在字母“y”的下半出头部分的下限处,(第三)基线BLc(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,(第三)中线MLc(示出)可以被确定为在第三顶线TLc和第三基线BLc之间的中点处。此外,如图所示,(第三)文本高度hc被定义为第三数字墨水文本行1800c的第三基线BLc和第三下线LLc之间的竖直距离。
墨水管理系统312可以被配置为在转换为排版时遵守手写输入的各个文本行,使得由墨水管理系统312以前面描述的方式根据单独确定的数字墨水文本高度ha、hb和hc针对各个文本行确定相应的基于高度的字体大小Sha、Shb和Shc。图19A示出了与数字墨水文本1800相对应的排版墨水文本1900,其具有基于高度的字体大小Sha下的与第一数字墨水文本行1800a相对应的第一排版墨水文本行1900a、基于高度的字体大小Shb下的与第二数字墨水文本行1800b相对应的第二排版墨水文本行1900b、以及基于高度的字体大小Shc下的与第三数字墨水文本行1800c相对应的第三排版墨水文本行1900c。
在图19A中,手写文本行1800a、1800b和1800c之间的间距实质上保留在排版墨水文本行1900a、1900b和900c中,然而,可以使用基于数字墨水间距计算的归一化间距或其他间距。此外,在图19A中示出了与数字墨水容器1802相对应的排版墨水容器1902。
可以看出,基于不同的数字墨水文本高度ha、hb和hc,基于高度的字体大小Sha、Shb和Shc彼此不同。该结果显然不反映基于手写输入1800的用户的意图。为了提供针对文本块的单个字体大小,无论该文本块与非文本(例如,容器)相关或不相关,墨水管理系统312被配置为采用针对该文本块的最小的基于高度的字体大小,以用于与基于区域的字体大小(如果计算了)进行比较。因此,在图19A的示例中,墨水管理系统312采用第三排版墨水文本行1900c的基于高度的字体大小Shc。备选地,考虑到第三准则,可以使用最大值或平均值或中值。
基于分层方法,将所选择的基于排印的字体大小与所识别的容器的文本包含元素进行比较。图19B示出了由墨水管理系统312基于排版墨水容器1902确定的文本围栏1904。图19B还示出了与数字墨水文本1800相对应的排版墨水文本1900′,其具有各自均为所选择的(第三)基于高度的字体大小Shc下的分别与数字墨水文本行1800a、1800b和1800c相对应的排版墨水文本行1900′a、1900′b和1900′c。多行排版墨水文本1900′具有行间距,该行间距是归一化值,例如,预定义值或计算为所选择的基于高度的字体大小的百分比。可以看出,排版墨水文本1900′块溢出容器1902的文本围栏1904。
这样,基于前述分层方法,然后作为下一步骤,本系统和方法将计算容器尺寸缩放字体大小。然而,由于在本示例中包含多个文本行,并非通过将排版墨水文本的(边界框)的宽度设置为与文本围栏实质相同的宽度来确定基于容器的字体大小Sc,墨水管理系统312被配置为确定基于容器的字体大小Sc使得在多个文本行上的排版墨水文本的高度(例如,排版墨水文本块的高度)实质上等于排版墨水容器的文本围栏。
如前所述,墨水管理系统312可以被配置为在转换为排版时遵守手写输入的各个文本行。图19C示出了与数字墨水文本1800相对应的排版墨水文本1900″,其具有基于容器的字体大小Sc下的与第一数字墨水文本行1800a相对应的第一排版墨水文本行1900″a、基于容器的字体大小Sc下的与第二数字墨水文本行1800b相对应的第二排版墨水文本行1900″b、以及基于容器的字体大小Sc下的与第三数字墨水文本行1800c相对应的第三排版墨水文本行1900″c。可以看出,基于容器的字体大小基于容器的相对较小的文本围栏的高度(例如,排版墨水文本1900′的边界框1906具有与排版墨水容器1902的文本围栏1904实质相同的高度,如图所示),其行间距是归一化值,例如,预定义值或计算为基于容器的字体大小的百分比。这样,当排版时,包括多个文本行的整个文本块适合于文本围栏1904内。
这样,在本系统和方法中基于容器的包含的文本围栏的尺寸来计算基于容器的字体大小。即,基于文本围栏的宽度或高度来计算基于容器的字体大小。备选地或附加地,可以在计算基于容器的字体大小时考虑文本围栏的宽度和高度(即,区域)。
然而,在本示例中,由于容器1902的尺寸和针对文本围栏定义的距离设置,基于容器的字体大小Sc相对较小,使得排版墨水文本1900′相较于容器1902较小。基于如图18所示的手写输入1800和1802,这样的排版结果显然不是用户的意图,并且从图19B可以看出,所选择的基于高度的字体大小Shc提供了与用户意图更接近的贴合度。
可以通过将墨水管理系统312配置为利用不同尺寸或形状的文本围栏(例如,如前所述)、或者通过在转换为排版时不遵守手写输入中的文本行(例如,通过重排排版的墨水文本,使得所识别的单词以随附的单词间空格在文本行之间移动)来校正这种不期望的结果。
例如,当存在多个文本行时,本系统和方法可以执行分层方法内的另一个或不同的步骤。也就是说,在计算基于排印的字体大小并与文本包含元素(如果有的话)进行比较的初始步骤之后,如果比较产生的结果是排版文本将溢出文本包含元素,则墨水管理系统312被配置为在后续步骤中基于HWR系统314的识别结果来确定例如是否存在多行文本。如果确定不存在多个行(例如,如图14和图16的示例所示),则执行计算容器缩放字体大小的下一步骤。如果确定存在多个行,则进行后续步骤以确定多个行是否可以以所计算的基于排印的字体大小进行重排,使得不会发生溢出。如果仍然发生溢出,则执行下一步骤。
图19D示出了基于高度的字体大小Shc下的排版墨水文本1900″′,其允许排版墨水文本的识别单词的重排,并且具有为归一化值(例如,预定义值或计算为基于容器的字体大小的百分比)的行间距。因此,如图19D所示,排版墨水文本1900″′具有基于高度字体大小Shc下的与第一数字墨水文本行1800a和第二数字墨水文本行1800b的合并内容相对应的第一排版墨水文本行1900″′a、和基于高度的字体大小Shc下的与第三数字墨水文本行1800c相对应的第二排版墨水文本行1900″′b(如图19B所示)。也就是说,来自第二数字墨水文本行1800b的单词“in the”被合并在第一数字墨水文本行1800a的单词“Patient is”之后,使得第一排版墨水文本行1900″′a包括单词“Patient is in the”。
基于文本围栏的尺寸和针对文本行的所计算的最小的基于高度(或基于区域)的字体大小来执行重排。也就是说,墨水管理系统312基于文本行1800a和1800b的识别的单词确定是否可以进行重排(例如,在由HWR系统314识别的单词边界处,有或没有重排规则,例如连字符、孤立),并重排文本行的(单词),使得每行文本适合于最小的基于排印的字体大小的文本围栏中。
在该示例中,最小的基于高度的字体大小Shc的重排的排版文本不会溢出文本包含元素1904,使得满足第三准则。因此,墨水管理系统312选择基于高度的字体大小作为局部字体大小,而不需要计算容器缩放字体大小。这样,当排版时,包括多个文本行的整个文本块适合于文本围栏1904内,同时提供更接近手写输入的大小的局部字体大小。
在到目前为止所描述的涉及包含文本的示例中,排版墨水文本在排版墨水容器中居中,例如,如图11C、图15、图17和图19B至图19D中所示。例如,墨水管理系统312可以被配置为当包含的文本被检测为文本单元格的标签时使排版的文本居中。也就是说,由HWR系统314识别的文本和容器的关系可以被解释为文本单元格或者容器内的一个或多个文本块。如前面通过引用并入的No.14/955,155美国专利申请所述,容器可以被定义为包含文本和/或非文本内容的形状。也就是说,容器可以包含一个或多个文本块、一个或多个形状(其又可以是容器或单元格)、或其组合。另一方面,可以将单元格定义为仅包含一个或多个文本块中的文本内容的容器,并且可以将单元格内的文本视为单元格的标签。
在本系统和方法中,排版墨水文本相对于被检测为文本单元格的排版墨水容器的文本围栏水平和竖直居中。通过这种方式,文本围栏可以被视为单元格内文本标签的边界框,因此可以一起利用文本重排或将文本包裹在该文本“框”中来支持具有归一化行间距和分段的多个文本行,例如在图19D的示例中。这还允许在不调整文本标签的字体大小的情况下调整单元格的大小并由此调整文本框的大小,当所选择的排版墨水字体大小使得排版墨水文本溢出单元格或者用户通过选择减小单元格的大小使得排版墨水文本可以相应地重排时,这会是期望的。
例如,墨水管理系统312可以被配置为允许最小或正常排版墨水字体大小(为了易读性),其充当字体大小阈值(即,如果局部字体大小被计算为小于最小字体大小,则使用最小或正常大小,而不是局部字体大小)。在这种情况下,所得到的排版墨水文本可能会溢出文本围栏或排版墨水单元格本身。
这在图20A中示出,其中排版墨水标签2000在排版墨水单元格2002中居中(中心由十字形示出)。显然,由墨水管理系统312根据对应的数字墨水而确定的标签2000的字体大小例如使得溢出单元格2002。例如,用户能够选择单元格2002并沿箭头方向A和/或B执行调整大小操作。图20B示出了调整大小后的排版墨水单元格2002′,其具有完全包含在其中的相同字体大小的排版墨水标签2000,并且排版墨水标签2000保持居中显示(如针对单元格标签所定义的)。备选地,本系统和方法可以自动调整容器/单元格的大小,以便同时遵守最小/正常字体大小和第三准则两者。
例如,这种对超出预设和(UI)可设置的尺寸阈值的单元格进行的调整大小可以使墨水管理系统312将单元格重新定义为容器。在这种情况下,所包含的文本不再被定义为调整大小后的容器中的标签,而是被视为文本块而不是标签。这允许将其他文本块和形状容易地输入到调整大小后的容器中。备选地或附加地,当以HWR系统314不自动将文本链接到文本标签的方式在调整大小后的(或改变最初绘制的大小的)单元格内手绘附加文本或形状时,可能发生单元格定义的丢失。相反的条件可用于将容器重新定义为单元格。
与单元格不同,可以通过墨水管理系统312将容器内的排版墨水文本保持在容器内的与数字墨水文本相同的相对位置处。这通过将排版墨水文本相对于数字墨水文本边界框而不是排版墨水容器的文本围栏定位来实现。例如,排版墨水文本的中心可以相对于数字墨水文本块边界框水平居中,并且排版墨水文本的基线可以保留在数字墨水文本的基线上。该定位也适用于隔离或非包含文本(如图9A和图9B的示例中,其中排版墨水文本900和900′在边界框802中水平居中并且在数字墨水文本800的基线BL上)以及与其他非文本元素(例如,图连接线)相关的文本。
图21示出了例如在设备300的输入接口304上呈现为数字墨水的示例手写输入2100和2102。手写输入2100以多个笔划手写,被检测为文本并被识别为写在多个文本行2100a和2100b中的单词“New Ideas”。第一文本行2100a包括单词“New”,第二文本行2100b包括单词“Ideas”。手写输入2102以单个连续笔划手写,被检测为非文本并被识别为矩形(或正方形)。此外,由于所识别的文本2100被所识别的形状2102包围,因此形状2102被检测为容器。
可以看出,第一文本行2100a包括大写字符(即“N”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“e”和“w”),以及第二文本行2100b包括大写字符(即“I”)、以及具有上半出头部分的字符(即“d”)、以及既没有上半出头部分也没有下半出头部分的字符(即,“e”、“a”和“s”)。为了处理多个数字墨水文本行,本系统和方法在局部字体大小计算中确定针对每个文本行的对应尺寸信息。
对于示例(第一)数字墨水文本行2100a,(第一)顶线TLa(未示出)可以被确定为在第二个字母“N”的上半出头部分的上限处,(第一)下线LLa(未示出)和(第一)基线BLa(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且(第一)中线MLa(示出)可以被确定为在(第一)顶线TLa和第一基线BLa之间的中点处。此外,如图所示,(第一)文本高度ha被定义为第一数字墨水文本行2100a的第一基线BLa与第一中线MLa之间的竖直距离。
对于示例(第二)数字墨水文本行2100b,(第二)顶线TLb(未示出)可以被确定为在字母“I”的上限处,(第二)下线LLb(未示出)和(第二)基线BLb(示出)可以被确定为在每个字符的最低非下半出头部分点的平均值处,并且(第二)中线MLb(示出)可以被确定为在第二顶线TLb和第二基线BLb之间的中点处。此外,如图所示,(第二)文本高度hb被定义为第二数字墨水文本行2100b的第二基线BLb和第二中线MLb之间的竖直距离。
此外,基于第一数字墨水文本行2100a和第二数字墨水文本行2100b的范围,墨水管理系统312确定文本边界框2104在数字墨水2100的区域范围处(例如,由第一或上数字墨水文本行2100a的顶线TLa和第二或下数字墨水文本行2100b的下线LLb竖直限定,并且由数字墨水2100的初始点和最后点水平限定)。
利用数字墨水文本的该尺寸信息,HWR系统314检测文本块和非文本块(例如,数字墨水文本2100和数字墨水容器2102)的相对位置和尺寸。墨水管理系统312可以被配置为针对预设和(UI)可设置的位置和尺寸阈值(如前所述)考虑这些相对位置和尺寸,以便确定数字墨水文本2100是单元格中的文本标签还是容器内的文本块。例如,墨水管理系统312可以基于如前所述的边距和几何设置来确定所检测的容器的文本围栏,并确定文本边界框的各个边是否位于与文本围栏的各个边相距某一距离或阈值的范围内,或文本块的中心是否位于与文本围栏中心相距某一距离或阈值的范围内,或文本边界框的区域是否位于文本围栏的某个区域或阈值内,以将容器与单元格区分开。
在本示例中,边界框2104的区域可以被认为远低于容器2102的文本围栏的区域,并且因此墨水管理系统312将数字墨水文本2100确定为容器内的文本块。对于容器内的文本块(以及隔离的文本和与其他非文本元素相关的文本),本系统和方法可以基于基于排印的字体大小(例如,基于高度的数字墨水文本大小特性和基于区域的数字墨水文本大小特性)来计算局部字体大小,并且将排版文本块保持在与数字模数中相同的相对于排版容器的的相对位置处。也就是说,仅执行分层方法的初始步骤(对于多行文本,视需要可以执行或不执行后续的重排步骤)。然而,对于单元格的文本标签,本系统和方法可以根据需要通过基于(第一)基于高度的字体大小特性和/或基于区域的字体大小特性以及视需要基于容器的字体大小特性计算局部字体大小来执行分层方法的所有步骤,并将排版文本块在排版单元格中居中。然而,如前所述,本系统和方法可以使用这些数字墨水文本大小特性的各种组合。
因此,在本示例中,关于基于高度的数字墨水文本大小特性,由墨水管理系统312根据相应的数字墨水文本高度ha和hb确定基于高度的字体大小Sha和Shb。图22A示出了与数字墨水文本2100相对应的排版墨水文本2200,其具有基于高度的字体大小Sha下的与第一数字墨水文本行2100a相对应的第一排版墨水文本行2200a、以及基于高度的字体大小Shb下的与第二数字墨水文本行2100b相对应的第二排版墨水文本行2200b。在图22A中,手写文本行2100a和2100b之间的间距实质上保留在排版墨水文本行2200a和2200b中,然而,可以使用基于数字墨水间距计算的归一化间距或其他间距。此外,在图22A中示出了与数字墨水容器2102相对应的排版墨水容器2202。
可以看出,基于实质相同的数字墨水文本高度ha和hb,基于高度的字体大小Sha和Shb彼此实质相同。因此,在图22A的示例中,墨水管理系统312可以在局部字体大小计算中采用基于高度的字体大小Sha或Shb。
因此,关于基于区域的数字墨水文本大小特性,由墨水管理系统312确定基于区域的字体大小Sa。然而,由于在本示例中包含多个文本行,并非通过将排版墨水文本的边界框的宽度设置为与数字墨水文本的边界框实质相同的宽度来确定基于区域的字体大小Sa,因此墨水管理系统312被配置为确定基于区域的字体大小Sa使得多个文本行上的排版墨水文本的高度和宽度(例如,排版墨水文本块的区域)实质上等于数字墨水文本的边界框(例如,数字墨水文本块的区域)。
图22B示出了与数字墨水文本2100相对应的排版墨水文本2200′,其具有基于区域的字体大小Sa下的分别与第一数字墨水文本行2100a和第二数字墨水文本行2100b相对应的第一排版墨水文本行2200′a和第二排版墨水文本行2200′b。可以看出,基于区域的字体大小基于数字墨水文本块的区域(例如,排版墨水文本2200′的边界框2204具有与数字墨水文本2100的边界框2104实质相同的区域,如图所示),其具有行间距,行间距是归一化值,例如,预定义值或计算为基于区域的字体大小的百分比。在图22B中,排版墨水文本2200被示出为在边界框2204中居中,然而可以提供其他对齐方式(例如左对齐、右对齐),或者可以保留数字墨水相对于数字墨水边界框的相对位置。
此外,如图22A和图22B所示,排版墨水文本块2200和2200′在排版墨水容器2202内的相对位置实质上保持为数字墨水文本块2100在数字墨水容器2102内的相对位置。在由墨水管理系统312选择基于高度的字体大小和基于区域的字体大小中最小的字体大小时保持该相对位置。在本示例中,选择基于高度的字体大小Sha(或Shb)作为局部字体大小,得到图22C所示的排版输出,图22C示出了与数字墨水文本2100相对应的排版墨水文本2200″,其具有基于高度的字体大小Sha下的分别与第一数字墨水文本行2100a和第二数字墨水文本行2100b相对应的第一排版墨水文本行2200″a和第二排版墨水文本行2200″b,这两个排版墨水文本行之间具有归一化的行间距。此外,排版墨水文本2200″被示出为在文本块中居中,但是可以提供其他对齐方式(例如左对齐、右对齐),或者可以保留数字墨水相对于数字墨水边界框的相对位置。
备选地,当容器内有空格时,本系统和方法可以基于容器的文本围栏来调整文本块的位置,例如使文本块在文本围栏中居中,从而使得文本块在容器中居中。
图23示出了本系统和方法的局部字体大小计算的流程图,描述了关于至少包括文本的手写内容输入的上述分层方法的示例性处理2300。示例性处理2300被示出为具有由墨水管理系统312按照所描绘的顺序执行的一系列步骤2302至2320。应当理解,步骤的数量及其顺序是示例,在本系统和方法中,数量更少或更多的步骤、步骤的组合或拆分和/或步骤的不同顺序都是可能的。此外,关于一个或多个文本块描述示例性处理2300,每个文本块具有例如由HWR系统314识别的一个或多个文本行。应当理解,例如,墨水管理系统314可以响应于经由设备300的输入接口304从用户接收的排版要求针对所有文本块一次执行所有步骤,或者当由HWR系统312输入和解释文本和非文本内容时,可以即时(稍后详细描述)针对每个文本块/行依次执行所述步骤。
在步骤2302处,墨水管理系统312使用数字墨水文本的排印信息来计算基于排印的文本大小特性,作为针对每个文本块的每个文本行的基于高度的字体大小Sh和/或针对每个文本块的基于区域的字体大小Sa。
在步骤2304处,墨水管理系统312基于预定义的条件选择针对每个文本行的每个基于高度的字体大小Sh和/或针对每个文本块的基于区域的字体大小Sa中的最优值。例如,如前所述,“最优”值可以是针对该文本块及其相关联的一个或多个文本行而计算的字体大小中的最小值、最大值、均值、平均值等。
在步骤2306处,墨水管理系统312确定每个文本块是否与形状(例如,容器)相关联。如果确定文本块不与形状相关联(例如,文本块被隔离),则返回“否”(如图所示),并且处理进行到步骤2308,在步骤2308处,返回基于高度的字体大小Sh和/或基于区域的字体大小Sa中的所选择的最优值,来作为针对该文本块的局部字体大小。如果确定文本块与形状相关联(例如,文本块是被包含的),则返回“是”(如图所示),并且处理进行到针对该文本块的步骤2310。
在步骤2310,对于每个相应的文本块,墨水管理系统312使用相关联的排版识别的形状的尺寸信息,来确定基于高度的字体大小Sh和/或基于区域的字体大小Sa中的所选择的最优值下的相关联文本块的排版文本是否溢出相关联形状的文本包含元素。如果确定文本块的排版文本没有溢出相关联形状的文本包含元素,则返回“否”(如图所示),并且处理进行到步骤2308,在步骤2308处,返回基于高度的字体大小Sh和/或基于区域的字体大小Sa中的所选择的最优值,作为针对该文本块的局部字体大小。如果确定文本块的排版文本溢出相关联形状的文本包含元素,则返回“是”(如图所示),并且处理进行到针对该文本块的步骤2312。
在步骤2312处,对于每个相应的文本块,墨水管理系统312使用数字墨水文本的排印信息来确定针对每个文本块是否存在多个文本行。如果确定文本块具有多个文本行,则返回“是”(如图所示),并且处理进行到针对该文本块的步骤2314。
在步骤2314处,对于每个相应的文本块,墨水管理系统312(单独或与HWR系统314结合)确定所检测的多个文本行是否可以被重排为基于高度的字体大小Sh和/或基于区域的字体大小Sa中的所选择的最优值下的排版文本,以便被包含在相关联形状的文本包含元素内。如果确定文本块的重排的排版文本没有溢出相关联形状的文本包含元素,则返回“否”(如图所示),并且处理进行到步骤2316,在步骤2316处,返回基于高度的字体大小Sh和/或基于区域的字体大小Sa中的所选择的最优值,作为针对具有重排的排版文本的该文本块的局部字体大小。
如果在步骤2314处确定文本块的重排的排版文本溢出相关联形状的文本包含元素,则返回“是”(如图所示),并且处理进行到针对该文本块的步骤2318。类似地,如果在步骤2312处确定文本块不具有多个文本行,则返回“否”(如图所示),并且处理进行到针对该文本块的步骤2318。
在步骤2318处,对于每个相应的文本块,墨水管理系统312使用每个相关联的排版识别的形状的尺寸信息来计算基于尺寸的文本大小特性,来作为针对每个相关联文本块的基于容器的字体尺寸Sc。然后处理进行到步骤2320,在步骤2320处,返回基于容器的字体大小Sc,来作为针对每个相关联文本块的局部字体大小。
返回图2的示例,关于由墨水管理系统312针对图200确定的局部字体大小计算,图24示出了数字墨水文本元素202b、204b、204d、204f、204h、206a、206b、206c和208的相关联文本高度排印,并且图25示出了数字墨水文本元素206a、206b、206c和208的相关联文本区域排印以及与数字墨水形状元素204a、204c、204e和204g相对应的排版墨水形状的相关联文本围栏。在图25中,出于说明目的,排版墨水图100的排版墨水容器102a、104a、104c、104e和104g分别显示在数字墨水图200的数字墨水容器202a、204a、204c、204e和204g上。
在该示例的局部字体大小计算中,对于被确定为被隔离的文本块,基于排印信息测量基于高度的文本大小特性和基于区域的文本大小特性两者,并且对于被确定为与形状相关联的文本块(例如,被包含的),仅基于排印信息测量基于高度的文本大小特性,根据需要与以非重排或重排方式识别的排版形状的尺寸信息相比较,然后必要时计算缩放形状字体大小。然而,这仅是示例,并且可以在局部字体大小计算中针对所有文本块测量基于区域的文本大小特性。
对于标题元素的文本208“MY MIND-MAP”,顶线TL8(未示出)位于首字母“M”的上半出头部分的上限处,下线LL8(未示出)和基线BL8(示出)位于每个字符的最低非下半出头部分点的平均值处,并且因为所有字符都是大写的,因此中线ML8(示出)被定义为位于顶线TL8和基线BL8之间的预定义点处的大写顶线。基于该排印,墨水管理系统312测量的文本高度h约为11.5mm,从而计算基于高度的字体大小Sh8为33pt(例如,使用1pt=0.3528mm的转换并且向上舍入)。然而,基于(隔离的)文本208的边界框208a,计算36pt的基于区域的字体大小Sa8。因此,选择基于高度的字体大小和基于区域的字体大小中的最小者,从而计算局部字体大小为33pt。
对于第一级节点202的文本202b“Main Concept”,由于存在两个文本行202ba和202bc(如图23所示),因此确定各个文本行的排印,并确定针对这两个行的文本栏。
因此,对于文本行202ba“Main”,顶线TL2ba(未示出)位于字母“M”的上半出头部分的上限处,下线LL2ba(未示出)和基线BL2ba(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML2ba(示出)位于顶线TL2ba和基线BL2ba之间的中点处。基于该排印,墨水管理系统312测量文本高度h约为4.9mm,从而计算基于高度的字体大小Sh2ba为14pt。
对于文本行202bb“Concept”,顶线TL2bb(未示出)位于字母“t”的上半出头部分的上限处,下线LL2bb(未示出)位于字母“p”的下半出头部分的下限处,基线BL2bb(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML2bb(示出)位于顶线TL2bb和下线LL2bb之间的中点处。基于该排印,墨水管理系统312测量文本高度h约为4.8mm,从而计算基于高度的字体大小Sh2bb为14pt。
由于针对文本块202b的每个文本行的基于高度的字体大小相同,因此基于高度的字体大小被选择为14pt。基于排版墨水容器102a,定义文本围栏2500,并且确定基于高度的字体大小为14pt的排版文本不会溢出文本围栏2500。因此,选择基于高度的字体大小而不需要在后续步骤中确定重排,得到局部字体大小为14pt。为了完整起见,应注意基于容器的字体大小是18pt(基于文本围栏2500的区域),其在任何情况下都大于基于高度的字体大小。
对于(第一)第二级节点204的文本204b“Idea 1”,顶线TL4b(未示出)位于字母“I”的上半出头部分的上限处,下线LL4b(未示出)和基线BL4b(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML4b(示出)位于顶线TL4b和基线BL4b之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.4mm,从而计算出基于高度的字体大小Sh4b为10pt。基于排版墨水容器104a,定义文本围栏2502,并且确定基于高度的字体大小为10pt的排版文本不会溢出文本围栏2502。因此,选择基于高度的字体大小而不需要确定容器缩放的字体大小,得到局部字体大小为10pt。为了完整起见,应注意基于容器的字体大小是28pt(基于文本围栏2502的宽度),其在任何情况下都大于基于高度的字体大小。
对于(第二)第二级节点204的文本204d“Idea 2”,顶线TL4d(未示出)位于字母“I”的上半出头部分的上限处,下线LL4d(未示出)和基线BL4d(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML4d(示出)位于顶线TL4d和基线BL4d之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.3mm,从而计算出基于高度的字体大小Sh4d为9pt。基于排版墨水容器104c,定义文本围栏2504,并确定基于高度的字体大小为9pt的排版文本不会溢出文本围栏2504。因此,选择基于高度的字体大小而不需要确定容器缩放的字体大小,得到局部字体大小为9pt。为了完整起见,应注意基于容器的字体大小是28pt(基于文本围栏2504的宽度),其在任何情况下都大于基于高度的字体大小。
对于(第三)第二级节点204的文本204f“Idea 3”,顶线TL4f(未示出)位于字母“I”的上半出头部分的上限处,下线LL4f(未示出)和基线BL4f(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML4f(示出)位于顶线TL4f和基线BL4f之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.5mm,从而计算出基于高度的字体大小Sh4f为10pt。基于排版墨水容器104e,定义文本围栏2506,并且确定基于高度的字体大小为10pt的排版文本不会溢出文本围栏2506。因此,选择基于高度的字体大小而不需要确定容器缩放的字体大小,得到局部字体大小为10pt。为了完整起见,应注意基于容器的字体大小是28pt(基于文本围栏2506的宽度),其在任何情况下都大于基于高度的字体大小。
对于(第四)第二级节点204的文本204h“Idea 4”,顶线TL4h(未示出)位于字母“I”的上半出头部分的上限处,下线LL4h(未示出)和基线BL4h(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML4h(示出)位于顶线TL4h和基线BL4h之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.3mm,从而计算出基于高度的字体大小Sh4h为9pt。基于排版墨水容器104g,定义文本围栏2508,并且确定基于高度的字体大小为9pt的排版文本不会溢出文本围栏2508。因此,选择基于高度的字体大小而不需要确定容器缩放的字体大小,得到局部字体大小为9pt。为了完整起见,应注意基于容器的字体大小是28pt(基于文本围栏2508的宽度),其在任何情况下都大于基于高度的字体大小。
应注意,排版墨水容器104a、104c、104e和104g中的每一个均具有相同的尺寸(如图1所示),使得相应的文本围栏2502、2504、2506和2508具有相同的尺寸。该结果可以例如通过HWR系统314或墨水管理系统312对由HWR系统314解释的针对相同层级的容器的检测到的容器尺寸进行归一化来获得。可以以多种方式执行该归一化,例如,考虑到对任何包含文本的局部排版墨水字体大小的影响,将相同级别的所有容器设置为最小或最大容器的尺寸,或者设置为平均或均值容器尺寸。在所示的示例中,采用第二级节点204的最大手绘椭圆形(即,椭圆形204e)的尺寸。然而,如果需要,可以不执行这种归一化,同时保持与第一准则和第二准则的贴合度,使得得到如图6或图7中的排版结果而不是图1中的排版结果。
对于(第一)第三级节点206的文本206a“Item 1”,顶线TL6a(未示出)位于字母“t”的上半出头部分的上限处,下线LL6a(未示出)和基线BL6a(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML6a(示出)位于顶线TL6a和基线BL6a之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.4mm,从而计算出基于高度的字体大小Sh6a为10pt。然而,基于(隔离的)文本206a的边界框206aa,计算出基于区域的字体大小Sa6a为20pt。因此,选择基于高度的字体大小和基于区域的字体大小中的最小者,使得计算出局部字体大小为10pt。
对于(第二)第三级节点206的文本206b“Item 2”,顶线TL6b(未示出)位于数字“I”的上半出头部分的上限处,下线LL6b(未示出)和基线BL6b(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML6b(示出)位于顶线TL6b和基线BL6b之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.3mm,从而计算出基于高度的字体大小Sh6b为9pt。然而,基于(隔离的)文本206b的边界框206ba,计算出基于区域的字体大小Sa6b为18pt。因此,选择基于高度的字体大小和基于区域的字体大小中的最小者,从而计算出局部字体大小为9pt。
对于(第三)第三级节点206的文本206c“Item 3”,顶线TL6c(未示出)位于字母“t”的上半出头部分的上限处,下线LL6c(未示出)和基线BL6c(示出)位于每个字符的最低非下半出头部分点的平均值处,并且中线ML6c(示出)位于顶线TL6c和基线BL6c之间的中点处。基于该排印,墨水管理系统312测量出文本高度h约为3.1mm,从而计算出基于高度的字体大小Sh6c为9pt。然而,基于(隔离的)文本206c的边界框206ca,计算出基于区域的字体大小Sa6c为14pt。因此,选择基于高度的字体大小和基于区域的字体大小中的最小者,从而计算出局部字体大小为9pt。
因此,如果基于针对图文本块元素的这些不同的计算的局部字体大小对数字墨水图200执行排版,则将得到不期望的排版墨水图700。尽管通过这种排版可以满足第一准则,但是在没有对文本块进行一些归一化的情况下,不满足第二准则。如前所述,墨水管理系统312通过将文本块分类成可以定义各个字体大小的类别来提供这种归一化,例如,前述三个排版步骤中的第二步骤。这是通过基于手写输入的所确定的尺寸信息和/或所识别的容器/单元格的所确定的尺寸信息和/或检测到的内容结构将文本块分类成组并针对每个类别确定适当的字体大小以满足第一准则、第二准则和第三准则来完成的。
关于尺寸信息,墨水管理系统312使用手写输入的排印或局部字体大小的各方面来提供分类,从而满足第一准则和第二准则。关于该结构,墨水管理系统312使用文本和非文本形状的解释关系来提供分类,从而满足第一准则和第二准则。
关于排印,墨水管理系统312可以比较所确定的文本高度h以确定高度值之间的增加比率。将这些比率与一个或多个阈值进行比较,以便将具有相应文本高度的文本块分组为不同的类别。例如,墨水管理系统312从最小文本高度开始按升序比较文本高度,并确定每对比较的文本高度的比率。可以理解,本发明的系统和方法也可以使用更多或不同的排印信息(即,在字符、单词、行和文本块级别上的数字墨水文本高度),以进行这种比较。
表1包括以升序排序的文本块202b(包括文本行202ba和202bb)、204b、204d、204f、204h、206a、206b、206c和208的文本高度。还包括每个排序对之间的增加百分比(例如,比率)。应当理解,其他比较模型也是可能的,例如将所有文本高度与最小或最大文本高度进行比较、确定平均或均值文本高度并确定文本高度与该值的偏差、(自适应)聚类算法。
表1
墨水管理系统312将具有最小文本高度的文本块指派给(第一)基础类别“1”。在表1中,这是文本块206c。当文本高度的增加比率或百分比大于预定义和/或例如UI可设置的阈值时,指派新类别。设置阈值以使仍满足第一准则。也就是说,使得在排版版本中表示手写文本大小的相对显著差异。在表1的示例中,阈值被设置为约20%。一个或多个阈值可以手动设置(例如,预设和/或经由UI),或者根据墨水输入本身动态确定。
因此,将与先前较小的文本高度相比文本高度增加均小于20%的文本块204b、204d、204f、204h、206a和206b中的每一个全部指派给基础类别。在文本行202bb处,与先前较小文本高度相差的文本高度差超过阈值,因此墨水管理系统312将该文本行指派给(第二)后续类别“2”。文本行202ba的文本高度增加超过文本行202bb的文本高度小于20%,因此被指派给相同的类别。在文本块208处,与先前较小文本高度相差的文本高度差超过阈值,因此墨水管理系统312将该文本块指派给(第三)最后一个类别“3”。
基于该文本块分类,可以看出,图200的标题块208被包括在其自己的类别中,(第一级)中央节点202的文本块202b被包括在其自己的类别中,并且(第二级)分支节点204和(第三级)列表节点206的文本块包括在相同类别中。例如,可以通过调整阈值、通过针对不同的层级定义和应用阈值集合、或者通过比较不同的排印信息(例如,局部字体大小)来提供该分类的更细或更小的粒度。以这种方式,与数字墨水文本元素或文本块相对应的排版墨水文本元素或块被类似地分类。
例如,墨水管理系统312可以比较所确定的局部字体大小以确定值之间的增加比率。如前所述,将这些比率与一个或多个阈值进行比较,以便将具有相应文本高度的文本块分组为不同的类别。例如,墨水管理系统312从最小值起以升序比较局部字体大小,并确定每个比较对的比率。
表2包括按升序的文本块202b(因为局部字体大小用于整个块202b,因此文本行202ba和202bb不包括在内)、204b、204d、204f、204h、206a、206b、206c和208的局部字体大小。还包括每个排序对之间的增加百分比(例如,比率)。可以理解,其他比较模型也是可能的,例如将所有局部字体大小与最小或最大局部字体大小进行比较、确定平均或均值局部字体大小以及确定局部字体大小与该值的偏差等。
表2
墨水管理系统312将具有最小局部字体大小的文本块指派给(第一)基础类别“1”。在表2中,这是文本块206c。阈值如前所述设置,并且在表2的示例中,阈值被设置为约20%。
因此,将与先前较小的局部字体大小相比局部字体大小增加均小于20%的文本块204b、204d、204f、204h、206a和206b中的每一个全部指派给基础类别。在文本块202b处,与先前较小的局部字体大小相差的局部字体大小差超过阈值,因此墨水管理系统312将该文本块指派给(第二)后续类别“2”。在文本块208处,与先前较小的局部字体大小相差的局部字体大小差超过阈值,因此墨水管理系统312将该文本块指派给(第三)最后一个类别“3”。以这种方式,与数字墨水文本元素或块相对应的排版墨水文本元素或块被类似地分类。
因此,基于局部字体大小的文本块分类与基于文本高度的文本块分类相同。在本示例中是这种情况,因为每个局部字体大小被确定为手写输入的每个文本块的基于高度的字体大小Sh。然而,对于文本块的局部字体大小被确定为基于区域的字体大小或基于容器的字体大小的手写图和其他结构化输入,文本高度和局部字体大小之间的比较可以提供不同的分类结果。因此,墨水管理系统312可以被配置为对数字和排版墨水的不同排印和结构信息执行多个比较模型,并使用最优地贴合第一准则和第二(和第三)准则的排版的比较结果,或者可以提供这些各种模型选项以供用户选择。
附加地或备选地,墨水管理系统312可以使用由HWR系统314解释的内容元素的关系来提供或扩充文本块分类。例如,可以使用由HWR系统314检测的确定层级结构的图元素的关系,使得层级的每个级别的每个文本元素由墨水管理系统312指派给相应的类别或者根据基于层级调整的文本元素的排印信息进行指派。
对于示例图200,墨水管理系统312可以指派如表3中包括的类别,表3包括按降序排序的文本块202b、204b、204d、204f、204h、206a、206b、206c和208的节点和层级。
表3
墨水管理系统312将最低层级出的文本块指派给(第一)基础类别“1”,然后随后将更高级别指派给后续类别。因此,在表3中,第三级节点206的文本块206a、206b和206c被指派给基础类别,第二级节点204的文本块204b、204d、204f、204h被指派给(第二)后续类别“2”中,第一级节点202的文本块202b被指派给(第三)后续类别“3”,并且标题节点的文本块208被指派给(第四)最后一个类别“4”。以这种方式,与数字墨水文本元素或块相对应的排版墨水文本元素或块被类似地分类。
可以看出,这提供了比表1和表2的模型更进一步的类别。下面讨论该进一步的类别对排版结果的影响以及基于该影响是否满足第一准则和第二准则。
为了提供每个类别中的字体大小的一致性从而确保满足第一准则和第二准则,墨水管理系统312应用全局字体大小归一化以产生针对排版墨水文本的归一化(第二)字体大小,例如,前述三个排版步骤中的第三步骤。在最简单的形式中,这是通过将针对每个(创建的)类别的文本块而计算的最小局部排版墨水字体大小应用于最终排版结果中该类别的文本块,从而基于每个类别的适当的局部(第一)字体大小确定归一化的(第二)字体大小来实现的。备选地,可以使用平均值或均值,同时保持与第一准则和第二准则的贴合度。
同样地,对于示例图200,如表2所示,对于第一类别1,最小的局部字体大小是9pt,使得第三级节点206的文本块206a、206b和206c以及第二级节点204的文本块204b、204d、204f、204h用该字体大小排版,对于第二类别2,(最小的)局部字体大小是14pt,使得第一级节点202的文本块202b用该字体大小排版,并且对于第三类别3,(最小的)局部字体大小是33pt,使得(第0个)标题节点的文本块208用该字体大小排版。结果,产生图1中所示的排版墨水图100。
可以基于类别(或层级级别)通过一个或多个预定义和/或UI可设置缩放因子来缩放局部字体大小。例如,可以应用约80%的(全局)缩放因子以提供外观更专业的排版输出,例如为段落文本提供前述的“正常”字体大小。
关于如表3中的备选分类,应注意,对于第一类别1,最小的局部字体大小是9pt,使得第三级节点206的文本块206a、206b和206c仍然是用该字体大小排版,对于第二类别2,最小的局部字体大小也是9pt,使得第二级节点204的文本块204b、204d、204f、204h仍然用该字体大小排版,对于第三类别3,(最小的)局部字体大小是14pt,使得第一级节点202的文本块202b仍然用该字体大小排版,并且对于第四类别4,(最小的)局部字体大小是33pt,使得(第0个)标题节点的文本块208仍然用该字体大小排版。结果,仍然产生图1中描绘的排版墨水图100。
然而,例如,如果针对第二类别2的所有局部字体大小已被计算为10pt(例如,针对文本块204d和204h的局部字体大小也被计算为10pt,而不是9pt),则第二级节点204的文本块204b、204d、204f、204h将以10pt的字体大小排版。因此,可以在最终排版图中强调第二级内容和第三级内容之间的级别差异。然而,这可以被认为不满足第一准则和第二准则,因为图2的手写输入在第二级节点204和第三级节点206之间没有显著的比例差异,并且对于大致以相同比例手写的第二级节点204和第三级节点206的所有文本块,未使用相同的文本大小。话虽如此,由于大多数第三级文本206是以比第二级文本204更小的大小手写的,因此还可以认为满足第一准则和第二准则,并且这种分类更能反映用户对图的不同级别进行不同强调的意图。此外,墨水管理系统312可以使用先前描述的离散的预设或动态可定义的字体大小级别(例如,小的、正常的、大的、超大的)来提供这种不同的级别差异。
前述示例涉及在手写输入之后的时间点对数字手写内容进行排版。也就是说,例如,在已输入手写图200之后,通过用户相对于设备300的输入接口304执行手势以选择菜单元素或按钮或输入手写排版命令来引发对输入内容的排版。本系统和方法还适用于实质上实时的或“即时”排版,其中当用户输入手写时,排版墨水替换(或替代)数字墨水呈现。
然而,在这种用例中,申请人已经发现,当输入进行时,改变为排版会扰乱用户的继续输入。也就是说,基于前述处理,如果先前排版内容的相同层级处的后续输入被计算为具有小于先前排版墨水字体大小的局部排版墨水字体大小,则将对先前的内容重新排版以基于分类和归一化来减小字体大小。例如,可以通过在即时排版期间省略归一化来避免这种情况。然而,这将使得针对相同图级别的字体大小不同(如图7的示例中),从而违反第二准则。
备选地,例如,在输入完成之后,基于接收到用户经由设备300的输入接口3014输入的“最终”排版命令来执行归一化,或者例如,在从墨水管理系统312检测到最后的抬笔事件起经过某一时间量(例如,大约1秒至大约5秒)之后执行归一化
再次备选地,至少可以基于每个类别中已经呈现的排版墨水文本的排版墨水字体大小来执行归一化。例如,如果在文本204d、204f和204h之前输入第二级节点204的文本204b,则所得到的针对所有这些文本块的排版墨水字体大小将是10pt而不是9pt。这样的结果可以满足第二准则,但是可能违反第三准则(如果需要贴合的话),除非还执行容器大小归一化(如前所述)。
附加地或备选地,墨水管理系统312可以被配置为:对于即时排版,用一个或多个预定义和/或动态可定义字体大小(例如,正常和/或分级字体大小,如前所述)对数字墨水文本进行排版,并且对相关联的形状(例如,容器)进行排版,以使排版文本不溢出;以及,对于按需排版,计算和确定适当的排版字体大小(如本文所述)。在这种情况下,墨水管理系统312还可以被配置为允许用所计算和确定的适当的排版字体大小(如本文中所述)对先前即时排版的内容进行按需“重新排版”。
通过本系统和方法,通过考虑表示手写输入的数字墨水的尺寸和几何信息以及通过对手写输入进行HWR识别产生的(潜在)排版墨水,来遵守手写输入的文本(和非文本)大小。以这种方式,本系统和方法的墨水管理提供了对排版转换的手写结构化墨水内容的外观的改进,同时尊重用户通过不同的手写大小表达和强调不同内容元素的意图。以这种方式,最小化了用户显式调整排版字体大小以改进排版转换的需要,从而提高了用户体验和生产增益。
如所描述的,基于对结构化内容的数字和排版墨水的局部和全局观察来提供文本块分类和最优字体大小计算。所描述的系统和方法可以使用规则或启发法来提供观察,或者可备选地或附加地,利用例如机器学习,以基于内容的类型和对大数据集的训练来对结构化内容的不同层级进行分类。
尽管前面已描述了被认为是最优模式的内容和/或其他示例,但是应当理解,可以在本文中进行各种修改,并且本文公开的主题可以以各种形式和示例实现,并且它们可以应用于许多其他应用、组合和环境中,本文仅描述了其中的一些。本领域普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方面。因此,主题不限于本说明书中的具体细节、展示和所示示例。旨在保护落入本文公开的有利构思的真实范围内的任何和所有修改和变化。
动词“包含”、“含有”、“包括”或任何其他变体及其连词的使用不排除存在除上述元素或步骤之外的元素或步骤。除非另有说明,否则在描述元件或步骤时使用不定冠词“一”或“一个”不排除存在多个这样的元件或步骤。例如,除非另有说明,否则术语“处理器”可以被认为意指“一个或多个处理器”。
Claims (9)
1.一种用于管理在计算设备对数字墨水结构化内容进行排版的系统,所述计算设备包括处理器以及用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质被配置为:
检测形成结构化内容的至少多个数字墨水文本元素的一个或多个输入;
确定结构化内容的所述至少多个数字墨水文本元素的尺寸信息;
其中,所述尺寸信息包括结构化内容的所述至少多个数字墨水文本元素的排印信息;
基于所述尺寸信息,计算分别与所述数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;
将所述排版墨水文本元素分类为所述结构化内容的一个或多个类别;
基于相应类别的每个排版墨水文本元素的所述第一字体大小,确定所述排版墨水文本元素中的每一个的第二字体大小;以及
在与相应的计算设备相关联的显示器上,以相应确定的第二字体大小显示所述多个排版墨水文本元素,
其中,所述尺寸信息还涉及所述排版墨水非文本元素中的一个或多个排版墨水非文本元素,所述一个或多个排版墨水非文本元素与所述结构化内容的所述数字墨水非文本元素中的与所述数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应,所述至少一个非暂时性计算机可读介质被配置为:通过将根据所述数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据所述排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算所述排版墨水文本元素中的与所述数字墨水文本元素中的所述一个或多个数字墨水文本元素相对应的所述一个或多个排版墨水文本元素的每个第一字体大小,
其中,所述尺寸信息包括所述排版墨水非文本元素的几何信息,以及
其中,所述数字墨水文本元素中的所述一个或多个数字墨水文本元素中的至少一个的至少一部分被包含在相关的数字墨水非文本元素中;以及计算对应的排版墨水文本元素的第一字体大小,使得所述排版墨水文本元素被对应的排版墨水非文本元素完全包含。
2.根据权利要求1所述的系统,其中,基于对应的数字墨水文本元素的尺寸信息对所述排版墨水文本元素进行分类。
3.根据权利要求1或2所述的系统,其中,所述排印信息包括所述数字墨水文本元素的x高度。
4.一种用于管理在计算设备上对数字墨水结构化内容进行排版的方法,所述计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述方法包括:
检测形成结构化内容的至少多个数字墨水文本元素的一个或多个输入;
确定结构化内容的所述至少多个数字墨水文本元素的尺寸信息;
其中,所述尺寸信息包括结构化内容的所述至少多个数字墨水文本元素的排印信息;
基于所述尺寸信息,计算分别与所述数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;
将所述排版墨水文本元素分类为所述结构化内容的一个或多个类别;
基于相应类别的每个排版墨水文本元素的所述第一字体大小,确定所述排版墨水文本元素中的每一个的第二字体大小;以及
在与相应的计算设备相关联的显示器上,以相应确定的第二字体大小显示所述多个排版墨水文本元素,
其中,所述尺寸信息还涉及所述排版墨水非文本元素中的一个或多个排版墨水非文本元素,所述一个或多个排版墨水非文本元素与所述结构化内容的所述数字墨水非文本元素中的与所述数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应,所述方法包括:通过将根据所述数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据所述排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算所述排版墨水文本元素中的与所述数字墨水文本元素中的所述一个或多个数字墨水文本元素相对应的所述一个或多个排版墨水文本元素的每个第一字体大小,
其中,所述尺寸信息包括所述排版墨水非文本元素的几何信息,以及
其中,所述数字墨水文本元素中的所述一个或多个数字墨水文本元素的至少一个的至少一部分被包含在相关的数字墨水非文本元素中;以及计算对应的排版墨水文本元素的所述第一字体大小,使得所述排版墨水文本元素被对应的排版墨水非文本元素完全包含。
5.根据权利要求4所述的方法,其中,基于对应的数字墨水文本元素的尺寸信息对所述排版墨水文本元素进行分类。
6.根据权利要求4或5所述的方法,其中,所述排印信息包括所述数字墨水文本元素的x高度。
7.一种非暂时性计算机可读介质,其中具体化有计算机可读程序代码,所述计算机可读程序代码适于被执行以实现用于管理在计算设备上对数字墨水结构化内容进行排版的方法,所述计算设备包括处理器和用于在所述处理器的控制下识别手写输入的至少一个非暂时性计算机可读介质,所述方法包括:
检测形成结构化内容的至少多个数字墨水文本元素的一个或多个输入;
确定结构化内容的所述至少多个数字墨水文本元素的尺寸信息;
其中,所述尺寸信息包括结构化内容的所述至少多个数字墨水文本元素的排印信息;
基于所述尺寸信息,计算分别与所述数字墨水文本元素相对应的多个排版墨水文本元素中的每一个的第一字体大小;
将所述排版墨水文本元素分类为所述结构化内容的一个或多个类别;
基于相应类别的每个排版墨水文本元素的所述第一字体大小,确定所述排版墨水文本元素中的每一个的第二字体大小;以及
在与相应的计算设备相关联的显示器上,以相应确定的第二字体大小显示所述多个排版墨水文本元素,
其中,所述尺寸信息还涉及所述排版墨水非文本元素中的一个或多个排版墨水非文本元素,所述一个或多个排版墨水非文本元素与所述结构化内容的所述数字墨水非文本元素中的与所述数字墨水文本元素中的一个或多个数字墨水文本元素相关的一个或多个数字墨水非文本元素相对应,所述方法包括:通过将根据所述数字墨水文本元素中的相应的一个或多个数字墨水文本元素的尺寸信息计算的第一文本大小与根据所述排版墨水非文本元素中的相应的一个或多个排版墨水非文本元素的尺寸信息计算的第二文本大小进行比较,计算所述排版墨水文本元素中的与所述数字墨水文本元素中的所述一个或多个数字墨水文本元素相对应的所述一个或多个排版墨水文本元素的每个第一字体大小,
其中,所述尺寸信息包括所述排版墨水非文本元素的几何信息,以及
其中,所述数字墨水文本元素中的所述一个或多个数字墨水文本元素的至少一个的至少一部分被包含在相关的数字墨水非文本元素中;以及计算对应的排版墨水文本元素的所述第一字体大小,使得所述排版墨水文本元素被对应的排版墨水非文本元素完全包含。
8.根据权利要求7所述的非暂时性计算机可读介质,其中,基于对应的数字墨水文本元素的尺寸信息对所述排版墨水文本元素进行分类。
9.根据权利要求7或8所述的非暂时性计算机可读介质,其中,所述排印信息包括所述数字墨水文本元素的x高度。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16290205 | 2016-10-26 | ||
EP16290205.0 | 2016-10-26 | ||
US15/466,346 | 2017-03-22 | ||
US15/466,346 US10664695B2 (en) | 2016-10-26 | 2017-03-22 | System and method for managing digital ink typesetting |
PCT/EP2017/001258 WO2018077474A1 (en) | 2016-10-26 | 2017-10-26 | System and method for managing digital ink typesetting |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110073350A CN110073350A (zh) | 2019-07-30 |
CN110073350B true CN110073350B (zh) | 2024-02-23 |
Family
ID=57396381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780077858.XA Active CN110073350B (zh) | 2016-10-26 | 2017-10-26 | 用于管理数字墨水排版的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10664695B2 (zh) |
EP (1) | EP3532942A1 (zh) |
KR (1) | KR102417783B1 (zh) |
CN (1) | CN110073350B (zh) |
WO (1) | WO2018077474A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
CN108959235B (zh) * | 2017-05-19 | 2021-10-19 | 北京庖丁科技有限公司 | 文字中获取表达式的方法和装置 |
US11380028B2 (en) | 2018-07-02 | 2022-07-05 | Apple Inc. | Electronic drawing with handwriting recognition |
US11270486B2 (en) * | 2018-07-02 | 2022-03-08 | Apple Inc. | Electronic drawing with handwriting recognition |
CN109697414B (zh) * | 2018-12-13 | 2021-06-18 | 北京金山数字娱乐科技有限公司 | 一种文本定位方法及装置 |
US10963723B2 (en) * | 2018-12-23 | 2021-03-30 | Microsoft Technology Licensing, Llc | Digital image transcription and manipulation |
US10783323B1 (en) * | 2019-03-14 | 2020-09-22 | Michael Garnet Hawkes | Analysis system |
EP3754537B1 (en) * | 2019-06-20 | 2024-05-22 | MyScript | Processing text handwriting input in a free handwriting mode |
US10769348B1 (en) * | 2019-09-23 | 2020-09-08 | Typetura Llc | Dynamic typesetting |
CN112860157B (zh) * | 2019-11-12 | 2022-06-24 | 广州视源电子科技股份有限公司 | 显示元素调整方法、装置、设备及存储介质 |
CN111191975B (zh) * | 2019-11-29 | 2024-03-29 | 广东三扬网络科技有限公司 | 一种思维导图的节点引用方法及电子设备和存储介质 |
CN111062365B (zh) * | 2019-12-30 | 2023-05-26 | 上海肇观电子科技有限公司 | 识别混合排版文字的方法、设备、芯片电路和计算机可读存储介质 |
CN112784562A (zh) * | 2020-01-03 | 2021-05-11 | 珠海金山办公软件有限公司 | 一种文档中文本内容的排版方法及装置 |
JP2021152861A (ja) * | 2020-03-23 | 2021-09-30 | 株式会社リコー | 入力装置、入力方法、及びプログラム |
CN117113962A (zh) * | 2020-04-01 | 2023-11-24 | 支付宝(杭州)信息技术有限公司 | 一种信息处理方法、装置及设备 |
US20220343058A1 (en) * | 2021-04-23 | 2022-10-27 | Samsung Electronics Co., Ltd. | Electronic device, and method for placing text-linked object in electronic device |
CN113569531B (zh) * | 2021-08-13 | 2023-10-20 | 北京字节跳动网络技术有限公司 | 一种内容排版方法、装置、计算机设备及存储介质 |
CN114241093B (zh) * | 2022-02-28 | 2022-06-17 | 世纪开元智印互联科技集团股份有限公司 | 一种无遮挡的照片书自动排版方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609846A (zh) * | 2003-06-13 | 2005-04-27 | 微软公司 | 用于识别,锚定和回流数字墨水注释的数字墨水注释方法和系统 |
CN1624643A (zh) * | 2003-12-03 | 2005-06-08 | 微软公司 | 墨水的缩放文本替换 |
CN1689023A (zh) * | 2003-08-21 | 2005-10-26 | 微软公司 | 电子墨水处理 |
CN101536012A (zh) * | 2005-07-01 | 2009-09-16 | 微软公司 | 用于标准化和美化/墨水美化的墨水扭曲 |
CN105264517A (zh) * | 2013-05-20 | 2016-01-20 | 微软技术许可有限责任公司 | 用于文本表示转换的墨水 |
CN105706037A (zh) * | 2013-06-11 | 2016-06-22 | 微软技术许可有限责任公司 | 管理以结构化格式的墨水内容 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3272842B2 (ja) * | 1992-12-17 | 2002-04-08 | ゼロックス・コーポレーション | プロセッサベースの判定方法 |
US20020107885A1 (en) * | 2001-02-01 | 2002-08-08 | Advanced Digital Systems, Inc. | System, computer program product, and method for capturing and processing form data |
US7659890B2 (en) * | 2004-03-19 | 2010-02-09 | Microsoft Corporation | Automatic height adjustment for electronic highlighter pens and mousing devices |
US20080104020A1 (en) * | 2006-10-27 | 2008-05-01 | Microsoft Corporation | Handwritten Query Builder |
US8907990B2 (en) * | 2008-04-01 | 2014-12-09 | Takatoshi Yanase | Display system, display method, program, and recording medium |
US8175389B2 (en) * | 2009-03-30 | 2012-05-08 | Synaptics Incorporated | Recognizing handwritten words |
US8416243B2 (en) * | 2011-03-10 | 2013-04-09 | Konica Minolta Laboratory U.S.A., Inc. | Approximating font metrics for a missing font when substituting an available replacement |
KR20150028627A (ko) | 2013-09-06 | 2015-03-16 | 삼성전자주식회사 | 사용자 필기를 텍스트 정보로 변환하는 방법 및 이를 수행하기 위한 전자 기기 |
US9237255B1 (en) * | 2014-08-25 | 2016-01-12 | Xerox Corporation | Methods and systems for processing documents |
US10089292B2 (en) * | 2015-09-11 | 2018-10-02 | Adobe Systems Incorporated | Categorization of forms to aid in form completion |
US10254935B2 (en) * | 2016-06-29 | 2019-04-09 | Google Llc | Systems and methods of providing content selection |
-
2017
- 2017-03-22 US US15/466,346 patent/US10664695B2/en active Active
- 2017-10-26 EP EP17798096.8A patent/EP3532942A1/en active Pending
- 2017-10-26 WO PCT/EP2017/001258 patent/WO2018077474A1/en unknown
- 2017-10-26 CN CN201780077858.XA patent/CN110073350B/zh active Active
- 2017-10-26 KR KR1020197015086A patent/KR102417783B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609846A (zh) * | 2003-06-13 | 2005-04-27 | 微软公司 | 用于识别,锚定和回流数字墨水注释的数字墨水注释方法和系统 |
CN1689023A (zh) * | 2003-08-21 | 2005-10-26 | 微软公司 | 电子墨水处理 |
CN1624643A (zh) * | 2003-12-03 | 2005-06-08 | 微软公司 | 墨水的缩放文本替换 |
CN101536012A (zh) * | 2005-07-01 | 2009-09-16 | 微软公司 | 用于标准化和美化/墨水美化的墨水扭曲 |
CN105264517A (zh) * | 2013-05-20 | 2016-01-20 | 微软技术许可有限责任公司 | 用于文本表示转换的墨水 |
CN105706037A (zh) * | 2013-06-11 | 2016-06-22 | 微软技术许可有限责任公司 | 管理以结构化格式的墨水内容 |
Also Published As
Publication number | Publication date |
---|---|
EP3532942A1 (en) | 2019-09-04 |
WO2018077474A1 (en) | 2018-05-03 |
CN110073350A (zh) | 2019-07-30 |
US10664695B2 (en) | 2020-05-26 |
KR102417783B1 (ko) | 2022-07-05 |
US20180114059A1 (en) | 2018-04-26 |
KR20190076008A (ko) | 2019-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110073350B (zh) | 用于管理数字墨水排版的系统和方法 | |
US11157732B2 (en) | System and method of handwriting recognition in diagrams | |
JP6840132B2 (ja) | デジタルノートテイキングのシステムおよび方法 | |
JP7046806B2 (ja) | ジェスチャを用いたノートテイキングのための装置および方法 | |
CN108369484B (zh) | 引导手写图输入的系统和方法 | |
EP3341827B1 (en) | System and method of guiding handwriting input | |
JP7105695B2 (ja) | デジタルインク対話性のためのシステムおよび方法 | |
CN108369637B (zh) | 用于美化数字墨水的系统和方法 | |
CN108475325B (zh) | 用于识别手写图连接符的系统、方法及计算机可读介质 | |
US20130343639A1 (en) | Automatically morphing and modifying handwritten text | |
CN114365075B (zh) | 用于选择图形对象的方法和对应装置 | |
EP3491580B1 (en) | System and method for beautifying superimposed digital ink | |
US20240134507A1 (en) | Modifying digital content including typed and handwritten text | |
WO2024110354A1 (en) | Setting font size in an unconstrained canvas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |