# MATH Table from MS

I'm developing a small equation editor, using the Win32 API and the MATH table, which has been recently incorporated by MS into its OpenType file for the Cambria Math font. I received the MATH table specs from MS and in general I think I understand how to extract any information from it. My problem is to understand the concept behind several constants defined in this table. I contacted MS about this and they told that these terms are very common in LaTex. Since I'm not familiar with this language, I would appreciate if someone could help me understand the meaning of the following constants :

MathLeading White space to be left between math formulas to ensure proper line spacing.

AxisHeight Axis height of the font.

SuperscriptShiftUpCramp Standard shift of superscripts relative to the base, in cramped style.

StackTopShiftUp Standard shift up applied to the top element of a stack.

StackGapMin Minimum gap between (ink) bottom of the top element of a stack, and the (ink) top of the bottom element.

-

The document linked by Yiannis does describe the last three parameters you've mentioned:

SuperscriptShiftUpCramp is described on page 16 and is the standard distance between the normal baseline and the supscript baseline when in cramped mode (this is when sub/supscript must take the less possible place, e.g. when inside a square root: the first ^2 is lower in $\sqrt{x_1^2}x_1^2$ than the second one).

StackTopShiftUp is described on page 14 and is the distance between the top of a big operator (e.g. an integral) and the baseline of the corresponding supscript.

StackGapMin is described on page 15 (it's the parameter φ of figure 3).

AxisHeight is the math axis height: it's where most math symbols are vertically aligned by default (fraction rules are at axis height; the = symbol is vertically centered on this axis just as are big operators and big delimiters).

MathLeading does not seem to be used by LuaTeX (it's not in the table of §5.5 "Font-based Math Parameters" (currently page 134) of the manual). If you want to know why, you could ask on the LuaTeX mailing list.

The LuaTeX manual gives (in §5.5) a correspondence between OpenType and TeX parameters. You can then take a look at Appendix G illuminated and Appendix G of the TeXbook for further details on the parameters.

-
This was great. Thank you very much for your precise and professional answer. I'll read your suggestions and I'll come back to this forum if further clarifications remain. Thanks again. –  Belloc Apr 27 '11 at 16:21

The TUGboat article OpenType Math Illuminated has a lot of information related to your question.

-
Thank you for your tip. I'm aware of this article, but it doesn't mention the constants I described on my question. –  Belloc Apr 27 '11 at 0:02
@Belloc hope that Philippe's answer futher clarified the issue. What are you using as a GUI? I got a small project that I want to start and need a GUI, was thinking of Qt. –  Yiannis Lazarides Apr 27 '11 at 15:01
As I said above, I'm using the Win32 API. I'm sorry, but I can't say anything about Qt, since I don't know it. –  Belloc Apr 27 '11 at 18:05