Search
Write a publication
Pull to refresh

Comments 11

До чего все таки упал профссианализм прогеров последнее время! Описывать эту фигню как какое то достижение.. подобные библиотеки я писал еще много лет назад, в свободном доступе и правда нормальных библиотек нет, но подход тут несколько другой. Все библитеки которые есть в открытом доступе кривые ,они жрут много памяти, ради одного пикселя перересовывают весь экран, перерисовывают чаще чем надо итд. Есть lvgl но он для сложной графики и ичасто избыточен. И так - общий принцип всех этих дисплеев- они умеет перерисовыаать произвольный квадрат. Поэтому библиотека должна быть устроена так- есть массив номеров символов и их атрибутов( цвет, координаты, яркость итд) и шрифт который представляет из себя битовый массив. Например если знак 8×8 пикселей то это 64 бита. Есть специальный софт для генирации таких массивов из любого компьютерного шрифта. Пользователь может произвольно печатать любые символы хоть тысячу раз в сек, это приводит только к изменению пары байт в массиве. А 30 раз в секунду поток пробегает массив, и перерисовывает на экране только те квадратики которые изменились. Низкоуровневое апи у всех этих дисплеев не сложное, обычно есть несколько команд установки квадрата , управления яркостью, ориентацией итд. Некоторые чипы умеют аппаратно скролить изображение итд. Но для вывода текста все это не нужно.

Вы слишком критичны, видно же, что человек делает первые шаги. Для простого пример вполне пойдёт, а захочет, в дальнейшем по вашему комментарию и узнаёт про обновление частей экран. Может ещё и какой алгоритм сравнения в процессе узнаёт. Главное начать :)

Как раз и хотел написать что есть спец софт, который генерит для этого дисплея(ssd1306), ищите по этому слову, именно такую процедуру кода из шрифта заданного размера и типа. А также и картинки :) занимался этим лет 8 назад.

Делал русские шрифты для Спектрума задолго до всего этого вашего. Тогда приходилось стараться по максимуму переиспользовать английские символы схожего начертания и жертвовать несколькими редко используемыми символами типа @, заменяя их на кириллические, аналога которых в латинском нет. 256 знакомест в результате хватало на все, и на русские сообщения, и на английские.

256 кодов хватало на всё без танцев с бубном (КОИ8, CP866 и т.п.)

А проблема с кириллицей у спектрума была в том, что стандартными средствами выводилось только первая половина ASCII. Поэтому некоторые меняли строчную латиницу на прописную кириллицу, кто-то использовал UDG, но UDG не хватало и начинались танцы...

Вся загвоздка в том, что Espruino не поддерживает кириллические символы в юникоде (например, «А», «Б»), поскольку Espruino работает с 8-битными строками и использует кодировку, совместимую только с латиницей и символами в пределах диапазона от 0 до 255.

Простите, я что-то не понял. Этот латинский шрифт жестко забит в прошивку дисплея или как? Может я чего-то не понимаю, но раньше обходились этими 255 знаками и есть масса кодировок национальных типа KOI8-R или Win1251.

Автор просто не в курсе про однобайтные кодировки.

Кстати, да. Когда преобладали 7- и 8-битные кодировки, далеко не все программисты знали, что когда-то широко применялись 5-битные. Ну а теперь и о 8-битных знать могут не все.

Так не читали Фигурнова

Не думаю, что его сейчас массово читают.

Sign up to leave a comment.

Articles