Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> getCharWidth из TextRenderer боится русских букв, Ошибка обработки русских букв 
V
    Опции темы
ha7y
Дата 19.10.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Красноречивее Русского языка, в данном случае, скажет код и вывод:
Код
new TextRenderer(new Font(null, Font.BOLD, 14)).getCharWidth('ы');

Код
Exception in thread "main" java.lang.NullPointerException
        at sun.font.StandardGlyphVector.initFontData(StandardGlyphVector.java:1114)
        at sun.font.StandardGlyphVector.init(StandardGlyphVector.java:1090)
        at sun.font.StandardGlyphVector.<init>(StandardGlyphVector.java:149)
        at java.awt.Font.createGlyphVector(Font.java:2352)
        at com.sun.opengl.util.j2d.TextRenderer$GlyphProducer.getGlyphPixelWidth(TextRenderer.java:1624)
        at com.sun.opengl.util.j2d.TextRenderer.getCharWidth(TextRenderer.java:521)
        at org.ourprogram.TestingFont.main(TestingFont.java:62)
Java Result: 1


однако, если исправить букву 'ы', например, на 'd':
Код
System.err.println(new TextRenderer(new Font(null, Font.BOLD, 14)).getCharWidth('d'));

Код
9.0

Ява послушно выведет заветное число. Я использовал класс com.sun.opengl.util.j2d.TextRenderer, что входит в состав JOGL

Мне бы хотелось узнать, нет ли какого-то иного способа вычислить ширину слова?
p.s.: по-моему это баг, вам так не кажется?

u.p.s.: java от Sun - 1.6 update 10 под Linux'ом

Это сообщение отредактировал(а) ha7y - 19.10.2008, 18:10
PM MAIL   Вверх
Keyo
Дата 19.10.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



FontMetrics.getLineMetrics ?
PM MAIL   Вверх
ha7y
Дата 19.10.2008, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



getStringBounds из java.awt.FontMetrics подходит как нельзя лучше
спасибо, Keyo
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0691 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.