首页 / 专利库 / 物理 / 正电子 / 一种文字排版的方法

一种文字排版的方法

阅读:1017发布:2021-01-27

专利汇可以提供一种文字排版的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种文字排版的方法,属于印刷前计算机排版领域。 现有技术 中,文字的排版方法是:对待排版的文字内容进行顺序排版,即在确定了上一个字的排版 位置 之后,再开始下一个字的排版,没有充分利用计算机的并发处理能 力 ,限制了排版效率的提高。本发明所述的方法是:以待排版的文字内容内的换段符、换行符作为分隔符,将其拆分成多个部分,同时对拆分后的各部分文字分别在宽度、高度不受限的区域内进行排版,取得多个单行排版结果,然后再依据 指定 的排版区域,依次对各个单行排版结果进行折行处理,最后完成排版。采用本发明所述的方法,可以充分利用计算机的并发处理能力,提高文字的排版效率,从而提高整个版面的制作效率。,下面是一种文字排版的方法专利的具体信息内容。

1.一种文字排版的方法,包括以下步骤:
(1)在排版软件中确定排版区域,所述的排版区域为矩形区域,对于不规则的排版区域,排版前将其分割为矩形区域;
(2)取得待排版的文字内容,以换段符、换行符为分界符,对待排版的文字内容进行拆分,所述的换段符、换行符作为文字内容进行拆分的分界符,称为硬回车符,在排版软件的任一排版区域中,所述的换段符、换行符均作为换段和换行的标志;
(3)对步骤(2)中拆分后的各部分文字内容同时分别在宽度、高度不受限制的排版区域内进行排版,并以行首作为排版的起始位置,从而得到多个单行排版结果,这些单行排版结果称为逻辑行,得到逻辑行的同时得到各逻辑行的行信息;
(4)根据步骤(1)中确定的排版区域,按照排版的顺序依次计算各个逻辑行内的折行位置,对逻辑行进行折行,逻辑行折行后所得到的新行是文字排版的最终行结果,称为物理行;
(5)设置各个物理行在排版区域内的位置,完成排版。
2.如权利要求1所述的一种文字排版的方法,其特征是:步骤(3)中,所述的逻辑行的行信息包括:逻辑行内各个文字排版后的位置,逻辑行的行距、行高;如果逻辑行首是以换段符分隔的,还需要记录段格式信息,包括段间距、段首缩进参数;其中,所述的逻辑行内各个文字排版后的位置是相对位置。
3.如权利要求1所述的一种文字排版的方法,其特征是:步骤(3)中,生成逻辑行时,如果一个逻辑行与前一个逻辑行之间是以换段符分隔或者该逻辑行是第一个逻辑行,那么该逻辑行首需要按照段首缩进的参数值进行偏移。
4.如权利要求1所述的一种文字排版的方法,其特征是:步骤(4)中,如果文字排版的排版方向为横向时,确定逻辑行的折行位置,对逻辑行进行折行时,采用的具体方法如下:
(a)取得要排版的第一个矩形区域作为当前排版区域;
(b)取得第一个逻辑行,作为当前逻辑行;
(c)比较当前逻辑行的行高与当前排版区域的可排版高度,如果当前逻辑行的行高小于或等于当前排版区域的可排版高度,则按照步骤(d)所述的方法对逻辑行进行折行;如果当前逻辑行的行高大于当前排版区域的可排版高度,则按照步骤(e)所述的方法对逻辑行进行折行;
(d)按照当前排版区域的宽度计算并确定当前逻辑行的第一个折行位置,然后据此对逻辑行进行折行,折行位置前面的行为物理行,把该物理行作为当前物理行,重新计算当前逻辑行剩余部分的行高,执行步骤(g);
(e)从当前逻辑行的第一个字起向后遍历,计算遍历内容的行高,直到遍历到当前逻辑行的行高大于当前排版区域的可排版高度为止,如果截止位置在当前逻辑行首,则直接进入步骤(f);如果截止位置不在当前逻辑行首,则首先按照当前排版区域的宽度计算出当前逻辑行的拟折行位置,如果拟折行位置处与逻辑行首的距离为a,截止位置与逻辑行首的距离为b,将a与b进行比较,取二者之中的最小值作为折行位置对逻辑行进行折行,将折行位置前面的行作为当前物理行,并重新计算当前逻辑行剩余部分的行高,然后进入步骤(g);
(f)如果当前排版区域已经是最后一个矩形区域,则处理结束;否则取得下一个未排版的矩形区域作为当前排版区域,重复执行步骤(c);
(g)设置当前物理行在当前排版区域的位置,重新计算当前排版区域的可排版高度;
(h)如果当前逻辑行折行没有结束,则重复执行步骤(c);如果当前逻辑行折行结束,则取下一个逻辑行作为当前逻辑行,重复执行步骤(c),直到处理完最后一个逻辑行。
5.如权利要求4所述的一种文字排版的方法,其特征是:步骤(g)中设置当前物理行相对于当前排版区域的位置,重新计算当前排版区域的可排版高度时,采用的方法是:
1)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换段符拆分的,那么
新的可排版高度=原来的可排版高度-当前逻辑行的段间距-当前物理行的行高
2)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换行符拆分的,那么
新的可排版高度等=原来的可排版高度-当前物理行的行间距-当前物理行的行高
3)如果当前逻辑行是第一个逻辑行,它前面没有硬回车符作为分隔符,那么,
新的可排版高度=原来的可排版高度-当前物理行的行高。
6.如权利要求4所述的一种文字排版的方法,其特征是:步骤(4)中,如果文字排版的排版方向为竖排时,取可排版区域的横向为高度,取可排版区域的纵向为宽度,确定逻辑行的折行位置,对逻辑行进行折行。

