Page 11 of 11

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Thu Mar 25, 2021 4:09 pm
by lexsilentium
GerdtR wrote:Да, просто матрица. Возможно, я открывал в GIMP , как raw файл. Там можно указать число бит на точку. Кажется да, так я его и открывал.
Но если подкажете, когда высота символов сменится на 16 - буду благодарен)

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Thu Mar 25, 2021 6:19 pm
by GerdtR
Что-то не так делаешь. Размер шрифта фиксированный. Вечером попробую дома открыть, может получится

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Thu Mar 25, 2021 6:21 pm
by GerdtR
Таблица символов cp866. КОС на ней сделана

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Thu Mar 25, 2021 10:30 pm
by lexsilentium
GerdtR wrote:Таблица символов cp866. КОС на ней сделана
Благодарю за вашу помощь). Есть вопрос небольшой - как работает системное сглаживание шрифтов? Ну, то есть, в целом?

Лично я тут немного потратил время на исследование вопроса. Число возможных пространственных структур окрестности пикселя ограничено, теоретически, можно сделать для каждого варианта окрестностей - соответствующие маски. Теоретический максимум вариантов окрестностей 3x3 - 2^9. Но на шрифтах 8x9 в итоге реализовались только 348. С точностью до отражений и негативов - всего 104
И тут обнаружилось, что этот способ сглаживания не канает. Потому что 104 маски - это сто четыре маски.
Но для лучшего понимания вопроса пиксельной графики... По моему, это тем не менее, было не безполезно...

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

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Fri Mar 26, 2021 1:11 am
by KPG
Была и некоторая статья на Хабр,
Шрифты в условиях экстремальной экономии

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Fri Mar 26, 2021 9:44 am
by tsdima
lexsilentium wrote:как работает системное сглаживание шрифтов?
Я когда писал эмулятор для запуска программ Колибри под Линукс, тоже озадачивался этим вопросом. Пришлось делать самому, но сделал очень похоже (можешь помедитировать над функцией k_prepare_char в gui.c).

Re: Масштабирование растровых системных шрифтов с AEB эффектом

Posted: Sat Mar 27, 2021 7:14 pm
by Pathoswithin
Нету там никаких масок, тупо проверка соседних пикселей для четырёх вариантов треугольников и двух вариантов высоких треугольников. Дёшево и сердито. Это с масштабированием, а без него всего два варианта. А без ClearType только один. Со знанием ассемблера можно попытаться что-то понять в функции drawChar.
Шрифт встроен в ядро и сжимается вместе с ним. charUni.mt, в котором 1400 символов по 16 байт, сжимается где-то до 5 килобайт.