Bold maiuscoletto con Lualatex

Aug 15 2020

In riferimento a questo battistrada: come utilizzare fontspec e avere anche maiuscoletto in grassetto con LuaLaTeX? , Ho un carattere con maiuscoletto vero, ma anche lo stesso problema. Per favore, compila questo semplice codice:

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

Quindi, la soluzione non lo è

Devi scegliere una famiglia di caratteri con maiuscoletto in grassetto

perché ha ... È così difficile avere maiuscoletto in grassetto? Funziona aggiungendo \setmainfont{EB Garamond}, ma penso che non sia una buona idea fare un'insalata di frutta xelatex e lualatex ... Grazie

Risposte

11 UlrikeFischer Aug 15 2020 at 15:31

\ setmainfont non è un comando pensato solo per xelatex. È un comando di fontspec per entrambi i motori.

babel ha il proprio comando per impostare i caratteri (che può essere utilizzato anche con entrambi i motori). Nel tuo caso l'argomento facoltativo [italiano] disabilita il maiuscolo per due motivi:

All'inizio con l'argomento opzionale babel non carica direttamente il font ma lo prepara solo per la lingua. E in secondo luogo, poiché babel non imposta come fontspec la serie in grassetto predefinita a bcui dovrebbe farlo, lo riporterò. Poiché la serie è bx, si attiva una sostituzione e quindi si perde il maiuscolo (cosa che forse non dovrebbe accadere anche ...). Suggerisco di rimuovere la lingua, non ha molto senso in quanto il font non lo conosce comunque, e di aggiungere una serie di dichiarazioni (questo richiede un latex corrente) per ora.

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