使用 fontspec-package 的 LaTeX 字体

使用 fontspec-package 的 LaTeX 字体

今天我弄清楚了如何将系统安装的字体与fontspec-package 和 LuaLaTeX 一起使用。但我不知道如何使用安装在我的texmf-tree 中的字体!

-Manualfontspec说(第 10 页),LuaLaTeX 将看到安装在我的texmf-tree 中的字体,并且我可以通过人类可读的字符串(例如 Latin Modern Roman)或文件名(例如 ec-lmr10.tmf)输入名称。

尽管我已确认此文件(以及字体)已安装在我的系统texmf树中,但我无法编译它!我总是得到一个

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "ec-lmr10.tfm" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................

l.13 \setmainfont{ec-lmr10.tfm}

?

我是不是搞错了什么?如何将 LaTeX 字体与 fontspec 和 LuaLaTeX 结合使用?

答案1

fontspec 是为 Open-Type-Fonts 制作的,这就是.tfm-file 不起作用的原因。此外,@JosephWright 指出了上述 Latin Modern Roman 字体的正确名称,因此我可以使用 fontspec。

当我可能想要或需要某种字体时,.ttf或者.otf字体格式最适合处理这种格式。可以使用

fc-list | grep <font-name>*.ttf
fc-list | grep <font-name>*.otf

对于系统安装的字体或

find /usr/share/texmf-dist/fonts/ -name <file-name>.ttf
find /usr/share/texmf-dist/fonts/ -name <file-name>.otf

用于我的树中的字体texmf

如果我的系统中没有安装某种字体或者通过 tex 安装无法获得所需格式的字体,则可以通过包安装该字体或者放入匹配的.ttf/.otf文件.fonts并运行fc-cache -f -v进行更新fc-list

答案2

\documentclass{article}
\begin{document}
foo
\end{document}

使用 TeXLive 的当前版本运行lualatex将创建一个包含 Latin Modern 的文档:

$ pdffonts zzz2.pdf 
name                      type              encoding         emb sub uni object ID
------------------------- ----------------- ---------------- --- --- --- --------- 
NAGORB+LMRoman10-Regular  CID Type 0C       Identity-H       yes yes yes      4  0

相关内容