--- old/src/java.desktop/share/classes/sun/awt/FontConfiguration.java 2016-12-12 12:14:37.228856085 -0800 +++ new/src/java.desktop/share/classes/sun/awt/FontConfiguration.java 2016-12-12 12:14:37.116856086 -0800 @@ -182,10 +182,16 @@ throw new Error("java.home property not set"); } javaLib = javaHome + File.separator + "lib"; + String javaConfFonts = javaHome + + File.separator + "conf" + + File.separator + "fonts"; String userConfigFile = System.getProperty("sun.awt.fontconfig"); if (userConfigFile != null) { fontConfigFile = new File(userConfigFile); } else { + fontConfigFile = findFontConfigFile(javaConfFonts); + } + if (fontConfigFile == null) { fontConfigFile = findFontConfigFile(javaLib); } } @@ -275,8 +281,11 @@ return null; } - private File findFontConfigFile(String javaLib) { - String baseName = javaLib + File.separator + "fontconfig"; + private File findFontConfigFile(String dir) { + if (!(new File(dir)).exists()) { + return null; + } + String baseName = dir + File.separator + "fontconfig"; File configFile; String osMajorVersion = null; if (osVersion != null && osName != null) {