--- a/jdk/src/java.desktop/share/classes/sun/awt/FontConfiguration.java Mon Jul 25 10:36:12 2016 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/FontConfiguration.java Mon Jul 25 11:03:53 2016 -0700
@@ -251,12 +251,24 @@
private File findImpl(String fname) {
File f = new File(fname + ".properties");
+ if (FontUtilities.debugFonts()) {
+ logger.info("Looking for text fontconfig file : " + f);
+ }
if (f.canRead()) {
+ if (FontUtilities.debugFonts()) {
+ logger.info("Found file : " + f);
+ }
isProperties = true;
return f;
}
f = new File(fname + ".bfc");
+ if (FontUtilities.debugFonts()) {
+ logger.info("Looking for binary fontconfig file : " + f);
+ }
if (f.canRead()) {
+ if (FontUtilities.debugFonts()) {
+ logger.info("Found file : " + f);
+ }
isProperties = false;
return f;
}
@@ -305,6 +317,9 @@
if (configFile != null) {
return configFile;
}
+ if (FontUtilities.debugFonts()) {
+ logger.info("Did not find a fontconfig file.");
+ }
return null;
}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11FontManager.java Mon Jul 25 10:36:12 2016 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11FontManager.java Mon Jul 25 11:03:53 2016 -0700
@@ -742,28 +742,20 @@
protected FontConfiguration createFontConfiguration() {
/* The logic here decides whether to use a preconfigured
* fontconfig.properties file, or synthesise one using platform APIs.
- * On Solaris (as opposed to OpenSolaris) we try to use the
+ * On Solaris we try to use the
* pre-configured ones, but if the files it specifies are missing
* we fail-safe to synthesising one. This might happen if Solaris
* changes its fonts.
- * For OpenSolaris I don't expect us to ever create fontconfig files,
- * so it will always synthesise. Note that if we misidentify
- * OpenSolaris as Solaris, then the test for the presence of
- * Solaris-only font files will correct this.
* For Linux we require an exact match of distro and version to
- * use the preconfigured file, and also that it points to
- * existent fonts.
+ * use the preconfigured file.
* If synthesising fails, we fall back to any preconfigured file
* and do the best we can. For the commercial JDK this will be
* fine as it includes the Lucida fonts. OpenJDK should not hit
* this as the synthesis should always work on its platforms.
*/
FontConfiguration mFontConfig = new MFontConfiguration(this);
- if (FontUtilities.isOpenSolaris ||
- (FontUtilities.isLinux &&
- (!mFontConfig.foundOsSpecificFile() ||
- !mFontConfig.fontFilesArePresent()) ||
- (FontUtilities.isSolaris && !mFontConfig.fontFilesArePresent()))) {
+ if ((FontUtilities.isLinux && !mFontConfig.foundOsSpecificFile()) ||
+ (FontUtilities.isSolaris && !mFontConfig.fontFilesArePresent())) {
FcFontConfiguration fcFontConfig =
new FcFontConfiguration(this);
if (fcFontConfig.init()) {
@@ -773,6 +765,7 @@
mFontConfig.init();
return mFontConfig;
}
+
public FontConfiguration
createFontConfiguration(boolean preferLocaleFonts,
boolean preferPropFonts) {