Saltar al contenido principal

FontWeight también controla el atributo de peso (weight) de las fuentes variables

Los valores de FontWeight aplicados a los estilos de texto ahora establecerán el atributo de peso (weight) de las fuentes variables.

Resumen

#

Un FontWeight en un estilo de texto también establecerá el atributo de peso (weight) de las fuentes variables. Ya no es necesario usar por separado FontVariation para controlar el peso de estas fuentes.

Contexto

#

Los estilos de texto pueden especificar un valor de FontWeight que configura el grosor de los trazos utilizados para pintar el texto. FontWeight seleccionará el peso más cercano entre un conjunto de archivos de fuentes pertenecientes a la misma familia.

Sin embargo, algunas fuentes se distribuyen como fuentes variables donde un solo archivo de fuente permite el ajuste de atributos como el peso. Para fuentes variables, las aplicaciones también tenían que usar la API FontVariation para establecer el valor del eje de variación de peso dentro del archivo de fuente seleccionado.

Flutter ahora ha cambiado el comportamiento de FontWeight para que tanto seleccione el archivo de fuente coincidente más cercano como establezca el atributo de peso de las fuentes variables.

Descripción del cambio

#

Establecer la propiedad fontWeight de objetos como TextStyle ahora también establecerá el valor del eje de variación wght de las fuentes que lo soporten. Flutter aplicará internamente el equivalente a añadir un atributo FontVariation('wght') al estilo, cuyo valor es el mismo que el del FontWeight.

Las instancias de FontWeight ahora se pueden construir utilizando valores enteros arbitrarios que van del 1 al 1000. Esto permite el uso de pesos más allá del rango de FontWeight.w100 a FontWeight.w900 con valores que no son múltiplos de 100. Esto también significa que la interpolación lineal de fuentes usando FontWeight.lerp puede producir valores distintos de FontWeight.w100 a w900.

La propiedad FontWeight.index ahora está obsoleta porque solo identifica los pesos de FontWeight.w100 a w900. Las aplicaciones deben usar FontWeight.value para obtener el nivel de grosor de una fuente.

Guía de migración

#

Las aplicaciones pueden ver cambios en la representación del texto si usaban fuentes variables y especificaban FontWeight en los estilos de texto sin un valor coincidente de FontVariation('wght').

Si estos cambios no son deseables, entonces la aplicación debe cambiar el FontWeight a un valor que logre la representación prevista. Por ejemplo, para restaurar el peso predeterminado de la fuente, establece fontWeight a FontWeight.normal.

Timeline

#

Introducido en la versión: 3.39.0-0.0.pre
En el lanzamiento estable: 3.41

Referencias

#

Documentación de la API:

Problema relevante:

PR relevante: