2013-03-22 61 views
8

我想在iOS下的Phonegap中制作自定义字体。 我遵循了几个教程,并阅读了Stack Overflow的所有相关问题,即使我再次检查了所有内容,我仍然无法做到正确。Phonegap Canvas iOS中的自定义字体

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

步骤我已经采取

您的自定义字体文件添加到使用了Xcode作为资源 项目一键添加到您的信息名为UIAppFonts的.plist文件。 将此键设为数组 对于每种字体,请输入字体文件的全名(包括扩展名)作为UIAppFonts数组的项目 保存Info.plist 现在在您的应用程序中,您可以简单地调用[UIFont fontWithName: @“CustomFontName”大小:12]让你的UILabels和UITextViews等使用的自定义字体...

  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> 
    ..... 
+0

您可以添加Info.plist相关章节吗? – 2013-03-22 02:51:30

+1

如果您在[UIFont familyNames]中添加了for(NSString *字体){NSLog(@“%@”,font); }'在应用程序的某个地方,你能看到字体出现吗? (我看到一个条目“M04_FATAL FURY”) – Nuoji 2013-03-31 21:26:48

回答

5

我有同样的问题。我几乎可以保证你只是拼错了空格或短划线等错误的名字。把它放到viewDidLoad中,只需要搜索类似于你的名字的东西(通用名称而不是.ttf名称)。

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

尝试增加中的.plist文件中的字体下键,当你输入你的键名这是提出了“由应用程序提供字体”,而不是“UIAppFonts”。

+0

他们是一样的。 'UIAppFonts'是实际的“原始”键名称,而'应用程序提供的字体'仅仅是对该键的更友好的描述,其结合了目的。如果在编辑器中右键单击属性列表,则可以使用“显示原始键/值”菜单项在原始名称和显示名称之间切换。 – NSGod 2013-03-31 17:59:36

+0

哦,谢谢你的信息:) – 2013-04-02 07:52:59

0

下载的字体,并把它放在你的WWW文件夹。

在你的CSS文件

添加以下。

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

src是您下载字体的路径。在此之后,你可以通过使用名为“customFontExample”像这样

h1{ 
font-family: customFontExample; 
} 
0

要将所有乡亲在这里,如果你需要的@字体面的东西,你就错了给你的元素自定义字体。

一旦你有可用UIFont您的字体在你的应用程序,它也是在您创建的任何一个UIWebView提供,你只需要指定FONT-FAMILY CSS属性的正确途径。

例如

.customfont { font-family: 'M04_FATAL-FURY-BLACK'; } 
0

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

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

因此,根据我的经验,这不能很好地工作,你必须回到html @ font-face方法,这是一个痛苦,因为很难知道字体何时加载并准备好使用。 。

0

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