Summary
ClassicFixtureSmokeTest.convertsIssueXlsxWithCjkText fails intermittently on the JDK 10 matrix job (test (10, ubuntu-22.04)) in Java CI.
Evidence
Failure details
First assertion fails (ClassicFixtureSmokeTest.java:159), extracted text is mixed CJK + garbage:
限-P--0----0-0期0-0-0修期0--检意重0..0/销¢.0MM0加名称抽N/.检/MO000/MO00材...
Some glyphs extract correctly while others become .notdef-style garbage — consistent with the PdfBoxGraphics2D/EMF text path or font subsetting producing a broken ToUnicode on JDK 10 headless Ubuntu 22.04.
Hypotheses
- Non-deterministic
java.awt font resolution on JDK 10 (fontconfig cache) affecting PdfBoxGraphics2D text drawn from embedded EMF.
TrueTypeCollection.processAllFonts picking different faces across runs for multi-face fonts (e.g. wqy-microhei.ttc).
Suggested follow-up
- Reproduce on
ubuntu-22.04 + JDK 10 (Zulu) and capture the embedded font + ToUnicode of the failing page.
- Consider pinning the font used by the EMF/Graphics2D path instead of relying on AWT font resolution.
Summary
ClassicFixtureSmokeTest.convertsIssueXlsxWithCjkTextfails intermittently on the JDK 10 matrix job (test (10, ubuntu-22.04)) inJava CI.Evidence
PoiDocxRenderer.java(DOCX); the failing test is the XLSX path.Failure details
First assertion fails (
ClassicFixtureSmokeTest.java:159), extracted text is mixed CJK + garbage:Some glyphs extract correctly while others become
.notdef-style garbage — consistent with thePdfBoxGraphics2D/EMF text path or font subsetting producing a broken ToUnicode on JDK 10 headless Ubuntu 22.04.Hypotheses
java.awtfont resolution on JDK 10 (fontconfig cache) affectingPdfBoxGraphics2Dtext drawn from embedded EMF.TrueTypeCollection.processAllFontspicking different faces across runs for multi-face fonts (e.g.wqy-microhei.ttc).Suggested follow-up
ubuntu-22.04+ JDK 10 (Zulu) and capture the embedded font + ToUnicode of the failing page.