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.