... | ... | @@ -42,9 +42,9 @@ The basic issues to support new fonts are the following: |
|
|
This is the case for STIX 1.1 "General" (the legacy version)
|
|
|
and Asana fonts, so we can in theory
|
|
|
support local and Web versions. For other mathematical fonts like
|
|
|
STIX 1.1 "Word" (the new version with less files and OpenType Math table),
|
|
|
STIX 1.1 "Word" (the new version with less files and an OpenType Math table),
|
|
|
Cambria Math, Neo Euler, LM-Math, Lucida fonts ; we could only support
|
|
|
modified versions with some glyphs moved to Unicode code points.
|
|
|
modified versions with some glyphs moved to actual Unicode code points.
|
|
|
|
|
|
* In certain cases (old browsers, security restriction...), Web fonts are not
|
|
|
available so MathJax has to use images fonts instead. For the
|
... | ... | @@ -68,7 +68,7 @@ The STIX and Asana fonts are available in the following format: |
|
|
* STIX 1.1 "Word": one file for each style (Regular, Italic, Bold, BoldItalic)
|
|
|
and one file with an OpenType Math Table (and so glyphs used for stretchy
|
|
|
operators).
|
|
|
* STIX 1.1 "General": the old sets with STIXGeneral, various files for
|
|
|
* STIX 1.1 "General": the old set with STIXGeneral, various files for
|
|
|
integral symbols, a STIXNonUnicode file for some non unicode glyphs and
|
|
|
various files for size variants. Some of these files have variants for each
|
|
|
style (Regular, Italic, Bold, BoldItalic).
|
... | ... | @@ -103,19 +103,19 @@ take into account: |
|
|
the MathJax fonts since the local and Web versions are the same.
|
|
|
We could also put some copies of the (non-modified) STIX and Asana fonts
|
|
|
in a separate directory that will be used by the Native MathML output only.
|
|
|
Note that download time is not a problem for the Native MathML support and
|
|
|
we can probably just focus on the most recent woff format.
|
|
|
In the long term, they are likely to support the Open Type tables and we
|
|
|
could maybe copy this table into our Web fonts. That's another reason why
|
|
|
For Native MathML support, note that we
|
|
|
we can probably just focus on the most recent woff format and that
|
|
|
download time is not a problem.
|
|
|
In the long term, browsers are likely to support the Open Type tables and we
|
|
|
could maybe copy these tables into our Web fonts. That's another reason why
|
|
|
it is best to work with STIX "Word".
|
|
|
|
|
|
* STIX and Asana have much more characters than our MathJax TeX fonts. Of
|
|
|
course that's one of the reason why we want to support them (besides
|
|
|
providing alternative styles). So we need more categories than those
|
|
|
given in MathJax. The most obvious option is classification by font style
|
|
|
(bold, italic, bold-italic) and to follow existing Unicode
|
|
|
subcategories (for example those given in
|
|
|
[chapter 7 of the MathML 3 recommendation](http://www.w3.org/Math/TR/chapter7.html#chars.entities)). Finally, we can provide a file with all the remaining
|
|
|
(bold, italic, bold-italic) and to follow existing MathJax/Unicode
|
|
|
subcategories. Finally, we can provide a file with all the remaining
|
|
|
characters, that are less often used in mathematics.
|
|
|
In the future, we could consider a "mixed mode" where MathJax TeX fonts
|
|
|
are used by default with other STIX/Asana Web fonts covering the missing
|
... | ... | @@ -140,27 +140,100 @@ The file hierarchy could look like this: |
|
|
* output/SVG/fonts/
|
|
|
* Idem mutatis mutandis.
|
|
|
|
|
|
The STIX and Asana fonts will be split into the following
|
|
|
categories. Other subdivisions will be used for Regular, Bold, Italic
|
|
|
Bold-italic. We will preserve the Unicode code points, except for
|
|
|
STIXMath-Regular where the glyphs must be moved to one of the PUA.
|
|
|
|
|
|
* Main or Math?
|
|
|
* Size1
|
|
|
* Size2
|
|
|
* Size3
|
|
|
* Size4
|
|
|
* Caligraphic (regular, bold, italic, bold-italic)
|
|
|
* double-struck
|
|
|
* script
|
|
|
* fraktur
|
|
|
* sans-serif
|
|
|
* monospace
|
|
|
* isoamsa Added Math Symbols: Arrow Relations
|
|
|
* isoamsb Added Math Symbols: Binary Operators
|
|
|
* isoamsc Added Math Symbols: Delimiters
|
|
|
* isoamsn Added Math Symbols: Negated Relations
|
|
|
* isoamso Added Math Symbols: Ordinary
|
|
|
* isoamsr Added Math Symbols: Relations
|
|
|
* ...
|
|
|
* Other |
|
|
The STIX fonts will be split into the following files. In most cases,
|
|
|
we will preserve the Unicode code points. We will follow the
|
|
|
subdivision of MathJax fonts, but ignore the distinction between Main/Math
|
|
|
and Caligraphic/Script. The remaining glyphs will be classified using
|
|
|
their Unicode Blocks.
|
|
|
|
|
|
* STIX\_Main-Regular, STIX\_Main-Italic, STIX\_Main-Bold, STIX\_Main-BoldItalic.
|
|
|
|
|
|
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.
|
|
|
|
|
|
* Various fonts for the [Mathematical Alphanumeric Symbols](https://en.wikipedia.org/wiki/Mathematical\_Alphanumeric\_Symbols).
|
|
|
|
|
|
These fonts will cover all the glyphs from MathJax's
|
|
|
Caligraphic, Fraktur, Sans-serif, and Greek fonts.
|
|
|
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. Note that latin characters and digits for
|
|
|
normal, bold, italic and bold-italic mathvariants are already contained
|
|
|
in the STIX-Main-* fonts, so we only need to add new files for greek letters.
|
|
|
The other files will contain the latin/greek letters and digits for the
|
|
|
corresponding mathvariant category.
|
|
|
|
|
|
* STIX\_Greek-Regular, STIX\_Greek-Bold, STIX\_Greek-Italic,
|
|
|
STIX\_Greek-BoldItalic
|
|
|
* STIX\_Script-Regular, STIX-Script-Bold
|
|
|
* STIX\_Fraktur-Regular, STIX-Fraktur-Bold
|
|
|
* STIX\_DoubleStruck-Regular
|
|
|
* STIX\_SansSerif-Regular, STIX\_SansSerif-Bold, STIX\_SansSerif-Italic,
|
|
|
STIX\_SansSerif-BoldItalic
|
|
|
* STIX\_Monospace-Regular
|
|
|
|
|
|
* STIX\_AMS-Regular, STIX\_AMS-Bold, STIX\_AMS-Italic, STIX\_AMS-BoldItalic
|
|
|
|
|
|
These fonts will cover all the characters from MathJax-AMS, that are needed
|
|
|
to support the AMS extension.
|
|
|
|
|
|
* Fonts for strechy operators
|
|
|
|
|
|
STIXMath-Regular
|
|
|
glyphs must be moved to one of the PUA.
|
|
|
|
|
|
* Size1
|
|
|
* Size2
|
|
|
* Size3
|
|
|
* Size4
|
|
|
|
|
|
* Other Unicode blocks from STIX:
|
|
|
|
|
|
* STIX\_Latin-Regular, STIX\_Latin-Bold, STIX\_Latin-Italic,
|
|
|
STIX\_Latin-BoldItalic.
|
|
|
|
|
|
Glyphs from The Latin-1 Supplement (00080-000FF)
|
|
|
Latin Extended-A (00100-0017F) and Latin Extended-B (00180-0024F)
|
|
|
Latin Extended Additional (01E00-01EFF) blocks.
|
|
|
|
|
|
* STIX\_Language-Regular, STIX\_Language-Bold, STIX\_Language-Italic,
|
|
|
STIX\_Language-BoldItalic.
|
|
|
|
|
|
Greek and Coptic (00370-003FF),
|
|
|
Cyrillic (00400-004FF), Hiragana (03040-0309F)
|
|
|
|
|
|
* STIX-Other-Regular, STIX-Other-Bold, STIX-Other-Italic,
|
|
|
STIX-Other-BoldItalic.
|
|
|
|
|
|
This will contain all the glyphs that have not been included in one of the
|
|
|
category above.
|
|
|
|
|
|
TODO: Spacing Modifier Letters; 002B0-002FF
|
|
|
Combining Diacritical Marks; 00300-0036F
|
|
|
Phonetic Extensions; 01D00-01D7F
|
|
|
Phonetic Extensions Supplement; 01D80-01DBF
|
|
|
General Punctuation; 02000-0206F
|
|
|
Superscripts and Subscripts; 02070-0209F
|
|
|
Currency Symbols; 020A0-020CF
|
|
|
Combining Diacritical Marks for Symbols; 020D0-020FF
|
|
|
Letterlike Symbols; 02100-0214F
|
|
|
Number Forms; 02150-0218F
|
|
|
Arrows; 02190-021FF
|
|
|
Mathematical Operators; 02200-022FF
|
|
|
Miscellaneous Technical; 02300-023FF
|
|
|
Control Pictures; 02400-0243F
|
|
|
Enclosed Alphanumerics; 02460-024FF
|
|
|
Box Drawing; 02500-0257F
|
|
|
Block Elements; 02580-0259F
|
|
|
Geometric Shapes; 025A0-025FF
|
|
|
Miscellaneous Symbols; 02600-026FF
|
|
|
Dingbats; 02700-027BF
|
|
|
Miscellaneous Mathematical Symbols-A; 027C0-027EF
|
|
|
Supplemental Arrows-A; 027F0-027FF
|
|
|
Supplemental Arrows-B; 02900-0297F
|
|
|
Miscellaneous Mathematical Symbols-B; 02980-029FF
|
|
|
Supplemental Mathematical Operators; 02A00-02AFF
|
|
|
Miscellaneous Symbols and Arrows; 02B00-02BFF
|
|
|
CJK Symbols and Punctuation; 03000-0303F
|
|
|
Specials; 0FFF0-0FFFF
|
|
|
Mathematical Alphanumeric Symbols; 1D400-1D7FF |