| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>mo axis height</title> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo"> |
| <meta name="assert" content="Element mo correctly uses the axis height parameter from the MATH table."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| math, mspace { |
| font-size: 10px; |
| } |
| @font-face { |
| font-family: axisheight5000-verticalarrow14000; |
| src: url("/fonts/math/axisheight5000-verticalarrow14000.woff"); |
| } |
| </style> |
| <script> |
| var emToPx = 10 / 1000; // font-size: 10px, font.em = 1000 |
| var epsilon = 5; |
| |
| function getBox(aId) { |
| return document.getElementById(aId).getBoundingClientRect(); |
| } |
| |
| setup({ explicit_done: true }); |
| window.addEventListener("load", () => { document.fonts.ready.then(runTests); }); |
| |
| function runTests() { |
| test(function() { |
| var v1 = 5000 * emToPx; |
| var moMiddle = (getBox("mo1").bottom + getBox("mo1").top) / 2; |
| assert_approx_equals(getBox("mo1").height, |
| 14000 * emToPx, epsilon, "mo: size"); |
| assert_approx_equals(getBox("baseline1").bottom - moMiddle, |
| v1, epsilon, "mo: axis height"); |
| }, "AxisHeight (size variant)"); |
| |
| test(function() { |
| var v1 = 5000 * emToPx; |
| var moMiddle = (getBox("mo2").bottom + getBox("mo2").top) / 2; |
| assert_approx_equals(getBox("mo2").height, |
| 2 * (getBox("target2").height - v1), |
| epsilon, "mo: size"); |
| assert_approx_equals(getBox("baseline2").bottom - moMiddle, |
| v1, epsilon, "mo: axis height"); |
| }, "AxisHeight (glyph assembly)"); |
| |
| done(); |
| } |
| </script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <p> |
| <math style="font-family: axisheight5000-verticalarrow14000;"> |
| <mrow> |
| <mspace id="baseline1" style="background: blue" width="50px" height="1px"/> |
| <mpadded voffset="50px"><mspace style="background: cyan" width="50px" height="1px"/></mpadded> |
| <mo id="mo1" symmetric="true" style="color: green">↨</mo> |
| <mspace style="background: gray" width="10px" height="50px"/> |
| </mrow> |
| </math> |
| <math style="font-family: axisheight5000-verticalarrow14000;"> |
| <mrow> |
| <mspace id="baseline2" style="background: blue" width="50px" height="1px"/> |
| <mpadded voffset="50px"><mspace style="background: cyan" width="50px" height="1px"/></mpadded> |
| <mo id="mo2" symmetric="true" style="color: green">↨</mo> |
| <mspace id="target2" style="background: gray" width="10px" height="200px"/> |
| </mrow> |
| </math> |
| </body> |
| </html> |