Javaはどのようにフォントライン間隔を計算しますか? (新しいローマの時間の2行の間隔を計算します)

StackOverflow https://stackoverflow.com/questions/19845263

  •  29-07-2022
  •  | 
  •  

質問

だから私は非常に変動するインターフェイスを作成しています。フォントでもほとんど変数でなければなりません(私を信頼してください、すべての解像度で動作するので、それが必要です)が、明らかに、テキストの場合は複数の行があります。別々の行。

試してみた後、フォント間のスペースが静的ではないことがわかりました(たとえば、2ピクセルなど)。したがって、フルフォントのパーセンテージでなければなりません(たとえば、割合は25%、フォントサイズは40ピクセルです。 、間隔は10ピクセル)または何らかの式の種類です。

いくつかの検索作業の後、私はフォントの間隔について何も見つからなかったので、それはJava固有のものだと思いました。しかし、私はこれを疑います。 Javaには、この間隔を変更できる方法がないため(私が見つける限り)。

それで、私の質問は、新しいローマのテキストの2行の間の間隔を変更するか、知る方法はありますか?

最大の問題は、フォントを作成するためにこれを知る必要があることです...式が必要な場合に備えて、fontsize =(mytextarea.getheight() - ([fontascend]+[fontdescent])/22

ps私はjtextareaを使用していて、jeditorpaneを使用しないことを好みます

役に立ちましたか?

解決

おそらくこれはあなたが望んでいるものですか?

myTextArea.getFontMetrics().getHeight()

getFontMetrics aです JComponentのメソッド これはあなたに与えます FontMetrics を持っているオブジェクト getHeight() 方法.

他のヒント

行間間の間隔は、テキストの行が劣るかどうかによって異なります。

の紹介を読んでください fontmetricsクラス 上昇と降下について知りたくなかったすべてのために。

私の特定の問題(フォントを作成する必要があり、それを作成できるように同じフォントが必要な場合)では、JeditorPaneを使用してCSSを使用して、間隔を特定の値に設定することです。フォーミュラで使用するか、代数を使用して正しい値を取得できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top