The STIX folks (Scientific and Technical Information eXchange) folks have a beta version of their math font. There are more math characters in the STIX fonts than in Cambria Math. The primary typeface is Times Roman. This post describes how you can examine the fonts and gives some reasons why they aren’t quite ready to use with Word 2007 and RichEdit 6. To get the fonts, go to http://www.stixfonts.org/ and follow the download instructions.

On Windows, you can use Asmus Freytag’s nifty Unibook program to look at the fonts. Unibook is the program that typesets the Unicode Standard’s code charts and it’s also great for checking out character properties. Here are Asmus’s instructions on how to use it to see the fonts and where the characters are located:

1) download Stix fonts, unpack, and drag/copy to Windows/Fonts folder to install

2) download Unibook (beta) from http://www.unicode.org/unibook

3) create a StixBeta.cfl file (see below)

4) run Unibook, open that cfl file using File / Open,

5) Select Index View in View/Show As..

6) Check "Show Private Use Area" in the View / Show As.. dialog

StixBeta.cfl is a text file with these lines

STIXIntegralsDisplay,22

STIXSize1Symbols,22

STIXVariants,22

STIXNonUnicode,22

STIXGeneral,22

STIXGeneral,22,I

STIXGeneral,22,B

STIXGeneral,22,BI

Let’s examine the font STIXGeneral.otf. It has a math table, so Word 2007 does recognize it as a math font. But as soon as you type an English letter in a math zone, Word 2007 switches to Cambria Math because STIXGeneral.otf doesn’t have any math italic characters. If you don’t load the cfl file above (which shows all the characters), Unibook reveals that STIXGeneralItalic.otf *does* have math italic, but not math bold italic, or math bold.

The Unicode Technical Committee added the math alphanumerics primarily because without them plain text can destroy the semantics of mathematical expressions. The Hamiltonian example appearing in Sec. 2.2 of Unicode Technical Report #25 illustrates that plain text without math alphanumerics converts the Hamiltonian into an integral equation. For plain text to display such characters faithfully, they must all be in the same font, since plain text ignores rich-text attributes like bold and italic. Accordingly, Office 2007 software assumes all the math alphanumerics belong to a single font. So the first thing to fix is to put all the math alphanumerics into STIXGeneral.otf.

In addition, the various size glyph variants need to be accessible in this font. There are some little errors, such as U+2145..U+2149 (including the differential d U+2146) have upright glyphs in STIXGeneral.otf. This error is probably related to the choice of putting all italic into an italic font, upright into an upright font, etc., which doesn’t agree with the Unicode Standard for math characters.

For nonmathematical text, such a separation is standard practice and the italic, bold, and bold-italic fonts are needed for such text. But these fonts shouldn’t have any math alphanumerics, since the latter belong in the math font.

Needless to say, we’re all very excited to see this excellent font family running with our software. It’d be great to have a choice of two math fonts and the STIX fonts have many less common math operators that are missing in Cambria Math.

Thanks for the comments; it’s good to hear that People That Know are passing on feedback on the STIX fonts. I’m assuming they’ll be listening to you, at least :)

It will be great to get those fonts working in XeTeX. I’ve got a package almost raring to go for LaTeX support, but development has been idle while I’ve waited for these fonts. A few more months won’t hurt in the long run.

All the best,

Will

Have you yet tried Apostolos Syropoulos’s Asana Math font (http://tug.ctan.org/pkg/asana-math)? It’s in beta now, but also claims to include “almost all mathematical Unicode symbols” and “the MATH OpenType table”.

Also, what is the procedure for setting math in a new font?

—??ℴℯ??

I checked out the Asana Math font a bit and it is recognized by bother Word 2007 and RichEdit 6.0 as a math font. It’s an interesting modern looking typeface. Unfortunately the descenders on characters don’t appear (maybe the descender data is missing?) and glyph variants for stretchy characters aren’t defined. So integrals only display the middle piece of a large integral. Also the script and scriptscript variants aren’t detected, so the scaled normal font is used. This yields scripts that are lightface in comparison to the text style. This font is probably intended to be used with TeX. It would be nice to add the appropriate info to use it with Word 2007, etc.

@JCSalomon:

I’m not sure if you were referring to LaTeX or Word, but I’m currently working on a package to use OpenType math fonts in LaTeX+XeTeX. It’s not ready for much use at all at the moment, but if you’d like to check out the current state of things I’ve got some code here:

<http://scripts.sil.org/svn-public/xetex/TRUNK/texmf/source/xelatex/unicode-math/>

@Murray:

I’ll pass on your comments to Apostolos. Thanks for looking into it — I’m sure he’ll appreciate the feedback.

Will

Hi Murray,

Do you have any information on the status of the Stix Font project? The last posting on their website indicated an April release target for the fonts.

The Times New Roman appearance is of interest as there has been some interest from folks who write articles where publishers who insist that submissions be in Times New Roman in the entire document.

Fred

Hi Murray.

#define EM_INSERTTABLE (WM_USER+232)… OK!

(WM_USER+233) ??? == EM_UNKNOWN_MESSAGE?

What is message WM_USER+233?

This message NOT defined in RichEdit.h?

2) I not found definition of EM_INSERTTABLEROW.

Help me, please!

Recently, the STIX fonts v.1.1 enter the new beta test program (http://stixfonts.org/). In this beta program, a new math font, called "STIX Math", for MS-Office is available. In this stage of development, the "STIX Math" has some problem and does not work correctly yet (e.g. integrals are not shown in math expressions,…), but hopefully some day it will be usable in Math zones of MS-Office.