PackageDescription: MEMacOSXFont


ME Mac OSX Font

Last published: August 30, 2012 by 'stevek'

Defines 0 Classes
Extends 1 Classes


Fixes two problems with fonts in Mac OS X Aqua:

With 7.7.1 image and 7.7.1-7.9 VM on Mac OS X, selecting a font name containing a space gave a primitive failed error.
- The problem on native Aqua Mac OS X VM is that the available fonts are listed with spaces replaced with underscores; selecting them works, but asking for a font like 'Lucida Grande' (e.g. hard-coded in the LookPolicy) or 'Times New Roman' (e.g. chosen on Windows) will fail, because it doesn't match Lucida_Grande / Times_New_Roman.
- Fix is to undo the underscore<->space and hyphen<->tilde translation, so fonts are shown and work with the names seen in other Mac apps and on other platforms.
- On a Mac X11 VM, this is still an open issue.
- EuroTSC Case 435549

On native / Aqua Mac OS X, unfound fonts would more often give a font missing error rather than finding an approximate match
- MacOSX Aqua fails to set FontDescription pixelSize correctly. Instance variable should be 0, meaning scalable, but was being left as nil. (This caused an extra penalty of around 3 when matching fonts on the Mac, i.e. for a minimal unfound font family around 8 rather than 5. As the FontPolicy tolerance is only 9, any more exotic font request easily broke that limit on Mac, but would be fine on other platforms.) When creating a font from a concrete font to match a requested font, use the requested font's size if the concrete font is scalable.
- EuroTSC Case 435580