diff options
author | Jan Holesovsky <kendy@collabora.com> | 2019-02-15 16:01:55 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2019-03-11 17:46:09 +0100 |
commit | bd050920ffdeb694d0b4a8feaf72625626e851d7 (patch) | |
tree | 4792e07c5fa0235a31ef560bf638249de0322dbc | |
parent | cb6d77987c614449a42162541ec3afa36a2959e7 (diff) |
android: Set the FONTCONFIG_FILE envvar to the fonts.conf (if exists).
Change-Id: Ic9fd97a2ff8a6d96ffcc7ad300ef30201d786528
Reviewed-on: https://gerrit.libreoffice.org/67876
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r-- | android/Bootstrap/src/org/libreoffice/kit/LibreOfficeKit.java | 13 | ||||
-rw-r--r-- | sal/android/libreofficekit-jni.c | 15 |
2 files changed, 15 insertions, 13 deletions
diff --git a/android/Bootstrap/src/org/libreoffice/kit/LibreOfficeKit.java b/android/Bootstrap/src/org/libreoffice/kit/LibreOfficeKit.java index ce84b7409c1f..f6658d64806a 100644 --- a/android/Bootstrap/src/org/libreoffice/kit/LibreOfficeKit.java +++ b/android/Bootstrap/src/org/libreoffice/kit/LibreOfficeKit.java @@ -67,19 +67,6 @@ public final class LibreOfficeKit String cacheDir = activity.getApplication().getCacheDir().getAbsolutePath(); String apkFile = activity.getApplication().getPackageResourcePath(); - // If there is a fonts.conf file in the apk that can be extracted, automatically - // set the FONTCONFIG_FILE env var. - InputStream inputStream; - try { - inputStream = activity.getAssets().open("unpack/etc/fonts/fonts.conf"); - } catch (java.io.IOException exception) { - inputStream = null; - } - - if (inputStream != null) { - putenv("FONTCONFIG_FILE=" + dataDir + "/etc/fonts/fonts.conf"); - } - if (!initializeNative(dataDir, cacheDir, apkFile, mgr)) { Log.e(LOGTAG, "Initialize native failed!"); return; diff --git a/sal/android/libreofficekit-jni.c b/sal/android/libreofficekit-jni.c index abbf3edaed10..c11f7dd4eb09 100644 --- a/sal/android/libreofficekit-jni.c +++ b/sal/android/libreofficekit-jni.c @@ -74,6 +74,9 @@ jboolean libreofficekit_initialize(JNIEnv* env, const char *cacheDirPath; const char *apkFilePath; + const char *fontsConf = "/etc/fonts/fonts.conf"; + char *fontsConfPath; + setenv("OOO_DISABLE_RECOVERY", "1", 1); native_asset_manager = AAssetManager_fromJava(env, assetManager); @@ -89,6 +92,18 @@ jboolean libreofficekit_initialize(JNIEnv* env, // TMPDIR is used by osl_getTempDirURL() setenv("TMPDIR", cache_dir, 1); + fontsConfPath = malloc(strlen(data_dir) + sizeof(fontsConf)); + strcpy(fontsConfPath, data_dir); + strcat(fontsConfPath, fontsConf); + + fd = open(fontsConfPath, O_RDONLY); + if (fd != -1) { + close(fd); + LOGI("Setting FONTCONFIG_FILE to %s", fontsConfPath); + setenv("FONTCONFIG_FILE", fontsConfPath, 1); + } + free(fontsConfPath); + apkFilePath = (*env)->GetStringUTFChars(env, apkFile, NULL); fd = open(apkFilePath, O_RDONLY); |