Skip to content

Commit 121aa09

Browse files
LodrKumquatyulian-gaponenko
authored andcommitted
Text elements wrapping support
DEVSIX-1192 Autoported commit. Original commit hash: [331d41b553]
1 parent 612f2e0 commit 121aa09

19 files changed

+932
-136
lines changed

itext.tests/itext.layout.tests/itext/layout/renderer/TargetCounterHandlerTest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ You should have received a copy of the GNU Affero General Public License
2828
using iText.Layout.Element;
2929
using iText.Layout.Layout;
3030
using iText.Layout.Properties;
31+
using iText.Layout.Splitting;
3132
using iText.Test;
3233

3334
namespace iText.Layout.Renderer {
@@ -54,6 +55,7 @@ public virtual void TextRendererAddByIDTest() {
5455
textRenderer.SetProperty(Property.WORD_SPACING, 20F);
5556
textRenderer.SetProperty(Property.FONT, PdfFontFactory.CreateFont(StandardFonts.HELVETICA));
5657
textRenderer.SetProperty(Property.FONT_SIZE, new UnitValue(UnitValue.POINT, 20));
58+
textRenderer.SetProperty(Property.SPLIT_CHARACTERS, new DefaultSplitCharacters());
5759
textRenderer.SetParent(documentRenderer);
5860
String id = "id7";
5961
textRenderer.SetProperty(Property.ID, id);

itext.tests/itext.layout.tests/itext/layout/renderer/TextRendererIntegrationTest.cs

Lines changed: 241 additions & 0 deletions
Large diffs are not rendered by default.

itext.tests/itext.layout.tests/itext/layout/renderer/WordWrapUnitTest.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ public virtual void OneThaiWordSplitAcrossMultipleRenderersGetIndexAndLayoutResu
281281
specialScriptLayoutResults.Put(i, new LayoutResult(LayoutResult.FULL, layoutArea, null, null));
282282
}
283283
}
284-
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastRendererToRemainOnTheLine
284+
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastTextRendererContainingSpecialScripts
285285
(THAI_WORD.Length + 1, specialScriptLayoutResults, false, new List<IRenderer>(), true);
286286
NUnit.Framework.Assert.AreEqual(5, lastFittingChildRendererData.childIndex);
287287
NUnit.Framework.Assert.AreEqual(LayoutResult.NOTHING, lastFittingChildRendererData.childLayoutResult.GetStatus
@@ -311,7 +311,7 @@ public virtual void MultipleFloatsFollowedByUnfittingThaiRenderer() {
311311
LayoutArea layoutArea = new LayoutArea(1, new Rectangle(0, 0, 0, 100));
312312
specialScriptLayoutResults.Put(indexOfThaiRenderer, new LayoutResult(LayoutResult.NOTHING, layoutArea, null
313313
, null));
314-
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastRendererToRemainOnTheLine
314+
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastTextRendererContainingSpecialScripts
315315
(indexOfThaiRenderer, specialScriptLayoutResults, false, new List<IRenderer>(), true);
316316
NUnit.Framework.Assert.AreEqual(indexOfThaiRenderer, lastFittingChildRendererData.childIndex);
317317
NUnit.Framework.Assert.AreEqual(LayoutResult.NOTHING, lastFittingChildRendererData.childLayoutResult.GetStatus
@@ -348,7 +348,7 @@ public virtual void TrailingRightSideSpacesGetIndexAndLayoutResult() {
348348
specialScriptLayoutResults.Put(i, new LayoutResult(LayoutResult.FULL, layoutArea, null, null));
349349
}
350350
}
351-
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastRendererToRemainOnTheLine
351+
LineRenderer.LastFittingChildRendererData lastFittingChildRendererData = lineRenderer.GetIndexAndLayoutResultOfTheLastTextRendererContainingSpecialScripts
352352
(THAI_WORD.Length - 1, specialScriptLayoutResults, false, new List<IRenderer>(), true);
353353
NUnit.Framework.Assert.AreEqual(THAI_WORD.Length - 1, lastFittingChildRendererData.childIndex);
354354
NUnit.Framework.Assert.AreEqual(specialScriptLayoutResults.Get(THAI_WORD.Length - 1), lastFittingChildRendererData
@@ -760,8 +760,9 @@ public virtual void UnfittingSingleTextRendererContainingSpecialScripts() {
760760
public virtual void OverflowXSingleWordSingleRenderer() {
761761
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new MemoryStream()));
762762
Document document = new Document(pdfDocument);
763-
TextRenderer textRenderer = new TextRenderer(new iText.Layout.Element.Text(THAI_WORD));
763+
TextRenderer textRenderer = new TextRenderer(new iText.Layout.Element.Text(""));
764764
textRenderer.SetProperty(Property.FONT, PdfFontFactory.CreateFont(THAI_FONT, PdfEncodings.IDENTITY_H));
765+
textRenderer.SetText(THAI_WORD);
765766
textRenderer.SetSpecialScriptsWordBreakPoints(new List<int>(JavaUtil.ArraysAsList(5)));
766767
LineRenderer lineRenderer = new LineRenderer();
767768
lineRenderer.SetParent(document.GetRenderer());
352 Bytes
Loading

0 commit comments

Comments
 (0)