如何在 Linux 和 LuaLaTeX 下将 Times Roman (Nimbus Roman) 与 fontspec 结合使用

如何在 Linux 和 LuaLaTeX 下将 Times Roman (Nimbus Roman) 与 fontspec 结合使用

Linux 下的 Times Roman 通常光辉罗马。如果我使用该times包,Nimbus Roman 将作为 Type 1 字体成功嵌入。

现在我想使用该fontspec包来加载它。这是一个最小的例子。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times Roman}

\begin{document}
test
\end{document}

fontspec说找不到 TimesRoman 字体。我也试过

\setmainfont{Nimbus Roman}
\setmainfont{Nimbus Roman No 9 L}
\setmainfont{NimbusRomNo9L}
\setmainfont{NimbusRomNo9L-Regu}

但没有一个能够成功加载。

任何提示都将不胜感激。

答案1

您可以使用TeX 环流字体,这是 Nimbus Roman No9 L 的扩展版本,有 Type 1 和 OpenType 两种版本。它已安装在 TeX Live 中,因此与 LuaLaTeX 一起使用它应该非常简单

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}

\begin{document}
The quick brown fox jumps over the sleazy dog
\end{document}

TeX 环流条件:

TeX Gyre Termes 字体示例

Nimbus Roman No9 L:

Nimbus Roman No9 L 字体示例

(字体样本来自LaTeX 字体目录

答案2

总结,

  • Linux 上的 Times Roman 是 Nimbus Roman
  • 系统仅type1附带 Nimbus Roman 格式
  • fontspec不支持type1字体
  • 混合fontspectype1字体使用是可能的,但很困难

所以如果我能获得Times Roman 的ttf或格式,我的问题就解决了。otf

赫伯特似乎在 Windows 中使用 Times New Roman。如果您有 Windows PC 或 Mac,这种方法很简单。

另一种方法是将type1Nimbus Roman 格式转换为ttfotf格式。有一些在线字体转换器网站,转换速度非常快。转换后,我可以fontspec直接加载 Nimbus Roman。对于那些需要它的人,

  • Nimbus Roman No9 L Regular 是/usr/share/fonts/type1/gsfonts/n021003l.pfb
  • Nimbus Roman No9 L Medium 是/usr/share/fonts/type1/gsfonts/n021004l.pfb
  • Nimbus Roman No9 L Regular Italic 是/usr/share/fonts/type1/gsfonts/n021023l.pfb
  • Nimbus Roman No9 L Medium Italc 是/usr/share/fonts/type1/gsfonts/n021024l.pfb

但其实我并不喜欢这种方式,因为这样会让字体管理变得复杂,现在我的系统中有两个版本的Nimbus Roman。

有没有更好的方法来解决该问题?

(也许我可以请求 Linux 发行版或 TexLive 发送一个ttfotf一个版本的 Nimbus Roman?)

答案3

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Times Roman}
\begin{document}
    
foo
    
\end{document}
    

我明白了

voss@shania:~/Test> pdffonts test.pdf
name                          type              encoding         emb sub uni object ID
----------------------------- ----------------- ---------------- --- --- --- ---------
YDJOHC+Times-Roman-Identity-H CID Type 0C       Identity-H       yes yes yes      5  0

运行时,fc-list | grep Times我的 Linux 系统中出现了很多字体。使用 LuaLaTeX 时,我~./font使用的是 中安装的 Times Roman。从日志中可以看到:

[...]
/home/voss/.texlive2012/texmf-var/l
uatex-cache/generic/fonts/otf/temp-times-0.lua)(save: /home/voss/.texlive2012/t
exmf-var/luatex-cache/generic/fonts/otf/temp-times-0.lua) 
[...]

答案4

\setmainfont{Times New Roman}这是可行的,与罗马时间略有不同

相关内容