fixed font loading bug

This commit is contained in:
sbarman 2011-07-08 08:14:34 -07:00
parent 619a521678
commit 4404871212
2 changed files with 7 additions and 6 deletions

View File

@ -61,16 +61,16 @@ var Fonts = (function Fonts() {
lookupById: function fonts_lookupById(id) {
return fonts[id];
},
setActive: function fonts_setActive(font, size) {
setActive: function fonts_setActive(fontName, fontObj, size) {
// |current| can be null is fontName is a built-in font
// (e.g. "sans-serif")
if ((current = fonts[font.id])) {
if (fontObj && (current = fonts[fontObj.id])) {
charsCache = current.charsCache;
var sizes = current.sizes;
if (!(measureCache = sizes[size]))
measureCache = sizes[size] = Object.create(null);
}
ctx.font = (size * kScalePrecision) + 'px "' + font.loadedName + '"';
ctx.font = (size * kScalePrecision) + 'px "' + fontName + '"';
},
charsToUnicode: function fonts_chars2Unicode(chars) {
if (!charsCache)
@ -161,6 +161,7 @@ var FontLoader = {
}
}
this.listeningForFontLoad = false;
if (!isWorker && rules.length) {
FontLoader.prepareFontLoadEvent(rules, names, ids);
}
@ -213,7 +214,7 @@ var FontLoader = {
div.innerHTML = html;
document.body.appendChild(div);
if (!this.listeneningForFontLoad) {
if (!this.listeningForFontLoad) {
window.addEventListener(
'message',
function(e) {
@ -227,7 +228,7 @@ var FontLoader = {
document.documentElement.dispatchEvent(evt);
},
false);
this.listeneningForFontLoad = true;
this.listeningForFontLoad = true;
}
// XXX we should have a time-out here too, and maybe fire

2
pdf.js
View File

@ -3885,7 +3885,7 @@ var CanvasGraphics = (function() {
this.ctx.$setFont(fontName, size);
} else {
this.ctx.font = size + 'px "' + fontName + '"';
Fonts.setActive(fontObj, size);
Fonts.setActive(fontName, fontObj, size);
}
},
setTextRenderingMode: function(mode) {