• [转]使用makeqpf生成Qtopia所需汉字字体


    一、编译makeqpf

    为了能够编译一个能正常保存汉字字体的makeqpf,在编译QT库时必须定义这个宏:

    QT_TRANSFORM_VFB

    并且不能定义下面这两个宏:

    QT_NO_QWS_TRANSFORMEDQT_NO_QWS_SAVEFONTS

    如果希望使用BDF字体,需要取消 QT_NO_BDF这个宏定义。

    如果希望使用TTF字体,需要取消 QT_NO_FREETYPE这个宏定义。

    QT的configure已经包含了一个典型的makeqpf配置,可以使用下面命令编译:

    ./configure -qconfig makeqpf [extra options]
    make
    make -C tools/makeqf

    二、准备汉字字体文件

    为了生成qt字体,我们需要先将字体复制到$QTDIR/lib/fonts/目录下。大部分汉字字体都是TTF字体,按小字号显示时通常会产生一定变形,并不好看,如果需要在嵌入式系统下使用QT,最好使用点阵字体。

    http://sourceforge.net/projects/wqy/这里是一个开源的CJK点阵字体,提供了9、10、11、12点阵的黑体和普通体汉字点阵,采用的格式是pcf字体格式(可直接用于X11)。QT2的makeqpf并不支持pcf字体,我们需要将pcf转为bdf格式,在 http://www.tsg.ne.jp/GANA/S/pcf2bdf/这里提供了这个转换工具。

    经过转换后,我们得到了所期望的12点阵和9点阵的BDF汉字库:wenquanyi_9pt.bdf wenquanyi_12pt.bdf,并将这两个文件复制到$QTDIR/lib/fonts/下。

    三、生成QT使用的QPF汉字字体

    编辑$QTDIR/lib/fonts/fontdir,添加如下两行:

    unifont wenquanyi_9pt.bdf BDF n 50 90 u

    unifont wenquanyi_12pt.bdf BDF n 50 120 u

    然后先运行qvfb,接着运行makeqpf,如果makeqpf可以正常运行,那么我们会看到列表框中列出了fontdir中的所有字体列 表,找到我们刚添加的unifont字体,鼠标点击,稍等几秒后即可看到这行文本的字体已经变成这种字体,并且已经在$QTDIR/lib/fonts目录下产生unifont_90_50.qpf、unifont_120_50.qpf这两个字体文件。当这两个文件存在时,再次点击列表框中的unifont字体,makeqpf会在控制台提示Already a ROM font.

  • 相关阅读:
    策略模式
    Properties类学习笔记
    System类学习笔记
    一个反射的妙用案例
    new 对象时的暗执行顺序
    常用数据库默认端口号
    java对日开发常用语(词汇)总结
    java开发中常用语(词汇)含义
    MyBatis 常用词汇含义
    java SE,EE,ME区别
  • 原文地址:https://www.cnblogs.com/sky1991/p/3066213.html
Copyright © 2020-2023  润新知