From 6338314daf44f7f188e4cc6cb4d70fc2f2698fca Mon Sep 17 00:00:00 2001 From: Subhi Al Hasan Date: Fri, 28 May 2021 19:51:12 +0300 Subject: [PATCH] Allow applying 'underline' and 'strike' text styling together on a text (#1253) Co-authored-by: Subhi Al Hasan --- CHANGELOG.md | 2 ++ lib/mixins/text.js | 25 +++++++++++++----- ...t-spec-js-text-decoration-1-9cad8.snap.png | Bin 15279 -> 16876 bytes tests/visual/text.spec.js | 4 +++ 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca635b0..6fa63f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ### Unreleased +- Allow applying 'underline' and 'strike' text styling together on a text + ### [v0.12.0] - 2021-04-04 - Add support for Embedded Files and File Attachment Annotations diff --git a/lib/mixins/text.js b/lib/mixins/text.js index 94e711c..a1c7f42 100644 --- a/lib/mixins/text.js +++ b/lib/mixins/text.js @@ -371,8 +371,8 @@ export default { this.addNamedDestination(options.destination, 'XYZ', x, y, null); } - // create underline or strikethrough line - if (options.underline || options.strike) { + // create underline + if (options.underline) { this.save(); if (!options.stroke) { this.strokeColor(...(this._fillColor || [])); @@ -382,12 +382,25 @@ export default { this._fontSize < 10 ? 0.5 : Math.floor(this._fontSize / 10); this.lineWidth(lineWidth); - const d = options.underline ? 1 : 2; - let lineY = y + this.currentLineHeight() / d; - if (options.underline) { - lineY -= lineWidth; + let lineY = (y + this.currentLineHeight()) - lineWidth + this.moveTo(x, lineY); + this.lineTo(x + renderedWidth, lineY); + this.stroke(); + this.restore(); + } + + // create strikethrough line + if (options.strike) { + this.save(); + if (!options.stroke) { + this.strokeColor(...(this._fillColor || [])); } + const lineWidth = + this._fontSize < 10 ? 0.5 : Math.floor(this._fontSize / 10); + this.lineWidth(lineWidth); + + let lineY = y + this.currentLineHeight() / 2; this.moveTo(x, lineY); this.lineTo(x + renderedWidth, lineY); this.stroke(); diff --git a/tests/visual/__snapshots__/text-spec-js-text-decoration-1-9cad8.snap.png b/tests/visual/__snapshots__/text-spec-js-text-decoration-1-9cad8.snap.png index 974f4e1dad9e6e3e1a2ecc2ea60fb5bef07ddd32..38e38350d14951583f8e33dc4a15f48722c1d390 100644 GIT binary patch literal 16876 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 Q>!Zozkk1d*-=DtpUu&4p$N&HU literal 15279 zcmeHN`CF3N+oxr0oV2Ft9ea(`7MGbRv$Ql*#8xv?re#vYt;8)vQdC4lEN65YEe%Rj zQY&Y2W-MIOT#%{8h)gLh5fI2ku@Ff~5E1wun(trmUe|lQ%LV*!9-if#`}uI+pZjy4 zb1r@#kmGS0$7l-urA{`f*aavf2#q840p(b9S-u^ucqx_&%7=n^IoCyol zQ!Mc;9YqbK(2_D|tG34+PLbVX54Y*O41d=0#S6K1S+iA^pzn64;)maDL6!{T5X9$I zVs)Dfb2x44ZMQ5o3;p=jAMD!)*bFsYapi8?AIGUbEvIS~k?JblWRo1LABvXgn}B^8 zv+k$FOCW!mV3ze+nwyeWWylBC{_IGl4oR5cN-@j^+@@$Fr#Hq5d z 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 JzBlT^zW_n}2b}-_ diff --git a/tests/visual/text.spec.js b/tests/visual/text.spec.js index ce21731..ec6de8e 100644 --- a/tests/visual/text.spec.js +++ b/tests/visual/text.spec.js @@ -30,6 +30,10 @@ describe('text', function() { doc.text('Strike', 100, 130, { strike: true }); + doc.text('Strike', 100, 160, { + underline:true, + strike: true + }); }); });