You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/05/07 15:55:42 UTC
svn commit: r1877478 -
/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
Author: tilman
Date: Thu May 7 15:55:41 2020
New Revision: 1877478
URL: http://svn.apache.org/viewvc?rev=1877478&view=rev
Log:
PDFBOX-4071: remove super(), simplify code, rename variable to avoid having same name as a field, DRY refactoring
Modified:
pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java?rev=1877478&r1=1877477&r2=1877478&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDSimpleFont.java Thu May 7 15:55:41 2020
@@ -53,7 +53,6 @@ public abstract class PDSimpleFont exten
*/
PDSimpleFont()
{
- super();
}
/**
@@ -62,16 +61,7 @@ public abstract class PDSimpleFont exten
PDSimpleFont(String baseFont)
{
super(baseFont);
-
- // assign the glyph list based on the font
- if ("ZapfDingbats".equals(baseFont))
- {
- glyphList = GlyphList.getZapfDingbats();
- }
- else
- {
- glyphList = GlyphList.getAdobeGlyphList();
- }
+ assignGlyphList(baseFont);
}
/**
@@ -92,61 +82,47 @@ public abstract class PDSimpleFont exten
*/
protected void readEncoding() throws IOException
{
- COSBase encoding = dict.getDictionaryObject(COSName.ENCODING);
- if (encoding != null)
+ COSBase encodingBase = dict.getDictionaryObject(COSName.ENCODING);
+ if (encodingBase instanceof COSName)
{
- if (encoding instanceof COSName)
+ COSName encodingName = (COSName) encodingBase;
+ this.encoding = Encoding.getInstance(encodingName);
+ if (this.encoding == null)
{
- COSName encodingName = (COSName)encoding;
- this.encoding = Encoding.getInstance(encodingName);
- if (this.encoding == null)
- {
- LOG.warn("Unknown encoding: " + encodingName.getName());
- this.encoding = readEncodingFromFont(); // fallback
- }
+ LOG.warn("Unknown encoding: " + encodingName.getName());
+ this.encoding = readEncodingFromFont(); // fallback
}
- else if (encoding instanceof COSDictionary)
+ }
+ else if (encodingBase instanceof COSDictionary)
+ {
+ COSDictionary encodingDict = (COSDictionary) encodingBase;
+ Encoding builtIn = null;
+ Boolean symbolic = getSymbolicFlag();
+
+ COSName baseEncoding = encodingDict.getCOSName(COSName.BASE_ENCODING);
+
+ boolean hasValidBaseEncoding = baseEncoding != null &&
+ Encoding.getInstance(baseEncoding) != null;
+
+ if (!hasValidBaseEncoding && Boolean.TRUE.equals(symbolic))
{
- COSDictionary encodingDict = (COSDictionary)encoding;
- Encoding builtIn = null;
- Boolean symbolic = getSymbolicFlag();
- boolean isFlaggedAsSymbolic = symbolic != null && symbolic;
-
- COSName baseEncoding = encodingDict.getCOSName(COSName.BASE_ENCODING);
-
- boolean hasValidBaseEncoding = baseEncoding != null &&
- Encoding.getInstance(baseEncoding) != null;
-
- if (!hasValidBaseEncoding && isFlaggedAsSymbolic)
- {
- builtIn = readEncodingFromFont();
- }
+ builtIn = readEncodingFromFont();
+ }
- if (symbolic == null)
- {
- symbolic = false;
- }
- this.encoding = new DictionaryEncoding(encodingDict, !symbolic, builtIn);
+ if (symbolic == null)
+ {
+ symbolic = false;
}
+ this.encoding = new DictionaryEncoding(encodingDict, !symbolic, builtIn);
}
- else
+ else if (encodingBase == null)
{
this.encoding = readEncodingFromFont();
}
// normalise the standard 14 name, e.g "Symbol,Italic" -> "Symbol"
String standard14Name = Standard14Fonts.getMappedFontName(getName());
-
- // assign the glyph list based on the font
- if ("ZapfDingbats".equals(standard14Name))
- {
- glyphList = GlyphList.getZapfDingbats();
- }
- else
- {
- // StandardEncoding and Symbol are in the AGL
- glyphList = GlyphList.getAdobeGlyphList();
- }
+ assignGlyphList(standard14Name);
}
/**
@@ -437,4 +413,17 @@ public abstract class PDSimpleFont exten
}
return false;
}
+
+ private void assignGlyphList(String baseFont)
+ {
+ // assign the glyph list based on the font
+ if ("ZapfDingbats".equals(baseFont))
+ {
+ glyphList = GlyphList.getZapfDingbats();
+ }
+ else
+ {
+ glyphList = GlyphList.getAdobeGlyphList();
+ }
+ }
}