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). Definirfont-language-overrideactiva 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-overridesolo 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 atributolang, que siempre debes configurar correctamente.
| Valor inicial | normal |
|---|---|
| Se aplica a | Todos los elementos. También se aplica a ::first-letter y ::first-line. |
| Se hereda | Sí. |
| Animable | Discreto. |
| Versión | CSS3 |
| Sintaxis DOM | object.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
| Valor | Descripción |
|---|---|
normal | Indica 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
langen tu HTML. Recurre afont-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, consultafont-variantyfont-family.