PatchSet 7280 
Date: 2006/05/04 00:29:34
Author: riccardo
Branch: HEAD
Tag: (none) 
Log:
changed default char back to Lucida

Members: 
        ChangeLog:1.4784->1.4785 
        libraries/clib/awt/X/fnt.c:1.18->1.19 
        
libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java:1.2->1.3 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4784 kaffe/ChangeLog:1.4785
--- kaffe/ChangeLog:1.4784      Tue May  2 20:38:47 2006
+++ kaffe/ChangeLog     Thu May  4 00:29:34 2006
@@ -1,3 +1,10 @@
+2006-05-04  Riccardo Mottola <[EMAIL PROTECTED]>
+
+       * libraries/clib/awt/X/fnt.c:
+       fixed seriously broken charWidth implementation
+       * libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java:
+       changed default char back to Lucida
+
 2006-05-02  Riccardo Mottola <[EMAIL PROTECTED]>
 
        * libraries/javalib/awt-implementations/kaffe/java/awt/Font.java:
Index: kaffe/libraries/clib/awt/X/fnt.c
diff -u kaffe/libraries/clib/awt/X/fnt.c:1.18 
kaffe/libraries/clib/awt/X/fnt.c:1.19
--- kaffe/libraries/clib/awt/X/fnt.c:1.18       Tue Oct 25 15:43:26 2005
+++ kaffe/libraries/clib/awt/X/fnt.c    Thu May  4 00:29:38 2006
@@ -3,6 +3,8 @@
  *
  * Copyright (c) 1998
  *      Transvirtual Technologies, Inc.  All rights reserved.
+ * Copyright (c) 2006
+ *      Kaffe.org developers. See ChangeLog for details.
  *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
@@ -215,11 +217,37 @@
   return xfse->max_logical_extent.height-(-xfse->max_logical_extent.y);
 }
 
+// We want to return a width if the font is fixed, else 0
 KAFFE_FONT_FUNC_DECL( jint, Java_java_awt_Toolkit_fntGetFixedWidth )
 {
-  XFontSetExtents *xfse=XExtentsOfFontSet(UNVEIL_XOC(xoc));
-  return ( xfse->max_logical_extent.width == xfse->max_ink_extent.width ) ?
-         xfse->max_logical_extent.width : 0;
+    XFontSet *fontSet;
+    XFontStruct **fontStructList;
+    char **fontNameList;
+    fontSet = UNVEIL_XOC(xoc);
+    Atom atom;
+    unsigned long retValue;
+    char *atomValue;
+    int isFixedWidth;
+
+    // we create an atom to query the font properties
+    atom = XInternAtom( X->dsp, "SPACING", 0);
+
+    // we get the font structure
+    XFontsOfFontSet(fontSet, &fontStructList, &fontNameList);
+
+    isFixedWidth = 0;
+    if (XGetFontProperty(fontStructList[0], atom, &retValue)) {
+        atomValue = XGetAtomName(X->dsp, (Atom)retValue);
+        if (atomValue != NULL) {
+            if (atomValue[0] == 'C' || atomValue[0] == 'M') {
+                // we have a fixed with font
+                XFontSetExtents *xfse=XExtentsOfFontSet(fontSet);
+                return xfse->max_logical_extent.width;
+            }
+        }
+        XFree(atomValue);
+    }
+    return 0;
 }
 
 KAFFE_FONT_FUNC_DECL( jint, Java_java_awt_Toolkit_fntGetHeight )
Index: kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java
diff -u 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java:1.2 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java:1.3
--- 
kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java:1.2    
    Tue Apr 25 22:14:05 2006
+++ kaffe/libraries/javalib/awt-implementations/kaffe/java/awt/Defaults.java    
Thu May  4 00:29:38 2006
@@ -423,8 +423,8 @@
          int res = (ScreenWidth > 1024) ? 100 : 75; 
                String fntCat = Integer.toString(res) + '-' + res + "-*-*-*-*";
 
-               //FsDefault = "-b&h-lucida-%s-%s-*-*-*-%d-" + fntCat;
-               FsDefault = "-adobe-helvetica-%s-%s-*-*-*-%d-"  + fntCat;
+               FsDefault = "-*-lucida-%s-%s-*-*-*-%d-" + fntCat;
+               //FsDefault = "-adobe-helvetica-%s-%s-*-*-*-%d-"  + fntCat;
                FsMonospaced = "-adobe-courier-%s-%s-*-*-*-%d-" + fntCat;
                FsSansSerif = "-adobe-helvetica-%s-%s-*-*-*-%d-" + fntCat;
                FsSerif = "-adobe-times-%s-%s-*-*-*-%d-" + fntCat;

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to