文本排版方法及排版引擎的制作方法
专利名称:文本排版方法及排版引擎的制作方法
技术领域:
本发明实施例涉及计算机技术,尤其涉及一种文本排版方法及排版弓I擎。
背景技术:
EPub是一种开放式的电子书格式标准,能支持多种装置应用,可发明提供的文本排版引擎实施例二结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明
保护的范围。
图1为本发明提供的文本排版方法实施例一流程图。如图1所示,本实施例包括步骤11 获取解析后的电子书文件中文本后,排版引擎从文本中逐个读取字符。电子书阅读软件中的排版引擎进行排版前,电子书文件需依次经过解压、格式解 析和描述语种解析。例如,Epuh电子书文件的压缩包依次经解压、Epuh格式解析和HTML解 析。电子书阅读软件中的排版引擎开始对HTML解析后的文本进行排版时,先对HTML解析 后的文本进行字体、字号和字形设置。步骤12 在字符为方块字符时,排版引擎根据字符所属的语种和字号在方块字符 宽度表中查找当前读取字符的字符宽度;在字符为非方块字符时,排版引擎根据字符的字 体,在非方块字符宽度表中查找当前读取字符的字符宽度。对于中文字符、日文字符和韩文字符等方块字符,属于同一语种的所有方块字符 的字符宽度,在同一字号的所有字体下是等宽的。同一语种下,不同字号的方块字符的字符 宽度成等比例关系。同一字号下,不同语种的方块字符的字符宽度不相同。即方块字符的 字符宽度与所属的语种和字号有关,与字符和字体无关。对于各种字体的所有中文字符,在 同一字号下的字符宽度均相同。例如宋体、楷体、隶书、方正姚体等中文字符的字符宽度均 相同。而同一字号下,中文字符与日文字符或韩文字符的字符宽度不相同。因此,针对方块 字符,可建立包括“方块字符、所属语种、字形,与字号为基准字号的非方块字符的字符宽度 的对应关系”的方块字符宽度表。在确定一个方块字会的字符宽度时,根据所属的语种和字 号,在方块字符宽度表中查找该方块字符的字符宽度。对于各种标点符号、拉丁字母、数学运算符号等除方块字符以外的非方块字符,在 同一字体下,同一种语种的不同非方块字符,它们的字符宽度不相同。例如,字符i和字符 w,在同一种字体下,字符w的字符宽度大于字符i的字符宽度。对于同一个非方块字符,在 字号不相同或字体不相同的情况下,字符宽度也不相同。但在同一字体下,对于不同字号的 同一非方块字符,字符宽度成等比例关系。例如,不同字体或不同字号的字符i,其字符宽度 互不相同。但对于同一字体,字号为10号的字符i的字符宽度,与其它字号的字符i的字 符宽度成等比例关系。因此,对于非方块字符的字符宽度,不仅与所属的语种和字号有关, 而且与字体和字符相关。因此,针对非方块字符可建立包括“非方块字符、非方块字符的字 体,与字号为基准字号的非方块字符的字符宽度的对应关系”的非方块字符宽度表。在确定 一个非方块字符的字符宽度时,根据字符的字体,在非方块字符宽度表中查找字符的字符 宽度。步骤13 排版引擎根据文本显示区的宽
文本排版方法及排版引擎的制作方法 来自淘豆网m.daumloan.com转载请标明出处.