一种版面空格的流式还原方法与系统技术方案

技术编号:11312666 阅读:82 留言:0更新日期:2015-04-16 14:51
本发明专利技术所述的版面空格的流式还原方法,获取版面中依次相邻的三个字符;计算相邻两个的字符间距并计算出字符间距差值;如果所述字符间距差值小于预设差值阈值,则不插入空格;否则,计算第一字符的右边值和第二字符的左边值的和作为边值和,然后计算所述第一字符间距与所述边值和的差值作为判断值,如果所述判断值大于第一字符所属类型的空格符的字宽值,则在第一字符后插入空格,否则不插入空格。这样,通过计算前后两个字符之间的空白位置的间距,获取该间距是由于排版导致的均匀间距还是由于存在空格字符导致的,如果前后两处的字符间距的差值在阈值内,则说明其间隔均匀,不需要插入空格,如果间距的差值较大,则通过比较判断是否插入,这样,通过空格还原,将版面中需要的空格在流式转换时,增加所需的空格,这样可以依据实际版面的呈现效果进行流式空格的还原处理,使得版面的展示更加准确。

【技术实现步骤摘要】
【专利摘要】本专利技术所述的版面空格的流式还原方法,获取版面中依次相邻的三个字符;计算相邻两个的字符间距并计算出字符间距差值;如果所述字符间距差值小于预设差值阈值,则不插入空格;否则,计算第一字符的右边值和第二字符的左边值的和作为边值和,然后计算所述第一字符间距与所述边值和的差值作为判断值,如果所述判断值大于第一字符所属类型的空格符的字宽值,则在第一字符后插入空格,否则不插入空格。这样,通过计算前后两个字符之间的空白位置的间距,获取该间距是由于排版导致的均匀间距还是由于存在空格字符导致的,如果前后两处的字符间距的差值在阈值内,则说明其间隔均匀,不需要插入空格,如果间距的差值较大,则通过比较判断是否插入,这样,通过空格还原,将版面中需要的空格在流式转换时,增加所需的空格,这样可以依据实际版面的呈现效果进行流式空格的还原处理,使得版面的展示更加准确。【专利说明】一种版面空格的流式还原方法与系统
本专利技术涉及电子文档数据处理领域,具体地说是一种将版式文档中逻辑空格还原为流式文档中对应空格的处理方法及系统。
技术介绍
版式文档是一种独立于软件、硬件、操作系统、呈现或打印设备的文档,例如pdf, ceb, cebx等格式的版式文档。一个版式文档可以包含多个页面,每个页面由与设备和分辨率无关的若干的图元组成。版式技术是指将文字、图形、图像、音视频等多种数字内容对象按照一定的排版规则排版后进行版面固化呈现的技术。版式文档的特点是版面固定、不跑版,即所见即所得(What you see is what you get,简称WYSIWYG),使电子文档在使用过程中,呈现效果不因软硬件环境、操作者的变化而变化,在版式、版面、字体、字号等方面与纸质文件保持完全一致。版式文档格式的特点使它成为电子文档发布、数字化信息传播和存档的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用版式文档,在国外,Adobe公司的PDF版式文档格式目前已成为数字化信息事实上的一个工业标准。 流式排版显示是指对文档包含的文字、数字、表格和图形图像进行特定的排版方式处理,保存后的内容是原始的编辑元素,可以在不同的缩放比率间自适应大小的显示。目前的电子阅读软件既支持文档的版式排版显示,又支持流式排版显示。流式文档如Office文档,它描述的不是排版后生成的具有版面呈现所需要的所有数据的文档(即版式文档),其相关(流式)数据通常不具有固定位置大小等版面信息,每次加载文档时需要类似流水线式的对这些数据从头到尾进行重新排版计算得到相关位置信息,然后才能呈现出来。 在文档的结构化信息中,存储有关于文档(流式、版式等类型)的逻辑结构的信息,包括文章、节、段落等逻辑结构,以及显示样式信息。结构化信息可用于实现版面内容的重排(Reflow),以适应不同屏幕尺寸的设备特别是移动设备的需求。常见粗粒度的逻辑结构单元有:区域、排版框、段落、表格等。细粒度的基本逻辑结构单元有:文本句、图形、图像、公式、图表、多媒体对象、复合对象等。这些富有语义的逻辑数字内容对象在流式文档、版式文档等中的数据逻辑结构描述通常都是有差异的。 文本句(Run or Span),是指段落内最小的逻辑文字单元,连续的文本以是否具有相同文字属性为依据来划分为若干个句。段落内被其它单元对象如图形图像等锚点对象分割开始的即便有相同文字属性也会划分有不同的句。版式文档中还允许通过嵌入字体以及字形变换方式来表达显示文本,而不仅仅通过正常字体编码对应的文本串来表达显示文本。版流式文档在表达文本句方面存在若干差异,例如版式文档中文本句首字符会给出版面上的X,y坐标,流式文档文本句则无,此外流式文档文本句不会对其进行精确定位的描述,而版式文档文本句则可能。显示文本,即文字在输出设备上的显示结果通常由字体信息、文本句以及相关绘制式样信息等决定。 字宽(Advance Width)是指版式文本的字宽,还可能通过嵌入字体的字宽表WidthTable来直接描述给出,默认通过对应字体中某字符对应的字型Glyph可以获取字宽值。 空格(space)在各种文档中普遍存在,流式文档中空格效果可以通过多种方式产生:空格键,Tab制表符,字间距charspace、kerning (pair),特殊版式精确定位描述等;版式文档中的空格效果更多地通过各字符等图元固定的X坐标位置之间的差值计算出来,或通过额外的字间距charspace来拉伸或紧缩字符之间的距离,当然也可以用真实的空格字符来表达。空格键产生的字符中包含了空格字符,因此在流式重排时容易识别,但是非真实空格字符如由Tab制表符,字间距等特殊形式形成的空白位置,由于不存在空格字符信息,因此很难识别成空格。 版式文档的结构化流式信息,尤其是其中英文文本段落在PC或各种移动设备上呈现时常常出现有碍阅读的几种现象:英文单词之间没有空格、英文单词内部有多余的空格、几乎所有英文字母之间都存在一定的间距。详见图1中原始样图与图2、图3中读取后存在空格显示错误的样图,以及图3的原始样图在图4中存在空格错误的显示样图。 上述现象产生的原因是:(I)版式文档中相关英文文本串中不存在空格字符,而是采用字符间距(charspace)或固定版式中字符的绝对坐标位置来表达版式上的逻辑空格;(2)并且版式文档的结构化流式信息中也不存在空格等价的表达方式例如用Maker标记符{Type=space, nCount=n空格数} ; (3)最终只能依靠版式文档的结构化流式信息在具体呈现(Render)时依据一定的排版规则绘制出来,但目前呈现出来的结果如图2、图3以及图5所示,还是存在相关缺陷的:这是因为现有的绘制排版算法在样式表渲染时利用了charspace信息;而利用版式字体信息渲染时忽略了 charspace,并且等分字间距。由于空格的产生原因很多,因此很难采用某一种方法将上述众多原因产生的空格进行还原。
技术实现思路
为此,本专利技术所要解决的技术问题在于将版式文档转化为流式文档后,空格出现的位置不恰当、出现多余的空格或该出现的位置未出现,从而提出一种有效还原版面中空格、提高了空格出现准确率的版面空格的还原方法和系统。 为解决上述技术问题,本专利技术的提供一种版面空格的还原方法和系统。 一种版面空格的流式还原方法,包括以下步骤: 获取版面中依次相邻的第一字符、第二字符、第三字符; 计算第一字符与第二字符之间的第一字符间距,并计算第二字符与第三字符之间的第二字符间距,再计算第一字符间距与第二字符间距的字符间距差值; 如果所述字符间距差值小于预设差值阈值,则不插入空格;否则,计算第一字符的右边值和第二字符的左边值的和作为边值和,然后计算所述第一字符间距与所述边值和的差值作为判断值,如果所述判断值大于第一字符所属类型的空格符的字宽值,则在第一字符后插入空格,否则不插入空格。 所述版面空格的流式还原方法,所述计算第一字符与第二字符之间的第二字符间距的过程,包括: 获得第一字符的坐标xl、第二字符的坐标x2,第一字符的字宽wl,则第一字符间距 dl=x2-xl-wlo 所述版面空格的流式还原方法,所述计算第二字符与第三字符之间本文档来自技高网
...
一种版面空格的流式还原方法与系统

【技术保护点】
一种版面空格的流式还原方法,其特征在于,包括以下步骤:获取版面中依次相邻的第一字符、第二字符、第三字符;计算第一字符与第二字符之间的第一字符间距,并计算第二字符与第三字符之间的第二字符间距,再计算第一字符间距与第二字符间距的字符间距差值;如果所述字符间距差值小于预设差值阈值,则不插入空格;否则,计算第一字符的右边值和第二字符的左边值的和作为边值和,然后计算所述第一字符间距与所述边值和的差值作为判断值,如果所述判断值大于第一字符所属类型的空格符的字宽值,则在第一字符后插入空格,否则不插入空格。

【技术特征摘要】

【专利技术属性】
技术研发人员:王长胜董宁
申请(专利权)人:北大方正集团有限公司北京方正阿帕比技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1