将 LaTeX 符号提取为字体

将 LaTeX 符号提取为字体

我希望将 Latex 数学符号用作矢量字体(例如 TrueType),同时将 Latex 符号名称映射到字体中的代码点。我该如何实现?

背景

为了进行研究,我需要访问所有 Latex(数学)符号的高质量图像。我已设置了一个工具链,它为我提供了这些图像;pdflatex 的符号转 PDF -> GhostScript 的 PDF 转 PNG -> NConvert 的 PNG 转裁剪 PNG。我在我的软件中使用这些图像。

然而,这有点倒退,因为 Latex 中的许多符号被定义为矢量形状。如果我可以直接访问这些矢量形状,我就可以减少内存占用,并以任意分辨率绘制符号。

答案1

TeX 中常用的所有字体均已提供可扩展的 type1 truetype 或 opentype 形式。

例如,您可以使用 opentype 字体(如 xits-math 或 latin-modern math),它将在单个可扩展字体中包含所有常见的 latex 和 ams 符号。

unicode-math 包具有适用于任何 opentype 数学字体的命令名称映射(请参阅

texmf-dist/tex/latex/unicode-math/unicode-math-table.tex

这是一个很长的列表,看起来像

...
\UnicodeMathSymbol{"02197}{\nearrow         }{\mathrel}{ne pointing arrow}%
\UnicodeMathSymbol{"02198}{\searrow         }{\mathrel}{se pointing arrow}%
\UnicodeMathSymbol{"02199}{\swarrow         }{\mathrel}{sw pointing arrow}%
...

它映射 Unicode 代码点、tex 命令名称、数学类和 Unicode 名称。

相关内容