Как получить реальную строковую высоту в Java?

17
задан vallismortis 19 August 2015 в 17:40
поделиться

3 ответа

FontMetrics.getAscent () и FontMetrics.getDescent () мог бы добиться цели.

7
ответ дан 30 November 2019 в 11:08
поделиться

Что заставляет Вас думать, что это возвращает неправильное значение? Намного более вероятно, что Ваше ожидание того, что это возвращает, не соответствует спецификации. Обратите внимание, что это прекрасно подходит, если некоторые глифы в Шрифте переходят или под теми значениями.

getMaxDescent() и getMaxAscent() должен сказать Вам значения абсолютного максимума тех полей для любого глифа в Шрифте.

, Если Вы хотите знать метрики для определенной Строки, затем Вы определенно хотите звонить getLineMetrics().

12
ответ дан 30 November 2019 в 11:08
поделиться

getHeight() не может отключить подстрочные элементы строки, только тянуть строку может сделать это. Вы используете высоту, возвращенную от getHeight для рисования строки так или иначе, и вероятно Вы неправильно используете высоту. Например, при расположении стартовой точки строки у основания поля, которое является getHeight () высоко, затем базовая линия текста будет находиться на базовом краю поля, и очень вероятно подстрочные элементы будут отсечены.

текстовая геометрия является сложной темой, которой придают с причудливыми историческими артефактами. Как другие предположили, используйте getAscent и getDescent, чтобы попытаться расположить базовую линию правильно в Вашем поле.

2
ответ дан 30 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: