检测并重构固定格式文档中的从右到左文本方向、连字和变音符号的制作方法
【专利说明】检测并重构固定格式文档中的从右到左文本方向、连字和变音符号
[0001]
[0002]流格式文档和固定格式文档被广泛使用且具有不同的目的。流格式文档使用诸如章节、段落、列和表之类的复杂逻辑格式化对象来组织文档。结果,流格式文档提供了灵活性且容易修改,使得它们适用于涉及被频繁更新或受到相当多编辑的文档的任务。相反,固定格式文档使用诸如文本串、路径和图像之类的基本物理布局元素来组织文档以保留原始外观。固定格式文档提供了一致且精确的格式布局,使得它们适用于涉及不被频繁或大量改变的或其中需要统一性的文档的任务。这样的任务的示例包括文档归档、高质量再现,以及用于商业发布和印刷的源文件。固定格式文档通常从流格式源文档中创建。固定格式文档还包括物理(即,纸质)文档的数字化再现(例如,扫描和照片)。
[0003]在其中需要编辑固定格式文档但流格式源文档不可用的情况下,固定格式文档可被转换成流格式文档。转换涉及解析该固定格式文档并将来自固定格式文档的基本物理布局元素变换成在流格式文档中使用的更复杂的逻辑元素。
[0004]在一些情况下,固定格式文档中的文本可根据从左到右的阅读次序(例如,英语文本)或从右到左的阅读次序(例如,一些中东语言,诸如阿拉伯语)来呈现,或者文档可具有各阅读次序的组合。此外,一些固定格式文档可包含连字。根据Unicode (统一代码)标准,连字可具有两种形式,包括基本形式和呈现性形式。一般来说,对于每一连字,呈现性形式由一个Unicode代码分量组成,且基本形式由多个Unicode代码组成。当固定格式文档包含连字的呈现性形式时,通常用相应的基本形式来代替该呈现性形式,因为在将固定格式文档转换成流格式文档时,呈现性形式通常不会被正确地处理(即不会被正确地串行化)。此外,这样的文档中的许多文本项可具有变音符号(诸如某些字符或符号上的重音标记),并且一些字符可形成连字。
[0005]在将这样的固定格式文档转换成流格式文档时,文本的阅读次序必须根据合适的阅读次序来重构,或者得到的流格式文档将是不可读的。此外,如果在流格式文档中没有合适地重构阅读次序,则在流格式文档的后续修改期间,不合适地重构的文本(S卩,不合适的阅读次序重构)可能不会合适地回流(reflow),从而导致不符合适用于原始文档的预期阅读次序的流格式文档。
[0006]本发明正是对于这些和其他考虑事项而作出的。
[0007]概述
[0008]提供本
【发明内容】
以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0009]本发明的各实施例通过提供固定格式文档到流格式文档的重构来解决以上和其他问题,其中固定格式文档包含从右到左文本方向、从左到右文本方向、连字和变音符号。根据各实施例,将包含一个或多个文本方向的固定格式文档分解成诸个体文本串。每一文本串的分量被分析以得到方向性(例如,从右到左或从左到右)。接着检测文档中包含的任何变音符号。接着执行行检测,之后确定构成每一行的检测到文本串的逻辑次序。检测到的行被组织成相应的段落。方向性指定被应用于文档的每一段落,并且构成每一段落的行(以及所包括的文本串)的逻辑方向次序被确定。如果文本串包含连字,则将这些连字映射到相应的字符,以在构成其中放置有这些连字的文本串或与这些连字相邻的文本串的其他字符的上下文中合适地重构这些连字。如果文档具有一个或多个列部分,则针对这些列的合适文本方向性或阅读次序是以与确定文本段落中的文本串的合适文本方向相同的方式来确定的。
[0010]—个或多个实施例的细节在附图和以下描述中被阐明。通过阅读下面的详细描述并参考相关联的附图,其他特征和优点将变得显而易见。要理解的是下面的详细描述仅仅是解释性的,而不是对所要求保护的发明的限制。
[0011]附图简沐
[0012]合并在本公开中并构成其一部分的附图例示出本发明的各种实施例。在附图中:
[0013]图1是包括文档转换器的系统的一个实施例的框图;
[0014]图2是示出文档处理器的一个实施例的操作流程的框图;
[0015]图3A是包含多个文本方向性或阅读次序的文档的图示;
[0016]图3B是包含包括连字的文本串和包括变音符号的文本串的文档的图示;
[0017]图4A和4B解说了用于将固定格式文档重构成流格式文档的方法的流程图,其中固定格式文档可包括从右到左文本方向、从左到右文本方向、连字和变音符号;
[0018]图5是解说可用来实施本发明的各实施例的计算设备的示例物理组件的框图;
[0019]图6A和6B是可用来实施本发明的各实施例的移动计算设备的简化框图;以及
[0020]图7是其中可实施本发明的各实施例的分布式计算系统的简化框图。
[0021]详细描沐
[0022]如以上简要描述的,本发明的各实施例通过提供固定格式文档到流格式文档的重构来解决以上和其他问题,其中固定格式文档可包含从右到左文本方向、从左到右文本方向、连字和变音符号。以下详细描述参考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指代相同或相似的元件。尽管可能描述了本发明的各实施例,但修改、改编、以及其他实现是可能的。例如,可对附图中所例示的元素进行替代、添加、或修改,并且可通过对所公开的方法替代、重新排序或添加阶段来修改本文中所描述的方法。因此,下文的详细描述不限制本发明,相反,本发明的合适范围由所附权利要求来限定。
[0023]现在参考附图将描述各种实施例,附图中相同的标号代表相同的元素。图1解说了合并了固定格式检测和流格式重构引擎120以及文本方向检测和重构引擎122的系统100的一个实施例。根据各实施例,固定格式检测和流格式重构引擎120可包括用于定位固定格式文档中的行、段落和其他对象以用于将来自固定格式文档的内容重构成流格式文档的软件模块。要获得更多关于检测固定格式文档中的行、段落和其他对象以用于将来自固定格式文档的内容重构成流格式文档的信息,参见2012年7月10日提交的标题为“FixedFormat Document Convers1n Engine (固定格式文档转换引擎)”的美国专利申请序列号 13/521,378、2012 年 7 月 10 日提交的标题为 “Paragraph Property Detect1n andStyle Reconstruct1n Engine (段落属性检测和样式重构引擎)”的美国专利申请序列号13/521,407 以及 2013 年 I 月 2 日提交的标题为“Mult1-Level List Detect1n Engine (多层列表检测引擎)”的美国专利申请序列号13/808,052,其通过引用并入本申请,就好像在此完全予以了阐述。文本方向检测和重构引擎122可包括用于检测从右到左文本方向、从左到右文本方向、连字和变音符号以用于将固定格式文档重构成流格式文档的软件模块。
[0024]在所解说的实施例中,固定格式检测和流格式重构引擎120以及文本方向检测和重构引擎122可用作在计算设备104上执行的文档转换器102的一部分。文档转换器102使用解析器110、文档处理器112和串行化器114将固定格式文档106转换成流格式文档108。解析器110从固定格式文档106中读取和提取数据。从固定格式文档提取的数据被写入到可由文档处理器112和串行化器114访问的数据存储116。文档处理器112使用一个或多个检测和/或重构引擎(例如,固定格式文档检测和流格式重构引擎120以及文本方向检测和重构引擎122)来分析该数据并将其变换为可流动(flowable)元素。最后,串行化器114将可流动元素写成可流动文档格式(例如,文字处理格式)。
[0025]图2更加详细地解说了文档处理器112的操作流的一个实施例。文档处理器112包括可选的光学字符识别(OCR)引擎202、布局分析引擎204以及语义分析引擎206。数据存储116中包含的数据包括物理布局对象208和逻辑布局对象210。在一些实施例中,物理布局对象208和逻辑布局对象210被分层地安排在编组的树类阵列(即,数据对象)中。在各实施例中,页面是物理布局对象208的顶层编组,而章节是逻辑布局对象210的顶层编组。从固定格式文档106中提取的数据一般被存储为由固定格式文档106中的包含页面来组织的物理布局对象208。基本物理布局对象208包括文本串(text run)、图像和路径。文本串是页面内容流中指定当显示固定格式文档时字符的绘制位置的文本元素。图像是存储在固定格式文档106中的光栅图像(8卩,图片)。路径描述了诸如线、曲线(例如,三次贝塞尔曲线)和文本轮廓等用于构建矢量图的元素。逻辑布局对象210包括诸如章节、段落、列、表和列表等可流动元素。
[0026]处理开始的位置取决于被解析的固定格式文档106的类型。从流格式源文档直接创建的本机固定格式文档106A包含基本物理布局元素中的一些或全部。嵌入式数据对象由解析器提取并且可供文档转换器立即使用;但在某些情况下,微小的重新格式化或其它微小处理被应用来组织或标准化数据。相反,通过对物理文档进行数字成像(例如,扫描或拍照)而创建的基于图像的固定格式文档106B中的所有信息被存储作为不带有附加数据(即,没有文本串或路径)的一系列页面图像。在这种情况下,任选的光学字符识别引擎202分析每一页图像并创建对应的物理布局对象。一旦物理布局对象208可用,布局分析引擎204就分析固定格式文档的布局。在布局分析完成之后,语义分析引擎206用从对物理布局对象和/或逻辑布局对象的分析中获得的语义信息来丰富逻辑布局对象。
[0027]现参考图3A,固定格式文档1