質問: flashで文字もアウトライン化が必要? flash超初心者です。 文字をモーションアニメさせるflaファイルを作ったら、文字をアウトライン化させておかないとパブリッシュして、サーバーにアップロードした時、そのフォントの入ってないパソコンから見た場合文字化けしたりするのでしょうか。 バナー広告などのファイルの場合アウトライン化するのが原則だそうですが。
回答: flash のテキストには, 静止テキスト,ダイナミックテキスト,テキスト入力 の3種類があります。 このうち 静止テキスト は, テキストでありながら,文字のアウトライン情報も埋め込まれるため, 文字化けすることはありません。 また,この 静止テキスト が,flashのメインのテキストだと考えて良いです。 ダイナミックテキスト は, 計算結果や外部データなどを動的に表示するときに使うテキストフィールドです。 日本語が使えないパソコンで,日本語が表示されると文字化けすることがありますが, 日本語が使える場合は,windows でも mac でも, 機種依存文字を使用しなければ,いわゆる 文字化け は普通しません。 ただし, 普通のパソコンに入っていないような字体を使った場合, そんな字体は無視されて,パソコンデフォルトの字体が表示されるため, 文字化けではなく,文字の見かけや文字の大きさや文字がテキストフィールドからはみ出すなどの現象は起きます。 テキスト入力 は, クライアントサイド(flashを見ている人)が入力するためのテキストフィールドで, ダイナミックテキストと同じような現象がおこると考えて良いです。 ダイナミックテキストやテキスト入力に, 指定したフォントを使用したい場合は, そのダイナミックテキストもしくはテキスト入力を選択した状態で, 下のプロパティインスペクタから,「埋め込み...」ボタンをクリックして, 埋め込みたいフォントの範囲(英数やカナなど)を選ぶことができます。 しかし, テキストフィールドの性質上,どんな文字が表示されるかは事前に予測ができないため, 例えば「日本語すべて」などを選んだ場合, かな・カナ・漢字など全てのフォントのアウトライン情報が埋め込まれてしまうので, それだけ(1文字も表示しないテキストフィールド1つ)で,2~3mbものswfになってしまうため実用的ではありません。 ですから,日本語の場合, ダイナミックテキストやテキスト入力に,フォントを埋め込まないのが普通です。 >> バナー広告などのファイルの場合 >> アウトライン化するのが原則だそうですが。 それは当然そうです。 というか,普通の自社が出す自社サーバ上のバナーや, swf配布のバナー広告は静止テキストであればアウトライン化する必要はありません。 例えば livedoor などの広告を出す大手のサイトに, flash バナーを掲載してもらうばあい, 必ず妙なスクリプトや不正な言葉が混入されていないかなど, flaファイルの検閲が入ります。 まず,その検閲段階で, 作成者側にしか入っていないようなフォントであれば, 検閲する側に文字が正確に表示されず, 検閲をすることができません。 (これ↑は swf ではなく fla ファイルの話ですよ。) また, 作成者側が用意した swf ファイルではなく, 広告掲載側が,fla ファイルに必要なスクリプトを入れて, その fla ファイルをパブリッシュした swf を掲載する場合もあります。 その fla ファイルをパブリッシュする段階で, 広告掲載側に指定しているフォントが無ければ, 当然違う字体となってパブリッシュされます。 そういうことを防ぐために, 広告掲載の大手会社に fla ファイルを送る場合は, 当然,文字はアウトライン化する必要があります。 ということです。 つまり, 静止テキストが文字化けするからアウトライン化するのではなく, fla ファイルを見る時点, もしくは, fla ファイルから swfをパブリッシュする時点で, その flaファイルを開いているパソコンにフォントが入っていなければ, まともに fla ファイルを見ることも,パブリッシュすることもできません。 そういう意味で,バナー広告などのファイルの場合アウトライン化するのが原則なのです。