说明书全文

技术领域

发明属于印刷前计算机排版领域,具体涉及一种文字排版的方法

背景技术

目前,各种书籍、报刊等出版物在正式印刷出版前,都需要将待出版的文字内容通过排版软件进行排版,将文字内容排版成用户指定的格式,然后将排版后的文字内容通过印刷形成正式出版物。文字的排版过程就是利用排版软件将文字内容按顺序排列到一个或者多个指定的排版区域之中,并对文字设置对应的样式属性的过程。
现有技术中,文字的排版方法是:取得待排版的文字(标记为W),依据上一个字的排版位置,确定文字W是否能够在当前行排下,如果能够排下,则在当前行排版文字W,如果排不下,则换行,从下一行的起始位置排版文字W。因此一篇文章的排版是顺次执行的,即在确定了上一个字的排版位置之后,再开始下一个字的排版,这种排版方法没有充分发挥计算机的多核处理器以及多线程机制的并发处理能,限制了排版效率的提高。

发明内容

针对现有技术中存在的缺陷,本发明的目的是提供一种文字排版的方法,该方法能够充分利用计算机的并行处理能力,能够同时对拆分后的各部分文字分别在宽度、高度不受限的区域进行排版,取得多个单行排版结果,然后依据指定的排版区域,依次对各个单行进行折行处理,最后完成排版,能够充分利用计算机资源,大大提高排版效率。
为达到以上目的,本发明采用的技术方案是:一种文字排版的方法,包括以下步骤:
(1)在排版软件中确定排版区域,所述的排版区域为矩形区域,对于不规则的排版区域,排版前将其分割为矩形区域;
(2)取得待排版的文字内容,以换段符、换行符为分界符,对待排版的文字内容进行拆分,所述的换段符、换行符作为文字内容进行拆分的分界符,称为硬回车符,在排版软件的任一排版区域中,所述的换段符、换行符均作为换段和换行的标志;
(3)对步骤(2)中拆分后的各部分文字内容同时分别在宽度、高度不受限制的排版区域内进行排版,并以行首作为排版的起始位置,从而得到多个单行排版结果,这些单行排版结果称为逻辑行,得到逻辑行的同时得到各逻辑行的行信息;
(4)根据步骤(1)中确定的排版区域,按照排版的顺序依次计算各个逻辑行内的折行位置,对逻辑行进行折行,逻辑行折行后所得到的新行是文字排版的最终行结果,称为物理行;
(5)设置各个物理行在排版区域内的位置,完成排版。
进一步,为使本发明获得更好的发明效果,步骤(3)中,所述的逻辑行的行信息包括:逻辑行内各个文字排版后的位置,逻辑行的行距、行高;如果逻辑行首是以换段符分隔的,还需要记录段格式信息,包括段间距、段首缩进参数;其中,所述的逻辑行内各个文字排版后的位置是相对位置,即文字排版后的位置表示为该文字相对于行首的位置。
进一步,为使本发明获得更好的发明效果,步骤(3)中,生成逻辑行时,如果一个逻辑行与前一个逻辑行之间是以换段符分隔或者该逻辑行是第一个逻辑行,那么该逻辑行首需要按照段首缩进的参数值进行偏移。
进一步,步骤(4)中,如果文字排版的排版方向为横向时,确定逻辑行的折行位置,对逻辑行进行折行时,采用的具体方法如下:
(a)取得要排版的第一个矩形区域作为当前排版区域;
(b)取得第一个逻辑行,作为当前逻辑行;
(c)比较当前逻辑行的行高与当前排版区域的可排版高度,如果当前逻辑行的行高小于或等于当前排版区域的可排版高度,则按照步骤(d)所述的方法对逻辑行进行折行;如果当前逻辑行的行高大于当前排版区域的可排版高度,则按照步骤(e)所述的方法对逻辑行进行折行;
(d)按照当前排版区域的宽度计算并确定当前逻辑行的第一个折行位置,然后据此对逻辑行进行折行,折行位置前面的行为物理行,把该物理行作为当前物理行,重新计算当前逻辑行剩余部分的行高,执行步骤(g);
(e)从当前逻辑行的第一个字起向后遍历,计算遍历内容的行高,直到遍历到当前逻辑行的行高大于当前排版区域的可排版高度为止,如果截止位置在当前逻辑行首,则直接进入步骤(f);如果截止位置不在当前逻辑行首,则首先按照当前排版区域的宽度计算出当前逻辑行的拟折行位置,如果拟折行位置处与逻辑行首的距离为a,截止位置与逻辑行首的距离为b,将a与b进行比较,取二者之中的最小值作为折行位置对逻辑行进行折行,将折行位置前面的行作为当前物理行,并重新计算当前逻辑行剩余部分的行高,然后进入步骤(g);
(f)如果当前排版区域已经是最后一个矩形区域,则处理结束;否则取得下一个未排版的矩形区域作为当前排版区域,重复执行步骤(c);
(g)设置当前物理行在当前排版区域的位置,重新计算当前排版区域的可排版高度;
(h)如果当前逻辑行折行没有结束,则重复执行步骤(c);如果当前逻辑行折行结束,则取下一个逻辑行作为当前逻辑行,重复执行步骤(c),直到处理完最后一个逻辑行。
再进一步,步骤(g)中设置当前物理行相对于当前排版区域的位置,重新计算当前排版区域的可排版高度时,采用的方法是:
1)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换段符拆分的,那么,
新的可排版高度=原来的可排版高度-当前逻辑行的段间距-当前物理行的行高
2)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换行符拆分的,那么,
新的可排版高度等=原来的可排版高度-当前物理行的行间距-当前物理行的行高
3)如果当前逻辑行是第一个逻辑行,它前面没有硬回车符作为分隔符,那么,
新的可排版高度=原来的可排版高度-当前物理行的行高。
同理,步骤(4)中,如果文字排版的排版方向为竖排时,取可排版区域的横向为高度,取可排版区域的纵向为宽度,确定逻辑行的折行位置,对逻辑行进行折行时,采用的具体方法与上述方法类似。
本发明的效果在于:采用本发明所述的方法,能够充分利用计算机的并发处理能力,能够同时对拆分后的各部分文字分别在宽度、高度不受限的区域进行排版,取得多个单行排版结果,然后再依据指定的排版区域,依次对各个单行进行折行处理,最后完成排版,排版速度快,大大提高了文字的排版效率,从而提高了整个版面的制作效率。
本发明之所以具有良好的发明效果,其原因在于:以硬回车符为界对文字内容进行折分,拆分后的各部分文字内容的排版采用多线程处理机制,即利用计算机并行处理多条数据的能力,假设文字内容依据硬回车符拆分成了n部分,依据计算机的性能,预定义并发处理的能力是p即能够同时处理p部分文字内容的同时排版,如果n能够被p整除,那么并发执行的次数是n/p次,否则,并发执行的次数是n/p+1次,而现有的技术没用利用此种计算机的性能,只能是顺序排版文字内容,效率较低。
附图说明
图1是本发明所述方法的流程图
图2是待排版的文字内容的示意图;
图3是待排版的文字内容以硬回车符为界拆分成多个部分的示意图;
图4是拆分后各部分文字内容在不受限的区域内排版后的示意图;
图5是对逻辑行进行折行的示意图;
图6是文字排版的最终效果示意图。

