CN102750337A - 字库的制作方法和装置 - Google Patents

字库的制作方法和装置 Download PDF

Info

Publication number
CN102750337A
CN102750337A CN2012101800607A CN201210180060A CN102750337A CN 102750337 A CN102750337 A CN 102750337A CN 2012101800607 A CN2012101800607 A CN 2012101800607A CN 201210180060 A CN201210180060 A CN 201210180060A CN 102750337 A CN102750337 A CN 102750337A
Authority
CN
China
Prior art keywords
character
library
pattern data
attribute
making
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012101800607A
Other languages
English (en)
Other versions
CN102750337B (zh
Inventor
郭志川
王健飞
叶晓舟
刘春梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201210180060.7A priority Critical patent/CN102750337B/zh
Publication of CN102750337A publication Critical patent/CN102750337A/zh
Application granted granted Critical
Publication of CN102750337B publication Critical patent/CN102750337B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

字库的制作方法和装置
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种字库的制作方法和装置。
背景技术
目前嵌入式设备应用十分广泛,由于嵌入式系统在运算速度、存储空间等方面通常有很大的限制。若要在嵌入式设备上显示文字,尤其是需要显示多种语言文字,单单移植个人计算机(Personal Computer,PC)上的字体字库是难以满足的。因此,集成多种语言字库并减少该字库所占用的存储空间,从而提高嵌入式系统的显示效率,成为了目前嵌入式系统需要解决的重要问题。
在现有技术中,嵌入式设备字体显示方面使用较多的是点阵字库。嵌入式设备中所支持的点阵字库的制作方法主要分有三种:第一,将一种语言单独做成一个单一字库;第二,统计出会用到的所有字符做成特定字库;第三,利用统一码Unicode统一编码为索引字库。该统一码是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。因此,统一码Unicode是可以容纳世界上所有文字和符号的字符编码方案。
上述第一种字库制作方式适合用于英文等独立字符个体较少的语言,第二种字库制作方式适合用于汉语等独立字符个体较多的语言。前两种方式都不适合对多语言的支持。第三种字库制作方式适合对多语言字符的支持。当多语言同时显示时,则需要定制需要同时显示的字符,并从多语言字库中获得所需要的字模。
现有技术中多语言字库一般只支持一种字号的字体,但是根据实际需要,若想达到比较美观的效果,则需要对不同的语言采用不同的字号,这是现有技术中无法实现的。另外,多语言字库中一般只存取整个字符宽和高的数据,但是在需要多语言同时显示时,只存取整个字符宽和高的数据会浪费了大量的存储空间,同时也影响显示速度。
发明内容
本发明的目的是,提供一种字库的制作方法和装置。该制作方法和装置能够支持多种语言,可以自主定制所需字符并且不同字符支持不同字号,能够大大减小了存储空间并且满足嵌入式系统的高效的查找和显示的要求,同时该字库的制备方法易于实现而且方便裁剪该字库。
为实现上述目的,本发明提供了一种字库的制作方法,所述方法包括:
获取所述制作所述字库的所需语言的矢量字库;将所述矢量字库转换为点阵字库;利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。
优选地,所述利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符之前还包括:挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。
优选地,所述根据所述字符获取所述字符的第一字模数据和所述字符的第一属性之后还包括:将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。
进一步优选地,所述制作所述字库的所需语言的种类为两种或两种以上,并且所述制作的所述字库为多语言字库。
进一步优选地,所述制作所述多语言字库的所需的多个所述点阵字库之间具有不同的字符属性。
优选地所述字符的第一字模数据和所述字符的第一属性具体为:所述字符的第一字模数据为所述字符的以行对齐方式存储的实体数据;所述字符的第一属性包括所述字符整体的宽、高;所述字符实体的宽、高;所述字符实体相对于所述字符整体的水平方向、竖直方向的偏移值。
进一步优选地,述将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据具体为:对所述第一字模数据进行裁剪,去掉所述第一字模数据中的无效部分,保留所述第一字模数据中的有效部分,并进行整体对齐,当所述第二字模数据结尾不足一个字节,则补足一个字节。
进一步优选地,所述字符的第二字模数据的存储值的计算公式为:
Figure BDA00001715765700031
其中,D为所述字符的第二字模数据的存储值,sw为所述字符实体的宽,sh为所述字符实体的高,
Figure BDA00001715765700032
为向上取整函数。
进一步优选地,所述字符的第二属性为所述第二字模数据的偏移地址;所述第二字模数据的偏移地址为所述字符在第二字模数据库中之前的所有的所述字符的第二字模数据的存储值之和。
本发明还提供了一种字库的制作装置,所述装置包括:
第一获取单元,用于获取所述制作所述字库的所需语言的矢量字库;转换单元,用于将所述矢量字库转换为点阵字库;选取单元,用于利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;第二获取单元,用于根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;第一组成单元,用于根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。
优选地,所述装置还包括:挑选单元,用于挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。
优选地,所述装置还包括:生成单元,用于将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;计算单元,用于根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;第二组成单元,用于根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。
通过应用本发明公开的字库的制作方法和装置,挑选制作字库的所需语言的统一码并建立统一码的编码列表;获取制作字库的所需语言的矢量字库再转换为点阵字库,利用编码列表从点阵字库中选取字符并获取该字符的第一字模数据和第一属性,根据该字符的第一字模数据和第一属性组成字库;或者,将字符的第一字模数据进行裁剪生成第二字模数据,计算该字符存储值D和和第二属性,根据统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库,从而使得该字库的制作方法和装置易于实现,同时仅仅更新编码列表就可以很方便的裁剪字库,从而使得该字库可以支持不同语言和不同字号。
附图说明
图1为本发明实施例提供的字库的制作方法的流程图;
图2为本发明实施例提供的字符整体、字符实体显示关系的示意图;
图3为本发明实施例提供的字库的结构示意图;
图4为本发明实施例提供所有字符的字符属性列表的示意图;
图5为本发明实施例提供的第二字模数据库的示意图;
图6为本发明实施例提供的字库的制作装置的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的字库的制作方法的流程图。如图所示,本发明实施例具体包括以下步骤:
步骤101,获取制作字库的所需语言的矢量字库。
具体地,本发明实施例中制作的字库为多语言字库,故在制作字库之前首先需要确定该字库需要的语言种类,比如汉语、英语等。其中,该语言种类为两种或两种以上。然后在Windows系统下获取所需语言的矢量字库TrueType,比如获取汉语的矢量字库和英语的矢量字库。其中,汉语的矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。其他语言的矢量字库与汉语的矢量字库类似。
步骤102,将所需语言的矢量字库转换为点阵字库。
具体地,通过工具将所需语言的矢量字库转换为点阵字库。比如,通过ttf2bdf等工具将TrueType矢量字库转换为BDF点阵字库文件。其中,汉语的点阵字库是将每一个汉字都分成16×16或24×24个点,用每个点的虚实来表示汉字的轮廓;英文的点阵字库将每个英文字母分成高度为24或16,宽度为可变的点数,以此来适应不同宽度的英文字符,用每个点的虚实来表示英文字母的轮廓。另外,其他语言的点阵字库与英文的点阵字库类似。
步骤103,挑选制作字库的所需语言的统一码并建立统一码的编码列表。
具体地,统一码也叫万国码或单一码,其中,该统一码是一种在计算机上使用的字符编码,其为每种语言中的每个字符设定了统一并且唯一的二进制编码。根据国际组织制定的用数字0-0x10FFFF来映射世界上所有文字和符号,最多可以容纳1114112个字符,或者说有1114112个码位,该码位为分配给字符的数字。比如汉语中的“王”这个字符对应的统一码为0x738B。
根据实际需要挑选制作字库的所需语言的统一码。若所需语言为汉语,根据实际需要确定需要的汉语字符或字符集。该汉语字符或字符集是由产品的功能或用户的需要所决定的。一般情况下,一些产品所用到的字符和字符集都是固定的。比如,目前正在的应用的机顶盒,一般用到是GB2312标准的字符集。而对于台湾用户,可能会用到BIG5字库,因为该BIG5字库可以支持汉语繁体,可以方便台湾用户的使用。
利用挑选出来的所有字符或字符集的统一码建立统一码的编码列表。比如:挑选的字符为′‘′、′’′、′系′、′统′、′置′、′设′,则该挑选的字符的各自的统一码为:0x2018、0x2019、0x7CFB、0x7EDF、0x7F6E、0x8BBE。利用挑选的字符的各自的统一码建立统一码的编码列表。其中,该统一码的编码列表是按照由小到大的顺序排列所有的统一码,这样可以便于查找统一码。
另外,该编码列表也可以在步骤101以前提前制作好的。
步骤104,利用所需语言的统一码的编码列表从点阵字库中选取字符。
具体地,以BDF点阵字库为例,右单引号字符′’′的统一码为0x2019,查找到在BDF点阵字库中对右单引号字符的描述如下:
FONTBOUNDINGBOX 20 20-2-8
STARTCHAR 0027
ENCODING 39
DWIDTH 70
BBX 47212
在本发明实施例中,将该BDF文件中FONTBOUNDINGBOX字段第二个参数作为字符的整体高属性;将DWI DTH字段的第一个参数作为字符的整体宽属性;将BBX字段的四个参数分别作为字符的实体宽属性、字符的实体高属性、字符的实体相对于字符的整体的横向偏移和字符的实体相对于字符的整体的纵向偏移。
步骤105,根据字符获取第一字模数据和字符的第一属性。
具体地,以右单引号字符:′’′为例,根据步骤103中查找到的在BDF点阵字库中对右单引号字符的描述,可以得到该右单引号字符的字模数据和字符的属性。其中,字符的第一字模数据为字符的实体数据;字符的第一属性包括字符整体的宽、高;字符实体的宽、高;字符实体相对于所述字符整体的水平方向、竖直方向的偏移值。如图2所示,图2包括右单引号字符的整体21和单引号字符的实体22。右单引号字符的整体21的属性包括右单引号字符的整体宽和右单引号字符的整体高,单引号字符的实体22的属性包括右单引号字符的实体宽和右单引号字符的实体高,单引号字符的实体22与右单引号字符的整体21相比,得到单引号字符的实体22相对于右单引号字符的整体21的水平方向的偏移和竖直方向的偏移值。各属性值根据BDF点阵字库中对右单引号字符的描述得出。具体如下:
将该BDF文件中FONTBOUNDINGBOX字段第二个参数作为字符的整体高属性;将DWIDTH字段的第一个参数作为字符的整体宽属性;将BBX字段的四个参数分别作为字符的实体宽属性、字符的实体高属性、字符的实体相对于字符的整体的横向偏移和字符的实体相对于字符的整体的纵向偏移。
右单引号字符的整体宽度:7位;即DWIDTH字段的第一个参数。
右单引号字符的整体高度:20位;即FONTBOUNDINGBOX字段第二个参数。
右单引号字符的实体宽度:4位;即BBX字段的第一个参数。
右单引号字符的实体高度:7位;即BBX字段的第二个参数。
右单引号字符的实体相对于整体的水平偏移值:2位;即BBX字段的第三个参数。
右单引号字符的实体相对于整体的垂直偏移值:12位;即BBX字段的第四个参数。
另外,右单引号字符的第一字模数据为右单引号字符的实体数据。该右单引号字符的实体数据在BDF文件中的具体描述如表1所示。表1中包括原始数据即第一字模数据,用16进制表示;还包括将原始数据转化为2进制表示的数据;同时,原始数据中的有效部分为高4位,用二进制表示。
表1
Figure BDA00001715765700081
步骤106,根据统一码的编码列表、字符的第一字模数据和第一属性组成字库。
优选地,本发明实施例提供的字库的制作方法还进一步包括:
步骤107,根据字符的第一字模数据生成第二字模数据。
具体地,对第一字模数据进行裁剪,去掉第一字模数据中的无效部分,保留第一字模数据中的有效部分,并进行整体对齐,当第二字模数据结尾不足一个字节,则补足一个字节。以右单引号字符:′’′为例,右单引号字符的第一字模数据如表1所示,即0x70、0x70、0x 30、0x60、0XE0、0xC0、0x80。因为第一字模数据中的有效部分为高4位,所以在本发明实施例中,将第一字模数据中的无效部分即低4位去掉,重新拼合成字节,并进行整体对齐,第一字模数据中共有7个字节,2个第一字模数据的字节重新拼合成第二字模数据的1个字节,最后剩下1个第一字模数据的字节生成第二字模数据的半个字节,则该半个字节后补0,补足该字节。因此,该右单引号字符的第二字模数据具体为0x77、0x36、0xEC、0x80。
步骤108,根据字符的第一属性计算字符的第二字模数据的存储值D和基于存储值计算字符的第二属性。
具体地,第二字模数据的存储值D是第二字模数据占用存储空间的大小。即第二字模数据占用存储空间的字节数。该第二字模数据的存储值D的计算公式如公式(1)所示。
Figure BDA00001715765700091
公式(1)
其中,D为第二字模数据的存储值,sw为字符实体的宽,sh为字符实体的高,
Figure BDA00001715765700092
为向上取整函数。
以右单引号字符:′’′为例,右单引号字符的实体宽度为4位,右单引号字符的实体高度7位。根据公式(1)计算出右单引号字符的第二字模数据的存储值D为4。这与步骤106中的右单引号字符的第二字模数据的实际字节个数相同。
另外,字符的第二属性为第二字模数据的偏移地址;第二字模数据的偏移地址为字符在第二字模数据库中之前的所有的字符的第二字模数据的存储值之和。
步骤109,根据统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库。
具体地,由统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库,如图3所示。该字库包括:字库头31、所有字符的统一码的编码列表32、所有字符的字符属性列表33和第二字模数据库34。其中,字库头31包括该字库总字符的数目N。所有字符的字符属性列表33包括第一字符的属性、第二字符的属性、...、第N字符的属性,如图4所示。每一字符的属性包括该字符的第一属性和第二属性。其中,该字符的第一属性为该字符整体的宽、高;该字符实体的宽、高;该字符实体相对于该字符整体的水平方向、竖直方向的偏移值;该字符的第二属性为该字符的偏移地址。该字符的偏移地址的计算过程为该字符在第二字模数据库中之前的所有的字符的第二字模数据的存储值之和。第二字模数据库34包括第一字符的第二字模数据、第二字符的第二字模数据、...、第N字符的第二字模数据,如图5所示。
另外,不同语言同时显示对显示效果要求比较苛刻,通常的点阵字库仅支持一种固定的字号,导致不同语言显示时显示效果不佳,页面不够美观,如果能够根据不同语言的实际情况,对不同的语言采用不同的字号,可以大大提升不同语言同时显示的页面效果。本字库中字符属性包括字符整体的宽、高,字符实体的宽、高,字符实体相对于字符整体的水平、竖直偏移,字模数据的偏移地址,其中不同的字符含有各自的宽、高属性,使字库具备了不同语言采用不同字号的能力;同时,制作所述多语言字库所需的多个所述点阵之间可以采用不同的字符属性,即不同的语言的矢量字库转换为点阵字库的过程中,可以采用不同的字号,然后利用不同字号的所述点阵字库,制作所述多语言字库,此时多语言字库支持不同语言采用不同字号。
因此,本发明实施例提供的字库的制作方法,根据挑选制作字库的所需语言的统一码并建立统一码的编码列表,可以根据实际需要自主选择制作字库的所需语言;获取制作字库的所需语言的矢量字库再转换为点阵字库,可以根据实际需求定制所需字符,使得不同字符支持不同字号;利用编码列表从点阵字库中选取字符并获取该字符的第一字模数据和第一属性,根据字符的第一字模数据生成第二字模数据,第二字模数据为第一字模数据的有效部分,这样可以大量节省第二字模数据库的存储空间;计算该字符存储值D和和第二属性,这样可以提高查找字符的效率同时加快显示的速度;根据统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库,该字库的制作方法易于实现同时仅仅更新编码列表就可以很方便的裁剪字库。
图6为本发明实施例提供的字库的制作装置的示意图。如图所示,本发明实施例具体包括:第一获取单元61、转换单元62、挑选单元63、选取单元64、第二获取单元65和第一组成单元66。
第一获取单元61用于获取所述制作所述字库的所需语言的矢量字库;转换单元62用于将所述矢量字库转换为点阵字库;挑选单元63用于挑选制作字库的所需语言的统一码并建立统一码的编码列表;选取单元64用于利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;第二获取单元65用于根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;第一组成单元66用于根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。
优选地,本发明实施例提供的字库的制作装置还进一步包括:生成单元67、计算单元68和第二组成单元69。
生成单元67用于根据所述字符的所述第一字模数据生成第二字模数据;计算单元68用于根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;第二组成单元69用于根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。
具体地,第一获取单元61中制作的字库为多语言字库,故在制作字库之前首先需要确定该字库需要的语言种类,比如汉语、英语等。其中,该语言种类为两种或两种以上。然后在Windows系统下获取所需语言的矢量字库TrueType,比如获取汉语的矢量字库和英语的矢量字库。
转换单元62中通过工具将所需语言的矢量字库转换为点阵字库。比如,通过ttf2bdf等工具将TrueType矢量字库转换为BDF点阵字库文件。
挑选单元63中根据实际需要挑选制作字库的所需语言的统一码。若所需语言为汉语,根据实际需要确定需要的汉语字符或字符集。该汉语字符或字符集是由产品的功能或用户的需要所决定的。一般情况下,一些产品所用到的字符和字符集都是固定的。利用挑选出来的所有字符或字符集的统一码建立统一码的编码列表。另外,该编码列表为其他提前制作好的编码列表。
选取单元64和第二获取单元65中以BDF点阵字库为例,右单引号字符′’′的统一码为0x2019,并在BDF点阵字库选取右单引号字符:′’′,并查找到在BDF点阵字库中对右单引号字符的描述,从该描述中获取该字符的第一字模数据和第一属性。
生成单元67中将第一字模数据中的无效部分即低4位去掉,重新拼合成字节,生成第二字模数据。
计算单元68中第二字模数据的存储值D是第二字模数据占用存储空间的大小。即第二字模数据占用存储空间的字节数。该第二字模数据的存储值D的计算公式如公式(1)所示;另外,字符的第二属性为第二字模数据的偏移地址;第二字模数据的偏移地址为字符在第二字模数据库中之前的所有的字符的第二字模数据的存储值之和。
第二组成单元69中字库包括:字库头31、所有字符的统一码的编码列表32、所有字符的字符属性列表33和第二字模数据库34,如图3所示。字库头31包括该字库总字符的数目N。所有字符的字符属性列表33包括第一字符的属性、第二字符的属性、...、第N字符的属性,,如图4所示。每一字符的属性包括该字符的第一属性和第二属性。其中,该字符的第一属性为该字符整体的宽、高;该字符实体的宽、高;该字符实体相对于该字符整体的水平方向、竖直方向的偏移值;该字符的第二属性为该字符的偏移地址。该字符的偏移地址的计算过程为该字符在第二字模数据库中之前的所有的字符的第二字模数据的存储值之和。第二字模数据库34包括第一字符的第二字模数据、第二字符的第二字模数据、...、第N字符的第二字模数据,如图5所示。
本发明实施例提供的字库的制作方法,根据挑选单元挑选制作字库的所需语言的统一码并建立统一码的编码列表,可以根据实际需要自主选择制作字库的所需语言;第一获取单元获取制作字库的所需语言的矢量字库再转换为点阵字库,可以根据实际需求定制所需字符,使得不同字符支持不同字号;利用编码列表从点阵字库中选取字符并获取该字符的第一字模数据和第一属性,通过生成单元将字符的第一字模数据生成第二字模数据,第二字模数据为第一字模数据的有效部分,这样可以大量节省第二字模数据库的存储空间;计算该字符存储值D和和第二属性,这样可以提高查找字符的效率同时加快显示的速度;最后由第二组成单元根据统一码的编码列表、字符的第一属性、字符的第二属性和字符的第二字模数据组成字库。该字库的制作装置易于实现同时仅仅更新编码列表就可以很方便的裁剪字库。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本发明中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种字库的制作方法,其特征在于,所述方法包括:
获取所述制作所述字库的所需语言的矢量字库;
将所述矢量字库转换为点阵字库;
利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;
根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;
根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。
2.根据权利要求1所述的字库的制作方法,其特征在于,所述利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符之前还包括:
挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。
3.根据权利要求1所述的字库的制作方法,其特征在于,所述根据所述字符获取所述字符的第一字模数据和所述字符的第一属性之后还包括:
将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;
根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;
根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。
4.根据权利要求3所述的字库的制作方法,其特征在于,所述制作所述字库的所需语言的种类为两种或两种以上,并且所述制作的所述字库为多语言字库。
5.根据权利要求4所述的字库的制作方法,其特征在于,所述制作所述多语言字库的所需的多个所述点阵字库之间具有不同的字符属性。
6.根据权利要求1所述的字库的制作方法,其特征在于,所述字符的第一字模数据和所述字符的第一属性具体为:
所述字符的第一字模数据为所述字符的以行对齐方式存储的实体数据;
所述字符的第一属性包括所述字符整体的宽、高;所述字符实体的宽、高;所述字符实体相对于所述字符整体的水平方向、竖直方向的偏移值。
7.根据权利要求3所述的字库的制作方法,其特征在于,所述将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据具体为:
对所述第一字模数据进行裁剪,去掉所述第一字模数据中的无效部分,保留所述第一字模数据中的有效部分,并进行整体对齐,当所述第二字模数据结尾不足一个字节,则补足一个字节。
8.根据权利要求3所述的字库的制作方法,其特征在于,所述字符的第二字模数据的存储值的计算公式为:
其中,D为所述字符的第二字模数据的存储值,sw为所述字符实体的宽,sh为所述字符实体的高,为向上取整函数。
9.根据权利要求8所述的字库的制作方法,其特征在于,所述字符的第二属性为所述第二字模数据的偏移地址;所述第二字模数据的偏移地址为所述字符在第二字模数据库中之前的所有的所述字符的第二字模数据的存储值之和。
10.一种字库的制作装置,其特征在于,所述装置包括:
第一获取单元,用于获取所述制作所述字库的所需语言的矢量字库;
转换单元,用于将所述矢量字库转换为点阵字库;
选取单元,用于利用所述所需语言的统一码的编码列表从所述点阵字库中选取字符;
第二获取单元,用于根据所述字符获取所述字符的第一字模数据和所述字符的第一属性;
第一组成单元,用于根据所述统一码的编码列表、所述字符的第一字模数据和所述字符的第一属性组成所述字库。
11.根据权利要求10所述的字库的制作装置,其特征在于,所述装置还包括:
挑选单元,用于挑选所述制作所述字库的所需语言的统一码并建立所述统一码的编码列表。
12.根据权利要求10所述的字库的制作装置,其特征在于,所述装置还包括:
生成单元,用于将所述字符的所述第一字模数据进行裁剪,从而生成第二字模数据;
计算单元,用于根据所述字符的第一属性计算所述字符的所述第二字模数据的存储值和基于所述第二字模数据的存储值计算所述字符的第二属性;
第二组成单元,用于根据所述统一码的编码列表、所述字符的第一属性、所述字符的第二属性和所述字符的第二字模数据组成所述字库。
CN201210180060.7A 2012-06-01 2012-06-01 字库的制作方法和装置 Expired - Fee Related CN102750337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210180060.7A CN102750337B (zh) 2012-06-01 2012-06-01 字库的制作方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210180060.7A CN102750337B (zh) 2012-06-01 2012-06-01 字库的制作方法和装置

Publications (2)

Publication Number Publication Date
CN102750337A true CN102750337A (zh) 2012-10-24
CN102750337B CN102750337B (zh) 2015-05-27

Family

ID=47030522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210180060.7A Expired - Fee Related CN102750337B (zh) 2012-06-01 2012-06-01 字库的制作方法和装置

Country Status (1)

Country Link
CN (1) CN102750337B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516899A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 字库更新方法和装置
CN104598560A (zh) * 2015-01-06 2015-05-06 绍兴文理学院 一种嵌入式系统多字体文字的显示方法和显示系统
CN106354516A (zh) * 2016-09-27 2017-01-25 浙江宇视科技有限公司 追踪设备的方法及装置
CN106844559A (zh) * 2016-12-31 2017-06-13 歌尔科技有限公司 一种点阵字库生成方法、查询方法及对应的装置
CN109165065A (zh) * 2018-07-26 2019-01-08 阿里巴巴集团控股有限公司 一种字阶表的处理方法、装置及设备
CN109992221A (zh) * 2019-04-12 2019-07-09 深圳高通半导体有限公司 一种用于矢量字库运算的处理器芯片的实现方法
CN112949257A (zh) * 2021-02-26 2021-06-11 深圳市英威腾电气股份有限公司 字符显示方法、装置、设备以及计算机可读存储介质
CN113360113A (zh) * 2021-05-24 2021-09-07 中国电子科技集团公司第四十一研究所 一种基于oled屏实现动态调整字符显示宽度的系统及方法
CN113569534A (zh) * 2020-04-29 2021-10-29 杭州海康威视数字技术股份有限公司 一种检测文档中乱码的方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114065701A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 文本显示方法、编译方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192212A (zh) * 2006-11-20 2008-06-04 中兴通讯股份有限公司 一种在终端上实现带边框字体的系统与方法
CN101968814A (zh) * 2010-10-29 2011-02-09 四川长虹电器股份有限公司 点阵字库制作方法
CN102026033A (zh) * 2010-12-07 2011-04-20 福建新大陆通信科技股份有限公司 一种机顶盒显示缅甸文的方法
CN102141916A (zh) * 2011-01-19 2011-08-03 深圳创维数字技术股份有限公司 嵌入式设备及其在osd界面显示语言文字的方法
CN102339287A (zh) * 2010-07-23 2012-02-01 上海晨兴希姆通电子科技有限公司 Bdf字库制作方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192212A (zh) * 2006-11-20 2008-06-04 中兴通讯股份有限公司 一种在终端上实现带边框字体的系统与方法
CN102339287A (zh) * 2010-07-23 2012-02-01 上海晨兴希姆通电子科技有限公司 Bdf字库制作方法
CN101968814A (zh) * 2010-10-29 2011-02-09 四川长虹电器股份有限公司 点阵字库制作方法
CN102026033A (zh) * 2010-12-07 2011-04-20 福建新大陆通信科技股份有限公司 一种机顶盒显示缅甸文的方法
CN102141916A (zh) * 2011-01-19 2011-08-03 深圳创维数字技术股份有限公司 嵌入式设备及其在osd界面显示语言文字的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516899A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 字库更新方法和装置
CN104516899B (zh) * 2013-09-29 2017-10-13 北大方正集团有限公司 字库更新方法和装置
CN104598560A (zh) * 2015-01-06 2015-05-06 绍兴文理学院 一种嵌入式系统多字体文字的显示方法和显示系统
CN106354516A (zh) * 2016-09-27 2017-01-25 浙江宇视科技有限公司 追踪设备的方法及装置
CN106354516B (zh) * 2016-09-27 2019-10-18 浙江宇视科技有限公司 追踪设备的方法及装置
CN106844559A (zh) * 2016-12-31 2017-06-13 歌尔科技有限公司 一种点阵字库生成方法、查询方法及对应的装置
CN109165065A (zh) * 2018-07-26 2019-01-08 阿里巴巴集团控股有限公司 一种字阶表的处理方法、装置及设备
CN109165065B (zh) * 2018-07-26 2021-10-12 创新先进技术有限公司 一种字阶表的处理方法、装置及设备
CN109992221A (zh) * 2019-04-12 2019-07-09 深圳高通半导体有限公司 一种用于矢量字库运算的处理器芯片的实现方法
CN113569534A (zh) * 2020-04-29 2021-10-29 杭州海康威视数字技术股份有限公司 一种检测文档中乱码的方法及装置
CN112949257A (zh) * 2021-02-26 2021-06-11 深圳市英威腾电气股份有限公司 字符显示方法、装置、设备以及计算机可读存储介质
CN113360113A (zh) * 2021-05-24 2021-09-07 中国电子科技集团公司第四十一研究所 一种基于oled屏实现动态调整字符显示宽度的系统及方法

Also Published As

Publication number Publication date
CN102750337B (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN102750337A (zh) 字库的制作方法和装置
CN102609256B (zh) 一种基于网页的动态图表生成方法
CN100498927C (zh) 二维图形引擎中的点阵字符的缩进方法与中文处理方法
CN101694603A (zh) 基于Unicode的跨平台蒙古文显示及智能输入方法
CN101963954A (zh) 一种文字显示的方法及装置
CN102662926A (zh) 字库的存储与访问方法
CN101093513A (zh) 一种用于解决计算机软件多语言支持问题的方法和系统
CN101655835B (zh) 电子文档中文字信息处理、输出和字符检索的方法及装置
CN103365894B (zh) 一种字体格式转换方法和装置
CN104063359B (zh) 个性化汉字字库的实现方法
US9081529B1 (en) Generation of electronic books
CN102768655B (zh) 基于java的蒙古文显示方法
CN101593171B (zh) 一种可通过内存映射方式访问的字体文件及其访问方法
CN102063416B (zh) 向pdf文件内嵌双字节字体的方法及其系统
CA2602749C (en) System and method of report representation
CN104503954A (zh) 一种文字组合显示方法及显示系统
CN101382931A (zh) 一种用于电子、信息及通信系统的交换内码及其应用
CN101957837B (zh) 一种笔划矢量字库的存取方法
CN101201829B (zh) 一种汉字库系统及其字码显示方法
CN102723067B (zh) 一种字符显示方法和装置
CN102902658A (zh) 一种炫彩字显示方法和装置
Li et al. A human-computer interactive dynamic description method for Jiaguwen Characters
CN104346375A (zh) 一种制作中间字库的方法以及装置
CN107066111B (zh) 替换式组字系统
CN102509329A (zh) 渲染字体的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150527

Termination date: 20200601

CF01 Termination of patent right due to non-payment of annual fee