Systemfont(旧金山)和UltraLight

时间:2016-02-06 15:49:57

标签: swift fonts

UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight)

当我将此字体与UIFontWeightUltraLight一起使用时,只有当20或更大时,它才会变得超亮。原因是什么?是否有一种解决方法可以获得更小尺寸的超轻?

1 个答案:

答案 0 :(得分:3)

事实上,“系统字体”缺少三个尺寸小于20的重量:超轻薄,黑色:

font weights at size 19 and 20

Antonio Cavedoni在WWDC 2015 Session 804: Introducing the New System Fonts中讨论过这个问题:

  

两个系列都有两个称为光学尺寸的切口,它们是文本和显示器,我将在一秒钟内讨论这些。并且所有字体都有六个权重用于文本系列,九个用于显示系列。

后来:

  

因此SF和SF Compact中有两个不同的字体系列。它们被称为显示和文本,它们用于不同的点大小。系统会自动在两者之间切换,因此您无需采取任何措施来采用它们。

后来还是:

  

系统在20点之间切换,

关于显示和文字大小之间的差异,还有更多内容。 在您决定强制使用小尺寸的Ultra Light之前,您应该观看整个事情。

无论如何,在尺寸20及以上,它使用显示光学尺寸,其具有所有九个重量。小于20,它使用文本光学尺寸,只有六个重量Light through Heavy。

您可以通过名称明确要求来强制使用显示器光学尺寸。但是,该名称没有记录,Apple明确表示不打算使用它,因此他们可能会在将来更改名称,甚至在将来的版本中使该字体完全不可用。在真正的应用程序中使用它是一个坏主意,你绝对不应该这样做。

 ┌────┐
 │    │  ┌──────────┐
 │    │  │          │
 └────┘  │          │
         └──────────┘

结果:

display font weights