具体实施方式

下面结合实施例和附图,对本发明作进一步的阐述:
如图1所示,一种文字排版的方法,包括以下步骤:
(1)在排版软件中确定排版区域,排版区域由矩形区域组成,对于不规则的排版区域,排版前将其分割为矩形区域;
本实施例中,确定的排版区域有两个排版区域如图6所示的M0和M1;
(2)取得待排版的文字内容,以换段符、换行符为分界符,对待排版的文字内容进行拆分,所述的换段符、换行符作为文字内容进行拆分的分界符,称为硬回车符,即在排版软件的任一排版区域中,所述的换段符、换行符均作为换段和换行的标志;
本实施例中,待排版的文字内容如图2所示,文字排版的排版方向为横向,其中,文字内容后面的斜箭头表示换段符,竖箭头表示换行符,以换段符、换行符为分界符,对图2中所示的文字内容进行拆分后得到6个部分,如图3所示;
(3)对步骤(2)中拆分后的各部分文字内容同时分别在宽度、高度不受限制的排版区域内进行排版,并以行首作为排版的起始位置,从而分别得到多个单行排版结果,这些单行排版结果称为逻辑行,得到逻辑行的同时得到各逻辑行的行信息;
因为拆分后的各部分文字内容在宽度和高度不受限的区域内排版,也就是排版区域的宽度和高度都认为是无限大的,因此,不存在一行排不下的情况,而拆分后的每部分文字内容都不包含有硬回车符,所以每部分文字内容排版的结果都为一个逻辑行,排版过程中不需要考虑如何折行;
本实施例中,记录的逻辑行的行信息包括:逻辑行内各个文字排版后的位置,此位置是相对位置,即文字排版后的位置表示为该文字相对于行首的位置,逻辑行的行距、行高,如果逻辑行首是以换段符分隔的,还需要记录段格式信息,包括段间距、段首缩进等参数;
本实施例中,在生成逻辑行时,如果一个逻辑行与前一个逻辑行之间是以换段符分隔或者该逻辑行是第一个逻辑行,那么逻辑行首需要按着段首缩进的参数值进行偏移;
如图3所示的6部分内容在不受限的区域内排版后的结果如图4所示,即排版后得到了6个逻辑行L1,L2,L3,L4,L5,L6;
(4)根据步骤(1)中确定的排版区域,按照排版的顺序依次计算各个逻辑行内的折行位置,对逻辑行进行折行,逻辑行折行后所得到的新行是文字排版的最终行结果,称为物理行;
本实施例中,文字排版的排版方向为横向,确定逻辑行的折行位置,对逻辑行进行折行时,采用的具体方法如下:
(a)取得要排版的第一个矩形区域作为当前排版区域;
(b)取得第一个逻辑行,作为当前逻辑行;
(c)比较当前逻辑行的行高与当前排版区域的可排版高度,如果当前逻辑行的行高小于或等于当前排版区域的可排版高度,则按照步骤(d)所述的方法对逻辑行进行折行;如果当前逻辑行的行高大于当前排版区域的可排版高度,则按照步骤(e)所述的方法对逻辑行进行折行;
(d)按照当前排版区域的宽度计算并确定当前逻辑行的第一个折行位置,然后据此对逻辑行进行折行,折行位置前面的行即为物理行,把该物理行作为当前物理行,重新计算当前逻辑行剩余部分的行高,执行步骤(g);
(e)从当前逻辑行的第一个字起向后遍历,计算遍历内容的行高,直到遍历到当前逻辑行的行高大于当前排版区域的可排版高度为止,如果截止位置在当前逻辑行首,则直接进入步骤(f);如果截止位置不在当前逻辑行首,则首先按照当前排版区域的宽度计算出当前逻辑行的拟折行位置,如果拟折行位置处与逻辑行首的距离为a,截止位置与逻辑行首的距离为b,将a与b进行比较,取二者之中的最小值作为折行位置对逻辑行进行折行,将折行位置前面的行作为当前物理行,并重新计算当前逻辑行剩余部分的行高,然后进入步骤(g);
(f)如果当前排版区域已经是最后一个矩形区域,则处理结束;否则取得下一个未排版的矩形区域作为当前排版区域,执行步骤(c);
(g)设置当前物理行在当前排版区域的位置,重新计算当前排版区域的可排版高度;
(h)如果当前逻辑行折行没有结束,则重复执行步骤(c);如果当前逻辑行折行结束,则取下一个逻辑行作为当前逻辑行,重复执行步骤(c),直到处理完最后一个逻辑行。
本实施例中,步骤(g)中重新计算当前排版区域的可排版高度时,采用的方法是:
1)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换段符拆分的,那么
新的可排版高度=原来的可排版高度-当前逻辑行的段间距-当前物理行的行高
2)如果当前物理行是当前逻辑行的最后一部分折行结果,并且当前逻辑行与前一逻辑行是以换行符拆分的,那么
新的可排版高度等=原来的可排版高度-当前物理行的行间距-当前物理行的行高
3)如果当前逻辑行是第一个逻辑行,它前面没有硬回车符作为分隔符,那么,
新的可排版高度=原来的可排版高度-当前物理行的行高。
对本实施例中的6个逻辑行L1,L2,L3,L4,L5,L6依据排版区域采用上述方法进行的折行结果如图5所示,具体而言:
本实施例中,逻辑行L1,L2,L3,L4,L5的行高均小于当前排版区域M0的可排版高度,因此,直接按步骤(d)所述的方法对逻辑行进行折行;确定的折行位置如图5中所示的附图标记1,2,3,4,5;
本实施例中,在排版区域M0内排版完成逻辑行L1,L2,L3,L4,L5后,计算逻辑行L6的行高与当前排版区域M0的可排版高度时,确定逻辑行L6的行高大于了当前排版区域M0的可排版高度,因此,按照步骤(e)所述的方法对逻辑行进行折行,即从当前逻辑行的第一个字起向后遍历,直到遍历到当前逻辑行的行高大于当前排版区域M0的可排版高度为止,确定截止位置在图5所示的附图标记6处,其与逻辑行首的距离为b,但是,按照当前排版区域M0的宽度计算出当前逻辑行的拟折行位置在图5所示的附图标记7处,其与逻辑行首的距离为a,经过比较,取二者中的最小值b作为折行位置进行折行,然后重新计算当前逻辑行L6剩余部分的行高,由于其行高仍然大于当前排版区域M0的可排版高度,因此,从L6剩余部分的第一个字起向后遍历,确定截止位置在行首,因此直接通过步骤(f)取得下一个排版区域M1作为当前排版区域,然后比较行高与排版区域的可排版高度,比较后确定该逻辑行的行高小于当前排版区域M1的可排版高度,则按照步骤(d)所述的方法对逻辑行L6剩余部分进行折行,折行位置如图5所示的附图标记8和9处;
(5)设置各个物理行在排版区域内的位置,完成排版;排版区域与物理行之间是一对多的关系,即一个排版区域里面有一个或者多个物理行,对于任何一个物理行属于哪一个具体的排版区域,在步骤(4)对逻辑行的折行过程中已经确定下来了,最后得排版结果如图6所示。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