Kombinierendes Zeichen über Ligatur (Devanagari)

Kombinierendes Zeichen über Ligatur (Devanagari)

Ich möchte die Kombination m̐llo in Devanagari mit XeLaTeX setzen. Wenn ich das korrekte Unicode-Zeichen ल्ँलो verwende, gibt es keine Ligatur des ls. Wenn ich das Candrabindu auf die Ligatur setze, ist das o nicht mit der Ligatur verbunden: ल्लँो.

Wie kann ich XeLaTeX dazu bringen, das Candrabindu auf der Ligatur zu platzieren und das O trotzdem an die richtige Position zu bringen?

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{sanskrit}
\setmainfont{Siddhanta}

\begin{document}
ल्ँलो

ल्लँो
\end{document}

Hier ein Beispiel aus einem Lehrbuch, wie es aussehen sollte: Bildbeschreibung hier eingeben

Antwort1

Zdeněk Wagner, ein tschechischer TeXist, der noch nicht genügend Punkte hat, um eine Antwort bei TeX.SX zu posten (oder er hat wahrscheinlich ein anderes Problem), schreibt seine Beobachtungen:

  1. Das Problem liegt nicht in polyglossiaund Language, diese Befehle sind korrekt, das Problem liegt beim Laden der Schriftart. Wenn Sie die Schrift nicht explizit angeben, wird die lateinische Schrift angenommen und daher können die nicht-lateinischen Zeichen nicht richtig angezeigt werden. Was fehlt, ist die Angabe der Schrift, Sie müssen schreiben

    \setmainfont[Script=Devanagari]{Siddhanta}

  2. Ihr Beispiel ist falsch. Alle drei Zeichen, Virama, Candrabindu und O-Matra, sind abhängige Vokale, Sie können nicht mehr als einen davon mit einem Konsonanten kombinieren. Wenn Sie ल् (mit einem Virama) eingeben, können Sie kein Candrabindu hinzufügen. Wenn es nicht das Ende eines Wortes ist, können Sie nur einen weiteren Konsonanten hinzufügen. Sie können mit einem Candrabindu eine Konjunktion (Ligatur) bilden, also ल्लँ, aber darauf darf nie eine Matra folgen. Theoretisch könnten Sie ein unabhängiges ओ hinzufügen, aber ich kann mir nicht vorstellen, wie Sie das aussprechen würden. Es sieht wirklich komisch aus. Sie können eine Matra natürlich nasalisieren, z. B. ताँ, aber wenn O-Matra oder II-Matra nasalisiert werden sollen, wird Anusvara verwendet (rein aufgrund der grafischen Erscheinung).

  3. Es gibt einen offensichtlichen Druckfehler im Lehrbuch, die korrekte Form ist ताँल्लोकान्.

  4. Probieren Sie das folgende Add-on aus, um zu sehen, welche Schriftarten von Firefox verwendet werden: https://addons.mozilla.org/en-us/firefox/addon/fontinfo/


Ich füge ein Beispiel hinzu. Die Ligatur llhat nicht in allen drei Schriftarten ihren Unicode-Code, daher ist das Ergebnis ab xelatex(linkes Bild; alle drei Fälle) und einmal ab lualatex(rechtes Bild; die erste Zeile) korrekt.

% 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

Aktualisieren:Wir könntenluaotfloadPaket stattfontspecPaket, um eine korrekte Form mit zu erhalten lualatex; Ich habe script=devanagaridann im Dokumenttext verwendet (ich habe taaMMllokaanoder eingegeben tAMMllokAnbeiübersetzt):

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

verwandte Informationen