Hebräisch in ModernCV schlägt mit TeXLive 2019 XeLaTeX fehl

Hebräisch in ModernCV schlägt mit TeXLive 2019 XeLaTeX fehl

Das folgende MWE schlägt fehl, wenn es mit TexLive 2019 ausgeführt wird. Es funktioniert mit TeXLive 2017 und 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}

Verwenden der Overleaf-Engine (falls das von Bedeutung ist). Das Beispiel hier ist mit DejaVu, aber das Problem tritt auch (im Jahr 2019) bei Verwendung von David CLM, Simple CLM, oder auf Miriam Mono CLM(funktioniert im Jahr 2018).

Der Fehler, den ich bekomme, ist (weiß nicht, wie viel das in Latex bedeutet):

! 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.
 ...       

Antwort1

Ich scheine das Problem gefunden zu haben: Es ist kein Fehler, sondern eine Funktion. Polyglossia in TeXLive 2019 funktioniert einfach besser.

Die Dokumentklasse hat eine Sans-Option, aber für Hebräisch ist keine Sans-Schriftart definiert. Das Ersetzen \newfontfamily\hebrewfont{}durch \newfontfamily\hebrewfontsf{}hat das „Problem“ gelöst.

In TeXLive 2017 (und 2018) documentclassgalt die Definition nur für die Standardschriftart (Englisch). Wenn \newfontfamily\hebrewfont{}definiert wurde und dann \texthebrew{}der Befehl verwendet wurde, wurde tatsächlich die standardmäßig definierte Schriftart verwendet.

In TexLive 2019 wurde die Option „Sans“ deklariert und beim \texthebrew{}Aufruf von Polyglossia wurde nach der Schriftart der Sans-Familie gesucht. Denn wie in definiert documentclass, sollte das Dokument in Sans sein, sofern nicht anders definiert.

Das folgende MWE demonstriert den Unterschied.

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

Die Ausgabe mit TexLive 2017 ist die folgende:

Bildbeschreibung hier eingeben

Die Ausgabe mit TexLive 2019 ist diese:

Bildbeschreibung hier eingeben

Für das MWE in der Frage war keine serifenlose Schriftart definiert, deshalb erhielt ich eine Fehlermeldung.

verwandte Informationen