Javaでプログラムでフォールバックフォントをセットアップする方法は?
質問
アプリをタミル語にローカライズしたかったのです。 Javaがサポートしていることに失望しました インドのすべての言語からヒンディー語のみ 「箱から出して。」
インターネットでいくつかの回避策を検索しました。私は学びました ジョン・オコナーのブログ投稿 と Naotoj Satoのブログ投稿 「フォントフォールバック」と呼ばれるテクニックを使用する必要があります。
Windows to/jre/lib/font/fallbackディレクトリに使用できる「latha.ttf」タミルフォントを手動でコピーしました。
出来た!しかし、フォントをプログラムでユーザー/jre/lib/fonts/fallbackディレクトリにコピーするにはどうすればよいですか?
最初の起動時に、そのフォールバックディレクトリに含まれているフォントをコピーするコードを追加し、まだ存在していない場合に追加すると思いました。そのフォルダーなどに「書き込みアクセスが拒否された」などの許可の問題を引き起こしますか?
または、/jre/lib/fonts/fallbackの代わりに、アプリケーションへのフォールバックフォントをアプリケーションディレクトリに検索する方法はありますか?
タミル語が選択されている場合にのみ、このLathaフォントを使用する必要があることに注意してください。他のすべての言語でデフォルトフォント。
あなたの意見を述べてください。
解決
管理者の権利なしにシステムの場所にある場合、JREにフォールバックフォントをプログラム的にコピーする方法はないようです。 JREが他の場所にある場合にのみ機能します。そこで、私はついに、ユーザーが必要に応じてフォントを手動でコピーするようにユーザーに求めるReadMeファイルを配置することにしました。 Javaがデフォルトですぐにタミルをサポートすることを期待しています。
これがこのようなものを探している人に役立つことを願っています。