如何在 MiKTeX 中设置 OTFTOTFM?

如何在 MiKTeX 中设置 OTFTOTFM?

我正在尝试使用 otftotfm 转换 OTF 字体以用于 pdflatex。请按照以下链接中的说明操作如何使用 otftotfm 将 TrueType 字体与 PDFTeX 结合使用?使用 LCDF Typetools 在 LaTeX 中安装 OpenType 字体 John Owens

然而当尝试手动的使用此命令进行转换:

otftotfm  --verbose -e ec  -fkern -fliga Ubuntu-R.ttf T1--Ubuntu--Regular

我收到此错误信息:

警告:kpathsea:在这些目录中找不到配置文件 texmf.cnf:C:/Program Files (x86)/lcdf-typetools;C:/Program Files (x86)/lcdf-typetools/share/texmf-local/web2c;C:/Program Files (x86)/lcdf-typetools/share/texmf-dist/web2c;C:/Program Files (x86)/lcdf-typetools/share/texmf/web2c;C:/Program Files (x86)/lcdf-typetools/texmf-local/web2c;C:/Program Files (x86)/lcdf-typetools/texmf-dist/web2c;C:/Program Files (x86)/lcdf-typetools/texmf/web2c;C:/Program Files (x86);C:/Program Files (x86)/共享/texmf-local/web2c;C:/程序文件(x86)/共享/texmf-dist/web2c;C:/程序文件(x86)/共享/texmf/web2c;C:/程序文件(x86)/共享/texmf/web2c;C:/程序文件(x86)/texmf-local/web2c;C:/程序文件(x86)/texmf-dist/web2c;C:/程序文件(x86)/texmf/web2c;C://texmf-local/web2c;C:/;C://共享/texmf-local/web2c;C://共享/texmf-dist/web2c;C://共享/texmf/web2c;C://texmf-local/web2c;C://texmf-dist/web2c;C://texmf/web2c。 otftotfm:c:/usr/local/share/lcdf-typetools/glyphlist.txt:没有此文件或目录 otftotfm:c:/usr/local/share/lcdf-typetools/texglyphlist.txt:没有此文件或目录 otftotfm:使用 kpathsea 未找到编码文件 ec.enc otftotfm:使用 kpathsea 未找到编码文件 ec otftotfm:未找到编码‘ec’

注意:我在 Windows 10 上使用 MiKTeX 2.9。otftotfm 是从 W32TEX 预构建的二进制文件 lcdf-typetools-w32.tar 中提取的,BIN 文件夹到程序文件,SHARED 文件夹到我的本地 TEXMF。本地 TEXMF 的位置如下:

kpsewhich -expand-var '$TEXMFHOME'

位于以下位置:

'{D:/USERS/YOSEDATA/Documents/texmf-koma-script-current,D:/USERS/YOSEDATA/Documents/LocalTEXmf}'

我是不是遗漏了什么?

或者 otftotfm 真的与 MiKTeX 不兼容?因为它正在搜索 texmf.cnf,而据我所知,MiKTeX 不使用该文件。

另一方面,是否可以重新定向或配置 otftotfm 来查找本地 TEXMF 中的配置?

任何指点都将不胜感激。

答案1

我最终必须从 github 源代码构建 otftotfm,然后停用kpathsea 选项:

./configure --without-kpathsea

另外由于 Windows 和 UNIX 关于 winsock 库的差异,根据此报告。暂时,直到 Eddie Kohler 能够解决支持不同平台的冲突问题,源必须手动使用-lws2_32编译:

g++  -g -O2   -o otftotfm.exe automatic.o dvipsencoding.o glyphfilter.o metrics.o otftotfm.o secondary.o uniprop.o util.o  ../libefont/libefont.a ../liblcdf/liblcdf.a -lws2_32

这次编译解决了有关 kpathsea 的警告,但是不是问题是,没有 kpathsea 的情况下,otftotfm 如何找到必要的编码文件。对我来说,快速修复方法是将必要的 .enc 文件复制到当前文件夹。

希望有一天 Eddie Kohler 或 Akira Kakuto 可以为非 TeXlive 用户提供更好的解决方案。

相关内容