Firefox сглаживание шрифтов linux

Содержание
  1. Вики IT-KB
  2. Инструменты пользователя
  3. Инструменты сайта
  4. Боковая панель
  5. Улучшаем отображение шрифтов в Ubuntu Linux с помощью Infinality
  6. ClearType-сглаживание в Linux, или шрифты как в Ubuntu
  7. Библиотеки
  8. Исходники библиотек
  9. Основные патчи
  10. Сборка библиотек
  11. Конец
  12. Firefox и сглаживание
  13. Re: Firefox и сглаживание
  14. Re: Firefox и сглаживание
  15. Re: Firefox и сглаживание
  16. Re: Firefox и сглаживание
  17. Re: Firefox и сглаживание
  18. Re: Firefox и сглаживание
  19. Re: Firefox и сглаживание
  20. Re: Firefox и сглаживание
  21. Re: Firefox и сглаживание
  22. Re: Firefox и сглаживание
  23. Re: Firefox и сглаживание
  24. Сглаживание шрифтов в Firefox без gnome-settings-daemon
  25. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  26. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  27. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  28. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  29. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  30. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  31. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  32. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  33. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon
  34. Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Улучшаем отображение шрифтов в Ubuntu Linux с помощью Infinality

Если вам кажется, что шрифты в графической среде Ubuntu Linux несколько размыты, и это вызывает повышенную утомляемость глаз, то можно попробовать улучшить отображение шрифтов с помощью пакета Infinality. Данный метод был проверен мной на графической оболочке Unity в составе Ubuntu 16.04 LTS а также на KDE Plasma в составе Kubuntu 16.04 LTS.

Добавляем репоризиторий, выполняем обновление кеша пакетов, обновляем систему и устанавливаем пакет:

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

В данном случае я выбираю третий вариант: Linux шрифты.

Для любителей Windows шрифтов (6-8 варианты) для корректного отображения потребуется дополнительно установить базовый набор шрифтов Microsoft:

Ставим wine:

Копируем 2 шрифта Tahoma из каталога /usr/share/wine/fonts/ в каталоги:

Если ставить wine только из-за пары файлов шрифтов нет желания, можно попробовать сделать так:

В конечном итоге у меня после установки Infinality и и подгруженными Microsoft шрифтами даже даже со стилем Linux в Mozilla Firefox сайты ориентированные на Win-шрифты стали отображаться также, как они выглядят на Windows-системе в Internet Explorer

Например, изначально отображение одного из сайтов было таким:

После изменилось на аналогичное тому, как оно отображается в Windows:

Если эффект от Infinality не дал вам желаемого результата, что можно его удалить:

Источник

ClearType-сглаживание в Linux, или шрифты как в Ubuntu

Доброго времени суток, Хабр. Увидел я недавно новую Ubuntu и стало мне завидно, что у нее шрифты красивее, чем в моей Mandriva (GNOME). И стал я копать. Копал и экспериментировал я долго, но в итоге я добился нужного результата. Хочу теперь вам рассказать как это у меня получилось. Сделал я это путем пересборки библиотек, которые отвечают за рендеринг шрифтов, с поддержкой ClearType-сглаживания. Не знаю, красивее чем в Ubuntu или нет, но мне нравятся. Итак, приступим.

Читайте также:  Control buttons on windows

Библиотеки

Для отрисовки шрифтов используются такие библиотеки:
Cairo — библиотека, предназначенная для рендеринга векторной графики.
Xft — свободная библиотека, предназначена чтобы использовать Freetype растеризер с X-расширением X Rendering Extension; обычно это нужно для для использования шрифтов FreeType с X Window System.
FreeType — библиотека, которая используется для растеризации шрифтов и операций над ними.

Исходники библиотек

Дело было с последними стабильными версиями, на сегодня это:
Cairo 1.8.8
Xft 2.1.14
FreeType 2.3.11

Основные патчи

За патчи огромное спасибо сообществу пользователей Arch Linux, у которых я их всех и нашел.
Каждый патч ничего сложного не делает, просто вносит некоторые изменения в исходники библиотек. Для их применения нужен пакет «patch» который найдете в репозиториях. Об его использовании и о его параметрах и ключах можно почитать здесь. Коды патчей обновлены для работы с новыми версиями библиотек. Если посмотреть код любого из них, то можно делать все это вручную путем добавления и замены кода в исходниках.

Cairo:
cairo-1.2.4-lcd-cleartype-like.diff — ClearType рендеринг шрифтов. Подобное сглаживание и применяется в убунту (исходя с сравнения). Напомню что данный метод зарегистрирован компанией Microsoft.

