Bug 442637 - Add ssty related tests. r=fredw

This commit is contained in:
James Kitchener 2014-01-15 09:49:41 -05:00
parent 0e56295460
commit 5c65d8030e
10 changed files with 1975 additions and 0 deletions

View File

@ -163,3 +163,7 @@ fails == whitespace-trim-4.html whitespace-trim-4-ref.html # Bug 787215
== mathvariant-3.html mathvariant-3-ref.html
== mathvariant-4.html mathvariant-4-ref.html
== mathvariant-5.html mathvariant-5-ref.html
== ssty-1.html ssty-1-ref.html
== ssty-2.html ssty-2-ref.html
== ssty-3.html ssty-3-ref.html
== ssty-4.html ssty-4-ref.html

View File

@ -0,0 +1,337 @@
<!doctype html>
<head>
<!-- This font only has glyphs defined for 'A', 'B', 'C' and 'D', and is
designed purely for testing ssty functionality
The glyphs for 'A' and 'D' are identical, the difference between them is
that 'A' supports the ssty font feature.
'A' with ssty = 1 maps to 'B'
'A' with ssty = 2 maps to 'C'-->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<!-- Test whether the ssty font feature setting is used appropriately for
supscripts et al.
Assumes NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER is 0.71-->
<math>
<mstyle style="font-family: 'sstyfont';">
<msup>
<mo>D</mo>
<msup>
<mo>B</mo>
<msup>
<mo>C</mo>
<mo>C</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>D</mo>
<msub>
<mo>B</mo>
<msub>
<mo>C</mo>
<mo>C</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>D</mo>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>D</mo>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- Automatically set ssty ignores user set scriptlevel -->
<math>
<mstyle style="font-family: 'sstyfont';" scriptlevel="-3">
<msup>
<mo>D</mo>
<msup>
<mo>B</mo>
<msup>
<mo>C</mo>
<mo>C</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>D</mo>
<msub>
<mo>B</mo>
<msub>
<mo>C</mo>
<mo>C</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>D</mo>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>D</mo>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- Automatically set ssty ignores user set scriptlevel -->
<math>
<mstyle style="font-family: 'sstyfont';" scriptlevel="1">
<msup>
<mo>D</mo>
<msup>
<mo>B</mo>
<msup>
<mo>C</mo>
<mo>C</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>D</mo>
<msub>
<mo>B</mo>
<msub>
<mo>C</mo>
<mo>C</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>D</mo>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>B</mo>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>D</mo>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>B</mo>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- User set ssty font feature setting overrides automatically set ssty, but
only for affected elements -->
<math>
<mstyle style="font-family: 'sstyfont';">
<msup>
<mo>D</mo>
<msup>
<mo>D</mo>
<mo>C</mo>
</msup>
</msup>
<msub>
<mo>D</mo>
<msub>
<mo>D</mo>
<mo>C</mo>
</msub>
</msub>
<msubsup>
<mo>D</mo>
<msubsup>
<mo>D</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
<msubsup>
<mo>D</mo>
<mo>C</mo>
<mo>C</mo>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>D</mo>
<mmultiscripts>
<mo>D</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
<mmultiscripts>
<mo>D</mo>
<mo>C</mo>
<mo>C</mo>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>

View File

@ -0,0 +1,324 @@
<!doctype html>
<head>
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<math>
<mstyle style="font-family: 'sstyfont';">
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<mo>A</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<mo>A</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- Automatically set ssty ignores scriptlevel -->
<math>
<mstyle style="font-family: 'sstyfont';" scriptlevel="-3">
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<mo>A</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<mo>A</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- Automatically set ssty ignores scriptlevel -->
<math>
<mstyle style="font-family: 'sstyfont';" scriptlevel="1">
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<msup>
<mo>A</mo>
<mo>A</mo> <!-- ssty value capped at 2 -->
</msup>
</msup>
</msup>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<msub>
<mo>A</mo>
<mo>A</mo>
</msub>
</msub>
</msub>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
<msubsup>
<mo>A</mo>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>
<p>
<!-- User set ssty font feature setting overrides automatically set ssty -->
<math>
<mstyle style="font-family: 'sstyfont';">
<msup>
<mo>A</mo>
<msup>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
</msup>
</msup>
<msub>
<mo>A</mo>
<msub>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
</msub>
</msub>
<msubsup>
<mo>A</mo>
<msubsup>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
<msubsup>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
<mo>A</mo>
</msubsup>
</msubsup>
<mmultiscripts>
<mo>A</mo>
<mmultiscripts>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
<mmultiscripts>
<mo style="-moz-font-feature-settings: 'ssty' 0">A</mo>
<mo>A</mo>
<mo>A</mo>
</mmultiscripts>
</mmultiscripts>
</mstyle>
</math>

