基本はblog.taiga.jpさんの記事を参照すればできました。ありがとうございますです。
>> TLF (Text Layout Framework) と戯れる #09
あと、皆様の記事を参考にしました。どうもです。助かりました。
>> [AS]TLF用にCFF形式のフォントを埋め込んだSWFがどうやっても作れない →解決!!!(memo.393)
>> TextlayoutFrameworkやFlash.text.engineで埋め込みOpenTypeフォントを使う方法(高橋文樹.com)
>> 新テキストエンジンFlash.text.engineでOpenTypeのフォントを埋め込みで使う(SIHOのActionScript勉強メモ)
>> Flex 4で画像の埋め込みでエラー & flex-config.xmlのバージョンアップ(sub Diary (仮))
流れを書いておきます
FlashDevelop(FD)でフォントの埋め込みをしました。
FlashDevelopでのフォントの埋め込み
Flex4SDKbeta2をダウンロード(Flex 4-Beta 2のAdobe Flex SDK)
解凍してできたフォルダのパスをFDに通す
Tools > Program Settings > AS3Context > Language > FlexSDK Location
■新規プロジェクトの作成
Project > New Project > AS3 Project
srcに埋め込みたいフォントを置く。今回はVerdanaとVerdanaBoldを埋め込む。
src
|-verdana.ttf
|-verdanab.ttf
|-MyFont.as(Main.asから名前変更した)
プロジェクトの設定
Project > Properties > Complier Options > Additional Compiler Options
に以下を追加
-static-link-runtime-shared-libraries=true
今回は英語フォントのみ埋め込みした。
unicodeのレンジはここから
package { import flash.display.Sprite; import flash.events.Event; /** * ... * @author KinkumaDesign */ public class MyFont extends Sprite { [Embed( source = "verdana.ttf", fontName = "MyVerdanaRegular", mimeType = "application/x-font", embedAsCFF = "true", advancedAntiAliasing = "true", unicodeRange = "U+0020-U+007e" )] public static const MyVerdana1:Class; [Embed( source = "verdanab.ttf", fontName = "MyVerdanaBold", mimeType = "application/x-font", embedAsCFF = "true", advancedAntiAliasing = "true", unicodeRange = "U+0020-U+007e" )] public static const MyVerdana2:Class; public function MyFont() { } } }
これでコンパイルしてできたswfをFontEmbed.swfとする
CS4で使う
前の記事を参考にMXPをインストールしておく
>> [AS3] TextLayoutFrameworkをCS4で使えるようにする
ライブラリ上にTextLayoutを追加する
ドキュメントクラスをこんな感じにするとできた!!!!!!!!!!!
package { import flash.display.Graphics; import flash.display.Loader; import flash.display.MovieClip; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.IOErrorEvent; import flash.net.URLRequest; import flash.system.ApplicationDomain; import flash.system.LoaderContext; import flash.text.engine.FontLookup; import flash.text.engine.FontWeight; import flash.text.Font; import flashx.textLayout.edit.SelectionManager; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.formats.LineBreak; import flashx.textLayout.container.DisplayObjectContainerController; import flashx.textLayout.conversion.ImportExportConfiguration; import flashx.textLayout.conversion.TextFilter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.Configuration; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.CharacterFormat; import flashx.textLayout.formats.TextDecoration; /** Demonstrates customizing the Configuration used by the importer */ public class Main extends MovieClip { public var fontUrl:URLRequest; private var MyVerdana:Class; private var MyVerdanaBold:Class; public function Main() { load(); } private function load():void { var context:LoaderContext = new LoaderContext(); context.applicationDomain = ApplicationDomain.currentDomain; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, fontLoaded); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, showError); fontUrl = new URLRequest("FontEmbed.swf"); loader.load(fontUrl, context); } function fontLoaded(e:Event):void { MyVerdana = ApplicationDomain.currentDomain.getDefinition("MyFont_MyVerdana1") as Class; MyVerdanaBold = ApplicationDomain.currentDomain.getDefinition("MyFont_MyVerdana2") as Class; Font.registerFont(MyVerdana); Font.registerFont(MyVerdanaBold); addText(); } private function addText():void { var textFlow:TextFlow = new TextFlow(); var p:ParagraphElement = new ParagraphElement(); textFlow.addChild(p); var span:SpanElement = new SpanElement(); span.text = "Hello, World ParagraphElement"; span.fontSize = 36; span.fontFamily = Font(new MyVerdana()).fontName; span.fontLookup = FontLookup.EMBEDDED_CFF; p.addChild(span); var span2:SpanElement = new SpanElement(); span2.text = "Hello2, World ParagraphElement"; span2.fontSize = 36; span2.fontFamily = Font(new MyVerdanaBold()).fontName; span2.fontLookup = FontLookup.EMBEDDED_CFF; p.addChild(span2); textFlow.flowComposer.addController(new DisplayObjectContainerController(this, 400, 400)); textFlow.flowComposer.updateAllContainers(); } function showError(e:Event):void { trace("Error opening: " + fontUrl.url); } } }
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