Combinando marca sobre ligadura (Devanagari)

Combinando marca sobre ligadura (Devanagari)

Quiero componer la combinación m̐llo en Devanagari con XeLaTeX. Cuando uso el código Unicode correcto, no hay ligadura de ls. Cuando coloco el candrabindu en la ligadura, la o no está conectada con la ligadura: ल्लँो.

¿Cómo puedo hacer que XeLaTeX coloque el candrabindu en la ligadura y mantenga la o en la posición correcta?

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{sanskrit}
\setmainfont{Siddhanta}

\begin{document}
ल्ँलो

ल्लँो
\end{document}

Aquí hay un ejemplo de un libro de texto, cómo debería verse: ingrese la descripción de la imagen aquí

Respuesta1

Zdeněk Wagner, un texista checo, que no tiene suficientes puntos para publicar una respuesta en TeX.SX (o probablemente tenga otro tipo de problema), todavía está escribiendo sus observaciones:

  1. El problema no está en polyglossiay Language, estos comandos son correctos, el problema está en la carga de fuentes. Si no especifica la escritura explícitamente, se asume la escritura latina y, por lo tanto, los caracteres no latinos no pueden aparecer correctamente. Lo que falta es la especificación del script, tienes que escribir

    \setmainfont[Script=Devanagari]{Siddhanta}

  2. Tu ejemplo está mal. Los tres caracteres, virama, candrabindu y o-matra, son vocales dependientes, no puedes combinar más de uno de ellos con una consonante. Si escribe ल् (con un virama), no puede agregar un candrabindu. Si no es un final de palabra, sólo puedes añadir otra consonante. Puedes hacer una conjunción (ligadura) con un candrabindu, es decir, ल्लँ, pero nunca debe ir seguido de ningún matra. En teoría, podrías agregar ओ independiente, pero no puedo imaginar cómo lo pronunciarías. Parece realmente extraño. Por supuesto, se puede nasalizar un matra, por ejemplo, ताँ, pero si se va a nasalizar o-matra o ii-matra, se usa anusvara (simplemente debido a la apariencia gráfica).

  3. Hay un error de imprenta evidente en el libro de texto, la forma correcta es ताँल्लोकान्.

  4. Pruebe el siguiente complemento para ver qué fuentes utiliza Firefox: https://addons.mozilla.org/en-us/firefox/addon/fontinfo/


Estoy agregando un ejemplo. La ligadura llno tiene su código Unicode en las tres fuentes, por lo que el resultado es correcto desde xelatex(imagen de la izquierda; los tres casos) y una vez desde lualatex(imagen de la derecha; la primera línea).

% 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

Actualizar:podríamos usarluaotfloadpaquete en lugar defontspecpaquete para obtener una forma correcta con lualatex; Usé script=devanagarien el cuerpo del documento entonces (escribí taaMMllokaano tAMMllokAnenDiccionario):

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

información relacionada