GG's Flash Blog

12/18/08

How to embed fonts in Flash

Permalink 01:35:39 am, Categories: ActionScript, Font, 535 words

Issue:

  • Text in dynamic/input text field not displayed.
  • Text missing after scale, screw, or rotate the text field.
  • Text problem when masking or tweening.

Reason:
Flash does not embed the entire font with all the characters. By default, only used glyphs embeded for static text fields, and no glyphs embeded for dynamic and input text field.

Solution:
Embed the required font glyphs to your Flash document.

Firstly, make sure that the fonts that you want to embed has already been installed in your local machine.

To embed a font thru Property Inspector

  1. Create a dynamic text field on your stage

  2. From the Property Inspector select 'Embed...' (or 'character' for older version of Flash software).

  3. Choose the character ranges that you want to embed.

  4. Press OK

Note: Make sure that you choose all the range of characters that may appear in the textfield
For Flash 5, you can embed the font thru the Text Options panel (Window>Panel>Character).

To embed a font in ActionScript

  1. Emmbed the font to the library of your Flash document
    - Open Library (Ctrl-L).
    - Click on the Library options button, select New Font.
    - In Font Symbol Properties dialog, select font, style, and size, set the value for name (e.g. my_font), then press OK.

  2. Set linkage for the font symbol
    - Right click on the font symbol in Library, select Linkage...
    - In Linkage Properties dialog, enable the Export for Actionscript option, then press OK.

  3. Create text field
    - Create a dynamic or input text field on your stage
    - In Property Inspector, set the font (my_font*), and set the style and size same value with step 1
    - Set the instance name for the text field, (e.g. my_txt)

  4. Add ActionScript
    - In Action Panel, add the following script

    • For ActionScript 2
    • var myFormat:TextFormat = new TextFormat();
      myFormat.font = "my_font";
      myFormat.size = 24;
      my_txt.autoSize = "left";
      my_txt.embedFonts = true;
      my_txt.setTextFormat(myFormat);
    • For ActionScript 3
    • var myFont:Font = new my_font();
      var myFormat:TextFormat = new TextFormat();
      myFormat.font = myFont.fontName;
      myFormat.size = 24;
      var myTextField:TextField = new TextField();
      myTextField.autoSize = TextFieldAutoSize.LEFT;
      myTextField.defaultTextFormat = myFormat;
      myTextField.embedFonts = true;

With the font embeded in your Flash document, you can dynamically set the font style, format, rotation, alpha, & etc. and allows mask, tween, and skew of a dynamic text field while gives a consistent, predictable viewing of fonts in your swf. However, embeding a font will increase your SWF file size.

Font embedding in other software
Flash is not the only software which require manual embedding font into published document.

In Microsoft PowerPoint, we need to embed fonts in Save As dialog, Save Options,
choose Embed TrueType fonts for PowerPoint 2003 or below, or choose Embed fonts in the file for PowerPoint 2007.

For web application, we can embed font by converting the font to Portable Font Resources (.pfr) and Embeddable Open Type (.eot) format, and then using <link> and <style> html tag to embed the font.

  • <link rel="fontdef" src="yourfont.pfr">
    <style type="text/css">
    <--!
    @font-face {
    src:url(fonts/yourfont.eot);
    }
    -->
    </style>

Additional Information:

LiveDocs:
Embedding fonts

Flash Quick Start:
Embedding fonts

Permalink Share/Save/Bookmark Subscribe Send feedback

Comments, Pingbacks:

No Comments/Pingbacks for this post yet...

This post has 1 feedback awaiting moderation...

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))

Previous post: WMODE for SWFNext post: Video covered whole screen area when full screen

XeerSoft - Web-based Integrated Global Business Solution Provider

Accounting, Inventory, Reservation, Transportation, Commission, Point of Sale (POS), CRM, Membership, Time Attendance, Payroll, Human Resource, Manufacturing, Merchandising, Financial, Workflow...
http://www.xeersoft.com


Your ads here

Flash Reference

To share what I have learned from people who have shared.

 << <March 2010> >>
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Search

Categories

Archives

Who's Online?

Account

Syndicate

Donation

If you find GG's Flash extensions or any of our resources useful, help support future development by making a donation.

Ads

Valid XHTML || Valid CSS || Valid RSS || Valid Atom

Copyright © 2006-2009 GGSHOW. All Rights Reserved.
GGSHOW.COM | GGSHOW.NET
eBoaY | tuBabe | syndicater | Nobody's Website | NeverTheLink | NiShiZuiHaoDeNiZhiDaoMa | WorldCoin