Чи є спосіб встановити * за замовчуванням * шрифт моношини в Safari?


11

У мене є веб-додаток, який використовує шрифт моношини за замовчуванням у веб-переглядачі. Він налаштований таким чином, щоб користувач міг вибрати власний. У Chrome це добре працює, оскільки легко встановити шрифти за замовчуванням, але в Safari цю опцію видалили.

Чи є спосіб користувачі встановити шрифти за замовчуванням у Safari?

Відповіді:


2

Станом на Safari 12 всі варіанти для цього були вилучені:

  • Панель зовнішнього вигляду (давно) пішла
  • Ці defaultsключі не більше і не поважають
  • @font-faceВизначення CSS обмежуються вбудованим білим списком local()значень, ігноруючи будь-які інші шрифти, встановлені в системі, що є частиною широкого пакету заходів проти відбитків пальців.

У сукупності це означає, що немає способу змінити параметри за замовчуванням далеко від Times for serif, Helvetica для sans-serifта Courier for monospace.


Єдине, що ви все ще можете зробити - це створити таблицю стилів користувача, щоб безпосередньо стилювати різні елементи. Так, наприклад, ви можете змінити сімейство шрифтів за замовчуванням з serifна sans-serif:

body { font-family: sans-serif }

Або ви навіть можете назвати конкретні локально встановлені несистемні шрифти:

body { font-family: 'Open Sans' }

На жаль, хоча це працює досить добре для зміни шрифту документа за замовчуванням, складним є використання одного і того ж підходу для рестайлінгу кожного елемента, який за замовчуванням відповідає шрифтові монопростору. Я не впевнений, що CSS взагалі може повністю імітувати поведінку за замовчуванням для таких елементів - тоді як раніше це було легко зробити, використовуючи один defaultsабо таблицю стилів користувача з @font-faceправилом monospace(яке просто переосмислив, що monospaceозначало, не торкаючись самого стилю за замовчуванням, і так дозволила поведінка за замовчуванням застосовуватися до цього іншого шрифту).

Мені явно не подобається читати велику кількість тексту, встановленого в кур'єрі, тому, схоже, у майбутньому мені доведеться використовувати інший браузер для читання RFC ...


Дякую за оновлення, Арістотель. Хоча відповідь Лрі була дуже хорошою, вона не постаріла, тому я переніс перевірку на вашу відповідь, щоб направити майбутніх відвідувачів на найактуальнішу інформацію.
Карл Сміт

Дякую. Так, я використовував відповідь Лрі роками; на жаль, музика зараз припинилася. Це, найменше, шкода, але так воно і є.
Арістотель Пагалціс

12

Наступна інформація була правильною при її опублікуванні, але тепер стосується лише застарілих версій Safari.


Існують невизначені налаштування для зміни шрифтів та розмірів шрифтів за замовчуванням:

defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14

Інший варіант - відредагувати файл CSS, який визначає стилі за замовчуванням (дивіться у розділі Налаштування> Додатково> Таблиця стилів ), додаючи щось подібне, наприклад:

@font-face {
   font-family: monospace;
   src: local('Menlo');
}

Це правило змушує будь-який елемент, який використовує font-family: monospace(а також такі елементи, як <pre>і <code>за замовчуванням), використовувати Менло. Просто змініть назву шрифту (будьте обережні, щоб зберегти додані лапки) на те, що вам більше подобається.


1
Раптом, він не працює для додаткових шрифтів, встановлених через Font Book on Mojave (10.14.2)
Ілля

Дивіться нову відповідь Аристотеля Пагальциса (вище). Це не чудова новина.
Карл Сміт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.