[squeak-dev] The Trunk: Graphics-mt.497.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Mar 10 15:19:14 UTC 2022
Marcel Taeumel uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-mt.497.mcz
==================== Summary ====================
Name: Graphics-mt.497
Author: mt
Time: 10 March 2022, 4:19:07.829767 pm
UUID: c7f6397a-d6b3-1d45-aa60-768f5313e3e5
Ancestors: Graphics-mt.496
Adds a simple protocol to install a useful fallback font via TextStyle class >> #setDefaultFallback: ... akin to #setDefault: and #setDefaultFixed:.
=============== Diff against Graphics-mt.496 ===============
Item was removed:
- ----- Method: AbstractFont class>>defaultFallbackTextStyle (in category 'fallback') -----
- defaultFallbackTextStyle
- "Answer a text style that has fonts that support a lot of codepoints."
-
- ^ TextConstants at: #DefaultFallbackTextStyle ifAbsent: [TextStyle default]!
Item was removed:
- ----- Method: AbstractFont class>>localeChanged (in category 'fallback') -----
- localeChanged
- !
Item was removed:
- ----- Method: AbstractFont class>>setupDefaultFallbackFontTo: (in category 'fallback') -----
- setupDefaultFallbackFontTo: aFont
-
- self setupDefaultFallbackTextStyleTo: (TextStyle fontArray: {aFont}).!
Item was removed:
- ----- Method: AbstractFont class>>setupDefaultFallbackTextStyle (in category 'fallback') -----
- setupDefaultFallbackTextStyle
-
- | defaultStyle |
- defaultStyle := self defaultFallbackTextStyle.
- TextStyle knownTextStylesWithoutDefault do: [:styleName |
- (TextStyle named: styleName) fontArray do: [:each |
- each setupDefaultFallbackTextStyleTo: defaultStyle]].!
Item was removed:
- ----- Method: AbstractFont class>>setupDefaultFallbackTextStyleTo: (in category 'fallback') -----
- setupDefaultFallbackTextStyleTo: aTextStyle
-
- TextConstants at: #DefaultFallbackTextStyle put: aTextStyle.
- !
Item was added:
+ ----- Method: AbstractFont>>fallbackTextStyle: (in category 'initialize-release') -----
+ fallbackTextStyle: aTextStyle
+
+ " | fonts f |
+ fonts := aTextStyle fontArray.
+ f := fonts first.
+ f familyName = self familyName ifTrue: [^ self].
+ 1 to: fonts size do: [:i |
+ self height > (fonts at: i) height ifTrue: [f := fonts at: i].
+ ]."
+
+ | fontsToUpdate |
+ fontsToUpdate := self textStyleOrNil
+ ifNil: [{self} "not-yet-installed"]
+ ifNotNil: [:style | style fontArray "all point sizes"].
+
+ fontsToUpdate do: [:font | "All subfamilies / emphases"
+ font privateFallbackTextStyle: aTextStyle.
+ font derivativeFonts do: [:f | f privateFallbackTextStyle: aTextStyle ]].!
Item was added:
+ ----- Method: AbstractFont>>privateFallbackTextStyle: (in category 'initialize-release') -----
+ privateFallbackTextStyle: aTextStyleOrNil
+
+ self fallbackFont: (aTextStyleOrNil ifNotNil: [:ts | ts addNewFontSize: self pointSize]).!
Item was removed:
- ----- Method: AbstractFont>>setupDefaultFallbackTextStyleTo: (in category 'initialize-release') -----
- setupDefaultFallbackTextStyleTo: aTextStyle
-
- " | fonts f |
- fonts := aTextStyle fontArray.
- f := fonts first.
- f familyName = self familyName ifTrue: [^ self].
- 1 to: fonts size do: [:i |
- self height > (fonts at: i) height ifTrue: [f := fonts at: i].
- ]."
-
- self derivativeFonts do: [:each |
- each setupDefaultFallbackTextStyleTo: aTextStyle].
-
- self flag: #todo. "mt: Figure out a way to lookup useful fallback fonts."
-
- self fallbackFont: nil.
- self reset.!
Item was changed:
----- Method: StrikeFont>>fallbackFont: (in category 'accessing') -----
+ fallbackFont: aFont
- fallbackFont: aFontSetOrNil
+ fallbackFont := aFont == self ifFalse: [aFont].!
- fallbackFont := aFontSetOrNil.
- !
Item was added:
+ ----- Method: TextStyle class>>defaultFallback (in category 'constants') -----
+ defaultFallback
+
+ ^ TextConstants at: #DefaultFallbackTextStyle ifAbsent: [self default]!
Item was added:
+ ----- Method: TextStyle class>>defaultFallbackFont (in category 'constants') -----
+ defaultFallbackFont
+
+ ^ self defaultFallback defaultFont!
Item was added:
+ ----- Method: TextStyle class>>installDefaultFallbackTextStyle (in category 'utilities') -----
+ installDefaultFallbackTextStyle
+
+ | defaultStyle |
+ defaultStyle := self defaultFallback.
+ self knownTextStylesWithoutDefault do: [:styleName |
+ (self named: styleName) defaultFont fallbackTextStyle: defaultStyle].!
Item was added:
+ ----- Method: TextStyle class>>setDefaultFallback: (in category 'constants') -----
+ setDefaultFallback: aTextStyle
+ "
+ TextStyle setDefaultFallback: (TextStyle named: #MSGothic).
+ TextStyle setDefaultFallback: nil.
+
+ self installDefaultFallbackTextStyle.
+ "
+ TextConstants at: #DefaultFallbackTextStyle put: aTextStyle.!
More information about the Squeak-dev
mailing list
|