Xft:
libXft-2.1.14-lcd-cleartype.patch — то же самое что и для cairo. Это повлияло у меня на шрифты в Opera, Lotus Symphony.

FreeType:
bytecode.patch -включает рендеринг шрифтов, запатентованный компанией Apple, поэтому он выключен изначально. Это опционально, можно и не включать.
freetype-2.2.1-subpixel-disable-quantization.diff — название говорит само за себя, выключает квантование.
freetype-2.3.0-enable-spr.patch — включение субпиксельного рендеринга
freetype-2.2.1-enable-valid.patch
freetype-2.2.1-memcpy-fix.patch

У них еще есть патчи для сглаживания от Canonical — freetype2-ubuntu, libxft-ubuntu, cairo-ubuntu, но они мне особо не помогли, даже хуже сделали. Тем более что они не для новых версий библиотек.

Сборка библиотек

Все зависимости для компиляции установите в процессе, ибо я уже не помню их всех.
Для начала собeрем Cairo. Переходим в папку с исходниками cairo-1.8.8/. Бросаем туда патч (мне было так удобнее), и в консоли выполняем:
$ patch -Np1 -i cairo-1.2.4-lcd-cleartype-like.diff
$ ./configure —prefix=/usr
$ make && make install
Естественно для команды make install будут нужны права root’а, поэтому либо выполняйте все в консоли от рута либо к make install прменяйте sudo.
Если перезагрузить иксы, мы увидим значительную разницу в отрисовке шрифтов.

Дальше собираем Xft. Стаем в libXft-2.1.14/:
$ patch -Np1 -i libXft-2.1.14-lcd-cleartype.patch
$ ./configure —prefix=/usr
$ make && make install

Теперь FreeType. Если вы хотите использовать рендеринг Apple, тогда накладываем bytecode.patch. freetype-2.3.11/:
$ patch -Np0 -i bytecode.patch
И еще дополнительные изменения которые можно применять и без bytecode. Это уже надо смотреть самим, лучше ли с ними или нет:
$ patch -Np1 -i freetype-2.2.1-subpixel-disable-quantization.diff
$ patch -Np1 -i freetype-2.3.0-enable-spr.patch
$ patch -Np1 -i freetype-2.2.1-enable-valid.patch
$ patch -Np1 -i freetype-2.2.1-memcpy-fix.patch
$ ./configure —prefix=/usr
$ make && make install

После этого можно перезапускать иксы.

Конец

Приведу вам свои скрины чтобы вы видели разницу:
Все шрифты приложений, документов, заголовков и робочего стола у меня в настройках по умолчанию — Sans.
Вот так у выглядел Firefox у меня с «нетронутыми» библиотеками:
1.

Firefox, пропатчен Cairo:
Теперь стало похоже на Убунту.
Полное (Full) уточнение (Hinting) шрифтов (в настройках шрифтов в GNOME):
2.
Слабое (Slight) уточнение (Hinting) шрифтов, которое в Убунту стоит всегда по умолчанию:
3.

Читайте также:  Команда удаления всех файлов linux

Opera, пропатчен Xft:
Слабое (Slight) уточнение (Hinting) шрифтов:
4.

Firefox, пропатчен FreeType с bytecode.patch:
Полное (Full) уточнение (Hinting) шрифтов:
5.
Слабое (Slight) уточнение (Hinting) шрифтов:
Кстати это тоже выглядит как в Убунту.
6.

На последок рекомендую поигратся в настройках шрифтов в GNOME (или KDE), особенно с dpi. Можно еще поэксперементировать с ихними патчами, и добится лучшего результата.
На этом у меня все. Спасибо всем, надеюсь кому-то это пригодилось.

UPDATE:
По просьбам выкладываю сводную картину со всех 6-ти выше показаных сриншотов:

Отмечу, что в настройках шрифтов GNOME у меня все время было включено сглаживание «Субпиксельное (ЖК-мониторы)».
Также отмечу, что по скринам видно, что в Опере шрифты чуть темнее. Но это потому что Опера использует Xft, в то время как Фаерфокс (да и весь гном) — cairo. Отсюда вывод — разница в рендеринге libxft-cleartype и cairo-cleartype есть.

еще UPDATE:
Покопал я глубже, в исходниках патчей. Сравнил патч для Cairo и патч Xft. В них нашел весьма интересные и похожые строчки:
В патче Xft:
+static const int fir_filter[5] = < 0x10, 0x40, 0x70, 0x40, 0x10 >;
В патче Cairo:
+static const int fir_filter[5] = < 0x1C, 0x38, 0x55, 0x38, 0x1C >;
С комментария для этой строчки в Xft (/* note: keep the filter symetric, or bad things will happen */) я понял что это, какбы, массив размеров каких-то, частот или что-то в этом роде. Ну откуда мне знать-то?)) Но по названию массива можна подумать что там применялся алгоритм вот этой штуковины. )) Но все-же, откуда мне знать? Долго я не думал, и установил в патче для Cairo такие же шестнадцатиричные числа (размера, частоты?) в этом массиве как и в патче для Xft, пересобрал. И, о чудо, у меня везде теперь такие же темненькие и четкие шрифты как в Опере (Qt).
Firefox, пропатчены все библиотеки, полное (Full) уточнение (Hinting) шрифтов:
7.

Сравните с 5-м скрином.

Firefox, пропатчен только Cairo, слабое (Slight) уточнение (Hinting) шрифтов:
8.

Сравните с 3-м скрином и с 4-м скрином, где Опера.

Все, теперь я доволен. =) Вот вам измененный патч для Cairo

Источник

Firefox и сглаживание

Упорно игнорирует общие настройки сглаживания, чтобы не трогать шрифты с такого-то по такой-то кегль. Всего-то, что мне нужно — отключить сглаживание до 10 кегля. Игры с font.antialias.min ничего не дают.

Re: Firefox и сглаживание

У меня такая же ботва, только наоборот: сглаживание не включается (

Крутил
font.FreeType2.autohinted
font.FreeType2.enable
font.FreeType2.unhinted
ну и
font.antialias.min
никак не влияет.

Re: Firefox и сглаживание

В генте есть такая фишка: если собирать фокса с USE=»moznopango», то он будет нафиг игнорировать настройки .fonts.conf и прочих, а вот с USE=»-moznopango» все нормально включается/выключается вместе с остальными.

Может причина именно в этом?

Читайте также:  Как обойти защитник windows

Re: Firefox и сглаживание

Вот как бы еще посмотреть, с какими ключами собирали убунтовцы.

Re: Firefox и сглаживание

moznopango дает прирост в производительности +30%. Сам только что на лису перешел и все сокрушался что она так лагает.

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

Re: Firefox и сглаживание

Спасибо. И правда летает )) Из описания не понятно что она делала, поэтому вырубил )))

Re: Firefox и сглаживание

>Вот как бы еще посмотреть, с какими ключами собирали убунтовцы.

Re: Firefox и сглаживание

moznopango нету, однако есть похожий ключ

Re: Firefox и сглаживание

>В генте есть такая фишка: если собирать фокса с USE=»moznopango», то он будет нафиг игнорировать настройки .fonts.conf и прочих, а вот с USE=»-moznopango» все нормально включается/выключается вместе с остальными.

Пересобирать нет никакой необходимости. Панго можно отключить уже после сборки. Создаем файл

/.mozilla/firefox/rc и туда добавляем строчку:

Re: Firefox и сглаживание

После указанного действия FF скромно сообщает о сегфолте (

Re: Firefox и сглаживание

А откуда firefox? Какая версия? У меня из Debian/Etch (1.5.0.7), и все нормально. Строчка есть — Pango нет. Строчки нет — Pango есть. Я не сам это придумал.

Re: Firefox и сглаживание

Да я краем уха слышал про эту настройку.

У меня Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061201 Firefox/2.0.0.1 (Ubuntu-feisty)

Источник

Сглаживание шрифтов в Firefox без gnome-settings-daemon

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

Лучше пропиши шрифты в

оно надежнее и глобальнее, чем гномовские костыли 🙂

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

>Лучше пропиши шрифты в

Оно ж для Qt-шных приложений вроде? Для gtk надо в

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

О, спасибо большое, работает. Вот только никак не могу найти одну опцию.

В gnome-appearance-properties для сглаживания можно задавать опцию Smoothing, которая может иметь значения None, Grayscale и Subpixel. В man fonts.conf ничего похожего не видно, да и гугл что-то по этому поводу молчит.

Не подскажете, где ее можно задать?

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

> Оно ж для Qt-шных приложений вроде? Для gtk надо в

нет, оно общесистемное для пользователя.

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

>нет, оно общесистемное для пользователя.

Возможно. Только не все программы его читают, особенно при не запущенных службах гнума. Тогда то и помогает правка х-ресурсов.

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

Или я совсем слепой, или ничего похожего на grayscale там нет. 🙁

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

>похожего на grayscale

Xft.antialias: 1
Xft.rgba: none

Re: Сглаживание шрифтов в Firefox без gnome-settings-daemon

/.Xresources строки:
Xft.dpi: 96.0
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.antialias: true
Xft.rgba: none

И везде сглаживание стало таким, каким мне хотелось. Большое спасибо всем за помощь.

Источник

Оцените статью