if (this.detailParsed) {
return;
}
parseBasics();
final PsServer psServer = this.getReader().getFontServer().getPsServer();
PsInterpreter interpreter = null;
try {
final PsSystemDict systemDict = psServer.getReadOnlySystemDict();
interpreter = psServer.makeInterpreter(this, systemDict);
} catch (final PsException e) {
getLogger().error(e.getMessage());
}
startNewSegment();
try {
interpreter.process();
} catch (final PsInterpreterException e1) {
this.getLogger().error(e1.getMessage()
+ "\n " + this.getReader().getDescription().toString());
}
final PsFontDirectory fontDirectory = interpreter.getFontDirectory();
if (fontDirectory != null) {
final List<? extends Type1FontDictionary> fonts = fontDirectory.getFonts();
// There should only be one font in the font directory
if (fonts.size() > 0) {
this.fontDictionary = fonts.get(0);