2014年11月16日

AIR for Android で日本語が表示されない問題


AdobeのAIRで作ったAndroidアプリをリリースしていたのだが、日本語が表示されない不具合に遭遇した。
手持ちの機種のOSバージョン「2.2」「2.3」「4.2」では問題が無かったので全く気付かなかったのだが、レビュー欄にて報告されており、同機種を入手して不具合を確認。


色々調べてみたので、メモしておく事にします。
ちなみに環境は Windows7 の Flash CS6 です。


どうやら Android4.4(コードネーム「KitKat」)以降のOSで発生している問題で、テキスト欄にデバイスフォントを使用している場合、全角文字が表示されないらしい。

現時点(執筆時)での AIRバージョンは「15.0.0.302」で一応改善は施されているものの、依然一部の機種にて表示されないとの事。

ネットで調べた情報なので細かい情報の真偽は分かりませんが、少なくとも入手した「SO-02F」での不具合は確認できています。


解決案として、私が採用したのは、フォントの埋め込みです。
静止テキスト、ダイナミックテキスト、テキスト入力の全てを埋め込みに変更。

ちなみに、フォントファミリーの「_ゴシック」を、埋め込んだフォントに変更しても、依然として表示されなかったので、????となりましたが、アンチエイリアスの項目が「デバイスフォントを使用」となっていたのが原因でした。ここも変更してやる必要があります。



アプリの容量が増えてしまいますが、これで概ね対応出来ました。


しかし、他にも問題がありました・・・・。


コンボボックス等のコンポーネントを使用している場合、表示フォントを指定しても何故かデバイスフォントになります。

PCでのプレビューでは指定されたフォントになるのですが、Android側ではデバイスフォントで表示されます。
これは、4.4以降の問題では無く、2.3や4.2端末でも同様でした。



これはどうすりゃ良いのか悩んだ結果、コンボボックスに代わるものを自作しました。




という訳で、何とかなったくさい。多分・・・・・。



posted by ケン at 16:29 | Comment(0) | TrackBack(0) | Adobe AIR | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。