Warum stört Fontspec die Metafont-Schriftarten?

Warum stört Fontspec die Metafont-Schriftarten?

Ich muss ein Dokument mit einigen Schriftarten erstellen. Zwei oder drei werden metafontfür den Großteil des Dokuments in einer lateinbasierten Sprache verwendet, und dann muss ich noch eine Schriftart für eine südostasiatische Sprache verwenden (also wahrscheinlich eine TrueType-Schriftart oder ähnliches, da ich keine TeX-basierten Schriftarten finden kann, die mit südostasiatischen Sprachen funktionieren). So wie ich es verstehe, kann ich Schriftarten für lateinbasierte Sprachen ganz einfach kombinieren:

\documentclass{book}
\usepackage[T1]{fontenc}
\begin{document}
Regular {\fontfamily{pzc}\selectfont and special} fonts.
\end{document}

gibt mir den gewünschten Effekt:

Bildbeschreibung hier eingeben

aber sobald ich hinzufüge fontspec, was von verlangt wird polyglossia, funktioniert die Schriftart Zapf Chancery ( pzc) nicht mehr:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\thaifont{Norasi}
\setdefaultlanguage{english}
\setotherlanguage{thai}
\begin{document}
English regular {\fontfamily{pzc}\selectfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}
\end{document}

erzeugt:

Bildbeschreibung hier eingeben

Gibt es eine Möglichkeit, dieses Problem zu vermeiden? Um es klarzustellen, ichdenkenIch muss polyglossiasüdostasiatische Sprachen verwenden, und ichmussmetafontVerwenden Sie auch mehrere Schriftarten.

Antwort

Wie betont vonUlrike Fischerund weiter erläutert durchegreg, \fontencodingmuss angegeben werden, wenn Metafont-Schriftarten unter verwendet werden, fontspecda Letzteres erwartet, EU1während Ersteres benötigt T1(ich fasse zusammen, was ich zu verstehe fontencoding, was nicht viel ist).

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\thaifont{Norasi}
\setdefaultlanguage{english}
\setotherlanguage{thai}
\begin{document}
English regular {\fontencoding{T1}\fontfamily{pzc}\selectfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}
\end{document}

ergibt die richtige Ausgabe:

Bildbeschreibung hier eingeben

Antwort1

Sie können häufig OpenType/TrueType-Ersatz für die Schriftarten finden, die Sie benötigen. Dies ist auch bei Zapf Chancery der Fall: Ein Klon ist als TeX Gyre Chorus verfügbar. Aber auch native TeX/Metafont-Schriftarten können verwendet werden: Es folgt ein Beispiel mit der Dürer-Schriftart.

\documentclass{book}
\usepackage{fontspec}
\usepackage{polyglossia}

\newfontfamily\thaifont{Sathu} % I don't have Norasi
\newfontfamily\specialfont{TeX Gyre Chorus}

\setmainlanguage{english}
\setotherlanguage{thai}

\usepackage{duerer} % for a MF font

\begin{document}

English regular {\specialfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}

\textdurm{ABCDE} % duerer has only uppercase

\end{document}

Was \textdurm{ABCDE}im Wesentlichen bedeutet,

{\fontencoding{OT1}\fontfamily{durm}\selectfont ABCDE}

und \fontencoding{OT1}(oder \fontencoding{T1}) ist das, was Sie vermisst haben, weil die Standardkodierung mit XeLaTeX und fontspecist EU1.

Bildbeschreibung hier eingeben

verwandte Informationen