... | ... | @@ -32,7 +32,7 @@ The basic issues to support new fonts are the following: |
|
|
|
|
|
* Contructions of stretchy operators
|
|
|
are described in the Open Type Math table, which is
|
|
|
not exposed to Javascript. Currently, we write tables "by hand"
|
|
|
not exposed to Javascript. Currently, we write tables by hand
|
|
|
in the [fontdata.js files](https://github.com/mathjax/MathJax/blob/master/unpacked/jax/output/HTML-CSS/fonts/). We already support STIX fonts and tables for
|
|
|
Asana are available in Gecko source code. Moreover the fonts have an OpenType
|
|
|
Math table that FontForge can read. So the new tables could be obtained
|
... | ... | @@ -87,9 +87,10 @@ take into account: |
|
|
set of fonts will not be the same and it could be cleaner to
|
|
|
use a separate directory for the font data.
|
|
|
Also, it will be more convenient to
|
|
|
create subcategories from the 5 STIX "Word" files than to work from the
|
|
|
create write scripts that extract glyphs
|
|
|
from the 5 STIX "Word" files than to work from the
|
|
|
messy STIX "General" set of files. Finally we could imagine that in the
|
|
|
future, STIX "General" could become obsolete or deprecated and so it's
|
|
|
future, STIX "General" will become obsolete or deprecated and so it's
|
|
|
not a bad idea to directly base our Web fonts on STIX "Word".
|
|
|
|
|
|
* Do we want to allow the Native MathML output to use the new Web fonts?
|
... | ... | @@ -121,7 +122,7 @@ take into account: |
|
|
are used by default with other STIX/Asana Web fonts covering the missing
|
|
|
characters.
|
|
|
|
|
|
### Proposal
|
|
|
### File Hierarchy
|
|
|
|
|
|
The file hierarchy could look like this:
|
|
|
|
... | ... | @@ -140,16 +141,21 @@ The file hierarchy could look like this: |
|
|
* output/SVG/fonts/
|
|
|
* Idem mutatis mutandis.
|
|
|
|
|
|
The STIX fonts will be split into the following files. In most cases,
|
|
|
### STIX
|
|
|
|
|
|
The STIX fonts will be split into the following files
|
|
|
(4+4+2+2+1+4+1+1+5+8*4 = 56 fonts).
|
|
|
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
|
|
|
and Caligraphic/Script. The remaining glyphs will be classified via
|
|
|
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.
|
|
|
This may also contain the "Replacement character" (U+FFFD).
|
|
|
|
|
|
* Various fonts for the [Mathematical Alphanumeric Symbols](https://en.wikipedia.org/wiki/Mathematical\_Alphanumeric\_Symbols).
|
|
|
|
... | ... | @@ -159,7 +165,8 @@ their Unicode Blocks. |
|
|
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.
|
|
|
in the STIX-Main-* fonts, so we only need to add new files STIX\_Greek-*
|
|
|
for greek letters.
|
|
|
The other files will contain the latin/greek letters and digits for the
|
|
|
corresponding mathvariant category.
|
|
|
|
... | ... | @@ -172,68 +179,102 @@ their Unicode Blocks. |
|
|
STIX\_SansSerif-BoldItalic
|
|
|
* STIX\_Monospace-Regular
|
|
|
|
|
|
* STIX\_AMS-Regular, STIX\_AMS-Bold, STIX\_AMS-Italic, STIX\_AMS-BoldItalic
|
|
|
* STIX\_AMS-Regular
|
|
|
|
|
|
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.
|
|
|
These fonts will contain all the glyphs that are necessary to draw
|
|
|
stretchy operators. Glyphs are taken from STIXMath-Regular and moved
|
|
|
to valid Unicode code points (e.g. a PUA).
|
|
|
|
|
|
* Size1
|
|
|
* Size2
|
|
|
* Size3
|
|
|
* Size4
|
|
|
* STIX\_Size1-Regular: size variants 1.
|
|
|
* STIX\_Size2-Regular: size variants 2.
|
|
|
* STIX\_Size3-Regular: size variants 3.
|
|
|
* STIX\_Size4-Regular: size variants 4.
|
|
|
* STIX\_Size5-Regular: size variants 5 and glyphs for vertical and horizontal
|
|
|
constructions.
|
|
|
|
|
|
* Other Unicode blocks from STIX:
|
|
|
* [Other Unicode blocks from STIX](http://www.stixfonts.org/allGlyphs.html):
|
|
|
|
|
|
* 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)
|
|
|
These fonts will contain latin glyphs:
|
|
|
Glyphs from The Latin-1 Supplement (00080-000FF),
|
|
|
Latin Extended-A (00100-0017F), Latin Extended-B (00180-0024F) and
|
|
|
Latin Extended Additional (01E00-01EFF) blocks.
|
|
|
|
|
|
* STIX\_Language-Regular, STIX\_Language-Bold, STIX\_Language-Italic,
|
|
|
STIX\_Language-BoldItalic.
|
|
|
* STIX\_Alphabets-Regular, STIX\_Alphabets-Bold, STIX\_Alphabets-Italic,
|
|
|
STIX\_Alphabets-BoldItalic.
|
|
|
|
|
|
These fonts will contain glyphs for non-latin alphabets:
|
|
|
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 |
|
|
Cyrillic (00400-004FF), Hiragana (03040-0309F),
|
|
|
Letterlike Symbols (02100-0214F)
|
|
|
|
|
|
* STIX\_Marks-Regular, STIX\_Marks-Bold, STIX\_Marks-Italic,
|
|
|
STIX\_Marks-BoldItalic.
|
|
|
|
|
|
These fonts will contain specific diacritical or punctuation marks:
|
|
|
Spacing Modifier Letters (002B0-002FF),
|
|
|
Combining Diacritical Marks (00300-0036F),
|
|
|
Combining Diacritical Marks for Symbols (020D0-020FF),
|
|
|
General Punctuation (02000-0206F),
|
|
|
CJK Symbols and Punctuation (03000-0303F)
|
|
|
|
|
|
* STIX\_Arrows-Regular, STIX\_Arrows-Bold, STIX\_Arrows-Italic,
|
|
|
STIX\_Arrows-BoldItalic.
|
|
|
|
|
|
These fonts will contain various mathematical arrows:
|
|
|
Arrows (02190-021FF),
|
|
|
Supplemental Arrows-A (027F0-027FF),
|
|
|
Supplemental Arrows-B (02900-0297F)
|
|
|
|
|
|
* STIX\_Operators-Regular, STIX\_Operators-Bold, STIX\_Operators-Italic,
|
|
|
STIX\_Operators-BoldItalic.
|
|
|
|
|
|
These fonts will contain various mathematical operators:
|
|
|
Mathematical Operators (02200-022FF),
|
|
|
Supplemental Mathematical Operators (02A00-02AFF)
|
|
|
|
|
|
* STIX\_Symbols-Regular, STIX\_Symbols-Bold, STIX\_Symbols-Italic,
|
|
|
STIX\_Symbols-BoldItalic.
|
|
|
|
|
|
These fonts will contain various mathematical symbols:
|
|
|
Miscellaneous Technical (02300-023FF),
|
|
|
Miscellaneous Mathematical Symbols-A (027C0-027EF),
|
|
|
Miscellaneous Mathematical Symbols-B (02980-029FF)
|
|
|
|
|
|
* STIX\_Shapes-Regular, STIX\_Shapes-Bold, STIX\_Shapes-Italic,
|
|
|
STIX\_Shapes-BoldItalic.
|
|
|
|
|
|
These fonts will contain various shapes and non-mathematical symbols:
|
|
|
Geometric Shapes (025A0-025FF), Miscellaneous Symbols (02600-026FF),
|
|
|
Miscellaneous Symbols and Arrows (02B00-02BFF),
|
|
|
Block Elements (02580-0259F), Box Drawing (02500-0257F)
|
|
|
Control Pictures (02400-0243F)
|
|
|
|
|
|
* STIX\_Misc-Regular,
|
|
|
STIX\_Misc-Bold, STIX\_Misc-Italic,
|
|
|
STIX\_Misc-BoldItalic.
|
|
|
|
|
|
These fonts will
|
|
|
contain all the glyphs that have not been included in one of the
|
|
|
category above:
|
|
|
Superscripts and Subscripts (02070-0209F),
|
|
|
Enclosed Alphanumerics (02460-024FF), Currency Symbols (020A0-020CF),
|
|
|
Phonetic Extensions (01D00-01D7F),
|
|
|
Phonetic Extensions Supplement (01D80-01DBF),
|
|
|
Dingbats (02700-027BF),
|
|
|
Number Forms (02150-0218F)
|
|
|
|
|
|
### Asana Math
|
|
|
|
|
|
We will use a classification similar to the one described above for STIX fonts
|
|
|
and adapt "Other Unicode blocks" according the the characters supported. Except
|
|
|
for the "Mathematical Alphanumeric Symbols", we only provide a *-Regular
|
|
|
version since Asana Math is only one file.
|
|
|
More details will be provided when we try to support this font family... |