Skip to content

Commit

Permalink
Merge pull request mozilla#8796 from timvandermeij/svg-text-rise
Browse files Browse the repository at this point in the history
Implement text rise for the SVG back-end
  • Loading branch information
Rob--W committed Aug 26, 2017
2 parents 7db996a + 4a04c29 commit 8cd1ec4
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/display/svg.js
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,9 @@ SVGGraphics = (function SVGGraphicsClosure() {
this.setTextMatrix(args[0], args[1], args[2],
args[3], args[4], args[5]);
break;
case OPS.setTextRise:
this.setTextRise(args[0]);
break;
case OPS.setLineWidth:
this.setLineWidth(args[0]);
break;
Expand Down Expand Up @@ -782,9 +785,17 @@ SVGGraphics = (function SVGGraphicsClosure() {
current.tspan.setAttributeNS(null, 'fill', current.fillColor);
}

// Include the text rise in the text matrix since the `pm` function
// creates the SVG element's `translate` entry (work on a copy to avoid
// altering the original text matrix).
let textMatrix = current.textMatrix;
if (current.textRise !== 0) {
textMatrix = textMatrix.slice();
textMatrix[5] += current.textRise;
}

current.txtElement.setAttributeNS(null, 'transform',
pm(current.textMatrix) +
' scale(1, -1)');
pm(textMatrix) + ' scale(1, -1)');
current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');
current.txtElement.appendChild(current.tspan);
current.txtgrp.appendChild(current.txtElement);
Expand Down

0 comments on commit 8cd1ec4

Please sign in to comment.