<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Hi Nicolas,<div><br></div><div>I think it is related to the DefaultTabsArray in TextStyle, which does only specify [tab] positions up to 720 px. Thus, it is also related to the font (size) you are currently using. The mechanism in TextStyle >> #nextTabFrom:... has an upper bound and works on (unscaled) pixels. </div><div><br></div><div>We might want to ...</div><div>1) use RealEstateAgent class >> #scaleFactor as a workaround</div><div>2) Increase DefaultTabs beyond 720 px.</div><div><br></div><div><img src="cid:9bfeb558-e678-44ff-bbcf-a02fff5d8c24" width="auto" style="width: 565px; height: 232px;"></img></div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
<blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
<p style="color: #AAAAAA; margin-top: 10px;">Am 15.05.2019 21:36:53 schrieb Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><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>
</div></blockquote></div>