2016-06-30 11 views
1

Also muss ich eine .ttf-Schriftart-Datei für Freetype-Schriftart-Rendering in meinem Android NDK-Projekt enthalten. Wo soll ich es hinstellen, damit es in die Apk gesteckt wird?Wie füge ich eine Schriftartdatei (.ttf) in mein Android NDK-Projekt ein?

+0

Der typische Ansatz ist es in 'Assets /' zu setzen. Ich weiß nicht viel darüber, wie Sie es verwenden werden, aber ich rate Ihnen, dass Sie das Asset (aus 'AssetManager') in eine lokale Datei im Dateisystem kopieren müssen und dann Ihren lokalen Code diese lokale Dateisystemkopie verwenden. – CommonsWare

+0

Vermögenswerte bearbeitet. Möchten Sie als Antwort posten? – iHowell

+0

Ich würde empfehlen, dass Sie die Antwort posten, da Sie erklären können, wie Sie dieses Asset in Bezug auf das NDK verwenden. – CommonsWare

Antwort

-1

In src/main/ habe ich einen anderen Ordner assets/ neben den java/, jni/ und res/ Ordner, in denen ich die .ttf Datei platziert und es wurde auf die apk hochgeladen. Ich versuche immer noch zu bekommen Freetype als der aktuelle Befehl zu sehen, ist es nicht immer:

FT_New_Face(ft, "/assets/Arial.ttf", 0, &face); 

Aber das ist eine andere Frage.

+0

Warum als beantwortet markiert? Irgendwelche Neuigkeiten an dieser Front? Ich stoße auf dasselbe Problem. –

1

Ich werde meine Lösung hinzufügen, indem Sie den AssetManager übergeben und einen Verweis darauf in der C++ - Seite behalten. Die Schriftttf-Datei wird im Ordner "Assets" in einem Schriftartenordner gespeichert.

Um den AssetManager zu übergeben übergeben Sie es einfach als ein Objekt und konvertieren auf der C++ Seite.

AAssetManager *manager = AAssetManager_fromJava(javaEnv, assetObject); 
+0

Ich werde hinzufügen, dass dies zum Laden benutzerdefinierter Schriftarten ist, für Systemschriftarten ist dies nicht erforderlich, da Sie direkt ohne den AssetManager zugreifen. – Adrian