LINUX.ORG.RU

Некоторые шрифты выглядят ужасно

 ,


3

2

Добрый вечер. Когда я только установил gentoo, то сталкивался с такой проблемой. В хроме некоторые шрифты (латиница) выглядят просто ужасно (вот так http://rghost.ru/private/58116875/353c2b29dba93f87af07524e25de8823.view (заголовки)). Они «не сглажены».

До этого проблему решал включая 70-no-bitmaps.conf в fontconfig. Однако, чтобы Terminus заработал мне пришлось включить 70-yes-bitmaps.conf, и в итоге старая проблема вернулась.

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

В fontconfig включено:

10-autohint.conf
10-scale-bitmap-fonts.conf
10-sub-pixel-rgb.conf
11-lcdfilter-default.conf
20-unhint-small-vera.conf
30-metric-aliases.conf
30-urw-aliases.conf
40-nonlatin.conf
42-luxi-mono.conf
45-latin.conf
49-sansserif.conf
50-user.conf
51-local.conf
60-latin.conf
65-fonts-persian.con
65-nonlatin.conf
69-unifont.conf
70-yes-bitmaps.conf
80-delicious.conf
90-synthetic.conf


шрифты хрома можно настроить в самом хроме

erzent ☆☆
()

Тебе надо создать правило fontconfig для переопределения шрифта.

Последовательность действий:

  • Определить название шрифта в css стилях веб-страницы (через web developer tools в firefox, клавиша F12)
  • (Опционально) определить реально используемый файл шрифта (fc-match fontname).
  • Переопределить шрифт на тот, который нравится, через ~/.config/fontconfig/conf.d/10-bitmap-fix.conf
  • Сделать fc-cache -fv и убедиться, что fc-match fontname теперь указывает на любимый шрифт. Здесь «fontname» - название шрифта с веб-страницы.

Для примера, мой ~/.config/fontconfig/conf.d/10-helvetica.conf (у меня ужасно выглядела Helvetica, заменил на Droid Sans)

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match>
    <test name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Droid Sans</string>
    </edit>
  </match>
</fontconfig>

mtk
()
Последнее исправление: mtk (всего исправлений: 1)
Ответ на: комментарий от USF

На самом деле у меня в правиле была секция для Helvetica Neue (удалил для простоты) - достаточно продублировать кусок <match>...</match> для других шрифтов.

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

Хм, что-то не получается..делают для юзера /.config/fontconfig/conf.d/29-replace-bitmap-fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!-- Replace generic bitmap font names by generic font families -->
    <match target="pattern">
        <test name="family" qual="any">
            <string>Helvetica</string>
        </test>
        <edit mode="assign" name="family">
            <string>Arial</string>
            <string>sans-serif</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="family" qual="any">
            <string>Helvetica Neue</string>
        </test>
        <edit mode="assign" name="family">
            <string>Arial</string>
            <string>sans-serif</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="family" qual="any">
            <string>Courier</string>
        </test>
        <edit mode="assign" name="family">
            <string>Courier New</string>
            <string>monospace</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="family" qual="any">
            <string>Times</string>
        </test>
        <edit mode="assign" name="family">
            <string>Times New Roman</string>
            <string>serif</string>
        </edit>
    </match>
</fontconfig>

После fc-cache -fv Helvetica ссылается на n019003l.pfb: «Nimbus Sans L» «Regular» , а Helvetica Neue на DejaVuSans.ttf: «DejaVu Sans» «Book» (как и было изначально).

:(

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

Заменил свой конфиг на твой, fc-match Helvetica тоже стало показывать n019003l.pfb: "Nimbus Sans L" "Regular".

Попробуй сделать как в моем примере выше:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match>
    <test name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Arial</string>
      <string>sans-serif</string>
    </edit>
  </match>
  <match>
    <test name="family"><string>Helvetica Neue</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>Arial</string>
      <string>sans-serif</string>
    </edit>
  </match>
</fontconfig>

mtk
()
Последнее исправление: mtk (всего исправлений: 1)

Это проблема только с webkit приложениями (и неважно, chromium-webkit или webkit-gtk (dwb, luakit и т.д.).

Обсуждалась на генто-форуме как минимум 3 раза и решение кроме вышеуказанного найдено не было, действительно, если включить no-bitmaps - проблема исчезает, но вместе с ней исчезает возможность использования битмапных шрифтов, в терминале и везде.

Кстати, у меня такое подозрение, что это gentoo-(fontconfig)-специфичная хрень, потому что на форумах других дистров такое обсуждение или отсутствует или встречается лишь кое-как.

Очень бы помогла возможность запуска fontconfig per application, т.е. для вебкита: no-bitmaps.conf, для всех остальных - yes-bitmaps.

Но вроде это невозможно по какой-то причине.

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

Опробую завтра, спасибо. У меня шрифты «актуализируются» после рестарта системы, а сейчас не могу перегружать, работа-с :(

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

Да, все получилось, большое спасибо за помощь!

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

Да, увы, до того, как я поставил terminus проблем не знал.

Очень бы помогла возможность запуска fontconfig per application, т.е. для вебкита: no-bitmaps.conf, для всех остальных - yes-bitmaps.

Да, было бы здорово, конечно, все же заменять шрифты дело такое, особенно если приходится работать с версткой и тд. Хотя может они почти идентичны, кто его знает

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

сегодня день хипстерского пиксель арта на вики, расслабься

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