ZZZ:http://hi.baidu.com/weiweisuo1986/item/4f6b9797999836bc83d29501
Qt显示多种字号大小
最近在做的项目,固网信息机,遇到了Qt中文化的问题。倒不是显示不了中文,而是大小的问题。
项目中移植了文泉驿的中文字库,能够很好的地显示中文!(这里非常感谢文泉驿,给我们的Qt中文化提供了很大的方便!)但是有一个问题,文泉驿的字库只支持一种字号大小,比如wenquanyi_160_50.qpf,表示16d大小的汉字。如果系统里面还要显示其他字号的汉字,就比较麻烦,比如现在这个项目,汉字用文泉驿的没有问题,但是进入到拨号界面,显示的拨出的号码非常小,很不合理!
后面在网上找了下,发现.ttf格式的字体可以支持多种字号大小。于是在windows里找到一个常用的仿宋字库simfang.ttf,放到/usr/lib/fonts里,再在应用程序中设置QFont font("simfang",60,QFont::Normal)。普通界面显示60号字体;在拨号界面,显示240号的字体,发现比较舒服!
开发板上运行APP,发现几种字体和字号都能支持,看来系统中有多种字号,用ttf文件还是蛮方便的。
=====================另一篇文章=======================
QT/E 支持 多种 字号
QT/E 里面用的字库 *.qpf 都是点阵的,占空间大,并且一个字库只能显示一种字体,对于开发来说是很为难的,所以,希望可以在占用尽量小的空间下,用一个字库,显示多种字号
下面介绍一下方法;
QT/E 目录结构:
/qt
/qt/bin
/qt/lib
/qt/lib/fonts
/qt/examples
1. 首先编译 QT/E 的时候,QT/E的库文件需要 freetype 的支持,所以去掉选项 -no-freetype,推荐选项如下:
./configure -fast -qt-gif -xplatform qws/linux-arm-g++ -qt-style-windows -thread -pch -no-ipv6 -qt-libpng -qt-libjpeg -qt-libmng -embedded arm -little-endian -depths 4,8,16,24,32 -qt-mouse-linuxtp -qt-mouse-bus -qt-kbd-tty -qt-gfx-vga16 -shared -release -v -no-cups -no-nis
将生产的库文件 libqte-mt.so.3.3.8 拷贝到 开发板的 /qt/lib/ 目录下
关于 QT/E的编译请看另一篇文章
2. 在 windows 下选择一种字体, 选择 *.ttf 格式的,以仿宋为例(simfang.ttf)
3. 将文件 simfang.ttf 放到开发板 的 /qt/lib/fonts 目录
4. 修改 fonts 目录 下的 fontdir 文件,增加下面一行(此时可以将其余的都去掉,注意第一行不要是空的)
simfang simfang.ttf FT n 75 360 su
这样就可以了,下面测试一下
自己写个小程序,里面有多种字号,放到开发板,运行一下,看一下效果
我的可以,有问题咱再讨论
===================sno:自己在tiny4412Qt界面上的验证:
下面介绍一下方法;
QT/E 目录结构:
/qt
/qt/bin
/qt/lib
/qt/lib/fonts
/qt/examples
1. 首先编译 QT/E 的时候,QT/E的库文件需要 freetype 的支持,所以去掉选项 -no-freetype,推荐选项如下:
./configure -fast -qt-gif -xplatform qws/linux-arm-g++ -qt-style-windows -thread -pch -no-ipv6 -qt-libpng -qt-libjpeg -qt-libmng -embedded arm -little-endian -depths 4,8,16,24,32 -qt-mouse-linuxtp -qt-mouse-bus -qt-kbd-tty -qt-gfx-vga16 -shared -release -v -no-cups -no-nis
将生产的库文件 libqte-mt.so.3.3.8 拷贝到 开发板的 /qt/lib/ 目录下
关于 QT/E的编译请看另一篇文章
2. 在 windows 下选择一种字体, 选择 *.ttf 格式的,以仿宋为例(simfang.ttf)
3. 将文件 simfang.ttf 放到开发板 的 /qt/lib/fonts 目录
4. 修改 fonts 目录 下的 fontdir 文件,增加下面一行(此时可以将其余的都去掉,注意第一行不要是空的)
simfang simfang.ttf FT n 75 360 su
这样就可以了,下面测试一下
自己写个小程序,里面有多种字号,放到开发板,运行一下,看一下效果
我的可以,有问题咱再讨论