Russian Qt Forum
Ноябрь 05, 2024, 06:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPainter - кривые шрифты  (Прочитано 5169 раз)
Alexandr_Sky
Гость
« : Октябрь 11, 2007, 08:41 »

Отрисовываю текст в QPainter. При этом шрифт выглядит очень плохо - расстояния между буквами разные.
Например здесь буква 'ы' наползла на 'х':
http://slil.ru/24964145

painter->setRenderHint(QPainter::TextAntialiasing) и painter->setRenderHint(QPainter::Antialiasing) не помогают.

З.Ы.
Под Linux (Qt 4.1.4) и под Windows (Qt 4.2.2) одинаково криво.
« Последнее редактирование: Октябрь 11, 2007, 10:22 от Alexandr_Sky » Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #1 : Октябрь 11, 2007, 10:26 »

Судя по картинке, QT здесь не причем - скорее всего проблемы со шрифтом, ведь остальные буквы нормальные.
Записан
Alexandr_Sky
Гость
« Ответ #2 : Октябрь 11, 2007, 12:12 »

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

upd:
Кое-что начинает проясняться. Я отрисовываю в своих координатах, предварительно сделав scale().
При этом шрифт, подходящий под масштаб - 2pt. Видимо, при масштабировании шрифта этот косяк и появляется. Если уменьшить scale и использовать больший шрифт, то все ок.
В принципе, ничто не мешает уменьшить масштаб в n раз и увеличить все координаты в n раз, но так менее удобно их задавать. Может как-то можно это обойти?
« Последнее редактирование: Октябрь 11, 2007, 12:25 от Alexandr_Sky » Записан
QCasper
Гость
« Ответ #3 : Октябрь 11, 2007, 12:44 »

У меня тоже подобная проблема была. Мне надо было выводить текст, причем переносить по словам его, я высчитывал и рисовал все это дело вручную. Тоже были такие глюки. Причем они вылазили когда как, могли вылезти, могли не вылезти. Зависело чуть-ли не от компа, где-то почти весь текст пер с такими глюками, где-то хрен дождешься. Самое прикольное, что вопреки всем законам у заказчега глюк ни разу не вылез Улыбающийся Пофиксилось как-то само собой, а скорее всего из-за того, что я перестал делать это вручную и стал устанавливать нужный текст в QTextDocument, а потом вызывать QTextDocument::drawContents.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.