Есть ли способ установить моноширинный шрифт * default * в Safari?
11
У меня есть веб-приложение, которое использует моноширинный шрифт браузера по умолчанию. Он настроен таким образом, чтобы пользователь мог выбирать самостоятельно. В Chrome это работает хорошо, так как легко установить шрифты по умолчанию, но в Safari они убрали эту опцию.
Есть ли способ для пользователей установить шрифты по умолчанию в Safari?
Начиная с Safari 12, все возможности для этого были удалены:
Панель Внешний вид (долго) исчезла
Эти defaultsключи не больше не уважают
@font-faceОпределения CSS ограничены встроенным белым списком local()значений, игнорируя любые другие шрифты, установленные в системе, что является частью широкого пакета мер по снятию отпечатков пальцев.
Взятые вместе, это означает, что нет способа изменить значения по умолчанию: «Times» serif, «Helvetica» sans-serifи «Courier» monospace.
Единственное, что вы можете сделать, это создать пользовательскую таблицу стилей для непосредственного оформления различных элементов. Так, например , вы можете изменить семейство шрифтов по умолчанию от serifдо sans-serif:
body {font-family: sans-serif }
Или вы даже можете назвать конкретные локально установленные несистемные шрифты:
body {font-family:'Open Sans'}
К сожалению, хотя это работает достаточно хорошо для изменения шрифта документа по умолчанию, сложно использовать тот же подход для изменения стиля каждого элемента, который по умолчанию установлен на моноширинный шрифт. Я не уверен, что CSS вообще может полностью эмулировать поведение по умолчанию для таких элементов - хотя раньше это было легко сделать, используя одну defaultsили пользовательскую таблицу стилей с @font-faceправилом для monospace(которая просто переопределяла то, что monospaceозначало, не затрагивая сам стиль по умолчанию, и так позволил поведению по умолчанию применить к тому другому шрифту).
Мне внутренне не нравится читать большие объемы текста, заданные в Courier, так что, похоже, в будущем мне придется использовать другой браузер для чтения RFC ...
Спасибо за обновление, Аристотель. Хотя ответ Лри был очень хорошим, он не очень хорошо состарился, поэтому я перенес проверку на ваш ответ, чтобы направить будущих посетителей к самой актуальной информации.
Карл Смит
Спасибо. Да, я использовал ответ Лри в течение многих лет; к сожалению, музыка сейчас остановилась. Это… прискорбно, если не сказать больше, но так оно и есть.
Аристотель Пагальцис
12
Следующая информация была правильной, когда она была опубликована, но теперь относится только к устаревшим версиям Safari.
Существуют неэкспонированные настройки для изменения шрифтов по умолчанию и размеров шрифтов:
Другой вариант - отредактировать файл CSS, который определяет стили по умолчанию (смотрите «
Настройки»> «Дополнительно»> «Таблица стилей» ), добавив что-то вроде этого, например:
Это правило заставляет любой элемент, который использует font-family: monospace(а также элементы, такие как <pre>и <code>по умолчанию), использовать Menlo. Просто измените имя шрифта (соблюдайте осторожность, чтобы сохранить в кавычках) на то, что вы предпочитаете.
Следующая информация была правильной, когда она была опубликована, но теперь относится только к устаревшим версиям Safari.
Существуют неэкспонированные настройки для изменения шрифтов по умолчанию и размеров шрифтов:
Другой вариант - отредактировать файл CSS, который определяет стили по умолчанию (смотрите « Настройки»> «Дополнительно»> «Таблица стилей» ), добавив что-то вроде этого, например:
Это правило заставляет любой элемент, который использует
font-family: monospace
(а также элементы, такие как<pre>
и<code>
по умолчанию), использовать Menlo. Просто измените имя шрифта (соблюдайте осторожность, чтобы сохранить в кавычках) на то, что вы предпочитаете.источник