AIR で埋め込みフォントを外部swfにして動的に読み込もうとして挫折

表題のとおり。
基本的なやり方としては、CS3版 フォントのダイナミックなローディング|_level0.CUPPYの方法で試みています。

フォントを埋め込んだswfをインターネット上からダウンロードして読み込もうとすると
ApplicationDomain.currentDomain.getDefinition
でフォントのクラス情報を取得する部分で「定義されていません」とエラーが発生してしまいます。

ならばと、ロードしたswfコンテンツに対して
loaderInfo.applicationDomain.getDefinition
でフォントのクラス情報を取得すると、こちらは問題なく取得できるのですが、今度は取得したクラス情報を Font.registerFont に渡す部分で「引数が不適切だ」と怒られます。

どうも、LoaderContext でアプリケーションドメインを ApplicationDomain.currentDomain に設定するところで上手くいっていないのではないかと推測します。
おそらく「AIR アプリケーションセキュリティサンドボックスのコンテンツでは、他のサンドボックスからその SecurityDomain にコンテンツをロードすることはできません」というのが根源なのだろうと思うけど。

なにか方法があるのかな?

Leave a Reply