Skip to content

Commit 04384d7

Browse files
committed
Refactor font-size resolution methods.
DEVSIX-2866
1 parent 1696618 commit 04384d7

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

src/main/java/com/itextpdf/html2pdf/attach/impl/layout/DimensionContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ boolean isAutoDimension() {
7373
}
7474

7575
float parseDimension(CssContextNode node, String content, float maxAvailableDimension, float additionalWidthFix) {
76-
float fontSize = FontStyleApplierUtil.parseAbsoluteFontSize(node.getStyles().get(CssConstants.FONT_SIZE));
76+
float fontSize = CssUtils.parseAbsoluteFontSize(node.getStyles().get(CssConstants.FONT_SIZE));
7777
UnitValue unitValue = CssUtils.parseLengthValueToPt(content, fontSize, 0);
7878
if (unitValue == null) {
7979
return 0;

src/main/java/com/itextpdf/html2pdf/css/CssConstants.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,14 @@ public class CssConstants extends CommonCssConstants {
250250
public static final String UPPERCASE = "uppercase";
251251

252252
// properties possible values
253-
/** The Constant FONT_ABSOLUTE_SIZE_KEYWORDS. */
253+
/**
254+
* The Constant FONT_ABSOLUTE_SIZE_KEYWORDS.
255+
* @deprecated Use {@link CommonCssConstants#FONT_ABSOLUTE_SIZE_KEYWORDS} instead.
256+
*/
257+
@Deprecated
254258
public static final Set<String> FONT_ABSOLUTE_SIZE_KEYWORDS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
255-
CssConstants.MEDIUM, CssConstants.XX_SMALL, CssConstants.X_SMALL, CssConstants.SMALL, CssConstants.LARGE,
256-
CssConstants.X_LARGE, CssConstants.XX_LARGE
259+
CommonCssConstants.MEDIUM, CommonCssConstants.XX_SMALL, CommonCssConstants.X_SMALL, CommonCssConstants.SMALL, CommonCssConstants.LARGE,
260+
CommonCssConstants.X_LARGE, CommonCssConstants.XX_LARGE
257261
)));
258262

259263
/** The Constant OVERFLOW_VALUES. */

src/main/java/com/itextpdf/html2pdf/css/apply/util/FontStyleApplierUtil.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,9 @@ public static void applyFontStyles(Map<String, String> cssProps, ProcessorContex
243243
*
244244
* @param fontSizeValue the font size value as a {@link String}
245245
* @return the font size value as a {@code float}
246+
* @deprecated Use {@link CssUtils#parseAbsoluteFontSize(String)} instead.
246247
*/
248+
@Deprecated
247249
public static float parseAbsoluteFontSize(String fontSizeValue) {
248250
if (CssConstants.FONT_ABSOLUTE_SIZE_KEYWORDS.contains(fontSizeValue)) {
249251
switch (fontSizeValue) {
@@ -289,7 +291,9 @@ public static float parseAbsoluteFontSize(String fontSizeValue) {
289291
* @param relativeFontSizeValue the relative font size value as a {@link String}
290292
* @param baseValue the base value
291293
* @return the relative font size value as a {@code float}
294+
* @deprecated Use {@link CssUtils#parseRelativeFontSize(String, float)} instead.
292295
*/
296+
@Deprecated
293297
public static float parseRelativeFontSize(final String relativeFontSizeValue, final float baseValue) {
294298
if (CssConstants.SMALLER.equals(relativeFontSizeValue)) {
295299
return (float)(baseValue / 1.2);

src/main/java/com/itextpdf/html2pdf/css/resolve/CssContext.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,15 @@ This file is part of the iText (R) project.
4949
import com.itextpdf.html2pdf.css.CssConstants;
5050
import com.itextpdf.styledxmlparser.css.resolve.AbstractCssContext;
5151
import com.itextpdf.styledxmlparser.css.resolve.CssDefaults;
52+
import com.itextpdf.styledxmlparser.css.util.CssUtils;
5253

5354
/**
5455
* Class that bundles all the CSS context properties.
5556
*/
5657
public class CssContext extends AbstractCssContext {
5758

5859
/** The root font size value in pt. */
59-
private float rootFontSize = FontStyleApplierUtil.parseAbsoluteFontSize(CssDefaults.getDefaultValue(CssConstants.FONT_SIZE));
60+
private float rootFontSize = CssUtils.parseAbsoluteFontSize(CssDefaults.getDefaultValue(CssConstants.FONT_SIZE));
6061

6162
/** The counter manager. */
6263
private CssCounterManager counterManager = new CssCounterManager();
@@ -91,7 +92,7 @@ public void setRootFontSize(float fontSize) {
9192
* @param fontSizeStr the new root font size
9293
*/
9394
public void setRootFontSize(String fontSizeStr) {
94-
this.rootFontSize = FontStyleApplierUtil.parseAbsoluteFontSize(fontSizeStr);
95+
this.rootFontSize = CssUtils.parseAbsoluteFontSize(fontSizeStr);
9596
}
9697

9798
/**

src/main/java/com/itextpdf/html2pdf/css/resolve/DefaultCssResolver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,16 +206,16 @@ private Map<String, String> resolveStyles(INode element, CssContext context) {
206206
baseFontSize = context.getRootFontSize();
207207
} else {
208208
if (parentFontSizeStr == null) {
209-
baseFontSize = FontStyleApplierUtil.parseAbsoluteFontSize(CssDefaults.getDefaultValue(CssConstants.FONT_SIZE));
209+
baseFontSize = CssUtils.parseAbsoluteFontSize(CssDefaults.getDefaultValue(CssConstants.FONT_SIZE));
210210
} else {
211211
baseFontSize = CssUtils.parseAbsoluteLength(parentFontSizeStr);
212212
}
213213
}
214-
float absoluteFontSize = FontStyleApplierUtil.parseRelativeFontSize(elementFontSize, baseFontSize);
214+
float absoluteFontSize = CssUtils.parseRelativeFontSize(elementFontSize, baseFontSize);
215215
// Format to 4 decimal places to prevent differences between Java and C#
216216
elementStyles.put(CssConstants.FONT_SIZE, DecimalFormatUtil.formatNumber(absoluteFontSize, "0.####") + CssConstants.PT);
217217
} else {
218-
elementStyles.put(CssConstants.FONT_SIZE, Float.toString(FontStyleApplierUtil.parseAbsoluteFontSize(elementFontSize)) + CssConstants.PT);
218+
elementStyles.put(CssConstants.FONT_SIZE, Float.toString(CssUtils.parseAbsoluteFontSize(elementFontSize)) + CssConstants.PT);
219219
}
220220

221221
// Update root font size

0 commit comments

Comments
 (0)