summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer/x/XFontPeer.java
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2006-07-18 18:17:10 +0000
committerRoman Kennke <roman@kennke.org>2006-07-18 18:17:10 +0000
commit033b92198733407411000777515e221496a274f5 (patch)
tree88086e568a85da3ebf6a65a7438bcc3ba8f30f54 /gnu/java/awt/peer/x/XFontPeer.java
parente4f11a19409b623f524b8a8a0ab1696aa1a97456 (diff)
downloadclasspath-033b92198733407411000777515e221496a274f5.tar.gz
2006-07-18 Roman Kennke <kennke@aicas.com>
* gnu/java/awt/peer/x/XFontPeer.java (encodeFont): Be more flexible with font sizes. (validSize): New helper method. * gnu/java/awt/peer/x/XGraphics.java (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): Implemented. (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): Implemented. * gnu/java/awt/peer/x/XImage.java (properties): New field. (getProperty): Implemented. * resource/gnu/java/awt/peer/x/fonts.properties: Added copyright header. Fixed font size field.
Diffstat (limited to 'gnu/java/awt/peer/x/XFontPeer.java')
-rw-r--r--gnu/java/awt/peer/x/XFontPeer.java28
1 files changed, 27 insertions, 1 deletions
diff --git a/gnu/java/awt/peer/x/XFontPeer.java b/gnu/java/awt/peer/x/XFontPeer.java
index 8a499db1a..fd293d8dd 100644
--- a/gnu/java/awt/peer/x/XFontPeer.java
+++ b/gnu/java/awt/peer/x/XFontPeer.java
@@ -694,7 +694,8 @@ public class XFontPeer
}
String protoType = fontProperties.getProperty(key.toString());
- return protoType.replaceFirst("%d", String.valueOf(size));
+ int s = validSize(size);
+ return protoType.replaceFirst("%d", String.valueOf(s * 10));
}
/**
@@ -724,6 +725,31 @@ public class XFontPeer
}
/**
+ * Translates an arbitrary point size to a size that is typically available
+ * on an X server. These are the sizes 8, 10, 12, 14, 18 and 24.
+ *
+ * @param size the queried size
+ * @return the real available size
+ */
+ private static final int validSize(int size)
+ {
+ int val;
+ if (size <= 9)
+ val = 8;
+ else if (size <= 11)
+ val = 10;
+ else if (size <= 13)
+ val = 12;
+ else if (size <= 17)
+ val = 14;
+ else if (size <= 23)
+ val = 18;
+ else
+ val = 24;
+ return val;
+ }
+
+ /**
* Returns the X Font reference. This lazily loads the font when first
* requested.
*