专利名称:一种文字排版方法及系统的制作方法
技术领域:
本发明属于排版技术领域,具体涉及一种文字排版方法及系统,特别适用于版面 内存在非文字排版区域时的文字排版。
背景技术:
在文字排版过程中,常常会遇到版面内存在图形、图片、文字块等不能排入文字的 区域,即非文字排版区域。在这种情况下,排版文字时需要避开上述非文字排版区域。现有 技术中,通常的文字排版方法是在需要进行文字排版时才计算可以排版的区域以及各个文 字在排版区域中的位置,排版的速度较慢。中国专利申请(公开号CN 101046798A
公开日期2007年10月3日)公开了一 种排版领域的图文绕排方法,该方法首先找出绕排部分(即非排版区域)的顶点,包括凸点 和凹点,根据顶点将编辑区域划分成不同的区域块、在区域块内进行文字排版。由于该方法 找出绕排部分顶点的步骤计算复杂,而且在重新排版的情况下,需要重新计算绕排部分的 顶点,排版效率也不高。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种在版面内存在非文字排版 区域的情况下高效的文字排版方法及系统。为了实现上述目的,本发明采用的技术方案如下一种文字排版方法,包括以下步骤(1)按照文字的尺寸,将排版区域分割成M行N列的网格;(2)确定排版区域内非文字排版区域;(3)在可排入文字的排版区域按照文字流入方向对文字进行排版。如上所述的文字排版方法,步骤⑴中,所述排版区域是指版面内的整个排版区 域,或者版面内的部分排版区域。如上所述的文字排版方法,步骤(2)中,所述非文字排版区域是指任意形状的闭 合区域。闭合区域边界内所包含的网格以及边界所经过的网格为非文字排版区域。按照行 方向或者列方向确定排版区域内非文字排版区域。如上所述的文字排版方法,步骤(3)中,在可排入文字的排版区域内,一个网格排 版一个文字。如上所述的文字排版方法,步骤(3)中,当遇到非文字排版区域时,换行排版,或 者跳过非文字排版区域继续排版。一种文字排版系统,包括用于按照文字的尺寸将排版区域分割成M行N列的网格 的排版区域分割模块(11);用于确定排版区域内非文字排版区域的非文字排版区域确定 模块(12);以及用于在可排入文字的排版区域按照文字流入方向对文字进行排版的文字 排版模块(13)。
本发明所述方法及系统,先确定非文字排版区域,再在可以排入文字的排版区域 进行排版,能够快速地将文字排入排版区域,并能够使文字排版效果更加直观,而且判断非 文字排版区域的方法简单,排版的效率较高。
图1是具体实施方式
中的排版系统结构图;图2是具体实施方式
中的排版方法流程图;图3是实施例1中排版区域被分割成8行10列的网格示意图;图4是实施例1中三角形的非文字排版区域示意图;图5是实施例1中排版效果示意图;图6是实施例2中排版效果示意图。
具体实施例方式下面结合具体实施方式
和附图,对本发明进行详细描述。如图1所示的文字排版系统,包括排版区域分割模块11、非文字排版区域确定模 块12和文字排版模块13。排版区域分割模块11用于按照待排版文字的尺寸将排版区域分割成M行N列的 网格。其中,排版区域可以是版面内整个排版区域,也可以是版面内部分排版区域;M和N为 正整数。排版区域内的文字尺寸相同,文字尺寸包括字高和字宽。非文字排版区域确定模块12用于确定排版区域内不能够排入文字的区域。其中, 非文字排版区域为版面内被障碍物覆盖的区域,该区域可以是任意形状的闭合区域,障碍 物可以是图片、图形或文字块等。非文字排版区域包括上述闭合区域内所包含的网格以及 边界所经过的网格。文字排版模块13用于按照文字的流入方向将文字排入排版区域内能够排入文字 的排版区域。其中,文字的流入方向可以为从左到右、从上到下,也可以为从右到左、从上倒 下,以及其他的组合。如图2所示的文字排版方法,包括以下步骤(1)排版区域分割模块11按照文字的尺寸,将排版区域分割成M行N列的网格。(2)非文字排版区域确定模块12按照行方向或者列方向确定排版区域内的非文 字排版区域。按照行方向确定非文字排版区域,即是按照水平方向从左到右或从右到左依次扫 描每列网格,确定每列网格中与非文字排版区域边界相交或者在非文字排版区域内的网 格;按照列方向确定非文字排版区域,即是按照竖直方向从上到下或者从下到上依次扫描 每行网格,确定每行网格中与非文字排版区域边界相交或者在非文字排版区域内的网格。(3)按照文字流入方向,将文字排入能够排入文字的排版区域。在可排入文字的排版区域内,一个网格排入一个文字。所述的文字应作广义的理 解,它即可以指一个汉字,又可以指一个英文字母,还可以指标点符号或其他符号。例如,当 待排版文字为汉字时,一个网格可以排入一个汉字;当待排版文字为英文时,一个网格可以 排入一个英文字母;标点符号或者其他符号相当于一个文字,即一个标点符号或其他符号
4可以占用一个网格;其他文字可采用与汉字和英文类似的排版方式。在排版过程中,当遇到 非文字排版区域,即不能排入文字的网格时,换行排版或者跳过非文字排版区域继续排版。实施例1如图3所示,假设待排文字为5号字,首先由排版区域分割模块11按照5号字的 字高和字宽将排版区域31分割成8行10列的网格,每个网格排入一个5号字。如图4所示,非文字排版区域为三角形ABC所围成的区域,该区域内所包含的网格 以及三角形ABC的边AB、AC、BC所经过的网格均为非文字排版区域。假设网格采用(a,b) 形式表示,其中a表示行数、b表示列数,则按照列方向确定非文字排版区域如下三角形ABC所围成的区域包含的网格为(4,5), (4,6), (5,5), (5,6), (6,4), (6,
5)、(6,6),(6,7);AB 边所经过的网格为(7,3), (6,3), (5,3), (5,4), (4,4), (3,4), (3,5), (2,5), (1,5);BC 边所经过的网格为(1,6), (2,6), (3,6), (3,7), (4,7), (5,7), (5,8), (6,8), (7,8);CA 边所经过的网格为(7,8)、(7,7)、(7,6)、(7,5)、(7,4)、(7,3)。上述网格均为非文字排版区域,即图4中的灰色区域。本实施例中,拟将待排版文字“这是一种对排版区域进行计算后再排版的方法”排 入到图4所示的排版区域,文字的流入方向为从左到右、从上到下,一个网格内排入一个文 字,当遇到非文字排版区域时换行排版。排版后的效果如图5所示。实施例2与实施例1不同的是按照行方向确定非文字排版区域,文字的流入方向从右到 左、从上到下,当遇到非文字排版区域时跳过后继续排版。按照行方向确定非文字排版区域如下三角形ABC所围成的区域包含的网格为(6,4), (4,5), (5,5), (6,5), (4,6), (5,
6)、(6,6);AB 边所经过的网格为(5,3), (6,3), (7,3), (3,4), (4,4), (5,4), (1,5), (2,5), (3,5);BC 边所经过的网格为(1,6), (2,6), (3,6), (3,7), (4,7), (5,7), (5,8), (6,8), (7,8);CA 边所经过的网格为(7,8), (7,7), (7,6), (7,5), (7,4), (7,3)。本实施例中,排版后的效果如图6所示。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种文字排版方法,包括以下步骤(1)按照文字的尺寸,将排版区域分割成M行N列的网格;(2)确定排版区域内非文字排版区域;(3)在可排入文字的排版区域按照文字流入方向对文字进行排版。
2.如权利要求1所述的一种文字排版方法,其特征在于步骤(1)中所述排版区域是 指版面内的整个排版区域,或者版面内的部分排版区域。
3.如权利要求1所述的一种文字排版方法,其特征在于步骤(2)中所述非文字排版 区域是指任意形状的闭合区域。
4.如权利要求3所述的一种文字排版方法,其特征在于闭合区域边界内所包含的网 格以及边界所经过的网格为非文字排版区域。
5.如权利要求1至4之一所述的一种文字排版方法,其特征在于步骤(2)中,按照行 方向确定排版区域内非文字排版区域。
6.如权利要求1至4之一所述的一种文字排版方法,其特征在于步骤(2)中,按照列 方向确定排版区域内非文字排版区域。
7.如权利要求1至4之一所述的一种文字排版方法,其特征在于步骤(3)中,在可排 入文字的排版区域内,一个网格排版一个文字。
8.如权利要求1至4之一所述的一种文字排版方法,其特征在于步骤(3)中,当遇到 非文字排版区域时,换行排版。
9.如权利要求1至4之一所述的一种文字排版方法,其特征在于步骤(3)中,当遇到 非文字排版区域时,跳过非文字排版区域继续排版。
10.一种文字排版系统,包括用于按照文字的尺寸将排版区域分割成M行N列的网格 的排版区域分割模块(11),用于确定排版区域内非文字排版区域的非文字排版区域确定模 块(12),以及用于在可排入文字的排版区域按照文字流入方向对文字进行排版的文字排版 模块(13)。
全文摘要
本发明公开了一种文字排版方法及系统,属于排版技术领域。现有的排版方法当版面内存在非文字排版区域时,排版文字的效率较低。本发明所述方法首先按照文字的尺寸,将排版区域分割成M行N列的网格;然后确定排版区域内非文字排版区域;最后在可排入文字的排版区域按照文字流入方向对文字进行排版。本发明所述系统包括用于按照文字的尺寸将排版区域分割成M行N列的网格的排版区域分割模块,用于确定排版区域内非文字排版区域的非文字排版区域确定模块,以及用于在可排入文字的排版区域按照文字流入方向对文字进行排版的文字排版模块。采用本发明所述方法及系统可以提高版面内存在非文字排版区域时文字排版的效率。
文档编号G06T11/60GK101937569SQ20091008678
公开日2011年1月5日 申请日期2009年6月30日 优先权日2009年6月30日
发明者刘畅, 刘继新, 李平立, 郑招云 申请人:北京大学;方正国际软件(北京)有限公司