まずフォントクラスを定義して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 件のコメント:
コメントを投稿