LINUX.ORG.RU

История изменений

Исправление Vit, (текущая версия) :

Зависит от контекста применения, если тут всего 3 бита - то вполне может выстрелить.

Ну фик знает, если на глаз, то профит от слоев - затухающая геометрическая прогрессия. То есть, там будет в пределе полтора-два раза, при сильно попутном ветре и положении звезд, которые сходятся раз в сто лет. Это очень скромно. Хотелось бы начать с методов, где вероятен профит 5-10 раз.

мне кажется что однобитные алгоритмы довольно ущербные by design.

Это от недостатка опыта. Есть хорошие академические примеры 1-битных алгоритмов, которые в идеологии SIMD работают, тоесть словами по 32 бита фигачат, получается быстрее чем у всех, и сильно экономно по памяти.

Я не про скорость, а про саму суть. Однобитные алгоритмы обычно основаны на наличии длинных серий, чтобы свернуть все обратно в повторяющиеся байты [ 00 / FF ] и [ остальное ]. Для листа бумаги такие серии найдутся, для мелкого глифа - нет.

Это конечно сильно утрировано. Но по смыслу - чем меньше в картинке битов, тем меньше шансов у алгоритма «разогнаться».

Единственное что в голову приходит - разделить эту проблему между всеми глифами. То есть, сделав общий словарь [чего-то]. Но это пока только на уровне ощущений, и в рамках того что я знаю. Может есть какие-то другие принципы.

типовой размер 16*12, и ширина *3 если субпиксельное сглаживание

Так одна ‘строка’ картинки влазит в 1 uint16_t, если совсем-по тупому битмапой кодировать (ну или в 3 uint16_t).

Лучше не думать в таких терминах. Есть базовый размер глифа («высота похожа для большинства глифов»). А реальная картинка может быть любой ширины, и даже по высоте за пределы вылазить.

Поэтому проще всегда задавать размер и смещение битмапа. Это заодно отсекает белые поля. И еще в заголовке фонта указывается размерность чисел, которые задают габариты и смещение.

Да и вообще есть же https://compression.ru/download/ явно лучше чем researchgate в данном вопросе :)

Посмотрю, спасибо.

PS. Если что, тот конвертор шрифтов, на который ссылался, показывает весьма достойные результаты. Мне просто интересно понять, реально ли улучшить результат в разы. На 10-20% не интересно.

Исходная версия Vit, :

Зависит от контекста применения, если тут всего 3 бита - то вполне может выстрелить.

Ну фик знает, если на глаз, то профит от слоев - затухающая геометрическая прогрессия. То есть, там будет в пределе полтора-два раза, при сильно попутном ветре и положении звезд, которые сходятся раз в сто лет. Это очень скромно. Хотелось бы начать с методов, где вероятен профит 5-10 раз.

мне кажется что однобитные алгоритмы довольно ущербные by design. Это от недостатка опыта. Есть хорошие академические примеры 1-битных алгоритмов, которые в идеологии SIMD работают, тоесть словами по 32 бита фигачат, получается быстрее чем у всех, и сильно экономно по памяти.

Я не про скорость, а про саму суть. Однобитные алгоритмы обычно основаны на наличии длинных серий, чтобы свернуть все обратно в повторяющиеся байты [ 00 / FF ] и [ остальное ]. Для листа бумаги такие серии найдутся, для мелкого глифа - нет.

Это конечно сильно утрировано. Но по смыслу - чем меньше в картинке битов, тем меньше шансов у алгоритма «разогнаться».

Единственное что в голову приходит - разделить эту проблему между всеми глифами. То есть, сделав общий словарь [чего-то]. Но это пока только на уровне ощущений, и в рамках того что я знаю. Может есть какие-то другие принципы.

типовой размер 16*12, и ширина *3 если субпиксельное сглаживание Так одна ‘строка’ картинки влазит в 1 uint16_t, если совсем-по тупому битмапой кодировать (ну или в 3 uint16_t).

Лучше не думать в таких терминах. Есть базовый размер глифа («высота похожа для большинства глифов»). А реальная картинка может быть любой ширины, и даже по высоте за пределы вылазить.

Поэтому проще всегда задавать размер и смещение битмапа. Это заодно отсекает белые поля. И еще в заголовке фонта указывается размерность чисел, которые задают габариты и смещение.

Да и вообще есть же https://compression.ru/download/ явно лучше чем researchgate в данном вопросе :)

Посмотрю, спасибо.

PS. Если что, тот конвертор шрифтов, на который ссылался, показывает весьма достойные результаты. Мне просто интересно понять, реально ли улучшить результат в разы. На 10-20% не интересно.