最近我正在为我的应用程序进行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”字体?或者我怎样才能得到类似的斜体?
非常感谢!
答案 0 :(得分:0)
Lucida Grande本身没有斜体版本。 Carbon文本API通过倾斜常规版本来伪造它。 Lucida Sans和Lucida Sans Unicode(常规)的拉丁子集相同,并且有斜体版本,但不附带操作系统。