Page 3 of 5

Re: Немасштабируемые векторные шрифты

Posted: Thu Mar 29, 2012 2:09 am
by art_zh
Mario
Да будут, будут больше, дай этот причесать!
Уж ты-то должен представлять, сколько времени надо было ухлопать хотя бы на вот этот файлик.

dunkaist
да, кое-где еще заусенцы торчат, надо вылизивать. И еще штук 50 символов недорисованы.
дело не в скорости отрисовки - в трудоемкости кодирования. Ну и с парсером заморочек был вагон.

SoUrcerer
#2522: можно тестировать.
Просто замени файл gui/font.inc и скопируй папку /fonts из А-версии в свое ядро

Re: Немасштабируемые векторные шрифты

Posted: Thu Mar 29, 2012 5:06 pm
by XVilka
art_zh: ты его чем-то генеришь, или вручную правишь?

Re: Немасштабируемые векторные шрифты

Posted: Thu Mar 29, 2012 5:44 pm
by art_zh
Пока вручную,
но надо какой-то IDE придумать для редактирования, иначе свихнешься.

Re: Немасштабируемые векторные шрифты

Posted: Thu Mar 29, 2012 6:17 pm
by Mario
Только руками! Только хардкор!

Re: Немасштабируемые векторные шрифты

Posted: Thu Aug 23, 2012 1:49 am
by art_zh
Забавный эффект при перересовке частично перекрытого окна:
FNT.png
FNT.png (6.99 KiB)
Viewed 9587 times
старые системные фонты тратят кучу времени, обнюхивая экранную карту для каждого пикселя.

новый шрифт "шарит по углам", и если хотя бы один угол перекрыт - просто ничего не рисует. Такой вот мини-клиппинг.

Профит (в тактах процессора) - в левом столбце.

Re: Немасштабируемые векторные шрифты

Posted: Mon Aug 27, 2012 5:16 pm
by SoUrcerer
Больше - хуже или лучше?

Re: Немасштабируемые векторные шрифты

Posted: Mon Aug 27, 2012 8:29 pm
by hidnplayr
to eliminate the 'funny effect' you could use following logic:
- if all corners overlapped, dont draw
- no corners overlapped, draw
- some corners overlapped, use the old method: check all pixels

Re: Немасштабируемые векторные шрифты

Posted: Mon Aug 27, 2012 10:03 pm
by art_zh
I'm OK with this - the new font is working 4 times faster because no need in drawing on the overlapped areas.

Re: Немасштабируемые векторные шрифты

Posted: Mon Aug 27, 2012 10:09 pm
by hidnplayr
Ok, I can also live with it personally :)

Re: Немасштабируемые векторные шрифты

Posted: Tue Aug 28, 2012 3:14 am
by art_zh
SoUrcerer wrote:Больше - хуже или лучше?
the code is the same as before, but the test string is a bit longer (90 characters), and the window is partially overlapped

left column = number of CPU clocks needed to write it (see the code there)

Re: Немасштабируемые векторные шрифты

Posted: Fri Aug 31, 2012 1:31 am
by Gluk
с пропавшими при перекрытии символами получается ужасно.
Spoiler:Я придумал ещё более быстрый шрифт: он просто ничего не рисует. Как развитие идеи art_zh насчёт [отсутствия] обработки перекрытий. В самом деле, прочие шрифты тратят кучу времени на то, чтобы что-то отрисовывать...

Re: Немасштабируемые векторные шрифты

Posted: Fri Aug 31, 2012 7:08 am
by Mario
Gluk
Никто ведь не заставляет использовать. Более того шрифт автор разрабатывал для себя и первоначально не планировал заливать в транк.

Re: Немасштабируемые векторные шрифты

Posted: Fri Aug 31, 2012 11:14 am
by art_zh
Gluk wrote:с пропавшими при перекрытии символами получается ужасно.
по мне, разрезанный верхним окном (или краем собственного окна) символ тоже смотрится некошерно.
но при желании этот глюк можно очевидным образом поправить:
hidnplayr wrote:- if all corners overlapped, dont draw
- no corners overlapped, draw
- some corners overlapped, use the old method: check all pixels
Кстати, старые матричные шрифты тоже можно довести до ума тем же макаром - слишком уж много ресурсов они жрут на невидимых полях (столько же, как и на видимых).
Gluk wrote:Я придумал ещё более быстрый шрифт: он просто ничего не рисует. Как развитие идеи art_zh насчёт [отсутствия] обработки перекрытий. В самом деле, прочие шрифты тратят кучу времени на то, чтобы что-то отрисовывать...
это типа сарказм такой :?

Re: Немасштабируемые векторные шрифты

Posted: Fri Aug 31, 2012 12:32 pm
by art_zh
Mario wrote:Никто ведь не заставляет использовать. Более того шрифт автор разрабатывал для себя и первоначально не планировал заливать в транк.
Вообще-то дальний прицел был именно на замену стандартных фонтов, в том числе и в транке.

Конечно векторные шрифты 1) быстрее, 2) компактнее растровых, и как было показано выше, 3) сильно разгружают графическую подсистему.
Но дело не только в этом:

4) очень полезно было бы иметь (хотя бы один) шрифт монолитно встроенным в ядро, чтобы выводить на экран сообщения на самых ранних этапах загрузки, еще до настройки файловой системы.

5) одинаковый набор глифов можно использовать для двух шрифтов: моноширинного и пропорционального -> плотность упаковки еще удваивается.

6) таких шрифтов больше нет нигде и ни у кого, они принципиально отличаются от всего, что было напатентовано за последние 30лет -> любые лицензионные заморочки отпадают присно и во веки веков.

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

Re: Немасштабируемые векторные шрифты

Posted: Fri Aug 31, 2012 2:26 pm
by Mario
art_zh
1) Насколько я мог судить по последовательности твоих комментариев на форуме, то первоначально задумка касалась исключительно Kolibri-A.
2) Если бы со шрифтами все было просто, то мы бы уже имели давно несколько вариантов своих велосипедов. Технически велосипеды то есть, но ни один не доведен до логического завершения.