Beschriftung und Pseudocode in Algorithmus2e werden als Kästchen angezeigt (nicht gerendert)

Beschriftung und Pseudocode in Algorithmus2e werden als Kästchen angezeigt (nicht gerendert)

Ich möchte ein mehrsprachiges Dokument erstellen, polyglossiain dem Khmer als Hauptsprache und Englisch als Zweitsprache festgelegt ist. Ich habe auch khmer-gloss.ldfdie Schriftart Khmer als Standardschriftart verfügbar. Alle Pseudocodes werden in Kästchen wie im Bild unten angezeigt und nicht einmal die Beschriftung wird angezeigt. Ich weiß, dass es ein Problem mit der Schriftart ist, aber ich bin ziemlich neu im polyglossiaPaketgeschäft. Weiß jemand, wie man dieses Problem löst? Der folgende Code ist nur ein Beispiel.

\documentclass{article}
\usepackage{polyglossia}
\usepackage{amsthm}
\usepackage[linesnumbered,ruled]{algorithm2e}

\newfontfamily{\khmerfont}[Script=Khmer,BoldFont={Khmer OS Content},ItalicFont={Khmer OS Content},Scale=0.9]{Khmer OS Content}
\usepackage{fontspec}
\newfontfamily{\K}[Scale=0.90]{Khmer OS Content}
\newfontfamily{\T}[Scale=0.90]{Khmer OS Moul}

\setmainlanguage{khmer}
\setsansfont[Script=Khmer,Scale=0.95]{Khmer OS Content}
\setmonofont[Script=Khmer,Scale=0.95]{Khmer OS Content}
\setotherlanguage{english}

\begin{document}
អាល់កូរីតដើម្បីរកតួចែករួមធំបំផុត (\textenglish{PGCD})។
\begin{algorithm}
\begin{english}
    \SetKwInOut{Input}{\textenglish{Input}}
    \SetKwInOut{Output}{\textenglish{Output}}

    \underline{function Euclid} $(a,b)$\;
    \Input{Two non negative integers $a$ and $b$}
    \Output{$\gcd(a,b)$}
    \eIf{$b=0$}
      {
        return $a$\;
      }
      {
        return Euclid$(b, a mod b)$\;
      }
    \caption{\textenglish{Euclid's algorithm for finding the greatest common divisor of two non negative integers}}
\end{english}
\end{algorithm}

\end{document}

Bildbeschreibung hier eingeben

Ein weiteres Problem, auf das ich gestoßen bin, ist, dass der Befehl \mod ebenfalls nicht erkannt wird. Wenn ich dies schreibe

\eIf{$b=0$}
{
   return $a$\;
}
{
   return Euclid$(b, a \mod b)$\;
}

Ich habe die Fehlermeldung „Undefinierte Steuersequenz return Eucli$(b, a \mod …“) erhalten.

verwandte Informationen