LINUX.ORG.RU

Библиотека Pango отказалась от мягкого сглаживания шрифтов (hintfull)

 , ,


2

3

Библиотека Pango перешла от использования FreeType для получения информации о шрифтах к HarfBuzz, а разработчики последнего приняли решение не поддерживать такой метод сглаживая шрифтов.

Пользователи, которые перешли с версии Pango 1.43 на 1.44 заметили, что отображение некоторых семейств шрифтов ухудшилось или полностью сломалось.

В ответ на критику разработчики HarfBuzz ответили: «Вы можете попытаться привыкнуть к «мыльному» рендерингу или попытаться найти что-то еще. Вы же используете Open Source, понимаете? И те кого не устраивает текущее состояние могут создать форк Pango.»

Подробности


Upd: Подробный ответ автора: https://github.com/harfbuzz/harfbuzz/issues/2394#issuecomment-626254448

The challenge between the pixelated rendering vs scalable layout is nothing new. Here’s a treatise from almost 20 years ago: http://rastertragedy.com/ Here's my writeup about some of those same challenges I had to find solution to for Chrome back in 2012: http://goo.gl/yf3M7

LibreOffice switched to HarfBuzz to benefit from a single unified shaping-engine, same decision that Chrome and Firefox took as well. These are engineering decisions. It also meant LibreOffice dropped support for Type1 fonts. There were of course the vocal minority complaining and wanting old features back. I asked Adobe if they are willing to contribute support for Type1 to HarfBuzz, they said even Adobe products are dropping Type1 support next year. Same thing about bitmap fonts, people want their bitmap fonts back, we told them to wrap them in OpenType containers.

And same change arrived at Pango. Again, loud minority roars, throwing tantrums and unwilling to listen. The world moves forward. We do what we can with our limited resources. We cannot keep your 20-year old favorite feature working forever. It’s not on us. Find someone to maintain it and pay them to do for you if you cannot get over it.

Ответ на: комментарий от crypt

а мы вообще обсуждаем позицию сообщества. не только нам это не нравится, но и людям, которые написали непринятый патч.

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

Сюрприз!!!

i-rinat ★★★★★ ()
Ответ на: комментарий от crypt

RH активно пиарит федору в нашей среде

Прям целый департамент сидит изобретает чтобы такого ещё нафлудить на ЛОРе в теме про баг в шрифтах гнома, чтобы crypt задергался. Пять писателей, два редактора, и семнадцать менеджеров.

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

For the Google internship I was disallowed from working on any side projects without them having copyright over the code.

Это законно вообще? Как они могут указывать чем интерну заниматься в нерабочее время?

Gentooshnik ★★★ ()

loud minority roars

Терпил всегда большинство.

Gentooshnik ★★★ ()
Ответ на: комментарий от i-rinat

Сообщество было так занято обсуждениями, что не заметило, как рекурсивный поиск в диалоге открытия файлов отключили.

Да ладно?! Я джва года ждал пока его отключат. На форумах предлагали написать патч чтобы сделать рекурсивный поиск опцией компиляции - тогда подумают надо это или нет.

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

гугл убивает линукс!

да гугл вообще давно не другл, Роба Пайка ещё вспомните

зато пилят всякий мусор типа Dart-а

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

Я наискосок глянул #839, увидел там нежелание иметь две опции в конфиге и желание как-то эти опции подружить. Но как часто бывает, громкое меньшинство считает, что нужно сделать так, как им нужно, а на всех остальных наплевать. Никто и не начинал копать в сторону компромисного решения.

А в #2392 до сопровождающих наконец-то дошло, что у кого-то может быть выключен Tracker. И почему никто не смог объяснить внятно, в чём именно проблема? Если почитать обсуждение, предположив, что Tracker работает у всех, то там претензии были не к тормозам, а именно к рекурсивной природе поиска.

Остро не хватает людей, которые понимают обе стороны конфликта. А всего-то нужно было написать: «у меня очень много файлов в поддиректориях. Диалог открытия файлов замирает на десятки секунд и даже минуты, пока наконец даст мне выбрать файл. Как убрать тормоза? Мне не нужно перебирать все мои файлы каждый раз.»

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Остро не хватает людей, которые понимают обе стороны конфликта.

