PrintJobのバグ?

Flex3.3で作成中のAIRアプリで、PrintJobで印刷を行う際に、以下のような警告が出る。
Warning: Filter will not render. The DisplayObject’s filtered dimensions (8453, 712) are too large to be drawn.
「フィルターが大きすぎて適用できません」といった意味合いの警告だけど、フィルターを適用していない(つもりの)対象に対してもこの警告が出る。
いろいろ調べてみたところ、ステージ上にある(つまり、表示されている)UIComponentを印刷対象とするとこの警告が発生するようだ。
試しに、同じ対象をステージ上から削除して印刷すると、警告は表示されない。
ふーむ。
ぼくのプログラムに原因があるのか(どこかで気付かずミスしているのか)、それともFlexのバグなのか、どっちだろう。
とりあえず、警告が出るだけで実害はないので、放っておけばいいっちゃあいいんだけど。
そういえば、逆に、フィルターを適用したはずの場合で、フィルターが印刷されない現象も見られるので、やっぱりバグだろうかね。

ローカルフォントのアンチエイリアス

次期バージョンのプリントマジックでは、ローカルフォントを使えるようにしたいと思っているのだけど、なかなか難しい。
ローカルフォントを使うこと自体はすでに実装済みなのだけど、ローカルフォントは埋め込みフォントじゃないので、環境によってはアンチエイリアスがかからない。
この対策が一筋縄ではいかない。
まず試みたのは、BitmapDataにdrawして拡大縮小するという方法。
BitmapDataのスムージング機能を使ってアンチエイリアスをかけちゃおうというやり方です。
この方法で9割方上手くいくのだけど、ごく一部のフォント(と文字サイズ)によっては潰れてしまって見るに堪えなくなるのが珠にきず。
ならば、BitmapDataにdrawしたデータをもとに、ベクターデータを生成して描画してやる方法はどうか、と。
調べると、PotrAsというライブラリがあったので、これを使えば行けるんじゃないかと思ったのだけれど、GPLライセンスだったので使用を断念。
また、やはり一部のフォントによっては上手く描画できなかったりもしたし。
ならば、自分でベクターデータを生成する処理を書くか、と思ったけれど、当然のようにかなりの難易度で、途中で面倒くさくなって断念。
輪郭をトレースするところまではできても、それを曲線化するのが難しいね。
ならば、ビットマップデータに対して独自にアンチエイリアスをかける処理を書こうとしたけれど、どうもいまひとつきれいなアンチエイリアスが生成できない。
9割方のケースでは、BitmapDataのスムージングのほうが美しい。
うーん、どうしたものか。
悩ましいな。