Android: Load fonts from assets

Now fonts/ directory is bundled in APK as assets. TTF_OpenFont() can
open files in Android assets, but cannot handle the "./" path prefix.
This commit is contained in:
kichikuou
2019-12-31 21:18:23 +09:00
parent 8588a0033c
commit 070a2f8105
3 changed files with 9 additions and 5 deletions
+1 -3
View File
@@ -38,12 +38,10 @@ check_symbol_exists(uname "sys/utsname.h" HAVE_UNAME)
if (EMSCRIPTEN)
set(SDL2_FOUND 1)
set(FREETYPE_FOUND 1)
set(DEFAULT_FONT_PATH .)
elseif (ANDROID)
set(SDL2_FOUND 1)
set(SDL2MIXER_FOUND 1)
set(SDL2TTF_FOUND 1)
set(DEFAULT_FONT_PATH .)
find_library(ndk_zlib z)
find_library(ndk_log log)
else()
@@ -79,7 +77,7 @@ else()
optional_pkg_check_modules(SDL2MIXER IMPORTED_TARGET SDL2_mixer)
optional_pkg_check_modules(SDL2TTF IMPORTED_TARGET SDL2_ttf)
set(DEFAULT_FONT_PATH ${CMAKE_INSTALL_PREFIX}/share/xsystem35/fonts)
set(DEFAULT_FONT_PATH ${CMAKE_INSTALL_PREFIX}/share/xsystem35/fonts/)
endif()
+6
View File
@@ -34,6 +34,12 @@ android {
if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) {
sourceSets.main {
jniLibs.srcDir 'libs'
assets.srcDir '../../fonts'
}
aaptOptions {
// Disable asset compression for fonts.
// Without this, text rendering will be very slow.
noCompress 'ttf'
}
externalNativeBuild {
cmake {
+2 -2
View File
@@ -38,5 +38,5 @@
#cmakedefine HAVE_UNAME @HAVE_UNAME@
#cmakedefine HAVE_XF86VMODE @HAVE_XF86VMODE@
#define DEFAULT_GOTHIC_TTF "@DEFAULT_FONT_PATH@/MTLc3m.ttf"
#define DEFAULT_MINCHO_TTF "@DEFAULT_FONT_PATH@/mincho.otf"
#define DEFAULT_GOTHIC_TTF "@DEFAULT_FONT_PATH@MTLc3m.ttf"
#define DEFAULT_MINCHO_TTF "@DEFAULT_FONT_PATH@mincho.otf"