Qt 4.7.0 linux windows 嵌入式qpf 汉字 希腊文 字体 制件 步骤 及工具下载

    技术2022-05-19  38

    转自:http://blog.csdn.net/yanjun_wang/archive/2010/12/18/6083685.aspx

    花了不少时间,走了不少弯路,终于编出了想要的东西 。网上相关的文章过于陈旧,所在此与大家分享,希望能有帮助。。

           在做嵌入式GUI的开发过程当中,汉字的显示当然也是很重要的一部分了。字体的美观且又体积小,读取速度快,是嵌入式GUI最为关心的问题。考虑到这些问题,Qt 为了大家提供了,一种体积小,读取速度快的字体格式--qpf 字体(具体内容其它地方都有介绍)。那么如何才能得到qpf格式的字体呢?Qt 在给出格式的同时,又提供了一个制作工具--makeqpf .但是现在的版本默认configure 编译,不会把这个工具编译出来。但是可以自己找到源码单独并编译。下面是制作过程:

    http://blog.csdn.net/yanjun_wang/archive/2010/12/18/6083685.aspx

    1、 编译linux x11 下的makeqpf .(假设已经成功编译出了,QT-4.7.0. 的库。编译环境已经搭建成功)。

    2、 #cd  qt-everywhere-opensource-src-4.7.0

         #cd  tools/makeqpf/        //进入makeqpf的源码

         #qmake  -project

         #qmake 

         #make

    3、 如上进行编译,这时会出下如下的错误:

    在包含自 ../../include/QtCore/private/qharfbuzz_p.h:1 的文件中,                  从 ../../include/QtGui/private/../../../src/gui/text/qtextengine_p.h:72,                  从 ../../include/QtGui/private/qtextengine_p.h:1,                  从 ../../include/QtGui/private/../../../src/gui/text/qfontengine_p.h:60,                  从 ../../include/QtGui/private/../../../src/gui/text/qfontengine_qpf_p.h:56,                  从 ../../include/QtGui/private/qfontengine_qpf_p.h:1,                  从 qpf2.h:45,                  从 main.cpp:44: ../../include/QtCore/private/../../../src/corelib/tools/qharfbuzz_p.h:57:29: 错误:harfbuzz-shaper.h:没有那个文件或目录

    说找不到harfbuzz-shaper.h 这个头文件。

    4、 需要我们指定一下。打开makeqpf.pro 修改include 路径。

         INCLUDEPATH += . ../../src/3rdparty/harfbuzz/src

         保存退出

    5、 #qmake 

         #make

         重新编译,又出错了。。汗。。

         ../../include/QtCore/../../src/corelib/io/qdir.h:108: 错误:expected identifier before numeric constant      ../../include/QtCore/../../src/corelib/io/qdir.h:108: 错误:expected `}' before numeric constant      ../../include/QtCore/../../src/corelib/io/qdir.h:108: 错误:expected unqualified-id before numeric constant

         这个错误很是头疼,找到文件打开。。

         #cd  systemTool/qt-everywhere-opensource-src-4.7.0/src/corelib/io

         #vi   qdir.h   找到108行

         我是真没有发现什么错误。。。折腾办天,没办法,屏蔽掉。。(后来看制作的字体,也没什么影响)

        enum SortFlag { Name        = 0x00,                     Time        = 0x01,                     Size        = 0x02,   //               Unsorted    = 0x03,       (大家也可以找一找)                     SortByMask  = 0x03,

                        DirsFirst   = 0x04,                     Reversed    = 0x08,                     IgnoreCase  = 0x10,                     DirsLast    = 0x20,                     LocaleAware = 0x40,                     Type        = 0x80,                     NoSort = -1 #ifdef QT3_SUPPORT                   ,DefaultSort = NoSort #endif     };

        保存,并退出。

    6、 编译,终于过去了。在目录下生成了 makepqf ,现在可以运行一下看看了。。呵呵

    这个是windws 下的一个makepqf.exe 工具。。

    7、 编译windows下的makepqf , 如果要是能先编译这个,那就会省不少劲了。。走了不少弯路。

         windows下的好多了,不需要做什么修改。

         进行  C:/Qt/2010.05/qt/tools/makeqpf  文件夹。

         将makeqpf.pro 拖到QtCreator 中编译即可。

        (必须在安装的目录下编译,拷到别的地方,就又会出像上面一样的很多问题)。晕死。

    8、 好了,现在两个版本的都有,大家好好用吧。

    9、 没有时间的朋友么可以直接下载,地址如下:

    http://download.csdn.net/source/2919209

    本文来自博客,转载请标明出处:http://blog.csdn.net/yanjun_wang/archive/2010/12/18/6083685.aspx


    最新回复(0)