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