Кернинг нужен или Кернинг не нужен

Кернинг нужен
15
Нейтральная
сторона
1
Кернинг не нужен
1
Выравнивать визуальный зазор между буквами
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Пускай буквы стоят в сетке

29-06-2012 13:50 +1

Выглядит лучше. На некоторых шрифтах расстояние между отдельными буквами очень уж некрасиво смотрится.

0 комментариев
01-01-2013 04:01 0

12 дезигнеров выбрали сторону, но не отписались. Где все эти люди?

0 комментариев
01-01-2013 13:04 +1

Сетка, как и любое другое искусственное ограничение, может быть нужна, но ощень редко. В остальном шрифт, как и много что еще, должен подстраиваться под человека.

0 комментариев
01-01-2013 13:08 0

А я хипстер

0 комментариев
08-01-2013 04:45 +1

Кстати, а я тут подумал... Будет ли кернинг забирать производительность при рендере? Ведь по идее, придется проверять, какая буква стоит слева и можно ли к ней применять кернинг относительно обрабатываемой буквы, и так для каждой буквы, блджад.

Шрифт без кернинга достаточно читабельный и не требует лишней затраты ресурсов.

5 комментариев
opera.rulez 08-01-2013 04:47 0

r619, Почему не пойти дальше и не пойти на моноширинный шрифт, ведь тогда не придётся рассчитывать ширину строки?

r619 08-01-2013 04:56 0

opera.rulez, В !моношринных шрифтах разве что-то расчитывается вообще? Лишь размер, основанный на кегле, не более. Далее новая буква просто ставится рядом (почему-то боюсь так абстрактно описывать реализацию, но, думаю, ты понял)

К тому же, без кернинга можно обойтись, enough is enough, тогда как моношринные шрифты сильно сложнее читать.

opera.rulez 08-01-2013 04:58 +1

r619, При автоматическом переносе строк или при выравнивании длина строки заранее не известна.

r619 08-01-2013 05:03 0

opera.rulez, При подстановке буквы можно инкрементировать переменную длины, так получится быстрее чем высчитывать длину отдельно. Это не слишком ресурсозатратно.

opera.rulez 08-01-2013 05:09 +1

r619, Если нужны автоматические переносы строк, алгоритм сложнее, потому что строка обрывается на границе слова, а не символа.

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

Представь, сколько вычислений нужно для рендеринга векторных шрифтов!