问题
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
Copy the
.ttf
file into your project (i.e. drag it to the resource folder in the Project navigator).In your
Info.plist
add an entry with the keyFonts 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
).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