diff --git a/src/core/evaluator.js b/src/core/evaluator.js index 34147e921..182094065 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -935,11 +935,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { // Falling back to a default font to avoid completely broken rendering, // but note that there're no guarantees that things will look "correct". - fontRef = new Dict(); - fontRef.set("BaseFont", Name.get("PDFJS-FallbackFont")); - fontRef.set("Type", Name.get("FallbackType")); - fontRef.set("Subtype", Name.get("FallbackType")); - fontRef.set("Encoding", Name.get("WinAnsiEncoding")); + fontRef = PartialEvaluator.getFallbackFontDict(); } if (this.fontCache.has(fontRef)) { @@ -3134,6 +3130,21 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { } }; + // TODO: Change this to a `static` getter, using shadowing, once + // `PartialEvaluator` is converted to a proper class. + PartialEvaluator.getFallbackFontDict = function() { + if (this._fallbackFontDict) { + return this._fallbackFontDict; + } + const dict = new Dict(); + dict.set("BaseFont", Name.get("PDFJS-FallbackFont")); + dict.set("Type", Name.get("FallbackType")); + dict.set("Subtype", Name.get("FallbackType")); + dict.set("Encoding", Name.get("WinAnsiEncoding")); + + return (this._fallbackFontDict = dict); + }; + return PartialEvaluator; })();