字体问题,TEXMFHOME

字体问题,TEXMFHOME

我的 Debian 系统上有一个全新的 TeXLive vanilla 安装。在安装之前,我删除了所有 Debian TeX 软件包。texmf.cnf安装中的仅包含注释,我没有动过它。

当我将某个文档转换为 pdftex 时,TeX 会开始按应有的方式生成新的字体文件并将它们放入其中,/home/username/.texlive2021但是kpsewhich -var-value TEXMFHOME报告称/home/username/texmf用户没有TEXMFHOME设置。

问题 1:/home/username/texmf我原本期望字体会根据结果显示出来kpsewhich。我的期望错了吗?使用的位置HOME/.texlive2021来自哪里,在哪里/谁指定了字符串.texlive2021

问题2:我有一个 PHP 应用程序将 pdftex 连接到服务器接口。客户端GET在 PHP 端点上创建一个,然后 PHP 启动 pdftex。现在 pdftex失败自行启动字体生成,但会missfont.log在 pdftex 进程的当前工作目录中生成一个文件。为什么pdftex 在 PHP 设置中无法启动字体生成,而在手动 bash 设置中却可以正常工作。进程环境知道PATHTEXMFHOMEHOME变量。还有什么这里缺少什么?

问题3:当我现在手动执行字体命令时,missfont.log字体的构造方式如上所述,/home/username/.texlive2021如问题 1 中所述。当我再次使用 PHP 服务器端点时,pdftex 现在忽略环境TEXMFHOME变量,而是选取HOME环境变量,附加.texlive2021并从之前的手动运行中找到字体。为什么pdftex 会忽略该TEXMFHOME设置吗?如果不在,我该如何指定TEXMFHOME

结论:我需要让字体构建过程自动运行,以供 PHP 服务使用。在远程/服务器/PHP 设置中,我对各种错误消息的访问有点受限,这就是我将其与手动进程启动进行比较的原因。但是,shell 启动的进程 (1) 的行为与我认为它们应该的行为不同(问题 1 和 3),并且 (2) 的行为与 PHP 通过 exec 调用运行的进程不同(问题 2)。

后记:核心问题是 PHP 没有提供完全的环境。首先,它缺少变量,Ulrike Fischer 指出。其次,它缺少字体生成过程中所需的进一步 Linux 工具的路径。

答案1

关于你的第一个问题:

自动生成的东西被放入texmfvartexmfsysvar不是texmfhome

相关内容