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/12/16 20:36:34 UTC

svn commit: r1646054 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font: PDFont.java PDSimpleFont.java

Author: jahewson
Date: Tue Dec 16 19:36:34 2014
New Revision: 1646054

URL: http://svn.apache.org/r1646054
Log:
PDFBOX-2560: Symbolic and Nonsymbolic flags are for simple fonts only

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java?rev=1646054&r1=1646053&r2=1646054&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDFont.java Tue Dec 16 19:36:34 2014
@@ -59,7 +59,6 @@ public abstract class PDFont implements
     private List<Integer> widths;
     private float avgFontWidth;
     private float fontWidthOfSpace = -1f;
-    private Boolean isSymbolic;
 
     /**
      * Constructor for embedding.
@@ -420,51 +419,6 @@ public abstract class PDFont implements
         return dict.getNameAsString(COSName.SUBTYPE);
     }
 
-    /**
-     * Returns true the font is a symbolic (that is, it does not use the Adobe Standard Roman
-     * character set).
-     */
-    public final boolean isSymbolic()
-    {
-        if (isSymbolic == null)
-        {
-            Boolean result = isFontSymbolic();
-            if (result != null)
-            {
-                isSymbolic = result;
-            }
-            else
-            {
-                // unless we can prove that the font is symbolic, we assume that it is not
-                isSymbolic = true;
-            }
-        }
-        return isSymbolic;
-    }
-
-    /**
-     * Internal implementation of isSymbolic, allowing for the fact that the result may be
-     * indeterminate.
-     */
-    protected Boolean isFontSymbolic()
-    {
-        return getSymbolicFlag();
-    }
-
-    /**
-     * Returns the value of the symbolic flag,  allowing for the fact that the result may be
-     * indeterminate.
-     */
-    protected final Boolean getSymbolicFlag()
-    {
-        if (getFontDescriptor() != null)
-        {
-            // fixme: isSymbolic() defaults to false if the flag is missing so we can't trust this
-            return getFontDescriptor().isSymbolic();
-        }
-        return null;
-    }
-
     @Override
     public abstract String getName();
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java?rev=1646054&r1=1646053&r2=1646054&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java Tue Dec 16 19:36:34 2014
@@ -43,6 +43,7 @@ public abstract class PDSimpleFont exten
 
     protected Encoding encoding;
     protected GlyphList glyphList;
+    private Boolean isSymbolic;
     private final Set<Integer> noUnicode = new HashSet<Integer>(); // for logging
 
     /**
@@ -183,7 +184,32 @@ public abstract class PDSimpleFont exten
         return glyphList;
     }
 
-    @Override
+    /**
+     * Returns true the font is a symbolic (that is, it does not use the Adobe Standard Roman
+     * character set).
+     */
+    public final boolean isSymbolic()
+    {
+        if (isSymbolic == null)
+        {
+            Boolean result = isFontSymbolic();
+            if (result != null)
+            {
+                isSymbolic = result;
+            }
+            else
+            {
+                // unless we can prove that the font is symbolic, we assume that it is not
+                isSymbolic = true;
+            }
+        }
+        return isSymbolic;
+    }
+
+    /**
+     * Internal implementation of isSymbolic, allowing for the fact that the result may be
+     * indeterminate.
+     */
     protected Boolean isFontSymbolic()
     {
         Boolean result = getSymbolicFlag();
@@ -241,6 +267,20 @@ public abstract class PDSimpleFont exten
         }
     }
 
+    /**
+     * Returns the value of the symbolic flag,  allowing for the fact that the result may be
+     * indeterminate.
+     */
+    protected final Boolean getSymbolicFlag()
+    {
+        if (getFontDescriptor() != null)
+        {
+            // fixme: isSymbolic() defaults to false if the flag is missing so we can't trust this
+            return getFontDescriptor().isSymbolic();
+        }
+        return null;
+    }
+
     @Override
     public String toUnicode(int code) throws IOException
     {