テルグ語に Unicode TrueType フォントを使用しています。テルグ語に指定された範囲で一連の Unicode 文字を入力し、Java 関数を使用して対応する文字を表示したいと考えています。Java のどの部分がシーケンスをクラスタに分割して処理しますか? WindowsではUNISCRIBEがそれを行うと信じています。Javaにsivachanderに似たものがあるかどうか知りたい
です
3 に答える
私の理解が正しければ、あなたはBreakIterator.getCharacterInstanceを探しています。
ドキュメントから:
文字境界分析により、ユーザーは、たとえばテキスト文字列内でカーソルを移動するときに、期待どおりに文字を操作できます。文字境界分析は、文字がどのように格納されているかに関係なく、文字列を正しくナビゲートします。返される境界は、補助文字、結合文字シーケンス、または合字クラスターの境界である可能性があります。たとえば、アクセント記号付きの文字は、基本文字および分音記号として格納される場合があります。ユーザーが文字と見なすものは、言語によって異なる場合があります。
Java はその表示ルーチンを基礎となるライブラリーに依存していますが、それらをより厳密に制御したい場合は、java-gnomeに Cairo と Pango の両方のバインディングがあります。
新しいフォントを開発する場合を除き、Unicode コード ポイントに基づいて Java がグリフをレンダリングする方法を知る必要はありません。
文字列が必要な場合はいつでも、一連の Unicode コード ポイントを渡すことができ、Java はそれらを正しくレンダリングします (母音、子音、子音の分音記号、子音のブレンディング)。ここに例があります
g.drawString("\u0C36\u0C3F\u0C35\u0C1C\u0C3E\u0C38\u0C4D\u0C24\u0C3F", 75,100);