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 の書き方がイマイチ分からない。 (Tongue)
  • 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 の上記リンク先から、「小塚フォント」は埋め込み可能だと判断しました。
が、どうなんでしょうね? (Foot in mouth)


Comment

No Comments

Post Your Comment


(Smile) (Wink) (Laugh) (Foot in mouth) (Frown) (Gasp) (Cool) (Tongue) (Ambivalent) (Angry) (Cry) (Sealed) (Touched) (Undecided) (Yum)

You must fill all *s. e-mail won't be publicized.