<div dir="ltr"><div>Hi,</div><div>the (attached) text composition bugs me:</div><div>When a tab occurs after some column, the composition creates a new line, even when there is room for more text...</div><div>I tried to create a test case in CharacterScannerTest</div><div><br></div><div>testCrossedXWithManyTabs<br>      | p text chunkWidth expectedChunkStartX expectedWidth |<br>       text := (String new: 59 streamContents: [:str | (String new: 14 withAll: $m) do: [:m | 5 timesRepeat: [str nextPut: m]] separatedBy: [str tab]]) asText.<br>      chunkWidth := 5*mWidth.<br>       expectedChunkStartX := Array new: 14 streamContents:<br>          [:str |<br>               (1 to: 14) inject: 1 into:<br>                    [:destX :rank |<br>                       str nextPut: destX.<br>                   (style nextTabXFrom: destX + chunkWidth leftMargin: 0 rightMargin: 0)]].<br>      expectedWidth := expectedChunkStartX last + chunkWidth.<br>       p := NewParagraph new.<br>        p<br>             compose: text<br>         style: style<br>          from: 1<br>               in: (0 @ 0 corner: expectedWidth+10 @ (style lineGrid * 2)).<br>  self assert: p lines size = 1 description: 'There is enough composition width for this text'.</div><div><br></div><div>but the test pass (it composes in single line). Any idea where to look at?<br></div><div><br></div></div>