You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is not possible to do in the CSS side. Maybe this feature could be removed
22
-
from MathML and the authors should explicitly indicate whether they want
23
-
to prevent increment in scriptlevel in this case.
24
-
Gecko implements it via pseudo-element set in the layout code
25
-
but that's [causing some issues](https://bugzilla.mozilla.org/show_bug.cgi?id=1361766).
5
+
The current proposal does not handle the case when underover scripts are
6
+
"accents". See [issue 76](https://github.com/mathml-refresh/mathml/issues/76).
26
7
27
8
## `scriptsizemultiplier` and `scriptminsize` attributes
28
9
@@ -32,14 +13,7 @@ approximately one over square root of 2) and ensure
32
13
script level change cannot scale down `font-size` lower than a minimal value.
33
14
This is implemented in Gecko but that [makes things very complex](https://dxr.mozilla.org/mozilla-central/source/servo/components/style/properties/gecko.mako.rs#2481).
34
15
35
-
It's not clear whether the `scriptsizemultiplier` and `scriptminsize` attributes
36
-
are used a lot in practice so this MathML attributes could probably be removed.
37
-
Additionally, taking into account `scriptminsize` (even the default value of
38
-
8pt) means that for very deeply nested mathematical formulas, the `font-size`
39
-
will stop being scaled down in scripts etc. It's not clear whether that's
40
-
an important use case and whether that's better than reaching too small
41
-
̀font-size`. There are user features (e.g. zoom-in) to workaround that kind
42
-
of not frequent issues.
16
+
We should probably [remove these attributes](https://github.com/mathml-refresh/mathml/issues/1#issuecomment-474261094) from MathML Core.
43
17
44
18
## OpenType MATH values: `scriptPercentScaleDown` and `scriptScriptPercentScaleDown`
45
19
@@ -49,15 +23,6 @@ going from script level 0 to script level 1 (`scriptPercentScaleDown`) or 2
49
23
`scriptsizemultiplier` is not really want, instead the one specified by the
50
24
font designer should be used.
51
25
52
-
This proposal chose a simple solution as it's not clear whether reading the
53
-
MATH table is a good idea or possible during the style resolution. Also
54
-
`scriptPercentScaleDown` and `scriptScriptPercentScaleDown` are not implemented
55
-
by any web engine right now ([Gecko bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1187682)). An algorithm could be:
56
-
57
-
* Use S = `scriptPercentScaleDown` when `math-script-level` goes from 0 to 1.
58
-
* Use S = `scriptScriptPercentScaleDown` divided by `scriptPercentScaleDown` when `math-script-level` goes from 1 to 2.
59
-
* Use S = 0.71 in other situation when `math-script-level` is incremented by 1.
60
-
* Generalize to values of Δ other than +1 by using product and inversion.
61
-
62
-
with adjustments when specified scales are zero and deciding whether to ignore
63
-
suggested values from the MATH table.
26
+
Note that TeX or Microsoft Office ignore other script level changes, which would
27
+
be equivalent to replacing 0.71 with 1 in the definition of S<sub>p,p+1</sub>.
28
+
The current definition tries to preserve MathML's special behavior.
* S<sub>p,p+1</sub> = 0.71 for every integer p ≠ 0, 1.
185
+
* S<sub>p,q</sub> is the product of S<sub>i,i+1</sub> where i ranges from p to
186
+
q - 1 for every integers p, q such that q ≥ p + 2 and (p,q) ≠ (0,2).
187
+
* S<sub>p,q</sub> = 1 / S<sub>p,q</sub> for every integers p, q such that
188
+
q < p.
189
+
190
+
The clamping of `font-size` implied by ̀font-min-size` and `font-max-size` must
191
+
apply after the change due to `math-script-level`.
176
192
177
193
### Native implementations of `display`, `displaystyle` and `scriptlevel`
178
194
179
195
The proposal allows to partially implement the `display`, `displaystyle` and
180
196
`scriptlevel` attributes as follows:
181
197
182
-
* Map `scriptlevel="+U"` to 'math-script-level: add U' (where U is an [unsigned integer](https://www.w3.org/Math/draft-spec/chapter2.html#type.unsigned-integer)).
183
-
* Map `scriptlevel="-U"` to 'math-script-level: add -U' (where U is an [unsigned integer](https://www.w3.org/Math/draft-spec/chapter2.html#type.unsigned-integer)).
198
+
* Map `scriptlevel="+U"` to 'math-script-level: add(U)' (where U is an [unsigned integer](https://www.w3.org/Math/draft-spec/chapter2.html#type.unsigned-integer)).
199
+
* Map `scriptlevel="-U"` to 'math-script-level: add(-U)' (where U is an [unsigned integer](https://www.w3.org/Math/draft-spec/chapter2.html#type.unsigned-integer)).
184
200
* Map `scriptlevel="U"` to 'math-script-level: U' (where U is an [unsigned integer](https://www.w3.org/Math/draft-spec/chapter2.html#type.unsigned-integer)).
185
201
186
202
Then add rules equivalent to the following user agent stylesheet for MathML.
0 commit comments