Код
\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}