Versalete em negrito com Lualatex

Aug 15 2020

Referindo-se a este passo: Como usar fontspec e também ter maiúsculas pequenas em negrito com LuaLaTeX? , Eu tenho uma fonte com versaletes reais, mas o mesmo problema também. Por favor, compile este código simples:

\documentclass{article}
\usepackage{fontspec}
\usepackage[italian]{babel}
\babelfont[italian]{rm}{EB Garamond}
 %   \setmainfont{EB Garamond}

\begin{document}

Quel \textbf{ramo del \textsc{lago} di Como}, che volge a \textbf{\textsc{mezzogiorno}}

\end{document}

Então, a solução não é

Você precisa escolher uma família de fontes que tenha versaletes em negrito

pois tem ... É tão difícil ter versalete em negrito? Funciona somando \setmainfont{EB Garamond}, mas acho que não é uma boa ideia fazer uma salada de frutas de xelatex e lualatex ... Obrigado

Respostas

11 UlrikeFischer Aug 15 2020 at 15:31

\ setmainfont não é um comando destinado apenas ao xelatex. É um comando do fontspec para ambos os motores.

O babel tem seu próprio comando para definir fontes (que também pode ser usado com ambos os motores). No seu caso, o argumento opcional [italiano] desativa versaletes por dois motivos:

A princípio, com o argumento opcional, babel não carrega a fonte diretamente, mas apenas a prepara para o idioma. E em segundo lugar, porque o babel não define como fontspec a série padrão em negrito ao bqual deveria fazer, então irei reportar. Como a série é bx ela dispara uma substituição e você perde versaletes (o que talvez não devesse acontecer também ...). Eu sugiro remover o idioma, não faz muito sentido já que a fonte não o conhece de qualquer maneira, e adicionar uma declaração de série (isso requer um latex atual) por enquanto.

\documentclass{article}
\usepackage{fontspec}
\DeclareFontSeriesDefault[rm]{bf}{b}
\usepackage[italian]{babel}
\babelfont{rm}{EB Garamond}

\begin{document}

Quel \textbf{ramo del \textsc{lago} di Como}, che volge a \textbf{\textsc{mezzogiorno}}

\end{document}