テキスト レイヤーに誤りがあります。FontForge と {xe|lua}latex のカーニングが一致しません。

テキスト レイヤーに誤りがあります。FontForge と {xe|lua}latex のカーニングが一致しません。

入力に対してxelatex(または)を実行するlualatex

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

何らかの形で

{f}

PDFのテキストレイヤーに。しかし、それは

{f}

f と } の間にスペースがあります。このスペースはあってはいけません。どうすれば取り除けますか?

目に見える出力は次のとおりです。

ここに画像の説明を入力してください

ご覧のとおり、左中括弧と f は PDF で重なっています。ただし、フォントを FontForge で開き、左中括弧とフローリンをメトリック ウィンドウに配置すると、重なり合うことはありません。出力に一貫性がありません。何が足りないのでしょうか? "{「私の巨大な文書(MWEではない)で?私は自分でフォントを改良する(開発者は過去に同様のリクエストには反応しませんでした) が、これまでのところ何も進展していません...

答え1

PDF の「テキスト レイヤー」のスペースは、 と の間に距離があるため、PDF ビューアのヒューリスティックによって挿入されます。f長期}的には、タグ付き PDF ファイルでその問題は解決されるはずですが、特に数式については我慢できません。したがって、短期的には、たとえば を使用してすべての数式に置換テキストを指定するかrepltext、このスペースをそのまま使用することになります。

FontForge の「不一致」について: フローリン記号 (U+0192) と数学のイタリック小文字 f (U+1D453) は同じグリフではありません。FontForge で両方を比較すると、TeX と同じ外観になります。

(数学用イタリック体の小文字の F が最初、フローリンが 2 番目)

ここに画像の説明を入力してください

しかし、一般的に、私は Math 出力に FontForge のメトリック ウィンドウを推奨しません。これは、Math が通常のテキストと同じ方法でフォーマットされないためです。特に、この場合のような「古典的なカーニング」は実際には存在しません。なぜなら、{と はf別々のオブジェクトであり、単語の一部でもないからです。

もちろん、数学的なfよりもフローリン記号を好む場合は、

\Umathcode`\f 7 0 "192

こうすると\begin{document}、LaTeX は数式モードで "f" の代わりに U+1D453 の代わりにフローリン記号を挿入します。欠点の 1 つは、テキスト レイヤーにもフローリン記号が含まれることです。FontForgeU+1D453で直接変更することもできます。

関連情報