Apakah ada cara untuk mengatur font monospace * default * di Safari?

11

Saya memiliki aplikasi web yang menggunakan font monospace default browser. Ini diatur sedemikian rupa sehingga pengguna dapat memilih sendiri. Di Chrome, ini berfungsi dengan baik, karena mudah untuk mengatur font default, tetapi di Safari, mereka menghapus opsi.

Apakah ada cara bagi pengguna untuk mengatur font default di Safari?

Carl Smith
sumber

Jawaban:

2

Pada Safari 12, semua opsi untuk melakukannya telah dihapus:

  • Panel Penampilan sudah (lama) hilang
  • The defaultskunci tidak lagi dihormati
  • @font-faceDefinisi CSS terbatas pada daftar putih local()nilai bawaan, mengabaikan font lain yang diinstal pada sistem, yang merupakan bagian dari paket luas langkah-langkah anti-sidik jari

Secara keseluruhan, ini berarti tidak ada cara untuk mengubah default dari Times for serif, Helvetica for sans-serif, dan Courier for monospace.


Satu-satunya hal yang masih bisa Anda lakukan adalah membuat stylesheet pengguna untuk menata berbagai elemen secara langsung. Jadi misalnya Anda dapat mengubah keluarga font default dari serifmenjadi sans-serif:

body { font-family: sans-serif }

Atau Anda bahkan dapat memberi nama font non-sistem khusus yang diinstal secara lokal:

body { font-family: 'Open Sans' }

Sayangnya sementara ini bekerja cukup baik untuk mengubah font dokumen default, sulit untuk menggunakan pendekatan yang sama untuk mengatur ulang setiap elemen yang default ke font monospace. Saya tidak yakin CSS bahkan dapat sepenuhnya meniru perilaku default untuk elemen-elemen seperti itu sama sekali - padahal sebelumnya mudah untuk melakukannya dengan menggunakan salah satu defaultsatau stylesheet pengguna dengan @font-faceaturan untuk monospace(yang hanya mendefinisikan ulang apa yang monospacedimaksud tanpa menyentuh styling standar itu sendiri, dan mengizinkan perilaku default untuk diterapkan ke font lain itu).

Saya sangat tidak suka membaca sejumlah besar teks yang diatur dalam Courier, jadi sepertinya di masa depan saya harus menggunakan browser lain untuk membaca RFC

Aristoteles Pagaltzis
sumber
Terima kasih atas pembaruannya, Aristoteles. Meskipun jawaban Lri sangat bagus, jawaban itu belum menua dengan baik, jadi saya telah memindahkan cek ke jawaban Anda untuk mengarahkan pengunjung masa depan ke informasi terbaru.
Carl Smith
Terima kasih. Ya, saya menggunakan jawaban Lri selama bertahun-tahun; sayangnya, musiknya telah berhenti. Sangat disesalkan, untuk sedikitnya, tapi memang begitu.
Aristoteles Pagaltzis
12

Informasi berikut ini benar ketika diposting, tetapi sekarang hanya berlaku untuk Safari versi usang.


Ada preferensi yang tidak terpapar untuk mengubah font dan ukuran font default:

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

Pilihan lain adalah mengedit file CSS yang mendefinisikan gaya default (lihat di Preferences> Advanced> Stylesheet ), tambahkan sesuatu seperti ini, misalnya:

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

Aturan itu membuat setiap elemen yang menggunakan font-family: monospace(dan juga elemen seperti <pre>dan <code>secara default) menggunakan Menlo. Cukup ganti nama font (berhati-hati agar kutipan terlampir) sesuai keinginan Anda.

Lri
sumber
1
Tiba-tiba, itu tidak berfungsi untuk font tambahan yang diinstal melalui Font Book on Mojave (10.14.2)
Ilya Vassilevsky
Lihat Aristoteles Pagaltzis jawaban baru (di atas). Itu bukan berita bagus.
Carl Smith