字库的制作方法和装置制造方法及图纸

技术编号:7917704 阅读:166 留言:0更新日期:2012-10-25 02:38
本发明专利技术涉及一种字库的制作方法和装置,该方法包括:获取所述制作所述字库的所需语言的矢量字库;将所述矢量字库转换为点阵字库;利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。因此,该字库的制作方法和装置易于实现,同时方便裁剪字库,从而使得该字库可以支持不同语言和不同字号。

【技术实现步骤摘要】

本专利技术涉及嵌入式
,尤其涉及一种字库的制作方法和装置
技术介绍
目前嵌入式设备应用十分广泛,由于嵌入式系统在运算速度、存储空间等方面通常有很大的限制。若要在嵌入式设备上显示文字,尤其是需要显示多种语言文字,单单移植个人计算机(Personal Computer,PC)上的字体字库是难以满足的。因此,集成多种语言字库并减少该字库所占用的存储空间,从而提高嵌入式系统的显示效率,成为了目前嵌入式系统需要解决的重要问题。在现有技术中,嵌入式设备字体显示方面使用较多的是点阵字库。嵌入式设备中所支持的点阵字库的制作方法主要分有三种第一,将一种语言单独做成一个单一字库; 第二,统计出会用到的所有字符做成特定字库;第三,利用统一码Unicode统一编码为索引字库。该统一码是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。因此,统一码Unicode是可以容纳世界上所有文字和符号的字符编码方案。上述第一种字库制作方式适合用于英文等独立字符个体较少的语言,第二种字库制作方式适合用于汉语等独立字符个体较多的语言。前两种方式都不适合对多语言的支持。第三种字库制作方式适合对多语言字符的支持。当多语言同时显示时,则需要定制需要同时显示的字符,并从多语言字库中获得所需要的字模。现有技术中多语言字库一般只支持一种字号的字体,但是根据实际需要,若想达到比较美观的效果,则需要对不同的语言采用不同的字号,这是现有技术中无法实现的。另夕卜,多语言字库中一般只存取整个字符宽和高的数据,但是在需要多语言同时显示时,只存取整个字符宽和高的数据会浪费了大量的存储空间,同时也影响显示速度。
技术实现思路
本专利技术的目的是,提供一种字库的制作方法和装置。该制作方法和装置能够支持多种语言,可以自主定制所需字符并且不同字符支持不同字号,能够大大减小了存储空间并且满足嵌入式系统的高效的查找和显示的要求,同时该字库的制备方法易于实现而且方便裁剪该字库。为实现上述目的,本专利技术提供了一种字库的制作方法,所述方法包括获取所述制作所述字库的所需语言的矢量字库;将所述矢量字库转换为点阵字库;利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。优选地,所述利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符之前还包括挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。优选地,所述根据所述字符获取所述字符的第一字模数据和所述字符的第一属性之后还包括将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。进一步优选地,所述制作所述字库的所需语言的种类为两种或两种以上,并且所述制作的所述字库为多语言字库。进一步优选地,所述制作所述多语言字库的所需的多个所述点阵字库之间具有不同的字符属性。优选地所述字符的第一字模数据和所述字符的第一属性具体为所述字符的第一字模数据为所述字符的以行对齐方式存储的实体数据;所述字符的第一属性包括所述字符整体的宽、高;所述字符实体的宽、高;所述字符实体相对于所述字符整体的水平方向、竖直方向的偏移值。 进一步优选地,述将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据具体为对所述第一字模数据进行裁剪,去掉所述第一字模数据中的无效部分,保留所述第一字模数据中的有效部分,并进行整体对齐,当所述第二字模数据结尾不足一个字节,则补足一个字节。进一步优选地,所述字符的第二字模数据的存储值的计算公式为 sw X shU =- 8其中,D为所述字符的第二字模数据的存储值,sw为所述字符实体的宽,sh为所述字符实体的高,I I为向上取整函数。进一步优选地,所述字符的第二属性为所述第二字模数据的偏移地址;所述第二字模数据的偏移地址为所述字符在第二字模数据库中之前的所有的所述字符的第二字模数据的存储值之和。本专利技术还提供了一种字库的制作装置,所述装置包括第一获取单元,用于获取所述制作所述字库的所需语言的矢量字库;转换单元,用于将所述矢量字库转换为点阵字库;选取单元,用于利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;第二获取单元,用于根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;第一组成单元,用于根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。优选地,所述装置还包括挑选单元,用于挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。优选地,所述装置还包括生成单元,用于将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;计算单元,用于根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;第二组成单元,用于根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。通过应用本专利技术公开的字库的制作方法和装置,挑选制作字库的所需语言的统一码并建立统一码的编码列表;获取制作字库的所需语言的矢量字库再转换为点阵字库,利用编码列表从点阵字库中选取字符并获取该字符的第一字模数据和第一属性,根据该字符的第一字模数据和第一属性组成字库;或者,将字符的第一字模数据进行裁剪生成第二字模数据,计算该字符存储值D和和第二属性,根据统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库,从而使得该字库的制作方法和装置易于实现,同时仅仅更新编码列表就可以很方便的裁剪字库,从而使得该字库可以支持不同语言和不同字号。 附图说明图I为本专利技术实施例提供的字库的制作方法的流程图;图2为本专利技术实施例提供的字符整体、字符实体显示关系的示意图;图3为本专利技术实施例提供的字库的结构示意图;图4为本专利技术实施例提供所有字符的字符属性列表的示意图;图5为本专利技术实施例提供的第二字模数据库的示意图;图6为本专利技术实施例提供的字库的制作装置的示意图。具体实施例方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图I为本专利技术实施例提供的字库的制作方法的流程图。如图所示,本专利技术实施例具体包括以下步骤步骤101,获取制作字库的所需语g的矢量字库。具体地,本专利技术实施例中制作的字库为多语言字库,故在制作字库之前首先需要确定该字库需要的语言种类,比如汉语、英语等。其中,该语言种类为两种或两种以上。然后在Windows系统下获取所需语言的矢量字库TrueType,比如获取汉语的矢量字库和英语的矢量字库。其中,汉语的矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。其他语言的矢量字库与汉语的矢量字库类似。步骤102,将所需语言的矢量字库转换为点阵字库。具体地,通过工具将所需语言的矢量字库转换为点阵字库。比如,通过ttf本文档来自技高网
...

【技术保护点】
一种字库的制作方法,其特征在于,所述方法包括:获取所述制作所述字库的所需语言的矢量字库;将所述矢量字库转换为点阵字库;利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭志川王健飞叶晓舟刘春梅
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1