2011-05-31 4 views
2

英語のテキストを受け入れ、カスタムのサードパーティ製APIを使用してインド語に字句変換するアプリケーションで作業していますサポートされています)。このアプリケーションは、Windows XP/7およびUbuntuを対象としています。 必要なインド語フォントを読み込んで、それをレンダリングするカスタム入力メソッドを使用します。また、ユーザーは、英字を入力してスペースを押すことで、英字のテキストを修正することができます(Google Transliterateの仕組みと同様)。スイングでインド語の入力方法でテキストを入力すると英語の文字が表示されない

問題は、特定のインド語フォントでは、実際に入力された文字が検出され、それに応じて字下げされていても、英語で入力すると空のボックス文字が表示されることです。

私は、Ubuntuに付属のttf-indic-fonts-0.5.0フォントパックを使用しており、それらの一部を置き換えることができました。他の人にとっては、Windowsから対応するフォントをコピーすると(Windows 7でこれを開発しています)、すべての問題が解決されます。

ただし、アプリケーションでWindowsフォントを再配布することはできません。オープンな代替方法が必要です。

代替フォントを見つけようとする以外に、Indicフォントが使用されているときにJTextFieldに英語の文字を入力できることを確認するために、間違っているか確認する必要がありますか?

例として、上記のUbuntuパッケージからは、Punjabiのlohit_pa.ttfフォントにこの問題があります。私がPunjabi(raavi.ttf)のデフォルトのWindowsフォントをコピーするとうまくいきます。

+1

ネイティブOSからフォントが来ているため、Windowsプラットフォームではインストールしなければならないと思うので、GUIにアクセシブルなフォントを表示するにはこのスレッドをチェックしてください – mKorbel

答えて

0

問題の解決方法が見つかりました。私はフォントをWindowsにインストールしました(フォントを開き、インストールをクリックしてください)、文字マップを使って内容をブラウズしました。これらのフォントには、英語ではなく、問題の言語のグリフしかありません。 私はFontForgeを使って2つのフォントをマージしました。 (FontForgeの作者はバイナリをもう提供していませんが、Ubuntuにアクセスできない場合は、リポジトリからインストールすることができます。 その後、もう一度英語で入力することができます。

関連する問題