Skip to main content

Font embedding in Flash cs5

When i switched to Flash CS 5 am always confused with font embedding in Dynamic Textfield. It's different from CS4 and also not simple. So i am trying to list out the methods i used to embed fonts in flash CS

Method One
It's used to embed fonts for single or similar type of textfields. If the textfields were using same font and format this is effective. To do so first select the TextField and goto the properties panel.


select the embed button . It will open embed window. select the glyphs needed.

In this method any additional code is not needed.

Method Two
If you tried to embed same font with different textformat using the above method , most probably the format will not be applied. To solve this the subset of the fonts should be embedded and need format textfield using TextFormat.

The code looks like this:

var format:TextFormat = new TextFormat();
format.font = "Helvetica";
format.bold = true;

var format3:TextFormat = new TextFormat();
format3.font = "Helvetica";
format3.bold = true;
t2_txt.embedFonts=true;
t2_txt.defaultTextFormat = format;
t3_txt.defaultTextFormat = format3;

t1_txt.text = "Hello World 01 *";
t2_txt.text = "Hello World 01 *";
t3_txt.text = "Hello World 01 *";

Method Three
The third method of embeding font is to load from external swf file. In this method Fonts added as a subclass of Font class . The embed fonts must be export for Actionscript.

The fonts will be loaded to an external swf and it will be loaded in runtime. The exported class should registered using Font class.
import flash.text.Font;
Font.registerFont(Font1);

In main movie the code looks like this
import flash.display.Loader;

function onLoaded(e:Event):void
{
 var embeddedFonts:Array = Font.enumerateFonts(false);
 for (var i:Number = 0; i < embeddedFonts.length; i++)
 {
  var item:Font = embeddedFonts[i];
  trace("[" + i + "] name:" + item.fontName + ", style: " 
                     + item.fontStyle + ", type: " + item.fontType);
 }
 var t1_txt:TextField=new TextField();
 addChild(t1_txt);
 t1_txt.x=20;
 t1_txt.y=100;
 t1_txt.embedFonts = true;
 var format:TextFormat = new TextFormat();
 format.font = "Helvetica";
 format.bold = true;
 t1_txt.defaultTextFormat = format;
 t1_txt.text = "hello world 01 *";
 //
 var t2_txt:TextField=new TextField();
 addChild(t2_txt);
 t2_txt.x=20;
 t2_txt.y=200;
 t2_txt.embedFonts = true;
 var format2:TextFormat = new TextFormat();
 format2.font = "Helvetica Light";
 t2_txt.defaultTextFormat = format2;
 t2_txt.text = "hello world 01 *";
}

Any way textfields in stage are not working properly. I think the problem is it will instantiate before the font is loaded.


I have attached my source here. while embedding the glyphs, select the required ones. Otherwise it will affect the size of the movie.

 These are not the complete list . It's not an expert opinion . And it's about Flash CS5 and not Flex . In Flex there is embed tag which is used to embed fonts.  These are the methods used by myself for dynamic font embedding.  Hope some people will contribute their experiances also to this.

Comments

kurtvs said…
Hello,


Ii also used tour third method, as this was the only way up until now, I guess, to work with multiple fonts.
What's your experience with mixed fonts and mixed styles within 1 textfield?
How do you cope with that? I'm interested to know.

Cheers.
logicmania said…
yes , You are right. For multiple font we need to use the third method. first two methods were used if there is single textfield and font.
Nice work, thank you.
Thanks for sharing. I will ensure that I bookmark your blog and will eventually come back from now on. I want to encourage continue your great job,
optical storage disks
Promo Disc said…
This one is very nicely written and it contains many useful facts. I am happy to find your distinguished way of writing the post.
Promotional USB Drivers

Popular posts from this blog

Configure PostgreSQL and phpPgAdmin in WAMP

As i told earlier am trying to switch to Flex , i am trying to learn connection between PHP and Flex. When searched i got a excellent tutorial . But the problem is that it uses PostgreSQL. As i don't have any prior experience in PostgreSQL i try to install it in my Windows 7 and configure it in WAMP . I got different errors and spend almost two days in searching and using different methods . Atlast i got it right. I will try to figure out the steps i have done.
Am using
PostgreSQL 9.1WAMP Server 2.0e phpPgAdmin 5.0.2 WAMP consists
1. Apache Version :2.2.17  2. PHP Version :5.3.5  3. MySQL Version :5.5.8 First install PostgreSQL , no need to install additional plugins like phpPgAdmin.
Install WAMP server where ever you need.
Download PhpPgAdmin  and unzip it to WWW folder in WAMP installation.

At this point if you try to access the http://localhost/phpPgAdmin/ you may get this error.

Your PHP installation does not support PostgreSQL. You need to recompile PHP using the --with-pgs…

Angular 4 - Modules, components and routing

In the previous post we created a new Angular 4 project. Lets check the how to add modules, components and routing.

You could check out the code from here.
git checkout -b part2.0 origin/part2.0
We are going to use bootstrap styling . So lets add bootstrap in our aplication . We are going to use only styling not the components.

npm install bootstrap@3
We need to add the bootstrap stylesheet in tha .angular-cli.json.


"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css" ],
Our first Module

Lets add a new module employee. Inside "src/app" run

ng generate module employee or
ng g m employee
Wait we are going to lazy load this module , so we need routing inside the module, right? So we are going to create the routing also.
ng g m employee --routing
Time for component

It will create new employee module with its own routing.lets add a component for listing the employee. So inside employee folder run

ng g c empl…

Angular - 4 year road map

AngularJS is one of the most popular JavaScript frameworks in the web. The Google developed framework is considered as one of the easiest framework to kick start a project. Two way binding and the dependency injection is the highlight of this framework.
My journey with AngularJS started about 4 years ago. Then popular ver1.4 amazed me in its capabilities. Developer like me, coming from Actionscript and plain old JQuery , AngularJS is a good option to kick start a project. It give me the confidence in JavaScript world, and from then I have tried lot of framework and tools from JavaScript itself like requireJS, webpack, etc. I did projects in Angular from 1.4 to the current 2.0, and trying to upgrade to the latest 4. Angular has now become one of the fastest growing framework. The journey starts with 1.4
One of the stable and mostly uses version. Started working on this for small projects and it seems easy for development. Dependency injection and two way binding seems quite interesting. …