\textrecipe funktioniert nicht mit xelatex

\textrecipe funktioniert nicht mit xelatex

Der Code

\documentclass{article} 
\usepackage{fontspec} 
\usepackage{wasysym}
\begin{document}
\textrecipe
\end{document} 

funktioniert richtig und generiert Unicode-Zeichen. (U+211E)Aber wenn ich \setmainfont{Sanskrit 2003} hinzufüge, das von hier heruntergeladen wurdeSanskrit 2003.zip, das Unicode-Zeichen kann nicht generiert werden. Dies kann mit der Verfügbarkeit des Symbols in der Schriftart oder einem anderen Grund zusammenhängen, aber ich muss sowohl das Symbol als auch die Schriftart im Dokument beibehalten. Bitte helfen Sie.

\documentclass{article} 
\usepackage{fontspec} 
\usepackage{wasysym}
\setmainfont{Sanskrit 2003}
\begin{document}
    \textrecipe
\end{document} 

Antwort1

Das Paket wasysymhat nichts mit zu tun \textrecipe. Der Befehl wird in Standard-LaTeX durch das textcompPaket definiert, das nicht mit XeLaTeX und geladen werden darf fontspec.

Das Problem besteht darin, dass die Schriftart Sanskrit 3000 keine Glyphe für (U+211E PRESCRIPTION TAKE) hat und daher \textrecipenichts erzeugt (mit XeLaTeX wird ein kleines Quadrat gezeichnet).

Sie können das fehlende Zeichen durch ein Zeichen aus einer Schriftart ersetzen, die dieses Zeichen enthält, zum Beispiel Asana Math:

\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}

\setmainfont{Sanskrit2003.ttf}
\newfontfamily{\presc}{Asana Math}[Scale=MatchUppercase]
\newunicodechar{℞}{{\presc ℞}}
\AtBeginDocument{\renewcommand{\textrecipe}{℞}}

\begin{document}
R℞R

R\textrecipe R
\end{document}

Beachten Sie, dass die lateinischen Glyphen in Sanskrit 3000 Palatino sehr ähnlich zu sein scheinen.

Bildbeschreibung hier eingeben

Antwort2

Ich vermute, dass Ihre Schriftart dieses Symbol nicht bereitstellt (Hierist eine Sammlung von Schriftarten, die dies tun). Daher müssen Sie diesen Befehl neu definieren, um für genau dieses Symbol eine andere Schriftart zu verwenden:

% arara: xelatex

\documentclass{article} 
\usepackage{fontspec} 
\setmainfont{Sanskrit2003.ttf}
\renewcommand{\textrecipe}{{\fontspec{quivira.otf}\symbol{"211E}}}

\begin{document}
    Choose some font you like: 
    {\fontspec{code2000.ttf}\symbol{"211E}}{\fontspec{freeserif.otf}\symbol{"211E}}{\fontspec{quivira.otf}\symbol{"211E}}{\fontspec{symbola.ttf}\symbol{"211E}}

    Redefine the old \verb|\textrecipe|.

    Use it in text as \textrecipe{} before.
\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen