CN100424683C - 一种单调区域的文字排版方法 - Google Patents
一种单调区域的文字排版方法 Download PDFInfo
- Publication number
- CN100424683C CN100424683C CNB2006101147403A CN200610114740A CN100424683C CN 100424683 C CN100424683 C CN 100424683C CN B2006101147403 A CNB2006101147403 A CN B2006101147403A CN 200610114740 A CN200610114740 A CN 200610114740A CN 100424683 C CN100424683 C CN 100424683C
- Authority
- CN
- China
- Prior art keywords
- literal
- current
- monotone area
- area
- monotone
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种单调区域的文字排版方法,属于印刷前计算机排版领域。现有技术中,判断单调区域内能否排版当前文字W的方法是判断文字W排版后所在行的外接矩形是否超出了单调区域的范围,当单调区域不是规则的矩形的时候,这种处理方法往往不能准确的计算出单调区域能否排版文字W,从而导致排版区域不能被充分利用,影响了排版效果。本发明所述的方法是:当以行外接矩形的方法判断不能排版文字W后,对原始的单调区域进行分割,计算新的单调区域,并在新的单调区域内进行文字排版。采用本发明所述的方法,可以明显提高文字排版的精确度,充分利用排版区域,具有良好的排版效果。
Description
技术领域
本发明属于印刷前计算机排版领域,具体涉及一种单调区域的文字排版方法。
背景技术
在报刊书籍的排版中,文字排版的效果越来越丰富,文字的排版区域也越来越复杂,排版系统对于复杂的排版区域内文字排版的处理过程是:首先将复杂的排版区域分割为多个按序排列的单调区域,然后依次完成文字在各个单调区域内的排版。所述的单调区域是一个闭合的区域,该区域的特征是任何一条水平直线穿过该区域时,与其边界的有效交点不多于两个,对于该区域边界上有水平线段与水平直线重合的情况,只计算水平直线进入该区域的入点和穿出该区域的出点为有效交点;对于竖排文字的情况,如果对于闭合的排版区域在任何一条垂直直线穿过时,有效交点也符合上述特征,那么该区域也称为单调区域。
在现有的技术中,文字排版的单调区域在开始文字排版之前即分割完成,在文字排版过程中不重新计算单调区域。当文字W在单调区域内进行排版时,判断该单调区域能否排版当前文字W的方法是:判断文字W排版后所在行的外接矩形是否超出了单调区域的范围,所述的行的外接矩形是两条边与排版方向平行,另外两条边与排版方向垂直,同时能够将该行内的所有文字都包含在内的面积最小的矩形。如果文字W排版后所在行的外接矩形超出了单调区域,则确定文字W不能在该单调区域内进行排版,如果文字W排版后所在行的外接矩形没有超出单调区域,则能直接确定文字W在单调区域内进行排版。显然该方法的应用是有局限性的,如果单调区域是规则的矩形时,这种方法处理很准确,能将文字W排入合适的位置,也能充分利用排版区域;但是当单调区域不是规则的矩形的时候,这种处理方法往往不能准确的计算出单调区域能否排版文字W,从而导致排版区域不能被充分利用,影响了排版效果,浪费了排版的版面。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种单调区域的文字排版方法,该方法在进行文字排版的过程中能够适时对原始的单调区域进行分割,计算出新的单调区域,并在新的单调区域内进行文字排版,能够充分利用排版区域,能够提高文字排版的精确度和美观性。
为达到以上目的,本发明采用的技术方案是:一种单调区域的文字排版方法,包括以下步骤:
(1)在排版过程中,将排版区域分割为按序排列的单调区域,将拟排版的当前文字所在的行设为当前行,并设置当前行所在的单调区域R为初始单调区域;
(2)在步骤(1)中所述的初始单调区域内试排当前文字,判断当前文字试排后的行外接矩形B是否超出了初始单调区域,如果没有超出,则排版当前文字,取得当前文字的下一个文字作为当前文字继续排版,如果超出则执行步骤(3);
(3)如果当前文字的高度等于所在行的行高,则进行折行处理并执行步骤(2),如果当前文字的高度小于所在行的行高,则执行步骤(4);
(4)取得当前文字排版前的行外接矩形C,通过行外接矩形C的上下边界并沿排版方向作平行线与初始单调区域R的边界相交,由此形成的闭合区域作为动态单调区域r,在动态单调区域r内排版当前文字,如果排版成功,则执行步骤(5),否则执行步骤(6);
(5)取得当前文字的下一个文字作为当前文字,以动态单调区域r作为初始单调区域,执行步骤(2);
(6)返回初始单调区域R,进行折行处理,然后按照步骤(2)对当前文字进行排版,排版完所有的文字后,处理结束。
进一步,在步骤(4)中,在动态单调区域内排版当前文字的具体步骤是:
1)根据当前文字所在的当前行的基线对齐参数,计算出当前行的基线位置,作为当前文字在动态单调区域r内的基线位置;
2)按照基线对齐位置对当前文字进行试排,判断动态单调区域r内的已排版文字的行外接矩形是否超出动态单调区域r的范围,如果没有超出则排版当前文字,否则排版失败。
更进一步,基线对齐参数取值范围从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)同样的单调区域内排版同样文字后得到的不同效果示意图,结果是所有的文字都被排版了,充分利用了排版的版面空间。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
Claims (3)
1. 一种单调区域的文字排版方法,包括以下步骤:
(1)在排版过程中,将排版区域分割为按序排列的单调区域,将拟排版的当前文字所在的行设为当前行,并设置当前行所在的单调区域R为初始单调区域;
(2)在步骤(1)中所述的初始单调区域内试排当前文字,判断当前文字试排后的行外接矩形B是否超出了初始单调区域,如果没有超出,则排版当前文字,取得当前文字的下一个文字作为当前文字继续排版,如果超出则执行步骤(3);
(3)如果当前文字的高度等于所在行的行高,则进行折行处理并执行步骤(2),如果当前文字的高度小于所在行的行高,则执行步骤(4);
(4)取得当前文字排版前的行外接矩形C,通过行外接矩形C的上下边界并沿排版方向作平行线与初始单调区域R的边界相交,由此形成的闭合区域作为动态单调区域r,在动态单调区域r内排版当前文字,如果排版成功,则执行步骤(5),否则执行步骤(6);
(5)取得当前文字的下一个文字作为当前文字,以动态单调区域r作为初始单调区域,执行步骤(2);
(6)返回初始单调区域R,进行折行处理,然后按照步骤(2)对当前文字进行排版,排版完所有的文字后,处理结束。
2. 如权利要求1所述的一种单调区域的文字排版方法,其特征是:步骤(4)中,在动态单调区域内排版当前文字的具体步骤是:
1)根据当前文字所在的当前行的基线对齐参数,计算出当前行的基线位置,作为当前文字在动态单调区域r内的基线位置;
2)按照基线对齐位置对当前文字进行试排,判断动态单调区域r内的已排版文字的行外接矩形是否超出动态单调区域r的范围,如果没有超出则排版当前文字,否则排版失败。
3. 如权利要求2所述的一种单调区域的文字排版方法,其特征是:基线对齐参数取值范围从0到256,其中0表示文字顶齐,256表示文字底齐,128表示文字中齐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101147403A CN100424683C (zh) | 2006-11-22 | 2006-11-22 | 一种单调区域的文字排版方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101147403A CN100424683C (zh) | 2006-11-22 | 2006-11-22 | 一种单调区域的文字排版方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1952923A CN1952923A (zh) | 2007-04-25 |
CN100424683C true CN100424683C (zh) | 2008-10-08 |
Family
ID=38059269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101147403A Expired - Fee Related CN100424683C (zh) | 2006-11-22 | 2006-11-22 | 一种单调区域的文字排版方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100424683C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149838B (zh) * | 2007-11-09 | 2010-06-02 | 北大方正集团有限公司 | 一种排版中图像边框的生成方法及装置 |
CN101673406B (zh) * | 2008-09-08 | 2012-01-25 | 北大方正集团有限公司 | 字体设置方法和装置 |
CN104516866B (zh) * | 2013-09-26 | 2017-10-20 | 北大方正集团有限公司 | 文字沿线排版的方法 |
CN106095744B (zh) * | 2016-05-27 | 2019-01-08 | 努比亚技术有限公司 | 不规则控件图标处理装置及方法 |
CN107464011A (zh) * | 2017-07-04 | 2017-12-12 | 林聪发 | 一种石板排版方法、装置、终端设备及可读存储介质 |
CN111079396B (zh) * | 2019-12-20 | 2023-06-16 | 方正国际软件(北京)有限公司 | 不规则单元格中文字排版方法及排版装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161306A (ja) * | 1994-12-05 | 1996-06-21 | Sharp Corp | 表編集装置 |
EP0752670B1 (en) * | 1995-07-05 | 2001-10-24 | Sun Microsystems, Inc. | Method and apparatus for front end navigator and network architecture for performing functions on distributed files in a computer network |
CN1503160A (zh) * | 2002-11-20 | 2004-06-09 | 英业达股份有限公司 | 计算机可执行的电子书阅读界面的自动排版方法 |
CN1828580A (zh) * | 2006-04-14 | 2006-09-06 | 北京北大方正电子有限公司 | 一种矩阵文字框适应文字内容的排版方法 |
-
2006
- 2006-11-22 CN CNB2006101147403A patent/CN100424683C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161306A (ja) * | 1994-12-05 | 1996-06-21 | Sharp Corp | 表編集装置 |
EP0752670B1 (en) * | 1995-07-05 | 2001-10-24 | Sun Microsystems, Inc. | Method and apparatus for front end navigator and network architecture for performing functions on distributed files in a computer network |
CN1503160A (zh) * | 2002-11-20 | 2004-06-09 | 英业达股份有限公司 | 计算机可执行的电子书阅读界面的自动排版方法 |
CN1828580A (zh) * | 2006-04-14 | 2006-09-06 | 北京北大方正电子有限公司 | 一种矩阵文字框适应文字内容的排版方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1952923A (zh) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100424683C (zh) | 一种单调区域的文字排版方法 | |
CN103136184B (zh) | 一种自动排版的方法及其装置 | |
CN101206639B (zh) | 一种基于pdf的复杂版面的标引方法 | |
CN1828580B (zh) | 一种矩阵文字框适应文字内容的排版方法 | |
CN101876967A (zh) | 一种pdf文本段落生成的方法 | |
CN101770446B (zh) | 一种版式文件中表格识别方法及系统 | |
DE102019004670A1 (de) | Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken | |
CN1278260C (zh) | 一种排版方法 | |
CN104021112A (zh) | 一种基于自动排版的一键成书系统 | |
CN101013417B (zh) | 一种改变排版数据换行属性的划版辅助装置及方法 | |
CN101393647A (zh) | 一种基于友好用户交互的文档排版方法 | |
CN110009713A (zh) | 一种利用AutoCAD快速1:1绘制桥式起重机主梁二维工程图的方法 | |
CN114781314A (zh) | 一种快速绘制版图的方法及系统 | |
CN1920811B (zh) | 一种文字排版的方法 | |
CN110309553B (zh) | 一种基于标准化桥梁通用图库的图纸快速绘制系统及方法 | |
CN104516859B (zh) | 一种文字修正方法及系统 | |
CN101286146B (zh) | 一种排版方法和系统 | |
CN101183358A (zh) | 一种排版方法及装置 | |
CN103714047A (zh) | 横向校对和输出双层pdf的方法和装置 | |
CN110413962A (zh) | 文档图像中的无边框表格解析技术 | |
CN101770452B (zh) | 一种内容块自动排版的方法 | |
CN100517299C (zh) | 一种实现文字行内多种对齐的排版方法 | |
CN111353193A (zh) | 一种双块式无砟轨道简支梁桥面预埋件自动成图方法 | |
US8582165B2 (en) | Document processing apparatus | |
CN109948605A (zh) | 一种针对小目标的图片增强方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081008 Termination date: 20191122 |
|
CF01 | Termination of patent right due to non-payment of annual fee |