Здесь: Smooth Big Text и list описан метод "растягивания" и "сглаживания" шрифта (Stretch, Smoothing) без использования нового шрифта с более высоким разрешением (и больше используемой памяти). "Математика" интересная: по Y за каждой бит следует повторений abcdefgh -> aabbccddeeffgghh (а после по X следует добавить повторение столбца). На данный момент я экспериментально использовал код для Stretch. Результаты хорошие: от 3х8 шрифт с удвоенным размером памяти меньше, чем под новый шрифт
. (Ну, медленнее, это понятно).
Код:
// Converts bit pattern abcdefgh into aabbccddeeffgghh
// http://www.technoblogy.com/list?3AMG
// http://www.technoblogy.com/show?3AJ7
uint16_t stretch(uint16_t x) {
x = (x & 0xF0) << 4 | (x & 0x0F);
x = (x << 2 | x) & 0x3333;
x = (x << 1 | x) & 0x5555;
return x | x << 1;
}