\textrecipe não funciona com xelatex

\textrecipe não funciona com xelatex

O código

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

funciona corretamente gerando caracteres unicode (U+211E)Mas quando eu adiciono o \setmainfont{Sanskrit 2003} baixado aquiSânscrito 2003.zip, ele não consegue gerar o caractere Unicode. Isso pode estar relacionado à disponibilidade do símbolo na fonte ou por algum outro motivo, mas preciso manter o símbolo e a fonte no documento. Por favor, ajude.

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

Responder1

O pacote wasysymnão tem nada a ver com \textrecipe. O comando é definido no LaTeX padrão pelo textcomppacote, que não deve ser carregado com XeLaTeX e fontspec.

O problema é que a fonte Sanskrit 3000 não possui glifo para (U+211E PRESCRIPTION TAKE), portanto \textrecipenão produz nada (com XeLaTeX um pequeno quadrado é desenhado).

Você pode substituir o caractere ausente por outro de uma fonte que o contenha, por exemplo, 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}

Observe que os glifos latinos em sânscrito 3000 parecem ser muito semelhantes ao Palatino.

insira a descrição da imagem aqui

Responder2

Acho que sua fonte não fornece este símbolo (aquié uma coleção de fontes, o que faz). Portanto, você terá que redefinir este comando para usar outra fonte para este mesmo símbolo:

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

insira a descrição da imagem aqui

informação relacionada