폰트 내장시키기. embed fonts in fla

+ flex builder 에서내장 폰트 사용하기.

embedFonts.as
package {
	import flash.display.Sprite;
	import flash.text.AntiAliasType;
	import flash.text.Font;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;

	public class embedFont extends Sprite
	{
		[Embed(source="../data/DINMed.TTF", fontName="dinMedium", embedAsCFF="false", mimeType="application/x-font-truetype")]
		static public var dinMedium:Class;

		public function embedFont()
		{
			var tm:TextFormat = new TextFormat();
			tm.size = 48;
			tm.font = "dinMedium";
			tm.color = 0x000000;

			var tf:TextField = new TextField();
			tf.embedFonts = true;
			tf.autoSize = TextFieldAutoSize.LEFT;
			tf.antiAliasType = AntiAliasType.ADVANCED;
			tf.defaultTextFormat = tm;
			tf.text = "is this Din \nMedium font?";

			addChild(tf);
		}
	}
}

http://mx.coldstorageonline.com/index.php?bid=48
http://www.marcosweskamp.com/blog/archives/000113.html
http://marcosweskamp.com/blog/2005/10/embedding-fonts-in-as3.html
http://developer.yahoo.com/flash/articles/runtime-fonts-as3.html
http://www.connectedpixel.com/blog/fonts/embedding
http://nochump.com/blog/?p=20
http://blog.paoloiulita.it/2008/03/11/as3-embedding-font-with-code-only/


+ swf 파일을 불러와서 폰트를 사용하는 방법
우선 아래처럼 라이브러리에 New font 로 원하는 폰트를 링크등록시킨후, swf 파일을 만든다.



그리고 코딩.


var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompLoadFont);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOErr);
var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader.load(new URLRequest("fonts.swf"), context);
    
function onCompLoadFont(e:Event):void
{            
	var dinFontClass:Class = (e.currentTarget as LoaderInfo).applicationDomain.getDefinition("Din") as Class;
	
	Font.registerFont(dinFontClass);
	
	for each (var i:Font in Font.enumerateFonts(false))
	{
		trace("FONT :" ,i.fontName);
	}
	
	var dinfont:Font = Font.enumerateFonts(false)[0];
	
	var tm:TextFormat = new TextFormat();
	tm.size = 48;
	tm.font = dinfont.fontName;
	tm.color = 0x000000;
	
	var tf:TextField = new TextField();
	tf.embedFonts = true;
	tf.autoSize = TextFieldAutoSize.LEFT;
	tf.antiAliasType = AntiAliasType.ADVANCED;
	tf.defaultTextFormat = tm;
	tf.text = "How are you, today?";
	
	addChild(tf);
	
}


function onIOErr(e:IOErrorEvent):void
{
	trace(this, e.toString());
}


refer to :
http://easeyourdigitallife.blogspot.com/2007/06/flash-cs3-actionscript-3-example-using.html


+ 라이브러리에 등록된 폰트 바로 사용하기
위에 그림처럼 라이브러리에 등록된 폰트를 직접 사용하기

var dinClass:embedDin = new embedDin();
trace(dinClass is Font);

var tm:TextFormat = new TextFormat();
tm.font = dinClass.fontName;
tm.size = 50;

var tf:TextField = new TextField();
tf.embedFonts = true;
tf.defaultTextFormat = tm;
tf.autoSize = TextFieldAutoSize.LEFT;
tf.text = "IS Din?";
addChild(tf);

저작자 표시 비영리 변경 금지
1 ... 6 7 8 9 10 11 12 13 14 ... 290