与字体手提箱的iPhone自定义字体

我正尝试在iOS4应用程序中使用字体手提箱来定制字体,但是没有任何成功。

我已经阅读了其他已经logging如何使用自定义字体的文章,所以已经将手提箱复制到我的项目中,并将其添加到资源和应用程序数组提供的Info.plist'字体,并尝试在Interface Builder和在代码中。 但它不工作!

我发现有关自定义字体的所有示例都显示使用ttf或otf文件,但与手提箱没有任何关系。 可以这样做吗? 如果不是,我怎样才能从Font Book中得到一些可以用作自定义字体的文件结构?

我有同样的问题,只是解决了它。 朋友给了我几个字体压缩,我解压缩,然后文件大小为零kb,我不能将它们安装到字体书。 所以我search了一下,发现我的朋友应该用StuffIt Expander来压缩。 于是他又把文件发给我,我用StuffIt Expander解压。 然后我能够将字体安装到我的字体书。

但是,我的iOS应用程序仍然无法使用这些字体。 所以下面是我做的:

  1. 我发现我需要转换字体,所以我安装了Fondu http://fondu.sourceforge.net/安装结束了说不成功,但后来我仍然能够使用。

  2. 然后我意识到我需要Rosetta来运行Fondu,所以我查看了这个页面上的说明。 将我的Snow Leopard CD取出并安装可选软件包http://www.macobserver.com/tmo/article/snow_leopard_installing_rosetta/

  3. 打开terminal并转到您的字体所在的目录。 input命令:fondu [font file]然后你会得到一个提示,询问你是否要保存[font file] .pfbselectyes。

  4. 现在在您的XCode中,将pfb文件添加到您的项目中。 然后转到info.plist并将文件添加到UIAppFonts(包括.pfb扩展名)。

  5. 我testing了UITableViewCell中的字体

cell.textLabel.font = [UIFont fontWithName:@“[font file]”size:30]; //不要包含.pfb扩展名

字体显示正常。 我最初认为iOS将需要一个.ttf文件,但看起来像.pfb也很好。

希望这可以帮助。

其他testing技巧:如上所示添加UIAppFonts plist数组后,在appDidFinishLaunchingWithOptions方法和控制台types中添加一个断点

po [UIFont familyNames] 

这会得到一个已安装的字体列表,以便search您的字体名称。 复制并粘贴到这个:

 po [UIFont fontNamesForFamilyName:@"familyname"] 

这会得到您在代码中引用的字体名称。 我还没有尝试[字体文件名]的方法,但这给你的名字应用程序用来引用你想要的确切字体。 当字体包含一系列变体或者您从同一系列中安装了多个变体时,这很重要。 例如,helvetica有四个变体,所以你可以这样select正确的:

 lblMyLabel.font = [UIFont fontWithName:@"fontname" size:lblMyLabel.font.pointSize] 

例如

 lblMyLabel.font = [UIFont fontWithName:@"Helvetica-Oblique" size:lblMyLabel.font.pointSize] 

这会保留原来用于标签的字体点大小。 一旦视图加载,我也只有成功。

首先将SystemConfiguration框架包含到您的项目中。 并根据您的要求添加ttf或otf文件。 然后导入dlfcn.h文件来委托实现文件。 然后你必须在图像中附加后调用函数 替代文字

然后,您可以在任何要使用自定义字体的地方访问控制器。 您只需要在UIFont的fontwithName:方法中传递字体。