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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Продолжение проблемы с шрифтами ...  (Прочитано 4460 раз)
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« : Январь 28, 2010, 14:59 »

Есть проблемы в моём приложении с разным отображением шифров на разных компах. Но вот до чего докопался - в qtDemo программы по разному отображают шрифт на разных компах.

подробнее: На десктопном компе (PC) стоит Debian 5.0.2. Собрал на нем qt4.6 из исходников. Запустил QtDemo->Graphics View->Diagram Scene. Создал не хитрую схему (рис desktop.png). Перекинул собранную qt4.6 с PC на ноутбук, на котором стоит тот же Debian 5.0.2 с таким же окружением (kde3). Запустил программу QtDemo->Graphics View->Diagram Scene, создал туже схему получил рисунок notebook.png.
Из рисунков видно: размер квадрата фиксированный, размер и имя шрифта одинаково, но текст по длине (ширине) разный. Даже заголовок "Basic Flowchart Shapes" имеет разную геометрию на разных компах. Посмотрел зависимость QtDemo - есть там libfreetype, libfontconfig - на обоих компах эти библиотеки единичны. Проверил в Windows XP - получил ещё один отличный результат.
Почему так? Можно ли заставить сцену отображать одинаковые шрифты на разных компах одинаково, пиксель в пиксель? А также в разных ОС и сборках?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Январь 28, 2010, 16:56 »

у Вас и обычные шрифты едут - посмотрите на рамочку, где Basic Flowchart Shapes. Линукс, фигли...
Записан
BlackTass
Гость
« Ответ #2 : Январь 28, 2010, 17:11 »

Дело не в "линукс, фигли" а в том что по разному настроены системные шрифты. Вполне возможно что стоит разный ДПИ.
Записан
Rcus
Гость
« Ответ #3 : Январь 28, 2010, 18:01 »

fontconfig то может быть один, а настроен по-разному, diff по /etc/fonts/** ~/.fonts.conf надо смотреть
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #4 : Январь 29, 2010, 14:24 »

постаивл на обе машины Qt4.4.3 из одного репазитория. Отображение  системных шрифтов стало практически одинаково. Проверил в QLineEdit: вбил строку около 30 символов и разница ширины получилась примерно в 1 пиксель. Но QGraphicsTextItem, в этом "коробочном" qt4.4.3, на сцене по прежнему разьезжается как на рисунках выше.

Цитировать
fontconfig то может быть один, а настроен по-разному, diff по /etc/fonts/** ~/.fonts.conf надо смотреть
файла ~/.fonts.conf на компах нет. файл etc/fonts/fonts.conf сверил на 2-х компах - одинаковы, строчка в строчку.

Цитировать
Вполне возможно что стоит разный ДПИ.
Что такое ДПИ?
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #5 : Январь 29, 2010, 17:32 »

Цитировать
Вполне возможно что стоит разный ДПИ.
Что такое ДПИ?
дот пер инч - DPI количество точек на дюйм...
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #6 : Февраль 01, 2010, 15:15 »

Нашел решение проблемы. Размер шрифта необходимо задавать в пикселях setPixelSize() и тогда текст будет пиксель в пиксель. А я размер задавал конструктором QFont, который значение принимал в поинтах.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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