Index: third_party/WebKit/LayoutTests/svg/text/ligature-queries.html |
diff --git a/third_party/WebKit/LayoutTests/svg/text/ligature-queries.html b/third_party/WebKit/LayoutTests/svg/text/ligature-queries.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6e8596efb47336f3cc256e795a0f454e6c50de25 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/svg/text/ligature-queries.html |
@@ -0,0 +1,62 @@ |
+<!DOCTYPE HTML> |
+<meta charset="utf8"> |
+<style> |
+ .commonLigatures { |
+ font-variant-ligatures: common-ligatures; |
+ } |
+ .noselect { |
+ -webkit-user-select: none; |
+ user-select: none; |
+ } |
+</style> |
+<svg width="600px" height="500px" xmlns="http://www.w3.org/2000/svg"> |
+ <defs> |
+ <path id="path" d="M 25 400 C 300 400 200 200 500 450" /> |
+ </defs> |
+ <g id="container"/> |
+ <g font-family="Arial" font-size="50px"> |
+ <text x="25" y="50" class="commonLigatures" font-family="cursive">öh у̌eah! fi ffi abcffidef</text> |
+ <text x="25" y="150" class="commonLigatures" font-family="serif">öh у̌eah! fi ffi abcffidef</text> |
+ <text x="25" y="250" class="commonLigatures" font-family="sans-serif">öh у̌eah! fi ffi abcffidef</text> |
+ <use xlink:href="#path" stroke-width="2" stroke="black" fill="transparent"/> |
+ <text x="25" y="350" class="commonLigatures" font-family="cursive"> |
+ <textPath xlink:href="#path">ffiffiffiffiffiffiffiffiffiffiffi</textPath> |
+ </text> |
+ </text> |
+ </g> |
+</svg> |
+<script> |
+ function highlightGlyph(text, index, color) { |
+ var extent = text.getExtentOfChar(index); |
+ |
+ // Highlight rect that we've selected using the extent information |
+ var rectElement = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
+ rectElement.setAttribute("x", extent.x); |
+ rectElement.setAttribute("y", extent.y); |
+ rectElement.setAttribute("width", extent.width); |
+ rectElement.setAttribute("height", extent.height); |
+ rectElement.setAttribute("fill-opacity", "0.5"); |
+ rectElement.setAttribute("fill", color); |
+ document.getElementById("container").appendChild(rectElement); |
+ // Output the start offset |
+ var textElement = document.createElementNS("http://www.w3.org/2000/svg", "text"); |
+ textElement.setAttribute("x", extent.x + extent.width / 2); |
+ textElement.setAttribute("y", extent.y + extent.height + 5); |
+ textElement.setAttribute("text-anchor", "middle"); |
+ textElement.setAttribute("font-size", 10); |
+ textElement.setAttribute("class", "noselect"); |
+ textElement.appendChild(document.createTextNode(index)); |
+ document.getElementById("container").appendChild(textElement); |
+ } |
+ |
+ var colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]; |
+ // Highlight each glyph with a semi-transparent rectangle and |
+ // a number corresponding to the queried character index. |
+ var textElements = document.querySelectorAll("text"); |
+ for (var elemNum = 0; elemNum < textElements.length; ++elemNum) { |
+ var text = textElements[elemNum]; |
+ var charCount = text.getNumberOfChars(); |
+ for (var index = 0; index < charCount; ++index) |
+ highlightGlyph(text, index, colors[index % colors.length]); |
+ } |
+</script> |