4

Я использую Firefox с опцией "Разрешить сайтам выбирать свои шрифты", поэтому все отображается в моем предпочтительном шрифте. Мне нравится это так. Единственная проблема заключается в том, что некоторые раздражающие веб-сайты (например, Github и Tumblr) решают использовать пользовательские шрифты не для отображения текста, а для создания значков из глифов. Мне бы хотелось, чтобы в Firefox было установлено более одного шрифта как "разрешенного": если сайт пытается использовать один из разрешенных шрифтов, хорошо, иначе он использует мои шрифты.

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

Насколько я могу судить, решения на основе CSS, такие как пользовательская таблица стилей, не могут работать, потому что я не могу использовать CSS для выбора на основе того, какой шрифт пытается отобразить данный сайт. То есть теоретически можно было бы написать правило CSS "второй этап", которое выбирает только элементы, у которых атрибут CSS font-family установлен на определенный шрифт, но на практике (насколько я знаю) CSS не делает разрешить это. Это также означает, что расширение Stylish не является решением.

В качестве теста я также попытался загрузить шрифт Github octicon и установить его в своей системе, надеясь, что это позволит Firefox автоматически заменить шрифты для этих глифов (как это происходит, если я просматриваю текст в других алфавитах). Не работает

Следующие критерии необходимы для того, чтобы считать что-то "решением":

  1. Он должен быть белым списком, а не черный списка --- то есть, он должен сказать "эти шрифты могут" не «эти шрифты не могут» --- и поведение запасного варианта для не-белого списка шрифтов должно использовать мои указания шрифты. Меня не интересуют решения, которые требуют, чтобы я вручную "включал" поведение "только шрифты" для определенных веб-сайтов. Поведение по умолчанию должно использовать мои шрифты.
  2. Он должен быть специфичным для шрифта, а не только для конкретного сайта. Я не хочу, например, разрешить Github использовать свои собственные шрифты. Я хочу разрешить Github использовать только те шрифты, которые он использует, и использовать мои шрифты для остального пользовательского интерфейса сайта. Я в порядке с решением, которое позволяет мне ограничить шрифтом и сайтом, хотя. В принципе, я был бы согласен с решением, в котором я мог бы сказать «разрешить кому-либо использовать шрифт X» или "разрешить только сайту Y использовать шрифт X", но не то, которое позволяет мне сказать «разрешить сайту Y использовать любые шрифты, которые он хочет» ,
  3. Это не должно включать в себя написание каких-либо пользовательских таблиц стилей или сценариев для каждого сайта. Это означает, что «вы можете написать скрипт greasemonkey, чтобы сделать это» не является решением, если не существует существующего скрипта greasemonkey, который делает это раз и навсегда. Я в порядке с установкой чего-либо и настройкой, и, очевидно, мне придется самостоятельно управлять белым списком, но это не решение, если мне нужно настроить инструмент для каждого сайта (например, изменив его, чтобы "знать" о особый CSS этого сайта).

Есть ли решение для этого? Мне любопытно, действительно ли я единственный, кто на самом деле использует опцию «не разрешать сайтам использовать свои собственные шрифты», и, если нет, как другие люди справляются с этим раздражением.

1 ответ1

0

Согласно вашим инструкциям, это не ответ. Просто работа вокруг. У меня нет достаточно представителей, чтобы сделать это комментарий. Я использую AutoHotkey (их сайт использует эти чертовы символы!) скрипт, чтобы перевернуть этот флажок. Это делает изменение вперед и назад единственной опцией сочетания клавиш (control + I):

#IfWinActive Firefox ahk_Group Firefox
^I:: ; fix fonts
    SendInput {AltDown}{AltUp}t
    sleep 100
    SendInput o
    WinWaitActive Options ahk_class MozillaDialogClass ahk_exe firefox.exe,,5
    If ErrorLevel
        return
    ClickAndReturn(158,49)
    SendInput !a
    WinWaitActive Fonts ahk_class MozillaDialogClass ahk_exe firefox.exe,,5
    If ErrorLevel
        return
    SendInput !a{enter}
    WinWaitActive Options ahk_class MozillaDialogClass ahk_exe firefox.exe,,5
    If ErrorLevel
        return
    SendInput +{tab}{enter}
return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .