特定のフォントがセリフかサンセリフかをプログラムで検出する方法はありますか?
たとえば、ユーザーが Palatino を選択した場合、それはセリフです。ユーザーが Arial を選択した場合、それはサンセリフです。
フォント名とファミリ名を検出できます。しかし、UIFont のセリフまたはサンセリフ プロパティが表示されません。これがなければ、ユーザーが利用できるフォントごとに isSerif BOOL を手動で設定して追跡する必要があると思います。
実際、フォントの種類を示す UIFont の属性はありません。OS フォント ファミリ (50 以上の iOS 6.x) のみに依存している場合は、必要なすべての (将来の) 属性を含む plist で簡単に管理できます。サードパーティのフォント セットを使用する場合、(sans) serif フォントの属性があれば、ttf 仕様を読むことができます。最後の手段は、それに応じて名前が付けられていると仮定して、その中の »serif« のファミリーまたはフォント名を確認することです。
UIFont
これを明示的に行うプロパティはありません。この時点で にカテゴリを追加する価値はあるかもしれませんがUIFont
、自分でマッピングを設定する必要があるようです。
GitHub の良いプロジェクトかもしれません。
キーフォント名と値をブール値で plist にすることができます。iOSのフォント一覧はこちら