Advertise here




Advertise here

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

iPad Custom Font Issue

BrianSlickBrianSlick Treadmill Desk NinjaNorthern Virginia / DCPosts: 10,377Tutorial Authors, Registered Users @ @ @ @ @ @ @ @
edited November 2010 in iPhone SDK Development
Client has provided some custom font files for an iPad app. I have:

- Added them to the project
fonts_in_project.png

- Included them in info.plist
fonts_in_plist.png

- Declared some constants
#define kClanProNarrowBoldFontName @"ClanPro-NarrowBold"
#define kClanProNarrowBookFontName @"ClanPro-NarrowBook"
#define kClanProNarrowMediumFontName @"ClanPro-NarrowMedium"
#define kClanProNarrowThinFontName @"ClanPro-NarrowThin"

- And built a sample table
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:

ipad_display.png

The result is the same in the simulator and on the device.

The same fonts displayed in Mail on my Mac:

mail_display.png

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:
NSArray *array = [UIFont fontNamesForFamilyName:@"ClanPro"];
NSLog(@"array is: %@", [array description]);

...which results in:
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:
...cell 0x4919760 "ClanPro-NarrowBook" (font [B]0x491a550[/B])
...cell 0x4b4a9c0 "ClanPro-NarrowMedium" (font [B]0x491a550[/B])
...cell 0x4b4ade0 "ClanPro-NarrowBold" (font 0x4b4b180)
...cell 0x491fe40 "ClanPro-NarrowThin" (font [B]0x491a550[/B])

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?
Post edited by BrianSlick on
BriTer Ideas LLC - WWW | Facebook | Twitter | LinkedIn - Professional iOS App Development. Available for hire.
I can provide personalized help at codementor.io

SlickShopper 2 | Leave a PayPal donation

Free Xcode Tools: NSLog Utility | Getter Utility
GitHub Projects: BTIKit | BTICoreDataKit

Are you a newbie? Things you should read:
Definitive Guide To Properties | UITableView Series | A Model (Object) Is A Beautiful Thing

Replies

Sign In or Register to comment.