You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/08/31 21:27:34 UTC

svn commit: r1621617 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font: CIDType0Glyph2D.java TTFGlyph2D.java

Author: jahewson
Date: Sun Aug 31 19:27:34 2014
New Revision: 1621617

URL: http://svn.apache.org/r1621617
Log:
PDFBOX-2304: Only GID 0 is never drawn, not CID 0

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/CIDType0Glyph2D.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/CIDType0Glyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/CIDType0Glyph2D.java?rev=1621617&r1=1621616&r2=1621617&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/CIDType0Glyph2D.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/CIDType0Glyph2D.java Sun Aug 31 19:27:34 2014
@@ -32,7 +32,7 @@ import org.apache.pdfbox.pdmodel.font.PD
  */
 public class CIDType0Glyph2D implements Glyph2D
 {
-    private static final Log LOG = LogFactory.getLog(Type1Glyph2D.class);
+    private static final Log LOG = LogFactory.getLog(CIDType0Glyph2D.class);
 
     private final HashMap<Integer, GeneralPath> cache = new HashMap<Integer, GeneralPath>();
     private final PDCIDFontType0 font;
@@ -58,15 +58,6 @@ public class CIDType0Glyph2D implements 
             return cache.get(code);
         }
 
-        // don't draw CID 0
-        if (cid == 0)
-        {
-            LOG.warn("No glyph for " + code + " (CID 0000) in font " + fontName);
-            GeneralPath path = new GeneralPath();
-            cache.put(code, path);
-            return path;
-        }
-
         try
         {
             Type2CharString charString = font.getType2CharString(cid);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java?rev=1621617&r1=1621616&r2=1621617&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/font/TTFGlyph2D.java Sun Aug 31 19:27:34 2014
@@ -120,29 +120,22 @@ public class TTFGlyph2D implements Glyph
         {
             glyphPath = glyphs.get(gid);
         }
-        else if (gid == 0)
-        {
-            if (isCIDFont)
-            {
-                int cid = ((PDType0Font) font).codeToCID(code);
-                String cidHex = String.format("%04x", cid);
-                LOG.warn("No glyph for " + code + " (CID " + cidHex + ") in font " + font.getName());
-            }
-            else
-            {
-                LOG.warn("No glyph for " + code + " in font " + font.getName());
-            }
-
-            // GID 0 is not drawn, see PDFBOX-1735
-            glyphPath = new GeneralPath();
-            glyphs.put(gid, glyphPath);
-        }
         else
         {
             GlyphData glyph = ttf.getGlyph().getGlyph(gid);
-            if (gid >= ttf.getMaximumProfile().getNumGlyphs())
+            if (gid == 0 || gid >= ttf.getMaximumProfile().getNumGlyphs())
             {
-                LOG.warn(font.getName() + ": Glyph not found: " + gid);
+                if (isCIDFont)
+                {
+                    int cid = ((PDType0Font) font).codeToCID(code);
+                    String cidHex = String.format("%04x", cid);
+                    LOG.warn("No glyph for " + code + " (CID " + cidHex + ") in font " +
+                             font.getName());
+                }
+                else
+                {
+                    LOG.warn("No glyph for " + code + " in font " + font.getName());
+                }
                 glyphPath = new GeneralPath();
                 glyphs.put(gid, glyphPath);
             }