View File

@ -0,0 +1,275 @@
<!doctype html>
<head>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<!-- Test whether the ssty font feature setting is used appropriately for
mroot, mfrac, munderover et al.
Assumes NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER is 0.71-->
<math>
<mstyle style="font-family: 'sstyfont';">
<mroot>
<mo>D</mo>
<mo>C</mo>
</mroot>
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>B</mo>
<mo>C</mo>
</mroot>
<mo>B</mo>
</mfrac>
<mover>
<mo>D</mo>
<mover>
<mo>B</mo>
<mo>C</mo>
</mover>
</mover>
<munder>
<mo>D</mo>
<munder>
<mo>B</mo>
<mo>C</mo>
</munder>
</munder>
<munderover>
<mo>D</mo>
<munderover>
<mo>B</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
<munderover>
<mo>B</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<!-- ssty font feature not set on mfrac et al when displaystyle is
set (still allowed on mroot, mover et al.)-->
<math>
<mstyle style="font-family: 'sstyfont';" displaystyle="true">
<mroot>
<mo>D</mo>
<mo>C</mo>
</mroot>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
<mfrac>
<mfrac>
<!-- ssty gets set as script level incremented because displaystyle
is now false -->
<mo>B</mo>
<mo>B</mo>
</mfrac>
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>D</mo>
<mo>C</mo>
</mroot>
<mo>D</mo>
</mfrac>
<mover>
<mo>D</mo>
<mover>
<mo>B</mo>
<mo>C</mo>
</mover>
</mover>
<munder>
<mo>D</mo>
<munder>
<mo>B</mo>
<mo>C</mo>
</munder>
</munder>
<munderover>
<mo>D</mo>
<munderover>
<mo>B</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
<munderover>
<mo>B</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<!-- scriptlevel is not incremented when accent for overframes and
accentunder for underframes are true, so there shouldn't be a
change in the ssty value -->
<mstyle style="font-family: 'sstyfont';">
<mover accent="true">
<mo>D</mo>
<mover accent="true">
<mo>D</mo>
<mo>D</mo>
</mover>
</mover>
<munder accentunder="true">
<mo>D</mo>
<munder accentunder="true">
<mo>D</mo>
<mo>D</mo>
</munder>
</munder>
<munderover accentunder="true" accent="true">
<mo>D</mo>
<munderover accentunder="true" accent="true">
<mo>D</mo>
<mo>D</mo>
<mo>D</mo>
</munderover>
<munderover accentunder="true" accent="true">
<mo>D</mo>
<mo>D</mo>
<mo>D</mo>
</munderover>
</munderover>
<mover accent="true">
<mo>D</mo>
<mover accent="false">
<mo>D</mo>
<mo>B</mo>
</mover>
</mover>
<munder accentunder="true">
<mo>D</mo>
<munder accentunder="false">
<mo>D</mo>
<mo>B</mo>
</munder>
</munder>
<munderover accentunder="true" accent="true">
<mo>D</mo>
<munderover accentunder="false" accent="false">
<mo>D</mo>
<mo>B</mo>
<mo>B</mo>
</munderover>
<munderover accentunder="false" accent="false">
<mo>D</mo>
<mo>B</mo>
<mo>B</mo>
</munderover>
</munderover>
<mover accentunder="false" accent="false">
<mo>D</mo>
<mover accentunder="true" accent="true">
<mo>B</mo>
<mo>B</mo>
</mover>
</mover>
<munder accentunder="false" accent="false">
<mo>D</mo>
<munder accentunder="true" accent="true">
<mo>B</mo>
<mo>B</mo>
</munder>
</munder>
<munderover accentunder="false" accent="false">
<mo>D</mo>
<munderover accentunder="true" accent="true">
<mo>B</mo>
<mo>B</mo>
<mo>B</mo>
</munderover>
<munderover accentunder="true" accent="true">
<mo>B</mo>
<mo>B</mo>
<mo>B</mo>
</munderover>
</munderover>
<munderover accentunder="false" accent="true">
<mo>D</mo>
<munderover accentunder="false" accent="true">
<mo>B</mo>
<mo>C</mo>
<mo>B</mo>
</munderover>
<munderover accentunder="false" accent="true">
<mo>D</mo>
<mo>B</mo>
<mo>D</mo>
</munderover>
</munderover>
<munderover accentunder="true" accent="false">
<mo>D</mo>
<munderover accentunder="true" accent="false">
<mo>D</mo>
<mo>D</mo>
<mo>B</mo>
</munderover>
<munderover accentunder="true" accent="false">
<mo>B</mo>
<mo>B</mo>
<mo>C</mo>
</munderover>
</munderover>
</mstyle>
</math>
</body>

