2017-09-20 9 views
6

しばらくの間Futura-Demi.otfフォントを使用しています。iOS 11(またはXcode 9)でフォントをロード

以下のコードでは、このファイルに複数のフォントが含まれていることを確認できました。

for fname in UIFont.familyNames { 
    for name in UIFont.fontNames(forFamilyName: fname) { 
     print(name) 
    } 
} 

フォントファミリーはFuturaあり、それは以下のようにフォントが含まれています。私は今のところ問題なくUIFont(name: "Futura-Dem", size: 21)Futura-Demフォントを使用している

Futura-CondensedExtraBold 
Futura-Dem 
Futura-Medium 
Futura-Bold 
Futura-CondensedMedium 
Futura-MediumItalic 

。しかし、iOS 11がリリースされた後は、このフォントを使用することはできません。 Futura-Demフォントは、すでにApp StoreにあるアプリでもFutura-Mediumに変更されています。

私はUIFont(name: "Futura-Dem", size: 21)によってロードされたフォントがFutura-Mediumフォントであることを確認し、私はまた私が

let des = UIFontDescriptor(name: "Futura-Dem", size: 21) 
let font = UIFont(descriptor: des, size: 21) 

上記のコードが正常に読み込まFutura-DemFutura-Demフォントを使用できることがわかったが、私は見当がつかないなぜ私はできません以前のようにUIFont(name: "Futura-Dem", size: 21)を使用してください。

答えて

4

私はFuturaのカスタムフォントでも同じ問題が発生しました。

フォントの名前を別のものに変更するために、ソフトウェアBirdfont(https://birdfont.org/ *)を使用しました(Futuraで始まらず、大文字で始まる1単語のみ)。また、ファイル名を変更することも重要でしたが、フォントのメタデータでフォント名を変更することでした。

次に、名前を変更したフォントをiOSアプリケーションにリンクしていました。私はFuturaの問題がなぜ起こったのか分かりませんが、このトリックが問題を解決しました。

*注:FontForge(http://fontforge.github.io/en-US/)には何らかの理由でBirdfontが機能しない場合があります。

関連する問題