Capa de texto errónea. Falta de coincidencia entre el kerning en fontforge y en {xe|lua}latex

Capa de texto errónea. Falta de coincidencia entre el kerning en fontforge y en {xe|lua}latex

Ejecutando xelatex(o lualatex) en la entrada

\documentclass{standalone}
\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{texgyretermes-math.otf}
\begin{document}
\(\{f\}\)
\end{document}

debería producir alguna forma de

{F}

en la capa de texto del PDF. Pero produce

{f}

con un espacio entre f y }. Este espacio no debería estar ahí. Cómo deshacerse de él?

En cuanto al resultado visible, aquí está:

ingrese la descripción de la imagen aquí

Como puede ver, la llave izquierda y f se superponen en el PDF. Sin embargo, cuando abres la fuente con fontforge y colocas la llave izquierda con el florín en la ventana de métricas, ¡no se superponen! La salida es inconsistente. ¿Qué me estoy perdiendo? Cómo aumentar el kerning correctamente de una vez por todas para las apariciones de "{F" en mi documento enorme (que no es un MWE)? Intentémejorar la fuente yo mismo(los desarrolladores no reaccionaron a solicitudes similares en el pasado), pero hasta ahora no ha llevado a ninguna parte...

Respuesta1

El espacio en la "capa de texto" del PDF se inserta mediante una heurística de su visor de PDF porque hay cierta distancia entre el fy el }. A largo plazo, los archivos PDF etiquetados deberían resolver ese problema, pero especialmente para las fórmulas matemáticas, no mantendría mi amplitud. Entonces, a corto plazo, o especificas textos de reemplazo para cada fórmula matemática usando, por ejemplo, repltexto vives con este espacio.

Con respecto a la "inconsistencia" en FontForge: El signo de florín (U+0192) y la letra matemática cursiva minúscula f (U+1D453) no son el mismo glifo. Comparando ambos en FontForge se muestra la misma apariencia que en TeX:

(Matemática cursiva pequeña F primero, florín segundo)

ingrese la descripción de la imagen aquí

Pero en general no recomendaría la ventana métrica de FontForge para la salida de Matemáticas, porque Matemáticas no tiene el mismo formato que el texto normal. Especialmente el "kerning clásico" como en este caso realmente no existe, porque {y fson objetos separados y no forman parte de una palabra.

Por supuesto, si prefiere el signo de florín a la f matemática, puede utilizar

\Umathcode`\f 7 0 "192

después de \begin{document}eso, LaTeX inserta el signo de florín en lugar de U+1D453 en modo matemático para una "f". Una desventaja es que la capa de texto también contendrá el signo de florín. También puedes modificarlo U+1D453directamente en FontForge.

información relacionada