检测Font是否为Serif

时间:2013-01-18 17:37:48

标签: iphone ios ios4 fonts uifont

有没有办法以编程方式检测给定字体是serif还是sans serif?

例如,如果用户选择了Palatino,则为serif。如果用户选择了Arial,那就是无衬线。

我可以检测到字体名称和姓氏。但我没有看到UIFont的serif或san serif属性。如果没有这个,我想我必须为用户可用的每种字体手动设置和跟踪isSerif BOOL吗?

3 个答案:

答案 0 :(得分:1)

事实上,UIFont没有提示字体类型的属性。 如果您只依赖于OS字体系列(50+ iOS 6.x),您可以轻松地在具有所有(未来)属性的plist中管理它们。对于使用第三方字体集,如果存在(无)serif字体的属性,则可以读取ttf spec。最后一种方法是检查其中的“serif”的系列或/和字体名称,假设它们的名称相应。

答案 1 :(得分:0)

UIFont上没有明确适合您的属性。在这一点上,将类别添加到UIFont可能是值得的,但看起来您必须自己设置映射。

可能是一个很好的GitHub项目。

答案 2 :(得分:0)

您可以使用键字体名称制作一个plist,并将值设为布尔值。 以下是fonts in iOS

的列表