Показать сообщение отдельно
Старый 10.04.2010, 03:18
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 16  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
По поводу "все равно не понял, как это"
Обычные шрифты имеют переменную ширину штрихов в глифах, закругления, трапеции, наклонные элементы и т.п. При всем желании их невозможно привести к размеру около 10 пикселей без сглаживания, то есть размытия. Допустим, сглаживание для перехода на один пиксель вправо за пять пикселей вверх требует трех промежуточных полупрозрачных пикселей. Для глифа размером 80 пикселей это - благородное красивое сглаживание, но для глифа высотой 10 пиксов это - лужа грязи.
Есть шрифты, неплохо отхинтованные для мелкого размера - это так называемые "шрифты для веба" - тахома, вердана, ариал и иже с ними. У таких шрифтов штрихи максимально "прямоугольны" и пропорциональны, а скругления расчитаны так, что при сильном уменьшении и попытке сгладить дают либо целый пиксель, либо пустоту. Виндовский рендер сам определяет по заполнению пикселя, показывать ли его вообще - этот режим во Flash IDE называется "Bitmap Text (no antialias)". Но при ОЧЕНЬ мелком размере и такой подход.. не подходит))
Название: glyphs.png
Просмотров: 461

Размер: 4.2 Кб
Поэтому существуют псевдо-пиксельные шрифты. Псевдо - потому что на самом деле это такие же векторные стандарты, а не настоящие пиксельные карты, в которых указывается только "пиксель закрашен/не закрашен", которые теоретически не масштабируются, а создаются сразу под точный размер, как упоминавшийся IBMовский VGA-шрифт рс8х16.fon
Псевдо-пиксельные шрифты - векторные, но полностью отхинтены по пикселям. Т.е. есть некая векторная величина х, представляющая 1рх. Соответственно ВСЕ элементы глифа четко выровнены по сетке, ни один из них не может быть длиной 1.5х, или шириной 2.3х. И конечно, в таких шрифтах нет наклонных линий (они сразу сделаны "лесенкой"), или скругленных элементов - все глифы строятся из "квадратиков"-пикселей, как пиксельный шрифт. При отображении такого шрифта в "правильном" масштабе n*(ширина) сглаживать рендеру просто нечего - векторный глиф точно ложится в пиксельную сетку.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 10.04.2010 в 03:57.