QT中QPF字庫的制作與旋轉(zhuǎn)字體的實現(xiàn) |
2009-9-8 13:12:00 來源: |
一、前言 Qt可以支持以下四種形態(tài)的字體格式:TrueType (TTF),Postscript Type(PFA/PFB),Bitmap Distribution Format fonts(BDF),Qt Prerendered Font(QPF)。 如果直接使用TTF或PFA/PFB。即讓應(yīng)用程序在顯示的時候再計算點陣,最終的效果并不理想,會發(fā)現(xiàn)有些字大,有些字小,而且需要占用非常多的FLASH和內(nèi)存,速度也有點慢,如果直接使用BDF,速度非常慢,而且需要占用比較多的FLASH和內(nèi)存;使用QPF,速度和占用其它資源是最小的,因此我們的嵌入式產(chǎn)品中的QT軟件都是采用QPF格式的。 另一方面,嵌入式應(yīng)用中,QT界面在LCD中可能是采用旋轉(zhuǎn)的形式顯示,如7寸屏,而QT中旋轉(zhuǎn)顯示時,需要旋轉(zhuǎn)字體庫的支持,否則將無法正常顯示文字。所以針對旋轉(zhuǎn)的應(yīng)用需要利用makeqpf制作旋轉(zhuǎn)的字體庫。 二、字庫制作 1)環(huán)境準備 需要安裝好QT2及以上版本 編譯好兩個工具:qvfb,makeqpf 這兩個工具都在$QTDIR/tools下, 編譯即可 2)準備ttf字庫文件 可以在自己的windows系統(tǒng)下發(fā)現(xiàn)ttf后綴的文件 此處作者采用網(wǎng)上下載的wqy-zenhei.ttf字庫文件 將所要的文件拷貝到你的linux系統(tǒng)的$(QTDIR)/lib/fonts目錄下 3)修改fontdir文件 cd $(QTDIR)/lib/fonts 打開fontdir,加入如下信息: wenquanyi wqy-zenhei.ttf FT n 75 160 u wenquanyi wqy-zenhei.ttf FT n 50 160 u wenquanyi wqy-zenhei.ttf FT n 50 180 u wenquanyi wqy-zenhei.ttf FT n 75 180 u 這些信息的含義如下: name1: 任意名 wqy-zenhei.ttf 文件名 FT: 表示是ttf文件 n : y表示是斜體,n表示正常 50: 表示是正常,75表示是粗體 160:表示是16點大小的字體,可根據(jù)需要修改 u:表示是unicode的 4)字庫生成 首先,執(zhí)行qvfb,然后執(zhí)行makeqpf.你會在 qvfb的顯示窗內(nèi)看到fontdir中每一行的信息。 在makeqpf界面中,點擊要轉(zhuǎn)換的字庫,生成的新的.qpf文件就會存放到$(QTDIR)/lib/fonts/下了 5)旋轉(zhuǎn)字體庫的制作 使用帶參數(shù)的方式執(zhí)行makeqpf,如 ./makeqpf -display Transformed:Rot90 以上指令用于制作翻轉(zhuǎn)90度的字庫文件,制作其它的字庫文件只需將270改為90,180,0等 注:在$(QTDIR)/lib/fonts/ 目錄下的qpf字體文件中,文件名中帶有t5,t10,t15等后綴的為旋轉(zhuǎn)字體庫,t5為旋轉(zhuǎn)90度,t10為旋轉(zhuǎn)180度,t15為旋轉(zhuǎn)270度。如wenquanyi_160_50_t5.qpf |