您的位置:首页 > 运维架构 > Linux

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

2011-03-04 23:44 330 查看
转自: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

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanjun_wang/archive/2010/12/18/6083685.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: