Bug Report - Flash 8 Pro and Flash CS3 Pro: Font embedded multiple times.

When I received my copy of Flash CS3 Professional, the first thing I did was try to reproduce bugs I had found in earlier versions to see if they had been fixed. One of them I tried was a bug in the way fonts are embedded. Low and behold, the bug feature was still there.

The bug occurs when you type the name of a font you want to use for a TextField, into the “Properties” panel. If what you type, does not match EXACTLY with what the title of a font is in the font list, you run the risk of having the same font embedded multiple times.

Why is this important to you? Two words: Filesize Bloating. I don’t know of many Flash developers in the world that don’t care about making their files download as fast as possible and making them as small as possible. That being the case, this bug is probably important to you.

If you ALWAYS use the dropdown font selection tool, then this bug probably doesn’t affect you. Like most designers though, if you know the names of the fonts and quickly type them in, I hope learning about this bug will help you.

I’ve outlined how to reproduce the bug and see how it can affect your files. Don’t be scared by the number of steps. Even though there are many, all of them are very easy to complete.

  1. Open a new document in Flash. (I used Flash CS3 Professional).

  2. (Optional) Save the document. I make it a point to always hit CTRL+S to save my documents while I am working on them in case the program crashes randomly. This habit has saved me countless hours of work and stress.

  3. Add a TextField to the stage using the “Text” tool. Keyboard shortcut “T”.

  4. Set the font of this TextField to “Arial” using the font selector drop down menu in the “Properties” Panel if it isn’t already been set to “Arial”.

  5. Add a 2nd TextField elsewhere on the stage.
  6. Set the font of this TextField to “arial” by typing it exactly as I have, noting the lowercase spelling, into the font selection field and then hit the ENTER key. The font name will change to “Arial” after you hit ENTER even though you entered “arial”.

  7. Add a 3rd TextField elsewhere on the stage.

  8. Set the font of this TextField to “ariaL” by typing it exactly as I have into the font selection field and then hit the ENTER key. The font name will change to “Arial” after you hit ENTER even though you entered “ariaL”.

  9. Select all three TextFields and click the “Embed…” button in the “Properties” panel. This will open up the “Character Embedding” Dialog Box.

  10. Choose a few glyph categories to embed and then click the “OK” button. I chose “Uppercase”, “Lowercase”, “Numerals” and “Punctuation” for my example, but you can choose any you wish. Choosing “All” will produce the most striking results.

  11. Go to File->Publish Settings and click on the “Flash” tab. Select the “Generate Size Report” feature. At this point, if you want to, uncheck the “HTML” option in the “Formats” tab as we do not need that file.

  12. Publish the File by hitting SHIFT+F12 or go to File->Publish.

  13. View the Size Report: The output panel should have opened up automatically showing the Size Report for the file we created. If the output panel did not open up or isn’t visible, hit F2 to show the “Output” panel. Another option for those that followed Step #2 is you can open the size report by going to the directory where you saved your .fla file. The Size Report is named the same as your .fla file with “_report” appended to the end with a .txt file extension.

    Final Screenshot

    Generate Size Report for Font Embedding bug example.

As you can see in the final screenshot, the bug caused the compiler to embed three instances of the same font into our published file even though they all are the same font.

Moral of the story: Use the “Generate size report” feature and check it while you’re working or when you’re done with your project!

I showed the bug to developers at the recent Adobe MAX 2007 convention held in Chicago. So hopefully it will be fixed in the next version, or even better in an update to Flash CS3. ;)

Note: I don’t recall if the bug feature was “available” in Flash MX 2004 Professional since it’s been so long since I’ve used that let alone older versions. If any of you are still using those versions or still have it installed on your machine, the steps I outline above to duplicate the bug are the same in those versions. That way you can see if your version is affected. If it is, please add a comment to my post so that I other’s can be aware of it. :)

You must be logged in to post a comment.