• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSFontManager Initialization
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSFontManager Initialization


  • Subject: Re: NSFontManager Initialization
  • From: Gordon Apple <email@hidden>
  • Date: Mon, 03 Mar 2008 15:12:45 -0600

    I guess I don't understand how to use that.  I have no font specified.
ConvertFont returns a similar font style (e.g., Italic) and size to whatever
you put into it.  What I want is to extract the user selected font and size
from the panel.  "selectedFont" does what I want, as long as it has been
used previously with text.  Here is what I am doing:

-(void)addString:(NSString*)string toPath:(NSBezierPath*)path {
    NSFontManager* fmgr = [NSFontManager sharedFontManager];

//    NSFont* theFont = [fmgr selectedFont];
    NSFont* theFont = [fmgr convertFont:[NSFont systemFontOfSize:50]];

    NSBezierPath* stringPath = [string bezierWithFont:theFont];
    NSAffineTransform* tf = [NSAffineTransform transform];
    [tf scaleXBy:1 yBy:-1];
    NSBezierPath* uppath = [tf transformBezierPath:stringPath];
    [path appendBezierPath:uppath];
}

    BTW, the [string bezierWithFont:theFont] is straight out of the
"SpeedyCategories" file in the SpeedometerView sample code.   Works great.
I wish I had found this long ago.

> Gordon,
>
> -[NSFontManager selectedFont] is used mainly for getting the font set
> via -[NSFontManager setSelectedFont:isMultiple:] method.
>
> Typically, you query the user font selection via -convertFont: method.
>
> See the following tech doc section.
> Font Panel: Using the Font Panel
>
> Aki
>
> On 2008/03/02, at 14:29, Gordon Apple wrote:
>
>>    I am using NSFontManager and NSFontPanel to (eventually) extract
>> a glyph
>> as a draw object.  The following code fails unless the font panel has
>> previously been used in a text field.
>>
>>    NSFontManager* fmgr = [NSFontManager sharedFontManager];
>>    NSFont* theFont = [fmgr selectedFont];
>>
>>    After I select the font and size in the panel, "theFont" will
>> always
>> return nil.  If I first use the panel with a text view, it will work
>> properly.  Also, a few times, I couldn't set the size in the panel's
>> size
>> field.  Bug report time? Or is there something else I could do to
>> get it
>> properly initialized?
>>

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: NSFontManager Initialization
      • From: Aki Inoue <email@hidden>
References: 
 >Re: NSFontManager Initialization (From: Aki Inoue <email@hidden>)

  • Prev by Date: Re: Changing the format of NSTableColumn built using Core Data Entity ?
  • Next by Date: Re: Traversing windows with Cocoa
  • Previous by thread: Re: NSFontManager Initialization
  • Next by thread: Re: NSFontManager Initialization
  • Index(es):
    • Date
    • Thread