Вопрос

Я использую библиотеку FreeType2 в проекте iPhone, и я пытаюсь просто загрузить 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 */

Похоже, эта ошибка связана с тем, что файл не найден.Является ли /System /Library/Fonts не местоположением шрифтов?Или приложения iPhone просто вообще не имеют доступа на чтение к этому каталогу.

Спасибо!

Это было полезно?

Решение

Чтобы найти шрифты, установленные на вашем устройстве, загрузите манифест шрифтов (plist).:

NSDictionary *cgFonts = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/Fonts/CGFontCache.plist"];

Как только вы проанализируете его, вы найдете запись для вашего шрифта:

Helvetica = "/System/Library/Fonts/Cache/Helvetica.ttf";

Другие советы

Они либо находятся в /System/Library/Fonts/ или /System/Library/Fonts/Cache.Однако я подозреваю, что у вас может не быть необходимых разрешений для доступа к этим каталогам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top