6

Java でマラヤーラム語のテキスト エディターに取り組んでいます。

Unicode フォントが Swing で正しくレンダリングされない - JTextArea. 文字の組み合わせ。2 つの文字をブレンドする代わりに、別々に表示するテキスト エリア。スイングとフォントの両方がこれらの文字をサポートしていますが、キーの組み合わせでは、サポートされているフォントが使用されていても機能しません。例えば:

必要なもの

ക്രാ 

取得しているもの

്രക

コード

jButton69.setFont(new java.awt.Font("Meera", 0, 12)); // NOI18N
        jButton69.setText(" ്ര");

    jTextArea1.append(jButton69.getText());

編集: (著者の解説からの補足情報):

ക (\u0D15) + ് (\u0D4D) + ര (\u0D30) の 3 文字を組み合わせると、ക്ര ではなく ര്ക になります。

言語はマラヤーラム語、フォントはミーラ

4

3 に答える 3

0

ゼロ幅ジョイナーとゼロ幅非ジョイナーをチェックしてください。あなたの要件のために、ゼロ幅ジョイナーを次のように使用して正しい出力を得ました: \u0d15 + \u0d4d + \u200d + \u0d30 (以前の回答は無視してください。同じですが、間違ったユーザーアカウントで投稿されました)。

于 2013-07-14T12:46:18.227 に答える
0

JTextArea フォントを Unicode フォントに設定する必要があります。

その上、button69は問題とは関係がないので、私は使用しません。

次のコードは、テキストを希望どおりに表示しています。

String problemText = "ഔ";
Font font = new Font("Arial Unicode MS", Font.PLAIN, 18);
JTextArea jTextArea1 = new JTextArea();
jTextArea1.setFont(font);
jTextArea1.append(problemText);

お役に立てば幸いです。

于 2013-02-22T15:31:36.940 に答える