[Tex/LaTex] Linux Biolinum O messes up moderncv Package

fontsfontspecluatexmoderncvrules

Take the template.tex example file from http://www.ctan.org/tex-archive/macros/latex/contrib/moderncv/examples and add these two lines:

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

Then run it with lualatex. Suddenly these thick bars get really slim. Why is that?

change in line thickness

Example:

\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}

Best Answer

Here's a more minimal example. The problem is that LuaTeX and XeTeX use different methods for finding fonts, and as a result, LuaTeX is finding the version of the font which is in /usr/local/texlive/2011/texmf-dist/fonts/opentype/public/libertine/ while XeLaTeX is finding the font in /Library/Fonts. If we load the font using its actual filename (which is possible with LuaTeX) the correct behaviour can be seen depending on the name of the font:

Given that the version in TeXLive is newer than the one (that I have) in /Library/Fonts/, it seems that the newer font is the one with the incorrect behaviour.

% !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}

output of code