Client has provided some custom font files for an iPad app. I have:
- Added them to the project
- Included them in info.plist
- Declared some constants
Code:
#define kClanProNarrowBoldFontName @"ClanPro-NarrowBold"
#define kClanProNarrowBookFontName @"ClanPro-NarrowBook"
#define kClanProNarrowMediumFontName @"ClanPro-NarrowMedium"
#define kClanProNarrowThinFontName @"ClanPro-NarrowThin"
- And built a sample table
Code:
switch ([indexPath row])
{
case 0:
[[cell textLabel] setText:kClanProNarrowBoldFontName];
[[cell textLabel] setFont:[UIFont fontWithName:kClanProNarrowBoldFontName size:18.0]];
break;
case 1:
[[cell textLabel] setText:kClanProNarrowBookFontName];
[[cell textLabel] setFont:[UIFont fontWithName:kClanProNarrowBookFontName size:18.0]];
break;
case 2:
[[cell textLabel] setText:kClanProNarrowMediumFontName];
[[cell textLabel] setFont:[UIFont fontWithName:kClanProNarrowMediumFontName size:18.0]];
break;
case 3:
[[cell textLabel] setText:kClanProNarrowThinFontName];
[[cell textLabel] setFont:[UIFont fontWithName:kClanProNarrowThinFontName size:18.0]];
break;
case 4:
[[cell textLabel] setText:@"Normal"];
break;
default:
break;
}
However, this is the result:
The result is the same in the simulator and on the device.
The same fonts displayed in Mail on my Mac:
As you can see, the four fonts are distinct. But for some reason, the iPad is displaying 3 of them the same. And the font has been applied, but the line weight is not correct.
I have shared these font files with another developer, and he observed the same results. So I do not currently have a reason to believe it is an issue with setup, file names, etc.
In order to verify that the font names are correct, I did this:
Code:
NSArray *array = [UIFont fontNamesForFamilyName:@"ClanPro"];
NSLog(@"array is: %@", [array description]);
...which results in:
Code:
array is: (
"ClanPro-NarrowBook",
"ClanPro-NarrowBold",
"ClanPro-NarrowMedium",
"ClanPro-NarrowThin"
)
...which is the same as the strings I'm already using. So no apparent issue there. And the OS clearly knows that I have four distinct styles in this font family.
The other developer conducted a test of the UIFont objects that get created, and here is what he found:
Code:
...cell 0x4919760 "ClanPro-NarrowBook" (font 0x491a550)
...cell 0x4b4a9c0 "ClanPro-NarrowMedium" (font 0x491a550)
...cell 0x4b4ade0 "ClanPro-NarrowBold" (font 0x4b4b180)
...cell 0x491fe40 "ClanPro-NarrowThin" (font 0x491a550)
3 of them are the same object. This would explain why 3 of them display the same.
However, that doesn't help me with what to do about it. Mail, FontBook, etc. everything on my Mac shows 4 distinct fonts. This would suggest that either the font files themselves are fine, or Mac OS is more lenient about what it can handle. What can I do to get them to display correctly on the iPad?