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
Finish description of STIX and other changes. 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 @ 921c80a6
......@@ -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...
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