在嵌入式Linux環(huán)境下制作QPF字庫的方法
QT是目前在Linux操作系統(tǒng)平臺(tái)下應(yīng)用最多的圖形用戶界面的底層庫,由其派生出的QT/Embedded大量用于嵌入式系統(tǒng)開發(fā)和研制中。實(shí)際上,QT/Embedded提供給用戶的非ASCII碼的字庫一般比較少,在我們開發(fā)過程中用的嵌入式Linux系統(tǒng)中中文和日文的字庫都只有一個(gè)(不算不同的旋轉(zhuǎn)角),其中還存在字體大小不一樣的問題,因此在實(shí)際開發(fā)過程中我們在處理中文字體顯示時(shí),最終使用這些工具開發(fā)出來的軟件的用戶就經(jīng)常抱怨字體很難看,字體大小有時(shí)都不一致,因此定制自己的字庫,以便使得最終用戶能夠看到漂亮的中文顯示,這是使用QT/Embedded開發(fā)各種程序急需解決的一個(gè)問題。下面龍人嵌入式開發(fā)工作這首先向您介紹如何在嵌入式 Linux及下制作QPF字庫:
首先定制自己的字庫需要修改兩個(gè)文件,一個(gè)是FONTDIR,它是應(yīng)用程序?qū)ふ耶?dāng)前系統(tǒng)中最適合自己需要的字庫的索引;另一個(gè)就是字庫文件了,可以有一個(gè)或者多個(gè)字庫文件,字庫文件是最終顯示的字的位圖或者矢量。它們都必須放在目錄/usr/qt/lib/fonts下(基于我們的平臺(tái)QT/Embedded,其它平臺(tái)可能有區(qū)別,下同)。
其次編寫具體的FONTDIR文件的內(nèi)容如下所示:
fixed fixed_120_50.qpf QPF n 50 120
helvetica helvetica_80_50.qpf QPF n 50 80
helvetica helvetica_120_50.qpf QPF n 50 120 u
helvetica helvetica_120_75.qpf QPF n 75 120 u
helvetica helvetica_140_75.qpf QPF n 75 140
helvetica helvetica_180_75.qpf QPF n 75 180
文件中每行都標(biāo)識(shí)一個(gè)特定的字庫,每個(gè)段的含義是:第一列為name,第二列為file,第三列為renderer,相當(dāng)于字型格式,所以有BDF,TTT,QPF等選擇。第四列n表示iitalic,表示是否為斜體字。第五列表示weight,其中50表示Normal,75表示Bold。第六列表示size,例如:120表示12pt。第七列為flags,有下面三個(gè)選擇:s=smooth(anti-aliased)u =unicode range when saving (default is Latin 1 a = ASCII range when saving(default is Latin 1))
這樣一個(gè)QPF字庫就嵌入式Linux環(huán)境中生成了。