freetype ios

为 iOS 项目嵌入 Freetype

Freetype 是一个用 C 语言编写的字体库。从 OpenGL 的角度来看,它可以为任何字符串的任何字体大小动态创建 alpha 纹理。

第 1 步:将原始的 freetype 源代码嵌入到代码中确实很痛苦。对我们来说幸运的是,一个人完成了这项任务并在 github 上发布了代码。 https://github.com/cdave1/freetype2-ios。因此,第 1 步是检查该代码。

第 2 步:创建您的新项目并将第 1 步下载的项目添加到您的项目中。

检查 Xcode 是否已经为您创建了两个方案。

第 3 步:转到您的项目设置,选择您的目标并单击“Build Phases”。在“Target Dependencies”下添加来自 freetype2 项目的静态库。

这将为您构建静态库,而无需您显式构建它。

第 4 步:转到“Link Binary with Libraries”并添加静态库。

这将构建 libFreetype2.a 并将其放在产品目录中。

第5步:接下来,我们需要在产品目录下添加freetype头文件。为什么?因为,Xcode 项目被配置为自动在产品目录中查找头文件,而无需我们指定搜索路径。此外,如果将来我们对 freetype 项目头文件进行一些更改(不太可能),这些更改将在我们的产品目录中自动更新。

现在,打开 freetype2 项目设置并转到“Build Phases”。单击“Add Build Phase”和“Add Copy Files”

第 6 步:将“Destination”更改为“Products Directory”。现在,这是 Xcode 最糟糕的部分,我们需要从 freetype2 项目中复制我们的头文件,但是这样做会使复制的目录结构变平。

解决此问题的一种方法是从 freetype2 项目中删除包含文件并将它们再次添加为“Folder reference”

第 7 步:将include文件夹从 freetype2 项目拖到“Copy Files”阶段。(很重要,未加入,无法调用对应的类)

如果到目前为止您已经按照正确的方式进行操作,那么您的项目应该可以正常构建。它应该编译 freetype 目标,复制头文件,然后编译和链接您的项目。

产品目录应该类似于

对于最终测试,尝试将以下代码行添加到您的 main.m 文件并编译代码:

#import

#import "AppDelegate.h"

#import

#import

#import

voidtest_freetype(){

    FT_Librarylibrary;

    FT_Errorerror=FT_Init_FreeType(&library);

    assert(!error);

    FT_Done_FreeType(library);

}

intmain(intargc,char*argv[]){

    test_freetype();

    @autoreleasepool{returnUIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegateclass]));

    }

}

原文引用地址https://whackylabs.com/gamedev/ios/2013/09/13/freetype-in-ios/

.a编译相关设置 https://blog.csdn.net/qq_34759481/article/details/83541346

 编译使用的时候需要加上一些附加依赖库:libbz2.tbd,libz.tbd

你可能感兴趣的:(freetype ios)