I am trying to get the following example to work in Flash Builder 4:
http://developer.yahoo.com/flash/articles/runtime-fonts-as3.html
The Actionscript project compiles but all I get on screen is a tiny rotated square with no text in it.
Does anyone know why this might be happening? My code is identical to the example above - I have compiled the first class into _Arial.swf.
I've also tried this:
package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.text.*;
public class _Arial extends Sprite {
[Embed(source='C:/WINDOWS/Fonts/ARIAL.TTF', fontName='_Arial', fontFamily='myFont', mimeType='application/x-font')]
public static var _Arial:Class;
public function _Arial():void {
drawText();
}
public function drawText():void {
var tf:TextField = new TextField();
tf.defaultTextFormat = new TextFormat("_Arial",60,0);
tf.embedFonts = true;
tf.antiAliasType = AntiAliasType.ADVANCED;
tf.autoSize = TextFieldAutoSize.LEFT;
tf.border = true;
tf.text = "Scott was here\nScott was here too\nblah scott...:;*&^% ";
tf.rotation = 15;
addChild(tf);
trace(Font.enumerateFonts());
}
}
}
var fontList:Array = Font.enumerateFonts(false);
for (var i:uint=0; i<fontList.length; i++) {
trace("font: "+fontList[i].fontName);
}
The trace displays: font: _Arial
Ok, I got it to work... I started with this
public class _Arial extends Sprite
{
[Embed(source='fonts/Arial.ttf', fontName='_Arial',
mimeType="application/x-font-truetype",
unicodeRange='U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E',
embedAsCFF= "false")]
public static var _Arial:Class;
}
and to test it , I added that
public function _Arial():void
{
var tf:TextField = new TextField();
tf.defaultTextFormat = new TextFormat ( "_Arial" , 24 , 0 );
tf.autoSize = TextFieldAutoSize.LEFT;
tf.embedFonts = true;
tf.text = "This is some text to test!";
tf.rotation = 20;
addChild(tf);
}
The text did display , so I got rid of the constructor and tried the code example again, and it worked!!!