document.documentElement.removeEventListener(
'pdfjsFontLoad', checkFontsLoaded, false);
- callback();
+ callback(objs);
return true;
}
var constructor = function font_constructor(name, file, properties) {
this.name = name;
this.encoding = properties.encoding;
+ this.glyphs = properties.glyphs;
+ this.loadedName = properties.loadedName;
this.sizes = [];
var names = name.split('+');
// name ArialBlack for example will be replaced by Helvetica.
this.black = (name.search(/Black/g) != -1);
- this.loadedName = fontName.split('-')[0];
this.loading = false;
return;
}
this.type = properties.type;
this.textMatrix = properties.textMatrix;
this.composite = properties.composite;
- this.loadedName = properties.loadedName;
// TODO: Remove this once we can be sure nothing got broken to du changes
// in this commit.
if (!this.loadedName) {
throw "There has to be a `loadedName`";
}
-
+
this.loading = true;
};
},
ensureFonts: function(fonts, callback) {
- var fontObjs = FontLoader.bind(
+ FontLoader.bind(
fonts,
- function() {
+ function(fontObjs) {
// Rebuild the FontsMap. This is emulating the behavior of the main
// thread.
if (fontObjs) {
for (var i = 0; i < fonts.length; i++) {
var font = fonts[i];
- var fontFileDict = new Dict();
- fontFileDict.map = font.file.dict.map;
+ // Some fonts don't have a file, e.g. the build in ones like Arial.
+ if (font.file) {
+ var fontFileDict = new Dict();
+ fontFileDict.map = font.file.dict.map;
- var fontFile = new Stream(font.file.bytes, font.file.start,
- font.file.end - font.file.start, fontFileDict);
+ var fontFile = new Stream(font.file.bytes, font.file.start,
+ font.file.end - font.file.start, fontFileDict);
- // Check if this is a FlateStream. Otherwise just use the created
- // Stream one. This makes complex_ttf_font.pdf work.
- var cmf = font.file.bytes[0];
- if ((cmf & 0x0f) == 0x08) {
- font.file = new FlateStream(fontFile);
- } else {
- font.file = fontFile;
+ // Check if this is a FlateStream. Otherwise just use the created
+ // Stream one. This makes complex_ttf_font.pdf work.
+ var cmf = font.file.bytes[0];
+ if ((cmf & 0x0f) == 0x08) {
+ font.file = new FlateStream(fontFile);
+ } else {
+ font.file = fontFile;
+ }
}
}