Java: расчет ширины текста для различных шрифтов в различных операционных системах с FontmetricsJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java: расчет ширины текста для различных шрифтов в различных операционных системах с Fontmetrics

Сообщение Anonymous »

Я генерирую файлы слов OpenXML (OOXML) с Java. Я хочу избежать запуска главах или таблиц в нижней части страницы, которая приведет к разделению их на следующую страницу. Поэтому мне нужно знать, где моя текущая позиция в IS, и добавить разбивки страниц в случае необходимости.Graphics2D graphics2D = (Graphics2D) new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB).getGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
RenderingHints.VALUE_FRACTIONALMETRICS_ON);
graphics2D.setFont(new java.awt.Font("Calibri", java.awt.Font.PLAIN, 12));
FontMetrics fontMetrics = graphics2D.getFontMetrics();

System.out.println("Leading: " + fontMetrics.getLeading());
System.out.println("Height: " + fontMetrics.getHeight());
System.out.println("Text length: " + fontMetrics.stringWidth("This is a test text"));

< /code>
В зависимости от длины текста я мог рассчитать требуемые строки и, наконец, требуемая общая высота моего текста. < /p>
Проблема сейчас, что результаты экстремально различаются между Windows (система разработки) и Linux (производственная система).Leading: 3
Height: 15
Text length: 82
< /code>
Вывод на Linux: < /p>
Leading: 0
Height: 15
Text length: 104
< /code>
Я использую OpenJdk 22.0 в обеих системах.
Моя цель состоит в том, чтобы иметь равные результаты в обеих системах, поскольку сгенерированный OOXML будет открыт только в системах Windows. в банке. К сожалению, это также привело к разным значениям.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-systems
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»