From 0f3f8d488ad86bc1c99acc47c3e02a9579a93d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Fri, 18 Oct 2024 14:07:34 +0200 Subject: [PATCH] trim text in TextLine drawAligned --- gradle.properties | 2 +- .../org/xbib/graphics/pdfbox/layout/text/TextLine.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4e0fed4..370d4d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group = org.xbib.graphics name = graphics -version = 5.5.1 +version = 5.5.2 diff --git a/graphics-pdfbox-layout/src/main/java/org/xbib/graphics/pdfbox/layout/text/TextLine.java b/graphics-pdfbox-layout/src/main/java/org/xbib/graphics/pdfbox/layout/text/TextLine.java index e4eed15..00b3172 100644 --- a/graphics-pdfbox-layout/src/main/java/org/xbib/graphics/pdfbox/layout/text/TextLine.java +++ b/graphics-pdfbox-layout/src/main/java/org/xbib/graphics/pdfbox/layout/text/TextLine.java @@ -210,17 +210,19 @@ public class TextLine implements TextSequence { if (transform != null) { matrix = matrix.multiply(transform.getMatrix()); } - if (!styledText.getText().isEmpty()) { + // always trim to prevent leading spaces to allow getSelectedFont() to work + String text = styledText.getText().trim(); + if (!text.isEmpty()) { contentStream.beginText(); beginText = true; contentStream.setTextMatrix(matrix); lastFontDesc = styledText.getFontDescriptor(); - contentStream.setFont(lastFontDesc.getSelectedFont(styledText.getText()), lastFontDesc.getSize()); + contentStream.setFont(lastFontDesc.getSelectedFont(text), lastFontDesc.getSize()); if (!styledText.getColor().equals(lastColor)) { lastColor = styledText.getColor(); contentStream.setNonStrokingColor(lastColor); } - contentStream.showText(styledText.getText()); + contentStream.showText(text); contentStream.endText(); beginText = false; }