Шрифты в Колибри
Системные шрифты. История
Системные шрифты реализованы в ядре через системную функцию 4. Самый часто используемый вид шрифтов и это не удивительно, ведь их ядерная реализация дает целый ряд преимуществ: скорость отрисовки, компактность и главное простота использования.
Не смотря на все плюсы, системные шрифты до недавнего времени имели один большой недостаток, так хорошо знакомый тем, кто давно следит за "Колибри" – это их кегль, то есть размер. Посмотрите на скриншот первой версии Колибри 0.1.0.0.

На скриншоте показано два системных шрифта: 6х9 и 8х9 пикселей. 8х9 используется в заголовках окон, в окне и для иконок - 6х6. Их Колибри унаследовала от своего предшественника Менуэта. Обратите внимание, что в меньшем шрифте часто используется КАПС. Как думаете, почему? Ответ простой: при наборе с капсом шрифт выглядит больше. Такая вот хитрость.
Окей, вы можете сделать замечание: "Так это же скриншот самой первой версии Колибри, ему уже больше 12 лет, тогда были ЭЛТ мониторы с разрешением 800х600 и 1024х768, потому шрифт выглядел сносно. Как насчет снимка посвежее?"
Хорошо, вот скрин Колибри N9 годичной давности, уже во всю распространено FullHD разрешение, дисплеи Retina и мониторы 4к набирают популярность... А шрифты всё те же.

Тут много причин почему все так печально, без продвижений...
- мало ассемблерных программистов (шрифты в ядре, а ядро целиком на ассемблере)
- мало программистов, уделяющих должное внимание графическому интерфейсу
- множество споров по реализации новых шрифтов
Но не смотря на все минусы, мы любили Колибри и верили, что однажды и эта проблема будет решена. Так и случилось.
Системные шрифты. Настоящее
Одним лучезарным днем к нам пришел программист с ником Pathoswithin
- он добавил сглаживание шрифтов
- заменил шрифт 8х9 на шрифт 8х16
- добавил в ядро поддержку современных кодировок юникод UTF8 и UTF16
- добавил поддержку увеличения шрифта в n раз с АЕB сглаживанием
Посмотрите на результат его работы.



Помимо этого, он доработал поддержку IDE дисков и сейчас делает запись на NTFS! Pathoswithin работает над Колибри все свободное время. Если есть возможность, пожалуйста, поддержите его финансово:
Номер карты ПриватБанка: 5168 7553 7718 6602, Смирнов Дмитрий.
О`кей, перейдем к другим реализациям шрифтов в Колибри ОС.
Шрифты, встроенные в приложения
Тоже весьма распространены. Самая популярная программа, которая их использует – KFAR. Встроенные шрифты – это просто встроенная в программу картинка со шрифтами. Их важный минус – это увеличенный размер программы и некоторая сложность реализации. Кастомные шрифты, практически всегда, идея плохая, лучше реализовать универсальное решение.

TrueType шрифты
TrueType формат (ttf) создан для хранения информации o контуре символа в виде векторного изображения, по сути это линии и дуги между точками. Есть две библиотеки для реализации поддержки ttf шрифтов:- независимая библиотека truetype.obj, которая может быть подключена к любой программе. Минусы: зависает на некоторых шрифтах, иногда немного обрезает верхушки букв, очень медленно работает. Сейчас нигде не используется. Была попытка использовать в браузерах picoweb и webview, но из-за описанных выше недостатков не прижилась. А еще ей нужен огромный ttf файл.
- библиотека-исходник для newlibc. Не имеет недостатков, кроме необходимости использовать newlibc, ну и конечно размеров самого шрифта. Используется в видеоплеере Fplay, в заголовке окна.

KF шрифты
Шрифты этого формата по сравнению с системными имеют два преимущества, улучшающих их внешний вид: не являются моноширными, имеют разный кегль. За все нужно платить: .kf файл в дистрибутиве имеет кегль от 10 до 21 пикселей и при этом размер файла 28 Кб.
Работают только с 24х битными буферами, в то время как системные с 32х битными. Используются только в С— программах.
