Question: This is a beginner's question about font handling in Cocoa. I have a font family, e.g. *Verdana*, that has the following typefaces: *Regular*, *Bold*, *Italic*, and *Bold Italic*. I know those typefaces exist since they are available in the Fonts panel.

This works:

```
NSFont *regular = [NSFont fontWithName:@"Verdana" size:75];
NSFont *bold = [NSFont fontWithName:@"Verdana-Bold" size:75];
NSFont *italic = [NSFont fontWithName:@"Verdana-Italic" size:75];

```

This does not work:

```
NSFont *boldItalic = [NSFont fontWithName:@"Verdana-Bold Italic" size:75];

```

What is the simplest way to get the *Bold Italic* version of a given font family?

Answer: 
This works:

```
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSFont *boldItalic = [fontManager fontWithFamily:@"Verdana"
                                          traits:NSBoldFontMask|NSItalicFontMask
                                          weight:0
                                            size:75];

```
See NSFontManager and -convertFont:toHaveTrait:

For more detailed information, I would suggest reading the [Font Handling Guide](https://developer.apple.com/library/content/documentation/TextFonts/Conceptual/CocoaTextArchitecture/FontHandling/FontHandling.html) and specifically the section titled [Converting Fonts Manually](https://developer.apple.com/library/content/documentation/TextFonts/Conceptual/CocoaTextArchitecture/FontHandling/FontHandling.html#//apple_ref/doc/uid/TP40009459-CH5-SW12).

Note, that the font you are using needs to have some version of it with the traits you are asking for, otherwise, you will get back a font, but without the requested trait.

If, eventually, you are seeking to add an italic trait to a font that doesn't have one, check out:

[How do I get Lucida Grande italic into my application?](https://stackoverflow.com/questions/1724647/how-do-i-get-lucida-grande-italic-into-my-application)