On 4 Dec 2009, at 14:44, mlist0...@gmail.com wrote:

> Is there some reason you can't use -[NSFontManager convertFont:toHaveTrait:] ?
No reason at all, except my ignorance of this method.


> It "returns a font whose traits are the same as those of the given font, 
> except that the traits are changed to include the single specified trait."
> 
> So something like:
> 
> NSFont* myFont = [your code here];
> NSFont* myItalicFont = [[NSFontManager sharedFontManager] convertFont:myFont 
> toHaveTrait:NSItalicFontMask];
> 
> _murat

This works perfectly. Thank you very much!


Kind regards,

Gerriet.

> 
> On Dec 3, 2009, at 11:15 PM, Gerriet M. Denkmann wrote:
> 
>> I want an italic font corresponding to an existing font.
>> 
>> I tried:
>> 
>>      NSFontDescriptor *fd1 = [ NSFontDescriptor fontDescriptorWithName: 
>> @"Times" size: textFontSize ];
>>      NSLog(@"%s text NSFontDescriptor %@",__FUNCTION__, fd1);
>>      //         NSFontNameAttribute = Times;  NSFontSizeAttribute = 16;
>> 
>>      fontText = [ NSFont fontWithDescriptor: fd1 size: textFontSize ];
>>      NSLog(@"%s text NSFont %@",__FUNCTION__, fontText);
>>      //      "Times-Roman 16.00 pt. P [] (0x1190e0f90) fobj=0x1190e0590, 
>> spc=4.00"
>> 
>> So far so good.
>> 
>> Now I try to make the italic variant:
>>      NSFontSymbolicTraits symbolicTraits = NSFontItalicTrait;
>>      NSFontDescriptor *fdi = [ fd1 fontDescriptorWithSymbolicTraits: 
>> symbolicTraits ];
>>      NSLog(@"%s italic NSFontDescriptor %@",__FUNCTION__, fdi);
>>      //         NSCTFontTraitsAttribute = { NSCTFontSymbolicTrait = 1; }; 
>> NSFontSizeAttribute = 16;
>> Note: NSFontNameAttribute has disappeared
>> The  documentation says: "Returns a new font descriptor that is the same as 
>> the receiver but with the specified symbolic traits taking precedence over 
>> the existing ones."
>> 
>>      italicText = [ NSFont fontWithDescriptor: fdi size: textFontSize ];
>>      NSLog(@"%s italic NSFont %@",__FUNCTION__, italicText);
>>      //      "LucidaGrande 16.00 pt. P [] (0x1190e0f90) fobj=0x10046adb0, 
>> spc=5.06"
>> 
>> This is comple nonsense: Lucida Grande is not italic and does not have an 
>> italic variant (only normal and bold).
>> 
>> I would have expected something like Times-Italic.
>> 
>> So: how to get an italic variant to a given font without hardcoding font 
>> names?

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to