Cant find custom font - iOS

∥☆過路亽.° 提交于 2020-01-09 09:41:24

问题


i have added a custom font - one which i have downloaded from from the net. it is in TTF format and can be used on other programs on my mac. (Successfully added it to font book and used in fireworks).

I have added the key to the info .plist but the font doesn't seem to work.

When i NSLog the font it is null so i am assuming it isn't finding it.

The TTF is called LONDON__.TTF but has a name as London font.

What should i use as the font and add to the info.plist for this to work?

Thanks

Dan

Application fonts resource path = LONDON__.TTF

NSLog(@"%@",[UIFont fontWithName:@"London font" size:22]);

and

NSLog(@"%@",[UIFont fontWithName:@"LONDON__.TTF" size:22]);

Both of them return Null.

Although the file is named LONDON__.TTF the font appear as everyone in Font Book. is this the issue?


回答1:


Look at all the available fonts

Objective-C:

for(NSString* family in [UIFont familyNames]) {
   NSLog(@"%@", family);
   for(NSString* name in [UIFont fontNamesForFamilyName: family]) {
      NSLog(@"  %@", name);
   }
}

Swift:

for family: String in UIFont.familyNames() {
    print("%@", family)
    for name: String in UIFont.fontNamesForFamilyName(family) {
        print("  %@", name)
    }
}

..if it's not there, install again

  1. Copy the .ttf file into your project (i.e. drag it to the resource folder in the Project navigator).

  2. In your Info.plist add an entry with the key Fonts provided by application with an Array type. As Item 0, add a String value corresponding to the font file name (e.g. OpenSans-ExtraBoldItalic.ttf).

  3. Make sure the font file is included in the copy bundle resources list under the project settings.




回答2:


You need to make sure the font file is included in the copy bundle resources list under the project settings. My font wouldn't show up in [UIFont familyNames] till I added it here as it was not automatically included when added to the project.




回答3:


Both of those names sound wrong. Assuming you've correctly added it to your plist, use something like

NSLog(@"Fonts: %@", [UIFont familyNames]);

to see what its internal name is.

BTW, be sure that the licensing of the font allows embedding. Many commercial fonts do not.



来源:https://stackoverflow.com/questions/8963299/cant-find-custom-font-ios

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!