埋め込みの公式を見ていたら便利そうなツールを発見しました。
コマンドラインから埋め込み処理ずみのswfを作ってくれるというものです。
おお、結構便利。
macでどうやって使うのかなと思ったら、コマンドの最初に
./
の文字をつけないと認識しなかったです。.はカレントディレクトリの意味です。
だから terminalを起動して
cd "/Applications/Adobe Flash Builder 4.5/sdks/4.5.1/bin"
とbinフォルダまで移動。スペースがパスの間にはさむときは「”」ではさむのを忘れない。
./fontswf オプション 埋め込みフォントへのパス
とすれば良いです。
各オプションは
-a, -alias name フォントのエイリアス名、デフォルトはフォントのファミリーネーム -b, -bold ボールドフェースを埋め込み -i, -italic イタリックフェースを埋め込み -o, -output file_path 書き出し場所のパスを指定(最後はxx.swfとしておくとよいです) -u, -unicode-range range unicodeの範囲指定。デフォルトは全部の範囲。 -3 Flex3までのTextFieldに向けての埋め込み -4 CFF=trueのFlex4(Flash Player10向け)での埋め込み。-3とではこっちがデフォルト
となっています。
unicodeの指定を漢字第一水準までの長いやつにしようとすると、terminalからだと
動作が重くなってしまうので、コマンドをテキストファイルにして、terminalから
シェルスクリプトとして実行するといい感じになりました。
こんなテキストファイルを作って
これをbinの一個上のフォルダにおきます。
binにおいてもいいのだけど、大事なものに混ざっちゃうのはいやなので、そうしました。
terminalから
cd /Applications/Adobe Flash Builder 4.5/sdks/4.5.1
と打って、(さっきのbinからだったら、cd ../ でもOK)
テキストファイルの位置に移動
テキストファイルの最後の部分に
-a Myfont -o /Users/foo/temp.swf /Users/foo/A-OTF-FutoGoB101Pro-Bold.otf
と書いてあります。
ここがさきほどのオプションの部分です。
Myfont は自分で決める書き出し用のシンボル名なので、com.foo.BarFont とかしてもOKです。
-o に続く/Users/foo/temp.swfが書き出しファイル名
最後の/Users/foo/A-OTF-FutoGoB101Pro-Bold.otfがフォントの場所
この辺は環境に応じて適宜かえます。
それで、terminal上から
sh MyEmbedCommand
とうてば、埋め込み済みのswfが完成します。
たくさん埋め込むときには、名前の部分をかえればいいだけなので、楽かも。
使うときは、Embedでまずswfを埋め込みます。
Loader使ってもいいみたいなので、気になる人はググるといいかも。
[Embed(source="temp.swf",symbol="Myfont")] private var _fontClass:Class;
symbolの部分がさきほどの-aオプションの部分でつけた名前です。
ひもづけられる_fontClassの部分は適当に。実際には使わないです。
var cf:TextLayoutFormat = new TextLayoutFormat(); cf.fontSize = 48; cf.fontFamily = "Myfont";
とかやれば、無事にcffのフォントとして認識されます。
埋め込みでcffじゃなく前のバージョンでやりたいときは、下のページで紹介されてます。
基本はやり方一緒です。-a のところと symbol のところがポイント。
>> FontSwf Utility in FLEX SDK 4
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