這個問題可能涉及到這樣一個問題: Where does QT go to look for fonts?如何查找和使用的字體在Qt嵌入式Linux呢?
即時通訊與Ubuntu 14.04和Qt工作嵌入式4.8,並希望在全球範圍內改變我的應用程序的字體,但我只能用一個很小的子集,從我安裝的字體。
我的應用程序的風格是從那裏我寫一個CSS文件加載:
QWidget {
font-family: "DejaVu Sans"; /*or any other font*/
}
的問題是,Qt的似乎沒有能夠找到我安裝的字體。根據文檔Deploying Qt for Embedded Linux Applications Qt應用程序尋找在的lib /字體/目錄,並專門爲所謂的FONTDIR文件字體。我不知道這個文件是關於什麼的,我也找不到它。我的字體(對於調試版本)的完整路徑是:/usr/local/Trolltech/QtEmbedded-4.8.6-x86-dbg/lib/fonts
我用,可以發現in the Qt 4.8 docu到QFontDatabase打印我所有可用的字體。不幸的是輸出是:
DejaVu Sans: Normal (11)
fixed: Normal (7 12)
helvetica: Normal (8 10 12 14 18 24) Italic (8 10 12 14 18 24) Bold (8 10 12 14 18 24) Bold Italic (8 10 12 14 18 24)
japanese: Normal (23)
micro: Normal (4)
unifont: Normal (16)
但我有更多的方式安裝字體。該幻覺記憶三世,例如存在於大膽和其他類型太多,但只有「正常」的一個發現。這裏是位於我的Fonts文件夾中(那些位於進行發佈和調試Qt的文件夾以及)只有一小部分:
couri.pfa
cour.pfa
cursor.pfa
dejavu_sans_11_50.qpf2
DejaVuSans-BoldOblique.ttf
DejaVuSans-Bold.ttf
DejaVuSansMono-BoldOblique.ttf
DejaVuSansMono-Bold.ttf
DejaVuSansMono-Oblique.ttf
DejaVuSansMono.ttf
DejaVuSans-Oblique.ttf
DejaVuSans.ttf
DejaVuSerif-BoldOblique.ttf
VeraMono.ttf
VeraSeBd.ttf
VeraSe.ttf
Vera.ttf
什麼是FONTDIR文件,是吧需要它,我如何創建它?
我有什麼做的,這樣的Qt發現我的所有已安裝的字體?
有沒有辦法簡單地使用我感興趣的字體的副本,並將其放入我的應用程序的子目錄中,將其視爲一個圖標,以便我不必亂用所有系統地點?
編輯:根據這一thread我認爲我也有對TTF字體不支持。我有一個看着我的字體,看來,所有的* .qpf和* .qpf2字體被發現。所以我會嘗試將我的TTF轉換爲QPF。