Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • STIX and Asana

STIX and Asana · Changes

Page history
Give the general classification to split STIX font files. authored Mar 18, 2013 by Frédéric Wang's avatar Frédéric Wang
Show whitespace changes
Inline Side-by-side
STIX-and-Asana.md
View page @ 984e9f5c
...@@ -42,9 +42,9 @@ The basic issues to support new fonts are the following: ...@@ -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) This is the case for STIX 1.1 "General" (the legacy version)
and Asana fonts, so we can in theory and Asana fonts, so we can in theory
support local and Web versions. For other mathematical fonts like 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 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 * In certain cases (old browsers, security restriction...), Web fonts are not
available so MathJax has to use images fonts instead. For the 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: ...@@ -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) * 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 and one file with an OpenType Math Table (and so glyphs used for stretchy
operators). 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 integral symbols, a STIXNonUnicode file for some non unicode glyphs and
various files for size variants. Some of these files have variants for each various files for size variants. Some of these files have variants for each
style (Regular, Italic, Bold, BoldItalic). style (Regular, Italic, Bold, BoldItalic).
...@@ -103,19 +103,19 @@ take into account: ...@@ -103,19 +103,19 @@ take into account:
the MathJax fonts since the local and Web versions are the same. 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 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. 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 For Native MathML support, note that we
we can probably just focus on the most recent woff format. we can probably just focus on the most recent woff format and that
In the long term, they are likely to support the Open Type tables and we download time is not a problem.
could maybe copy this table into our Web fonts. That's another reason why 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". it is best to work with STIX "Word".
* STIX and Asana have much more characters than our MathJax TeX fonts. Of * 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 course that's one of the reason why we want to support them (besides
providing alternative styles). So we need more categories than those providing alternative styles). So we need more categories than those
given in MathJax. The most obvious option is classification by font style given in MathJax. The most obvious option is classification by font style
(bold, italic, bold-italic) and to follow existing Unicode (bold, italic, bold-italic) and to follow existing MathJax/Unicode
subcategories (for example those given in subcategories. Finally, we can provide a file with all the remaining
[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
characters, that are less often used in mathematics. characters, that are less often used in mathematics.
In the future, we could consider a "mixed mode" where MathJax TeX fonts 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 are used by default with other STIX/Asana Web fonts covering the missing
...@@ -140,27 +140,100 @@ The file hierarchy could look like this: ...@@ -140,27 +140,100 @@ The file hierarchy could look like this:
* output/SVG/fonts/ * output/SVG/fonts/
* Idem mutatis mutandis. * Idem mutatis mutandis.
The STIX and Asana fonts will be split into the following The STIX fonts will be split into the following files. In most cases,
categories. Other subdivisions will be used for Regular, Bold, Italic we will preserve the Unicode code points. We will follow the
Bold-italic. We will preserve the Unicode code points, except for subdivision of MathJax fonts, but ignore the distinction between Main/Math
STIXMath-Regular where the glyphs must be moved to one of the PUA. and Caligraphic/Script. The remaining glyphs will be classified using
their Unicode Blocks.
* Main or Math?
* Size1 * STIX\_Main-Regular, STIX\_Main-Italic, STIX\_Main-Bold, STIX\_Main-BoldItalic.
* Size2
* Size3 These fonts will contain the glyphs from Basic Latin Unicode block
* Size4 (U+0000 to U+007F) as well as the characters from the MathJax-Main fonts.
* Caligraphic (regular, bold, italic, bold-italic)
* double-struck * Various fonts for the [Mathematical Alphanumeric Symbols](https://en.wikipedia.org/wiki/Mathematical\_Alphanumeric\_Symbols).
* script
* fraktur These fonts will cover all the glyphs from MathJax's
* sans-serif Caligraphic, Fraktur, Sans-serif, and Greek fonts.
* monospace We can probably do a remapping to ASCII positions (as we do for the
* isoamsa Added Math Symbols: Arrow Relations MathJax fonts) to avoid bugs with some browsers not able to access
* isoamsb Added Math Symbols: Binary Operators non-BMP characters. Note that latin characters and digits for
* isoamsc Added Math Symbols: Delimiters normal, bold, italic and bold-italic mathvariants are already contained
* isoamsn Added Math Symbols: Negated Relations in the STIX-Main-* fonts, so we only need to add new files for greek letters.
* isoamso Added Math Symbols: Ordinary The other files will contain the latin/greek letters and digits for the
* isoamsr Added Math Symbols: Relations corresponding mathvariant category.
* ...
* Other * 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
Clone repository

MathJax Wiki

  • Contributing
  • Development
    • Development Process
      • Release Process Checklist
      • Hotfix Release Process
      • Documentation Update Process
      • Source Control Policies
    • Design Documents
      • MathJax Roadmap
      • CDN Hosting
        • Managing Rackspace Cloud Files & CDN
        • Directory Structure
        • .htaccess settings
        • Managing Amazon Cloudfront
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Configuration Options
      • Documentation generation guide
      • Testing
        • Platforms supported
        • Test Machines
  • MathJax web presence
  • Drafts