我的设置包括 Windows 10 安装适用于 Linux 的 Windows 子系统 (WSL)。在 WSL 中,我使用 Debian 10。我没有在 Windows 上安装任何 LaTeX 发行版。相反,我使用 Debian 10 存储库中的 TeXlive 发行版。如果有任何相关性,我会使用Visual Studio 代码与LaTeX 工作坊和远程 - WSL扩展。
对于我的幻灯片,我使用大都市主题。该主题应该与 XeLaTeX 一起使用,因为它会在系统字体中搜索 Fira Sans 字体系列。我已经有了 Fira Sans 字体系列C:\Windows\Fonts
,我知道我可以将ttf
文件复制到/usr/local/share/fonts/
WSL 中(这是我目前的做法,而且有效)。但是,这会重复文件并使所需的磁盘空间翻倍。
我可以吗永久在 WSL 中指示xelatex
使用字体C:\Windows\Fonts
?如果是,怎么做?
我知道我可以使用建议这个问题告诉每个文档在哪里寻找字体。相反,我会问自己是否可以永久更改 WSL 中的字体默认搜索路径xelatex
,以便它在中搜索/mnt/c/Windows/Fonts
。
附带问题:从性能方面来看,我的问题的答案是否可取?根据设计,与在 WSL 中“本地”使用文件(即和)
/mnt/c
相比, WSL 在访问 中的文件时具有更差的 IO 性能。/usr
~
这里是该问题的一个帐户。因此,也许告诉/usr/bin/xelatex
使用字体/mnt/c/Windows/Fonts
是一个坏主意,因为它会对编译时间产生显著且明显的负面影响。
答案1
我会假设你没有真正的理由仅有的想要将路径添加到xelatex
,因此最简单的方法可能是将 Windows 字体路径添加到 fontspec,以便所有 WSL 程序都能获取该字体:
在 WSL 下,创建一个名为 的新 fontconfig 配置文件~/.config/fontconfig/fonts.conf
。在此文件中,写入
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/mnt/c/Windows/Fonts/</dir>
</fontconfig>
更改配置后,您应该执行fc-cache
以从 fontconfig 更新字体缓存。在 windows 目录中安装新字体后,您可能需要fc-cache
再次运行才能获取它。
这种缓存的优点是,如果缓存数据显示相关字体不在 Windows 目录中,那么大多数文档甚至不必访问 Windows 字体文件夹,因此糟糕的 IO 性能只会在您实际使用其中一种 Windows 字体时影响您。