View File

@ -0,0 +1,267 @@
<!doctype html>
<head>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<math>
<mstyle style="font-family: 'sstyfont';">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" displaystyle="true">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mover accent="true">
<mo>A</mo>
<mover accent="true">
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder accentunder="true">
<mo>A</mo>
<munder accentunder="true">
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
<mover accentunder="true" accent="true">
<mo>A</mo>
<mover accentunder="false" accent="false">
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder accentunder="true" accent="true">
<mo>A</mo>
<munder accentunder="false" accent="false">
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<munderover accentunder="false" accent="false">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover accentunder="false" accent="false">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
<mover accent="false">
<mo>A</mo>
<mover accent="true">
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder accentunder="false">
<mo>A</mo>
<munder accentunder="true">
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover accentunder="false" accent="false">
<mo>A</mo>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover accentunder="true" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
<munderover accentunder="false" accent="true">
<mo>A</mo>
<munderover accentunder="false" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover accentunder="false" accent="true">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
<munderover accentunder="true" accent="false">
<mo>A</mo>
<munderover accentunder="true" accent="false">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover accentunder="true" accent="false">
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
</body>

View File

@ -0,0 +1,219 @@
<!doctype html>
<head>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<!-- Test changes of scriptsizemultiplier on setting of ssty font feature -->
<math>
<!-- No changes with scriptsizemultipliers that make things bigger -->
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="1.2">
<mroot>
<mo>D</mo>
<mo>D</mo>
</mroot>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>D</mo>
<mo>D</mo>
</mroot>
<mo>D</mo>
</mfrac>
<mover>
<mo>D</mo>
<mover>
<mo>D</mo>
<mo>D</mo>
</mover>
</mover>
<munder>
<mo>D</mo>
<munder>
<mo>D</mo>
<mo>D</mo>
</munder>
</munder>
<munderover>
<mo>D</mo>
<munderover>
<mo>D</mo>
<mo>D</mo>
<mo>D</mo>
</munderover>
<munderover>
<mo>D</mo>
<mo>D</mo>
<mo>D</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<!-- A slower increase in ssty setting.
scriptlevel=1 corresponds to ssty=0
scriptlevel=2 corresponds to ssty=1
scriptlevel=3 corresponds to ssty=2 -->
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="0.8">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<!-- A faster increase in ssty setting.
scriptlevel=1 corresponds to ssty=2
scriptlevel=2 corresponds to ssty=2
scriptlevel=3 corresponds to ssty=2 -->
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="0.5">
<mroot>
<mo>D</mo>
<mo>C</mo>
</mroot>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>C</mo>
<mo>C</mo>
</mroot>
<mo>C</mo>
</mfrac>
<mover>
<mo>D</mo>
<mover>
<mo>C</mo>
<mo>C</mo>
</mover>
</mover>
<munder>
<mo>D</mo>
<munder>
<mo>C</mo>
<mo>C</mo>
</munder>
</munder>
<munderover>
<mo>D</mo>
<munderover>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
<munderover>
<mo>C</mo>
<mo>C</mo>
<mo>C</mo>
</munderover>
</munderover>
</mstyle>
</math>
</body>

