¿Hay alguna manera de configurar la fuente * predeterminada * monospace en Safari?


11

Tengo una aplicación web que usa la fuente monoespacio predeterminada del navegador. Está configurado de esa manera para que el usuario pueda elegir el suyo. En Chrome, esto funciona bien, ya que es fácil configurar las fuentes predeterminadas, pero en Safari, eliminaron la opción.

¿Hay alguna forma para que los usuarios establezcan fuentes predeterminadas en Safari?

Respuestas:


2

A partir de Safari 12, se han eliminado todas las opciones para hacerlo:

  • El panel Apariencia ha desaparecido (hace mucho tiempo)
  • Las defaultsclaves ya no se respetan
  • Las @font-facedefiniciones de CSS están limitadas a una lista blanca de local()valores incorporada , ignorando cualquier otra fuente instalada en el sistema, que es parte de un amplio paquete de medidas anti-huellas digitales

En conjunto, esto significa que no hay forma de cambiar los valores predeterminados de Times for serif, Helvetica for sans-serify Courier for monospace.


Lo único que puede hacer es crear una hoja de estilo de usuario para diseñar varios elementos directamente. Entonces, por ejemplo, puede cambiar la familia de fuentes predeterminada de serifa sans-serif:

body { font-family: sans-serif }

O incluso puede nombrar fuentes específicas que no sean del sistema instaladas localmente:

body { font-family: 'Open Sans' }

Desafortunadamente, si bien esto funciona razonablemente bien para cambiar la fuente predeterminada del documento, es complicado usar el mismo enfoque para rediseñar cada elemento que se predetermina a una fuente monoespaciada. No estoy seguro de CSS puede emular incluso totalmente el comportamiento predeterminado de tales elementos en absoluto - mientras que antes era fácil hacerlo utilizando cualquiera defaultso una hoja de estilo de usuario con una @font-faceregla para monospace(que simplemente redefinió lo que monospacequería decir, sin tocar el defecto peinado en sí, y permitió que el comportamiento predeterminado se aplicara a esa otra fuente).

Visceralmente no me gusta leer grandes cantidades de texto en Courier, por lo que parece que en el futuro tendré que usar otro navegador para leer RFC ...


Gracias por la actualización, Aristóteles. Aunque la respuesta de Lri fue muy buena, no ha envejecido bien, por lo que he trasladado el cheque a su respuesta para dirigir a los futuros visitantes a la información más actualizada.
Carl Smith

Gracias. Sí, usé la respuesta de Lri durante años; desafortunadamente, la música ahora se ha detenido. Es ... lamentable, por decir lo menos, pero así es como es.
Aristóteles Pagaltzis

12

La siguiente información era correcta cuando se publicó, pero ahora solo se aplica a versiones obsoletas de Safari.


Hay preferencias no expuestas para cambiar las fuentes y los tamaños de fuente predeterminados:

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

Otra opción es editar el archivo CSS que define los estilos predeterminados (busque en Preferencias> Avanzado> Hoja de estilo ), agregando algo como esto, por ejemplo:

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

Esa regla hace que cualquier elemento que use font-family: monospace(así como elementos como <pre>y <code>por defecto) use Menlo. Simplemente cambie el nombre de la fuente (teniendo cuidado de mantener las comillas) a lo que prefiera.


1
De repente, no funciona para fuentes adicionales instaladas a través de Font Book en Mojave (10.14.2)
Ilya Vassilevsky

Ver la nueva respuesta de Aristóteles Pagaltzis (arriba). No son buenas noticias.
Carl Smith
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.