[Etoys-notify] [JIRA] Updated: (SQ-63) Font not preserved on project save/reload

jira at immuexa.com jira at immuexa.com
Sun May 31 18:07:41 EDT 2009

     [ http://tracker.immuexa.com/browse/SQ-63?page=all ]

Scott Wallace updated SQ-63:

    Fix Version: review
                     (was: someday or never)

> Font not preserved on project save/reload
> -----------------------------------------
>          Key: SQ-63
>          URL: http://tracker.immuexa.com/browse/SQ-63
>      Project: squeakland
>         Type: Bug
>   Components: etoys
>     Reporter: Scott Wallace
>     Priority: Optional
>      Fix For: review
>  Attachments: Devnew.ttf
> From TRAC ticket 4604:  Font not preserved on project save/reload
> The change history on TRAC:
> (original ticket, Luke Gorrie): I'm losing my choice of font when I save and reload a project. The steps to reproduce are: 1. Drag&drop to import Devnew.ttf (devanagari font, attached) 2. Create a text morph from the objects box. 3. Switch font of text morph to DevanagariNew. 4. Save project to file. 5. Load project from file. In the loaded project the text is no longer in DevanagariNew font.
> Attachment - Devnew.ttf (74.8 kB) - added by lukego 16 months ago.
>     Devanagari truetype font 
> (jim gettys comment)  This will make etoys very painful to use for many scripts. Probably worth fixing sooner rather than later...
> (bert)  Well ... embedding fonts in etoys projects gets us into all sorts of interesting problems, probably more legal than technical.
> One thing that should come with Pango support (#4011) is that we at least can use all fonts installed on the system - although that severely limits the cross-platformness of projects.
> (luke)  To clarify: the issue is that even if the font is present in the image it won't be preserved through saving and reloading the project (in the same image). So embedding the font in the project shouldn't be necessary for the solution, it'd be enough to find the right font in the image when loading the project.
> (bert)  I don't quite understand. Drag-and-drop of the TTF into the image does not mean it gets installed permanently into the image. We are not saving the image normally. So when resuming a project using that font, the image will be fresh and not have the font anymore.
> (luke)  The trouble is that saving and then loading the project does not preserve the font choice, even though the font is present in the image at both times. Try the steps!
> I should add that I'm using the XO image on a Macintosh with the Squeakland VM and saving/loading the project via the World menu.
> (korakrider) How interesting, I can reproduce this along with the Luke's report. Here is the precise steps that I reproduced it:
> 1. start EToys image (with Win32 VM for me) 2. drag-n-drop DevNew.ttf onto EToys. 3. create TextMorph 4. choose DevnagariNew in menu of TextMorph, then the morph is shown in that font. 5. open classic navigator 6. save the project 7. without quitting Etoys (NOTE image still holding the TTF at this point), load the project, then the TextMorph is shown in Accuny font.
> (luke)  Workaround: Evaluate 'TTCFont registerAll' after installing the font and creating a TextMorph that uses the font. This workaround is fine for me!
> The problem as I see it is that drag-and-drop font installation doesn't do sufficient registration because TTCFont>>familyName:pointSize:emphasis: won't find the font.
> The "project load/save" symptom is because the reference to the font is serialized as a DiskProxy that will call TTCFont>>familyName:pointSize:emphasis: at loading time and fail to find the font.
> (yoshiki)  That (i.e. Luke's "Workaround" above) sounds like a proper fix!

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

More information about the Etoys-notify mailing list