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-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org