From df3421d6172b1e9e6f2f829c0cc216e7357c36e9 Mon Sep 17 00:00:00 2001 From: Asturur Date: Thu, 30 Nov 2017 11:42:02 +0100 Subject: [PATCH 1/2] test --- src/shapes/text.class.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/shapes/text.class.js b/src/shapes/text.class.js index b12b51f54b0..a88914f3232 100644 --- a/src/shapes/text.class.js +++ b/src/shapes/text.class.js @@ -850,10 +850,17 @@ charsToRender = '', charBox, boxWidth = 0, - timeToRender; + timeToRender, + shortCut = !isJustify && this.isEmptyStyles(lineIndex); ctx.save(); top -= lineHeight * this._fontSizeFraction / this.lineHeight; + if (shortCut) { + // render all the line in one pass without checking + this._renderChar(method, ctx, lineIndex, 0, line, left, top, lineHeight); + ctx.restore(); + return; + } for (var i = 0, len = line.length - 1; i <= len; i++) { timeToRender = i === len || this.charSpacing; charsToRender += line[i]; From 04095e3b454ada49fb100defcf1f0c3b11e00b25 Mon Sep 17 00:00:00 2001 From: Asturur Date: Sat, 2 Dec 2017 11:18:05 +0100 Subject: [PATCH 2/2] use simple text line not grapheme --- src/shapes/text.class.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shapes/text.class.js b/src/shapes/text.class.js index a88914f3232..e48ca747ca0 100644 --- a/src/shapes/text.class.js +++ b/src/shapes/text.class.js @@ -857,7 +857,7 @@ top -= lineHeight * this._fontSizeFraction / this.lineHeight; if (shortCut) { // render all the line in one pass without checking - this._renderChar(method, ctx, lineIndex, 0, line, left, top, lineHeight); + this._renderChar(method, ctx, lineIndex, 0, this.textLines[lineIndex], left, top, lineHeight); ctx.restore(); return; }