fix small fonts
This commit is contained in:
parent
88b04b7687
commit
645c9acb62
9
pdf.js
9
pdf.js
@ -3879,6 +3879,9 @@ function ScratchCanvas(width, height) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var CanvasGraphics = (function() {
|
var CanvasGraphics = (function() {
|
||||||
|
var kScalePrecision = 50;
|
||||||
|
var kRasterizerMin = 14;
|
||||||
|
|
||||||
function constructor(canvasCtx, imageCanvas) {
|
function constructor(canvasCtx, imageCanvas) {
|
||||||
this.ctx = canvasCtx;
|
this.ctx = canvasCtx;
|
||||||
this.current = new CanvasExtraState();
|
this.current = new CanvasExtraState();
|
||||||
@ -4094,8 +4097,10 @@ var CanvasGraphics = (function() {
|
|||||||
if (this.ctx.$setFont) {
|
if (this.ctx.$setFont) {
|
||||||
this.ctx.$setFont(fontName, size);
|
this.ctx.$setFont(fontName, size);
|
||||||
} else {
|
} else {
|
||||||
this.ctx.font = size + 'px "' + fontName + '"';
|
|
||||||
FontMeasure.setActive(fontObj, size);
|
FontMeasure.setActive(fontObj, size);
|
||||||
|
|
||||||
|
size = (size <= kRasterizerMin) ? size * kScalePrecision : size;
|
||||||
|
this.ctx.font = size + 'px"' + fontName + '"';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setTextRenderingMode: function(mode) {
|
setTextRenderingMode: function(mode) {
|
||||||
@ -4143,6 +4148,8 @@ var CanvasGraphics = (function() {
|
|||||||
ctx.translate(current.x, -1 * current.y);
|
ctx.translate(current.x, -1 * current.y);
|
||||||
var font = this.current.font;
|
var font = this.current.font;
|
||||||
if (font) {
|
if (font) {
|
||||||
|
if (this.current.fontSize < kRasterizerMin)
|
||||||
|
ctx.transform(1 / kScalePrecision, 0, 0, 1 / kScalePrecision, 0, 0);
|
||||||
ctx.transform.apply(ctx, font.textMatrix);
|
ctx.transform.apply(ctx, font.textMatrix);
|
||||||
text = font.charsToUnicode(text);
|
text = font.charsToUnicode(text);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user