[squeak-dev] The Trunk: Morphic-mt.2089.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Feb 22 15:35:57 UTC 2023
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.2089.mcz
==================== Summary ====================
Name: Morphic-mt.2089
Author: mt
Time: 22 February 2023, 4:35:56.19355 pm
UUID: 4c37a955-4f22-4e42-84a2-9c051554c713
Ancestors: Morphic-mt.2088
Fixes conversion from paragraph to text (incl. hard line-breaks), which had a bug for trailing-CR lines.
=============== Diff against Morphic-mt.2088 ===============
Item was changed:
----- Method: NewParagraph>>asTextWithLineBreaks (in category 'converting') -----
asTextWithLineBreaks
"Answer a text that has all soft line breaks converted to hard line breaks. Add the current style's default font as a text attribute only if a) the style is not the default and b) the first character has no other font set. See Text >> #asTextMorph."
| result |
result := Text streamContents: [:s | lines do: [:textLine |
+ textLine last >= textLine first "ignore extra trailing-CR line" ifTrue: [
+ | lastChar lastIndex break |
+ lastChar := text at: textLine last.
+ (break := CharacterSet separators includes: lastChar)
+ ifTrue: [lastIndex := textLine last - 1]
+ ifFalse: [lastIndex := textLine last].
+ "1) Copy text line, which may be due to a soft line break"
+ s nextPutAll: (text copyFrom: textLine first to: lastIndex).
+ "2) Add a hard line break."
+ break ifTrue: [s nextPutAll: (String cr asText
+ addAllAttributes: (text attributesAt: textLine last);
+ yourself)]]]].
- | lastChar lastIndex break |
- lastChar := text at: textLine last.
- (break := CharacterSet separators includes: lastChar)
- ifTrue: [lastIndex := textLine last - 1]
- ifFalse: [lastIndex := textLine last].
- "1) Copy text line, which may be due to a soft line break"
- s nextPutAll: (text copyFrom: textLine first to: lastIndex).
- "2) Add a hard line break."
- break ifTrue: [s nextPutAll: (String cr asText
- addAllAttributes: (text attributesAt: textLine last);
- yourself)]]].
((text fontAt: 1 withDefault: nil) isNil and: [
textStyle defaultFamilyName ~= TextStyle default defaultFamilyName])
ifTrue: [result addAttribute: (TextFontReference toFont: textStyle defaultFont)].
^ result!
More information about the Squeak-dev
mailing list
|