Расположение шрифтов на iPhone? - PullRequest
4 голосов
/ 01 апреля 2010

Я использую библиотеку 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 просто не имеют никакого доступа для чтения к этому каталогу.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 апреля 2010

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

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

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

Helvetica = "/System/Library/Fonts/Cache/Helvetica.ttf";
2 голосов
/ 01 апреля 2010

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

...