
Executando xelatex
(ou lualatex
) na entrada
\documentclass{standalone}
\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{texgyretermes-math.otf}
\begin{document}
\(\{f\}\)
\end{document}
deveria produzir alguma forma de
{f}
na camada de texto do PDF. Mas produz
{f}
com um espaço entre f e }. Este espaço não deveria estar lá. Como se livrar disso?
Quanto à saída visível, aqui está:
Como você pode ver, a chave esquerda ef se sobrepõem no PDF. No entanto, quando você abre a fonte com o fontforge e coloca a chave esquerda com o florim na janela de métricas, elas não se sobrepõem! A saída é inconsistente. o que estou perdendo? Como aumentar o kerning corretamente de uma vez por todas para as ocorrências de "{f" no meu enorme documento (que não é um MWE)? Tenteimelhorar a fonte sozinho(os desenvolvedores não reagiram a solicitações semelhantes no passado), mas não levou a lugar nenhum até agora...
Responder1
O espaço na "camada de texto" do PDF é inserido por uma heurística do seu visualizador de PDF porque existe alguma distância entre o f
e o }
. A longo prazo, os arquivos PDF marcados devem resolver esse problema, mas especialmente para fórmulas matemáticas, eu não aguentaria minha amplitude. Portanto, no curto prazo, você especifica textos de substituição para cada fórmula matemática usando, por exemplo, repltext
ou convive com esse espaço.
Em relação à "inconsistência" no FontForge: O sinal florim (U+0192) e a letra minúscula f em itálico matemático (U+1D453) não são o mesmo glifo. Comparar ambos no FontForge mostra a mesma aparência do TeX:
(Matemático Itálico Pequeno F primeiro, florim segundo)
Mas geralmente eu não recomendaria a janela métrica do FontForge para saída de Math, porque Math não é formatado da mesma maneira que o texto normal. Especialmente o "kerning clássico" como neste caso não existe realmente, porque {
e f
são objetos separados e não fazem parte de uma palavra.
Claro, se você preferir o sinal de florim ao invés do f matemático, você pode usar
\Umathcode`\f 7 0 "192
depois \begin{document}
disso, o LaTeX insere o sinal de florim em vez de U+1D453 no modo matemático para um "f". Uma desvantagem é que a camada de texto também conterá o sinal de florim. Você também pode modificar U+1D453
diretamente no FontForge.