一种排版的方法和装置的制作方法

文档序号:6471852阅读:96来源:国知局
专利名称:一种排版的方法和装置的制作方法
技术领域
本发明涉及印刷排版技术领域,特别地涉及一种排版的方法和装置。
背景技术
各种书籍报刊杂志中经常出现首字下沉效果,以达到突出段首、吸引读者 的目的。首字下沉可用于汉字或拼音文字,首字下沉的段落第一行开始的前几
个字字号放大并向下延伸数行,顶部与第一行其他文字对齐;段落中的其他文 字从段首大字的后边空白排起,超过段首大字的下沉深度后,再恢复原行的宽 度,如图1A中的文本框la和图IB中的文本框lb所示。
目前设置首字下沉的一种方法是,对首字下沉的段落设置下沉字符的大 小,对于首字下沉的段落的下一段的首行,其排版位置在高度方向上是与首字 下沉段落的末行相距一个段间距。这种方法能够达到图1A和图1B的方框la 和方框lb中的文本的效果,但也会出现如图1C中的方框lc中的文本内的情 况,第二项字条出现在第一项字条的首字之后。这是由于首字下沉的段落中的 文字较少,以至于该段落高度小于下沉字符的高度,这样,首字下沉的段落的 首字与下一段的首行在高度上发生平齐,从而导致版面错位,影响了版面的视 觉效果。

发明内容
本发明的主要目的是提供排版的方法和装置,以解决现有技术中出现首字 下沉的段落的首字与下一段的首行在高度方向上发生平齐,从而导致版面错乱 的不足之处。
为解决上述问题,本发明提供如下技术方案一种排版方法,应用于包含两个以上段落的排版区域,所述方法包括 对当前排版行所属段落的上一段落以及当前排版行进行判断,如果当前排
版行所属段落的上一段落为首字下沉段落并且当前排版行是其所属段落首行,

判断所述首字下沉段落的下沉字符底部位置是否低于该段的末行字符底 部位置,
若是,则确定当前排版行的可排区域在高度方向的起始位置是与所述下沉 字符底部的距离等于段间距的位置,
若否,则确定所述起始位置是与所述首字下沉段落末行字符底部的距离等 于段间距的位置;
在所述可排区域内的高度方向上从所述起始位置开始编排所述当前排版 行的字符。
一种排版装置,包括
第 一判断模块,用于判断当前排版行所属段落的上一段落是否为首字下沉 段落以及当前排版行是否为其所属段落的首行;
第二判断模块,用于若当前排版行所属段落的上一段落为首字下沉段落并 且当前排版行是其所属段落的首行,则判断所述首字下沉段落的下沉字符底部 位置是否低于该段的末行字符底部位置;
第一确定模块,用于若第二判断模块判断所述首字下沉段落的下沉字符底 部位置低于该段的末行字符底部位置,则确定当前排版行的可排区域在高度方 向的起始位置是与所述下沉字符底部的距离等于段间距的位置;
第二确定模块,用于若第二判断模块判断所述首字下沉段落的下沉字符底
部位置不低于该段的末行字符底部位置,则确定当前排版行的可排区域在高度 方向的起始位置是与所述首字下沉段落末行字符底部的距离等于段间距的位 置;
编排模块,用于在所述可排区域内的高度方向上从所述起始位置开始编排所述当前排版行的字符。
才艮据本发明实施例的技术方案,在首字下沉的段落的首行完成排版之后的 继续排版过程中,对排版的当前排版行的起始位置加以控制,即首先确认当前 排版行是否为其所属段落的首行,若是则进一步确认当前排版行的上一段落的
结束位置,因为该结束位置有如下两种情况下沉字符的底部和首字下沉段落
的末行文字底部,所以相应于这两种情况,确认了当前排版行在高度方向上的 两种排版起始位置。这样,对于首字下沉的段落,如果下沉字符的底部低于该 段末行文字底部,则根据本发明实施例的技术方案,下一段落的首行与下沉字 符的底部在高度方向上间隔一个段间距,由此避免了当前排版行在高度方向上 与下沉字符发生平齐,使版面文字不至于产生错位,从而具有良好的视觉效果。


