Page 3 of 11
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Tue Jul 21, 2015 4:17 am
by paulcodeman
Pathoswithin wrote:А какие настройки ты предлагаешь?
Масштаб шрифта, например у кого плохое зрение, чтобы можно было увеличить шрифты в системе.
Сглаживание если оно есть.
Пока это сейчас в голову ночью пришло, может еще придумаю.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Tue Jul 21, 2015 4:31 am
by Pathoswithin
Увеличить шрифты в системе непросто, надо менять размер графических элементов под ними. Хотя, сколько их? Меню и панель...
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 10:08 am
by Pathoswithin
Ну вот, теперь в ф4 ecx = XYRRGGBB h, где XY = AB00CDDD b, где DDD = (множитель шрифта)-1, то-есть 1 = х2, 7 = х8. Шрифт пока один.
В ф48 добавил подфункцию 9, ecx (cl) = 0 — отключить сглаживание, не 0 — включить.
Можно совокуплять.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 11:07 am
by Leency
Можешь выложить для тестов скомпиленное ядро и программу с разным размером шрифтов?
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 12:18 pm
by paulcodeman
Pathoswithin wrote:Ну вот, теперь в ф4 ecx = XYRRGGBB h, где XY = AB00CDDD b, где DDD = (множитель шрифта)-1, то-есть 1 = х2, 7 = х8. Шрифт пока один.
В ф48 добавил подфункцию 9, ecx (cl) = 0 — отключить сглаживание, не 0 — включить.
Можно совокуплять.
А можно ширину и высоту шрифта узнавать или это моноширинный шрифт?
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 6:39 pm
by CleverMouse
Я, пожалуй, не настолько люблю эксперименты в транке, чтобы заливать код, убивающий второй системный шрифт, без предупреждения.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 6:43 pm
by Pathoswithin
Принципиальных отличий нет, программа лежит
viewtopic.php?f=36&t=3084&start=19, там ещё такты процессора выводятся. Можно добавить отключение сглаживания, тогда при обновлении открытых окон будет видна разница:
Code: Select all
mov eax,48
mov ebx,9
xor ecx,ecx
int 40h
Шрифт моноширинный, 5+1. Немоноширинный, внезапно, был шире; как расчитывалась его длинна не знаю, на кнопках завершения работы съехал; я так понял, код не в ядре.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 6:49 pm
by Pathoswithin
CleverMouse, собственно ничего ужасного не случиться, просто я не знаю, где код посъезжавшего текста.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Wed Jul 22, 2015 7:02 pm
by CleverMouse
Pathoswithin, programs/system/end/light/data.inc. Они не рассчитываются, просто определённое количество пробелов.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Thu Jul 23, 2015 12:41 am
by yavlenie
Есть некоторые основания считать проделанную работу только на 50% успешной. Масштабирование пиксельных шрифтов занятное и внешне напоминает сильно улучшенный
hqx Однако с субпиксельным рендерингом есть проблемы. В аттаче 1.png с обычным антиалиасингом, 2.png с "субпискельным". Разницы нет никакой, разве что тратится время на обсчет бесполезного эффекта. Субпискели нужны в основном для улучшения отображения свободно масштабируемых (векторных) шрифтов. - Например когда нет возможности сделать хинтинг на все мыслимые размеры. Может ли системный шрифт KOS быть уменьшен и оставаться читаемым при использовании данной имитации субпиксельного рендеринга? - Очень сомневаюсь. Однако честный субпиксельный рендеринг позволяет гибко масштабировать шрифты не сильно парясь о читаемости (3.png).
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Thu Jul 23, 2015 10:20 am
by Pathoswithin
yavlenie, похоже ты невнимательно читал тему. Во-первых заголовок: работа на 100% успешна + бонус. Во-вторых, при сглаживании скорость снижается в 20 раз из-за чтения видеопамяти, антиалиасинг тоже этого требует. С другой стороны, скорость приемлемая поскольку считываются только несколько пикселей (например, 8 для буквы "О"), а векторный шрифт потребует считать все.
Может ли системный шрифт KOS быть уменьшен и оставаться читаемым при использовании данной имитации субпиксельного рендеринга?
Системный шрифт имеет разрешение 9х(5+1), уменьшать его некуда.
Разницы нет никакой, разве что тратится время на обсчет бесполезного эффекта.
Вообще-то, расчёт 3/1, 3/1, 3/1 дольше чем 4/0, 3/1, 2/2, но поскольку это грубо пофиг, я могу сделать так или даже оба варианта, так что решайте, какой лучше.
Однако честный субпиксельный рендеринг позволяет гибко масштабировать шрифты не сильно парясь о читаемости (3.png).
Тут вообще не понял. Видно, что мой алгоритм лучше заточен под шрифт, но я не применяю сглаживание к масштабированному шрифту. В чём нечестность?
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Fri Jul 24, 2015 5:33 pm
by CleverMouse
Если возражений так и не поступит, я ведь закоммичу.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Fri Jul 24, 2015 5:42 pm
by Pathoswithin
Угрожаешь? А чего возражать? Вот вам новый End, в остальном разницы практически не будет. Плюс небольшое исправление.
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Fri Jul 24, 2015 6:37 pm
by Leency
Re: Масштабирование растровых системных шрифтов с AEB эффект
Posted: Fri Jul 24, 2015 8:36 pm
by paulcodeman
Pathoswithin wrote:Угрожаешь? А чего возражать? Вот вам новый End, в остальном разницы практически не будет. Плюс небольшое исправление.
Толщина шрифта регулируется?
Наклонный текст поддерживается?
Сможешь реализовать ф-цию загрузки разных шрифтов для колибри ( мб. специальный формат ) ?