MathML:Stretchy: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Created page with '== Scale stretchy == {{bug|414277}} == Diagonal direction == {{bug|552290}} == Stretching in mtable cells == {{bug|236963}} == MathML-only document == {{bug|442209}}')
 
(More information on stretching bugs)
Line 1: Line 1:
== Composite Characters and Variants ==
Stretching of characters is mainly based on [[MathML:CompositeChars_and_Variants|Composite Characters and Variants]]. Thus, improvement of stretching is highly related to a better [[MathML:Fonts|font support]].
== Scale stretchy ==
== Scale stretchy ==


{{bug|414277}}
For various reasons, stretching may be imperfect: the user's system lacks mathematical fonts, we do not support yet the stretching for a particular char or we do not have a glyph of suitable size. Using a scale transform {{bug|414277}} would allow to workaround the issue of non-stretched characters and improve the accuracy of stretching. Note that as in TeX, an imperfect stretching causes issues such that
[http://www.mozilla.org/projects/mathml/screenshots/ex31.gif radical symbols not touching the base].


== Diagonal direction ==
== Diagonal direction ==


{{bug|552290}}
The MathML spec mentions diagonal arrows as an example of characters that stretch both in vertical and horizontal directions. We already support stretching of horizontal/vertical arrows using a composite char. The idea of {{bug|552290}} is to apply a rotation on this composite char to implement diagonal direction. We should add direction:updiagonal and direction:downdiagonal in our operator dictionary to distinguish this diagonal stretching. If we want a general mechanism, an attribute like basechar:\UNNNN should also be added to indicate on which char we should apply the rotation (i.e. a horizontal arrow in our case).
 
 
== Stretching in mtable cells ==
== Stretching in mtable cells ==



Revision as of 16:59, 28 March 2010

Composite Characters and Variants

Stretching of characters is mainly based on Composite Characters and Variants. Thus, improvement of stretching is highly related to a better font support.

Scale stretchy

For various reasons, stretching may be imperfect: the user's system lacks mathematical fonts, we do not support yet the stretching for a particular char or we do not have a glyph of suitable size. Using a scale transform bug 414277 would allow to workaround the issue of non-stretched characters and improve the accuracy of stretching. Note that as in TeX, an imperfect stretching causes issues such that radical symbols not touching the base.

Diagonal direction

The MathML spec mentions diagonal arrows as an example of characters that stretch both in vertical and horizontal directions. We already support stretching of horizontal/vertical arrows using a composite char. The idea of bug 552290 is to apply a rotation on this composite char to implement diagonal direction. We should add direction:updiagonal and direction:downdiagonal in our operator dictionary to distinguish this diagonal stretching. If we want a general mechanism, an attribute like basechar:\UNNNN should also be added to indicate on which char we should apply the rotation (i.e. a horizontal arrow in our case).

Stretching in mtable cells

bug 236963

MathML-only document

bug 442209