From b6077c739810dae8265486892e49c8d66cc62c77 Mon Sep 17 00:00:00 2001 From: benbro Date: Sat, 12 May 2012 03:40:40 +0300 Subject: [PATCH] IE9 breaks when adding to many style elements to the page. --- src/fonts.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/fonts.js b/src/fonts.js index 22037e724..d22a54352 100644 --- a/src/fonts.js +++ b/src/fonts.js @@ -20,6 +20,9 @@ var kPDFGlyphSpaceUnits = 1000; // Until hinting is fully supported this constant can be used var kHintingEnabled = false; +// A reference to a reusable style sheet. +var styleSheet; + var FontFlags = { FixedPitch: 1, Serif: 2, @@ -2374,11 +2377,14 @@ var Font = (function FontClosure() { window.btoa(data) + ');'); var rule = "@font-face { font-family:'" + fontName + "';src:" + url + '}'; - var styleElement = document.createElement('style'); - document.documentElement.getElementsByTagName('head')[0].appendChild( - styleElement); - var styleSheet = styleElement.sheet; + if(!styleSheet) { + var styleElement = document.createElement('style'); + document.documentElement.getElementsByTagName('head')[0].appendChild( + styleElement); + + styleSheet = styleElement.sheet; + } styleSheet.insertRule(rule, styleSheet.cssRules.length); if (PDFJS.pdfBug && FontInspector.enabled)