技术领域 本发明属于印刷前计算机排版领域,具体涉及一种单调区域的文字排 版方法。 背景技术 在报刊书籍的排版中,文字排版的效果越来越丰富,文字的排版区域 也越来越复杂,排版系统对于复杂的排版区域内文字排版的处理过程是: 首先将复杂的排版区域分割为多个按序排列的单调区域,然后依次完成文 字在各个单调区域内的排版。所述的单调区域是一个闭合的区域,该区域 的特征是任何一条水平直线穿过该区域时,与其边界的有效交点不多于两 个,对于该区域边界上有水平线段与水平直线重合的情况,只计算水平直 线进入该区域的入点和穿出该区域的出点为有效交点;对于竖排文字的情 况,如果对于闭合的排版区域在任何一条垂直直线穿过时,有效交点也符 合上述特征,那么该区域也称为单调区域。 在现有的技术中,文字排版的单调区域在开始文字排版之前即分割完 成,在文字排版过程中不重新计算单调区域。当文字W在单调区域内进行 排版时,判断该单调区域能否排版当前文字W的方法是:判断文字W排 版后所在行的外接矩形是否超出了单调区域的范围,所述的行的外接矩形 是两条边与排版方向平行,另外两条边与排版方向垂直,同时能够将该行 内的所有文字都包含在内的面积最小的矩形。如果文字W排版后所在行的 外接矩形超出了单调区域,则确定文字W不能在该单调区域内进行排版, 如果文字W排版后所在行的外接矩形没有超出单调区域,则能直接确定文 字W在单调区域内进行排版。显然该方法的应用是有局限性的,如果单调 区域是规则的矩形时,这种方法处理很准确,能将文字W排入合适的位置, 也能充分利用排版区域;但是当单调区域不是规则的矩形的时候,这种处 理方法往往不能准确的计算出单调区域能否排版文字W,从而导致排版区 域不能被充分利用,影响了排版效果,浪费了排版的版面。 发明内容 针对现有技术中存在的缺陷,本发明的目的是提供一种单调区域的文 字排版方法,该方法在进行文字排版的过程中能够适时对原始的单调区域 进行分割,计算出新的单调区域,并在新的单调区域内进行文字排版,能 够充分利用排版区域,能够提高文字排版的精确度和美观性。 为达到以上目的,本发明采用的技术方案是:一种单调区域的文字排 版方法,包括以下步骤: (1)在排版过程中,将排版区域分割为按序排列的单调区域,将拟排 版的文字W所在的行设为当前行,并设置当前行所在的单调区域R为初 始单调区域; (2)在步骤(1)中所述的初始单调区域内试排当前文字W,判断文 字W所在的行即当前行的外接矩形B是否超出了初始单调区域,如果没 有超出,则排版文字W,取得下一个文字作为当前文字继续排版,如果超 出则执行步骤(3); (3)如果文字W的高度等于所在行的行高,则进行折行处理并执行 步骤(2),如果文字W的高度小于所在行的行高,则执行步骤(4); (4)取得文字W排版前的行外接矩形C,通过行外接矩形C的上下 边界并沿排版方向作平行线与初始单调区域R的边界相交,由此形成的闭 合区域作为动态单调区域r,在动态单调区域r内排版文字W,如果排版 成功,则执行步骤(5),否则执行步骤(6); (5)取得下一个文字作为当前文字,以动态单调区域r作为初始单调 区域,执行步骤(2); (6)返回初始单调区域R,进行折行处理,然后按照步骤(2)对当 前文字W进行排版,排版完所有的文字后,处理结束。 进一步,在步骤(4)中,在动态单调区域内排版文字W的具体步骤 是: 1)根据文字W所在的当前行的基线对齐参数,计算出当前行的基线 位置,作为文字W在动态单调区域r内的基线位置; 2)按照基线对齐位置对文字W进行试排,判断动态单调区域r内的 已排版文字的行外接矩形是否超出动态单调区域r的范围,如果没有超出 则排版文字W,否则排版失败。 更进一步,基线对齐参数取值范围从0到256,其中0表示文字顶齐, 256表示文字底齐,128表示文字中齐。 本发明的效果在于:采用本发明所述的方法,可以在文字排版过程中 适时计算出新的单调区域,并能在新的单调区域内按照原单调区域内的文 字对齐方式对文字进行排版,从而可以充分利用排版区域,提高了文字排 版的精确度,具有良好的排版效果。 附图说明 图1是本发明所述方法的流程图; 图2是实施例中所述的文字在矩形排版区域内的排版效果图; 图3是本实例中拟进行文字排版的单调区域示意图; 图4是采用现有技术在图3所示的单调区域内进行排版文字的效果图; 图5是采用本发明所述的方法试排当前文字时计算出来的行外接矩形 的示意图; 图6是本实施例中计算出来的动态单调区域的示意图; 图7是采用本发明所述的方法在基线对齐为底齐时排版文字的示意图; 图8是图7的基础上采用本发明所述的方法实现最终排版后的效果示 意图; 图9a,9b,9c是采用基线对齐为上齐情况下的排版结果对比示意图; 图10a,10b,10c是采用基线对齐为中齐情况下的排版结果对比示意 图。 具体实施方式 下面结合实施例和附图,对本发明作进一步的阐述: 在本实施例中,拟在一行内排版文字“一步两个台阶”,为了达到形 象的效果,对排版内容以两个字为一组,依次设置由大到小不同的字号, 基线对齐采用底齐的方式,那么在一个规则的矩形排版区域内的排版效果 如图2所示,但是在实际排版过程中,为了充分利用排版空间并使排版元 素之间不产生叠加关系,本实施例的文字排版的单调区域调整为如图3所 示,如采用现有技术所述的方法,将本实施例中的文字“一步两个台阶” 排入到如图3所示的单调区域内时,其排版结果如图4所示,文字“两个 台阶”部分会被判断为排不下,排版的区域还有很多空闲;如采用本发明 所述的方法,其排版效果将会大有不同,排版区域会得到充分利用,具体 如下: 如图1所示,一种单调区域的文字排版方法,包括以下步骤: (1)在排版过程中,将排版区域分割为按序排列的单调区域,将拟排 版的文字W所在的行设为当前行,并设置当前行所在的单调区域R为初 始单调区域; 本实施例中,如图3所示,拟排版的文字“一步两个台阶”所在的单 调区域R是由交点1、2、3、4、5、6、7和交点8所组成的闭合区域,该 单调区域即为初始的单调区域; (2)在步骤(1)中所述的初始单调区域内试排当前文字W,判断文 字W所在的行即当前行的外接矩形B是否超出了初始单调区域,如果没 有超出,则排版文字W,取得下一个文字作为当前文字继续排版,如果超 出则执行步骤(3); 本实施例中,在初始单调区域内,根据行外接矩形是否超出初始单调 区域范围的判断方法确定能够排版下 “一步”两个字,其下一个字“两” 作为当前文字进行试排时,判断为当前行的外接矩形如图5中的虚线框所 示,超出了初始单调区域的范围,因此继续执行步骤(3); (3)如果文字W的高度等于所在行的行高,则进行折行处理并重复 执行步骤(2),如果文字W的高度小于所在行的行高,则执行步骤(4); 本实施例中,由于当前文字“两”的字高小于所在行的行高,因此执 行步骤(4); (4)取得文字W排版前的行外接矩形C,通过行外接矩形C的上下 边界并沿排版方向作平行线与初始单调区域R的边界相交,由此形成的闭 合区域作为动态单调区域r,在动态单调区域r内排版文字W,如果排版 成功,则执行步骤(5),否则执行步骤(6); 在本实施例中,当前文字“两”之前的文字“一步”已经排版到了初 始单调区域中,由文字“一步”所形成的行外接矩形为交点9、10、11、 12所形成的矩形C,通过外接矩形C的上下边界即边线9-10和边线12-11 沿排版方向所作的平行线即直线9-15和直线12-16与步骤(1)中所述的 初始单调区域的边界相交,由此形成的闭合区域为动态单调区域如图6所 示,即由交点10、13、3、4、5、6、14、11所围成的闭合区域即为动态单 调区域r; 其中在动态单调区域内排版文字W的具体步骤是: 1)根据文字W所在的当前行的基线对齐参数,计算出当前行的基线 位置,作为文字W在动态单调区域r内的基线位置,基线对齐参数取值范 围从0到256,其中0表示文字顶齐,256表示文字底齐,128表示文字中 齐; 本实施例中,根据当前文字“两”所在的当前行的基线对齐参数,本 实施例中采用底齐的方式,确定当前行的基线位置,并作为当前文字“两” 在动态单调区域r内排版时的基线位置; 2)按照基线对齐位置对文字W进行试排,判断动态单调区域r内的 已排版文字行的外接矩形是否超出动态单调区域r的范围,如果没有超出 则排版文字W,否则排版失败; 本实施例中,在由交点10、13、3、4、5、6、14、11所围成的动态单 调区域r中,通过采用本步骤中比较行外接矩形是否超出动态单调区域r 的方法,判断出当前文字“两”可以排下,因此对当前文字“两”进行排 版,排版结果如图7所示; (5)取得下一个文字作为当前文字,以动态单调区域r作为初始单调 区域,执行步骤(2); 本实施例中,对于仍然未排版的文字“个台阶”依次按照本步骤(5) 所述的方法进行排版,最终得到的排版结果如图8所示; (6)由于本实施例中,经过步骤(5)已完成所有文字的排版,不必 再进行步骤(6)的操作,因此排版完所有的文字后,处理结束。 上述实施例是采用如图3所示的单调区域并且在基线对齐为底齐的情 况下得到的,如果步骤(1)中的单调区域采用图9(b)或者图10(b)所 示的排版区域,并且在步骤(4)中采用基线上齐或者中齐的对齐方式时, 其排版效果的对比如图9、图10所示,其中图9(a)、图10(a)为排版 区域为规则的矩形的情况下的效果示意图;图9(b)、图10(b)为排版 区域的单调区域发生改变之后,采用现有方法后得到的排版效果示意图, 因为将文字“两个台阶”判断为排不下,所以,只排版出了“一步”两个 字;图9(c)、图10(c)是采用了本发明所述的方法之后,在与图9(b)、 图10(b)同样的单调区域内排版同样文字后得到的不同效果示意图,结 果是所有的文字都被排版了,充分利用了排版的版面空间。 本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术 人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创 新范围。