2008-09-26 17 views
3

特定のフォント(Monospaceなど)を持つ国際文字のjavaに関する情報については、Javaのドキュメントを参照してネットを調べましたが、明確な具体的な回答は得られていません。Java、unicode、およびfont

java 1.4とjava 1.5/1.6の間に変更がありました。たとえば、Java 1.4では、JTextAreaのフォントをMonospaceに設定すると、外字を扱うことができなくなります(代わりに長方形を取得できます)が、Java 1.5/1.6では正常に動作しているようです。

これらの違いはどこにあるのか明確に文書化されていますか?

おかげInternationalization Enhancementsから

答えて

2

:多言語テキストを描画するには

をレンダリング

多言語テキストは、論理フォントを使用して、2Dは現在サポートされているすべての書き込みシステム用のインストールのホストOSフォントを利用しています。たとえば、タイ語のロケール環境で実行し、韓国語フォントをインストールしている場合は、タイ語と韓国語の両方がレンダリングされます。 JREは、lib/fonts/fallbackディレクトリにインストールされている物理フォントを自動的に検出し、これらの物理フォントを2Dレンダリング用のすべての論理フォントに追加します。 Windows上のUnicode APIを

使用は

AWTは、Windows 2000/XP上のUnicode APIを使用しています。その結果、一部のコンポーネントはWindowsのロケール設定に制限されずにテキストを処理できます。 たとえば、AWTのテキストコンポーネントは、Windowsのロケール設定に関係なく、Devanagari書込みシステムでテキストを受け入れて表示することができます。(強調鉱山)

0

「外国語」はどのようにこれらの文字ですか?ほとんどのラテン系フォントは、ISO-8859-1の上半分にあるアクセント記号付きの文字やその他の文字を扱うことができますが、それ以上のものについてはサポートを期待することはできません。

通常、ユーザーが基本となるOSから取得したサポートされているフォントのリストから選択できるようにすることをお勧めします。それができない場合、またはしたくない場合は、CSSのアプローチをとることができます:受け入れ可能なフォントのリストを繰り返し、インストールされている最初のフォントを使用します。

リストを作成するには、Googleで「プログラマーのフォント」または「モノスペースのフォント」を選択します。私は、Javaの論理フォント、特にMonospaceを好きにしていませんでした。これはWindowsの箱にCourier NewかCourier Newです。私は数年前にそれを使用して終了しました。

関連する問題