From f4fead49ad588a2e5b5f1d3b6a92aa730f91ee41 Mon Sep 17 00:00:00 2001 From: vk-github18 Date: Sun, 24 Mar 2024 13:31:09 +0100 Subject: [PATCH 1/4] Use operators Ts and TJ for glyph layout. Some refactorings --- .github/workflows/maven.yml | 1 + .../java/com/lowagie/text/pdf/BaseFont.java | 1 + .../com/lowagie/text/pdf/FontDetails.java | 47 +++++- .../com/lowagie/text/pdf/LayoutProcessor.java | 137 ++++++++++++++++-- .../com/lowagie/text/pdf/PdfContentByte.java | 46 +++++- .../lowagie/text/pdf/TrueTypeFontUnicode.java | 16 +- .../com/lowagie/text/pdf/TTFCacheTest.java | 6 +- .../com/lowagie/text/pdf/TextExtractTest.java | 4 +- .../fonts/GlyphLayoutDocumentBidi.java | 2 - .../fonts/GlyphLayoutDocumentBidiPerFont.java | 2 - .../fonts/GlyphLayoutDocumentDin91379.java | 50 +------ .../fonts/GlyphLayoutDocumentKernLiga.java | 2 - .../GlyphLayoutDocumentKernLigaPerFont.java | 2 - .../fonts/GlyphLayoutFormDin91379.java | 26 ++-- 14 files changed, 239 insertions(+), 103 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 035a21dea..db50e4f01 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -3,6 +3,7 @@ name: OpenPDF maven build on: + workflow_dispatch: push: branches: [ '*' ] pull_request: diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java b/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java index 671e4cdaa..b6b8e59ea 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java @@ -724,6 +724,7 @@ public static BaseFont createFont(String name, String encoding, if (cached) { fontFound = fontCache.get(key); if (fontFound != null) { + LayoutProcessor.loadFont(fontFound, name); return fontFound; } } 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 54beb26f9..74f092ca9 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java @@ -54,6 +54,7 @@ import com.lowagie.text.Utilities; import java.awt.font.GlyphVector; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; @@ -155,6 +156,18 @@ void putFillerCmap(Integer key, int[] value) { fillerCmap.put(key, value); } + void addMissingCmapEntries(String text, GlyphVector glyphVector, BaseFont baseFont) { + + if (baseFont instanceof TrueTypeFontUnicode trueTypeFont && getFillerCmap() != null) { + int[][] localCmap = trueTypeFont.getSentenceMissingCmap(text, glyphVector); + + for (int[] ints : localCmap) { + putFillerCmap(ints[0], new int[]{ints[0], ints[1]}); + } + } + } + + /** * Gets the indirect reference to this font. * @@ -291,6 +304,32 @@ private byte[] getCJKEncodingBytes(int[] glyph, int size) { return result; } + /** + * Convert a glyph code to bytes + * + * @param glyphCode + * @return byte array with one or two bytes as UTF-16BE representation of the glyph code + * @see convertToBytes(GlyphVector glyphVector,...) + */ + byte[] convertToBytes(final int glyphCode) { + if (fontType != BaseFont.FONT_TYPE_TTUNI) { + throw new UnsupportedOperationException("Only supported for True Type Unicode fonts"); + } + if (glyphCode == 0xFFFE || glyphCode == 0xFFFF) {// considered non-glyphs by + // AWT + return new byte[]{}; + } + if (!longTag.containsKey(glyphCode)) { + int glyphWidth = ttu.getGlyphWidth(glyphCode); + Integer charCode = ttu.getCharacterCode(glyphCode); + int[] metrics = charCode != null ? new int[]{glyphCode, glyphWidth, charCode} : new int[]{ + glyphCode, glyphWidth}; + longTag.put(glyphCode, metrics); + } + String s = new String(Character.toChars(glyphCode)); + return s.getBytes(StandardCharsets.UTF_16BE); + } + byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { if (fontType != BaseFont.FONT_TYPE_TTUNI || symbolic) { throw new UnsupportedOperationException("Only supported for True Type Unicode fonts"); @@ -305,7 +344,7 @@ byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { continue; } - glyphs[glyphCount++] = (char) code; // FIXME supplementary plane? + glyphCount += Character.toChars(code, glyphs, glyphCount); Integer codeKey = code; if (!longTag.containsKey(codeKey)) { @@ -318,11 +357,7 @@ byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { } String s = new String(glyphs, 0, glyphCount); - try { - return s.getBytes(CJKFont.CJK_ENCODING); - } catch (UnsupportedEncodingException e) { - throw new ExceptionConverter(e); - } + return s.getBytes(StandardCharsets.UTF_16BE); } 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 58e81d994..162c4c67e 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java @@ -1,7 +1,7 @@ /* * LayoutProcessor.java * - * Copyright 2020-2022 Volker Kunert. + * Copyright 2020-2024 Volker Kunert. * * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. @@ -65,6 +65,12 @@ */ public class LayoutProcessor { + public enum Version { + ONE, + TWO + } + private static Version version = Version.TWO; + private static final int DEFAULT_FLAGS = -1; private static final Map awtFontMap = new ConcurrentHashMap<>(); @@ -74,6 +80,8 @@ public class LayoutProcessor { private static boolean enabled = false; private static int flags = DEFAULT_FLAGS; + private static boolean writeActualText; + private LayoutProcessor() { throw new UnsupportedOperationException("static class"); } @@ -132,6 +140,16 @@ public static boolean isEnabled() { return enabled; } + /** + * Set version + * @param version to set + * @deprecated To be used *only*, if version two produces incorrect PDF - please file an issue if this occurs + */ + @Deprecated + public static void setVersion(Version version) { + LayoutProcessor.version = version; + } + /** * Set kerning * @@ -208,8 +226,8 @@ private static void setRunDirection(com.lowagie.text.Font font, Boolean runDirec * * @param font The font for which kerning is to be turned on * @param textAttributes Map of text attributes to be set - * @see Oracle: The Java™ Tutorials, - * Using Text Attributes to Style Text + * @see + * Oracle: The Java™ Tutorials, Using Text Attributes to Style Text* */ private static void setTextAttributes(com.lowagie.text.Font font, Map textAttributes) { BaseFont baseFont = font.getBaseFont(); @@ -220,10 +238,25 @@ private static void setTextAttributes(com.lowagie.text.Font font, Map= deltaY) { + if(!ga.isEmpty()) { + cb.showText(ga); + ga.clear(); + } + cb.setTextRise(-py); + } + if (Math.abs(dx) >= deltaX) { + ga.add(-dx * factorX); + } + ga.add(glyphVector.getGlyphCode(i)); + if (Math.abs(py) >= deltaY) { + cb.showText(ga); + ga.clear(); + cb.setTextRise(0.0f); + } + lastX = (float) p.getX(); + } + Point2D p = glyphVector.getGlyphPosition(glyphVector.getNumGlyphs()); + float ax = (glyphVector.getNumGlyphs() == 0) ? 0.0f : glyphVector.getGlyphMetrics(glyphVector.getNumGlyphs() - 1).getAdvanceX(); + float dx = (float) p.getX() - lastX - ax; + if (Math.abs(dx) >= deltaX) { + ga.add(-dx * factorX); + } + cb.showText(ga); + ga.clear(); } public static void disable() { @@ -407,5 +516,7 @@ public static void disable() { flags = DEFAULT_FLAGS; awtFontMap.clear(); globalTextAttributes.clear(); + writeActualText = false; + setVersion(Version.TWO); } } diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java b/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java index 40b1fae2c..fc11e8acb 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java @@ -261,17 +261,17 @@ public static PdfTextArray getKernArray(String text, BaseFont font) { */ static byte[] escapeString(byte[] b) { ByteBuffer content = new ByteBuffer(); - escapeString(b, content); + escapeAndAppendString(b, content); return content.toByteArray(); } /** - * Escapes a byte array according to the PDF conventions. + * Escapes a byte array according to the PDF conventions and append it to content * * @param b the byte array to escape - * @param content the content + * @param content the content to append the escaped string */ - static void escapeString(byte[] b, ByteBuffer content) { + static void escapeAndAppendString(byte[] b, ByteBuffer content) { content.append_i('('); for (byte c : b) { switch (c) { @@ -1688,7 +1688,7 @@ private void showText2(String text) { MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); } byte[] b = state.fontDetails.convertToBytes(text, getPdfDocument().getTextRenderingOptions()); - escapeString(b, content); + escapeAndAppendString(b, content); } /** @@ -1747,7 +1747,7 @@ public void showText(GlyphVector glyphVector, int beginIndex, int endIndex) { MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); } byte[] b = state.fontDetails.convertToBytes(glyphVector, beginIndex, endIndex); - escapeString(b, content); + escapeAndAppendString(b, content); content.append("Tj").append_i(separator); } @@ -2161,8 +2161,8 @@ public PdfPatternPainter createPattern(float width, float height, Color color) { * Creates a new template. *

* Creates a new template that is nothing more than a form XObject. This template can be included in this - * PdfContentByte or in another template. Templates are only written to the output when the document - * is closed permitting things like showing text in the first page that is only defined in the last page. + * PdfContentByte or in another template. Templates are only written to the output when the document is + * closed permitting things like showing text in the first page that is only defined in the last page. * * @param width the bounding box width * @param height the bounding box height @@ -2750,6 +2750,36 @@ protected void checkWriter() { } } + /** + * Show an array of glyphs. + * + * @param glyphs array of glyphs + */ + public void showText(PdfGlyphArray glyphs) { + if (state.fontDetails == null) { + throw new NullPointerException( + MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); + } + content.append("["); + List arrayList = glyphs.getList(); + boolean lastWasDisplacement = false; + for (Object obj : arrayList) { + if (obj instanceof Integer) { // glyph code + byte[] b = state.fontDetails.convertToBytes((Integer) obj); + escapeAndAppendString(b, content); // appends escapedString to content + lastWasDisplacement = false; + } else { // displacement + if (lastWasDisplacement) { + content.append(' '); + } else { + lastWasDisplacement = true; + } + content.append((Float) obj); + } + } + content.append("]TJ").append_i(separator); + } + /** * Show an array of text. * 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 926fb236f..344e2ed8f 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java @@ -179,6 +179,7 @@ protected Integer getCharacterCode(int code) { return inverseCmap == null ? null : inverseCmap.get(code); } + /** * Gets the width of a char in normalized 1000 units. * @@ -234,17 +235,18 @@ public int getWidth(String text) { return total; } - int[][] getSentenceMissingCmap(char[] chars, GlyphVector glyph) { - char[] unicodeChar = Arrays.copyOf(chars, chars.length); - int[] glyphChar = glyph.getGlyphCodes(0, glyph.getNumGlyphs(), new int[glyph.getNumGlyphs()]); + int[][] getSentenceMissingCmap(String text, GlyphVector glyphVector) { + char[] chars = text.toCharArray(); + int[] glyphCodes = glyphVector.getGlyphCodes(0, glyphVector.getNumGlyphs(), + new int[glyphVector.getNumGlyphs()]); List missingCmapList = new ArrayList<>(); - for (int i = 0; i < glyphChar.length; i++) { - int charIndex = glyph.getGlyphCharIndex(i); - int glyphCode = glyphChar[i]; + for (int i = 0; i < glyphCodes.length; i++) { + int charIndex = glyphVector.getGlyphCharIndex(i); + int glyphCode = glyphCodes[i]; Integer cmapCharactherCode = getCharacterCode(glyphCode); if (cmapCharactherCode == null) { - missingCmapList.add(new int[]{glyphCode, unicodeChar[charIndex]}); + missingCmapList.add(new int[]{glyphCode, chars[charIndex]}); } } diff --git a/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java b/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java index feff755ce..224465956 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java @@ -12,8 +12,8 @@ class TTFCacheTest { @Test - void whenGetTTFFileWithNullTtuShouldThrowNpe() { - assertThatNullPointerException().isThrownBy(() -> TTFCache.getTTFFile("test", null)); + void whenGetTTFFileWithNotExistingFileAndNullTtuShouldThrowNpe() { + assertThatNullPointerException().isThrownBy(() -> TTFCache.getTTFFile("test-TFFile-With-Null-Ttu", null)); } @Test @@ -24,7 +24,7 @@ void whenGetTTFFileWithNullFileNameShouldThrowNpe() throws IOException { } @Test - void whenGetTTFFileShouldThrowNpe() throws IOException { + void whenTTFCacheGetShouldEqualToTTFFileGet() throws IOException { // given TrueTypeFontUnicode font = (TrueTypeFontUnicode) BaseFont .createFont("fonts/Viaoda_Libre/ViaodaLibre-Regular.ttf", BaseFont.IDENTITY_H, false); 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 3bb13f4ba..f0bf9325f 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java @@ -59,6 +59,8 @@ void textCreateAndExtractTest2() throws IOException { // FileOutputStream test = new FileOutputStream("/tmp/output2.pdf"); // pdfOutput.writeTo(test); - Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้", pdfTextExtractor.getTextFromPage(1)); + // Ignore spaces in comparison + Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้".replaceAll(" ", ""), + pdfTextExtractor.getTextFromPage(1).replaceAll(" ","")); } } diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java index e4fdfdbf2..a12bf1638 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java index ac6107e6d..de3be8adc 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java index ee9b76c29..4dd0661a6 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java @@ -1,6 +1,4 @@ /* - * GlyphLayoutDocumentDin91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial @@ -29,14 +27,13 @@ public class GlyphLayoutDocumentDin91379 { public static String TEXT_INTRO = "Test of formatting for letters and sequences defined in:\n" - + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the electronic\n " - + "processing of names and data exchange in Europe, with CD-ROM\n" - + "See https://www.beuth.de/de/norm/din-91379/353496133\n" - + " https://github.com/String-Latin/DIN-91379-Characters-and-Sequences" + + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the\n" + + "electronic processing of names and data exchange in Europe, with CD-ROM.\n" + + "See https://github.com/String-Latin/DIN-91379-Characters-and-Sequences\n" + "and https://en.wikipedia.org/wiki/DIN_91379\n\n" + "Fonts used: Noto Sans Regular, Noto Sans Math Regular, Noto Serif Regular\n" - + " see https://fonts.google.com/noto/specimen/Noto+Sans" - + " and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + + "See https://fonts.google.com/noto/specimen/Noto+Sans\n" + + "and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + "Using LayoutProcessor for glyph layout with Java built-in routines.\n\n"; public static String LATIN_CHARS_DIN_91379 = @@ -79,7 +76,7 @@ public class GlyphLayoutDocumentDin91379 { + "bnlnot; Non-Letters N4 (normative)\n" + "-omitted-\n" + "dc; Combining diacritics (normative)\n" - + "̀-omitted-\n" + + "-omitted-\n" + "gl; Greek Letters (extended)\n" + "Ά Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ \n" + "Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν \n" @@ -100,13 +97,6 @@ public class GlyphLayoutDocumentDin91379 { "Additional non-letters (not included in DIN 91379)\n" + "– — •�\n\n"; - public static String TEST_KERNING = - "Kerning\n" - + "AVATAR Vector TeX\n\n"; - - public static String TEST_LIGATURES = - "Ligatures\n" - + "ff ffi ffl fi fl\n\n"; /** * Register and get font @@ -128,7 +118,7 @@ private static Font loadFont(String path, String alias, float fontSize) { * @param args -- not used */ public static void main(String[] args) throws Exception { - test("GlyphLayoutDocumentDin91379.pdf", true); + test("GlyphLayoutDocumentDin91379.pdf"); } @@ -136,9 +126,8 @@ public static void main(String[] args) throws Exception { * Run the test: Print the characters of DIN 91379 in a pdf document * * @param fileName Name of output file - * @param testChunks if true some chunks are added to test positioning */ - public static void test(String fileName, boolean testChunks) throws IOException { + public static void test(String fileName) throws IOException { // Enable the LayoutProcessor with kerning and ligatures LayoutProcessor.enableKernLiga(); @@ -153,8 +142,6 @@ public static void test(String fileName, boolean testChunks) throws IOException String sansFontName = sansFont.getBaseFont().getPostscriptFontName(); Font mathFont = loadFont(fontDir + "noto/NotoSansMath-Regular.ttf", "math", fontSize); String mathFontName = mathFont.getBaseFont().getPostscriptFontName(); - Font serifFont = loadFont(fontDir + "noto/NotoSerif-Regular.ttf", "serif", fontSize); - String serifFontName = serifFont.getBaseFont().getPostscriptFontName(); try (Document document = new Document()) { PdfWriter writer = PdfWriter.getInstance(document, Files.newOutputStream(Paths.get(fileName))); @@ -166,28 +153,7 @@ public static void test(String fileName, boolean testChunks) throws IOException document.add(new Chunk(sansFontName + "\n" + LATIN_CHARS_DIN_91379, sansFont)); document.add(new Chunk(mathFontName + "\n" + LATIN_CHARS_DIN_91379_MATH, mathFont)); document.add(new Chunk(sansFontName + "\n" + LATIN_CHARS_ADDITIONAL, sansFont)); - document.add(new Chunk(sansFontName + "\n" + TEST_KERNING, sansFont)); - document.add(new Chunk(serifFontName + "\n" + TEST_LIGATURES, serifFont)); - - if (testChunks) { - addChunks(document, sansFont); - } } LayoutProcessor.disable(); } - - /* - * Add several chunks to test positioning - */ - private static void addChunks(Document document, Font font) { - document.add(new Chunk("\n")); - document.add(new Chunk("Test of several Chunks on one line: A", font)); - document.add(new Chunk("A̋C̀C̄C̆C̈", font)); - document.add(new Chunk("C̈C̕C̣C̦C̨̆", font)); - document.add(new Chunk(".\n", font)); - document.add(new Chunk("Another line: S", font)); - document.add(new Chunk("Ṣ̄ṣ̄Ṭ̄ṭ̄Ạ̈ạ̈Ọ̈ọ̈Ụ̄Ụ̈ụ̄ụ̈", font)); - document.add(new Chunk("j́S̛̄s̛̄K̛", font)); - document.add(new Chunk(".\n", font)); - } } diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java index f2de839ba..66e2b02f5 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java index fccaaa8d5..1540fe0f7 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java index 70a0cded5..82164caa6 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java @@ -1,6 +1,4 @@ /* - * GlyphLayoutFormDin91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial @@ -30,14 +28,13 @@ public class GlyphLayoutFormDin91379 { public static String TEXT_INTRO = "Test of formatting for letters and sequences defined in:\n" - + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the electronic\n " - + "processing of names and data exchange in Europe, with CD-ROM\n" - + "See https://www.beuth.de/de/norm/din-91379/353496133\n" - + " https://github.com/String-Latin/DIN-91379-Characters-and-Sequences" + + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the\n" + + "electronic processing of names and data exchange in Europe, with CD-ROM.\n" + + "See https://github.com/String-Latin/DIN-91379-Characters-and-Sequences\n" + "and https://en.wikipedia.org/wiki/DIN_91379\n\n" - + "Fonts used: Noto Sans Regular, Noto Sans Math Regular\n" - + " see https://fonts.google.com/noto/specimen/Noto+Sans" - + " and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + + "Fonts used: Noto Sans Regular, Noto Sans Math Regular, Noto Serif Regular\n" + + "See https://fonts.google.com/noto/specimen/Noto+Sans\n" + + "and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + "Using LayoutProcessor for glyph layout with Java built-in routines.\n\n"; public static String LATIN_CHARS_DIN_91379 = @@ -78,7 +75,7 @@ public class GlyphLayoutFormDin91379 { + "bnlopt; Non-Letters N3 (normative)\n" + "¤ ¦ ¸ ¼ ½ ¾ \n" + "bnlnot; Non-Letters N4 (normative) -omitted-\n" - + "dc; Combining diacritics (normative) ̀-omitted-\n" + + "dc; Combining diacritics (normative) -omitted-\n" + "gl; Greek Letters (extended)\n" + "Ά Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ " + "Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν " @@ -97,19 +94,18 @@ public class GlyphLayoutFormDin91379 { * @param args -- not used */ public static void main(String[] args) throws Exception { - test("GlyphLayoutFormDin91379.pdf", "com/lowagie/examples/fonts/form/PdfFormLayoutProcessor.pdf", - TEXT_INTRO + LATIN_CHARS_DIN_91379); + test("GlyphLayoutFormDin91379.pdf"); } /** * Run the test: Print the characters of DIN 91379 in a pdf form * * @param fileName Name of output file - * @param formPath Name of input pdf form - * @param text Text to show * @throws Exception in case of error */ - public static void test(String fileName, String formPath, String text) throws Exception { + public static void test(String fileName) throws Exception { + String formPath = "com/lowagie/examples/fonts/form/PdfFormLayoutProcessor.pdf"; + String text = TEXT_INTRO + LATIN_CHARS_DIN_91379; // Enable the LayoutProcessor with kerning and ligatures LayoutProcessor.enableKernLiga(); From 1f46c9c3bc4127e1c8828d6b677af902141c74ef Mon Sep 17 00:00:00 2001 From: vk-github18 Date: Sun, 24 Mar 2024 13:31:09 +0100 Subject: [PATCH 2/4] Use operators Ts and TJ for glyph layout. Some refactorings --- .github/workflows/maven.yml | 1 + .../java/com/lowagie/text/pdf/BaseFont.java | 1 + .../com/lowagie/text/pdf/FontDetails.java | 47 +++++- .../com/lowagie/text/pdf/LayoutProcessor.java | 137 ++++++++++++++++-- .../com/lowagie/text/pdf/PdfContentByte.java | 46 +++++- .../com/lowagie/text/pdf/PdfGlyphArray.java | 73 ++++++++++ .../lowagie/text/pdf/TrueTypeFontUnicode.java | 16 +- .../com/lowagie/text/pdf/TTFCacheTest.java | 6 +- .../com/lowagie/text/pdf/TextExtractTest.java | 4 +- .../fonts/GlyphLayoutDocumentBidi.java | 2 - .../fonts/GlyphLayoutDocumentBidiPerFont.java | 2 - .../fonts/GlyphLayoutDocumentDin91379.java | 50 +------ .../fonts/GlyphLayoutDocumentKernLiga.java | 2 - .../GlyphLayoutDocumentKernLigaPerFont.java | 2 - .../fonts/GlyphLayoutDocumentWithImage.java | 93 ++++++++++++ .../fonts/GlyphLayoutFormDin91379.java | 26 ++-- .../fonts/RunGlyphLayoutExamples.java | 47 ++++++ .../examples/fonts/images/mushroom.png | Bin 0 -> 240127 bytes 18 files changed, 452 insertions(+), 103 deletions(-) create mode 100644 openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java create mode 100644 pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java create mode 100644 pdf-toolbox/src/test/java/com/lowagie/examples/fonts/RunGlyphLayoutExamples.java create mode 100644 pdf-toolbox/src/test/resources/com/lowagie/examples/fonts/images/mushroom.png diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 035a21dea..db50e4f01 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -3,6 +3,7 @@ name: OpenPDF maven build on: + workflow_dispatch: push: branches: [ '*' ] pull_request: diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java b/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java index 671e4cdaa..b6b8e59ea 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/BaseFont.java @@ -724,6 +724,7 @@ public static BaseFont createFont(String name, String encoding, if (cached) { fontFound = fontCache.get(key); if (fontFound != null) { + LayoutProcessor.loadFont(fontFound, name); return fontFound; } } 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 54beb26f9..74f092ca9 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java @@ -54,6 +54,7 @@ import com.lowagie.text.Utilities; import java.awt.font.GlyphVector; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; @@ -155,6 +156,18 @@ void putFillerCmap(Integer key, int[] value) { fillerCmap.put(key, value); } + void addMissingCmapEntries(String text, GlyphVector glyphVector, BaseFont baseFont) { + + if (baseFont instanceof TrueTypeFontUnicode trueTypeFont && getFillerCmap() != null) { + int[][] localCmap = trueTypeFont.getSentenceMissingCmap(text, glyphVector); + + for (int[] ints : localCmap) { + putFillerCmap(ints[0], new int[]{ints[0], ints[1]}); + } + } + } + + /** * Gets the indirect reference to this font. * @@ -291,6 +304,32 @@ private byte[] getCJKEncodingBytes(int[] glyph, int size) { return result; } + /** + * Convert a glyph code to bytes + * + * @param glyphCode + * @return byte array with one or two bytes as UTF-16BE representation of the glyph code + * @see convertToBytes(GlyphVector glyphVector,...) + */ + byte[] convertToBytes(final int glyphCode) { + if (fontType != BaseFont.FONT_TYPE_TTUNI) { + throw new UnsupportedOperationException("Only supported for True Type Unicode fonts"); + } + if (glyphCode == 0xFFFE || glyphCode == 0xFFFF) {// considered non-glyphs by + // AWT + return new byte[]{}; + } + if (!longTag.containsKey(glyphCode)) { + int glyphWidth = ttu.getGlyphWidth(glyphCode); + Integer charCode = ttu.getCharacterCode(glyphCode); + int[] metrics = charCode != null ? new int[]{glyphCode, glyphWidth, charCode} : new int[]{ + glyphCode, glyphWidth}; + longTag.put(glyphCode, metrics); + } + String s = new String(Character.toChars(glyphCode)); + return s.getBytes(StandardCharsets.UTF_16BE); + } + byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { if (fontType != BaseFont.FONT_TYPE_TTUNI || symbolic) { throw new UnsupportedOperationException("Only supported for True Type Unicode fonts"); @@ -305,7 +344,7 @@ byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { continue; } - glyphs[glyphCount++] = (char) code; // FIXME supplementary plane? + glyphCount += Character.toChars(code, glyphs, glyphCount); Integer codeKey = code; if (!longTag.containsKey(codeKey)) { @@ -318,11 +357,7 @@ byte[] convertToBytes(GlyphVector glyphVector, int beginIndex, int endIndex) { } String s = new String(glyphs, 0, glyphCount); - try { - return s.getBytes(CJKFont.CJK_ENCODING); - } catch (UnsupportedEncodingException e) { - throw new ExceptionConverter(e); - } + return s.getBytes(StandardCharsets.UTF_16BE); } 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 58e81d994..162c4c67e 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java @@ -1,7 +1,7 @@ /* * LayoutProcessor.java * - * Copyright 2020-2022 Volker Kunert. + * Copyright 2020-2024 Volker Kunert. * * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. @@ -65,6 +65,12 @@ */ public class LayoutProcessor { + public enum Version { + ONE, + TWO + } + private static Version version = Version.TWO; + private static final int DEFAULT_FLAGS = -1; private static final Map awtFontMap = new ConcurrentHashMap<>(); @@ -74,6 +80,8 @@ public class LayoutProcessor { private static boolean enabled = false; private static int flags = DEFAULT_FLAGS; + private static boolean writeActualText; + private LayoutProcessor() { throw new UnsupportedOperationException("static class"); } @@ -132,6 +140,16 @@ public static boolean isEnabled() { return enabled; } + /** + * Set version + * @param version to set + * @deprecated To be used *only*, if version two produces incorrect PDF - please file an issue if this occurs + */ + @Deprecated + public static void setVersion(Version version) { + LayoutProcessor.version = version; + } + /** * Set kerning * @@ -208,8 +226,8 @@ private static void setRunDirection(com.lowagie.text.Font font, Boolean runDirec * * @param font The font for which kerning is to be turned on * @param textAttributes Map of text attributes to be set - * @see Oracle: The Java™ Tutorials, - * Using Text Attributes to Style Text + * @see + * Oracle: The Java™ Tutorials, Using Text Attributes to Style Text* */ private static void setTextAttributes(com.lowagie.text.Font font, Map textAttributes) { BaseFont baseFont = font.getBaseFont(); @@ -220,10 +238,25 @@ private static void setTextAttributes(com.lowagie.text.Font font, Map= deltaY) { + if(!ga.isEmpty()) { + cb.showText(ga); + ga.clear(); + } + cb.setTextRise(-py); + } + if (Math.abs(dx) >= deltaX) { + ga.add(-dx * factorX); + } + ga.add(glyphVector.getGlyphCode(i)); + if (Math.abs(py) >= deltaY) { + cb.showText(ga); + ga.clear(); + cb.setTextRise(0.0f); + } + lastX = (float) p.getX(); + } + Point2D p = glyphVector.getGlyphPosition(glyphVector.getNumGlyphs()); + float ax = (glyphVector.getNumGlyphs() == 0) ? 0.0f : glyphVector.getGlyphMetrics(glyphVector.getNumGlyphs() - 1).getAdvanceX(); + float dx = (float) p.getX() - lastX - ax; + if (Math.abs(dx) >= deltaX) { + ga.add(-dx * factorX); + } + cb.showText(ga); + ga.clear(); } public static void disable() { @@ -407,5 +516,7 @@ public static void disable() { flags = DEFAULT_FLAGS; awtFontMap.clear(); globalTextAttributes.clear(); + writeActualText = false; + setVersion(Version.TWO); } } diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java b/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java index 40b1fae2c..fc11e8acb 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/PdfContentByte.java @@ -261,17 +261,17 @@ public static PdfTextArray getKernArray(String text, BaseFont font) { */ static byte[] escapeString(byte[] b) { ByteBuffer content = new ByteBuffer(); - escapeString(b, content); + escapeAndAppendString(b, content); return content.toByteArray(); } /** - * Escapes a byte array according to the PDF conventions. + * Escapes a byte array according to the PDF conventions and append it to content * * @param b the byte array to escape - * @param content the content + * @param content the content to append the escaped string */ - static void escapeString(byte[] b, ByteBuffer content) { + static void escapeAndAppendString(byte[] b, ByteBuffer content) { content.append_i('('); for (byte c : b) { switch (c) { @@ -1688,7 +1688,7 @@ private void showText2(String text) { MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); } byte[] b = state.fontDetails.convertToBytes(text, getPdfDocument().getTextRenderingOptions()); - escapeString(b, content); + escapeAndAppendString(b, content); } /** @@ -1747,7 +1747,7 @@ public void showText(GlyphVector glyphVector, int beginIndex, int endIndex) { MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); } byte[] b = state.fontDetails.convertToBytes(glyphVector, beginIndex, endIndex); - escapeString(b, content); + escapeAndAppendString(b, content); content.append("Tj").append_i(separator); } @@ -2161,8 +2161,8 @@ public PdfPatternPainter createPattern(float width, float height, Color color) { * Creates a new template. *

* Creates a new template that is nothing more than a form XObject. This template can be included in this - * PdfContentByte or in another template. Templates are only written to the output when the document - * is closed permitting things like showing text in the first page that is only defined in the last page. + * PdfContentByte or in another template. Templates are only written to the output when the document is + * closed permitting things like showing text in the first page that is only defined in the last page. * * @param width the bounding box width * @param height the bounding box height @@ -2750,6 +2750,36 @@ protected void checkWriter() { } } + /** + * Show an array of glyphs. + * + * @param glyphs array of glyphs + */ + public void showText(PdfGlyphArray glyphs) { + if (state.fontDetails == null) { + throw new NullPointerException( + MessageLocalization.getComposedMessage("font.and.size.must.be.set.before.writing.any.text")); + } + content.append("["); + List arrayList = glyphs.getList(); + boolean lastWasDisplacement = false; + for (Object obj : arrayList) { + if (obj instanceof Integer) { // glyph code + byte[] b = state.fontDetails.convertToBytes((Integer) obj); + escapeAndAppendString(b, content); // appends escapedString to content + lastWasDisplacement = false; + } else { // displacement + if (lastWasDisplacement) { + content.append(' '); + } else { + lastWasDisplacement = true; + } + content.append((Float) obj); + } + } + content.append("]TJ").append_i(separator); + } + /** * Show an array of text. * diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java b/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java new file mode 100644 index 000000000..54944b7b1 --- /dev/null +++ b/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java @@ -0,0 +1,73 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the License. + * + * + * Contributor(s): all the names of the contributors are added in the source code + * where applicable. + * + * Alternatively, the contents of this file may be used under the terms of the + * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the + * provisions of LGPL are applicable instead of those above. If you wish to + * allow use of your version of this file only under the terms of the LGPL + * License and not to allow others to use your version of this file under + * the MPL, indicate your decision by deleting the provisions above and + * replace them with the notice and other provisions required by the LGPL. + * If you do not delete the provisions above, a recipient may use your version + * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE. + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the MPL as stated above or under the terms of the GNU + * Library General Public License as published by the Free Software Foundation; + * either version 2 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more + * details. + * + * If you didn't download this code from the following link, you should check if + * you aren't using an obsolete version: + * https://github.com/LibrePDF/OpenPDF + * + */ + +package com.lowagie.text.pdf; + +import java.util.LinkedList; +import java.util.List; + +/** + * Defines an array with displacements and glyph codes. + */ +public class PdfGlyphArray { + private final List list = new LinkedList<>(); + + public PdfGlyphArray() { + } + + public void add(float displacement) { + list.add(displacement); + } + + public void add(int glyphCode) { + list.add(glyphCode); + } + + List getList() { + return list; + } + + public void clear() { + list.clear(); + } + + public boolean isEmpty() { + return list.isEmpty(); + } +} 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 926fb236f..344e2ed8f 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/TrueTypeFontUnicode.java @@ -179,6 +179,7 @@ protected Integer getCharacterCode(int code) { return inverseCmap == null ? null : inverseCmap.get(code); } + /** * Gets the width of a char in normalized 1000 units. * @@ -234,17 +235,18 @@ public int getWidth(String text) { return total; } - int[][] getSentenceMissingCmap(char[] chars, GlyphVector glyph) { - char[] unicodeChar = Arrays.copyOf(chars, chars.length); - int[] glyphChar = glyph.getGlyphCodes(0, glyph.getNumGlyphs(), new int[glyph.getNumGlyphs()]); + int[][] getSentenceMissingCmap(String text, GlyphVector glyphVector) { + char[] chars = text.toCharArray(); + int[] glyphCodes = glyphVector.getGlyphCodes(0, glyphVector.getNumGlyphs(), + new int[glyphVector.getNumGlyphs()]); List missingCmapList = new ArrayList<>(); - for (int i = 0; i < glyphChar.length; i++) { - int charIndex = glyph.getGlyphCharIndex(i); - int glyphCode = glyphChar[i]; + for (int i = 0; i < glyphCodes.length; i++) { + int charIndex = glyphVector.getGlyphCharIndex(i); + int glyphCode = glyphCodes[i]; Integer cmapCharactherCode = getCharacterCode(glyphCode); if (cmapCharactherCode == null) { - missingCmapList.add(new int[]{glyphCode, unicodeChar[charIndex]}); + missingCmapList.add(new int[]{glyphCode, chars[charIndex]}); } } diff --git a/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java b/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java index feff755ce..224465956 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TTFCacheTest.java @@ -12,8 +12,8 @@ class TTFCacheTest { @Test - void whenGetTTFFileWithNullTtuShouldThrowNpe() { - assertThatNullPointerException().isThrownBy(() -> TTFCache.getTTFFile("test", null)); + void whenGetTTFFileWithNotExistingFileAndNullTtuShouldThrowNpe() { + assertThatNullPointerException().isThrownBy(() -> TTFCache.getTTFFile("test-TFFile-With-Null-Ttu", null)); } @Test @@ -24,7 +24,7 @@ void whenGetTTFFileWithNullFileNameShouldThrowNpe() throws IOException { } @Test - void whenGetTTFFileShouldThrowNpe() throws IOException { + void whenTTFCacheGetShouldEqualToTTFFileGet() throws IOException { // given TrueTypeFontUnicode font = (TrueTypeFontUnicode) BaseFont .createFont("fonts/Viaoda_Libre/ViaodaLibre-Regular.ttf", BaseFont.IDENTITY_H, false); 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 3bb13f4ba..f0bf9325f 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java @@ -59,6 +59,8 @@ void textCreateAndExtractTest2() throws IOException { // FileOutputStream test = new FileOutputStream("/tmp/output2.pdf"); // pdfOutput.writeTo(test); - Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้", pdfTextExtractor.getTextFromPage(1)); + // Ignore spaces in comparison + Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้".replaceAll(" ", ""), + pdfTextExtractor.getTextFromPage(1).replaceAll(" ","")); } } diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java index e4fdfdbf2..a12bf1638 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidi.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java index ac6107e6d..de3be8adc 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentBidiPerFont.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java index ee9b76c29..4dd0661a6 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentDin91379.java @@ -1,6 +1,4 @@ /* - * GlyphLayoutDocumentDin91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial @@ -29,14 +27,13 @@ public class GlyphLayoutDocumentDin91379 { public static String TEXT_INTRO = "Test of formatting for letters and sequences defined in:\n" - + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the electronic\n " - + "processing of names and data exchange in Europe, with CD-ROM\n" - + "See https://www.beuth.de/de/norm/din-91379/353496133\n" - + " https://github.com/String-Latin/DIN-91379-Characters-and-Sequences" + + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the\n" + + "electronic processing of names and data exchange in Europe, with CD-ROM.\n" + + "See https://github.com/String-Latin/DIN-91379-Characters-and-Sequences\n" + "and https://en.wikipedia.org/wiki/DIN_91379\n\n" + "Fonts used: Noto Sans Regular, Noto Sans Math Regular, Noto Serif Regular\n" - + " see https://fonts.google.com/noto/specimen/Noto+Sans" - + " and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + + "See https://fonts.google.com/noto/specimen/Noto+Sans\n" + + "and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + "Using LayoutProcessor for glyph layout with Java built-in routines.\n\n"; public static String LATIN_CHARS_DIN_91379 = @@ -79,7 +76,7 @@ public class GlyphLayoutDocumentDin91379 { + "bnlnot; Non-Letters N4 (normative)\n" + "-omitted-\n" + "dc; Combining diacritics (normative)\n" - + "̀-omitted-\n" + + "-omitted-\n" + "gl; Greek Letters (extended)\n" + "Ά Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ \n" + "Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν \n" @@ -100,13 +97,6 @@ public class GlyphLayoutDocumentDin91379 { "Additional non-letters (not included in DIN 91379)\n" + "– — •�\n\n"; - public static String TEST_KERNING = - "Kerning\n" - + "AVATAR Vector TeX\n\n"; - - public static String TEST_LIGATURES = - "Ligatures\n" - + "ff ffi ffl fi fl\n\n"; /** * Register and get font @@ -128,7 +118,7 @@ private static Font loadFont(String path, String alias, float fontSize) { * @param args -- not used */ public static void main(String[] args) throws Exception { - test("GlyphLayoutDocumentDin91379.pdf", true); + test("GlyphLayoutDocumentDin91379.pdf"); } @@ -136,9 +126,8 @@ public static void main(String[] args) throws Exception { * Run the test: Print the characters of DIN 91379 in a pdf document * * @param fileName Name of output file - * @param testChunks if true some chunks are added to test positioning */ - public static void test(String fileName, boolean testChunks) throws IOException { + public static void test(String fileName) throws IOException { // Enable the LayoutProcessor with kerning and ligatures LayoutProcessor.enableKernLiga(); @@ -153,8 +142,6 @@ public static void test(String fileName, boolean testChunks) throws IOException String sansFontName = sansFont.getBaseFont().getPostscriptFontName(); Font mathFont = loadFont(fontDir + "noto/NotoSansMath-Regular.ttf", "math", fontSize); String mathFontName = mathFont.getBaseFont().getPostscriptFontName(); - Font serifFont = loadFont(fontDir + "noto/NotoSerif-Regular.ttf", "serif", fontSize); - String serifFontName = serifFont.getBaseFont().getPostscriptFontName(); try (Document document = new Document()) { PdfWriter writer = PdfWriter.getInstance(document, Files.newOutputStream(Paths.get(fileName))); @@ -166,28 +153,7 @@ public static void test(String fileName, boolean testChunks) throws IOException document.add(new Chunk(sansFontName + "\n" + LATIN_CHARS_DIN_91379, sansFont)); document.add(new Chunk(mathFontName + "\n" + LATIN_CHARS_DIN_91379_MATH, mathFont)); document.add(new Chunk(sansFontName + "\n" + LATIN_CHARS_ADDITIONAL, sansFont)); - document.add(new Chunk(sansFontName + "\n" + TEST_KERNING, sansFont)); - document.add(new Chunk(serifFontName + "\n" + TEST_LIGATURES, serifFont)); - - if (testChunks) { - addChunks(document, sansFont); - } } LayoutProcessor.disable(); } - - /* - * Add several chunks to test positioning - */ - private static void addChunks(Document document, Font font) { - document.add(new Chunk("\n")); - document.add(new Chunk("Test of several Chunks on one line: A", font)); - document.add(new Chunk("A̋C̀C̄C̆C̈", font)); - document.add(new Chunk("C̈C̕C̣C̦C̨̆", font)); - document.add(new Chunk(".\n", font)); - document.add(new Chunk("Another line: S", font)); - document.add(new Chunk("Ṣ̄ṣ̄Ṭ̄ṭ̄Ạ̈ạ̈Ọ̈ọ̈Ụ̄Ụ̈ụ̄ụ̈", font)); - document.add(new Chunk("j́S̛̄s̛̄K̛", font)); - document.add(new Chunk(".\n", font)); - } } diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java index f2de839ba..66e2b02f5 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLiga.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java index fccaaa8d5..1540fe0f7 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentKernLigaPerFont.java @@ -1,7 +1,5 @@ /* - * GlyphLayoutDocumentDinSpec91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java new file mode 100644 index 000000000..11daa6c04 --- /dev/null +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java @@ -0,0 +1,93 @@ +/* + * This code is part of the 'OpenPDF Tutorial'. + * You can find the complete tutorial at the following address: + * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial + * + * This code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ +package com.lowagie.examples.fonts; + +import com.lowagie.text.*; +import com.lowagie.text.pdf.*; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +/** + * Prints characters and sequences of DIN 91379 with correct glyph layout and kerning + */ +public class GlyphLayoutDocumentWithImage { + + + /** + * Register and get font + * + * @param path of font file + * @param alias name + * @param fontSize size of font + * @return the loaded font + */ + private static Font loadFont(String path, String alias, float fontSize) { + FontFactory.register(path, alias); + return FontFactory.getFont(alias, BaseFont.IDENTITY_H, fontSize); + } + + + /** + * Main method + * + * @param args -- not used + */ + public static void main(String[] args) throws Exception { + test("GlyphLayoutDocumentWithImage.pdf"); + } + + + /** + * Run the test: Print the characters of DIN 91379 in a pdf document + * + * @param fileName Name of output file + */ + public static void test(String fileName) throws IOException { + + // Enable the LayoutProcessor with kerning and ligatures + LayoutProcessor.enableKernLiga(); + + float fontSize = 16.0f; + + // The OpenType fonts loaded with FontFactory.register() are + // available for glyph layout. + // Only these fonts can be used. + String fontDir = "com/lowagie/examples/fonts/"; + Font font = loadFont(fontDir + "noto/NotoSans-Regular.ttf", "sans", fontSize); + + try (Document document = new Document()) { + PdfWriter writer = PdfWriter.getInstance(document, Files.newOutputStream(Paths.get(fileName))); + writer.setInitialLeading(20.0f); + document.open(); + + document.add(new Chunk("Te", font)); + document.add(new Chunk("xt\nwith NewLine\n", font)); + + document.add(new Chunk("Test of several Chunks on one line: A", font)); + Image image = Image.getInstance("pdf-toolbox/src/test/resources/com/lowagie/examples/fonts/images/mushroom.png"); + image.scaleToFit(80f, 50f); + document.add(new Chunk(image, 0.0f, 0.0f)); + document.add(new Chunk("A̋", font)); + document.add(new Chunk("C̀\nC̄C̆C̈", font)); + + document.add(new Chunk("ab\nc", font)); + document.add(new Chunk("C̈C̕C̣C̦C̨̆", font)); + document.add(new Chunk(".\n", font)); + + document.add(new Chunk("Ṣ̄ṣ̄Ṭ̄ṭ̄Ạ̈ạ̈Ọ̈ọ̈Ụ̄Ụ̈ụ̄ụ̈", font)); + document.add(new Chunk("xyz", font)); + document.add(new Chunk("j́S̛̄s̛̄K̛", font)); + document.add(new Chunk(".\n", font)); + } + LayoutProcessor.disable(); + } +} diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java index 70a0cded5..82164caa6 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutFormDin91379.java @@ -1,6 +1,4 @@ /* - * GlyphLayoutFormDin91379 - * * This code is part of the 'OpenPDF Tutorial'. * You can find the complete tutorial at the following address: * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial @@ -30,14 +28,13 @@ public class GlyphLayoutFormDin91379 { public static String TEXT_INTRO = "Test of formatting for letters and sequences defined in:\n" - + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the electronic\n " - + "processing of names and data exchange in Europe, with CD-ROM\n" - + "See https://www.beuth.de/de/norm/din-91379/353496133\n" - + " https://github.com/String-Latin/DIN-91379-Characters-and-Sequences" + + "DIN 91379:2022-08: Characters and defined character sequences in Unicode for the\n" + + "electronic processing of names and data exchange in Europe, with CD-ROM.\n" + + "See https://github.com/String-Latin/DIN-91379-Characters-and-Sequences\n" + "and https://en.wikipedia.org/wiki/DIN_91379\n\n" - + "Fonts used: Noto Sans Regular, Noto Sans Math Regular\n" - + " see https://fonts.google.com/noto/specimen/Noto+Sans" - + " and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + + "Fonts used: Noto Sans Regular, Noto Sans Math Regular, Noto Serif Regular\n" + + "See https://fonts.google.com/noto/specimen/Noto+Sans\n" + + "and https://github.com/googlefonts/noto-fonts/tree/main/hinted/ttf\n" + "Using LayoutProcessor for glyph layout with Java built-in routines.\n\n"; public static String LATIN_CHARS_DIN_91379 = @@ -78,7 +75,7 @@ public class GlyphLayoutFormDin91379 { + "bnlopt; Non-Letters N3 (normative)\n" + "¤ ¦ ¸ ¼ ½ ¾ \n" + "bnlnot; Non-Letters N4 (normative) -omitted-\n" - + "dc; Combining diacritics (normative) ̀-omitted-\n" + + "dc; Combining diacritics (normative) -omitted-\n" + "gl; Greek Letters (extended)\n" + "Ά Έ Ή Ί Ό Ύ Ώ ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ " + "Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν " @@ -97,19 +94,18 @@ public class GlyphLayoutFormDin91379 { * @param args -- not used */ public static void main(String[] args) throws Exception { - test("GlyphLayoutFormDin91379.pdf", "com/lowagie/examples/fonts/form/PdfFormLayoutProcessor.pdf", - TEXT_INTRO + LATIN_CHARS_DIN_91379); + test("GlyphLayoutFormDin91379.pdf"); } /** * Run the test: Print the characters of DIN 91379 in a pdf form * * @param fileName Name of output file - * @param formPath Name of input pdf form - * @param text Text to show * @throws Exception in case of error */ - public static void test(String fileName, String formPath, String text) throws Exception { + public static void test(String fileName) throws Exception { + String formPath = "com/lowagie/examples/fonts/form/PdfFormLayoutProcessor.pdf"; + String text = TEXT_INTRO + LATIN_CHARS_DIN_91379; // Enable the LayoutProcessor with kerning and ligatures LayoutProcessor.enableKernLiga(); diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/RunGlyphLayoutExamples.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/RunGlyphLayoutExamples.java new file mode 100644 index 000000000..325354ef6 --- /dev/null +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/RunGlyphLayoutExamples.java @@ -0,0 +1,47 @@ +/* + * This code is part of the 'OpenPDF Tutorial'. + * You can find the complete tutorial at the following address: + * https://github.com/LibrePDF/OpenPDF/wiki/Tutorial + * + * This code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ +package com.lowagie.examples.fonts; + +import com.lowagie.text.pdf.LayoutProcessor; +import com.lowagie.text.pdf.LayoutProcessor.Version; + +/** + * Calls glyph layout examples with current and deprecated version + */ +public class RunGlyphLayoutExamples { + + /** + * Main method + * + * @param args -- not used + */ + public static void main(String[] args) throws Exception { + //Version[] versions = new Version[]{Version.ONE, Version.TWO}; // Version.ONE is deprecated! + Version[] versions = new Version[]{Version.TWO}; + + for (Version version : versions) { + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentBidi.test(String.format("GlyphLayoutDocumentBidi-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentBidiPerFont.test(String.format("GlyphLayoutDocumentBidiPerFont-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentDin91379.test(String.format("GlyphLayoutDocumentDin91379-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentKernLiga.test(String.format(" GlyphLayoutDocumentKernLiga-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentKernLigaPerFont.test( + String.format("GlyphLayoutDocumentKernLigaPerFont-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutDocumentWithImage.test(String.format("GlyphLayoutDocumentWithImage-%s.pdf", version)); + LayoutProcessor.setVersion(version); + GlyphLayoutFormDin91379.test(String.format("GlyphLayoutFormDin91379-%s.pdf", version)); + } + } +} diff --git a/pdf-toolbox/src/test/resources/com/lowagie/examples/fonts/images/mushroom.png b/pdf-toolbox/src/test/resources/com/lowagie/examples/fonts/images/mushroom.png new file mode 100644 index 0000000000000000000000000000000000000000..5f165ee81fb7a3fc880b2ac14043c46c5da99907 GIT binary patch literal 240127 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 RNLc^?002ovPDHLkV1iR%>AU~{ literal 0 HcmV?d00001 From 36a9fae26ce7f4bf0d4d60e3794155eb0389914f Mon Sep 17 00:00:00 2001 From: vk-github18 Date: Sun, 24 Mar 2024 14:38:21 +0100 Subject: [PATCH 3/4] Use operators Ts and TJ for glyph layout. Some refactorings --- .../main/java/com/lowagie/text/pdf/FontDetails.java | 4 ++-- .../java/com/lowagie/text/pdf/LayoutProcessor.java | 7 +++++-- .../java/com/lowagie/text/pdf/TextExtractTest.java | 2 +- .../examples/fonts/GlyphLayoutDocumentWithImage.java | 11 ++++++++--- 4 files changed, 16 insertions(+), 8 deletions(-) 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 74f092ca9..567210e79 100755 --- a/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/FontDetails.java @@ -315,8 +315,8 @@ byte[] convertToBytes(final int glyphCode) { if (fontType != BaseFont.FONT_TYPE_TTUNI) { throw new UnsupportedOperationException("Only supported for True Type Unicode fonts"); } - if (glyphCode == 0xFFFE || glyphCode == 0xFFFF) {// considered non-glyphs by - // AWT + if (glyphCode == 0xFFFE || glyphCode == 0xFFFF) { + // considered non-glyphs by AWT return new byte[]{}; } if (!longTag.containsKey(glyphCode)) { 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 162c4c67e..64304ea55 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java @@ -69,6 +69,7 @@ public enum Version { ONE, TWO } + private static Version version = Version.TWO; private static final int DEFAULT_FLAGS = -1; @@ -142,6 +143,7 @@ public static boolean isEnabled() { /** * Set version + * * @param version to set * @deprecated To be used *only*, if version two produces incorrect PDF - please file an issue if this occurs */ @@ -251,6 +253,7 @@ public static int getFlags() { /** * Returns the currennt version + * * @return current version */ public static Version getVersion() { @@ -450,7 +453,7 @@ private static Point2D showText2(PdfContentByte cb, BaseFont baseFont, float fon GlyphVector glyphVector = computeGlyphVector(baseFont, fontSize, text); completeCmap(cb, baseFont, text, glyphVector); - if(writeActualText) { + if (writeActualText) { PdfDictionary d = new PdfDictionary(); d.put(PdfName.ACTUALTEXT, new PdfString(text, PdfString.TEXT_UNICODE)); cb.beginMarkedContentSequence(PdfName.SPAN, d, true); @@ -484,7 +487,7 @@ private static void adjustAndShowText(PdfContentByte cb, final float fontSize, f float py = (float) p.getY(); if (Math.abs(py) >= deltaY) { - if(!ga.isEmpty()) { + if (!ga.isEmpty()) { cb.showText(ga); ga.clear(); } 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 f0bf9325f..224c15760 100644 --- a/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java +++ b/openpdf/src/test/java/com/lowagie/text/pdf/TextExtractTest.java @@ -61,6 +61,6 @@ void textCreateAndExtractTest2() throws IOException { // Ignore spaces in comparison Assertions.assertEquals("ก ข น ํ้ า ต า ญูญูิ่ ก้กิ้".replaceAll(" ", ""), - pdfTextExtractor.getTextFromPage(1).replaceAll(" ","")); + pdfTextExtractor.getTextFromPage(1).replaceAll(" ", "")); } } diff --git a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java index 11daa6c04..070b78b5b 100644 --- a/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java +++ b/pdf-toolbox/src/test/java/com/lowagie/examples/fonts/GlyphLayoutDocumentWithImage.java @@ -9,9 +9,14 @@ */ package com.lowagie.examples.fonts; -import com.lowagie.text.*; -import 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.Image; +import com.lowagie.text.pdf.BaseFont; +import com.lowagie.text.pdf.LayoutProcessor; +import com.lowagie.text.pdf.PdfWriter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; From de1bdbe86e96ba3708ed5f79252dae4ba67902b3 Mon Sep 17 00:00:00 2001 From: vk-github18 Date: Sun, 24 Mar 2024 14:50:41 +0100 Subject: [PATCH 4/4] Use operators Ts and TJ for glyph layout. Some refactorings --- .../src/main/java/com/lowagie/text/pdf/LayoutProcessor.java | 4 ++-- openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) 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 64304ea55..8c66f7c69 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/LayoutProcessor.java @@ -229,7 +229,7 @@ private static void setRunDirection(com.lowagie.text.Font font, Boolean runDirec * @param font The font for which kerning is to be turned on * @param textAttributes Map of text attributes to be set * @see - * Oracle: The Java™ Tutorials, Using Text Attributes to Style Text* + * Oracle: The Java™ Tutorials, Using Text Attributes to Style Text */ private static void setTextAttributes(com.lowagie.text.Font font, Map textAttributes) { BaseFont baseFont = font.getBaseFont(); @@ -455,7 +455,7 @@ private static Point2D showText2(PdfContentByte cb, BaseFont baseFont, float fon if (writeActualText) { PdfDictionary d = new PdfDictionary(); - d.put(PdfName.ACTUALTEXT, new PdfString(text, PdfString.TEXT_UNICODE)); + d.put(PdfName.ACTUALTEXT, new PdfString(text, PdfObject.TEXT_UNICODE)); cb.beginMarkedContentSequence(PdfName.SPAN, d, true); } if (noAdjustments(glyphVector)) { diff --git a/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java b/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java index 54944b7b1..fc491c76f 100644 --- a/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java +++ b/openpdf/src/main/java/com/lowagie/text/pdf/PdfGlyphArray.java @@ -48,9 +48,6 @@ public class PdfGlyphArray { private final List list = new LinkedList<>(); - public PdfGlyphArray() { - } - public void add(float displacement) { list.add(displacement); }