(LyX/XeTeX) Distintas fuentes para distintos tamaños

Dado que lo dejé como tema pendiente en un artículo anterior y como anticipo a la próxima edición de LYX, la otra forma de escribir, hoy te explico (digo, copio y pego de la explicación que saldrá en el libro) cómo construir una fuente virtual que simule tamaños ópticos en XƎTEX.


Supón que tienes un documento configurado con tamaño de fuente de 10 pts. Por defecto, el tamaño de fuente utilizado para las notas al pie de página será de 8 pts. Ahora bien, al reducir una fuente se reduce también cuán grueso es su trazado, resultando en un texto que parece más claro que el del cuerpo del texto. Para resolver este problema algunas fuentes vienen con «tamaños ópticos», versiones específicamente diseñadas para los distintos tamaños. Fuentes de este tipo son Latin Modern, TeX Gyre, etcétera. XƎTEX soporta este tipo de fuentes, eligiendo automáticamente el tamaño apropiado en cada caso, lo cual está muy bien… El problema es que son pocas las fuentes que nos dan esta opción.

A no desesperar. Si bien fuentes con tamaños ópticos son pocas, fuentes con muchas variantes del peso ya son más.

Vayamos al ejemplo. EB Garamond en su anterior encarnación ofrecía una fuente pensada para 12 pts y otra pensada para 8 pts., lo cual está muy bien, pero no venía con negrita o negrita cursiva. Octavio Pardo mejoró la fuente agregando no solo la negrita, sino también una mediana, una seminegrita y una extranegrita, todas con sus correspondientes cursivas, lo cual está magnífico, pero ya no da la versión pensada para 8 pts., la forma «regular» está basada en la vieja fuente para 12 pts. y no hay más.

Ahora bien, resulta que la versión mediana de la nueva EB Garamond tiene el mismo «color» —anchura del trazo— que la antigua versión para 8 pts., por lo que podrías preguntarte, como he hecho al construir este documento, ¿es posible decidir qué fuente utilizar para cada rango de tamaños?

¡Por supuesto! (EDITO: pequeña corrección en el código)

\setmainfont{EB Garamond}[
   Mapping=tex-text,	
   RawFeature={+ss06},	
UprightFont = EB Garamond Regular,
BoldFont = EB Garamond SemiBold,
ItalicFont = EB Garamond Italic,
BoldItalicFont = EB Garamond SemiBold Italic,
UprightFeatures = { SizeFeatures = {
        {Size = {-10},  Font = EB Garamond Medium},
        {Size = {10-},   Font = EB Garamond}}},
BoldFeatures = { SizeFeatures = { 
        {Size = {-10},  Font = EB Garamond Bold},
        {Size = {10-},   Font = EB Garamond 
                                SemiBold}}},
ItalicFeatures = { SizeFeatures = { 
        {Size = {-10},  Font = EB Garamond Medium 
                                Italic},
        {Size = {10-},   Font = EB Garamond Italic}}},
BoldItalicFeatures = { SizeFeatures = { 
        {Size = {-10},  Font = EB Garamond Bold 
                                Italic},
        {Size = {10-},   Font = EB Garamond SemiBold 
                                Italic}}},
]

En el ejemplo de código —a esta altura, ya sabes dónde escribirlo—, luego de decir qué fuente utilizar para cada forma decido cuál utilizar para los distintos rangos de tamaño: hasta 10 pts y a partir de 10 pts.

Si quieres hilar más fino, siempre puedes utilizar un rango intermedio, por ejemplo de 10 a 14, diciendo Size = {10-14}.

El rango incluye el valor inicial, pero no así el final. Matemáticamente, si x es el tamaño, tendríamos 10 \leq x < 14 (sección 6 del manual de fontspec).

Aquí puedes dejar un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.