3

i've tried to find something in the Internet, but right now I don't have an answer, so it would be great if you can help me! So far I have a NSFont object, but I would like the name (as NSString) and size of the font, so I can output that! It's like

[NSFont fontWithName:@"Menlo" size:11];

only backwards, so I get the name "Menlo" and as size 11.

Thanks for help! Xcoder from Germany

qwertz
  • 14,614
  • 10
  • 34
  • 46

4 Answers4

13
NSString* fontName = [*yourfont* fontName];
float fontSize = [[[*yourfont* fontDescriptor] objectForKey:NSFontSizeAttribute] floatValue];
DaveShaw
  • 52,123
  • 16
  • 112
  • 141
JPed
  • 196
  • 6
7

I think it's font.pointSize now, not font.systemSize.

Dave Owens
  • 450
  • 4
  • 11
0

Fonts are just objects. They have variables like fontName and systemSize. For example if I wanted to know the font and size of a UILabel named titleLabel I would use:

NSLog(@"fontwithName:%@ size:%f", self.titleLabel.font.fontName, self.titleLabel.font.systemSize);

For more look at the NSFont Class Reference. https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSFont_Class/Reference/Reference.html

Andrew T.
  • 2,088
  • 1
  • 20
  • 42
  • Even the documentation linked above does not mention a systemSize property. The correct property is pointSize. – Ron Reuter Feb 21 '20 at 15:36
-2

The name and size of NSFont are variables with setters and getters (@property) so you can easily get them:

object.fontName;
object.systemSize;