blob: 3b28d976f0cf999fe4fd1f684696823eaff47749 [file] [log] [blame]
<!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">&#x21A8;</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">&#x21A8;</mo>
<mspace id="target2" style="background: gray" width="10px" height="200px"/>
</mrow>
</math>
</body>
</html>