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
{