You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ss...@apache.org on 2021/06/28 08:11:56 UTC

svn commit: r1891101 - in /xmlgraphics/fop-pdf-images/trunk: src/java/org/apache/fop/render/pdf/pdfbox/ test/java/org/apache/fop/render/pdf/ test/resources/

Author: ssteiner
Date: Mon Jun 28 08:11:55 2021
New Revision: 1891101

URL: http://svn.apache.org/viewvc?rev=1891101&view=rev
Log:
FOP-3020: Add space to standard position for font merge

Added:
    xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset6.pdf   (with props)
    xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset7.pdf   (with props)
Modified:
    xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java
    xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java
    xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java

Modified: xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java?rev=1891101&r1=1891100&r2=1891101&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFSingleByteFont.java Mon Jun 28 08:11:55 2021
@@ -188,7 +188,7 @@ public class FOPPDFSingleByteFont extend
                 MergeTTFonts.Cmap tempCmap = getNewCmap(c.getPlatformId(), c.getPlatformEncodingId());
                 for (int i = 0; i < 256 * 256; i++) {
                     int gid = c.getGlyphId(i);
-                    if (gid != 0) {
+                    if (gid != 0 && !tempCmap.glyphIdToCharacterCode.containsKey(i)) {
                         tempCmap.glyphIdToCharacterCode.put(i, gid);
                     }
                 }
@@ -328,12 +328,16 @@ public class FOPPDFSingleByteFont extend
                 }
             }
             String mappedChar = getChar(cmap, i);
-            if (mappedChar != null && !charMapGlobal.containsKey(mappedChar)) {
-                charMapGlobal.put(mappedChar, glyphIndexPos);
-                if (!addedWidth && w < font.getWidths().size()) {
-                    newWidth.put(newWidth.size() + getFirstChar(), neww);
+            if (mappedChar != null) {
+                if (!charMapGlobal.containsKey(mappedChar)) {
+                    charMapGlobal.put(mappedChar, glyphIndexPos);
+                    if (!addedWidth && w < font.getWidths().size()) {
+                        newWidth.put(newWidth.size() + getFirstChar(), neww);
+                    }
+                    skipGlyphIndex++;
+                } else if (glyphIndexPos < charMapGlobal.get(mappedChar)) {
+                    charMapGlobal.put(mappedChar, glyphIndexPos);
                 }
-                skipGlyphIndex++;
             }
             w++;
         }

Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java?rev=1891101&r1=1891100&r2=1891101&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/FOPPDFSingleMultiByteFontTestCase.java Mon Jun 28 08:11:55 2021
@@ -215,5 +215,5 @@ public class FOPPDFSingleMultiByteFontTe
         public String addFont(COSDictionary fontData) {
             return null;
         }
-    };
+    }
 }

Modified: xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java?rev=1891101&r1=1891100&r2=1891101&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java Mon Jun 28 08:11:55 2021
@@ -104,6 +104,8 @@ public class PDFBoxAdapterTestCase {
     protected static final String TTSubset2 = "test/resources/ttsubset2.pdf";
     private static final String TTSubset3 = "test/resources/ttsubset3.pdf";
     private static final String TTSubset5 = "test/resources/ttsubset5.pdf";
+    private static final String TTSubset6 = "test/resources/ttsubset6.pdf";
+    private static final String TTSubset7 = "test/resources/ttsubset7.pdf";
     protected static final String CFFCID1 = "test/resources/cffcid1.pdf";
     private static final String CFFCID2 = "test/resources/cffcid2.pdf";
     protected static final String Type1Subset1 = "test/resources/t1subset.pdf";
@@ -721,4 +723,12 @@ public class PDFBoxAdapterTestCase {
         String msg = writeText(fi, TTSubset3);
         Assert.assertTrue(msg, msg.contains("/ArialMT_TrueTypecidcmap1"));
     }
+
+    @Test
+    public void testMapChar() throws Exception {
+        FontInfo fi = new FontInfo();
+        writeText(fi, TTSubset6);
+        String msg = writeText(fi, TTSubset7);
+        Assert.assertTrue(msg, msg.contains("( )Tj"));
+    }
 }

Added: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset6.pdf
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset6.pdf?rev=1891101&view=auto
==============================================================================
Binary file - no diff available.

Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset6.pdf
------------------------------------------------------------------------------
    svn:executable = *

Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset6.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset7.pdf
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset7.pdf?rev=1891101&view=auto
==============================================================================
Binary file - no diff available.

Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset7.pdf
------------------------------------------------------------------------------
    svn:executable = *

Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/ttsubset7.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org