\textrecipe не работает с xelatex

\textrecipe не работает с xelatex

Код

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

работает правильно, генерируя символы Unicode. (U+211E)Но когда я добавляю \setmainfont{Sanskrit 2003}, скачанный отсюдаСанскрит 2003.zip, не удается сгенерировать символ unicode. Это может быть связано с доступностью символа в шрифте или по какой-то другой причине, но мне нужно сохранить и символ, и шрифт в документе. Пожалуйста, помогите.

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

решение1

Пакет wasysymне имеет ничего общего с \textrecipe. Команда определена в стандартном LaTeX пакетом textcomp, который не должен загружаться с XeLaTeX и fontspec.

Проблема в том, что шрифт Sanskrit 3000 не имеет глифа для (U+211E PRESCRIPTION TAKE), поэтому \textrecipeничего не выводится (с помощью XeLaTeX рисуется маленький квадрат).

Вы можете заменить отсутствующий символ символом из шрифта, в котором он есть, например, 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}

Обратите внимание, что латинские глифы в Sanskrit 3000 очень похожи на Palatino.

введите описание изображения здесь

решение2

Я предполагаю, что ваш шрифт не поддерживает этот символ (здесь— это коллекция шрифтов, которые делают это). Поэтому вам придется переопределить эту команду, чтобы использовать другой шрифт для этого самого символа:

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

введите описание изображения здесь

Связанный контент