LuaTeX 与 XeTeX 在处理 DejaVu Serif 方面的差异

LuaTeX 与 XeTeX 在处理 DejaVu Serif 方面的差异

我正在尝试用 DejaVu Serif Condensed Bold 设置标题。简化后的代码如下:

\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{DejaVu Serif Condensed}
\begin{document}
\thispagestyle{plain}
\bfseries\huge Curriculum Vitæ
\end{document}

使用 XeLaTeX 处理时,我得到了以下信息:

XeTeX 输出

而使用 LuaLaTeX 时,则:

LuaTeX 输出

这是常规系列。日志支持这一点。XeLaTeX 没有显示任何警告,但 LuaLaTeX 给出了以下警告:

LaTeX 字体警告:EU2/DejaVuSerifCondensed(0)/bx/n' undefined using输入 li 上的字体形状为 EU2/DejaVuSerifCondensed(0)/m/n'

这里发生了什么?

作为参考,TeXLive 2012 已更新至最终版本,Windows 7


我突然想到,Windows 系统字体文件夹和 texmf-dist 树中的字体可能有所不同。但事实并非如此 - 这两个文件夹的字体副本完全相同。

答案1

在解决错误的过程中,你可以采取一些技巧来在使用 LuaLaTeX 时获取正确的字体:

\documentclass[12pt]{article}
\usepackage{fontspec}

\usepackage{ifluatex}

\ifluatex
  \setmainfont[
    BoldFont={* Bold},
    ItalicFont={* Italic},
    BoldItalicFont={* BoldItalic}
  ]{DejaVu Serif Condensed}
\else
  \setmainfont{DejaVu Serif Condensed}
\fi

\begin{document}
\thispagestyle{empty}
\huge

Curriculum Vitae

{\bfseries Curriculum Vitae}

{\itshape Curriculum Vitae}

{\bfseries\itshape Curriculum Vitae}

\end{document}

这是使用 LuaLaTeX 的结果

在此处输入图片描述

(我把æ我认为错误的改为ae,希望您不介意。)

相关内容