protected native void eventThread();
private native void natInit();
- /** returns the $BROWSER environment variable, since System.getenv() is useless */
- private static native String getBrowserEnvString();
-
+ /** returns the value of the environment variable key, or null if no such key exists */
+ protected native String _getEnv(String key);
+
/** spawns a process which is immune to SIGHUP */
private static native void spawnChildProcess(String[] command);
protected void _newBrowserWindow(String url) {
- String browserString = getBrowserEnvString();
+ String browserString = getEnv("BROWSER");
if (browserString == null) {
browserString = "netscape " + url;
} else if (browserString.indexOf("%s") != -1) {
public void initFonts() {
// use the font list to build nativeFontList
String[] fonts = listNativeFonts();
+
for(int k=0; k<fonts.length; k++) {
String s = fonts[k].toLowerCase();
StringTokenizer st = new StringTokenizer(s, "-", false);
try {
for(int i=0; st.hasMoreTokens(); i++) font[i] = st.nextToken();
+
+ // limit to iso8559 until we can do I18N properly....
+ if (font.length > 13) {
+ if (!font[13].equals("iso8559")) continue;
+ if (font.length < 15 || !font[14].equals("1")) continue;
+ }
+
String name = font[1];
String size = font[6];
- String slant = font[3].equals("i") ? "i" : "";
+ String slant = (font[3].equals("i") || font[3].equals("o")) ? "i" : "";
String bold = font[2].equals("bold") ? "b" : "";
String tail = s.substring(1 + font[0].length() + 1 + font[1].length() + 1 + font[2].length() + 1 +
font[3].length() + 1 + font[4].length() + 1);