有沒有一個地方可以獲得所有保證在任何帶有GTK的系統上出現的字體列表?我需要一種方法來爲某些圖設置理智的默認字體,當然,理智的默認字體必須存在。Sane默認字體?
編輯:如果沒有特定的字體保證是否存在,是否有一種簡單的方法來獲得一些理智的默認可縮放sans-serif字體?我不在乎細節。
編輯#2:如果在GTK上沒有任何事情可以得到保證,有人可以給我很好的平臺特定的默認可擴展sans-serif字體,保證在Windows和* nix/X11的任何合理安裝中都有。
有沒有一個地方可以獲得所有保證在任何帶有GTK的系統上出現的字體列表?我需要一種方法來爲某些圖設置理智的默認字體,當然,理智的默認字體必須存在。Sane默認字體?
編輯:如果沒有特定的字體保證是否存在,是否有一種簡單的方法來獲得一些理智的默認可縮放sans-serif字體?我不在乎細節。
編輯#2:如果在GTK上沒有任何事情可以得到保證,有人可以給我很好的平臺特定的默認可擴展sans-serif字體,保證在Windows和* nix/X11的任何合理安裝中都有。
您應該在GTK +中使用的默認字體是「Sans」,「Monospace」和「Serif」。我不相信任何特定的字體是保證存在的。
因爲GTK是一個跨平臺的工具包,並且不安裝任何自己的字體,所以任何帶有GTK的系統都不能保證字體存在。
根據你如何渲染你的圖(開羅?),任何文本應該已經以默認字體繪製。 編輯:聽起來就像你用gdk_draw_layout()
來繪製文字。這需要一個PangoLayout
參數。如果你使用gtk_widget_create_pango_layout()
獲得PangoLayout
,那麼它應該已經有一個理智的默認字體集。你甚至可以通過使用pango_layout_get_context()
得到PangoContext
,然後在那裏調用pango_context_get_font_description()
來找出什麼字體。
如果您還在使用GNOME,則可以使用GConf檢查/desktop/gnome/interface/font-name
,/desktop/gnome/interface/monospace-font-name
和/desktop/gnome/interface/document-font-name
鍵的值。
這些可縮放的字體是?我可以假設我需要的任何尺寸都存在嗎?另外,它們是否區分大小寫? – dsimcha 2010-07-19 14:49:24
我認爲可以安全地假設Sans,Monospace和Serif是可擴展的,並且具有大小寫。它們只是給定平臺的默認字體。這些是您的應用中使用的正確的默認字體。如果它們被破壞了,那麼修復將會是平臺,而不是應用程序。 – 2010-07-23 02:15:48