3

私は Java のドキュメントを見て、特定のフォント (Monospace など) を使用した国際文字に対する Java のサポートに関する情報をネットで探しましたが、明確な具体的な答えを得ることができませんでした。

Java 1.4 と Java 1.5/1.6 の間で変更がありました。たとえば、Java 1.4 で JTextArea のフォントを Monospace に設定すると、外部文字を処理できなくなります (代わりに四角形を取得します) が、Java 1.5/1.6 では問題なく動作するようです。

これらの違いや改善されたサポートはどこかに明確に文書化されていますか?

ありがとう

4

2 に答える 2

2

国際化の強化から:

多言語テキストのレンダリング

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

Windows での Unicode API の使用

AWT は、Windows 2000/XP で Unicode API を使用するようになりました。その結果、そのコンポーネントの一部は、Windows ロケール設定に制限されることなくテキストを処理できます。たとえば、AWT テキスト コンポーネントは、Windows ロケール設定に関係なく、デーバナーガリー書記体系のテキストを受け入れて表示できます。(私のものを強調)

于 2008-09-26T21:12:12.807 に答える
0

これらのキャラクターはどの程度「外国人」ですか?ほとんどのラテン語ベースのフォントは、少なくとも ISO-8859-1 の上半分のアクセント付きの文字やその他の文字を処理できますが、それ以上のサポートを期待できるとは思えません。

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

リストに入力するには、「プログラマー フォント」または「モノスペース フォント」を Google で検索します。私は、Java の論理フォント、特に Monospace が好きではありませんでした。これは、Windows ボックスで Courier または Courier New のいずれかです。何年も前に使うのをやめました。

于 2008-09-27T00:10:04.300 に答える