I would like to make a NSFont to describe Arial, normal, 30pt in height. So far I have:
NSNumber *weight = [NSNumber numberWithFloat:1.0];
NSNumber *slant = [NSNumber numberWithFloat:1.0];
NSDictionary *fontTraits = [NSDictionary dictionaryWithObjectsAndKeys: weight, NSFontWeightTrait, slant, NSFontSlantTrait, nil];
NSDictionary *fontAttributes = [NSDictionary dictionaryWithObjectsAndKeys: @"Arial", NSFontFaceAttribute,
fontTraits, NSFontTraitsAttribute, nil];
NSFontDescriptor *fontDescriptor = [NSFontDescriptor fontDescriptorWithFontAttributes: fontAttributes];
NSFont *largeFont = [NSFont fontWithDescriptor: fontDescriptor size: 30];
but the resulting NSFont is not the right size. I can put any size I want in there and they all look the same.
are you writing for iOS or Mac OS X?
this works fine in my Mac App:
UPDATE with bold and/or italic: is that enough for you ?
UPDATE 2 may be take a look at NSFontManager
But with neither of those you are able to create a font with a weight of 5 and a slant of 4.
i recently talked to a designer about fonts and he told me that usually a font like Arial is actually 4 Fonts (i.e. Arial, Arial Italic, Arial Bold and Arial Bold Italic). those 3 other font styles (with the traits) are not generated on the fly by an algorithm.