В другой теме я уже писал о своей программе-растеризаторе шрифтов. Пришло время отдать растеризатор на тестирование.
Сейчас программа написана на Си. Я хочу убедиться, что выбранные алгоритмы работают с приемлемой скоростью на всех машинах, и если это не так, буду думать об оптимизации отдельных блоков. После этого, по всей видимости, можно будет переносить растеризатор на ассемблер.
Причесывание и вылизывание Си-шного кода продолжается, в программе с недавнего времени не используется FPU (используются только целочисленные вычисления).
Attachment:
scalefont.zip [2.64 KiB]
Downloaded 602 times
Что делает программа fonter? Она выводит на экран глиф S из шрифта Droid Sans (пока что сделал версию без сглаживания), размер этого глифа можно менять (13,14,16,17,20,22,26,32,40,53,80 или 160 пикселов в высоту).
Что нужно протестировать? Работает ли программа, заметна ли отрисовка символа на экране.
Замечу, что если отрисовка символа незаметна без сглаживания, то и со сглаживанием она заметна скорее всего не будет - зато качество символа будет гораздо выше. Программа использует menuetlibc, поэтому CPU показывает, что она кушает много памяти. В реальности программа потребляет чуть больше 270 килобайт ОЗУ - из них большая часть идет на хранение изображения символа в памяти (300*300*3 байта). Потребление можно снизить, заменив 7ю функцию на 65ю.
1) Что делать с прозрачностью? Все еще нужно извращаться с чтением фона в буфер?
2) Предлагаю начать обсуждение API библиотеки шрифтов и всего сопутствующего.