Font management in Flash has never been worth a wow but in CS3 Adobe has forgotten proper font embedding at all.

In previous versions (e.g. CS2) it was possible to create a Font instance in the library. The same procedure is there in CS3:

Font Symbol Properties

But even though it's there only Basic Latin characters make it through the compilation process and there's no unicode range for the font instance in the resulting SWF file. Yet the trouble goes deeper than that. If you've previously used Font Symbol Name for your TextFormat definitions in ActionScript that is no more the case.

If the Font instance was exported for ActionScript as Bitmap text, Flash will change the instance name to the font's actual name postfixed with _8pt_st if the font size in the Font Symbol Properties dialog was 8pt. If the font was not exported as Bitmap text, font name remains and the instance name given in Font Symbol Properties dialog is actually ignored.

There's no real workaround for proper font embedding in Flash CS3 IDE so far. The only recommendation would be to use common character embedding to an on-Stage TextField and use it as a shared resource application-wide:

Character embedding

It has been reported that some of the characters embedded may appear erroneously and look garbled. It is unknown why it happens yet it has been proven that embedding Data Fork Fonts (dfont) instead of TrueType Fonts (ttf) gives a better result on a Mac.

To make changes to a font outline or format you might want to check out FontForge.

For those of you willing to play around there are 2 different Flash sources:

  1. Font embedding using AS3
  2. Font embedding using AS2

Your comments and discoveries are most welcome.

Related resources: