Skip to content

Commit 09d12a9

Browse files
Snipxitext-teamcity
authored andcommitted
Restore non-text inline elements more carefully
DEVSIX-1053 Autoported commit. Original commit hash: [8a3dc56]
1 parent c13d606 commit 09d12a9

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

itext/itext.layout/itext/layout/renderer/LineRenderer.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -529,8 +529,7 @@ public override LayoutResult Layout(LayoutContext layoutContext) {
529529
TextRenderer newRenderer = new TextRenderer((TextRenderer)renderer).RemoveReversedRanges();
530530
children.Add(newRenderer);
531531
// Insert non-text renderers
532-
if ((pos == lineGlyphs.Count - 1 || lineGlyphs[pos + 1].renderer != renderer) && insertAfter.ContainsKey((
533-
TextRenderer)renderer)) {
532+
if (insertAfter.ContainsKey((TextRenderer)renderer)) {
534533
children.Add(insertAfter.Get((TextRenderer)renderer));
535534
insertAfter.JRemove((TextRenderer)renderer);
536535
}
@@ -574,7 +573,12 @@ public override LayoutResult Layout(LayoutContext layoutContext) {
574573
}
575574
else {
576575
currentWidth = child.GetOccupiedArea().GetBBox().GetWidth();
577-
child.GetOccupiedArea().GetBBox().SetX(currentXPos);
576+
if (child is AbstractRenderer) {
577+
child.Move(currentXPos - child.GetOccupiedArea().GetBBox().GetX(), 0);
578+
}
579+
else {
580+
child.GetOccupiedArea().GetBBox().SetX(currentXPos);
581+
}
578582
}
579583
currentXPos += currentWidth;
580584
}

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ad0c2810c07d676725a59a8ddc7f25c15d88017b
1+
8a3dc5646eacef9df7fe8f01d6836105069f135a

0 commit comments

Comments
 (0)