--- a/WinWorkstation.st Fri Feb 06 19:08:04 2004 +0100
+++ b/WinWorkstation.st Fri Feb 06 19:12:13 2004 +0100
@@ -11042,11 +11042,15 @@
fonts := Set new.
allFonts do:[:fntDescr |
- (aFamilyName sameAs:(fntDescr family)) ifTrue:[
- (filter isNil or:[filter value:fntDescr]) ifTrue:[
- fonts add:fntDescr
- ]
- ]
+ (aFamilyName sameAs:(fntDescr family)) ifTrue:[
+ (aFaceName sameAs:(fntDescr face)) ifTrue:[
+ (aStyleName sameAs:(fntDescr style)) ifTrue:[
+ (filter isNil or:[filter value:fntDescr]) ifTrue:[
+ fonts add:fntDescr
+ ]
+ ]
+ ]
+ ]
].
^ fonts
!
@@ -11065,7 +11069,7 @@
!
getFontWithFamily:familyString face:faceString
- style:styleArgString size:sizeArg encoding:encodingSym
+ style:styleArgString size:sizeArg encoding:encodingSym
"try to get the specified font, if not available, try the next smaller
font."
@@ -11076,94 +11080,94 @@
"special: if face is nil, allow access to X-fonts"
faceString isNil ifTrue:[
- sizeArg notNil ifTrue:[
- theName := familyString , '-' , sizeArg printString
- ] ifFalse:[
- theName := familyString
- ].
- theName isNil ifTrue:[
- "
- mhmh - fall back to the default font
- "
- theName := 'fixed'
- ].
- theId := self createFontFor:theName.
- theId isNil ifTrue:[
- theId := self getDefaultFont
- ].
- ^ theId
+ sizeArg notNil ifTrue:[
+ theName := familyString , '-' , sizeArg printString
+ ] ifFalse:[
+ theName := familyString
+ ].
+ theName isNil ifTrue:[
+ "
+ mhmh - fall back to the default font
+ "
+ theName := 'fixed'
+ ].
+ theId := self createFontFor:theName.
+ theId isNil ifTrue:[
+ theId := self getDefaultFont
+ ].
+ ^ theId
].
"/ spacing other than 'normal' is contained as last component
"/ in style
styleString notNil ifTrue:[
- ((styleString endsWith:'-narrow')
- or:[styleString endsWith:'-semicondensed']) ifTrue:[
- |i|
- i := styleString lastIndexOf:$-.
- spacing := styleString copyFrom:(i+1).
- styleString := styleString copyTo:(i-1).
- ] ifFalse:[
- spacing := 'normal'.
- ].
+ ((styleString endsWith:'-narrow')
+ or:[styleString endsWith:'-semicondensed']) ifTrue:[
+ |i|
+ i := styleString lastIndexOf:$-.
+ spacing := styleString copyFrom:(i+1).
+ styleString := styleString copyTo:(i-1).
+ ] ifFalse:[
+ spacing := 'normal'.
+ ].
].
xlatedStyle := styleString.
xlatedStyle notNil ifTrue:[
- xlatedStyle := xlatedStyle first asString
+ xlatedStyle := xlatedStyle first asString
].
id := self
- getFontWithFoundry:'*'
- family:familyString asLowercase
- weight:faceString
- slant:styleString "/ xlatedStyle
- spacing:spacing
- pixelSize:nil
- size:sizeArg
- registry:encodingSym
- encoding:'*'.
+ getFontWithFoundry:'*'
+ family:familyString asLowercase
+ weight:faceString
+ slant:styleString "/ xlatedStyle
+ spacing:spacing
+ pixelSize:nil
+ size:sizeArg
+ registry:'*'
+ encoding:encodingSym.
id isNil ifTrue:[
- (encodingSym notNil and:[encodingSym ~= '*']) ifTrue:[
- "/ too stupid: encodings come in both cases
- "/
- id := self
- getFontWithFoundry:'*'
- family:familyString asLowercase
- weight:faceString
- slant:styleString "/ xlatedStyle
- spacing:spacing
- pixelSize:nil
- size:sizeArg
- registry:encodingSym asUppercase
- encoding:'*'.
- id isNil ifTrue:[
- id := self
- getFontWithFoundry:'*'
- family:familyString asLowercase
- weight:faceString
- slant:styleString "/ xlatedStyle
- spacing:spacing
- pixelSize:nil
- size:sizeArg
- registry:encodingSym asLowercase
- encoding:'*'.
-
- id isNil ifTrue:[
- id := self
- getFontWithFoundry:'*'
- family:familyString asLowercase
- weight:faceString asLowercase
- slant:styleString asLowercase
- spacing:spacing
- pixelSize:nil
- size:sizeArg
- registry:encodingSym asLowercase
- encoding:'*'.
- ]
- ]
- ]
+ (encodingSym notNil and:[encodingSym ~= '*']) ifTrue:[
+ "/ too stupid: encodings come in both cases
+ "/
+ id := self
+ getFontWithFoundry:'*'
+ family:familyString asLowercase
+ weight:faceString
+ slant:styleString "/ xlatedStyle
+ spacing:spacing
+ pixelSize:nil
+ size:sizeArg
+ registry:'*'
+ encoding:encodingSym asUppercase.
+ id isNil ifTrue:[
+ id := self
+ getFontWithFoundry:'*'
+ family:familyString asLowercase
+ weight:faceString
+ slant:styleString "/ xlatedStyle
+ spacing:spacing
+ pixelSize:nil
+ size:sizeArg
+ registry:'*'
+ encoding:encodingSym asLowercase.
+
+ id isNil ifTrue:[
+ id := self
+ getFontWithFoundry:'*'
+ family:familyString asLowercase
+ weight:faceString asLowercase
+ slant:styleString asLowercase
+ spacing:spacing
+ pixelSize:nil
+ size:sizeArg
+ registry:'*'
+ encoding:encodingSym asLowercase.
+ ]
+ ]
+ ]
].
^ id
@@ -15750,7 +15754,7 @@
!WinWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.246 2004-02-06 18:08:04 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.247 2004-02-06 18:12:13 ca Exp $'
! !
WinWorkstation initialize!