Skip to content

Create a unified Math font #23

@mathijshenquet

Description

@mathijshenquet

I would like to propose the creation of a single unified font file containing all the glyphs used for ordinary mathematical typesetting.

With ordinary mathematical typesetting I mean typesetting in math mode of a plain LaTeX installation with the AMS packages. By default the punctuation and special characters like ,, %, ! etc in this mode are taken from the roman font, I will call this font the base font.

Currently MathJax creates the following font files containing the glyphs used for ordinary math typesetting (ignoring Size* fonts for the moment):

  1. Main-Regular - The roman font used as base font. This supplies the punctuation and special character glyphs, like the commas in $a, b, c$.

  2. AMS - Contains many special symbol glyphs, like $\geqq$. With, as far as I can see, no overlap with glyphs from Main-Regular.

  3. Math-Regular, Math-Italic, Math-BoldItalic, Caligraphic-Bold, Caligraphic-Regular, Fraktur-Bold, Fraktur-Regular, SansSerif-Bold, SansSerif-Italic, SansSerif-Regular, Typewriter

    These contain the differently styled alphabetical a-z, A-Z glyphs, some of these additionally contain numeral 0-9 glyphs, and some contain greek character glyphs.

Some of the fonts from part 3 (like SansSerif-*, Fraktur-* and Typewriter) contain glyphs used for other purposes, such as typesetting text, not used in ordinary math typesetting. For example some contain glyphs for punctuation and special characters already supplied by Main-Regular.

Unicode provides codepoints for all glyphs mentioned in parts 1, 2 and 3 so in principle only a single Math font is necessary to do ordinary math typesetting. This could be done in the following way:

  • The glyphs from parts 1 and 2 can be merged with little (no?) conflict.
  • The alphabetical, and where applicable the numeral and greek, glyphs in parts 3 can be placed as indicated by the unicode Mathematical Alphanumeric Symbols guideline.
  • The resulting font file could be called Math-Roman or Math-Regular signifying the underlying roman basefont used. Later other fonts like Math-SansSerif could be created where punctuation is taken from the SansSerif font (there are usecases for such a thing).

I think the creation of such a unified font file, even if not directly used for the MathJax project, is a good idea for the following reasons:

  1. It provides a more faithful encoding of the mathematical content. Usage of a Bold font should be styling change, but using bold in mathematical writing signifies different semantics as codified in the unicode Mathematical Alphanumeric Symbols.
  2. The glyphs not used for ordinary math typesetting (as described above) don't need to be transmitted. Admittedly this is a tradeoff since user might need those later for other purposes. Also a user not interested in using SansSerif in math mode won't be able to opt out of it anymore.
  3. It creates a high quality mathematical font for the world to use.

Greetings Mathijs

PS. I would gladly work on this myself

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions