FreeType 2.7 — превосходное качество шрифтов Linux

    В первой декаде сентября без фанфар и шумихи вышел FreeType версии 2.7, и это событие, без сомнения, можно назвать праздником на улице пользователей Linux, FreeBSD, NetBSD, ReactOS и других товарищей. Попробуем разобраться, от чего у нас такое безудержное веселье.
    FreeType — библиотека с открытым кодом на Си, которую используют для растеризации шрифтов и операций над ними. В новой версии по-умолчанию используется алгоритм обработки инструкций TrueType v40.



    Это позволило добиться качественного субпиксельного сглаживания шрифтов, как в майкрософтовском DirectWrite/ClearType, но на самом деле никакого субпиксельного сглаживания не используется. Кроме того, алгоритм v40 рендерит быстрее Infinality, который использовался в предыдущем алгоритме v38, при этом конечный результат не хуже.


    Infinality, патенты и ШГ


    Исторически, было две проблемы со шрифтами в Linux. Во-первых, это минное поле патентов Microsoft и Apple, из-за чего разработчики мучительно шли обходными путями. Частично, эту проблему решал набор патчей Infinality, но ценой была низкая скорость и чересчур усложненный код. К тому же, по словам мейнтейнера, FreeType разработчик Infinality потерял интерес к своему проекту.


    Давайте приглядимся к этим патентам чуть подробнее. С 10-го мая 2010-года истекли три патента Apple на байткодное сглаживание TrueType шрифтов. Теперь нет необходимости отключать его использование по-умолчанию.


    Patent US5155805:
    Method and apparatus for moving control points in displaying digital typeface on raster output devices

    Patent US5159668:
    Method and apparatus for manipulating outlines in improving digital typeface on raster output devices

    Patent US5325479:
    Method and apparatus for moving control points in displaying digital typeface on raster output devices

    Но еще 9 патентов на ClearType Майкрософт остаются в силе.


    список майкрософтовских патентов

    Patent US6239783:
    Weighted mapping of image data samples to pixel sub-components on a display device


    Patent US6243070:
    Method and apparatus for detecting and reducing color artifacts in images


    Patent US6282327:
    Maintaining advance widths of existing characters that have been resolution enhanced


    Patent US6307566:
    Methods and apparatus for performing image rendering and rasterization operations


    Patent US6393145:
    Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices


    Patent US6421054:
    Methods and apparatus for performing grid fitting and hinting operations


    Patent US6624828:
    Method and apparatus for improving the quality of displayed images through the use of user reference information


    Эти патенты можно разделить на три условные категории:


    • показ рисунков, когда информация отображается на уровне отдельных LCD субпикселей, вместо цельных пикселей
    • показ тех же рисунков после применения разнообразных фильтров, например для подавления артефактов цветного окаймления
    • обработка размеров и расстояний в красочном мире субпикселей

    И это еще не все, есть и другие патенты. Прелесть ситуации еще в том, что Microsoft и Apple подписали соглашение о кросс-лицензировании в то время, как разработчики FreeType и их коллеги по цеху открытого ПО должны героически преодолевать ШГ препятствия.


    Ценность этих патентов весьма сомнительна. Сразу же после того, как Майкрософт запатентовала ClearType, появились сомнения относительно их правомочности и новизны, причем писали об этом в газете Нью-Йорк Таймс, не на безызвестном случайном форуме. Один из активных разоблачителей Стив Гибсон на свой интернет страничке пишет, что ClearType — хорошо забытые технологии, которые Стив Возняк запатентовал 20 лет назад для Apple II. Никакого существенного прорыва технической мысли нет и в помине, а значит и интеллектуальной собственности нет.


    Thus, Microsoft's ‘ClearType’ application of sub-pixel text rendering does not represent the dramatic breakthrough that they claim and it can not be the valid subject for intellectual property acquisition.

    К сожалению, американское патентное право устроено таким образом, что все это остается разговором в пользу бедных. Хорош он или плох, но патент есть, и значит, остальным надо платить денежки за его использование.




    Позволю себе немного пафоса. Пока что Майкрософт не спешит дарить патенты на ClearType сообществу открытого ПО, как это сделала компания Adobe с OpenType/CFF движком. Об этом неплохо помнить, когда мы очередной раз видим слоган Microsoft сердечко Linux. По примеру американского президента Рейгана хочется воскликнуть: «Господин Наделла, если Майкрософт любит Linux, разрушьте эти патентные стены!».


    Новый рендеринг для TrueType


    Наследие программных алгоритмов рендеринга шрифтов для ЭЛТ мониторов 90-х гг. прошлого столетия — это вторая проблема Linux со шрифтами. Семейство TrueType шрифтов появилось на свет в эпоху зернистых мониторов с электронно-лучевыми трубками. В снимках экрана Windows 95 из текста так и лезут пиксели. Каждый отдельный глиф намертво вколачивался в сетку из пикселей. Майкрософт вложила в это дело уйму человеко-часов, обсчитывая и оптимизируя глифы для всевозможных размеров, чтобы т. н. основные вэб шрифты (Arial, Times New Roman, Courier New и т. д.) на экране выглядели достойно.


    Сизифов труд однако возымел последствия. Настала новая эпоха ЖК-мониторов и тут оказалась, что старые TrueType инструкции надо перепрограммировать для того, чтобы использовать эти новые возможности или хотя бы для того, чтобы шрифты отображались корректно. Нет необходимости пристегивать каждый глиф к сетке полных пикселей, вместо этого их можно пристегнуть к одному из трех субпикселей, даже к части их и добиться гораздо более качественного изображения, благодаря такому субпиксельному сглаживанию. Здраво рассудив, что переписать весь старый багаж TrueType инструкций нереально, в MS придумали асимметрическую сверх-дискретизацию и режим совместимости, в котором использовали много лихих приемчиков и костылей из инструкций старых шрифтов. Таким образом, и старые шрифты могли в некоторой степени воспользоваться увеличенным кратно горизонтальным разрешением.


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





    Впрочем, нашелся герой, который пошел трудным путем и реализовал в Infinality все вышеназванное спагетти старых и новых инструкций. Какое-то время FreeType включал в себя интерпретатор v38 — набор патчей Infinality, но затем код был удален в пользу интерпретатора v35. Разработчик Infinality поистине взялся за невыполнимую миссию — сделать так, чтобы шрифты выглядели лучше чем в Windows, и чтобы их можно было тонко настроить.


    Here is the core secret to making fonts render like through DirectWrite/ClearType on Windows: There actually is no subpixel hinting going on here. Shock. The code simply ignores all horizontal hinting instructions.

    В итоге, удалив Infinality, мейнтейнер FreeType сделал выбор в пользу простоты и чистоты кода. Так появился алгоритм обработки инструкций TrueType v40. Его принцип прост как копейка — полное игнорирование всех инструкций горизонтального сглаживания. Никакого субпиксельного сглаживания. Гораздо меньше труда, а результат практический одинаковый. Заодно решается проблема с шагом глифа и меж-символьными расстояниями в старых не обученных шрифтах.


    Как достичь гармонии шрифтов с FreeType 2.7


    Хорошая новость в том, что для этого ничего делать не нужно, обновления сами появятся в репозитарии вашего Linux или BSD дистрибутива. Просто обновитесь до новой версии и перезагрузите X.Org Server. Настройте FontConfig по вкусу. А плохая новость в том, что хочется прям сейчас, а ждать несколько дней или недель иногда тяжко. Ну а особо нетерпеливые пользователи могут сами собрать новую версию из исходников или установить с помощью штатного установщика пакетов. В моем Gentoo FreeType 2.7 пока не стабилизировался.


    $ eix freetype
    $ [I] media-libs/freetype
         Доступные версии:      (2) 2.5.5^d 2.6.3-r1^d ~2.6.5^d ~2.7-r1^d
           {X +adobe-cff auto-hinter bindist bzip2 (+)cleartype_hinting debug doc fontforge harfbuzz infinality png static-libs utils ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}

    Для консервативного Debian, наверное придется ждать следующего релиза, а у пользователей Ubuntu и так все хорошо со шрифтами, им торопиться некуда.

    Support the author
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 79

      +1
      А я то думал, чего у меня в Арче шрифты перекорёжило… А это новый Freetype установили. Он может и отлично работает, но только не у меня. Шрифты как бы точками пошли.
      Попробую отключить все сглаживания в настройках и взять шрифты попроще…
        +7
        такое бывает с hintfull, попробуйте hintslight (ну и сами шрифты могут не подходить, стоит попробовать DejaVu, Droid и Bitstream Vera)
          0
          Во, помогло. Благодарю.
          0
          А у меня после обновления до 2.7 шрифты стали выглядеть размыто. Переключился на старый режим, добавив в profile.d «export FREETYPE_PROPERTIES=»truetype:interpreter-version=35""
            0

            Аналогично, пришлось включать старый режим, иначе шрифт DejaVu превращался в мыло. И это не только в Арче, думаю во всех дистрибутивах будет много шума, когда обновят.

          +10
          Самое обидное, что в Microsoft выкинули весь свой труд в области сглаживания шрифтов. В Metro-приложениях (aka Modern UI) используется grayscale subpixel rendering вместо RGB subpixel rendering. Одна из причин — для отрисовки с RGB нужно знать, какого цвета фон, а в Metro по каким-то причинам эта информация недоступна во время рендеринга текста. В итоге в Метро-приложениях такие ужасные шрифты, что в Линуксе даже 10 лет назад было намного лучше.
            +2
            Справедливости ради, на телефонах, где 300 с лишним dpi монохромное сглаживание выглядит просто божественно, суперчётко и в то же время гладко. Если положить рядом люмию и айфон, то на втором текст выглядит грязнее.

            Но с обычным мониторным dpi это эпический фэйл, конечно. Тем же Edge, который modern приложение, пользоваться до недавнего времени невозможно было именно из-за жутких шрифтов на сайтах. Теперь RGB субпиксельное сглаживание в него вернули — в сам webview, но не в интерфейс. Может, всё же осилят к следующему большому апдейту и в интерфейс, кто их знает.

            В линуксовых шрифтах сглаживание, может быть, и стало хорошим, но вот само качество шрифтов, особенно кириллицы, всё ещё удручает.
              0
              Я вот до сих пор жалею, что не взял HiDPI монитор. Выбирал между двумя моделями, решил взять более старую, проверенную.
                0

                С HiDPI есть другая проблема — не всегда ОС и приложения с ним адекватно работают.

              0

              WPF шёл по тому же пути, ничего нового. Тоже в первой версии было мыло в интерфейсе. Причём в те времена не было моды на крупные шрифты, а высоким DPI даже не пахло, поэтому выглядел текст даже хуже, чем в UWP. Потом добавили "экранный" режим, но с оговорками вокруг анимации и масштабирования.


              Должны подтянуться, надо только подождать. Ну, если к тому времени 300 DPI на десктопе не станет нормой. :)

                0
                Не только в Metro, а во всех на WPF, что дико бесит.
                  +3

                  WPF поддерживает разный рендеринг: без сглаживания, "экранное" сглаживание a.k.a. ClearType, "идеальное" сглаживание a.k.a. градации серого. Просто по умолчанию используется последнее. В приложениях со стандартным виндовым интерфейсом без крупных шрифтов и куч анимаций следует использовать ClearType, можете тонко намекнуть разрабам, если они про это забыли.

                    0
                    Естественно
                    TextOptions.TextFormattingMode=«Display» и TextOptions.TextRenderingMode=«ClearType» включены. Но даже с ними шрифты выглядят ужасно
                  +2
                  Про метро немного другая причина, даже две:
                  — метро/универсальные приложения ожидают, что могут в любой момент быть перевёрнуты и привязка к структуре пикселя невозможна. Ну точнее надо перерисовывать весь текст, имея ввиду, что сетка может быть в четырёх вариантах
                  — из-за разнообразия устройств не всегда чёткая сетка существует как таковая (pen-tile в amoled лишь один из примеров)
                  Насколько мне известно именно по этим причинам суб-пискельного сглаживания никогда не было в android.

                  Что касается самого directwrite — если отключить «улучшение» контрастности, то текст становится не идеальным, но уже не таким грубым. Пример на картинке.
                  Скрытый текст
                  image
                    +1
                    Что касается самого directwrite — если отключить «улучшение» контрастности, то текст становится не идеальным, но уже не таким грубым.

                    А где это можно сделать?
                      0
                      Значения по-умолчанию задаются так, но приложение может их обойти.

                      Заголовок спойлера
                      Windows Registry Editor Version 5.00

                      [HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\DISPLAY1]
                      "ClearTypeLevel"=dword:00000000
                      "EnhancedContrastLevel"=dword:00000000
                      "GrayscaleEnhancedContrastLevel"=dword:00000000
                      "TextContrastLevel"=dword:00000000



                      Более гибкий, но надёжный способ я описал вот тут. Так можно заодно отключить привязку к сетке.
                  +2
                  У меня другой вопрос, как быть если у тебя два монитора и ЭЛТ и ЖК?
                  При этом от первого ты не хочешь или не можешь отказатся.
                    +1

                    Зачем / почему?

                      0
                      что зачем и что почему?
                        +4
                        Думаю, подразумевался вопрос: «Зачем в 2016 году ЭЛТ-монитор?»
                          0
                          посмотрите сколько стоит монитор с поддержкой AdobeRGB, вопросы отпадут сами собой
                            0
                            В своё время брал Asus PA 246Q за 17 тысяч, плюс ко всему он 16:10, привычнее было с ЭЛТ переходить ))
                              +3
                              Все дело в том, что на сегодняшний день все ЭЛТ-мониторы уже физически старые, с севшими трубками. Я думаю, AdobeRGB там остался только чисто номинально, на бумаге.
                              0
                              Ну я использую для ретро машин больше и… есть в нем что-то тепловое и лампово приятное.
                              Играть в динамичные игры очень неплохо, например в новый doom «4» :)
                              Современные ЖК очень плохо работают с нестандартными разрешениями, исключение например только NEC 2090UXi или подобные. Там более менее нормальное интерполяция, но и эти мониторы редки да и 60 герц. Я бы честно говоря купил бы компактный новый ЭЛТ монитор 4 на 3, если бы их еще делали.
                              Поэтому, что бы монитор просто так не занимал место, он работает вместе с 27 дюймовым 4k dell.
                                0

                                Зачем аппаратная интерполяция в 2016-м году? :) Проблемы с нестандартными разрешениями возникают, только если разрешение очень близко к родному у ЖК-монитора. Если вы играете в 720p на мониторе 1080p, то логичнее подтянуть железо, а не мучаться с монитором. Учитывая, что у вас 4K, железо наверняка неплохое, поэтому не понимаю, что вы растягивать хотите.


                                Если говорить про тёплые ламповые ископаемые игры, то современные интерполяторы xBR(Z) с шейдерной приправой или вовсе полноценная замена разрешения в эмуляторах, постпроцессорах и хаках делают аппаратные подходы устаревшими. Со звуком то же самое — эмуляция того же Roland MT-32 дошла до уровня, когда смысла в железе ноль.

                                  0
                                  >Зачем аппаратная интерполяция в 2016-м году? :)

                                  Ну как минимум вот для этого — https://plus.google.com/103502988927181360892/posts/gaZRshM8geH
                                  или вот этого
                                  https://plus.google.com/103502988927181360892/posts/b1NVHQrcwDK
                                  или еще для кучи этого железа (только часть)
                                  -https://fotki.yandex.ru/users/icce/album/155960/

                                  Все это подключенное к 4k монитору или просто fullhd, дает искажение.
                                  Теперь по поводу игр и эмуляции в частности, эмуляторы это прекрасно, но и в них находятся баги, так как они не полностью эмулируют железную часть. Для того, что бы понять, нормально ли работает эмулятор, как минимум надо иметь то самое желазо.
                                  Например, ранние версии os/2 нормально не запускаются без патчей в виртуальных машинах (в известных). MT-32 хоть и эмулируется, но периодически возникают прикольные глюки. Да тот же PC спикер в dosbox звучит по другому.

                                  Это все мое сугубо личное и обычный человек не будит этим заморачиваться.
                                    0

                                    Старые оси и приставки хорошо эмулируются, причём у эмуляторов такое количество дополнительных фич, что играть на старом железе желания ноль, если честно: загрузка моментальная (если игра не прибита к герцам, то даже без телодвижений), можно сохранять состояния (критично для долгих игр без сохранений), графика целиком и полностью контролируется (можно играть с аутентичными пикселями, можно эмулировать ЭЛТ шейдерами, можно подобрать параметры для xBR для разумной интерполяции), не надо считать свободные мегабайты, железо не отнимает место, и всё это стоит 0 руб 0 коп. :)


                                    Если запускать на низких разрешениях, то современные видюхи позволяют выбирать, кто выполняет растягивание — монитор или видюха, и как. Но я низких разрешений наоборот стараюсь избегать, потому что винду жутко переклинивает, и все окна сползают. Эмуляторы сами умеют всё тянуть, времена, когда на растягивании нужно было экономить ради пары лишних инструкций CPU, прошли, слава богам.


                                    Насчёт OS/2 ничего сказать не могу. Там есть что-то уникальное? Если с Amiga любят заморачиваться, потому что версии для неё зачастую круче, чем для других платформ, то насчёт OS/2 подобного не слышал.


                                    Я не большой поклонник PC-спикера, поэтому на аутентичность звучания мне пофиг. :) Там синус вместо квадратной пилы или что-нибудь в этом духе? Что именно поменялось?

                                      –1
                                      >Старые оси и приставки хорошо эмулируются,
                                      Относительно недавно, заработали в эмуляторах Win95/98. И то там есть определенные слезы. Только сейчас появилось, пусть и кривая но поддержка 3dfx.
                                      При этом нормальный эмулятор, так не хило грузит i7 5 поколения, по эмуляции P166.
                                      Ну а так все хорошо конечно.

                                      >Если запускать на низких разрешениях, то современные видюхи позволяют выбирать, кто выполняет растягивание — монитор или видюха, и как. Но я низких разрешений наоборот стараюсь избегать,
                                      Без разнрицы кто это будет делать, результат в своем роди плачевный, если только монитор не заточен для этого. Если есть желание подискутировать, то велком на old-games.ru, там целая тема уже обсасывается не один год. Поэтому с текущим железом, только эмуляция.

                                      >Насчёт OS/2 ничего сказать не могу. Там есть что-то уникальное?
                                      Ну сама по себе Os/2 уникальна :)

                                      >Я не большой поклонник PC-спикера, поэтому на аутентичность звучания мне пофиг. :) Там синус вместо квадратной пилы или что-нибудь в этом духе? Что именно поменялось?

                                      Ну и зачем я буду вам что-то доносить? Ну а между тем на пс спикере много чего делали интересного.
                          +7
                          Отдельные иксы с собственными chroot и freetype на каждый монитор. Настройка будет нескучной.
                          –4
                          А в каких дистрибутивах Linux до этого были проблемы со шрифтами? Я везде наблюдал обратную картинку — гораздо лучше чем ClearType выглядели
                            +9
                            Вы, наверное, просто неприхотливы, или не особо обращаете внимание на шрифты. Пожалуй, только в Ubuntu хороший рендеринг шрифтов сразу после установки, но все же есть проблемы с кернингом на кириллице.
                            Сейчас, правда, все больше и больше UHD-мониторов, и проблема отходит на второй план, я не особо вижу разницу между Freetype <2.7 и Infinality при PPI 185.
                              +2
                              Ну вот фиг знает. В Windows 10 рендеринг шрифтов просто нереальное убожество, по сравнению с Ubuntu и MacOS. Проблемы с кернингом нигде не видел. Может увас это отдельные шрифты шалят?
                              С у величением размера и разрешения мониторов, в винде все только хуже становится. Все шрифты какие-то тонюсенькие, хлипенькие, бледные. Верчение настроек ClearType делает только хуже. Короче это тихий ужас.
                                +2

                                "Хлипленькие" шрифты могут встречаться разве что в метро и на мелкомягких сайтах, где они упарываются со всякими Ultra-Light. Так-то по умолчанию в гуе везде до сих пор Segoe UI стандартной толщины, вроде.

                                  –3
                                  Стандартный проводник к какому типу приложений, по вашему, относится? )
                                  Далеко ходить не надо, на всех стандартных системных интерфесах шрифт убожество…
                                    +3
                                    Это ваше личное мнение. У меня всё замечательно в Проводнике на FHD мониторе 27". В Убунте тоже норм, но виндовый текст мне больше нравится.
                                      –6
                                      Не хочу рушить ваш уютный мир. Но здесь люди вообще-то по определению высказывают свое мнение)
                                      Точно так же, как и то, что у вас все хорошо, это тоже только ваше личное мнение.
                                      +3

                                      А, только сейчас заметил, что вам нравится яблочное мыло. Ну да, такой рендеринг в винде отсутствует. Я сначала подумал, что вы конкретно про Windows 10, но в Проводнике рендеринг тот же, что и во времена Windows XP, только шрифт по умолчанию сменился с MS Sans Serif на Segoe UI.


                                      В винде традиционно любили втискикать буквы в пиксельную сетку, жертвуя индивидуальностью шрифта, а в яблоках на первом месте всегда стоял шрифт. На высоких DPI, кстати, два подхода теоретически должны устремляться к единому виду. Если вы видите разницу при 300 DPI, значит, у вас разные шрифты. :)

                                        –7
                                        У вас большие проблемы со зрением, если вы такое заметили)
                                        Идеалом по шрифтам, я считаю Убунту. Макось считаю ущербной по всем параметрам, но даже в ней шрифты сильно лучше винды.
                                        И при чем тут XP? В какой вселенной, она была идеалом-то по шрифтам? Сейчас актуальна другая версия винды, и поросшие мхом версии никому не интересны.
                                          +2

                                          Хрюшка упомянута исключительно как первая винда, умеющая ClearType.

                                    –1
                                    А по-моему это на макоси шрифты вырвиглазные. Дело вкуса. Но установите центось, например, с гномом и кириллицей — вы все еще будете утверждать, что там нет проблем со шрифтами?
                                      0
                                      > С у величением размера и разрешения мониторов, в винде все только хуже становится.

                                      Вот-вот. Пока сидел на махоньком мониторе в винде шрифты выглядели хуже, чем в линухе, но не сильно, а как поставил себе в качестве монитора ТВ на 32" с разрешением 1920x1080, так совсем в винде все страшно стало.
                                        0
                                        68ppi все дела, чего же вы хотели. Там пиксели то глаза бросаются, а вы про шрифты.
                                          0
                                          Ну почему-то под линухой все со шрифтами нормально. Да и пиксели в глаза не бросаются, играть я под виндой могу спокойно, а вот что-то еще делать тяжко.
                                  0
                                  Исправьте пожалуйста FreeDBS.
                                    +1
                                    Досаднейшая ошибка, исправлено.
                                    +3
                                    Cleartype is just the worst «fix» for a non existing problem ever. ©
                                    Теперь и в линукс, прекрасно… Кстати, монитор с увеличенным PPI не сильно помогает, на 4К с разрешением 28" мыло от этого чудо-сглаживания отлично видно, глаза не могут сфокусироваться. Ну это мое субьективное мнение, конечно, хотя когда перелопачивал форумы в поисках ответа на вопрос как же отключить это мыло в новых версиях IE и прочих офисах, показалось что проблема достаточно заметная, чтобы её игнорировать и не давать пользователью возможность сглаживание убрать.
                                      0

                                      А как вам яблочное сглаживание? :)

                                      0
                                      интересно, повлияют ли все эти изменения на ftgl, или там все эти сглаживания отключены при построении глифов?
                                        0
                                        Осталось сделать один, но очень важный шаг — отказаться от привязки совсем.
                                        Даже на обычных lowDPI мониторах современные UI без привязки выглядят отлично. Благо и качество шрифтов и используемые кегли уже достаточны чтоб избежать каши. И это даже без суб-пискельного сглаживания.
                                          +2
                                          Кому как. Я наоборот сижу на настройке «Не сглаживать до 18px», а что свыше- сглаживается стандартным методом. На разноцветную кайму ClearType смотреть сил нет вообще, сглаживания градациями серого могу терпеть, но не хочу. Итого мне нормально только на ХР, где самая жёсткая привязка к пиксельной сетке. Конфигурирование Linux не осилил, то мыло, то мешанина пикселей, на MacOS вообще с настройками традиционно туго, а Windows 10 умудряется смешивать разные типы сглаживания в одном окне, а метрошный интерфейс никак не хочет переходить на режим без сглаживания.
                                            0
                                            Итого мне нормально только на ХР, где самая жёсткая привязка к пиксельной сетке.
                                            Да, встречал такую позицию. Но то, что вам так нравится — жёсткая привязка — это результата почти ручной привязки каждого глифа в стандартных гарнитурах к популярным размерам. Возьмите нестандартный/свободный шрифт с кеглем в районе 9 пунктов и вся магия улетучивается, т.к. с большой вероятностью автоматика красивую привязку сделать не сможет. Придётся или сглаживать (по суб-пикселям/по целым пикселям не столь важно) или страдать.

                                            Конфигурирование Linux не осилил
                                            Тут уже упомянали, в ubuntu отрисовка текста очень хороша, и имеет основные необходимые настройки из коробки (читай в gui).

                                            Windows 10 умудряется смешивать разные типы сглаживания в одном окне
                                            С этим нельзя не согласиться. Переходный период, когда в системе сосуществуют и win32/gdi-приложения и win32/directui-приложения и uwp-приложения выглядит очень пёстро и неаккуратно.
                                              0
                                              Но то, что вам так нравится — жёсткая привязка — это результата почти ручной привязки каждого глифа в стандартных гарнитурах к популярным размерам.

                                              Именно! Ручная работа, забота о каждом пикселе, отображаемом на моём мониторе.
                                              Возьмите нестандартный/свободный шрифт с кеглем в районе 9 пунктов и вся магия улетучивается, т.к. с большой вероятностью автоматика красивую привязку сделать не сможет. Придётся или сглаживать (по суб-пикселям/по целым пикселям не столь важно) или страдать.

                                              Веб-шрифты сглаживаются принудительно, и субпиксельно, видимо, зашито в самом шрифте.
                                              Вот как у меня отображается Fifa Sand из заголовка в размере 9px:
                                              image
                                              Для меня главное что основные шрифты, которые читаешь, отображаются нормально, на заголовки можно забить, к тому же они часто большого размера, и сглаживание совсем не мешает.
                                              Тут уже упомянали, в ubuntu отрисовка текста очень хороша, и имеет основные необходимые настройки из коробки (читай в gui).

                                              Там и пытался, кириллица вышла просто ужасно. Может руки кривые, может, с 14.04 прогресс ушёл дальше.
                                              Как там обновят на FreeType 2.7, нужно будет снова попытаться.
                                              Переходный период, когда в системе сосуществуют и win32/gdi-приложения и win32/directui-приложения и uwp-приложения выглядит очень пёстро и неаккуратно.

                                              Тут даже не только разные типы приложений, тут в одном окне проводника соседствуют разные типы сглаживания на расстоянии в пару десятков пикселей.
                                                +2
                                                Переходный период, когда в системе сосуществуют и win32/gdi-приложения и win32/directui-приложения и uwp-приложения выглядит очень пёстро и неаккуратно.

                                                У винды перманентный "переходный период", она вся такая от и до. Последний диалог в стиле Windows 3 удалили где-то в районе Windows 7, вроде? :) После попапности 9х, вебовости МЕ, кислотности XP, прозрачности Висты, скромности 7, плоскости 8, гибридности 10 уже столько всего намешалось, что разнообразие рендеринга шрифтов теряется на общем фоне.

                                            –1
                                            у меня шрифты доступны и установлены.

                                            eix freetype
                                            [I] media-libs/freetype
                                            Доступные версии: (2) 2.5.5^d 2.6.3-r1^d{tbz2} 2.6.5^d{tbz2} ~2.7-r1^d
                                            {X +adobe-cff auto-hinter bindist bzip2 (+)cleartype_hinting debug doc fontforge harfbuzz infinality png static-libs utils ABI_MIPS=«n32 n64 o32» ABI_PPC=«32 64» ABI_S390=«32 64» ABI_X86=«32 64 x32»}
                                            Установленные версии: 2.6.5(2)^d{tbz2}(12:18:34 10.08.2016)(X adobe-cff bzip2 cleartype_hinting png static-libs -bindist -debug -doc -fontforge -harfbuzz -infinality -utils ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86=«32 64 -x32»)
                                            Домашняя страница: http://www.freetype.org/
                                            Описание: A high-quality and portable font engine
                                              +1
                                              На Windows без Mactype просто невозможно работать, шрифты непомерно ужасны.
                                                0
                                                Вот спасибо за наводочку. Смог настроить нормально шрифты наконец.
                                                +1
                                                Я почитал вашу статью и почитал новость на сайте проекта. Никак не могу понять. Как это
                                                Так появился алгоритм обработки инструкций TrueType v40. Его принцип прост как копейка — полное игнорирование всех инструкций горизонтального сглаживания. Никакого субпиксельного сглаживания.
                                                ,
                                                согласуется с этим:
                                                The most important change is a new bytecode hinting mode for TrueType fonts that finally activates subpixel hinting (a.k.a. ClearType hinting) by default.
                                                .

                                                Есть оно или нет?

                                                К слову, в ReactOS моментально обновили freetype до версии 2.7.
                                                  0
                                                  Я так понимаю, что достигается эффект субпиксельного сглаживания на манер ClearType тем, что все инструкции горизонтального сглаживания (horisontal hinting) полностью игнорируются в новом алгоритме. При этом интепретатор v40 не повторяет оригинальных инструкций субпиксельного сглаживания ClearType. Вероятно, это и имеет в виду мейнтейнер.

                                                  There actually is no subpixel hinting going on here. Shock.
                                                  +6
                                                  Отрадно видеть что есть еще люди, ностальгирующие по тёплым ламповым ЭЛТ мониторам с несведением луча, когда вместо мелкого текста была кашка из пикселей, а большой текст покрывался RGB-ореолом.
                                                  Классический пример придумывания проблемы и отважного её решения.
                                                    0

                                                    Ты за алиасинг что ли?

                                                    0

                                                    Стоит добавить ссылку на оригинальное сообщение “A small post about the v40 interpreter” из списка рассылки freetype-devel, адаптацией которого является данная запись.

                                                      +1
                                                      Я не против, но в я отталкивался от https://www.freetype.org/freetype2/docs/subpixel-hinting.html, ссылка на нее присутствует. А та, в свою очередь, основана на листе freetype-devel, но его-то я как раз не читал. Спасибо что указали первоисточник.
                                                      +1
                                                      Каждый раз, когда я вижу байки про красивые виндовые шрифты я перезагружаюсь под винду и смотрю, думаю вдруг что-то поменялось. Но, нет, на 32" при 1920x1080 шрифты в винде выглядят так, что глаза вытекают и никакой ClearType не помогает, а тут же под линухой все выглядит хорошо.
                                                        0

                                                        Интересно, как можно пользоваться 32" монитором с таким низким разрешением и говорить о качестве шрифтов?

                                                        0
                                                        Черт, мне не везет со шрифтами. Кто-то сидит на Kubuntu? Я на Robotics остановился, но это не то все равно. Легкий хинтинг.
                                                          0
                                                          Kubuntu — инсталяционный диск Ubuntu Linux с KDE в качестве DE из коробки и не более. В Ubuntu Linux при использовании Gnome3, Xfce4 и Mate проблем со шрифтами на разных компах и разных мониторах не вижу, ради интереса поставьте себе тот же xfce4 в качестве второго DE и посмотрите что будет там, потому что может просто кеды гадят, а в системе у вас все хорошо.

                                                          P.S. Использую шрифты Ubuntu и DejaVu
                                                            0
                                                            Мне казалось, что патчи как раз DE-специфичны. Очень отличаются шрифты на KDE и Unity.
                                                              0
                                                              Пакет freetype один. Шрифты могут быть разные в Qt и в прочем, отсюда у вас такое впечатление. А freetype он один в дистрибутиве.

                                                              apt-cache policy libfreetype6
                                                              libfreetype6:
                                                              Installed: 2.6.1-0.1ubuntu2
                                                              Candidate: 2.6.1-0.1ubuntu2
                                                              Version table:
                                                              *** 2.6.1-0.1ubuntu2 500
                                                              500 http://ubuntu.mirrors.ovh.net/ftp.ubuntu.com/ubuntu xenial/main amd64 Packages
                                                              100 /var/lib/dpkg/status
                                                                0
                                                                Спасибо. Впилил infinality и DejaVu Sans. Стало лучше.
                                                                  +1
                                                                  Мне нравится, как у вас получилось, рад, что оказался полезным.
                                                            0

                                                            Не знаю как конкретно в Kubuntu, но в Plasma 5.8 по умолчанию сделали шрифт Noto (раньше у меня был DejaVu). Выглядит неплохо.

                                                              0
                                                              Я еще из бэкпортов не вытащил. Сижу на стабильной 5.6.5
                                                            0
                                                            FreeType 2.7 — превосходное качество шрифтов Linux

                                                            Это вы загнули.

                                                            Собрал 2.7, отключил infinality, включил cleartype_hinting.
                                                            Впечатления, непривычно «мыльно».
                                                              0
                                                              Это как-то повлияет на качество начертания шрифтов Java приложений?
                                                                0
                                                                Нет. Жава все рисует сама, что под виндой, что под линухой, отсюда и ужасные шрифты в жаба-приложениях.
                                                                  0

                                                                  Это совсем беда.
                                                                    +2
                                                                    Не, у вас еще не беда. По виндой какое-то жавовое приложение ставил с год назад, так там была беда, а тут вполне можно смотреть. Плюс жавы, что ее приложения везде выглядят одинаково, одинаково отвратительно, но зато везде.
                                                                      0

                                                                      Сильно зависит от приложения и используемой jre (у sun/oracle со шрифтами было лучше чем в openjdk). В той же idea используется патченная openjdk:


                                                                        0
                                                                        Ну от используемой jre само собой зависит, раз оно рисует само. Но по факту шрифты ужасны и я стараюсь избегать приложений на жаве.

                                                              Only users with full accounts can post comments. Log in, please.