You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2026/10/10 10:57:38 UTC
svn commit: r1938982 - in pdfbox/branches/3.0: debugger/src/main/java/org/apache/pdfbox/debugger debugger/src/main/java/org/apache/pdfbox/debugger/pagepane debugger/src/main/java/org/apache/pdfbox/debugger/ui fontbox/src/main/java/org/apache/fontbox/tt...
Author: tilman
Date: Sat Oct 10 10:57:38 2026
New Revision: 1938982
Log:
PDFBOX-3293: support TrueType font hinting, by Patrick Corless and Claude Code
Added:
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/BytecodeStream.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ControlValueProgramTable.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ControlValueTable.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ExecutionContext.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ExecutionTracer.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/Fixed.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/FontProgramTable.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/FunctionDef.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GaspTable.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphHinter.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GraphicsState.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/HintingException.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TrueTypeInterpreter.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/UnitVector.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/Zone.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/BackwardCompatibilityMoveTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/BytecodeStreamTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/FixedTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphTraceTool.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GoldenHintingTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GraphicsStateTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintedPointsDumpTool.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingConcurrencyTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingIntegrationTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingSmokeTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingTablesTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/PointOpsTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/RoundStateTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/SystemFontHintingTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/TrueTypeInterpreterTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/UnitVectorTest.java (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/Lohit-Tamil.ttf (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-11.txt (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-13.txt (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-16.txt (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-24.txt (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/README.md
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/compare_points.py (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/ft_point_trace.c (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/ft_points_dump.py (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/generate_golden.py (contents, props changed)
pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/trace_diff.py (contents, props changed)
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontHintingTest.java (contents, props changed)
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDType0FontHintingTest.java (contents, props changed)
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/rendering/HintingPpemTest.java (contents, props changed)
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/rendering/RenderHintingIntegrationTest.java (contents, props changed)
Modified:
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphRenderer.java
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TrueTypeFont.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDVectorFont.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/printing/PDFPageable.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/printing/PDFPrintable.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/GlyphCache.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawerParameters.java
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java
NOTE: this message was too long when including "diff" contents.
The contents have been replaced with URLs to display the
diff contents on a web page.
Modified: pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Modified: pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
Modified: pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ViewMenu.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/BytecodeStream.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ControlValueProgramTable.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ControlValueTable.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ExecutionContext.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/ExecutionTracer.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/Fixed.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/FontProgramTable.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/FunctionDef.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GaspTable.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphHinter.java
Modified: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GlyphRenderer.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/GraphicsState.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/HintingException.java
Modified: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
Modified: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TrueTypeFont.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/TrueTypeInterpreter.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/UnitVector.java
Added: pdfbox/branches/3.0/fontbox/src/main/java/org/apache/fontbox/ttf/Zone.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/BackwardCompatibilityMoveTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/BytecodeStreamTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/FixedTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphTraceTool.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GoldenHintingTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GraphicsStateTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintedPointsDumpTool.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingConcurrencyTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingIntegrationTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingSmokeTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/HintingTablesTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/PointOpsTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/RoundStateTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/SystemFontHintingTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/TrueTypeInterpreterTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/UnitVectorTest.java
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/Lohit-Tamil.ttf
==============================================================================
Binary file. No diff available.
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-11.txt
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-13.txt
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-16.txt
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/LiberationSans-Regular-24.txt
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/README.md
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/compare_points.py
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/ft_point_trace.c
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/ft_points_dump.py
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/generate_golden.py
Added: pdfbox/branches/3.0/fontbox/src/test/resources/ttf/hinting/trace_diff.py
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDCIDFontType2.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType0Font.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDVectorFont.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/printing/PDFPageable.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/printing/PDFPrintable.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/GlyphCache.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawerParameters.java
Added: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontHintingTest.java
Added: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDType0FontHintingTest.java
Added: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/rendering/HintingPpemTest.java
Added: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/rendering/RenderHintingIntegrationTest.java
Modified: pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
Modified: pdfbox/branches/3.0/tools/src/main/java/org/apache/pdfbox/tools/PrintPDF.java