LINUX.ORG.RU

Это правда, что subpixel rendering с выходом Freetype 2.7 больше нет?

 , , ,


1

3

Мнения разнятся на эту тему, на https://www.freetype.org/freetype2/docs/subpixel-hinting.html написано, что:

Actually, there is no subpixel hinting.
Но возможно не имеется в виду сам rendering (3-й вариант): http://i.imgur.com/RrgxIXl.png , а только hinting.

На ресурсах путаница с rendering, hinting и antialiasing.

Кто пользуется Freetype 2.7, у вас есть цветной радужный субпиксельный рендеринг, который нам предки завещали или всё-таки уже нет?

У меня такая ситуация: в Qt приложениях субпиксельный рендеринг есть, а в GTK2/3 нет и никак включить не удается, неужели Qt 5.* работает не через freetype?


Статью-то свою прочитай, лол. Ну а субпиксели используются конечно, можно скрин сделать и увеличить.

anonymous
()
Ответ на: комментарий от anonymous

Ни на одном из скриншотов в той статье нет субпиксельного рендеринга, можешь проверить, что лишь усиливает подозрения в сабже.

slon
() автор топика
Ответ на: комментарий от bread

мыло, неотличимое от grayscale

фокс | хром
http://i.imgur.com/Jbg0jUL.png
точно, я чет вообще не различаю, если только не уткнуться носом в монитор

anTaRes ★★★★
()
Ответ на: комментарий от devorg

Справа ужас, да. Слева ниче так, но не уверен, что это лучше старой доброй радуги. Надо пробовать.

bread
()
Ответ на: комментарий от slon

Ни на одном из скриншотов в той статье нет субпиксельного рендеринга

Да ладно?? А может это потому, что фритайп в принципе не умеет в цветной рендеринг?

From a given glyph outline, FreeType is capable of producing a high-quality monochrome bitmap, or anti-aliased pixmap, using 256 levels of ‘gray’.

https://www.freetype.org/freetype2/docs/index.html

Насколько я понимаю, то цветной фильтрацией уже занимается fontconfig.

И да, у меня есть «вот эта вот радуга» с freetype 2.7 и FREETYPE_PROPERTIES=«truetype:interpreter-version=40» в GTK.

anonymous
()
Ответ на: комментарий от anonymous

то цветной фильтрацией уже занимается fontconfig.

ясно, в таком случае буду копать в его сторону.

slon
() автор топика

Можешь проверить в каком порядке читаются файлы конфигурации:

FC_DEBUG=1024 fc-match

anonymous
()
Ответ на: комментарий от anonymous

В нормальном порядке, в общем на настройки subpixel rendering у меня реагирует только Qt, но не GTK2/3, я разбираюсь почему такое может быть. Все остальное: hinting (включая auto), antialis — работает для всего.

slon
() автор топика
Ответ на: комментарий от slon

Проверь включает ли твой дистр патч cairo-respect-fontconfig. Я тут начал ковырять слаку и там по дефолту ШГ с grayscale без этого патча. Точно как ты описываешь настройки радуги игнорируются.

bread
()
Ответ на: комментарий от bread

Да, не накладываются эти патчи, наложил на cairo патчи cairo-respect-fontconfig.patch + respect_fontconfig_hintstyle.patch и собрал, но проблему эту не решило, не видно в GTK subpixel rendering и всё. В Qt есть.

slon
() автор топика
Ответ на: комментарий от anonymous

Фритайп сам рисует цветную картинку с субпикселями, фонтконфиг просто обёртка. Я генерил текст в программе фритайпом напрямую.

anonymous
()
Ответ на: комментарий от anonymous

Нет, фритайп не рисует цветную картинку, только чб. Для GTK «цветные» шрифты фритайпом рендерит cairo, через pango или harfbuzz. А вообще, в этих ваших линупсах чёрт ногу сломит, пока найдёт что там через что рендерится.

Вангую, что дело в cairo, так как у него хотя бы есть API, через который можно менять настройки сглаживания, в том числе и субпиксельного. При сборке, вроде, можно указывать использовать субпиксельное сглаживание или нет, но возможно я сейчас пизжю. Дефолтные настройки, судя по всему, cairo берёт из fontconfig-а.

anonymous
()
Ответ на: комментарий от slon

не видно в GTK subpixel rendering и всё

Засада... но виноват все таки cairo судя по всему. Qt рисует через фритайп, так они декларируют.

bread
()
Ответ на: комментарий от anonymous

в этих ваших линупсах чёрт ногу сломит, пока найдёт что там через что рендерится

Угу, тут пока настроишь шрифты ослепнешь. Зоопарк тулкитов, патентные ограничения, настройки затейливо разбросанные в случайных местах. Типичный линукс.

bread
()
Ответ на: комментарий от anonymous

упс. а я забыл как лучше, вдоль или поперёк?

anonymous
()
Ответ на: комментарий от slon

Я оказывается вначале протупил и не разкомментил в слакбилде патч на фритайп, так что кайро не при чем в моем случае. Проверь все же фритайп: grep SUBPIXEL_RENDERING include/freetype/config/ftoption.h

bread
()
Ответ на: комментарий от bread

Спасибо, оказывается да, именно в этом была проблема, в 2.7 в стоке он не идёт включенным, вот такой патч чинит:

--- include/freetype/config/ftoption.h.orig 2015-10-30 21:51:44.619963988 +0100
+++ include/freetype/config/ftoption.h  2015-10-30 21:51:51.505045118 +0100
@@ -92,7 +92,7 @@
   /* This is done to allow FreeType clients to run unmodified, forcing     */
   /* them to display normal gray-level anti-aliased glyphs.                */
   /*                                                                       */
-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING


   /*************************************************************************/

slon
() автор топика
Ответ на: комментарий от bread

Проверил у себя Qt4 - так и есть, радуга рисуется независимо от мнения фритайпа.

bread
()

Есть радуга. На сайтах с нестандартными шрефтами при тонких буквах. Пример для теста не скину, т.к. натыкаюсь просто время от времени. В самой системе таких проблем не наблюдал никогда вообще.

deep-purple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.