< prev index next >
src/solaris/native/sun/awt/fontpath.c
Print this page
@@ -1049,10 +1049,20 @@
CHECK_NULL(fullNameID = (*env)->GetFieldID(env, fcFontClass,
"fullName", "Ljava/lang/String;"));
CHECK_NULL(fontFileID = (*env)->GetFieldID(env, fcFontClass,
"fontFile", "Ljava/lang/String;"));
+ jclass fontUtilitiesClass =
+ (*env)->FindClass(env, "sun/font/FontUtilities");
+ CHECK_NULL(fontUtilitiesClass);
+ jfieldID isOpenJDKID =
+ (*env)->GetStaticFieldID(env, fontUtilitiesClass, "isOpenJDK", "Z");
+ CHECK_NULL(isOpenJDKID);
+ jboolean isOpenJDK =
+ (*env)->GetStaticBooleanField(env, fontUtilitiesClass, isOpenJDKID);
+
+
if ((libfontconfig = openFontConfig()) == NULL) {
return;
}
FcNameParse = (FcNameParseFuncType)dlsym(libfontconfig, "FcNameParse");
@@ -1237,10 +1247,11 @@
*/
if (fontformat != NULL
&& (strcmp((char*)fontformat, "TrueType") != 0)
#if defined(__linux__) || defined(_AIX)
&& (strcmp((char*)fontformat, "Type 1") != 0)
+ && !(isOpenJDK && (strcmp((char*)fontformat, "CFF") == 0))
#endif
) {
continue;
}
result = (*FcPatternGetCharSet)(fontPattern,
< prev index next >