Author: tilman
Date: Sat Sep 27 16:59:17 2025
New Revision: 1928794
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #266
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Sat Sep 27 16:59:13 2025 (r1928793)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
Sat Sep 27 16:59:17 2025 (r1928794)
@@ -720,13 +720,13 @@ class AppearanceGeneratorHelper
int maxLen = ((PDTextField) field).getMaxLen();
int quadding = field.getQ();
int numChars = Math.min(value.length(), maxLen);
-
- float combWidth = appearanceStream.getBBox().getWidth() / maxLen;
+
+ PDRectangle bBox = appearanceStream.getBBox();
+ float combWidth = bBox.getWidth() / maxLen;
float ascentAtFontSize = font.getFontDescriptor().getAscent() /
FONTSCALE * fontSize;
- float baselineOffset = appearanceStream.getBBox().getLowerLeftY() +
- (appearanceStream.getBBox().getHeight() - ascentAtFontSize)/2;
-
+ float baselineOffset = bBox.getLowerLeftY() + (bBox.getHeight() -
ascentAtFontSize) / 2;
+
float prevCharWidth = 0f;
// set initial offset based on width of first char.