2012-11-30 41 views
16

我在寫一個需要顯示中文字符的iOS 6 iPhone/iPad應用程序。 iOS 6默認安裝的亞洲字體有很多不足之處。但是,在Apple's iOS 6: Font List page的底部,Apple聲明:如何安裝和使用iOS 6中包含的其他亞洲字體?

「應用程序還可以根據需要安裝以下[主要是亞洲]字體。」

亞洲字體系列不會出現在由[UIFont familyNames]提供的列表中。我還沒有在UIFont類文檔或Apple開發者論壇上找到任何有關如何安裝字體的信息,據推測,這種字體已經包含在iOS 6中,但尚未「安裝」。有任何想法嗎?

+0

迷人的問題!我很想知道現在的答案。 –

回答

8
  • 不能變化在iOS上的全局字體。
  • 一些這個名單都已經「安裝」並出現在[UIFont familyNames](如蘋果SD哥特式新)
  • 每個iOS應用程序能夠添加那些不支持自定義字體,但(如新細明體)
  • 從5.1無 API的diff至6.0在UIFont.h
  • UIFont.h無API的diff自4.0(加入lineHeight是,不建議使用前導)。

「應用程序也可以安裝以下[亞洲大多]字體作爲必要的。」

由於我們知道每個開發人員都可以使用自定義字體,所以添加或「安裝」它們對您的應用程序絕對沒有問題。

我很確定這些是一些請求的字體,蘋果公司的一些人在這個頁面上寫道,儘管如此,儘管它們沒有被iOS特別支持,但仍然可以使用這些字體。


我知道這是沒有答案是完全正確或完全錯誤的 - 它是基於我所知道的信息,我發現在網絡上,使之清楚,我們可能永遠不會知道答案。


要支持自定義字體在.ttf格式添加你的字體到您的項目(和你的目標 - 我忘了不止一次這樣多!),並把它添加到您的的Info.plist。現在可以使用它someLabel.font = [UIFont fontWithName:@"MySuperFont" size:100];

+0

我在iOS6發佈後很快就看到了這個列表,他們說他們已經增加了更多的亞洲語言支持,所以我推測他們並未默認安裝,因爲它們的尺寸非常大,但應用程序可能會觸發下載。但你可能是對的。 – Vincent

+0

...但字體支持與語言支持不同。從Apple的角度來看,唯一合乎邏輯的關係是Safari中的字體支持。但是由於'@ font-face'這裏也有一切可能。 –

+0

完全正確的解決方案。如果你想要一個特殊的字體,只需從許多字體網站下載.ttf文件,或者使用https://github.com/nathanhammond/iosfont下載並放置在你的Xcode項目中。 – lukaswelte

0

如果你喜歡你的Mac下載任何字體並安裝它。它會出現在Xcode象下面這樣:

enter image description hereenter image description hereenter image description here

+0

它將在界面生成器中工作,但它不適用於iOS,因爲您尚未將其添加到目標。 –

+0

@Fabio Poloni - 對啊。您還需要將字體添加到項目中的框架文件夾 – OnkaPlonka

+0

將其添加到項目中。將它添加到您的目標中(否則它將不可用)。將它添加到你的Info.plist。那麼一切都應該工作;) –

2

「應用程序也可以安裝以下[亞洲大多]字體作爲必要 。」

這是關於合法和可操作的問題。這些字體是(合併 - )在Apple的許可下提供的,可在Mac OSX中使用。如果您想使用它們,您可以使用來自您的iOS軟件包中OSX/Library/Fonts文件夾的副本將其包含在您的項目中,而不會侵犯相應字體所有者的版權

此外:它們與iOS 6兼容(例如,通過字體書應用中的字體驗證),您可能會意識到有許多免費的亞洲字體在野外,但在iOS 6上不能100%嘗試全部都是令人沮喪的;專業亞洲字體的許可證非常昂貴。

要安裝所需的字體使用「字體書」,確定你喜歡的字體,在finder中打開(它可能是一個帶有表意字體的字體名,只是繼續前進),將字體複製到你的項目並用作參考字體的字體名稱,而不是文件名。確保在您的信息中更新UIAppFonts(應用程序提供的字體)項目。

示例:Mac OSx上的Kaiti字體爲楷體.ttc,並按照說明準備項目將使您能夠創建名稱爲@"Kaiti SC"的UIFont。

最後一點:你不應該發佈在github或類似的包含這些字體的公共項目上。

相關問題