Skip to content

Commit ce91f53

Browse files
committed
PDFBOX-2941: refactor / improve encoding name
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1928082 13f79535-47bb-0310-9956-ffa450edef68
1 parent 14f6f47 commit ce91f53

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

debugger/src/main/java/org/apache/pdfbox/debugger/fontencodingpane/SimpleFont.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,13 @@ private Object[][] getGlyphs(PDSimpleFont font) throws IOException
102102
return glyphs;
103103
}
104104

105-
private String getEncodingName(PDSimpleFont font)
105+
static String getEncodingName(PDSimpleFont font)
106106
{
107-
return font.getEncoding().getClass().getSimpleName() + " / " + font.getEncoding().getEncodingName();
107+
if (font.getEncoding() == null)
108+
{
109+
return "(null)";
110+
}
111+
return font.getClass().getSimpleName() + " / " + font.getEncoding().getEncodingName();
108112
}
109113

110114
@Override

debugger/src/main/java/org/apache/pdfbox/debugger/fontencodingpane/Type0Font.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,24 @@ class Type0Font extends FontPane
5252
Type0Font(PDCIDFont descendantFont, PDType0Font parentFont) throws IOException
5353
{
5454
Object[][] cidtogid = readCIDToGIDMap(descendantFont, parentFont);
55+
Map<String, String> attributes = new LinkedHashMap<>();
56+
attributes.put("Font", descendantFont.getName());
5557
if (cidtogid != null)
5658
{
57-
Map<String, String> attributes = new LinkedHashMap<>();
58-
attributes.put("Font", descendantFont.getName());
5959
attributes.put("CIDs", Integer.toString(cidtogid.length));
6060
attributes.put("Embedded", Boolean.toString(descendantFont.isEmbedded()));
61-
61+
attributes.put("Encoding", getEncodingName(parentFont));
6262
view = new FontEncodingView(cidtogid, attributes,
6363
new String[]{"CID", "GID", "Unicode Character", "Glyph"}, getYBounds(cidtogid, 3));
6464
}
6565
else
6666
{
6767
Object[][] tab = readMap(descendantFont, parentFont);
68-
Map<String, String> attributes = new LinkedHashMap<>();
69-
attributes.put("Font", descendantFont.getName());
7068
attributes.put("CIDs", Integer.toString(tab.length));
7169
attributes.put("Glyphs", Integer.toString(totalAvailableGlyph));
7270
attributes.put("Standard 14", Boolean.toString(parentFont.isStandard14()));
7371
attributes.put("Embedded", Boolean.toString(descendantFont.isEmbedded()));
74-
72+
attributes.put("Encoding", getEncodingName(parentFont));
7573
view = new FontEncodingView(tab, attributes,
7674
new String[]{"Code", "CID", "GID", "Unicode Character", "Glyph"}, getYBounds(tab, 4));
7775
}
@@ -154,4 +152,10 @@ public JPanel getPanel()
154152
panel.setPreferredSize(new Dimension(300, 500));
155153
return panel;
156154
}
155+
156+
private String getEncodingName(PDFont font)
157+
{
158+
String encodingName = font.getCOSObject().getNameAsString(COSName.ENCODING);
159+
return encodingName == null ? font.getCOSObject().getClass().getSimpleName() : encodingName;
160+
}
157161
}

debugger/src/main/java/org/apache/pdfbox/debugger/fontencodingpane/Type3Font.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import javax.swing.JPanel;
2626

2727
import org.apache.fontbox.util.BoundingBox;
28+
import static org.apache.pdfbox.debugger.fontencodingpane.SimpleFont.getEncodingName;
2829
import org.apache.pdfbox.pdmodel.PDDocument;
2930
import org.apache.pdfbox.pdmodel.PDPage;
3031
import org.apache.pdfbox.pdmodel.PDPageContentStream;
@@ -195,11 +196,6 @@ private BufferedImage renderType3Glyph(PDType3Font font, int index) throws IOExc
195196
}
196197
}
197198

198-
private String getEncodingName(PDType3Font font)
199-
{
200-
return font.getEncoding().getClass().getSimpleName() + " / " + font.getEncoding().getEncodingName();
201-
}
202-
203199
@Override
204200
public JPanel getPanel()
205201
{

0 commit comments

Comments
 (0)