1. How do I add my own fonts?

Use the Fontmaker to create a FontMap. Select "field" or "Script" for the output so that the map is saved to a field castmember or script. The next step is to add an entry to the FontMgr library like this:

on mInit (me)


    me.LoadFont(#header, "NameOfTheCreatedCastMember")


When loading a font, you need to specify an id (symbol) that you will use to refer to the font, and the name of the field (or script or vList member) that has the fontMap. (the reason a symbol is used to refer to the font, rather than the name of the field containing the Fontmap, is that (a) symbols are not case sensitive and (b) more often than not, it is more convienient to refer to fonts as 'bodyFont' and 'headerFont' rather than their individual names)

2. I've added new font - but I get an error accessing it?

The first time a font is requested, the FontMgr initialises its library of fonts. Once initialised, it will not recognise any new fonts you have added and will remain 'initialised' until you quit Director or until you manually re-initialise it. To re-initialise the FontMgr, type the following into the message window:


This will force the fontMgr to re-initialise the library.

3. When the FontMgr initialises, I get a message in the message window that there was an "Error getting mapList for <#212>"

This means that the FontMap for that font didn't contain a character map for character with code 212. If you are not using any high-ascii characters, then you can ignore this message

4. My high-ascii characters (ellipses etc) are showing up wrong under Windows

There was a bug with the fontmapping. Make sure you have version 3.0.1 of the "Font.Class". (note - the fontmaps are stored using Macintosh codes. When rendering under Windows, characters are translated automatically by the Font.Class)

5. I'm using a few large, antialiased fonts - and it is really, really slow to start my movie. What gives?

Pixelfonts are defined by big propertyLists. Unfortunately, Diretor is unbearably slow converting strings to PropLists using value(). If you want to use more to one or two antialised fonts, it is better to store the fontLists in scripts or vList members (scripts are the quickest, but can be quite cumbersome to use in Authoring mode)

6. I'm using a non-Western font (such as Japanese) and I am having trouble creating and use pixel fonts

This issue is being worked on. The Pixelfont system uses the 'ASCII code' returned by Lingo's CharToNum and NumToChar to store and retrieve individual characters. If anyone has any insights into how Director treats 'double-byte' fonts, please let us know.

First published 23/05/2005