2011-09-29 104 views

回答

1

除非你願意對類似的FreeType鏈接:

http://en.wikipedia.org/wiki/FreeType

...幾乎任何程序將需要的字體安裝到操作系統中,由用戶或一些操作系統特定的腳本。你不能僅僅通過你的應用程序中的壓縮文件名來加載它。

由於命名和訪問自定義字體的平臺依賴性,阻力最小的路徑不是嘗試和硬編碼字體......而是讓用戶從對話框中選擇一個。你可以使用一個wxFontDialog此:

http://docs.wxwidgets.org/stable/wx_wxfontdialog.html

它可以讓你找回wxFontData,從中可以得到選擇wxFont

http://docs.wxwidgets.org/stable/wx_wxfontdata.html#wxfontdatagetchosenfont

一旦你有,你就可以通過本地字符串界面保存並重新加載字體標識:

http://docs.wxwidgets.org/stable/wx_wxfont.html#wxfontgetnativefontinfodesc

嘗試制訂自己的這些字符串或「面子名」工作是一個小dodgier:

http://docs.wxwidgets.org/stable/wx_wxfont.html#wxfontsetfacename

一般來說很多同樣的問題出現在這裏與字體的HTML處理。如果您對某些文本的跨平臺外觀有一個非常具體的想法,那麼最好的辦法是通常從該文本中製作一張圖片,然後使用該圖片,而不是通過箍環來獲取應用中需要的字體。如果你更靈活並且有很多用戶感興趣的文本,那麼他們可能也有興趣改變字體。因此,只需使用默認值即可,讓用戶可以選擇安裝在系統上的任何他們想要的東西。 (注意:我個人認爲在幾乎每一個操作系統或文檔系統中處理字體都是一種恥辱。想象一下,爲了讓圖形在程序中顯示,您必須註冊它操作系統通過一個複雜的過程,當你複製嵌入的文檔時,它不會從機器複製到機器。我們現在處理的圖形比字體文件大幾個數量級,但它們可以無縫處理人們似乎接受缺乏無縫字體傳輸作爲「正常」,字體供應商的古老的DRM思維模式是問題的一個方面,但跛腳技術是另一個重要組成部分。)

+0

我同意你的大部分詞彙..謝謝......但我找到了一個方法無需將其安裝在特定的操作系統上即可實現。 –

+0

然後你需要Freetype或類似的。它是跨平臺的:http://www.freetype.org/freetype2/docs/tutorial/step1.html – HostileFork