Marcel Taeumel uploaded a new version of ST80 to project The Trunk: http://source.squeak.org/trunk/ST80-mt.279.mcz
==================== Summary ====================
Name: ST80-mt.279 Author: mt Time: 22 February 2022, 8:41:55.006334 am UUID: 3d65bef8-ad3a-c843-9848-f3845292dafd Ancestors: ST80-mt.278
Fixes regression in MVC text composition.
=============== Diff against ST80-mt.278 ===============
Item was changed: ----- Method: CompositionScanner>>composeLine:fromCharacterIndex:inParagraph: (in category '*ST80-Support') ----- composeLine: lineIndex fromCharacterIndex: startIndex inParagraph: aParagraph "Answer an instance of TextLineInterval that represents the next line in the paragraph." + | runLength stopCondition | - | runLength stopCondition lineSpacing | destX := spaceX := leftMargin := aParagraph leftMarginForCompositionForLine: lineIndex. destY := 0. rightMargin := aParagraph rightMarginForComposition. leftMargin >= rightMargin ifTrue: [self error: 'No room between margins to compose']. lastIndex := startIndex. "scanning sets last index" lineHeight := baseline := 0. "Will be increased by setFont" lineGap := lineGapSlice := -9999. "Will be increased by setFont; allow negative to show all effects of a custom #extraGap value. See TTFontDescription." topMargin := bottomMargin := 0. self setStopConditions. "also sets font" self handleIndentation. runLength := text runLengthFor: startIndex. runStopIndex := (lastIndex := startIndex) + (runLength - 1). line := TextLineInterval start: lastIndex stop: 0 internalSpaces: 0 paddingWidth: 0. nextIndexAfterLineBreak := spaceCount := 0. lastBreakIsNotASpace := false. [stopCondition := self scanCharactersFrom: lastIndex to: runStopIndex in: text string rightX: rightMargin. "See setStopConditions for stopping conditions for composing." self perform: stopCondition] whileFalse.
+ self flag: #margins. "mt: Note that this path does not support #lineSpacing because ST80's text views do not use TextComposer but TextLineInterval and their own legacy Paragraph class." - lineHeight := lineHeight + lineGap. - baseline := baseline + lineGapSlice. + ^ line + lineHeight: lineHeight + lineGap + baseline: baseline + lineGapSlice! - "TODO: Allow special characters or text attributes to accumulate extra top or bottom margin." - (lineSpacing := textStyle lineSpacing) = 0.0 - ifFalse: [bottomMargin := bottomMargin + (lineSpacing * lineHeight) truncated]. - - line lineHeight: lineHeight baseline: baseline. - line topMargin: topMargin bottomMargin: bottomMargin. - - ^ line!
packages@lists.squeakfoundation.org