View File

@ -0,0 +1,207 @@
<!doctype html>
<head>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<math>
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="1.2">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="0.8">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="0.5">
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
<mfrac>
<mroot>
<mo>A</mo>
<mo>A</mo>
</mroot>
<mo>A</mo>
</mfrac>
<mover>
<mo>A</mo>
<mover>
<mo>A</mo>
<mo>A</mo>
</mover>
</mover>
<munder>
<mo>A</mo>
<munder>
<mo>A</mo>
<mo>A</mo>
</munder>
</munder>
<munderover>
<mo>A</mo>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
<munderover>
<mo>A</mo>
<mo>A</mo>
<mo>A</mo>
</munderover>
</munderover>
</mstyle>
</math>
</body>

View File

@ -0,0 +1,156 @@
<!doctype html>
<html>
<head>
<title>Dynamic ssty tests</title>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>B</mo>
<!-- deliberately invalid -->
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mo>D</mo>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="1.2">
<mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" scriptsizemultiplier="0.8">
<mfrac>
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
<mfrac>
<mo>B</mo>
<mo>B</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>B</mo>
<mrow>
<mrow>
<mrow>
<mo>B</mo>
</mrow>
</mrow>
</mrow>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style ="font-family: 'sstyfont';">
<mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
<mfrac>
<mo>C</mo>
<mo>C</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle5" style ="font-family: 'sstyfont'; -moz-font-feature-settings: 'ssty' 0">
<mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
<mfrac>
<mo>D</mo>
<mo>D</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
</body>
</html>

View File

@ -0,0 +1,186 @@
<!doctype html>
<html class="reftest-wait">
<head>
<title>Dynamic ssty tests</title>
<!-- See ssty-1-ref.html for an explanation of this font -->
<style type="text/css" media="screen, print">
@font-face {
font-family: "sstyfont";
src: url("ssty.woff");
}
</style>
</head>
<body>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac id="mfrac0">
<mo>A</mo>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>A</mo>
<mo id="mo0"></mo>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>A</mo>
<mo id="mo1">A</mo>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';" id="mstyle0">
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle1">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle2" style="font-family: 'sstyfont';">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle3" style="font-family: 'sstyfont';">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle style="font-family: 'sstyfont';">
<mfrac>
<mo>A</mo>
<mrow>
<mrow>
<mrow id="mrow0">
</mrow>
</mrow>
</mrow>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle4" style ="font-family: 'sstyfont'; -moz-font-feature-settings: 'ssty' 0">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<p>
<math>
<mstyle id="mstyle5" style ="font-family: 'sstyfont';">
<mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
<mfrac>
<mo>A</mo>
<mo>A</mo>
</mfrac>
</mfrac>
</mstyle>
</math>
<script>
function doTest()
{
var mo = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mo");
mo.innerHTML = "A";
// An added child gets ssty font feature
document.getElementById("mfrac0").appendChild(mo);
// A child with changed text gets ssty font feature
document.getElementById("mo0").innerHTML = "A";
// A relocated child loses ssty font feature setting
document.getElementById("mstyle0").appendChild(document.getElementById("mo1"));
// A change in style
document.getElementById("mstyle1").setAttribute("style", "font-family: 'sstyfont';");
// Changes in script size multiplier affect ssty setting
document.getElementById("mstyle2").setAttribute("scriptsizemultiplier", "1.2");
document.getElementById("mstyle3").setAttribute("scriptsizemultiplier", "0.8");
// ssty gets added to descendants as well
var mo1 = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mo");
mo1.innerHTML = "A";
document.getElementById("mrow0").appendChild(mo1);
// removing explicit ssty setting works
document.getElementById("mstyle4").setAttribute(
"style", "font-family: 'sstyfont';")
// setting an explicit ssty font feature
document.getElementById("mstyle5").setAttribute(
"style" , "font-family: 'sstyfont'; -moz-font-feature-settings: 'ssty' 0")
document.documentElement.removeAttribute("class");
}
window.addEventListener("MozReftestInvalidate", doTest, false);
</script>
</body>
</html>

Binary file not shown.