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

Kernel-side graphics support
  • После (технического) перерыва вернулся к вычесыванию блох из НВШ.

    Парсер прямых линий и некоторых спецштрихов наконец заработал :D
    "Прямолинейные" символы вроде П или Щ отлично рисуются.

    сложные штрихи пока виснут.

    PS. Технические версии выкладываю в SVN "для докУменту".
    Есть причины.
  • Уфф, этот парсер меня вконец запарсил :D

    Теперь осталось неправильные закорючки поправить где надо.
    ... и приниматься за новые шрифты, побольше, побольше!
    NSVF.png
    NSVF.png (9.94 KiB)
    Viewed 10068 times
    А размером - поменьше, поменьше.
    Парсер занимает меньше 600 байт, еще около 200 в таблицах закорючек (они общие для всех шрифтов).
    У каждого шрифта своя таблица адресов (512 байт) и карусель закорючек - всего 688 байт для вот этого "шрифта".
    Last edited by art_zh on Fri Mar 16, 2012 2:38 am, edited 1 time in total.
  • Больше! Больше! Больше! Чорт! Больше 200 не дает! Но все равно больше чем 146%

    Как там с заполнением кишков у больших шрифтов?
  • Мда, мои шрифты побольше занимают, однако. На два порядка.
  • Браво, art_zh! Отличная работа!
  • #2499: закорючки перенумерованы.
    Выделено больше места для самых ходовых 5- и 6-пиксельных элементов.

    Блин, как же сложно оказывается эти шрифты рисовать :(
    Но это плата за очень плотный формат и распаковку символов "слёту" на экран, без битмапов, .
    Евангелие от Иоанна: стих 1

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • Гы, однако они очень легко "масштабируются":
    Spoiler:
    NSVF.png
    NSVF.png (10.5 KiB)
    Viewed 9932 times
    дочищаю кракозябры...
  • Они правда быстрее, чем битмаповые?
  • Вероятно, по скорости, соизмеримые величины.
    art_zh wrote:Гы, однако они очень легко "масштабируются":
    Но они же судя по скриншоту все равно получаются кубические (в стиле Minecraft), т.е. грубое масштабирование.
  • Я так понимаю, just as planned.
  • SoUrcerer wrote:Они правда быстрее, чем битмаповые?
    должны быть быстрее, а правда или нет - скоро увидим
  • Ну вот, собссно, и сабж :D
    fonts.png
    fonts.png (13.08 KiB)
    Viewed 9837 times
    Сверху новый шрифт, снизу - два старых. Слева - время вывода строчки из 40 символов в тактах CPU (впрочем, зачем нужно комментировать - листинг же).

    Новый шрифт очень похож на системный номер 0. Изобретать велосипед пришлось по двум причинам:
    1) я хочу выкинуть растровые фонты из ядра, и заменить их векторными. Нужна совместимость.
    2) нужно было напрямую сравнить размер и скорость отрисовки у двух "почти одинаковых" шрифтов.

    Результат мне нравится: даже самый маленький растровый шрифт почти вдвое больше векторного, и на 25-40% медленнее.
    На более крупных шрифтах разница будет заметнее - в разы.
    Last edited by art_zh on Thu Mar 29, 2012 2:02 am, edited 1 time in total.
  • А побольше? Еще больше! Еще больше!
  • Скорость, действительно, впечатляет; отличная работа!

    Но некоторые глифы выглядят довольно странно (та же 'a'). Я правильно понимаю, что шрифт, аналогичный по начертанию текущему системному, потребовал бы слишком много уникальных "закорючек", и размер кода/шрифта вырос бы, а скорость отрисовки упала? Или смену шрифта принимать скорее как feature и лишний повод для 'сделай сам'?
  • Who is online

    Users browsing this forum: No registered users and 3 guests