Lage der Schriftart auf dem iPhone?
-
23-09-2019 - |
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!
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.