少し背景..
JavaとLWJGLを使用して OpenGL ゲームを作成中です。TextRenderer
キャッシュされたグリフのページを使用してテキストをレンダリングするクラスを作成しました。グリフ自体は Java2D で にレンダリングされBufferedImage
、グリフ測定値とともにテクスチャ ページにパックされます。TextRenderer
キャッシュされた情報を使用して、テクスチャ付きのクワッドとしてキャラクターを描画します。
これはすべてうまく機能しますが、カーニングの欠落という 1 つの点を除きます。確かに、テキストはそのままできれいに見えるので必要ではありませんが、フォントのカーニング情報にアクセスできれば、品質が向上します。
そして質問は..
Windows、Linux、および MacOS X 間で移植可能な方法で、プレーンな Java を使用してカーニング情報を取得することは可能ですか? 私が書いたとき、TextRenderer
私は簡単に周りを見回しましたが、そのような方法を見つけることができませんでした..
考えられる解決策の 1 つ
純粋な Java でこれを行う方法がない場合は、Freetypeを使用して別のツールを作成することを考えていました。機能ページに記載されているとおり:
FreeType 2 は、カーニング距離、グリフ名、垂直メトリックなど、他の同様のフォント エンジンでは得られない情報を提供します。
このツールは、一般的な文字のカーニング ペアを、テキスト レンダラーが読み込んで使用するファイルに保存します。ですから、皆さんがより良い代替案を思いつかない場合、これはおそらく私がすることです. :)