src/share/classes/sun/font/FontUtilities.java

Print this page

        

*** 30,86 **** import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.security.AccessController; import javax.swing.plaf.FontUIResource; - import sun.security.action.GetPropertyAction; import sun.util.logging.PlatformLogger; /** * A collection of utility methods. */ public final class FontUtilities { ! public static final boolean isSolaris; ! public static final boolean isLinux; ! public static final boolean isSolaris8; ! public static final boolean isSolaris9; ! public static final boolean isOpenSolaris; ! public static final boolean useT2K; ! public static final boolean isWindows; ! public static final boolean isOpenJDK; static final String LUCIDA_FILE_NAME = "LucidaSansRegular.ttf"; // This static initializer block figures out the OS constants. static { ! String osName = AccessController.doPrivileged( ! new GetPropertyAction("os.name", "unknownOS")); isSolaris = osName.startsWith("SunOS"); isLinux = osName.startsWith("Linux"); ! String t2kStr = AccessController.doPrivileged( ! new GetPropertyAction("sun.java2d.font.scaler")); if (t2kStr != null) { useT2K = "t2k".equals(t2kStr); } else { useT2K = false; } if (isSolaris) { ! String version = AccessController.doPrivileged( ! new GetPropertyAction("os.version", "0.0")); isSolaris8 = version.startsWith("5.8"); isSolaris9 = version.startsWith("5.9"); float ver = Float.parseFloat(version); if (ver > 5.10f) { File f = new File("/etc/release"); --- 30,85 ---- import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.security.AccessController; + import java.security.PrivilegedAction; import javax.swing.plaf.FontUIResource; import sun.util.logging.PlatformLogger; /** * A collection of utility methods. */ public final class FontUtilities { ! public static boolean isSolaris; ! public static boolean isLinux; ! public static boolean isSolaris8; ! public static boolean isSolaris9; ! public static boolean isOpenSolaris; ! public static boolean useT2K; ! public static boolean isWindows; ! public static boolean isOpenJDK; static final String LUCIDA_FILE_NAME = "LucidaSansRegular.ttf"; // This static initializer block figures out the OS constants. static { ! AccessController.doPrivileged(new PrivilegedAction () { ! public Object run() { ! String osName = System.getProperty("os.name", "unknownOS"); isSolaris = osName.startsWith("SunOS"); isLinux = osName.startsWith("Linux"); ! String t2kStr = System.getProperty("sun.java2d.font.scaler"); if (t2kStr != null) { useT2K = "t2k".equals(t2kStr); } else { useT2K = false; } if (isSolaris) { ! String version = System.getProperty("os.version", "0.0"); isSolaris8 = version.startsWith("5.8"); isSolaris9 = version.startsWith("5.9"); float ver = Float.parseFloat(version); if (ver > 5.10f) { File f = new File("/etc/release");
*** 99,122 **** isOpenSolaris = true; } else { isOpenSolaris = false; } } else { ! isOpenSolaris= false; } } else { isSolaris8 = false; isSolaris9 = false; isOpenSolaris = false; } isWindows = osName.startsWith("Windows"); ! String jreLibDirName = AccessController.doPrivileged( ! new GetPropertyAction("java.home","")) + File.separator + "lib"; ! String jreFontDirName = jreLibDirName + File.separator + "fonts"; ! File lucidaFile = ! new File(jreFontDirName + File.separator + LUCIDA_FILE_NAME); isOpenJDK = !lucidaFile.exists(); } /** * Referenced by code in the JDK which wants to test for the * minimum char code for which layout may be required. --- 98,125 ---- isOpenSolaris = true; } else { isOpenSolaris = false; } } else { ! isOpenSolaris = false; } } else { isSolaris8 = false; isSolaris9 = false; isOpenSolaris = false; } isWindows = osName.startsWith("Windows"); ! String jreLibDirName = System.getProperty("java.home", "") ! + File.separator + "lib"; ! String jreFontDirName = ! jreLibDirName + File.separator + "fonts"; ! File lucidaFile = new File(jreFontDirName + File.separator ! + LUCIDA_FILE_NAME); isOpenJDK = !lucidaFile.exists(); + return null; + } + }); } /** * Referenced by code in the JDK which wants to test for the * minimum char code for which layout may be required.