--- a/Font.st Thu Feb 19 01:01:07 2004 +0100
+++ b/Font.st Thu Feb 19 01:16:23 2004 +0100
@@ -14,7 +14,7 @@
FontDescription subclass:#Font
instanceVariableNames:'device fontId replacementFont ascent descent width isFixedWidth
- minWidth maxWidth maxAscent maxDescent'
+ minWidth maxWidth maxAscent maxDescent minCode maxCode direction'
classVariableNames:'Replacements'
poolDictionaries:''
category:'Graphics-Support'
@@ -528,14 +528,19 @@
getFontInfos
"ask the device about all of my actual attributes"
- |b info|
+ |info|
replacementFont notNil ifTrue:[
replacementFont getFontInfos.
^ self
].
- info := device fontMetricsOf:fontId.
+ info := self getFontMetrics.
+
+ minCode := info minCode.
+ maxCode := info maxCode.
+ direction := info direction.
+
encoding := info encoding.
encoding isNil ifTrue:[
encoding := device encodingOf:fontId.
@@ -561,14 +566,11 @@
getFontMetrics
"ask the device about all of my actual attributes"
- |f|
-
- f := fontId.
replacementFont notNil ifTrue:[
- f := replacementFont fontId.
+ ^ replacementFont getFontMetrics
].
- ^ device fontMetricsOf:f.
+ ^ device fontMetricsOf:fontId.
!
getFontResolution
@@ -1023,6 +1025,38 @@
"Modified: / 10.9.1998 / 12:11:33 / cg"
! !
+!Font methodsFor:'queries-misc'!
+
+direction
+ device isNil ifTrue:[
+ self errorNoDevice
+ ].
+ replacementFont notNil ifTrue:[
+ ^ replacementFont direction
+ ].
+ ^ direction
+!
+
+maxCode
+ device isNil ifTrue:[
+ self errorNoDevice
+ ].
+ replacementFont notNil ifTrue:[
+ ^ replacementFont maxCode
+ ].
+ ^ maxCode
+!
+
+minCode
+ device isNil ifTrue:[
+ self errorNoDevice
+ ].
+ replacementFont notNil ifTrue:[
+ ^ replacementFont minCode
+ ].
+ ^ minCode
+! !
+
!Font methodsFor:'st-80 queries'!
fixedWidth
@@ -1086,7 +1120,7 @@
!Font class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Font.st,v 1.90 2004-02-09 14:34:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/Font.st,v 1.91 2004-02-19 00:16:23 cg Exp $'
! !
Font initialize!