зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1642656 [wpt PR 23915] - Add a test to check edge cases of radical kerning., a=testonly
Automatic update from web-platform-tests Add a test to check edge cases of radical kerning. (#23915) https://github.com/mathml-refresh/mathml/issues/213 -- wpt-commits: 0546635a0f399f57b0f26d804926c2ca5049e376 wpt-pr: 23915
This commit is contained in:
Родитель
6d442de0bd
Коммит
bc02f16b0c
Двоичные данные
testing/web-platform/tests/fonts/math/radical-negativekernbeforedegree1000-rulethickness1000.woff
Normal file
Двоичные данные
testing/web-platform/tests/fonts/math/radical-negativekernbeforedegree1000-rulethickness1000.woff
Normal file
Двоичный файл не отображается.
|
@ -0,0 +1,78 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Radical parameters</title>
|
||||
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#radicals-msqrt-mroot">
|
||||
<meta name="assert" content="Test edge kerning values for radicals.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/mathml/support/feature-detection.js"></script>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: radical-negativekernbeforedegree1000-rulethickness1000;
|
||||
src: url("/fonts/math/radical-negativekernbeforedegree1000-rulethickness1000.woff");
|
||||
}
|
||||
@font-face {
|
||||
font-family: radical-kernafterdegreeminus5000-rulethickness1000;
|
||||
src: url("/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff");
|
||||
}
|
||||
math, mspace {
|
||||
font-size: 10px;
|
||||
}
|
||||
mspace {
|
||||
opacity: .5;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
var emToPx = 10 / 1000; // font-size: 10px, font.em = 1000
|
||||
var epsilon = 1;
|
||||
|
||||
function getBox(aId) {
|
||||
return document.getElementById(aId).getBoundingClientRect();
|
||||
}
|
||||
|
||||
function runTests() {
|
||||
test(function() {
|
||||
assert_true(MathMLFeatureDetection.has_mspace());
|
||||
assert_approx_equals(getBox("index001").left - getBox("mroot001").left,
|
||||
0, epsilon, "should be clamped to 0");
|
||||
}, "RadicalKernBeforeDegree = -1em < 0");
|
||||
|
||||
test(function() {
|
||||
assert_true(MathMLFeatureDetection.has_mspace());
|
||||
var radicalSymbolWidth = 1000 * emToPx;
|
||||
var radicalLeft = getBox("base002").left - radicalSymbolWidth;
|
||||
assert_approx_equals(getBox("index002").right - radicalLeft,
|
||||
30, epsilon, "should be clamped to 3em");
|
||||
}, "RadicalKernBeforeAfterDegree = -5em < -3em = -degree's inline size");
|
||||
|
||||
done();
|
||||
}
|
||||
|
||||
setup({ explicit_done: true });
|
||||
window.addEventListener("load", () => { document.fonts.ready.then(runTests); });
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<p>
|
||||
<math style="font-family: radical-negativekernbeforedegree1000-rulethickness1000">
|
||||
<mroot id="mroot001">
|
||||
<mspace id="base001" height="6em" width="6em" style="background: blue"/>
|
||||
<mspace id="index001" height="6em" width="6em" style="background: green"/>
|
||||
</mroot>
|
||||
</math>
|
||||
</p>
|
||||
<hr/>
|
||||
<p>
|
||||
<math style="font-family: radical-kernafterdegreeminus5000-rulethickness1000">
|
||||
<mroot id="mroot002">
|
||||
<mspace id="base002" height="3em" width="3em" style="background: blue"/>
|
||||
<mspace id="index002" height="3em" width="3em" style="background: green"/>
|
||||
</mroot>
|
||||
</math>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -115,3 +115,16 @@ f.math.RadicalKernBeforeDegree = 0
|
|||
f.math.RadicalRuleThickness = v2
|
||||
f.math.RadicalVerticalGap = v1
|
||||
mathfont.save(f)
|
||||
|
||||
v1 = 1 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-negativekernbeforedegree%d-rulethickness%d" % (v1, v2), "Copyright (c) 2020 Igalia S.L.")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
f.math.RadicalExtraAscender = 0
|
||||
f.math.RadicalKernAfterDegree = 0
|
||||
f.math.RadicalKernBeforeDegree = -v1
|
||||
f.math.RadicalRuleThickness = v2
|
||||
f.math.RadicalVerticalGap = 0
|
||||
mathfont.save(f)
|
||||
|
|
Загрузка…
Ссылка в новой задаче