0

I am trying to use a truetype (.ttf) font in my iOS app and it is not working. I have added the font to my project and added the target correctly. I added the font in the info.plist under fonts provided by application. I am using an NSAttributedString to display text and this is my code

UIFont *hrFont = [UIFont fontWithName:@"ocrb" size:18.0];
NSDictionary *hrDict = [NSDictionary dictionaryWithObject:hrFont forKey:NSFontAttributeName];
NSMutableAttributedString *hrAttrString = [[NSMutableAttributedString alloc] initWithString:hrString attributes: hrDict];

UIFont *barcodeFont = [UIFont fontWithName:@"IDAutomation DataBar 34" size:22];
NSDictionary *barcodeDict = [NSDictionary dictionaryWithObject:barcodeFont forKey:NSFontAttributeName];
NSMutableAttributedString *barcodeAttrString = [[NSMutableAttributedString alloc]initWithString: alphaOnly attributes:barcodeDict];

[hrAttrString appendAttributedString:barcodeAttrString];

The barcode font displays correctly but the ocr font displays as the system font instead. Any help would be greatly appreciated.

Chip Cary
  • 65
  • 1
  • 1
  • 10

2 Answers2

6

Add your custom font into your project , i.e. Dragged the font file(ocrb.TTF) into XCode project.

Edit Info.plist: Add a new entry with the key "Fonts provided by application".

For each of your files, add the file name to this array

enter image description here

Opened the font in font book(double click on your font in finder) to see what the real filename is and I see this:

enter image description here

Now set font to your label

yourLabel.font = [UIFont fontWithName:@"ocrb" size:15];
Sandy Patel
  • 768
  • 7
  • 19
  • What I had to write in code to actually call the font was [UIFont fontWithName:@"OCRB" size:15]; for some unknown reason. But it ended up working out perfectly. Thanks – Chip Cary Jul 20 '15 at 06:35
0

You can check whether that font is loaded or not by using the following code

NSArray *fontFamilies = [UIFont familyNames];

for (int i = 0; i < [fontFamilies count]; i++)
{
    NSString *fontFamily = [fontFamilies objectAtIndex:i];
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
    NSLog (@"%@: %@", fontFamily, fontNames);
}

If your font is not loaded then download new font & add it into your project. After downloding & adding into project works for me.

swapnali patil
  • 304
  • 2
  • 17