Author: tilman
Date: Wed Sep 16 18:01:31 2026
New Revision: 1938294
Log:
PDFBOX-3293: prepare hinting in debugger
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
Wed Sep 16 17:09:58 2026 (r1938293)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
Wed Sep 16 18:01:31 2026 (r1938294)
@@ -705,6 +705,7 @@ public class PagePane implements ActionL
PDFRenderer renderer = new PDFRenderer(document);
renderer.setSubsamplingAllowed(ViewMenu.isAllowSubsampling());
+ //renderer.enableFontHinting(ViewMenu.isHintingEnabled())
long t0 = System.nanoTime();
BufferedImage image = renderer.renderImage(pageIndex, scale,
ImageTypeMenu.getImageType(), RenderDestinationMenu.getRenderDestination());
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
Wed Sep 16 17:09:58 2026 (r1938293)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
Wed Sep 16 18:01:31 2026 (r1938294)
@@ -33,6 +33,7 @@ public class ViewMenu extends MenuBase
private static final String SHOW_FONT_BBOX = "Show Approximate Text
Bounds";
private static final String SHOW_GLYPH_BOUNDS = "Show Glyph Bounds";
private static final String ALLOW_SUBSAMPLING = "Allow subsampling";
+ private static final String ENABLE_HINTING = "Enable Hinting";
private static final String EXTRACT_TEXT = "Extract Text";
private static final String REPAIR_ACROFORM = "Repair AcroForm";
@@ -41,6 +42,7 @@ public class ViewMenu extends MenuBase
private JCheckBoxMenuItem showFontBBox;
private JCheckBoxMenuItem showGlyphBounds;
private JCheckBoxMenuItem allowSubsampling;
+ private JCheckBoxMenuItem enableHinting;
private JCheckBoxMenuItem repairAcroFormMenuItem;
private final PDFDebugger pdfDebugger;
@@ -147,6 +149,16 @@ public class ViewMenu extends MenuBase
}
/**
+ * State if font hinting shall be used.
+ *
+ * @return the selection state
+ */
+ public static boolean isHintingEnabled()
+ {
+ return instance.enableHinting.isSelected();
+ }
+
+ /**
* Tell whether the "Repair AcroForm" menu entry was hit.
*
* @param actionEvent the action event
@@ -222,6 +234,9 @@ public class ViewMenu extends MenuBase
allowSubsampling = new JCheckBoxMenuItem(ALLOW_SUBSAMPLING);
viewMenu.add(allowSubsampling);
+ enableHinting = new JCheckBoxMenuItem(ENABLE_HINTING);
+ viewMenu.add(enableHinting);
+
viewMenu.addSeparator();
JMenuItem extractTextMenuItem = new JMenuItem(EXTRACT_TEXT);