Another idea I had while reading Knuth's "TeX: The Program"
> is to use the layout information in the TFM font metric
> files. Apparently math fonts have additional layout
> information in them, like where to place superscripts. I've
> looked at several tfm parsing implementations, and
> I wish you luck!
Who needs luck when we've got people like you around!
> Taking this as a challenge (and having little to do while
> waiting for images to process), I wrote a TFM parser that
> handles the extra parameters for math symbols. This
> format is excruciatingly painful.
> And then I realized that the output of tftopl(1) is
> incredibly easy to parse and contains the same
> information. <sigh>
> Either way, you now have the information you need for some
> fonts, at least.
Awesome - impressive work for an afternoon. Thanks for pointing me to
that dvi specification reference. I was trying to discern the format
from TeX: The Program, which despite its literate style, was less
accessible than the reference you pointed to. It is painful, though,
as you say, no matter how you slice it.
Funny that I missed tftopl in my hunt for a parser, which was sitting
right on my system the whole time.
In order to use this information in mathtext, we have reconstruct the
mapping from TeX symbol name to font and character number for each of
the tex symbols we use (cmr10, cmi10, cmex10 and cmsy10) . Currently
mathtext hardcodes the mapping from tex name to bakoma
A better approach would be to use either the mathml or unicode number
as the internal code for each symbol, and then provide mappings from
these to the tfm fontname/charnum and to the corresponding tex symbol
names - my guess is that this has already been done and we just have
to dig it up.
Then we could use any of the fonts (Wolfram, Design Science, Symbol,
AMS, Bakoma) at http://www.mozilla.org/projects/mathml/fonts/encoding
for matplotlib mathtext, since the mapping from mathml/unicode to
fontname/charnum already exists on pages like
http://www.mozilla.org/projects/mathml/fonts/encoding/cmr.html, and is
easily parsed (I already did this when I was working on PS mathtext
with type1 fonts before Paul had the bright idea of just embedding the
truetype fonts in the ps document and reusing what we already had.
In summary, it would be nice to be able to readily go from tex name
<-> mathml/unicode name <-> fontname/charnum in a variety of files,
including at a minimum the bakoma ttf and the corresponding tfm files.
Got some images to process today <wink>
Does this sound like the right approach to you?