Making fonts in AS3 is fun

The instructions that come with the FIVe3D font making utility are pretty clear overall but on OS X 10.4 it can be confusing to find which WindowSWF folder to use. Is it /Applications/Adobe Flash CS4/en/Configuration/WindowSWF/ ? Or is it /Applications/Adobe Flash CS4/Common/First Run/WindowSWF/ ?

Actually, the place to put “Make a new typography file.swf” is here: /Users/youruserhandle/Library/Application Support/Adobe/Flash CS4/en/Configuration/WindowSWF/.

I used a font called Roadkill. When the font was created, the Flash CS4 Output window said: ‘”” is in the current folder.’

Since my hard drive is partitioned, it wasn’t immediately clear what was meant by “current folder” in this case. The font.fla file I used to create via the font-making utility was on the 2nd partition, i.e. not on the main partition.

It turns out “current folder” meant the top most directory on the main partition on my OS X machine, right next to Users, Developer, Library, Applications, System.


A quick note about compiling FIVe3D examples in Flex

One of my favorite FIVe3D examples is this AS3 banner by Bartek Drozdz.

I downloaded the source code graciously provided by the author but when I tried to compile in Flex Builder 3 w/ SDK 3.4, I kept getting errors that told me Flex can’t find classes found in the “fl.motion.*” package. Since that particular package only works in the Flash IDE, I had to make some small adjustments to the FIVe3D banner code to get it to compile as a Flex Builder Actionscript application. Basically, I had to substitute all “fl.motion” package classes with their equivalents from the TweenLite library. For example, when an easing function, such as “import fl.motion.Elastic” was required by line 6 of, it was quick and easy to change that to “import gs.easing.Elastic,” while making sure the relevant “gs” packages are actually at the location you’re telling the application they’re located.

In and I commented out these lines and most of the banner example’s functionality remained unaffected:

/* ... */ 
import fl.motion.Color;
/* ... */ 
var color:Color = new Color();
color.brightness = brightness;
color.alphaMultiplier = alpha;
transform.colorTransform = color;
/* ... */