by Michael S. Kaplan, published on 2007/08/09 23:57 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/08/09/4317492.aspx
This is one of many posts that was written around the time that TypeCon2007 was going on, and edited later....
So last week, at the very beginning of TypeCon 2007, there was a workshop about math fonts and the Microsoft math engine.
And this is like the pre-pre-con -- on the east side, involving no travel downtown (even on that innocent Tuesday I had already decided to spend the week in the scooter tasking the bus across the water).
Amazingly (to me, I mean), there were several familiar faces there, from both inside and outside of MS. It was the first indication that TypeCon wouldn't be only strangers to me. This was good as in my mind I was worried that might be the case!
The talk was quite dizzying, first with Murray Sargent over on the Office side and then with Sergey Malkin on the Windows side. The talk covered the engine in Office and of course the font (Cambria Math). For a moment, I was even sad that I ended up so far away from what I was originally thinking about (something in mathematics), though I think things worked out okay, and this way I still get to look at math stuff from time to time....
This post is mostly not about math though (since as I pointed here and here, Murray can do that better over in his blog anyway!).
I'll put an equation in here for fun though!
In particular there was an issue that came up during the presentation about how math zones work.
It was about phantoms and smashes, the ways to add and remove white space from within math zones to impact the display of mathematical expressions (beyond the obvious fun of all of the interesting puns about how if phantoms get smashed, they disappear!).
Thinking back to Aye, ye dinna ken kern and the whole discussion about how the GDI kerning table is primitive compared to what Uniscribe/OpenType does.
In that post I mentioned I'd talk about more sophisticated kerning thoughts; no time like the present!
Of course even what these later technologies do is pretty primitive compared to what ought to be happening for kerning, especially in more complex letter formations where a real kerning solution would in theory be able to intelligently determine the default expected "comfort zone" of a character or a collection of characters.
Once that bit of "personal space" is determined for adjoining characters (or cluster of characters), kerning can be done by putting them as close as possible without invading the space of each.
And when extending that to math zones, the need for independently adding space (by adding phantoms) or removing it (by adding smashes) could really be for the most part abandoned, just like the workaround hacks that they are.
All we need is a sophisticated kerning mechanism that can get the job done. :-)
This post brought to you by 𝔚 (U+1d51a, a.k.a. MATHEMATICAL FRAKTUR CAPITAL W)