Скорее которые понимают хотя бы одну.

То есть это надо на своей стороне прежде всего отделить что хочется от того как хочется чтобы это было сделано.

Так вот скоро договоримся что главное чего не хватает open source – это толковых product owner-ов и бизнес-аналитиков.

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

Форков мало. Будет больше форков станет веселее...

peregrine ★★★★★ ()
Ответ на: комментарий от i-rinat

нежелание иметь две опции в конфиге и желание как-то эти опции подружить

Они в принципе не любят решать проблемы через dconf флаги, и тут они скорее правы, поскольку discoverability у этих опций низкий, плюс затраты на поддержку.

ebassi сказал, что он не против мерж реквеста, реализующего опцию, если она будет общая с наутилусом, на что с ним поспорили, что подобное решение (опция, общая с другим приложением) - нежелательна. И тут они в общем-то тоже правы.

По факту проблема с диалогом выбора файлов двойная:

1) Когда пользователь открывает диалог для сохранения файла, ожидается, что фокус ввода находится на вводе имени файла. Т.е. ты нажимаешь ctrl+s и начинаешь печатать имя. Иногда это поведение ломается и запускается поиск (не смогу сейчас найти релеватный багрепорт, но оно точно репортилось)

2) Вторая проблема связана именно с самим поведением рекурсивного поиска, который в файловом диалоге не пришей п**е рукав, простите. Как написано в багрепорте, они хотят поддерживать консистентное поведение с наутилусом, и тут их тоже можно понять. Поэтому рассматривать надо корень проблемы - наутилус.

Typeahead был убран предыдущим мейнтейнером наутилуса (Карлосом Сориано) по ряду причин, одна из которых емнип - поддерживаемость того кода, который был. Для навигации теперь предлагается использовать поиск.

У такого решения есть ряд проблем:

1) Навигация и поиск это все же разные юзкейсы

2) Каким бы быстрым не был поиск - он никогда не будет мгновенным и никогда не будет быстрее typeahead навигации

3) При поиске происходит потеря контекста - все пропадает, остаются только найденные файлы. К тому же, может так оказаться, что у тебя есть несколько файлов с одинаковыми именами - все они отобразятся в результате.

4) Я не уверен как оно там сделано на маках, но не считая их, наутилус - единственный файловый менеджер в мире, который реализует такое поведение.

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

Все это обсасывалось тысячу раз, но позиция была такая, что «я решил так 3 года назад и все тут». Никакой «меритократии», чистое «яскозал» дизайнера. В некоторых багрепортах Карлос откровенно троллил в комментах, после чего победоносно закрывал багрепорт словив агру.

Последний нормальный репорт без цирка - https://gitlab.gnome.org/GNOME/nautilus/issues/1157

Мейнтейнер у наутилуса поменялся, может быть что-то изменится.

Midael ★★★★★ ()
Ответ на: комментарий от i-rinat

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

Сюрприз!!!

если проблема kirk johnson в том, что он не помнит вчерашние сообщения, то твоя проблема в том, что ты пишешь то, о чем не знаешь. 12309 ты не видел и как бы суслика нет. ты бы хоть потрудился проверить правда ли то, что ты написал. у меня рекурсивный поиск никуда не исчез без треккера.

проблема решена

ну разве что в твоей голове

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

RH активно пиарит федору в нашей среде

Прям целый департамент сидит изобретает чтобы такого ещё нафлудить на ЛОРе в теме про баг в шрифтах гнома, чтобы crypt задергался. Пять писателей, два редактора, и семнадцать менеджеров.

да нет, конечно. тебе отлично удается заменять «Пять писателей, два редактора, и семнадцать менеджеров.» плюс совместить с основными обязанностями. знаешь, как в той шутке. «Как стать хорошим менеджером? Кошка - идеальный менеджер. Она постоянно трётся рядом, ничего не делает, мешается и иногда орёт. Бери пример с неё.»

Так вот скоро договоримся что главное чего не хватает open source – это толковых product owner-ов и бизнес-аналитиков.

с точностью до наоборот. вы уже нашли таких «хороших», что дальше уже некуда.

crypt ★★★★★ ()
Ответ на: комментарий от i-rinat

