8039273: Font related files should not be modified in ${java.home}/lib

Reviewed-by: serb, naoto
This commit is contained in:
Phil Race 2016-12-15 14:30:12 -08:00
parent 2c877752fe
commit 45e7f76530

View File

@ -182,11 +182,17 @@ public abstract class FontConfiguration {
throw new Error("java.home property not set"); throw new Error("java.home property not set");
} }
javaLib = javaHome + File.separator + "lib"; javaLib = javaHome + File.separator + "lib";
String javaConfFonts = javaHome +
File.separator + "conf" +
File.separator + "fonts";
String userConfigFile = System.getProperty("sun.awt.fontconfig"); String userConfigFile = System.getProperty("sun.awt.fontconfig");
if (userConfigFile != null) { if (userConfigFile != null) {
fontConfigFile = new File(userConfigFile); fontConfigFile = new File(userConfigFile);
} else { } else {
fontConfigFile = findFontConfigFile(javaLib); fontConfigFile = findFontConfigFile(javaConfFonts);
if (fontConfigFile == null) {
fontConfigFile = findFontConfigFile(javaLib);
}
} }
} }
@ -275,8 +281,11 @@ public abstract class FontConfiguration {
return null; return null;
} }
private File findFontConfigFile(String javaLib) { private File findFontConfigFile(String dir) {
String baseName = javaLib + File.separator + "fontconfig"; if (!(new File(dir)).exists()) {
return null;
}
String baseName = dir + File.separator + "fontconfig";
File configFile; File configFile;
String osMajorVersion = null; String osMajorVersion = null;
if (osVersion != null && osName != null) { if (osVersion != null && osName != null) {