Today I noticed a new bug; persisted TextMorphs were always
materializing with the default font.
TTFontDescriptions are canonicalized into a class var, with each image
potentially having a different set of fonts. Magma doesn't reinvent
the wheel; employing the built-in System behavior, the DiskProxy
mechanism to, upon materialization, lookup the font by name and, if
not present, use the Default.
The problem was two-fold. First, "Ma object serialization" was
incorrectly looking it up by #fullName, instead of #name, causing the
Default font to always be used. Second, the base Squeak 3.9 image
somehow lost all but one of the cached TTFontDescriptions from 3.8.
The attached file-in will simply restore these (from allInstances, of
which there are exactly 10 in 3.9).
After these two fixes, my TextMorph fonts are now correctly being
identified and used.
Name: Ma object serialization-cmm.172
Author: cmm
Time: 6 February 2008, 4:51:45 pm
UUID: c0679f66-0835-d147-8881-58c38d8f8746
can be found on the MagmaTester project of SqueakSource.
This will, of course, be integrated into r41.