8

我正在尝试在 iOS 下的 Phonegap 中制作自定义字体。我遵循了几个教程并阅读了 Stack Overflow 上的所有相关问题,但即使我仔细检查了所有内容,我仍然无法正确理解。

这是字体:http ://www.dafont.com/m04fatal-fury.font (黑色版

我采取的步骤

使用 Xcode 作为资源将自定义字体文件添加到项目中 添加一个名为 UIAppFonts 的 Info.plist 文件的键。将此键设为数组对于您拥有的每种字体,输入字体文件的全名(包括扩展名)作为 UIAppFonts 数组的项目保存 Info.plist 现在在您的应用程序中,您可以简单地调用 [UIFont fontWithName:@"CustomFontName" size:12] 获取自定义字体以与您的 UILabels 和 UITextViews 等一起使用...</p>

  1. 将字体添加到资源文件夹 m04b.ttf
  2. 添加了 UIAppFonts 数组。[0] => 'm04b.ttf'
  3. 检查实际字体文件是否在构建阶段资源中
  4. ctx.font = '16px M04_FATAL FURY BLACK';

没用。

尝试了后记名称 M04_FATAL-FURY-BLACK 仍然没有运气。我完全迷失在这里我真的不知道该怎么做才能调试这个错误。

非常感谢您的帮助。可能是什么问题呢?我能做些什么来检查一切是否正在加载?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIAppFonts</key>
    <array>
        <string>m04b.ttf</string>
    </array>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    .....
4

7 回答 7

5

我有同样的问题。我几乎可以保证你只是用空格或破折号或其他东西拼错了名字。将其放入viewDidLoad并搜索与您的名字相似的内容(通用名称.. 不是 .ttf 名称)。

for (NSString *name in [UIFont familyNames]) {
    NSLog(@"Family name : %@", name);
    for (NSString *font in [UIFont fontNamesForFamilyName:name]) {
        NSLog(@"Font name : %@", font);
    }
}
于 2013-05-03T00:15:34.450 回答
0

我使用了 CSS font-face 并且效果很好:https ://developer.mozilla.org/en-US/docs/CSS/@font-face 。

只需在 www/css 下添加字体,并包含带有正确路径的字体。

于 2013-03-25T07:35:00.907 回答
0

尝试在“应用程序提供的字体”键下的 .plist 文件中添加字体,这是在您输入键名时建议的,而不是“UIAppFonts”。

于 2013-03-28T14:28:44.870 回答
0

下载字体并将其放在 www 文件夹中的某个位置。

在您的 css 文件中添加以下内容。

@font-face {
    font-family: customFontExample;
    src: url('/fonts/AveriaGruesaLibre-Regular.ttf'); 
}

src 是您下载字体的路径。在此之后,您可以像这样使用名称“customFontExample”为您的元素提供自定义字体

h1{
font-family: customFontExample;
}
于 2013-03-31T17:28:20.777 回答
0

对于这里的所有人,如果你需要@font-face 的东西,那你就错了。

一旦您的应用程序中的 UIFont 可以使用您的字体,它也可以在您创建的任何 UIWebView 中使用,您只需以正确的方式指定您的 font-family css 属性。

例如

.customfont { font-family: 'M04_FATAL-FURY-BLACK'; }
于 2013-03-31T19:51:30.333 回答
0

我尝试了“应用程序提供的字体”/资源嵌入方法,我发现您还必须在应用程序中指定 .ttf 扩展名。

但是在画布上下文中,我无法获得正确的大小,字体非常小。

因此,根据我的经验,这效果不佳,您必须回退到 html @font-face 方法,这很痛苦,因为很难知道何时加载字体并准备好使用...

于 2013-05-02T22:57:10.467 回答
0

我遇到过同样的问题。问题是我通过查找器将字体添加到资源文件夹中。我注意到虽然文件夹中的字体没有出现在 Xcode 中。然后我通过xcode添加了文件,它工作了!

于 2014-04-01T16:00:12.650 回答