我有一个全新的 Arch Linux 机器,安装了全新且完整的 TeX Live。安装似乎包含cm-unicode
字体,并且lualatex
似乎能正确找到它们,但运行时fc-list
输出仅包含几个系统字体。我如何获取可用字体的列表?有什么方法可以修复吗?fc-list
还是我应该使用其他实用程序?
答案1
据我所知,LuaLaTeX 不使用fc-list
,而是使用 luaotfload.lua 缓存字体。
为了让系统识别 TeX Live 中的所有 otf 字体,请运行
cp $(kpsewhich -var-value TEXMFSYSVAR)/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
fc-cache -fsv
以超级用户身份。这对于 XeTeX 和 XeLaTeX 来说实际上是必要的。
答案2
.fonts.conf
如果您没有 root 权限,您可以在主目录中创建本地配置文件:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/local/texlive/2011/texmf-dist/fonts/opentype</dir>
<dir>/usr/local/texlive/2011/texmf-dist/fonts/truetype</dir>
<dir>/usr/local/texlive/2011/texmf-dist/fonts/type1</dir>
<match target="font">
<edit mode="assign" name="rgba">
<const>none</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintmedium</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>