El siguiente MWE falla cuando se ejecuta con TexLive 2019. Funciona con TeXLive 2017 y 2018.
\documentclass[english,sans]{moderncv}
\moderncvstyle{banking}
\usepackage[unicode]{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\firstname{J}
\lastname{D}
\title{T}
\newfontfamily\englishfont[Language=English,Script=Latin]{Latin Modern Sans}
\newfontfamily\hebrewfont[Language=Hebrew,Script=Hebrew]{DejaVu Sans}
\begin{document}
\makecvtitle{}{}
Lorem ipsum and such
\texthebrew{לורם איפסום}
\end{document}
Usando el motor al dorso (si eso es de alguna importancia). El ejemplo aquí es con DejaVu, pero el problema también surge (en 2019) al usar David CLM
, Simple CLM
o Miriam Mono CLM
(funciona en 2018).
El error que recibo es (no sé cuánto significa esto en Latex)
! Package polyglossia Error: The current latin font DejaVuSans(0) does not cont
ain the "Hebrew" script!
(polyglossia) Please define \hebrewfont with \newfontfamily comm
and.
See the polyglossia package documentation for explanation.
Type H <return> for immediate help.
...
Respuesta1
Parece que encontré el problema: no es un error, es una característica. Polyglossia en TeXLive 2019 simplemente funciona mejor.
La clase de documento tiene una opción sans, pero no se define ninguna fuente sans para hebreo. Reemplazar \newfontfamily\hebrewfont{}
con \newfontfamily\hebrewfontsf{}
resolvió el "problema".
En TeXLive 2017 (y 2018), la documentclass
definición solo se aplicaba a la fuente predeterminada (inglés). Si \newfontfamily\hebrewfont{}
se definió y luego \texthebrew{}
se usó el comando, entonces se usaría la fuente definida por defecto.
En TexLive 2019 desde que se declaró la opción sans, cuando \texthebrew{}
se llamó poliglosia buscó la fuente de la familia sans. Porque, como se define en documentclass
, el documento debe estar en formato sans a menos que se defina lo contrario.
El siguiente MWE demuestra la diferencia.
\documentclass[english,sans]{article} %<--- The document default is defined as sans
\usepackage[unicode]{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Language=Hebrew,Script=Hebrew]{David CLM} %<--- notice David
\newfontfamily\hebrewfontsf[Language=Hebrew,Script=Hebrew]{DejaVu Sans}%<--- notice Sans
\begin{document}
Lorem ipsum and such
\textsf{\texthebrew{עברית בסנס}}
\texthebrew{עברית רגיל}
\end{document}
El resultado con TexLive 2017 es el siguiente:
El resultado con TexLive 2019 es este:
El MWE en la pregunta no tenía definida una fuente sans, por lo que recibí un error.