因为QPF是预渲染的,嵌入式Qt使用它时不需要读取和解析它,只需要进行简单快速的映射,因此它对内存的消耗是最小的。 因此一种方法是利用TTF和BDF字体文件制作好需要的QPF字体文件,然后移除对两者的支持。 TTF、PFA和QPF字体都支持字体的反锯齿,即使字体尽量显示的圆滑而不会有锯齿感,从而提供更好的可读性和观感,特别...
QT中QPF字库制作与旋转字体实现 是本文要介绍的内容,Qt可以支持以下四种形态的字体格式:TrueType (TTF),Postscript Type(PFA/PFB),Bitmap Distribution Format fonts(BDF),QtPrerendered Font(QPF)。 如果直接使用TTF或PFA/PFB。即让应用程序在显示的时候再计算点阵,最终的效果并不理想,会发现有些字大,有些字小,...
QT直接支持TTF的字体文件,我们直接复制几个ttf文件,至/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/fonts目录下,将qpf的文件删除 重新在开发板上运行,发现几种字体和字号都能支持,看来系统中有多种字号,用ttf文件还是蛮方便的。 结语: 有人说,ttf文件很大,比较费flash,QPF是点阵字库文件,占用flash较小,而且...
最近在做QT项目发现中文没法显示,于是百度QT嵌入式显示中文,基本上提示的都是把ttf字库转换为QPF(QT专门支持二进制的),发现这个qpf本身制作就很麻烦,按照网上的做法实实在在来了一边,发现编译一个qvfb都好麻烦了,还有makeqpf程序。qvfb属于x86用于给QT提供程序提供fb环境的。makeqpf不能直接在系统上面跑,必须依赖于系...
QPF文件包含了一些必要的字体,这些字体可以通过makeqpf工具取得,或者通过运行程序时加上“-savefonts”选项获取。如果应用程序中使用到的字体都是QPF格式,那么Qt/Embedded将被重新配置,并排除对TTF和TYPE1类型的字体的编译,这样就可以减少Qt/Embedded的库的大小和存储字体的空间。例如一个10点阵大小的包含所有ASCII字符的...
所以在字体显示时,Qt只要读取字体,做相应分析,然后显示就完成了,这样进一步减少了对RAM资源的浪费。QPF字体是基于UNICODE编码的,这为QT/Embedded良好的可移植性奠定了基础。有关QPF更详细的资料可以查阅参考文献[5]。 2、如何从TTF字体文件转成QPF字体文件
qpf是Qt/Embedded专用的一种适合嵌入式应用的字体,它属于位图字体,不可以缩放,而ttf字体可以缩放。默认情况下Qt/Embedded在lib/fonts目录下提供了一种可以显示中文的字体库UniFont,但是该字体库中没有ttf的字体。为了使用ttf字体显示中文,本文采取如下的方法:拷贝一种支持unicode编码的ttf字体到lib/fonts目录下,例如,...
E、makeqpf:创建用于嵌入式设备的qpf格式。qpf是一种预先渲染的字体,直接保存成二进制内容,使用的时候可以用内存映射加载,从加载到绘制的过程不需要计算。 F、uic:User Interface Compiler。从用户界面的文件(.ui)生成C++代码。 G、rcc:Resource Compiler。rcc工具根据.qrc文件的内容将相关的资源在编译过程中嵌入到Qt...
makeqpf:创建用于嵌入式设备的qpf格式。qpf是一种预先渲染的字体,直接保存成二进制内容,使用的时候可以用存储器映射加载,从加载到绘制的过程不需要计算。 uic:User Interface Compiler。从用户界面的文件(.ui)生成C++代码。 rcc:Resource Compiler。rcc工具根据.qrc文件的内容将相关的资源在编译过程中嵌入到Qt应用程序。
解决思路:获取汉字的unicode编码,使用unicode编码来获取ttf字库中的汉字来生成qpf字库. 首先对我所用的linux环境作以下说明: Linux系统: RedhatLinux9 QT: 下面正式开始了: 1.在根目录下新建一个目录 mkdirqte 2.把移到qte目录 mv/qte 3.解压 tar-jxvf ...