一种动态添加互斥区域的排版方法及系统技术方案

技术编号:6994429 阅读:299 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种动态添加互斥区域的方法,包括:根据用户设置的锚点属性参数值设置锚点对象的排版位置;保持锚点对象位于所设置的排版位置不动,添加锚点对象互斥区域,进行文字排版区域划分,并计算重排点;从重排点开始排版。其中,对于向下互斥,将锚点的下一个字符作为重排点;对于向上互斥,将添加互斥区域后受到影响的需要重新排版的文字流的起始位置作为重排点。相应地,本发明专利技术提供一种支持动态添加互斥区域的系统。本发明专利技术可实现互斥区域的动态添加和多种互斥方式的图文混合绕排效果,并且,对于向上互斥始终保持锚点和锚点对象位于同一个排版区域内。

【技术实现步骤摘要】

本专利技术涉及计算机排版
,尤其涉及一种动态添加互斥区域的排版方法及 系统。
技术介绍
目前,在计算机排版技术中,锚点功能被广泛使用。通过锚点功能可将文字流中的 特定文本作为锚点在其与和与该锚点相关联的对象之间建立锚定关系,从而当作为锚点的 字符流动时,与之相关联的对象也跟着流动。这个对象称为锚点对象,是附加或锚定到锚点 的对象,比如,与特定字词相关联的旁注、图注、数字或图标。当重排文字流时,锚点对象随 着包含锚点的文字流以一定的位置关系一起移动,从而实现图文跟随的效果。因此,锚点功 能丰富了排版领域中对象之间的关联性,可以准确地实现对象间的定位操作。在目前的排版技术中,通常是在排版之前先将文字排版区域划分出来,并计算好 文字排版区域的顺序,在排版过程中根据事先划分好的区域进行文字排版即可。但是,对于 具有互斥属性的锚点对象而言,由于其互斥区域在排版之前是不清楚的,在排版过程中当 排版到锚点时才能确认,因此,不能在排版前划分锚点对象文字排版区域。此外,对于向下互斥的锚点对象而言,由于排版后锚点本身在文字流的位置排在 锚点对象所在位置之前,所以很容易在保持锚点与锚点对象之间的相对位置关系不变的情 况下实现图文混合绕排的效果。但是,如果要做成向上互斥的锚点对象,由于排版后锚点本 身在文字流的位置排在锚点对象所在位置之后,所以在做图文跟随效果时,尤其是添加锚 点对象的互斥区域时,由于对排版区域的互斥,会导致文字流内的锚点位置发生动态改变, 从而导致锚点和锚点对象之间的相对位置发生变化,因此,不容易在保持锚点与锚点对象 之间的相对位置关系不变的情况下实现图文混合绕排的效果。因此,在现有的排版软件中, 一般只支持向下互斥的图文混合绕排的效果,而对于锚点对象向上互斥,一般都是将锚点 对象浮在文字上方,没有文字绕排的效果。
技术实现思路
为了解决上述图文互斥的问题,本专利技术提供一种动态添加互斥区域的排版方法及 系统,以在排版过程中动态地添加互斥区域,实现多种图文互斥的效果。为了实现以上目的,本专利技术提供的动态添加互斥区域的方法包括以下步骤根据 用户设置的锚点属性参数值设置锚点对象的排版位置;保持锚点对象位于所设置的排版位 置不动,添加锚点对象互斥区域,计算重排点;从重排点开始排版。其中,计算重排点的步骤包括以下步骤对于锚点对象的排版位置在锚点之后的 互斥方式,将锚点的下一个字符作为重排点;对于锚点对象的排版位置在锚点之前的互斥 方式,首先添加互斥区域,进行区域划分,计算将添加互斥区域后受到影响的需要重新排版 的文字流的起始位置作为重排点。然后,从该重排点进行试排,当排版到锚点时,获取此时 锚点和锚点对象的排版位置。如果不能按照所设置的位置关系排下锚点和锚点对象,则尽可能的保证锚点和锚点对象在同一个排版区域内。可通过先减小互斥区域大小,再重新计 算受到影响的需要重新排版的文字流的起始位置作为重排点的方式来使锚点和锚点对象 在同一个排版区域内排下。相应地,本专利技术提供一种支持动态添加互斥区域的系统,包括锚点参数设置界面、 排版单元、输出单元、简单互斥添加单元和复杂互斥添加单元。简单互斥添加单元是指处理 锚点对象的排版位置在锚点之后的互斥方式的单元,复杂互斥添加单元是指处理锚点对象 的排版位置在锚点之前的互斥方式的单元。本专利技术通过在排版过程中根据用户设置的锚点属性参数值设定锚点对象位置,并 根据该位置添加互斥区域、划分文字排版区域,然后计算受到影响的文字流的起始位置作 为重排点,并从该重排点开始按照区域划分重新排版,从而实现互斥区域的动态添加和多 种互斥方式的图文混合绕排效果。并且,对于添加互斥区域后会导致锚点变化的互斥方式, 始终保持锚点和锚点对象位于同一个排版区域内。附图说明图1是根据本专利技术的动态添加互斥区域的排版方法的流程图;图2是根据本专利技术方法添加向下互斥的锚点对象的效果图;图3A是待添加向上互斥的锚点对象的排版文件的示图;图;3B是图3A所示排版文件添加向上互斥的锚点对象的效果图;图4A是待添加向上互斥的锚点对象的另一排版文件的示图;图4B是图4A所示排版文件添加向上互斥的锚点对象的效果图;图5是添加向上互斥的锚点对象的另一效果图;图6是根据本专利技术的动态添加互斥区域的排版系统的框图。具体实施例方式本专利技术的主要目的是实现排版过程中互斥区域的动态添加以及多种互斥方式的 锚点对象的图文混合绕排的效果,同时使锚点和锚点对象在大多数情况下位于同一个排版 区域内。以下,将结合附图对本专利技术进行详细说明。图1是根据本专利技术的动态添加互斥区域的排版方法的流程图。参照图1,该方法包括以下步骤步骤Si、锚点对象设置步骤在该步骤中,根据用户设置的锚点属性参数值设置锚点对象的排版位置。其中, 所述锚点对象属性参数用于对锚点对象进行定位,主要包括锚点对象的锚定类型和偏移参 数、九宫位等。锚定类型定义锚点对象的参照对象,可设为页、锚点、栏、框架等。比如,当选 择锚定类型为页时,偏移参数表示锚点对象相对于锚点所在页的偏移数值,当选择锚定类 型为锚点时,偏移参数表示锚点对象相对于锚点的偏移数值。九宫位表示锚点对象参照锚 定类型所指定的参照对象的参照点,包括左上点、中上点、左右点、左中点、中间点、右中点、 左下点、中下点和右下点。由于本专利技术的目的是保持锚点对象和设定的固定参照物之间的 距离,即,针对锚点对象不会随文字流改变而发生位置变化这种情况而提出,所以优选设置 锚定类型为页,九宫位选择锚点对象的左上点。在这种情况下,当锚点在同一页内流动时,锚点对象与页的距离是固定不变的。设置好锚点属性参数值之后,根据此时锚点的位置和所设置的偏移参数就可设定 锚点对象位置。比如,在设置锚定类型为页并且九宫位设置为左上点的情况下,偏移参数即 表示锚点对象相对于页的左上点的偏移距离。比如,用户设置锚点对象的位置与页的偏移 距离参数X、Y为00,60),则锚点对象与锚点所在的页的左上点的距离为00,60)。步骤S2、重排点计算步骤在该步骤中,保持锚点对象位于所设置的排版位置不动,添加锚点对象互斥区域, 进行文字排版区域划分,计算重排点。这里,重排点是指在该点位置之后的文字流需要按照 添加互斥区域之后所划分的区域进行重新排版,而该位置之前的文字流则不需要再重新排 版。利用重排点可设定从该点所在字符位置开始排版,这样对于不需要重新排版的文字可 以不重新排版,而只对排版结果的位置发生变化的文字进行重新排版,能够提高排版效率。具体地讲,对于锚点对象的排版位置在锚点之后的互斥方式,比如,向下互斥,由 于是顺次排版,所以锚点对象的排版位置不会影响锚点前的文字排版,因此,可将重排点设 置为锚点的下一个字符。对于锚点对象的排版位置在锚点之前的互斥方式,比如,向上互斥,由于添加互斥 区域后对排版区域的互斥,将会导致文字流内的锚点的位置发生动态变化,会影响锚点之 前的文字流的排版,所以需要计算添加互斥区域后受到影响的需要重新排版的文字流的起 始位置,并将该位置作为重排点。首先,添加互斥区域,进行区域划分,计算重排点。然后, 从该重排点进行试排,当排版到锚点时,获取此时锚点和锚点对象的排版位置,判断在当前 区域内能否排下锚点和锚点对象。如果不能排下,则先减小互斥区域大小再添加减小的本文档来自技高网
...

【技术保护点】
1.一种动态添加互斥区域的方法,包括以下步骤:根据用户设置的锚点属性参数值设置锚点对象的排版位置;保持锚点对象位于所设置的排版位置不动,添加锚点对象互斥区域,进行文字排版区域划分,并计算重排点;从重排点开始排版,其中,计算重排点的步骤包括以下步骤:对于锚点对象的排版位置在锚点之后的互斥方式,将锚点的下一个字符作为重排点;对于锚点对象的排版位置在锚点之前的互斥方式,计算添加互斥区域后受到影响的需要重新排版的文字流的起始位置作为重排点,然后从该重排点进行试排,当排版到锚点时,获取此时锚点和锚点对象的排版位置,并判断能否在当前排版区域内按照所设置的位置关系排下锚点和锚点对象,如果能够排下,则确定重排点为当前计算的重排点;如果不能排下,则先减小互斥区域大小,再添加减小的互斥区域,进行区域划分,重新计算受到影响的需要重新排版的文字流的起始位置作为重排点并再次进行试排,如此反复进行重排点计算和试排,直到将锚点和锚点对象在当前排版区域内排下。

【技术特征摘要】

【专利技术属性】
技术研发人员:周萍萍闫国龙苏勇
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:11

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

1