Do not rasterize below 14px
This commit is contained in:
parent
9b45870d9a
commit
c6c72291d9
3
fonts.js
3
fonts.js
@ -22,7 +22,7 @@ var kMaxWaitForFontFace = 1000;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var Fonts = (function Fonts() {
|
var Fonts = (function Fonts() {
|
||||||
var kScalePrecision = 40;
|
var kScalePrecision = 50;
|
||||||
var fonts = [];
|
var fonts = [];
|
||||||
|
|
||||||
if (!isWorker) {
|
if (!isWorker) {
|
||||||
@ -404,6 +404,7 @@ var Font = (function Font() {
|
|||||||
// Repair the TrueType file if it is can be damaged in the point of
|
// Repair the TrueType file if it is can be damaged in the point of
|
||||||
// view of the sanitizer
|
// view of the sanitizer
|
||||||
data = this.checkAndRepair(name, file, properties);
|
data = this.checkAndRepair(name, file, properties);
|
||||||
|
writeToFile(data, "/tmp/file." + this.name + ".ttf");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
9
pdf.js
9
pdf.js
@ -3898,6 +3898,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();
|
||||||
@ -4113,8 +4116,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 + '"';
|
|
||||||
Fonts.setActive(fontName, fontObj, size);
|
Fonts.setActive(fontName, fontObj, size);
|
||||||
|
|
||||||
|
size = (size <= kRasterizerMin) ? size * kScalePrecision : size;
|
||||||
|
this.ctx.font = size + 'px "' + fontName + '"';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setTextRenderingMode: function(mode) {
|
setTextRenderingMode: function(mode) {
|
||||||
@ -4162,6 +4167,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