字体在 iPhone 上的位置?

Kyl*_*yle 5 filesystems iphone fonts freetype2

我在 iPhone 项目中使用 FreeType2 库,如果可能,我试图简单地从系统加载 TTF 文件。

FT_Library  library;
FT_Face face;
int error;


error = FT_Init_FreeType( &library );

if ( error == 0 )
     printf("Initialized FreeType2\r\n");   /* Prints */

error = FT_New_Face(library, "/System/Library/Fonts/Helvetica.ttf", 0, &face);

if ( error ==  FT_Err_Cannot_Open_Resource )
    printf("Font not found\r\n");         /* Prints */
Run Code Online (Sandbox Code Playgroud)

该错误似乎是因为找不到文件。/System/Library/Fonts 不是字体的位置吗?或者,iPhone 应用程序根本没有对该目录的任何读取权限。

谢谢!

Zac*_*ack 4

要查找设备上安装的字体,请加载字体清单(plist):

NSDictionary *cgFonts = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/Fonts/CGFontCache.plist"];
Run Code Online (Sandbox Code Playgroud)

解析它后,您将找到您的字体的条目:

Helvetica = "/System/Library/Fonts/Cache/Helvetica.ttf";
Run Code Online (Sandbox Code Playgroud)