2012-09-01 7 views
5

Los navegadores Gecko y Webkit admiten la representación de ligaduras de ff fi flfl a través de text-rendering: optimizeLegibility (la fuente debe tener ligaduras, por ejemplo, Calibri).¿El tamaño de fuente afecta la representación de ligaduras?

MDN page dice que solo el texto de tamaño 20px y superior obtendrá ligaduras. De acuerdo con my own research esto no es verdad:

  • Firefox renderizará las ligaduras por defecto;
  • Chrome (& Safari) renderizará ligaduras si especifica text-rendering: optimizeLegibility;
  • Ambos motores parecen no tener en cuenta el tamaño de fuente.

¿Falta algo aquí? ¿O es solo un error (¿desactualizado?) En la página de MDN y deberíamos solucionarlo.

[editar] Lectura adicional: “A Closer Look At Font Rendering” de Smashing Magazine.

Respuesta

4

Firefox admite una preferencia browser.display.auto_quality_min_font_size que le permite ajustar el valor que utiliza para decidir si elige la ruta de representación de la fuente. Sin embargo, la única parte del código que aún se respeta en las versiones actuales de Firefox es Windows XP, donde los tamaños de fuente pequeños o text-rendering: optimizeSpeed explícitos se mostrarán con GDI en lugar de Uniscribe.

Tenga en cuenta que Thunderbird establece el valor de esa preferencia en cero por algún motivo.

2

En realidad, la página MDN dice que el texto de 20px o superior obtendrá ligaduras en ambos sentidos, con optimizeLegibility anulando eso.

De manera más general, el valor de usar ligaduras o no (y otros factores que afectan la legibilidad, como un kerning particular entre dos glifos) varía no solo con el tamaño, sino también desde la fuente hasta la fuente. No me sorprendería encontrar esto cambiando rápidamente con las versiones. Ciertamente, la tecnología subyacente no se detiene.

2

Su análisis es correcto. Algunas observaciones adicionales:

Al parecer, la propiedad font-variant-ligatures descrita en CSS3 Fonts no se ha implementado. En su lugar, Firefox implementa la propiedad de bajo nivel font-feature-settings, con el prefijo -moz-, por lo que en realidad se puede prevenir Firefox desde ligaduras que aplican mediante el establecimiento de

-moz-font-feature-settings: 'liga' 0 

sobre un elemento.

Si desea evitar ligaduras en casos específicos, puede insertar ZERO-WIDTH NON-JOINER (ZWNJ) entre caracteres que de lo contrario podrían ligarse, p. Ej. f‌i en lugar de fi.

Cuestiones relacionadas