« ケーススタディ[4] SeekState(JP) | Main | XML名前空間(JP) »

embedFont(JP)

2回にわたって、ランタイム共有とオーサリング共有について書く予定である。今回はフォントをランタイム共有するというflashの機能を説明したい。考え方として特殊なものであるので本でわざわざ説明しているものもなさそうだ。実際の制作現場では日本語フォントをすべて埋め込むことはまずない。通常日本語の場合文字数が多いのが致命的で、部分的に選択的にフォントをTextFieldごとに埋め込む事が多い。ライブラリにランタイム共有という機能があるが使う機会が無いので覚えている人はあまり多くないのではないだろうか。今回のプロジェクトでは映像がメインコンテンツであるなどユーザがブロードバンドターゲットであることからフォントを読込む案も考えた。最終的には利用しないことにしたが、一旦4M程度の日本語フォントデータを非同期か何かでユーザにストレス無く読み込んでさえしまえば、ローカルにキャッシュされるのでswf内のページ遷移では再び読み込むこともなく全ページでフォントフェースを利用できる利点もありそうだ。

フォントファイルとは?
web上にOSのフォントをそのままアップしてもフォントは利用できない。swfから読み込める形式はswfであるので利用できるカタチにするためにはswfを作ることが必要である。フォント1個に対して1個のflaファイルを作成するのが日本語全体のファイルサイズを考えると向いている。
フォントはライブラリパレットからしか作成できない。ライブラリのメニューから新しいフォントを選択する。フォントシンボルプロパティに名前とフォントを指定する。シンボルプロパティの名前というのはMCでいうシンボル名。フォントはリストから選択する。サイズというのはビットマップフォントの時だけ指定する。ビットマップフォントはflashのフォントでは8ptを使っているものが多いので8にすれば通常は問題ない。

ランタイム共有書き出し
リンケージ名(識別子)はテキストフィールドにフォントを指定するときに使う。ランタイム共有用に書き出すと理由は分からないが必ずこのフォントswfのアップロードをするURLを入れなければならず、後でアップロードする場所を変えることになったら、このURLを変えなければならない。

ライブラリには一個のシンボルが登録された状態。このままswfにする。

ランタイム共有読み込み
まず、URLにフォントのswfをアップロードする。次に利用したいflaのライブラリを開き、フォントflaのライブラリからドラッグする。

このシンボルのプロパティを選択すると、チェックが読み込みだけでフォントflaで指定したURLや識別子が自動的に埋め込まれている状態で開く。このURLは必ずフォントflaのフォントシンボルの指定したURLと一致しなければいけない。

フォントを利用する
このフォントをオーサリングで配置したテキストフィールドに指定するには、フォントの識別子をそのままフォント名に入れるだけである。

Post a comment