Jan 28, 2009
my first wonderfl.
WEB 上で、AS3 のコードを編集・コンパイル・公開できる wonderfl を試してみた。
5ivestar 氏の Emotion Fractal in AS3 を Fork して、動的に埋め込みフォント付き SWF を読み込んでの日本語表示。
平仮名
使用フォント:小塚明朝 EL
都道府県
使用フォント:小塚ゴシック H
作成メモ
埋め込みフォント付きの SWF ファイルは、PHP スクリプトで作成した AS ファイルを Flex 3 SDK の mxmlc でコンパイルして作成。埋め込み時のユニコードのマップ情報は、これも PHP スクリプトで。Flex SDK の frameworks/flash-unicode-table.xml から、日本語の情報みを抜き出して、先頭の2バイトごとに 00-FF まで整理して PHP で出力したデータを AS スクリプトに入れ込んで使用しました。結果 1書体につき 98 ファイルに(サイズは最大で 100 KB ちょい、平均で 60 KB ほど)。
使用する文字が含まれるフォント SWF のみを読み込むので、文字全部を埋め込むよりは軽くはなるんですが、都道府県版のほうだと、1.4 MB ほどで、やはり文字が多いとそこそこのサイズにはなります。ファイルをもう少し細かくわけてもいいかもなぁ。
ハマった点としては、
- crossdomain.xml の書き方がイマイチ分からない。
- TextField の AntiAliasType.ADVANCED だと、BitmapData.draw() が失敗。
ユニコードの文字コードを 16 進数に変換する関数は、SPARK プロジェクトの BaseUtil のコードをコピーして使わせて頂きました。
参考サイト:
http://faces.jp/2008/06/as3_3.html
http://blog.zuzara.com/2008/02/27/249/
http://d.hatena.ne.jp/nitoyon/20080723/as3_embed_font
フォントのライセンス( SWF 埋め込み)について
当初はヒラギノで作っていたんですが、調べてみると、SWF への埋め込みについてそのものズバリの記述を見つけられず。
http://livedocs.adobe.com/flex/3_jp/html/help.html?content=fonts_04.html
http://www.adobe.com/jp/aboutadobe/antipiracy/ff_faq.html
http://www.adobe.com/type/browser/legal/embeddingeula.html
Adobe の上記リンク先から、「小塚フォント」は埋め込み可能だと判断しました。
が、どうなんでしょうね?
Comment
No Comments