Hebraico em ModernCV falhando com TeXLive 2019 XeLaTeX

Hebraico em ModernCV falhando com TeXLive 2019 XeLaTeX

O seguinte MWE falha quando executado com TexLive 2019. Funciona com TeXLive 2017 e 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 o mecanismo de verso (se isso for de alguma importância). O exemplo aqui é com DejaVu, mas o problema também surge (em 2019) usando David CLM, Simple CLM, ou Miriam Mono CLM(funciona em 2018).

O erro que recebo é (não sei o quanto isso significa em 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.
 ...       

Responder1

Parece que encontrei o problema: não é um bug, é um recurso. A poliglossia no TeXLive 2019 simplesmente funciona melhor.

A documentclass tem uma opção sans, mas nenhuma fonte sans está definida para o hebraico. Substituir \newfontfamily\hebrewfont{}por \newfontfamily\hebrewfontsf{}resolveu o "problema".

No TeXLive 2017 (e 2018), a documentclassdefinição se aplica apenas à fonte padrão (inglês). Se \newfontfamily\hebrewfont{}fosse definido e \texthebrew{}o comando usado, então a fonte definida padrão seria de fato usada.

No TexLive 2019 desde que a opção sans foi declarada, quando \texthebrew{}se chamava polyglossia procurou a fonte da família sans. Porque, conforme definido no documentclass, o documento deve estar in sans, a menos que seja definido de outra forma.

O seguinte MWE demonstra a diferença.

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

A saída com TexLive 2017 é a seguinte:

insira a descrição da imagem aqui

A saída com TexLive 2019 é esta:

insira a descrição da imagem aqui

O MWE na pergunta não tinha uma fonte sans definida, então recebi um erro.

informação relacionada