Ширина шрифта Java «МОНОШИРИННЫЙ»

#java #fonts #monospace

#java #шрифты #моноширинный

Вопрос:

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

Если кто-то знает это или как это выяснить, я был бы очень благодарен.

Комментарии:

1. Я не мог найти ответ в Интернете после некоторого поиска. —> Производный шрифт, размер, стиль

Ответ №1:

java.awt.FontMetrics здесь он станет вашим другом.

Вы получаете доступ к нему через Graphics2d объект:

 Graphics2D gfx = ...;
gfx.setFont(...); // select your preferred font, monospaced or otherwise
FontMetrics metrics = gfx.getFontMetrics();
  

сделав это, вы можете получить: (все из приведенной выше ссылки на документы)

Ширина любого отдельного символа:

charWidth(char ch) Возвращает ширину опережения указанного символа в этом шрифте.

Ширина строки:

stringWidth(String str) Возвращает общую ширину продвижения для отображения указанной строки в этом шрифте.

Высота строки

getHeight() Возвращает стандартную высоту строки текста в этом шрифте.

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

Комментарии:

1. Спасибо за вашу помощь. Попробовал сегодня и сработал именно так, как я хотел.