Adium

Changeset 15260

Show
Ignore:
Timestamp:
02/19/2006 01:48:45 AM (3 years ago)
Author:
evands
Message:
  • -[NSFontManager(AIFontManagerAdditions) fontWithFamilyInsensitively:traits:weight:size:] no longer skips the first font in the availableFontFamilies when enumerating them.
  • The case-sensitive version of the method is used first, before attempting the enumeration/case-insensitive-comparison to look for the font

On my system, at least, Webdings was consistently the first font listed by availableFontFamilies... which explains why webdings fonts were completely failing to work.

Fixes #3048.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Frameworks/AIUtilities Framework/Source/AIFontManagerAdditions.m

    r12722 r15260  
    2020- (NSFont *)fontWithFamilyInsensitively:(NSString *)name traits:(NSFontTraitMask)fontTraitMask weight:(int)weight size:(float)size 
    2121{ 
    22         NSFont *theFont = nil; 
     22        NSFont                  *theFont = nil; 
     23        NSFontManager   *fontManager = [NSFontManager sharedFontManager]; 
    2324 
    24         NSFontManager *manager = [NSFontManager sharedFontManager]; 
    25         NSArray *fontList = [manager availableFontFamilies]
    26         NSEnumerator *fontEnum = [fontList objectEnumerator]
     25        if (!(theFont = [fontManager fontWithFamily:name traits:fontTraitMask weight:weight size:size])) { 
     26               NSEnumerator    *fontEnum
     27               NSString                *thisName
    2728 
    28         NSString *thisName = [fontEnum nextObject]; 
    29         while ((thisName = [fontEnum nextObject])) { 
    30                 if ([thisName caseInsensitiveCompare:name] == NSOrderedSame) { 
    31                         theFont = [manager fontWithFamily:thisName traits:fontTraitMask weight:weight size:size]; 
    32                         break; 
     29                fontEnum = [[fontManager availableFontFamilies] objectEnumerator]; 
     30                while ((thisName = [fontEnum nextObject])) { 
     31                        if ([thisName caseInsensitiveCompare:name] == NSOrderedSame) { 
     32                                theFont = [fontManager fontWithFamily:thisName traits:fontTraitMask weight:weight size:size];                            
     33                                break; 
     34                        } 
    3335                } 
    3436        }