BaseFont and misc fonts fixes

This commit is contained in:
notmasteryet 2011-08-14 08:40:22 -05:00
parent b49a0f6b63
commit aad77fcc55
4 changed files with 30 additions and 8 deletions

View File

@ -7,7 +7,7 @@ var isWorker = (typeof window == 'undefined');
/**
* Maximum file size of the font.
*/
var kMaxFontFileSize = 200000;
var kMaxFontFileSize = 300000;
/**
* Maximum time to wait for a font to be loaded by font-face rules.
@ -83,7 +83,7 @@ var FontMeasure = (function FontMeasure() {
var bold = font.bold ? 'bold' : 'normal';
var italic = font.italic ? 'italic' : 'normal';
size *= kScalePrecision;
var rule = bold + ' ' + italic + ' ' + size + 'px "' + name + '"';
var rule = italic + ' ' + bold + ' ' + size + 'px "' + name + '"';
ctx.font = rule;
},
measureText: function fonts_measureText(text) {
@ -395,17 +395,23 @@ var Font = (function Font() {
// If the font is to be ignored, register it like an already loaded font
// to avoid the cost of waiting for it be be loaded by the platform.
if (properties.ignore) {
this.loadedName = 'Arial';
this.loadedName = 'sans-serif';
this.loading = false;
return;
}
if (!file) {
var fontName = stdFontMap[name];
// The file data is not specified. Trying to mingle the font name
// to be used with the canvas.font.
var fontName = stdFontMap[name] || name.replace('_', '-');
this.bold = (fontName.indexOf('Bold') != -1);
this.italic = (fontName.indexOf('Oblique') != -1);
this.italic = (fontName.indexOf('Oblique') != -1) ||
(fontName.indexOf('Italic') != -1);
this.loadedName = fontName.split('-')[0];
this.loading = false;
this.charsToUnicode = function(s) {
return s;
};
return;
}

15
pdf.js
View File

@ -3758,8 +3758,17 @@ var PartialEvaluator = (function() {
fd = fontDict.get('FontDescriptor');
}
if (!fd)
return null;
if (!fd) {
var baseFontName = fontDict.get('BaseFont');
if (!IsName(baseFontName))
return null;
// Using base font name as a font name.
return {
name: baseFontName.name.replace(/[\+,\-]/g, '_'),
fontDict: fontDict,
properties: {}
};
}
var descriptor = xref.fetch(fd);
@ -4298,7 +4307,7 @@ var CanvasGraphics = (function() {
var bold = fontObj.bold ? 'bold' : 'normal';
var italic = fontObj.italic ? 'italic' : 'normal';
var rule = bold + ' ' + italic + ' ' + size + 'px "' + name + '"';
var rule = italic + ' ' + bold + ' ' + size + 'px "' + name + '"';
this.ctx.font = rule;
}
},

View File

@ -0,0 +1 @@
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

View File

@ -80,5 +80,11 @@
"file": "pdfs/rotation.pdf",
"rounds": 1,
"type": "load"
},
{ "id": "ecma262-pdf",
"file": "pdfs/ecma262.pdf",
"link": true,
"rounds": 1,
"type": "load"
}
]