Остро не хватает людей, которые понимают обе стороны конфликта.

не надо усложнять. достаточно просто не ломать старое поведение системы, чем RH занимается уже достаточно давно, выплевывая один сырой продукт за другим. иметь совместимость в том числе на уровне юзабилити (gtk2 -> gtk3) - это азы энтерпрайзного софтостроения.

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

отличный коммент. правда у меня с трудом укладывается в голове, почему поведение тулкита зависит от конкретного аппликейшена (наутилуса. я так понимаю, ты его по старинке так называешь, хотя в третей версии ему вроде поменяли имя).

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

12309 ты не видел и как бы суслика нет

Я не отрицаю его существование. Вместо этого я явно написал, что не наблюдал его, и поэтому не могу ничего сказать. А вот ты начисто игнорируешь проблемы в Windows, прикрываясь тем, что у тебя всё работает. Ой, как удобно-то.

ты бы хоть потрудился проверить правда ли то, что ты написал

  1. Я это увидел в исходном коде.
  2. Я не вижу рекурсивного поиска в выхлопе strace на своей системе.

у меня рекурсивный поиск никуда не исчез

Ты уверен, что у тебя не старая версия?

i-rinat ★★★★★ ()
Ответ на: комментарий от crypt

достаточно просто не ломать старое поведение системы

Чтобы не ломать старое поведение системы, нужно код больше не трогать никогда. Исправление багов — смена поведения. Кто-то мог использовать баг в своей работе. Поэтому баги тоже исправлять нельзя.

В связи с этим я не вижу причин, почему нельзя просто сделать себе форк репозитория и пользоваться старой версией. Я сам так делаю с некоторым софтом.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

А вот ты начисто игнорируешь проблемы в Windows, прикрываясь тем, что у тебя всё работает.

я вообще не агитирую за Windows. я всего лишь говорю, что это становится the only choice. мы Linux просто вычеркиваем за невозможностью использования. вот и все.

Ты уверен, что у тебя не старая версия?

проверять надо. какую будем считать новой?

crypt ★★★★★ ()
Ответ на: комментарий от i-rinat

ну уж не надо этого. это просто к делу не относится. user experience был конкретно поломан при gtk2 -> gtk3. может быть, здесь более точно про наутилус, я не знаю Библиотека Pango отказалась от мягкого сглаживания шрифтов (hintfull) (комментарий)

p.s.

я уж не говорю про практику разработки systemd, с неполнофункциональным дублированием подсистем. cron/times, journald/syslog, тремя способами конфигурирования сети и неизвестно чем еще. в контексте всех этих not a bug

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

я вообще не агитирую за Windows

Ты там вообще не знаешь, что говоришь. И читаешь как-то наискосок. И в ответах специально цитируешь выборочно, отбрасывая части предложений, которые существенно меняют их суть. Пытался приписать мне слова об отсутствии 12309 как явления. А от моего наблюдения о том, как Windows колом встаёт от дисковой нагрузки, просто отмахнулся. Что удобно, то и видишь.

мы Linux просто вычеркиваем за невозможностью использования. вот и все.

А, ну окей. Счастливо!

какую будем считать новой?

После 27 января 2020 года.

Но знаешь что? Не надо мне больше отвечать. За две пары реплик ты даже не удосужился указать версию, на которой проверял. Значит, тебе просто не надо, чтобы проблема решилась. Тебе нужно, чтобы можно было продолжать страдать. Ну удачи там. Страдания это без меня, пожалуйста.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Нет договора, значит, не обязаны, и ты это прекрасно осознаёшь. Я понимаю, что это неприятно. Но такова реальность.

https://imgur.com/a/vgTMrqi

Юзайте. Powered by GIMP.

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

Ты в суть сцены не попал. Большинство русскоязычных тут это мультфильм видели по многу раз, так что в курсе, что герой там говорит.

К твоей ситуации больше вот эта сцена подойдёт: https://www.youtube.com/watch?v=RN0-QHZnvKk

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от alpha

Так вот скоро договоримся что главное чего не хватает open source – это толковых product owner-ов и бизнес-аналитиков.

А это когда-то было неочевидно?

intelfx ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)