Chumby に Happy Birthday と表示するウィジェットは 10秒で作れるけれど、同時に子供たちも観るので、どうせなら「たんじょうび おめでとう」とひらがなで表示したい。そういう余計なことをつい考えてしまい勝ちなお父さんたちに、このエントリを捧げます。必要なものは、haxe と swfmill と適当な日本語フォント。以下、HappyBirthday.hx の中身。 import flash.MovieClip; class HappyBirthday { public function new(mc:MovieClip) { var tff:flash.TextFormat; tff = new flash.TextFormat(); tff.color = 0x9E0000; tff.bold = true; tff.size = 42; tff.font = "Nihongo"; tff.align = "center"; mc.createTextField("tf1", mc.getNextHighestDepth(), 0, 50, 320, 60); mc.tf1.embedFonts = true; mc.tf1.text = "たんじょうび"; mc.tf1.type = "dynamic"; mc.tf1.border = false; mc.tf1.setTextFormat(tff); mc.createTextField("tf2", mc.getNextHighestDepth(), 0, 110, 320, 60); mc.tf2.embedFonts = true; mc.tf2.text = "おめでとう!!"; mc.tf2.type = "dynamic"; mc.tf2.border = false; mc.tf2.setTextFormat(tff); } public static function main() { var app:HappyBirthday; var mc:MovieClip; mc = flash.Lib.current; app = new HappyBirthday(mc); } } つぎに font.xml の中身。 <?xml version="1.0" encoding="utf-8" ?> ソースはこれだけ。あとは、以下を実行。 $ swfmill simple font.xml > FontModule.swf $ haxe -swf-version 8 -swf-header 320:240:12:FFFFFF -swf-lib FontModule.swf -swf HappyBirthday.swf -main HappyBirthday HappyBirthday 要するに、日本語フォントを組み込んでしまうという、それだけのこと。そのうちソフトウェアアップデートで日本語フォントも組み込まれるみたいだけれど、今のところはこれが一番簡単かと思う。ちなみに、ウィジェットのサイズは 100Kb 以下にしろって Chumby のサイトには書いてあるけれど、それでは日本語フォントを組み込めないのでさくっと無視。ロードに時間がかかりすぎるので軽いフォントにこしたことはないけれど。
- 参照(344)
- オリジナルを読む