Merge pull request #221 from andreasgal/staging
avoid font lookup by id in showText
This commit is contained in:
commit
babcf86e52
1
fonts.js
1
fonts.js
@ -413,6 +413,7 @@ function getUnicodeRangeFor(value) {
|
|||||||
var Font = (function() {
|
var Font = (function() {
|
||||||
var constructor = function font_constructor(name, file, properties) {
|
var constructor = function font_constructor(name, file, properties) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
this.textMatrix = properties.textMatrix || IDENTITY_MATRIX;
|
||||||
this.encoding = properties.encoding;
|
this.encoding = properties.encoding;
|
||||||
|
|
||||||
// If the font is to be ignored, register it like an already loaded font
|
// If the font is to be ignored, register it like an already loaded font
|
||||||
|
24
pdf.js
24
pdf.js
@ -3925,24 +3925,24 @@ var CanvasGraphics = (function() {
|
|||||||
showText: function(text) {
|
showText: function(text) {
|
||||||
// TODO: apply charSpacing, wordSpacing, textHScale
|
// TODO: apply charSpacing, wordSpacing, textHScale
|
||||||
|
|
||||||
this.ctx.save();
|
var ctx = this.ctx;
|
||||||
this.ctx.transform.apply(this.ctx, this.current.textMatrix);
|
var current = this.current;
|
||||||
this.ctx.scale(1, -1);
|
|
||||||
|
ctx.save();
|
||||||
|
ctx.transform.apply(ctx, current.textMatrix);
|
||||||
|
ctx.scale(1, -1);
|
||||||
|
|
||||||
if (this.ctx.$showText) {
|
if (this.ctx.$showText) {
|
||||||
this.ctx.$showText(this.current.y, Fonts.charsToUnicode(text));
|
ctx.$showText(current.y, Fonts.charsToUnicode(text));
|
||||||
} else {
|
} else {
|
||||||
text = Fonts.charsToUnicode(text);
|
text = Fonts.charsToUnicode(text);
|
||||||
this.ctx.translate(this.current.x, -1 * this.current.y);
|
ctx.translate(current.x, -1 * current.y);
|
||||||
|
|
||||||
var font = this.current.font;
|
var font = this.current.font;
|
||||||
if (font) {
|
if (font)
|
||||||
var fontInfo = Fonts.lookupById(font.id);
|
ctx.transform.apply(ctx, font.textMatrix);
|
||||||
if (fontInfo && fontInfo.properties.textMatrix)
|
ctx.fillText(text, 0, 0);
|
||||||
this.ctx.transform.apply(this.ctx, fontInfo.properties.textMatrix);
|
current.x += Fonts.measureText(text);
|
||||||
}
|
|
||||||
this.ctx.fillText(text, 0, 0);
|
|
||||||
this.current.x += Fonts.measureText(text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.ctx.restore();
|
this.ctx.restore();
|
||||||
|
Loading…
Reference in New Issue
Block a user