フラッシュへのフォントの埋め込みに関連する質問をたくさん見ましたが、問題の答えが見つからないようです。
フォントswfからフォントをロードし、子swfsで使用できるように高レベルで登録します。問題は、子swfもこれらのフォントを埋め込む可能性があることですが、明示的にはそうではありません。つまり、子swfにはフォントの特定の文字を使用するフィールドがあるため、これらのフォントは埋め込まれるだけです。これは、子のテキストフィールドが、親または任意のレベルの祖父母に登録されている埋め込み完全セットではなく、不完全な埋め込みフォントを使用することを意味します。また、これは、この子の子になる可能性のあるswfsが完全なフォントを取得しないことを意味します。
私の質問:コンパイル時にフラッシュに、どのような状況でもフォントをswfに埋め込まないように指示する方法はありますか?そうでない場合は、コンパイルされたswfから埋め込みフォントを削除するツールはありますか?
これまでに私が考えた/気づいたことがいくつかあります:
- 各FontクラスがApplicationDomainに関連付けられているように見えます。(これを確認すると便利です)
- テキストフィールドでデバイスフォントを使用しても、フォントは埋め込まれません。(ただし、親swfから実行時にフォントを埋め込むためのフィールドが必要なため、オプションではありません。)
- フォントの登録を解除する方法や、ロードされた子swfsに親フォントを使用するように指示する方法が見つかりません。これは、ロードされた子swfsに適用するのに役立ちます。
- フォントの親定義が子定義をオーバーライドできるようにする別のコンテキストで子をロードできる場合があります。(または、2つの定義があり、その場合、どちらが優先されますか?)
- 子のライブラリからアセットをロードしてステージに追加すると、フォントの親定義が取得されます。(アセットは子のドメイン外で作成されるため、これは理にかなっています)
- 考えられる解決策は、swfのコンパイル用にテキストフィールドに文字を追加しないことですが、フォントを使用した静的テキストが必要なため、これも実際にはオプションではありません。
私は自分の頭の中で間違っているかもしれない問題の定義を作り始めたので、必要に応じて少し前に戻って、問題について別の見方をしてください。これまでのところ、私が上で尋ねた質問は答える正しい質問であるように思われ、それに対する解決策があれば、私の問題はすべてなくなります。
ありがとう!