まずフォントクラスを定義してSWCに書き出す。
それからMainでそのSWCを読む設定にし、
且つ、フォントクラスのインスタンスを一つ生成する。
そうするとMainに埋め込まれる....あってるかな...
読み込み側
→ Main.fla
→ Main.as
フォントを埋め込んだファイル
→ font.fla
読み込み指定
→ font.swc
※使おうとしているフォントがflaに埋まっているとダメ。
埋まってなくても空になっているテキストフィールドに設定されているだけでもダメ。
これは結構面倒。
ただコンパイルはとても早くなるのでやっぱやるしかないかな。
(プロジェクトの規模やマシンのスピードにもよるだろうけど、
今のプロジェクトではコンパイル26秒から、6秒に縮まった。)
●Main.as
package fontTest { import FontShingoM; import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class Main extends flash.display.MovieClip { public function Main() { trace("fontTest.Main"); var font:FontShingoM = new FontShingoM(); trace(font.fontName); var aaa:TextField = new TextField(); aaa.text = "あいうえおかきくけこ"; aaa.autoSize = TextFieldAutoSize.LEFT aaa.embedFonts = true; var format:TextFormat = new TextFormat(); txt.text = "あいうえおかきくけこ"; //タイムラインに配置したテキストフィールド //txt.autoSize = TextFieldAutoSize.LEFT ; //↑これを設定するとなぜか高さが低くなる事がある。調べたらテキストフィールドの //「段落前後のアキ」にマイナスの値が設定されていた。 format.size = 33; format.font = font.fontName; //又は、format.font ="A-OTF Shin Go Pro M"; format.color = 0xCEEB43; aaa.defaultTextFormat = format; addChild(aaa); txt.defaultTextFormat = format; } } }
0 件のコメント:
コメントを投稿