From 645c9acb62313cab8e45ccdf4dc68b035ffffdd8 Mon Sep 17 00:00:00 2001 From: sbarman Date: Thu, 21 Jul 2011 09:20:19 -0700 Subject: [PATCH] fix small fonts --- pdf.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pdf.js b/pdf.js index 1f02d7d6d..5c29edd0c 100644 --- a/pdf.js +++ b/pdf.js @@ -3879,6 +3879,9 @@ function ScratchCanvas(width, height) { } var CanvasGraphics = (function() { + var kScalePrecision = 50; + var kRasterizerMin = 14; + function constructor(canvasCtx, imageCanvas) { this.ctx = canvasCtx; this.current = new CanvasExtraState(); @@ -4094,8 +4097,10 @@ var CanvasGraphics = (function() { if (this.ctx.$setFont) { this.ctx.$setFont(fontName, size); } else { - this.ctx.font = size + 'px "' + fontName + '"'; FontMeasure.setActive(fontObj, size); + + size = (size <= kRasterizerMin) ? size * kScalePrecision : size; + this.ctx.font = size + 'px"' + fontName + '"'; } }, setTextRenderingMode: function(mode) { @@ -4143,6 +4148,8 @@ var CanvasGraphics = (function() { ctx.translate(current.x, -1 * current.y); var font = this.current.font; if (font) { + if (this.current.fontSize < kRasterizerMin) + ctx.transform(1 / kScalePrecision, 0, 0, 1 / kScalePrecision, 0, 0); ctx.transform.apply(ctx, font.textMatrix); text = font.charsToUnicode(text); }