Gibt es eine Möglichkeit, die * Standard * Monospace-Schriftart in Safari festzulegen?

11

Ich habe eine Webanwendung, die die Standard-Monospace-Schriftart des Browsers verwendet. Es ist so eingerichtet, dass der Benutzer seine eigenen auswählen kann. In Chrome funktioniert dies gut, da die Standardschriftarten einfach festgelegt werden können. In Safari wurde die Option jedoch entfernt.

Gibt es eine Möglichkeit für Benutzer, Standardschriftarten in Safari festzulegen?

Carl Smith
quelle

Antworten:

2

Ab Safari 12 wurden alle Optionen dafür entfernt:

  • Das Erscheinungsbild-Bedienfeld ist (lange) weg
  • Die defaultsSchlüssel werden nicht mehr respektiert
  • CSS- @font-faceDefinitionen beschränken sich auf eine integrierte Whitelist mit local()Werten, wobei alle anderen auf dem System installierten Schriftarten ignoriert werden, die Teil eines umfassenden Pakets von Maßnahmen gegen Fingerabdrücke sind

Zusammengenommen bedeutet dies, dass es keine Möglichkeit gibt, die Standardeinstellungen von Times for serif, Helvetica for sans-serifund Courier for zu ändern monospace.


Sie können nur noch ein Benutzer-Stylesheet erstellen, um verschiedene Elemente direkt zu formatieren. So können Sie beispielsweise die Standardschriftfamilie von ändern serifin sans-serif:

body { font-family: sans-serif }

Oder Sie können sogar bestimmte lokal installierte Nicht-System-Schriftarten benennen:

body { font-family: 'Open Sans' }

Obwohl dies zum Ändern der Standard-Dokumentschriftart recht gut funktioniert, ist es leider kompliziert, denselben Ansatz zu verwenden, um jedes Element neu zu formatieren, das standardmäßig eine Monospace-Schriftart verwendet. Ich bin mir nicht sicher, ob CSS das Standardverhalten für solche Elemente überhaupt vollständig emulieren kann - während dies bisher einfach war, indem entweder defaultsoder ein Benutzer-Stylesheet mit einer @font-faceRegel für verwendet wurde monospace(die einfach neu definierte, was monospacebedeutete, ohne das Standard-Styling selbst zu berühren). und erlaubte so, dass das Standardverhalten auf diese andere Schriftart angewendet wurde).

Ich mag es nicht, große Mengen an Text zu lesen, die in Courier festgelegt wurden. Es sieht also so aus, als müsste ich in Zukunft einen anderen Browser verwenden, um RFCs zu lesen .

Aristoteles Pagaltzis
quelle
Danke für das Update, Aristoteles. Obwohl die Antwort von Lri sehr gut war, ist sie nicht gut gealtert. Deshalb habe ich den Scheck auf Ihre Antwort verschoben, um zukünftige Besucher auf die aktuellsten Informationen zu leiten.
Carl Smith
Vielen Dank. Ja, ich habe jahrelang Lris Antwort verwendet. Leider hat die Musik jetzt aufgehört. Es ist… gelinde gesagt bedauerlich, aber so ist es.
Aristoteles Pagaltzis
12

Die folgenden Informationen waren korrekt, als sie veröffentlicht wurden, gelten jedoch nur für veraltete Versionen von Safari.


Es gibt nicht belichtete Einstellungen zum Ändern der Standardschriftarten und Schriftgrößen:

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

Eine andere Möglichkeit besteht darin, die CSS-Datei zu bearbeiten, in der die Standardstile definiert sind (siehe Einstellungen> Erweitert> Stylesheet ), und Folgendes hinzuzufügen, z. B.:

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

Nach dieser Regel verwendet jedes Element, das Menlo verwendet font-family: monospace(sowie Elemente wie <pre>und <code>standardmäßig), Menlo. Ändern Sie einfach den Schriftnamen (achten Sie darauf, die Anführungszeichen beizubehalten) nach Ihren Wünschen.

Lri
quelle
1
Plötzlich funktioniert es nicht mehr für zusätzliche Schriftarten, die über Font Book on Mojave (10.14.2) installiert wurden
Ilya Vassilevsky
Siehe Aristoteles Pagaltzis neue Antwort (oben). Es sind keine guten Nachrichten.
Carl Smith