From 64098821eb0037144c8fc6af30ce783f0fb69c79 Mon Sep 17 00:00:00 2001 From: Porraphit Chuasuk Date: Tue, 27 Feb 2024 02:53:44 +0700 Subject: [PATCH] Fill missing glyph cmap when enableKernLiga to complete pdf/a3-u requirement. (#1082) * Add test case and init solutions. * Add fillerCmap --- .../com/lowagie/text/pdf/FontDetails.java | 8 +- .../com/lowagie/text/pdf/LayoutProcessor.java | 10 ++ .../lowagie/text/pdf/TrueTypeFontUnicode.java | 53 +++++++++- .../com/lowagie/text/pdf/TextExtractTest.java | 40 ++++++++ .../NotoSansThaiLooped-Regular.ttf | Bin 0 -> 101752 bytes .../fonts/NotoSansThaiLooped/OFL.txt | 93 ++++++++++++++++++ 6 files changed, 202 insertions(+), 2 deletions(-) create mode 100644 openpdf/src/test/resources/fonts/NotoSansThaiLooped/NotoSansThaiLooped-Regular.ttf create mode 100644 openpdf/src/test/resources/fonts/NotoSansThaiLooped/OFL.txt diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java b/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java index 6e24abdba..bd2a5a139 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java @@ -111,6 +111,11 @@ class FontDetails { * encoding should be included in the document. */ protected boolean subset = true; + /** + * Contain glyphs that used but missing in Cmap. + * the value is int[]{glyph, Unicode code} + */ + HashMap fillerCmap; /** * Each font used in a document has an instance of this class. @@ -136,6 +141,7 @@ class FontDetails { break; case BaseFont.FONT_TYPE_TTUNI: longTag = new HashMap<>(); + fillerCmap = new HashMap<>(); ttu = (TrueTypeFontUnicode)baseFont; symbolic = baseFont.isFontSpecific(); break; @@ -345,7 +351,7 @@ void writeFont(PdfWriter writer) { baseFont.writeFont(writer, indirectReference, new Object[]{cjkTag}); break; case BaseFont.FONT_TYPE_TTUNI: - baseFont.writeFont(writer, indirectReference, new Object[]{longTag, subset}); + baseFont.writeFont(writer, indirectReference, new Object[]{longTag, subset, fillerCmap}); break; } } diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java index 86db322cc..ada3ef16b 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java @@ -390,6 +390,16 @@ public static Point2D showText(PdfContentByte cb, BaseFont baseFont, float fontS float dx = (float) p.getX() - lastX; float dy = (float) p.getY() - lastY; cb.moveTextBasic(dx, -dy); + + if (baseFont instanceof TrueTypeFontUnicode && cb.state.fontDetails.fillerCmap != null) { + TrueTypeFontUnicode trueTypeFont = (TrueTypeFontUnicode) baseFont; + int[][] localCmap = trueTypeFont.getSentenceMissingCmap(text.toCharArray(), glyphVector); + + for (int k = 0; k < localCmap.length; ++k) { + cb.state.fontDetails.fillerCmap.put(localCmap[k][0], new int[] { localCmap[k][0], localCmap[k][1] }); + } + } + return new Point2D.Double(-p.getX(), p.getY()); } diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java b/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java index 10427215e..1660db89f 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java @@ -53,6 +53,7 @@ import com.lowagie.text.Utilities; import com.lowagie.text.error_messages.MessageLocalization; +import java.awt.font.GlyphVector; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -198,6 +199,39 @@ public int getWidth(String text) { return total; } + public int[][] getSentenceMissingCmap(char[] chars, GlyphVector glyph) + { + int[] unicodeChar = new int[chars.length]; + int[] glyphChar = new int[glyph.getNumGlyphs()]; + for(int i = 0; i < chars.length; i++){ + unicodeChar[i] = chars[i]; + } + for(int i = 0; i < glyphChar.length; i++) { + glyphChar[i] = glyph.getGlyphCode(i); + } + int[][] missingCmap = new int[glyphChar.length][2]; + int count = 0; + for(int i = 0; i < glyphChar.length; i++) { + int charIndex = glyph.getGlyphCharIndex(i); + int glyphCode = glyphChar[i]; + Integer cmapCharactherCode = getCharacterCode(glyphCode); + + if (cmapCharactherCode == null) { + missingCmap[count][0] = glyphCode; + missingCmap[count][1] = unicodeChar[charIndex]; + count+=1; + } + } + + int[][] result = new int[count][2]; + for(int i = 0; i < count; i++) { + result[i][0] = missingCmap[i][0]; + result[i][1] = missingCmap[i][1]; + } + + return result; + } + /** Creates a ToUnicode CMap to allow copy and paste from Acrobat. * @param metrics metrics[0] contains the glyph index and metrics[2] * contains the Unicode code @@ -389,6 +423,7 @@ public int compare(Object o1, Object o2) { @SuppressWarnings("unchecked") void writeFont(PdfWriter writer, PdfIndirectReference ref, Object[] params) throws DocumentException, IOException { HashMap longTag = (HashMap)params[0]; + HashMap fillerCmap = (HashMap)params[2]; addRangeUni(longTag, true, subset); int[][] metrics = longTag.values().toArray(new int[0][]); Arrays.sort(metrics, this); @@ -448,7 +483,7 @@ void writeFont(PdfWriter writer, PdfIndirectReference ref, Object[] params) thro obj = writer.addToBody(pobj); ind_font = obj.getIndirectReference(); - pobj = getToUnicode(metrics); + pobj = getToUnicode(mergeMetricsAndFillerCmap(metrics, fillerCmap)); PdfIndirectReference toUnicodeRef = null; if (pobj != null) { @@ -459,6 +494,22 @@ void writeFont(PdfWriter writer, PdfIndirectReference ref, Object[] params) thro pobj = getFontBaseType(ind_font, subsetPrefix, toUnicodeRef); writer.addToBody(pobj, ref); } + + public int[][] mergeMetricsAndFillerCmap(int[][] metric, HashMap fillerCmap) { + HashMap result = new HashMap<>(); + for (int i=0; i entry : fillerCmap.entrySet()) { + int[] row = entry.getValue(); + result.put(entry.getKey(), new int[] {row[0], 0, row[1]}); + } + + int[][] data = result.values().toArray(new int[0][]); + + return data; + } /** * Returns a PdfStream object with the full font program. diff --git a/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java b/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java index 1d6758d73..727d7a18f 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java @@ -1,10 +1,18 @@ package com.lowagie.text.pdf; +import com.lowagie.text.Chunk; +import com.lowagie.text.Document; +import com.lowagie.text.Font; +import com.lowagie.text.FontFactory; import com.lowagie.text.pdf.parser.PdfTextExtractor; + import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.net.URL; public class TextExtractTest { @Test @@ -20,4 +28,36 @@ public void textExtractTest2() throws IOException { PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(reader); Assertions.assertEquals("Hello World", pdfTextExtractor.getTextFromPage(1)); } + + @Test + public void textCreateAndExtractTest2() throws IOException { + LayoutProcessor.enableKernLiga(); + float fontSize = 12.0f; + + String testText = "กขน้ำตา ญูญูิ่ ก้กิ้"; + + URL fontPath = TextExtractTest.class.getResource("/fonts/NotoSansThaiLooped/NotoSansThaiLooped-Regular.ttf"); + + FontFactory.register(fontPath.toString(), "NotoSansThaiLooped"); + Font notoSansThaiLooped = FontFactory.getFont("NotoSansThaiLooped", BaseFont.IDENTITY_H, true, fontSize); + notoSansThaiLooped.getBaseFont().setIncludeCidSet(false); + + ByteArrayOutputStream pdfOutput = new ByteArrayOutputStream(); + try (Document document = new Document()) { + PdfWriter writer = PdfWriter.getInstance(document, pdfOutput); + writer.setInitialLeading(16.0f); + document.open(); + document.add(new Chunk(testText, notoSansThaiLooped)); + document.close(); + } + LayoutProcessor.disable(); + + PdfReader reader = new PdfReader(new ByteArrayInputStream(pdfOutput.toByteArray())); + PdfTextExtractor pdfTextExtractor = new PdfTextExtractor(reader); + + // FileOutputStream test = new FileOutputStream("/tmp/output2.pdf"); + // pdfOutput.writeTo(test); + + Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้", pdfTextExtractor.getTextFromPage(1)); + } } diff --git a/openpdf/src/test/resources/fonts/NotoSansThaiLooped/NotoSansThaiLooped-Regular.ttf b/openpdf/src/test/resources/fonts/NotoSansThaiLooped/NotoSansThaiLooped-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5c2d37b70789172b7c0fa8114fee1f87cc09c51b GIT binary patch literal 101752 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%0AYf+I{d5{+Cs1FY& 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%0DWgFwcH&A_C>@L;Q~*qBa9^cG6%)gFqZ~ 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