tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

getcharnumatposition-slr.tentative.html (1339B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>SVGTextContentElement.getCharNumAtPosition</title>
      4 <link rel="help" href="https://svgwg.org/svg2-draft/text.html#__svg__SVGTextContentElement__getCharNumAtPosition">
      5 <link rel="help" href="https://github.com/w3c/svgwg/issues/955">
      6 <link rel="stylesheet" href="/fonts/ahem.css">
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 
     10 <svg width="800" height="600">
     11 <style>
     12 text {
     13  font: 20px/1 Ahem;
     14 }
     15 </style>
     16 <text style="writing-mode:sideways-lr"><tspan id="slr" x="40" y="200">abc</tspan></text>
     17 </svg>
     18 
     19 <script>
     20 function newPoint(x, y) {
     21  const p = document.querySelector('svg').createSVGPoint();
     22  p.x = x;
     23  p.y = y;
     24  return p;
     25 }
     26 
     27 document.fonts.ready.then(() => {
     28  test(() => {
     29    const element = document.querySelector('#slr');
     30    assert_equals(element.getNumberOfChars(), 3);
     31    const start = 200;
     32    assert_equals(element.getCharNumAtPosition(newPoint(40, start + 10)), -1);
     33    assert_equals(element.getCharNumAtPosition(newPoint(40, start - 10)), 0);
     34    assert_equals(element.getCharNumAtPosition(newPoint(40, start - 30)), 1);
     35    assert_equals(element.getCharNumAtPosition(newPoint(40, start - 50)), 2);
     36    assert_equals(element.getCharNumAtPosition(newPoint(40, start - 70)), -1);
     37  }, 'sideways-lr');
     38 });
     39 </script>