[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: шрифты



В сообщении от 17 Декабрь 2006 14:23 Alex Corkin написал(a):
> Хорошо попробую, только добавлю что все элементы вроде бы такие же
> остались какие и были, то есть высота заголовка окна и так далее, а вот
> шрифты рубанулись.

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

Размер шрифтов задается в пунктах. Один пункт равен 1/72 части дюйма.
Естественно, что рисуют шрифты уже в пикселах, а во-время рендеринга размер
шрифта конвертируется из пунктов в пиксели при помощи значения DPI по
формуле:
   <размер в пикселах> = <размер в пунктах> / 72 * DPI.

По-этому, кстати, при стандартном DPI равном 96, DPI/72 = 4/3. Поэтому во
избежания ошибок округления при рендеринге рекомендуется выбирать размер
шрифта кратный трём пунктам (12, 15 и т.д.). Под это, кстати, многие шрифты
заточены, и при иных значениях невооруженным глазом видно насколько паршива
отрисовка.

На практике, определение DPI весьма муторная задача, ибо нужно знать физические
размеры монитора. Новые мониторы умеют их сообщать через дополнительный канал
данных между видеокартой и монитором, который носит название EDID. Для старых
мониторов надо вписывать ручками.

А в новом драйвере что-то поломали.

Для справки. Чтобы узнать чему равен dpi в запущенных иксах, нужно дать
в терминале команду:
 $ xdpyinfo | grep resolution

--
  Макс



Reply to: