qpf字库制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适用于minigui1.6版本的qpf字库制作简述(By:fjh)
一、需求
由于项目中选用的minigui 1.6版本仅支持qpf、rbf字库,现有的qpf和rbf 字库最大仅有16号字体,而cr202新界面中又要使用大号的中文简体和中文繁体字库,故需要产生可用的大号字体qpf字库。
二、方法
选择用ttf --> qpf的方法产生需要的qpf字库,这种方法可用qt平台下的makeqpf工具实现。
三、问题
在字体转化过程中发现以下问题:
较新的qt版本(qt4以上),编译运行makeqpf工具产生的是qpf2格式字库,cr的minigui平台不可用;较旧的qt版本(qt2左右),所带的tools里的字体转换工具不是makeqpf,转换产生的也是我们不需要的某种字体;只有能够成功安装的qt3系列版本才能产生对应字库。
四、过程详述
A、Qpf字库制作过程:
(平台Linux系统+ QT: qt-embedded-free-3.3.3.tar.bz2 )
平台准备:
在根目录下新建一个目录mkdir qte
2. 把qt-embedded-free-
3.3.3.tar.bz2移到qte目录
3. 解压qt-embedded-free-3.3.3.tar.bz2
4. 重命名qt-embedded-free-3.3.3.tar.bz2文件夹
mv qt-embedded-free-3.3.3 qte
5. 在根目录的qte目录下写如下shell脚本并保存成buildqte
#!/bin/sh
cd qte
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -qt-gfx-transformed -qvfb
make -C src #这样只是编译src目录下的源码如果没有moc uic 工具就全部编译可以直接make而不要后面的-C src
cd ..
make
6. 执行buildqte脚本编译x86版本的qte库.
7.修改buildqte shell脚本.
把buildqte脚本中的下面一行注释掉
# ./configure -qt-gfx-transformed -qvfb
./buildqte
重新编译qte库
Makeqpf的使用:
编译makeqpf工具(qte用这个工具来生成qpf字库).要编译成qte的版本,不能编译成x11版本
../../bin/qmake -project
../../bin/qmake
修改fontdir文件,一般默认在/usr/lib/qt-3.1/lib/fonts/目录下,修改格式如下:
newfont fsong.ttf FT n 50 140 u
运行makeqpf生成qpf字库
如果没有qvfb工具,就执行命令makeqpf -A
B、Ttf字库裁剪
完整的简体中文字库和繁体中文字库都很大,可以针对项目需要对完整的ttf字库做一个裁剪,去掉不用的字。
工具:fontcreator.exe
使用方法:
1、定位
这里选编辑->查找或者直接Ctrl+F,就会看到如下的界面
通过unicode编码查询,(查询可参考:/code/unicode/)查出所需汉字unicodes编码值,在上图的小框中的美元符号后输入,即可定位出所需汉字在字库的位置。
2、保存位图
新建ttf文件,将选中字符复制粘贴过去,但这时复制过去的只是字体的图片,并不带字体属性,这样在使用的时候仍无法调用。
3、编辑属性
在新存储的字符库中,要分别对每个字符进行属性标注,关键是标注出该字符对应的unicodes编码值,最终保存,这样裁剪后可以使用的字库即生成了。
参考文档:
/bbs/read.php?tid=7994
/leer/archive/2011/07/21/font-family-define.html