承认混淆
显然我很困惑,当人们指出我缺乏理解时,我会尽我所能更新问题。
最终目标
我喜欢pdfLaTeX
用来创建文档的字体。我特别喜欢ftp://tug.ctan.org/pub/tex-archive/info/symbols/comprehensive/symbols-letter.pdf。
我不知道这些字体是如何创建的。但是,我希望将它们作为.ttf
(或其他一些易于在自己的应用程序中使用的格式)使用。
我听说 metafont 与此相关(据说它是一种生成字体的方法)。但是,正如指出的那样,metafont 是位图,而 ttf 是矢量。
问题
如何.ttf
为中使用的各种数学符号生成(或类似可用的东西)amsmath
?
更多可能混淆的地方
假设pdfLaTeX
可以生成一个.pdf
包含amsmath
符号的文件。我假设(也许我错了)一定有某种方法可以生成符号.ttf
的字体amsmath
。
谢谢!
答案1
可能需要通过评论来澄清一些事情。所以这里有一个答案,尽管它可能不会得到你想要的。如果有不清楚的地方,不要犹豫,请随时询问。
- 如今,元字体已很少使用。您看到的是 AMS 字体的一些 Type 1 变体。
- TeX(无论是 pdfTeX 还是其他)实际上并不生成字体。基本上,TeX 所知道的字体是字形的度量:例如,
x
或有多大A
,它们占据的宽度、高度和深度是多少。最后。TeX 看到的是很多框。 - 但是,每个框都有一个与之关联的输入编码。这样 TeX 就能知道“这个框是 A”之类的信息。当 TeX 生成输出 DVI 或 PDF(如果是 pdfTeX)时,它会通过输出编码将这些框映射到特定字体的字形。pdfTeX 会嵌入这些 Type1 字体。当 PDF 阅读器打开文件时,它会使用 PDF 文件中嵌入的字体和位置信息来绘制所有这些字形。
- 所以从始至终,TeX 并没有真正生成任何字体。有时,当真正使用 Metafont 时,今天的 TeX 可以自动调用外部程序
mf
等来生成位图字体,但 TeX 仍然只将字形视为方框。
上面的解释并不是 TeX 的确切工作原理。但它应该解释 TeX 如何看待字体。诸如编码之类的东西在不同的引擎之间有所不同。例如,LuaTeX 使用字体表来存储度量信息,并使用 Unicode 进行输入和输出。
所以结论是,pdfTeX 与生成字体几乎无关。
因此,我认为你的问题可以改写如下
如何将文件中使用的字体转换为 TTF 字体
- 查找字体。您很可能会发现许多 Type 1 PostScript 字体。您不会在 pdfTeX 生成的 PDF 文件中找到这些字体。(不完全是,有工具可以提取嵌入的字体)。您需要阅读源文件,查看使用了哪些字体,然后找到相应的 PostScript 字体。
- 使用字体编辑工具将这些 pfb 文件及其指标(afm 文件)转换为现代 OpenType 文件。免费工具包括 FontForge 和 Adobe Font Development Kit。后者正是为此目的而设计的:将旧的 Type 1 字体转换为新的 OpenType 字体。
另外,为什么你想要 TTF 而不是 OTF?大多数平台都可以使用 OTF。TTF 使用二次贝塞尔样条,而 OpenType能使用与 Type1 字体相同的三次贝塞尔样条线(所谓的 CFF 字体,OTF 的 PostScript 风格)。我自己没有做过任何实际的转换,但我认为将 Type1 转换为 CFF 比将 TTF 转换为 CFF 更自然。我猜你使用 Windows,TTF 在那里确实更常见。但最近的 Windows 也支持 OTF(显然没有 ClearType,它明确使用 TTF 提示)
最后,我希望我理解了你的想法。你是否认为因为 pdfTeX 可以生成可以被 Adobe Reader 等现代应用程序查看的 PDF 文件,所以它一定有办法生成当今应用程序中常用的现代格式字体?事实上,这只是 PDF 文件格式的一个特性,它允许字体嵌入。不仅 TTF,OpenType、Type1、Type3 甚至位图字体都可以嵌入到 PDF 文件中并被 PDF 阅读器查看。要做到这一点,pdfTeX 需要知道 1) 字体指标 2) 在哪里找到要嵌入的字体文件。
如果您最终想要的是能够在其他应用程序(例如 Word)中输入这些数学符号,那么您只需使用 OpenType 数学字体即可。免费提供的字体有 XITS-Math、Asana-Math、商业字体,包括 LucidaBr Math(售价 90 美元)和 Minion Math(全套大约 700 欧元,但我觉得值得)。此外,Cambria Math 随 Windows 和 Office 一起分发(适用于 Windows 和 Mac)。最后,计算机现代字体可以用 Latin Modern 替换,并且计算机现代数学符号可以在 Latin Modern Math 中找到。
答案2
如今,TeX 本身仍然不太依赖 True Type ( .ttf
) 或 Open Type ( .otf
) 字体,而主要使用 Type 1 字体(.afm
和.pfb
)。
话虽如此,看看文件夹<tex installation dir and possibly texmf-... subdir>/fonts
。你应该有一个truetype
和一个opentype
文件夹,每个文件夹都包含相应的字体文件(例如marvosym.ttf
,其中包含许多符号综合 LaTeX 符号列表)。如果您够勇敢,您可以尝试转换其他格式,如另一个答案中所建议的那样。