Combinando marca sobre ligadura (Devanagari)

Combinando marca sobre ligadura (Devanagari)

Quero compor a combinação m̐llo em Devanagari com XeLaTeX. Quando eu uso o Unicode correto, não há ligadura do ls. Quando coloco o candrabindu na ligadura o o não está conectado com a ligadura: ल्लँो.

Como posso fazer com que o XeLaTeX coloque o candrabindu na ligadura e ainda coloque o o na posição correta?

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{sanskrit}
\setmainfont{Siddhanta}

\begin{document}
ल्ँलो

ल्लँो
\end{document}

Aqui está um exemplo de um livro didático de como deve ser: insira a descrição da imagem aqui

Responder1

Zdeněk Wagner, um teXista tcheco, que não tem pontos suficientes para postar uma resposta no TeX.SX (ou provavelmente está tendo um tipo diferente de problema), ainda assim, está escrevendo suas observações:

  1. O problema não está no polyglossiae Language, esses comandos estão corretos, o problema está no carregamento da fonte. Se você não especificar o script explicitamente, o script latino será assumido e, portanto, os caracteres não latinos não poderão aparecer corretamente. O que falta é a especificação do script, você tem que escrever

    \setmainfont[Script=Devanagari]{Siddhanta}

  2. Seu exemplo está errado. Todos os três caracteres, virama, candrabindu e o-matra, são vogais dependentes, você não pode combinar mais de um deles com uma consoante. Se você digitar ल् (com virama), não poderá adicionar um candrabindu. Se não for o fim de uma palavra, você só poderá adicionar outra consoante. Você pode fazer uma conjunção (ligadura) com um candrabindu, ou seja, ल्लँ mas nunca deve ser seguida por qualquer matra. Em teoria, você poderia adicionar ओ independente, mas não consigo imaginar como você o pronunciaria. Parece muito estranho. Você pode, é claro, nasalizar um matra, por exemplo, ताँ, mas se o-matra ou ii-matra for nasalizado, anusvara será usado (apenas devido à aparência gráfica).

  3. Há um erro de impressão evidente no livro, a forma correta é ताँल्लोकान्.

  4. Experimente o seguinte complemento para ver quais fontes são usadas pelo Firefox: https://addons.mozilla.org/en-us/firefox/addon/fontinfo/


Estou adicionando um exemplo. A ligadura llnão tem seu código Unicode em todas as três fontes, então o resultado está correto em xelatex(imagem à esquerda; todos os três casos) e uma vez em lualatex(imagem à direita; a primeira linha).

% run: xelatex mal-chandas.tex
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{fontspec}
\begin{document}
\def\maltext{ताँल्लोकान्\par}
% http://svayambhava.blogspot.cz/p/siddhanta-devanagariunicode-open-type.html
\setmainfont[Script=Devanagari]{Siddhanta} \maltext
\setmainfont[Script=Devanagari]{Chandas} \maltext
\setmainfont[Script=Devanagari]{Sanskrit2003} \maltext
\end{document}

mwe: xelatex mwe: lualatex

Atualizar:Poderíamos usarluaotfloadpacote em vez defontspecpacote para obter um formulário correto com lualatex; Usei script=devanagarientão no corpo do documento (digitei taaMMllokaanou tAMMllokAnpelo menosMerriam-Webster):

% run: lualatex mal-siddhanta.tex
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{luaotfload}
\begin{document}
% http://svayambhava.blogspot.cz/p/siddhanta-devanagariunicode-open-type.html
% taaMMllokaan at Lexilogos
\font\malfont=Siddhanta:script=devanagari \malfont ताँल्लोकान्
\end{document}

informação relacionada