13 votes

Existe-t-il un moyen de définir la police monospace *par défaut* dans Safari ?

J'ai une application Web qui utilise la police monospace par défaut du navigateur. Elle est configurée de cette manière pour que l'utilisateur puisse choisir la sienne. Dans Chrome, cela fonctionne bien, car il est facile de définir les polices par défaut, mais dans Safari, l'option a été supprimée.

Existe-t-il un moyen pour les utilisateurs de définir des polices par défaut dans Safari ?

15voto

Les informations suivantes étaient correctes lorsqu'elles ont été publiées, mais elles ne s'appliquent désormais qu'aux versions obsolètes de Safari.


Il existe des préférences non exposées permettant de modifier les polices et les tailles de police par défaut :

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

Une autre option consiste à modifier le fichier CSS qui définit les styles par défaut (cherchez dans Préférences > Avancé > Feuille de style ), en ajoutant quelque chose comme ceci, par exemple :

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

Cette règle fait que tout élément qui utilise font-family: monospace (ainsi que des éléments comme <pre> y <code> par défaut) utilisent Menlo. Il suffit de modifier le nom de la police (en veillant à conserver les guillemets) en fonction de vos préférences.

10voto

Aristotle Pagaltzis Points 278

Depuis Safari 12, toutes les options permettant de le faire ont été supprimées :

  • Le panneau "Apparence" a (depuis longtemps) disparu.
  • Le site defaults les clés ne sont plus respectées
  • CSS @font-face sont limitées à une liste blanche intégrée de local() en ignorant toutes les autres polices installées sur le système, ce qui fait partie d'un vaste ensemble de mesures de lutte contre les empreintes digitales.

Dans l'ensemble, cela signifie qu'il n'y a aucun moyen de modifier les valeurs par défaut, à l'exception de Times, pour les produits suivants serif Helvetica pour sans-serif et Courier pour monospace .


La seule chose que vous pouvez encore faire est de créer une feuille de style utilisateur pour styliser directement divers éléments. Ainsi, par exemple, vous pouvez changer la famille de polices par défaut de serif à sans-serif :

body { font-family: sans-serif }

Vous pouvez également nommer des polices spécifiques installées localement et non liées au système :

body { font-family: 'Open Sans' }

Malheureusement, si cela fonctionne raisonnablement bien pour modifier la police par défaut du document, il est compliqué d'utiliser la même approche pour remodeler chaque élément qui utilise par défaut une police monospace. Je ne suis pas sûr que CSS puisse même émuler complètement le comportement par défaut de ces éléments - alors qu'il était auparavant facile de le faire en utilisant l'une des deux méthodes suivantes defaults ou une feuille de style utilisateur avec un @font-face règle pour monospace (qui a simplement redéfini ce que monospace sans toucher au style par défaut lui-même, ce qui permet au comportement par défaut de s'appliquer à cette autre police).

Je n'aime pas viscéralement lire de grandes quantités de texte en Courier, il semble donc qu'à l'avenir, je devrai utiliser un autre navigateur pour lire RFCs

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X