16+
Суббота
18 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Николай Коровин  (28.07.2017 14:12 - 28.07.2017 14:42, файл(ы)) , в ответ на А вот такой подход заинтересует ли? Буквы (и цифры) разной ширины - по жизни оно так и есть - и первый байт в каждой букве указывает её длину. автор: Крок
...а теперь -- всё вместе :) 
1. Вычертите пиксельный глиф таким, каким он будет эстетичен и легкочитаем. 2. Обведите пиксельный глиф более плавным и эстетичным векторным глифом так, чтобы при пикселизации он обращался именно в такой пиксельный глиф (т. е. не заходя за центры пикселов там, где не надо, и как минимум слегка заходя за них там, где надо). 3. Согласно векторному глифу, задайте данные для кернинга (двух-трёх высот достаточно). 4. Разбейте векторный глиф на отдельные вектора, проходящие через пикселы. 5. Не пытайтесь сначала строить векторный глиф, а потом пикселизовать его. Обычно он пикселизуется в какую-то дрянь. Итак, теперь у нас получен векторно-растровый глиф с кернинговыми данными, который при нахождении в целой пиксельной позиции (т. е. при неподвижном тексте) даёт желаемое пиксельное отображение. Если теперь начать скроллить текст горизонтально, включая и выключая СД сообразно началам и концам векторных интервалов, преимущество субпиксельного разрешения будет в полной мере реализовано, значительно сглаживая грубый глиф до полученного в п. 2 векторного глифа. В случае, если метод применяется для шахматного расположения СД, за один столбец считается полностью повторяемый по горизонтали паттерн. Так, на рисунке показано знакоместо не 8х5, а 4х10: ширина в 4 СД и высота в 10. Просто эти 10 в каждом столбце расположены не вертикально, а "змейкой". Кернинг в целых столбцах уже даёт слишком большие ошибки округления и следует использовать дробные величины. Позиция следующего символа берётся с точностью до целого столбца такой, чтобы суммы левого и правого интервалов соответствующих символов на всех трёх высотах лежали в заданных пределах. Пороги могут быть заданы как для отдельных интервалов, так и для среднего (например, где-то можно допустить "почти сливающиеся" соседние символы на уровне, скажем, "ножки", если они значительно отстоят на других уровнях, т. е. визуально по-прежнему хорошо разделены). Поскольку кернинг всё равно округляется до столбца, при бедном алфавите можно просто хранить сочетания кернингов между любой парой символов. _______________ tl;dr: пока всё неподвижно, всё округляется до ближайшего светодиода и превращается в обычный пиксельный шрифт с обычными буковками, разве что с небольшой претензией на кернинг. А вот когда строка начнёт двигаться -- буковки внезапно становятся сглаженными и плавненькими.
Прикреплённые файлы:
LEDFont.gif:11 K

Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII