2013-01-18 103 views
3

有沒有辦法以編程方式檢測給定字體是襯線還是無襯線?檢測字體是否是

例如,如果用戶選擇了Palatino,它是襯線。如果用戶選擇Arial,則它是sans serif。

我可以檢測字體名稱和姓氏。但是我沒有看到UIFont的serif或san serif屬性。如果沒有這個,我想我必須手動設置和跟蹤一個isSerif BOOL,以便爲用戶提供每種字體。

回答

1

事實上UIFont沒有提示字體類型的屬性。 如果您只依賴OS字體家庭(50+ iOS 6.x),您可以輕鬆地管理它們,並具有必要的所有(未來)屬性。如果使用第三方字體集,如果(sans)襯線字體有屬性,則可以讀取ttf spec。最後的手段是檢查「serif」中的家庭或/和字體名稱,並假定它們是相應命名的。

+0

因爲我害怕。謝謝。 – DenVog

0

UIFont沒有財產,這將明確爲您。在這一點上,向UIFont添加一個類別可能是值得的,但看起來你必須自己設置映射。

可能是GitHub上的一個很好的項目。

0

你可以製作一個關鍵字體名稱和值爲布爾值的plist。 以下是fonts in iOS的列表