Frage

Ich verwende die FreeType2 Bibliothek in einem iPhone-Projekt, und ich versuche, einfach eine TTF-Datei aus dem System zu laden, wenn möglich.

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 */

Dieser Fehler scheint für Datei zu sein nicht gefunden. Ist / System / Library / Fonts nicht die Lage der Schriften? Oder haben iPhone-Apps einfach nicht haben keine Lesezugriff auf alle in dieses Verzeichnis.

Danke!

War es hilfreich?

Lösung

Sie die Schriften auf Ihrem Gerät installiert zu finden, laden Sie die Schrift Manifest (a plist):

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

Wenn Sie es analysieren, werden Sie den Eintrag für Ihre Schrift finden:

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

Andere Tipps

Sie sind entweder in /System/Library/Fonts/ oder /System/Library/Fonts/Cache. Allerdings vermute ich, dass Sie nicht über die erforderlichen Berechtigungen verfügen, können diese Verzeichnisse zugreifen zu können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top