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