图1A为现有技术中实现的对拼音文字的首字下沉效果; 图1B为现有技术中实现的对汉字的首字下沉效果; 图1C为现有技术中首字下沉的段落及其下一段落中出现的版面错位现象 示意图2为本发明实施例的方法流程图; 图3为本发明实施例的一种装置结构示意图; 图4为本发明实施例的第二种装置结构示意图; 图5为本发明实施例的第三种装置结构示意图。
具体实施例方式
对于包含两个段落以上的版面,为了避免在排版时首字下沉的段落的首字 与下一段的首行在高度方向上发生平齐,从而导致版面错乱,在本发明实施例 中对于文字方向为从左至右的方向的版面,从文档的首段开始排版,该首段采 用了首字下沉的文字效果。才艮据图2所示的流程图进行。步骤21:设置首字下沉的段落中的下沉字符个数和下沉字符的字体大小。 这里的下沉字符个数可以是一个,也可以不止一个。设置下沉字符的字体大小 时可以设置下沉字符的高度字号和宽度字号,也可以是指定下沉字符所占首字 下沉的段落的行数,根据该行数进一步确定下沉字符的高度和宽度,此时,先 由首字下沉的段落内的下沉字符原始高度、首字下沉的段落的行间距和下沉字 符所占首字下沉的段落的行数得出下沉字符的高度和下沉字符缩放比例,再由 该缩放比例和首字下沉的段落中的下沉字符原始宽度得出下沉字符的宽度。具 体可以根据如下公式计算
Hl=H0xN+Hx(N-l),
K=HKH0,
Wl=W0xK。
其中HI和Wl分别是下沉字符的高度和宽度,HO和WO分别是首字下沉 的段落中的下沉字符原始高度和宽度,N是下沉字符所占首字下沉的段落的行 数,H是首字下沉的段落的行间距,K是下沉字符缩放比例。在本步骤中还可 以进一步设置下沉字符的其他属性例如字体、是否加粗等。
步骤22:对首字下沉的段落的首行排版。在本步骤中根据步骤21中的设 置对首字下沉的段落的首行排版,另外为了版面的整齐,在本步骤中还可以调 整下沉字符的顶部与本行其他字符的顶部高度,使二者高度相等。对于首字下 沉的段落中的首行之后的行,以及首字下沉的段落的下一段落,在排版时根据 如下步骤进行,在以下步骤中,将正在排版的一行称作当前排版行,在完成一
行的排版之后即启动下 一行继续排版。
步骤23:当启动当前排版行的排版之后,判断当前排版行是否为其所属段 落的首行。若是则进入步骤24,否则进入步骤26。这里的判断可以利用排版 的过程中排版工具例如排版软件对即将排版的行分配的索引号,如果排版工具 从0开始按自然数对段内每行分配索引,则在本步骤中判断当前排版行的索S1 是否为0,即可得知当前排版行是否为其所属段落的首行。在本发明实施例中已知当前排版行所属段落的上一段落为首字下沉的段落。在一般情况下,对于 当前排版行的排版,还需在本步骤中判断当前排版行的上一段落是否为首字下
沉段落,如果是,则若当前行是其所属段落首行,进入步骤24;如果不是,则 当前行的可排区域在高度方向上距离上一行为一个行间距或一个段间距。
步骤24:确认首字下沉的段落的底部的高度。为了避免出现图1C中的方 框lc中的文本内的情况,即首字下沉的下一段首行与下沉字符在高度上发生 平齐,所以在本步骤中对首字下沉的段落的底部的高度进行确认。可以根据如 下方法进行在排版区域的高度方向上,如果首字下沉的段落的下沉字符底部 位置低于该段的末行字符底部位置,则首字下沉的段落底部是该段的下沉字符 的底部,否则首字下沉的段落底部是该段末行字符的底部。
步骤25:从首字下沉的段落底部开始对当前排版行排版。此处的当前排版 行即为步骤23中的当前排版行,同时也是步骤21和步骤22中的首字下沉的 段落的下一段落。在当前排版行中可能也包含下沉字符,对其排版方法可以根 据步骤21和22的方法进行。
步骤26:在与上一行底部的距离等于行间距的位置开始对当前排版行排 版。在本步骤中,还需注意当前排版行左端文字的横向位置。如果当前排版行 的顶部高于下沉字符的底部,则当前排版行左端文字需右移,让出下沉字符的 下沉部分,反之则可以从该行的左端开始排版,此时当前排版行的顶部可能与 下沉字符的底部距离小于行间距,这可能影响版面的视觉效果,因此还需适当 调整下沉字符的大小,可以是返回步骤21进行调整和重新排版下沉字符所在 的行。
步骤27:对当前排版行的下一行排版。方式与上述各步相同。同样需进行 步骤23中的判断,然后根据判断结果执行相应的步骤。
排版高度方向为上下方向。对于纵向阅读的竖排文字的文档,可以采用与本发 明实施例相等同的方案,将本发明实施例中的上下方向和左右方向的度量相应分别变更为左右方向和上下方向。
基于本发明实施例的方法,下面对相应的排版装置作出说明。如图3所示, 本发明实施例中的一种排版装置30包括第一判断模块31、第二判断模块32、 第一确定模块33、第二确定模块34和编排模块35。
第一判断模块31用于判断当前排版行所属段落的上一段落是否为首字下 沉段落以及当前排版行是否为其所属段落的首行。第二判断模块32用于若当 前排版行所属段落的上一段落为首字下沉段落并且当前排版行是其所属段落 的首行,则判断首字下沉段落的下沉字符底部位置是否低于该段的末行字符底 部位置。第一确定模块33用于若第二判断模块32判断首字下沉段落的下沉字 符底部位置低于该段的末行字符底部位置,则确定当前排版行的可排区域在高 度方向的起始位置是与下沉字符底部的距离等于段间距的位置。第二确定模块 34用于若第二判断模块32判断首字下沉段落的下沉字符底部位置不低于该段 的末行字符底部位置,则确定当前排版行的可排区域在高度方向的起始位置是 与所述首字下沉段落末行字符底部的距离等于段间距的位置。编排模块35用 于在可排区域内的高度方向上从当前排版行的可排区域在高度方向的起始位 置开始编排当前排版行的字符。
图4中的排版装置40在排版装置30的基础上进一步包括了字号存储模块 41,用于存储首字下沉段落的下沉字符的高度字号和宽度字号,这样编排模块 35进一步用于若所述上一段落为首字下沉段落,则根据字号存储模块存储的下 沉字符的高度字号和宽度字号编排该段落的下沉字符。
图5中的排版装置50在排版装置30的基础上进一步包括了行高存储模块 51,用于存储设置的行高倍数,该行高倍数是下沉字符排版高度与该段落的行 高相比的倍数。这样,编排模块35的一种结构是包括高宽确定子模块和排版 位置确定子模块。高宽确定子模块用于根据行高存储模块存储的行高倍数确定 下沉字符的排版高度和排版宽度。排版位置确定子模块用于根据高宽确定子模 块确定的下沉字符排版高度和排版宽度确定首字下沉段落的排版位置。高宽确定子才莫块的一种结构是包括第一计算单元和第二计算单元。第一计 算单元用于根据首字下沉的段落内的下沉字符原始高度、首字下沉的段落的行 间距和所述行高倍数得出下沉字符排版高度和下沉字符缩放比例。第二计算单 元用于根据下沉字符缩放比例和下沉字符原始宽度得出下沉字符排版宽度。
根据本发明实施例的技术方案,在首字下沉的段落的首行完成排版之后的 继续排版过程中,对排版的当前排版行的起始位置加以控制,即首先确认当前 排版行是否为其所属段落的首行,若是则进一步确认当前排版行的上一段落的
结束位置,因为该结束位置有如下两种情况下沉字符的底部和首字下沉段落 的末行文字底部,所以相应于这两种情况,确认了当前排版行在高度方向上的 两种排版起始位置。这样,对于首字下沉的段落,如果下沉字符的底部低于该 段末行文字底部,则根据本发明实施例的技术方案,下一段落的首行与下沉字 符的底部在高度方向上间隔一个段间距,由此避免了当前排版行在高度方向上 与下沉字符发生平齐,使版面文字不至于产生错位,从而具有良好的视觉效果。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种排版方法,应用于包含两个以上段落的排版区域,其特征在于,所述方法包括对当前排版行所属段落的上一段落以及当前排版行进行判断,如果当前排版行所属段落的上一段落为首字下沉段落并且当前排版行是其所属段落首行,则判断所述首字下沉段落的下沉字符底部位置是否低于该段的末行字符底部位置,若是,则确定当前排版行的可排区域在高度方向的起始位置是与所述下沉字符底部的距离等于段间距的位置,若否,则确定所述起始位置是与所述首字下沉段落末行字符底部的距离等于段间距的位置;在所述可排区域内的高度方向上从所述起始位置开始编排所述当前排版行的字符。
2、 根据权利要求1所述的方法,其特征在于,还包括 根据设置的下沉字符的高度字号和宽度字号编排所述上一段落的下沉字符。
3、 根据权利要求1所述的方法,其特征在于,还包括 根据设置的行高倍数编排所述上一段落的下沉字符,该行高倍数是下沉字符排版高度与该段落的行高相比的倍数。
4、 根据权利要求3所述的方法,其特征在于,所述根据设置的行高倍数 编排首字下沉段落的下沉字符包括根据所述行高倍数确定下沉字符的排版高度和排版宽度; 根据所述下沉字符排版高度和排版宽度确定所述首字下沉段落的排版位置。
5、 根据权利要求4所述的方法,其特征在于,所述根据所述行高倍数确定下沉字符的排版高度和排版宽度包括根据首字下沉的段落内的下沉字符原始高度、首字下沉的段落的行间距和所述行高倍数得出下沉字符排版高度和下沉字符缩放比例;根据下沉字符缩放比例和下沉字符原始宽度得出下沉字符排版宽度。
6、 根据权利要求5所述的方法,其特征在于,所述得出下沉字符排版高 度和下沉字符缩放比例包括根据如下公式计算下沉字符排版高度=下沉字符原始高度x所述行高倍数+所述行间距x (所述行高倍数-l),下沉字符缩放比例=下沉字符排版高度+下沉字符原始高度;所述根据下沉字符缩放比例和下沉字符原始宽度得出下沉字符排版宽度 包括根据如下公式计算下沉字符排版宽度=下沉字符原始宽度x下沉字符缩放比例。
7、 一种排版装置,其特征在于,包括第一判断模块,用于判断当前排版行所属段落的上一段落是否为首字下沉 段落以及当前排版行是否为其所属段落的首行;第二判断模块,用于若当前排版行所属段落的上一段落为首字下沉段落并且当前排版行是其所属段落的首行,则判断所述首字下沉段落的下沉字符底部 位置是否低于该段的末行字符底部位置;第一确定模块,用于若第二判断模块判断所述首字下沉段落的下沉字符底 部位置低于该段的末行字符底部位置,则确定当前排版行的可排区域在高度方 向的起始位置是与所述下沉字符底部的距离等于段间距的位置;第二确定模块,用于若第二判断模块判断所述首字下沉段落的下沉字符底 部位置不低于该段的末行字符底部位置,则确定当前排版行的可排区域在高度 方向的起始位置是与所述首字下沉段落末行字符底部的距离等于段间距的位置;编排模块,用于在所述可排区域内的高度方向上从所述起始位置开始编排所述当前排版行的字符。
8、 根据权利要求7所述的装置,其特征在于,进一步包括字号存储模块, 用于存储所述首字下沉段落的下沉字符的高度字号和宽度字号;所述编排模块进一步用于若所述上一段落为首字下沉段落,则根据字号存 储模块存储的下沉字符的高度字号和宽度字号编排该段落的下沉字符。
9、 根据权利要求7所述的装置,其特征在于,进一步包括行高存储模块, 用于存储设置的行高倍数,该行高倍数是下沉字符排版高度与该段落的行高相 比的4咅凄史;所述编排模块包括高宽确定子模块,用于根据所述行高倍数确定下沉字符的排版高度和排版 宽度;排版位置确定子模块,用于根据所述下沉字符排版高度和排版宽度确定所 述首字下沉段落的排版位置。
10、 根据权利要求9所述的装置,其特征在于,所述高宽确定子模块包括 第一计算单元,用于根据首字下沉的段落内的下沉字符原始高度、首字下沉的段落的行间距和所述行高倍数得出下沉字符排版高度和下沉字符缩放比 例;第二计算单元,用于根据下沉字符缩放比例和下沉字符原始宽度得出下沉 字符排版宽度。
全文摘要
本发明公开了一种排版的方法和装置,以解决现有技术中在设置了首字下沉之后出现版面错乱的问题。实施例中对当前排版行所属段落的上一段落以及当前排版行进行判断,如果当前排版行所属段落的上一段落为首字下沉段落并且当前排版行是其所属段落首行,则判断所述首字下沉段落的下沉字符底部位置是否低于该段的末行字符底部位置,若是,则确定当前排版行的可排区域在高度方向的起始位置是与所述下沉字符底部的距离等于段间距的位置,若否,则确定所述起始位置是与所述首字下沉段落末行字符底部的距离等于段间距的位置;在所述可排区域内的高度方向上从所述起始位置开始编排所述当前排版行的字符。
文档编号G06F17/25GK101419591SQ200810240309
公开日2009年4月29日 申请日期2008年12月17日 优先权日2008年12月17日
发明者杨燕菲 申请人:北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1