让 XeLaTeX 在 Ubuntu 中使用默认的 Times 字体

让 XeLaTeX 在 Ubuntu 中使用默认的 Times 字体

使用Texlive PPA 反向移植到 Ubuntu 12.04,我无法让 XeLaTeX 使用标准时间字体(即不会嵌入的字体)。

我正在使用例如\setmainfont{times}\newfontfamily\fontfamilyname{Times},并且安装了texlive-fonts-recommended包,其中显示(在apt-cache show texlive-fonts-recommended):

 times -- Select Adobe Times Roman (or equivalent) as default font.
 timesnew -- the URW Times fonts and support for the Adobe font set.

当我在尝试使用上述字体的 tex 文件上运行 xelatex 时,出现一长串错误,其中许多错误如下所示:

请输入另一个输入文件名
!紧急停止。
 ...e:=ljfour; mag:=1; nonstopmode; 输入时间

抄录在 mfput.log 上。
grep:times.log:没有此文件或目录
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; 输入时间'
 无法制作 times.tfm。

kpathsea:运行 mktextfm 次
/usr/share/texlive/texmf/web2c/mktexnam:无法映射时间的源缩写。
/usr/share/texlive/texmf/web2c/mktexnam:需要更新吗?
mktextfm:运行 mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; 输入时间
这是 METAFONT,版本 2.718281(TeX Live 2012/Debian)

我将非常感激关于如何在 Ubuntu 上用 XeLaTeX 创建的 PDF 中使用标准 Times 字体的想法。


编辑抱歉,我没有早点把这个例子贴出来——我得把小家伙哄上床睡觉了,我希望这只是我的一个简单疏忽:)

以下是一个例子:

\documentclass{memoir}
\usepackage{fontspec} 
\setmainfont{Times}
\begin{document}
 In Times we trust.
\end{document}

以下是 XeLaTeX 的响应:

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

我想到的一个解决方案是手动安装一个可以替代 Times 的 OTF 或 TTF 字体,但我希望 texlive 发行版或 Ubuntu 有这个字体 - 但目前还不清楚在哪里。

答案1

据我所知,所有 PDF 阅读器都应该知道的 14 种基本字体是 Type1 字体(Times、Courier、Helvetica、Symbol 和 Zapf Dingbats),它们支持任意 Unicode。

因此,(pdf)latex可以通过设置相应的选项来避免下载 PDF 文档中的基本字体

updmap-sys setoption pdftexDownloadBase14 false
updmap-sys setoption dvipsDownloadBase14 false

(感谢 Martin Schröder 指出该命令,请参阅的手册页updmap了解更多信息;以true恢复为默认值),这对于 XeLaTeX 来说没有多大意义,因为这会剥夺它的主要功能,即处理覆盖整个 Unicode 字符集的 OpenType 或 TrueType 字体。

因此,如果您计划使用 XeLaTeX 来利用 OpenType 功能,请让 XeTeX 将xdvipdfmx字体下载到 PDF 文件中。

答案2

Ubuntu(和每个 Linux 系统一样)没有安装 Times 字体,但提供了许多替代方案;流行的有:

  • PT Serif(出色的西里尔文支持)
  • 自由衬线
  • Droid Serif(Android 默认)
  • (Linux)Libertine Serif
  • 似曾相识的衬线体

只需检查fc-list|grep Serif并选择您喜欢的一个。

相关内容