private List<FontProgram> getFontFile() { if (!getSubtype().equals(FontFactory.TYPE_3) && (this.pdFontLike.isEmbedded())) { if (getSubtype().equals(FontFactory.TRUE_TYPE)) { PBoxTrueTypeFontProgram trueTypeFontProgram = new PBoxTrueTypeFontProgram( ((PDTrueTypeFont) this.pdFontLike).getTrueTypeFont(), getisSymbolic()); return PBoxPDFont.getFontProgramList(trueTypeFontProgram); } PDFontDescriptor fontDescriptor = pdFontLike.getFontDescriptor(); PDStream fontFile; if (getSubtype().equals(FontFactory.TYPE_1)) { if (this.pdFontLike instanceof PDType1CFont) { fontFile = fontDescriptor.getFontFile3(); } else { fontFile = fontDescriptor.getFontFile(); } } else if (getSubtype().equals(FontFactory.CID_FONT_TYPE_2)) { fontFile = fontDescriptor.getFontFile2(); } else { fontFile = fontDescriptor.getFontFile3(); } if (fontFile != null) { return PBoxPDFont.getFontProgramList(new PBoxFontProgram(fontFile)); } } return Collections.emptyList(); }