Issue

When you open an Adobe Flash CS4 file with text in Flash CS5, characters are missing. For example, "You won the game" appears as "Yu wn h gam."

Solution 1: Use Device Fonts.

Select the affected text blocks and set the anti-alias mode to Use Device Fonts. This setting uses the fonts that are on the end user's computer. When the font used isn't available, Flash uses a similar font in its place. 

Solution 2: Embed the fonts.

In Flash CS5, you manage font embedding in the Font Embedding dialog box.

  1. Choose Text > Font Embedding. You can also open it via the Text Property Inspector and the Properties of a Font Symbol in the Library.
  2. Add the fonts and character ranges you need for your text fields and click OK. When you create the SWF file, Flash embeds all of the characters necessary to render the text field.

The text always looks as it was designed to, even if the font isn't available on an end user's computer. However, font embedding can make your SWF file larger. 

For more information on Font Embedding and Anti-Alias modes, see Embed fonts for consistent appearance in the Flash online Help.

Additional information

Missing characters occur in files that have the following characteristics:

  • The file contains ActionScript code that programmatically changes the text of a text field at runtime.
  • The file has selected an anti-alias mode other than Use Device Fonts.
  • The file is not embedding the necessary fonts and character ranges.

If the anti-alias mode in Flash CS4 isn't Use Device Fonts, and there's no embedded text, Flash uses device fonts when creating SWF files. Font embedding is on a per-text-field basis, so it is easy to determine whether a font is embedded.

Flash CS4 uses Device Fonts automatically, without the user knowing it, so the SWF file works correctly on the local authoring computer. The problem isn't noticeable until the SWF file is published and tested on an end user's computer.

In Flash Pro CS5, font embedding is document-based, rather than on a field-by-field basis as it is in Flash CS4. Flash CS5 automatically embeds characters in text fields on the Stage if an anti-alias mode other than Use Device Fonts is selected. So, it's unnecessary to revert to the Use Device fonts setting.

This behavior creates a problem for older files with ActionScript. If a Classic text field has embedded fonts, but no fonts are embedded in the SWF file, the Classic text field is blank or missing characters.

Keywords: cpsid_83162

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy