Linux Biolinum O 搞乱了 moderncv 包

Linux Biolinum O 搞乱了 moderncv 包

取自template.tex示例文件http://www.ctan.org/tex-archive/macros/latex/contrib/moderncv/examples并添加以下两行:

\usepackage{fontspec}
\setsansfont{Linux Biolinum O}

然后使用 运行它lualatex。突然间,这些粗条变得非常细。这是为什么呢?

线条粗细变化

例子:

\documentclass[11pt,a4paper,sans]{moderncv}  
\usepackage{fontspec}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}

\moderncvstyle{casual}        
\moderncvcolor{blue}          
\usepackage[scale=0.75]{geometry}


% personal data
\firstname{John}
\familyname{Doe}
\title{Resumé title (optional)}               
\address{street and number}{postcode city}   

\begin{document}

\maketitle

\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}  
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}


\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}             

\end{document}

答案1

这是一个更简单的示例。问题在于 LuaTeX 和 XeTeX 使用不同的方法来查找字体,因此,LuaTeX 查找的是 中的字体版本,/usr/local/texlive/2011/texmf-dist/fonts/opentype/public/libertine/而 XeLaTeX 查找的是 中的字体/Library/Fonts。如果我们使用实际文件名加载字体(LuaTeX 可以做到这一点),则可以根据字体名称看到正确的行为:

鉴于 TeXLive 中的版本是更新与我所拥有的字体相比/Library/Fonts/,似乎较新的字体是具有不正确行为的字体。

% !TEX TS-program = LuaLaTeX


\documentclass{article}
\usepackage{fontspec}
\begin{document}    
\fontspec{LinBiolinum_Re-0.6.4}
Biolinum in \texttt{/Library/Fonts}

\rule{1in}{1ex}
\rule{1in}{4.5pt}

\fontspec{LinBiolinum_R}
Biolinum in \texttt{/usr/local/texlive/2011/texmf-dist/fonts/opentype/public/libertine/}

\rule{1in}{1ex}
\rule{1in}{4.5pt}
\end{document}

代码输出

答案2

\usepackage{fontspec}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}

如果你有一个旧的 TeX 系统(例如 TeX Live 2009),你可能需要将其更改为

\setsansfont[Mapping=tex-text]{Linux Biolinum O}

Ligatures=TeX选项使 XeTeX 识别标准连字符-- --- `` ''和一些其他连字符。

相关内容