On 15/04/2013 15:55, Davide P. Cervone wrote:
> OK, I've look through this, and am starting to understand the layout
> better. I was misunderstanding the Normal and Main breakup originally.
> It looks like STIX_Main is what was in the Main.js file of the breakup
> of the original STIX fonts, while NORMAL is really just the math
> alphabets. That makes your comments about the mathvariants more clear.
> I will have to look back at the fontdata.js file now and see if I can
> make better sense out of that.
> * Some browsers can't access the SMP (plane 1), and so can't access the math alphabet characters in the locations that they normally occupy. The MathJax web fonts don't use plane 1 for that reason, and so the fonts of Fraktur, script, etc, have those characters in the normal ASCII alphabetic positions. Since you have separate fonts for these as well, I'm wondering if it wouldn't be better to move the characters from plane 1 to those locations as well. This makes it easier to use those fonts for things like CSS styling of the corresponding attributes (as you do now with the MathJax fonts in Firefox).
Yes, that's what I mentioned in the original proposal "We can probably
do a remapping to ASCII positions (as we do for the MathJax fonts) to
avoid bugs with some browsers not able to access non-BMP characters.".
However, it was still not clear how the Bold/Italic/BoldItalic style and
Bold/Italic/BoldItalic mathvariant would be handled when I wrote that.
Finally, I decided to put the Bold/Italic/BoldItalic Mathematical
Alphanumeric Symbols in a separate "Normal" font (for lack of a better
name). This can still be changed of course. I was also a bit concerned
about whether we should try to keep all the glyphs from the original
STIX fonts (for example because of legal issues) or if we could get rid
of duplicate glyphs. At the moment, everything is preserved.
> I still want to look very carefully at what glyphs are in some of the
> fonts. For example, I see some arrows are in STIX_Main, like the
> diagonal ones, but not the horizontal or vertical ones. Those are in
> STIX_Arrows, but not the diagonals. So I'm a little confused by that.
The exact operations are the following:
https://github.com/fred-wang/MathJax-dev/blob/open-type-fonts/fonts/OpenTypeMath/splitMain.py#L40
So Main-* fonts contain the "Basic Latin", "Greek and Coptic" and
"Specials" blocks as well as the characters from the MathJax_Main font.
This was in the original proposal:
"These fonts will contain the glyphs from Basic Latin Unicode block
(U+0000 to U+007F) as well as the characters from the MathJax-Main
fonts. This may also contain the "Replacement character" (U+FFFD)."
The original proposal mentioned the "STIX_AMS-*" and "STIX_Greek-*"
fonts, but they have finally been merged in the Main-* font. The idea is
to have the most used characters in these Main-* fonts.
> * Since each font must contain the space character U+0020, you should include that in the data (since the space could be used in something like <mn mathvariant="double-stuck">ONE HUNDRED</mn>.
> * The PUA symbols at U+EFFD through U+EFFF are for internal use, and you don't need to include them in the font data, and it will save space if you don't.
> * The block names are used in filenames, and so it would be better to not include spaces in them (e.g., "PrivateUseArea" rather than "Private Use Area"). I suspect that simply removing the spaces should be sufficient.
OK, I'll take care of the other comments.