如何使用斜体LucidaGrande字体为Cocoa应用程序

时间:2010-12-16 09:02:30

标签: cocoa fonts

最近我正在为我的应用程序进行Carbon to Cocoa过渡。

我的App使用的字体是“LucidaGrande”,我从这个方法得到它:
    

myUIFont = [NSFont systemFontOfSize: [NSFont systemFontSize]];

有时我的应用想要在其UI中显示斜体字体,所以我称之为:
    

myUIFont = [[NSFontManager sharedFontManager] convertFont:myUIFont toHaveTrait:NSItalicFontMask];

但是这次转换失败了。我发现这是因为“LucidaGrande”字体没有斜体样式。我可以通过调用来验证这一点:
    

NSArray* availableNames = [[NSFontManager sharedFontManager] availableFontNamesWithTraits:NSItalicFontMask];

availableNames中没有“LucidaGrande”。这很奇怪,因为我可以在我的Carbon App中使用斜体“LucidaGrande”字体。是否有任何解决方案可以获得Cocoa App的斜体“LucidaGrande”字体?或者我怎样才能得到类似的斜体?

非常感谢!

1 个答案:

答案 0 :(得分:0)

Lucida Grande本身没有斜体版本。 Carbon文本API通过倾斜常规版本来伪造它。 Lucida Sans和Lucida Sans Unicode(常规)的拉丁子集相同,并且有斜体版本,但不附带操作系统。