src/solaris/classes/sun/awt/motif/MFontConfiguration.java

Print this page
rev 1379 : [mq]: fontmanager.patch

@@ -35,33 +35,38 @@
 import java.util.Locale;
 import java.util.logging.Logger;
 import java.util.Properties;
 import java.util.Scanner;
 import sun.awt.FontConfiguration;
+import sun.awt.X11FontManager;
 import sun.awt.X11GraphicsEnvironment;
+import sun.font.FontManager;
+import sun.font.SunFontManager;
+import sun.font.FontManagerFactory;
+import sun.font.FontUtilities;
 import sun.java2d.SunGraphicsEnvironment;
 import java.nio.charset.Charset;
 
 public class MFontConfiguration extends FontConfiguration {
 
     private static FontConfiguration fontConfig = null;
     private static Logger logger;
 
-    public MFontConfiguration(SunGraphicsEnvironment environment) {
-        super(environment);
-        if (SunGraphicsEnvironment.debugFonts) {
+    public MFontConfiguration(SunFontManager fm) {
+        super(fm);
+        if (FontUtilities.debugFonts()) {
             logger = Logger.getLogger("sun.awt.FontConfiguration");
         }
         initTables();
     }
 
 
-    public MFontConfiguration(SunGraphicsEnvironment environment,
+    public MFontConfiguration(SunFontManager fm,
                               boolean preferLocaleFonts,
                               boolean preferPropFonts) {
-        super(environment, preferLocaleFonts, preferPropFonts);
-        if (SunGraphicsEnvironment.debugFonts) {
+        super(fm, preferLocaleFonts, preferPropFonts);
+        if (FontUtilities.debugFonts()) {
             logger = Logger.getLogger("sun.awt.FontConfiguration");
         }
         initTables();
     }
 

@@ -88,21 +93,21 @@
                        split("japanese-x0201,japanese-x0208,japanese-x0212"));
         reorderMap.put("UTF-8.ko", "korean-johab");
         reorderMap.put("UTF-8.th", "thai");
         reorderMap.put("UTF-8.zh.TW", "chinese-big5");
         reorderMap.put("UTF-8.zh.HK", split("chinese-big5,chinese-hkscs"));
-        if (sun.font.FontManager.isSolaris8) {
+        if (FontUtilities.isSolaris8) {
             reorderMap.put("UTF-8.zh.CN", split("chinese-gb2312,chinese-big5"));
         } else {
             reorderMap.put("UTF-8.zh.CN",
                            split("chinese-gb18030-0,chinese-gb18030-1"));
         }
         reorderMap.put("UTF-8.zh",
                        split("chinese-big5,chinese-hkscs,chinese-gb18030-0,chinese-gb18030-1"));
         reorderMap.put("Big5", "chinese-big5");
         reorderMap.put("Big5-HKSCS", split("chinese-big5,chinese-hkscs"));
-        if (! sun.font.FontManager.isSolaris8 && ! sun.font.FontManager.isSolaris9) {
+        if (! FontUtilities.isSolaris8 && ! FontUtilities.isSolaris9) {
             reorderMap.put("GB2312", split("chinese-gbk,chinese-gb2312"));
         } else {
             reorderMap.put("GB2312","chinese-gb2312");
         }
         reorderMap.put("x-EUC-TW",

@@ -207,11 +212,11 @@
 
     private static final String fontsDirPrefix = "$JRE_LIB_FONTS";
 
     protected String mapFileName(String fileName) {
         if (fileName != null && fileName.startsWith(fontsDirPrefix)) {
-            return SunGraphicsEnvironment.jreFontDirName
+            return SunFontManager.jreFontDirName
                     + fileName.substring(fontsDirPrefix.length());
         }
         return fileName;
     }
 

@@ -308,11 +313,11 @@
         String fileName = getFileNameFromPlatformName(componentFontName);
         if (fileName != null && fileName.charAt(0) == '/' &&
             !needToSearchForFile(fileName)) {
             return fileName;
         }
-        return ((X11GraphicsEnvironment) environment).getFileNameFromXLFD(componentFontName);
+        return ((X11FontManager) fontManager).getFileNameFromXLFD(componentFontName);
     }
 
     /**
      * Get default font for Motif widgets to use, preventing them from
      * wasting time accessing inappropriate X resources.  This is called