diff --git a/fonts.js b/fonts.js index c275227a9..093b9ec31 100755 --- a/fonts.js +++ b/fonts.js @@ -69,7 +69,11 @@ var Fonts = (function Fonts() { var sizes = current.sizes; if (!(measureCache = sizes[size])) measureCache = sizes[size] = Object.create(null); + } else { + charsCache = null; + measureCache = null } + ctx.font = (size * kScalePrecision) + 'px "' + fontName + '"'; }, charsToUnicode: function fonts_chars2Unicode(chars) { diff --git a/pdf.js b/pdf.js index c30c89614..85490baee 100644 --- a/pdf.js +++ b/pdf.js @@ -3930,10 +3930,12 @@ var CanvasGraphics = (function() { text = Fonts.charsToUnicode(text); this.ctx.translate(this.current.x, -1 * this.current.y); - var font = Fonts.lookupById(this.current.font.id); - if (font && font.properties.textMatrix) - this.ctx.transform.apply(this.ctx, font.properties.textMatrix); - + var font = this.current.font; + if (font) { + var fontInfo = Fonts.lookupById(font.id); + if (fontInfo && fontInfo.properties.textMatrix) + this.ctx.transform.apply(this.ctx, fontInfo.properties.textMatrix); + } this.ctx.fillText(text, 0, 0); this.current.x += Fonts.measureText(text); }