0
我正在研究針對Linux的應用程序主要目標,它使用TTF字體。我需要字體的文件名和路徑,因爲我必須使用SDL函數TTF_OpenFont(char * file,...)加載它。問題是在不同的發行版上有很多不同的TTF字體目錄。哪個是處理這個問題的最好方法?我已經想出了一些solutution,但對我來說他們每個人似乎不理想:如何編寫一個Linux應用程序來查找ttf字體目錄?
- 包與應用程序一起的字體,並將其安裝到應用程序本身的/ usr /共享/目錄。
- 用
fc-list : file
檢查字體路徑。 - 對應用程序的每個路徑變體進行硬編碼,並在加載文件時嘗試使用它們。
我的第一個解決方案的問題是安裝的ttf文件將是多餘的。另一方面,第二種解決方案需要一個新的運行時依賴。 – simon
它完全取決於你想要做什麼。如果你可以依靠用戶安裝一些字體,我看不出爲什麼你不應該使用fontconfig - 它是標準和非常普遍的工具。但是,如果你不能(或者出於某種原因,不願意),或者你使用了非常特殊的字體 - 那麼答案是非常明確的。或者,您可以嘗試使用app目錄中的字體,如果它不包含字體,則需要 - 查詢fontconfig從何處獲取它。 – keltar
你說得對,取決於fontconfig是沒有問題的。感謝您使用FcFontList的建議。 – simon