From 4ca918a3b809ab886c2c0f02d77eb9747242dd0e Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Thu, 13 Oct 2016 09:30:04 +0100 Subject: [PATCH] render canvas on-screen to avoid bad fonts in MSIE --- .../public/coffee/ide/pdfng/directives/pdfRenderer.coffee | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee b/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee index 7e01b58844..ddae8caf02 100644 --- a/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee +++ b/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee @@ -245,6 +245,12 @@ define [ return canvas = $('') + # In Windows+IE we must have the canvas in the DOM during + # rendering to see the fonts defined in the DOM. If we try to + # render 'offscreen' then all the text will be sans-serif. + # Previously we rendered offscreen and added in the canvas + # when rendering was complete. + element.canvas.replaceWith(canvas) viewport = page.getViewport (scale) @@ -298,7 +304,6 @@ define [ result.then () -> # page render success - element.canvas.replaceWith(canvas) canvas.removeClass('pdfng-rendering') page.getTextContent().then (textContent) -> textLayer.setTextContent textContent