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>
This commit is contained in:
@@ -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;
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user