Problema com fancyhead / rhead usando Devanagari
Oct 14 2020
Parece haver algum problema com fancyhead / rhead quando uso uma fonte Devanagari. Meu código é o seguinte:
\documentclass[letterpaper,12pt]{article}
\usepackage{fancyhdr}
\usepackage{footnpag}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage[total={6.5in,8.75in},top=1.2in,left=1.1in]{geometry}
\pagestyle{fancy}
\newcommand{\san}{
\catcode`\^=12
\catcode`\~=12
\fontspec[Script=Devanagari,Mapping=velthuis-sanskrit]{Shobhika Bold}}
\begin{document}
\rhead{\san pa~nca}
{\san pa~nca}
\end{document}
A saída está abaixo. O papel na cabeça está errado e o corpo está certo.
Respostas
Davislor Oct 14 2020 at 01:01
O que consegui fazer foi inserir o texto UTF-8 sem o mapeamento. Alterar os catcodes parece ser complicado. Mas isso funcionou para mim no XeLaTeX:
\documentclass[letterpaper,12pt]{article}
\tracinglostchars=2
\usepackage{fancyhdr}
\usepackage{footnpag}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[script=Devanagari]{sanskrit}
\newfontfamily\devanagarifont{Shobhika}[
Script=Devanagari,
Scale=MatchLowercase ]
\newfontface\translitfont{Shobhika Bold}[
Script=Devanagari,
Mapping=velthuis-sanskrit,
Scale=MatchLowercase ]
\usepackage[total={6.5in,8.75in},top=1.2in,left=1.1in]{geometry}
\pagestyle{fancy}
\fancyhead{}
\newcommand{\san}{\catcode`\^=12\catcode`\~=12\translitfont}
\begin{document}
\fancyhead[R]{\textbf{\textsanskrit{पञ्च}}}
{\san pa~nca}
\end{document}
Sundar Oct 14 2020 at 03:57
Uma solução alternativa para este problema é
\documentclass[letterpaper,12pt]{article}
\usepackage{fancyhdr}
\usepackage{footnpag}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{skt}
\usepackage[total={6.5in,8.75in},top=1.2in,left=1.1in]{geometry}
\pagestyle{fancy}
\newcommand{\sj}{\char"091E}
\newcommand{\san}{
\catcode`\^=12
\catcode`\~=12
\fontspec[Script=Devanagari,Mapping=velthuis-sanskrit]{Shobhika Bold}}
\begin{document}
\rhead{\san pa{\sj}ca}
{\san pa~nca}
\end{document}
Mas estou procurando uma solução mais robusta.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino