W3docs

Propiedad CSS font-language-override

La propiedad CSS font-language-override permite especificar el sistema de idioma de la fuente. Consulta los valores y prueba ejemplos.

La propiedad CSS font-language-override controla qué conjunto de glifos específicos de un idioma utiliza una fuente. Muchas fuentes incluyen formas alternativas de glifos que son correctas para un idioma pero incorrectas para otro — el mismo carácter Unicode puede dibujarse de manera diferente en texto turco, danés o rumano. Esta propiedad te permite indicar al motor de fuentes qué reglas tipográficas de un idioma aplicar, independientemente del idioma real del documento.

Esta página explica qué hace la propiedad, cuándo resulta útil, los valores que acepta y en qué se diferencia del atributo lang de HTML.

Qué hace

Las fuentes OpenType modernas contienen una función locl (formas localizadas): una tabla que sustituye los glifos apropiados para cada idioma según el idioma con el que está etiquetado el texto. Normalmente, el navegador obtiene el idioma del atributo lang de HTML y lo pasa a la fuente, que luego selecciona los glifos correspondientes.

font-language-override te permite anular esa selección automática. En lugar de confiar en el atributo lang, le pasas a la fuente una etiqueta de sistema de idioma OpenType explícita. Esto resulta útil en dos situaciones:

  • La fuente tiene los glifos correctos pero la etiqueta incorrecta. Algunas fuentes solo exponen sus formas localizadas bajo una etiqueta de idioma específica (por ejemplo, una ș con coma inferior rumana puede aparecer únicamente bajo la etiqueta moldava). Definir font-language-override activa esa característica.
  • Quieres las reglas tipográficas de otro idioma. Cuando una tipografía carece de reglas adecuadas para el idioma del documento, puedes tomar prestados los glifos de un idioma relacionado que siga convenciones similares.

Nota: font-language-override solo cambia la selección de glifos. No cambia el idioma para la corrección ortográfica, la separación silábica ni los lectores de pantalla — esas funciones siguen dependiendo del atributo lang, que siempre debes configurar correctamente.

Valor inicialnormal
Se aplica aTodos los elementos. También se aplica a ::first-letter y ::first-line.
Se heredaSí.
AnimableDiscreto.
VersiónCSS3
Sintaxis DOMobject.style.fontLanguageOverride = "normal";

Sintaxis

font-language-override: normal | <string>;

El <string> es una etiqueta de sistema de idioma OpenType entre comillas (por ejemplo, "ENG" para inglés, "DAN" para danés, "TRK" para turco). Estas etiquetas provienen de la especificación OpenType y suelen ser tres letras mayúsculas — no son los mismos que los códigos BCP 47 de dos letras utilizados por el atributo lang. Si el string no coincide con ningún sistema de idioma que la fuente admita, la declaración no tendrá ningún efecto visible.

Ejemplo

El siguiente ejemplo muestra la propiedad en acción. El primer párrafo mantiene el comportamiento predeterminado (normal), el segundo fuerza la selección de glifos daneses.

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document </title>
    <style>
      .example1 {
        font-language-override: normal;
      }
      .example2 {
        font-language-override: "da";
      }
    </style>
  </head>
  <body>
    <h2>Font-language-override property example</h2>
    <p class="example1">Default language setting.</p>
    <p class="example2">Here the font-language-override is set to Danish.</p>
  </body>
</html>

Dado que la mayoría de las fuentes del sistema solo incluyen formas localizadas para un puñado de idiomas, a menudo no verás ningún cambio en el texto renderizado — el efecto es visible únicamente cuando la fuente activa contiene glifos alternativos para el idioma etiquetado.

Valores

ValorDescripción
normalIndica al navegador que use los glifos de la fuente apropiados para el idioma especificado por el atributo lang. Este es el valor predeterminado.
<string>Una etiqueta de sistema de idioma OpenType entre comillas. Indica al navegador que use los glifos de la fuente asociados con ese sistema de idioma en lugar del derivado de lang.

Compatibilidad con navegadores y notas

  • La compatibilidad es limitada: históricamente, esta propiedad solo ha funcionado en Firefox. La mayoría de los navegadores basados en Chromium y WebKit la ignoran, por lo que no debes depender de ella como único mecanismo para una tipografía localizada correcta.
  • La forma confiable y compatible con todos los navegadores de obtener glifos específicos de un idioma es configurar correctamente el atributo lang en tu HTML. Recurre a font-language-override únicamente como corrección puntual cuando una fuente específica etiqueta sus glifos de forma no estándar.
  • Para un control más detallado sobre las características individuales de OpenType, consulta font-feature-settings; para abreviaciones de nivel superior, consulta font-variant y font-family.

Práctica

Práctica
¿Cuál es el propósito de la propiedad 'font-language-override' en CSS?
¿Cuál es el propósito de la propiedad 'font-language-override' en CSS?
Was this page helpful?