![使用 autoinst 转换 Adobe Garamond Pro 后,pdfLaTeX 中只有 f_i 和 f_l 连字符可用](https://linux22.com/image/415463/%E4%BD%BF%E7%94%A8%20autoinst%20%E8%BD%AC%E6%8D%A2%20Adob%E2%80%8B%E2%80%8Be%20Garamond%20Pro%20%E5%90%8E%EF%BC%8CpdfLaTeX%20%E4%B8%AD%E5%8F%AA%E6%9C%89%20f_i%20%E5%92%8C%20f_l%20%E8%BF%9E%E5%AD%97%E7%AC%A6%E5%8F%AF%E7%94%A8.png)
我需要在文档中使用 Adobe Garamond,因此从https://www.myfonts.com/fonts/adobe/garamond?tab=familyPackages以访问OTF
文件。与之前的其他字体一样,我使用 进行转换autoinst
,即我的调用如下所示:
autoinst -serif -target=".\testtexmf\" -vendor="Adobe" -typeface="GaramondPro" AGaramondPro-Bold.otf AGaramondPro-BoldItalic.otf AGaramondPro-Italic.otf AGaramondPro-Regular.otf AGaramondPro-Semibold.otf AGaramondPro-SemiboldItalic.otf
这创建了所有必要的文件,我可以通过包含我创建的包在 PdfLaTeX 中使用它们。
f_i
尽管如此,我对除和 之外的所有连字符都存在问题f_l
,它们在 PdfLaTeX 中不可用。但它们在字体中可用,如在https://www.myfonts.com/fonts/adobe/garamond?tab=glyphs我使用 FontForge、DP Font Viewer 和 LibreOffice Writer 进行了检查。
还otfinfo -g AGaramondPro-Regular.otf
报告以下字形:
f_f
f_i
f_l
twodotenleader
onedotenleader
f_f_i
f_f_l
当使用-manual
选项时autoinst
,我还会看到--ligkern="f i =: fi" --ligkern="f l =: fl" --ligkern="f f =: ff" --ligkern="ff i =: ffi" --ligkern="ff l =: ffl"
调用中的部分,所以我的理解是,一切都应该正确,但事实并非如此。
您知道我缺少什么来获取文档中的ff
、ffi
和连字符吗?ffl
经过更多尝试和错误后获得更多信息
我想确保autoinst
和otftotfm
能够访问连字符,我认为这指向正确的方向。所以我做了什么:我在和中替换了以下几fontools_ly1.enc
行fontools_t1.enc
:
/ff
/fi
/fl
/ffi
/ffl
和
/uniFB00
/uniFB01
/uniFB02
/uniFB03
/uniFB04
现在我可以看到字体表中的字符:
但在文本中,没有使用连字符,可能是因为 TeX 不知道 unicode 的用途:
因此,问题似乎是无法通过在文件中otftotfm
输入以下内容来访问字形。您有什么想法,我该如何规避这个问题?/ff
*.enc
尝试@Ulrike Fischer 的提议
我听从了@Ulrike Fischer的建议。所以我修改了编码文件的最后一行,现在内容如下:
% UNICODING ff =: uniFB00; fi =: uniFB01; fl =: uniFB02; ffi =: uniFB03; ffl =: uniFB04;
连字现在都是弹出字体表的一部分,但 LaTeX 仍然没有在常规文本中使用它们。是否有其他步骤可以使其正常工作?