3

JTextAreaに配置されているのと同じように、ある行のベースラインからベースライン、次のテキスト行までの距離を取得する必要があります。そのために、私は指定されたフォントサイズのフォントしか持っていません。

私の問題は、フォントではLineMetricsまたはFontMetricsしか取得できず、現在のテキストに応じて両方の行のサイズ(getAscent / getHeight / getDescent)が異なることです。たとえば、文字がある場合f、上昇は大きくなり、ある場合g、私は降下しています。

「グローバル」フォントの高さプロパティを取得する方法はありますか?そのため、Graphics2Dでテキストを適切に描画できるようになります。

4

1 に答える 1

4

JavaDocからFontMetrics.getHeight()

このフォントのテキスト行の標準の高さを取得します。これは、隣接するテキスト行のベースライン間の距離です。これは、先行+上昇+下降の合計です。丸めのため、これはgetAscent()+ getDescent()+ getLeading()と同じではない場合があります。この距離で間隔を空けたテキストの行がばらばらであるという保証はありません。一部の文字が標準の上昇または標準の下降メトリックのいずれかをオーバーシュートすると、このような線が重なる場合があります。

したがって、フォントが正しく実装されている場合、これは2行のテキストの間に配置する必要のある距離になります。

于 2012-10-08T10:38:31.907 に答える