BDF字库制作方法技术

技术编号:7094373 阅读:1074 留言:1更新日期:2012-04-11 18:40
本发明专利技术公开了一种BDF字库制作方法,其包括:S1、将要制作进BDF字库的多个字符以文本格式保存;S2、将保存的该文本导入一字模提取软件,以将该多个字符取模为多个点阵数组,并将该多个点阵数组保存为一编程软件能够识别的格式;S3、查找每个字符的UNICODE十进制索引;S4、在该编程软件中编写一BDF字库生成程序,该BDF字库生成程序调用该多个点阵数组的数据、并将每个字符与该字符的UNICODE十进制索引进行关联,以生成一BDF字库文件。本发明专利技术能够省去向语言供应商购买BDF字库文件的费用,降低开发成本。

【技术实现步骤摘要】

本专利技术涉及一种字库制作方法,特别是涉及一种BDF (Glypn Bitmap Distribution format,Adobe公司制定的点阵字体文件格式)字库制作方法。
技术介绍
在MTK平台(联发科技股份有限公司出品的手机平台)中,若想添加某种语言的字库以及相应的输入法,例如添加保加利亚和匈牙利两国语言的字库以及输入法,一般都是采用MCT工具(MTK平台的字库转换工具)调用相应语言的BDF字库文件来实现的。通常情况下,各种语言的BDF字库文件均需要由语言供应商来提供,而针对每个语言的BDF字库便均需要向语言供应商支付一定的制作费用,这对于手机开发而言,便意味着开发成本的上升。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中必须从语言供应商处购买BDF 字库的缺陷,提供一种能够较为便捷地自行制作BDF字库的BDF字库制作方法。本专利技术是通过下述技术方案来解决上述技术问题的一种BDF字库制作方法,其特点在于,其包括=S1、将要制作进BDF字库的多个字符以文本格式保存;S2、将保存的该文本导入一字模提取软件,以将该多个字符取模为多个点阵数组,并将该多个点阵数组保存为一编程软件能够识别的格式;S3、查找每个字符的UNIC0DE(统一码、万国码、单一码,一种在计算机上使用的通用字符编码)十进制索引;S4、在该编程软件中编写一 BDF字库生成程序,该BDF字库生成程序调用该多个点阵数组的数据、并将每个字符与该字符的UNICODE十进制索引进行关联,以生成一 BDF字库文件。较佳地,该BDF字库生成程序对每个字符左侧和/或右侧的留白进行删减或消除。较佳地,该字模提取软件为HZDotReader。较佳地,在HZDotReader中对取模字体、取模方式以及输出格式进行设置。较佳地,该编程软件为C++编辑器。本专利技术的积极进步效果在于通过采用本专利技术的该BDF字库制作方法,开发商无需再从语言供应商处购买各种语言的BDF字库,只需经过较为便捷的制作流程,开发商便能够自行地制作获得任何语言的BDF字库,这将能够显著地降低开发成本。附图说明图1为本专利技术中采用的HZDotReader软件的第一界面截图。图2为本专利技术中采用的HZDotReader软件的第二界面截图。图3为本专利技术中采用的HZDotReader软件的第三界面截图。图4为本专利技术中采用的HZDotReader软件的第四界面截图。图5为本专利技术中采用的MCT工具的界面截图。具体实施例方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。在对本专利技术的该BDF字库制作方法展开详细说明之前,首先对由语言供应商提供的标准BDF字库文件的文件格式进行初步的分析。如下所示地,每个BDF字库文件都具备一个索引头,该索引头用于记录每个语言的DBF字库文件的大致内容信息STARTF0NT 1.0FONTSIZE 14 72 72F0NTB0UND INDEX 15 1400STARTPROPERTIES 2F0NT_ASCENT 12F0NT_DESCENT 2ENDPROPERTIESCHARS 95以上所示的该索引头仅以14*14尺寸的字符点阵为例,在该索引头中,F0NTB0UND INDEX项目的第一个数值15表示的是这个BDF字库文件中所有字符的最大宽度,即15个像素,而第二个数值14表示的则是所有字符的高度;F0NT_ACENT与F0NT_DESCENT的数值之和便表示字符的宽度;而CHARS的数值则表示这个BDF字库文件中的字符个数。接下来,再对标准的BDF字库文件中每个字符的数据进行初步分析。由于在任何 BDF字库文件中,均是按照十进制排序的顺序对各个字符进行索引的,以下便以某个BDF字库中十进制索引为33的字符为例,对其数据格式进行说明STARTCHAR 33ENDING 33SffIDTH 5200DffIDTH 22BBX 214 00BITMAP00008080808080800080804000000ENDCHAR在该BDF字库文件中,十进制索引为33的该字符为“ ! ”,由上述数据可以看出,字符“ !,,在该BDF字库文件中的宽度数值为2,而高度数值则为14,这与“ !,,细长的形态完全对应。“BITMAP”之后的一串“00”或“80”的数据则为该字符的完整的点阵数组,此处的 “00”或“80”均为16进制,即“00”表示一个“00000000”的8位二进制数组,“80”表示一个 “10000000”的8位二进制数组,当二进制数组中的某一位为1时则意味着与该位相应的像素为有效数据,而当二进制数组中的某一位为0时则意味着与该位相应的像素为空白。具体观察该串数据可知,其中在起始处、中间处以及结束处分别出现了“00”的数据,起始处的 “00”表示的便是“! ”上方的留白,中间处的“00”表示的便是“! ”中的竖线与圆点之间的空白,而结束处的“00”则表示“! ”下方的留白。由上述分析可知,只要能够将某语言中的各个字符转换为以上的点阵数组,便可以基于这些点阵数组来自行制作该语言的BDF字库文件了。因此,本专利技术的该BDF字库制作方法主要包括以下步骤S1、将要制作进BDF字库的多个字符以文本格式保存;&、将保存的该文本导入一字模提取软件,以将该多个字符取模为多个点阵数组, 并将该多个点阵数组保存为一编程软件能够识别的格式;&、查找每个字符的UNICODE十进制索引;、、在该编程软件中编写一BDF字库生成程序,该BDF字库生成程序调用该多个点阵数组的数据、并将每个字符与该字符的UNICODE十进制索引进行关联,以生成一 BDF字库文件。以下将以保加利亚文为例对上述步骤进行详细说明,其中,在该实施例中将选用 C++编辑器作为编程软件,但显然选用其它编程语言的编辑器也是可行的。对于步骤S1,将保加利亚文的全部字符保存为文本格式,具体的字符可以从网上查询获得,也可以利用Word软件中的“插入- >字符”功能完成。对于步骤&,现有的字模提取软件有很多种,在该实施例中选用HZDotReader软件,在此软件基础上,步骤&将具体包括以下步骤S21、点击该软件菜单中的“文”,以将步骤S1中生成的文本文件导入;S22、对该软件的“取模字体”参数进行设置,如图1所示,例如设置每个字符的输出字体、点阵大小、特殊效果等等;S23、对该软件的“取模方式”参数进行设置,如图2所示,该设置应当根据最后生成的BDF字库的应用平台在输出字符时的点阵打印顺序来选择,针对MTK平台,参照图2进行设置即可;S24、对该软件的“输出格式”参数进行设置,如图3所示,例如可以选择为“C格式 8列”,此处的C格式指的便是C语言的格式,以在后续步骤中利用C++编辑器来调用该软件输出的点阵数组数据;S25、对转换完毕的各个字符所对应的多个点阵数组进行保存,如图4所示,例如另存为一保加利亚字库数据.CPP文件,当然在其它实施例的情况下也可以保存为.C或.txt 格式;S26、该将保加利亚字库数据.cpp文件中的“unsigned char code hzdot ”中的“code”字样删除,然后复制到C++编辑器中新建的一 project (工程)的RESOURC本文档来自技高网...

【技术保护点】
1.一种BDF字库制作方法,其特征在于,其包括:S1、将要制作进BDF字库的多个字符以文本格式保存;S2、将保存的该文本导入一字模提取软件,以将该多个字符取模为多个点阵数组,并将该多个点阵数组保存为一编程软件能够识别的格式;S3、查找每个字符的UNICODE十进制索引;S4、在该编程软件中编写一BDF字库生成程序,该BDF字库生成程序调用该多个点阵数组的数据、并将每个字符与该字符的UNICODE十进制索引进行关联,以生成一BDF字库文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:连俊杰
申请(专利权)人:上海晨兴希姆通电子科技有限公司
类型:发明
国别省市:31

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月10日 02:22
    字库是外文字体中文字体以及相关字符的电子文字字体集合库被广泛用于计算机网络及相关电子产品上
    0
1