Как Java рассчитывает расстояние между линиями шрифтов? (Рассчитайте расстояние между 2 линиями в Times New Roman)

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

  •  29-07-2022
  •  | 
  •  

Вопрос

Таким образом, я создаю чрезвычайно переменный интерфейс, где даже шрифт почти должен быть переменным (просто поверьте мне, мне это нужно, чтобы он работал на каждом разрешении), но, очевидно, есть несколько строк, если текст, где есть место между отдельные строки.

После некоторых попыток я обнаружил, что пространство между шрифтом не статично (например, 2 пикселя), поэтому оно должно составлять процент от полного шрифта (например, процент составляет 25%, а размер шрифта - 40 пикселей , чем расстояние, составляет 10 пикселей) или какая -то формула.

После некоторой поисковой работы я ничего не смог найти в расстоянии между шрифтом, поэтому я подумал, что это специфично Java. Я сомневаюсь в этом, хотя. Поскольку у Java нет метода, где вы можете изменить этот интервал (насколько я мог найти).

Итак, мой вопрос: есть ли способ либо изменить, либо узнать расстояние между 2 строками нового римского текста?

Самая большая проблема заключается в том, что мне нужно знать это, чтобы создать шрифт ... в случае необходимости формула: fontsize = (mytextarea.getheight ()-([fontascend]+[fontdescent])*21)/22

PS Я использую JTextArea и предпочитаю не использовать Jeditorpane

Это было полезно?

Решение

Возможно, это то, что вам нужно?

myTextArea.getFontMetrics().getHeight()

getFontMetrics это Метод на JComponent что дает вам FontMetrics объект, у которого есть getHeight() метод.

Другие советы

Расстояние между линиями зависит от того, имеет ли строка текста потомки или нет.

Прочитайте введение в Класс Fontmetrics Для всего, что вы никогда не хотели знать о восхождении и происхождении.

Кажется, что с моей конкретной проблемой (где я должен создать шрифт, и мне нужен тот же шрифт, чтобы иметь его создать), единственные параметры - либо использовать Jeditorpan может использовать в моей формуле или использовать алгебру, чтобы получить правильное значение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top