[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