diff -r 228c5ed14f8f modules/graphics/src/main/java/com/sun/javafx/font/PrismFontFactory.java --- a/modules/graphics/src/main/java/com/sun/javafx/font/PrismFontFactory.java Mon Jul 08 14:23:43 2013 -0700 +++ b/modules/graphics/src/main/java/com/sun/javafx/font/PrismFontFactory.java Tue Jul 09 17:03:05 2013 -0700 @@ -48,6 +48,7 @@ public static boolean debugFonts = false; public static boolean doCoreText = false; public static boolean doDirectWrite = false; + public static boolean doPango = false; public static final boolean isWindows; public static final boolean isLinux; public static final boolean isMacOSX; @@ -62,6 +63,7 @@ private static final String T2K_FACTORY = "com.sun.javafx.font.t2k.T2KFactory"; private static final String CT_FACTORY = "com.sun.javafx.font.coretext.CTFactory"; private static final String DW_FACTORY = "com.sun.javafx.font.directwrite.DWFactory"; + private static final String PANGO_FACTORY = "com.sun.javafx.font.pango.PangoFactory"; /* We need two maps. One to hold pointers to the raw fonts, another * to hold pointers to the composite resources. Top level look ups @@ -116,6 +118,9 @@ if (isWindows) { doDirectWrite = prismText.equals("native") || prismText.equals("directwrite"); } + if (isLinux) { + doPango = prismText.equals("native") || prismText.equals("pango"); + } } static PrismFontFactory theFontFactory = null; @@ -126,6 +131,7 @@ String factoryClass = T2K_FACTORY; if (doCoreText) factoryClass = CT_FACTORY; if (doDirectWrite) factoryClass = DW_FACTORY; + if (doPango) factoryClass = PANGO_FACTORY; if (debugFonts) { System.err.println("Loading FontFactory " + factoryClass); }