Probleme beim Funktionieren vedischer Akzente mit Xetex

Probleme beim Funktionieren vedischer Akzente mit Xetex

Ich bezog mich aufCicadas Lösungum vedische Swara-Markierungen auf meinem OSX zum Laufen zu bringen. Um mein MWE auf Ihrem System zu testen, müssen Sie Schriftarten installierenShobhikaUndSanskrit 2003- Das tut mir leid!

Das von mir verwendete MWE ist dasselbe, das Cicada gepostet hat:

\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{fontspec}
\newcommand\mysktfont{Shobhika Regular}
\newfontface\fplain{\mysktfont}% no mapping
\newcommand\devtext{
\fontspec[Script=Devanagari,Mapping=itrans-dvn2]{\mysktfont}}%mapping transliteration to Devanagari
\newcommand\iast{
           \fontspec[Mapping=itrans-iast2]{\mysktfont}} %mapping transliteration to IAST transliteration scheme

 \newcommand{\Paragraph}[1]{\devtext{#1}
\par\medskip
{\iast{#1}}}

\begin{document}
\fplain
नम॑ः 

\Paragraph{
nama!ste^^^^1cda rudra ma-nyava! u-tota- iSha!ve- namaH. \\
 nama!ste^^^^1cda astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H
}

\end{document}

Ich habe mein System folgendermaßen vorbereitet:

$ git clone https://github.com/Shreeshrii/xetex-itrans.git
$ cp itrans-iast.map itrans-iast2.map
$ # Edit itrans-iast2.map
$ Teckit_compile itrans-iast2
$ diff -du itrans-iast.map itrans-iast2.map 
--- itrans-iast.map 2020-02-02 05:58:51.000000000 -0800
+++ itrans-iast2.map    2020-02-02 06:00:15.000000000 -0800
@@ -153,6 +153,9 @@

 pass(Unicode)

+svarita > U+0951
+anudatta > U+0952
+
 a > asvara
 a a > Asvara
 A > Asvara


$ cp *.tec *.map /usr/local/texlive/texmf-local/fonts/misc/xetex/fontmapping/xetex-itrans/
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory

$ sudo mkdir -p !$ 

$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/misc/xetex/fontmapping/xetex-itrans/ 
Password:

$ sudo cp *.tec *.map /usr/local/texlive/texmf-local/fonts/misc/xetex/fontmapping/xetex-itrans/


$ sudo mktexlsr 
mktexlsr: Updating /usr/local/texlive/2016/texmf-config/ls-R... 
mktexlsr: Updating /usr/local/texlive/2016/texmf-dist/ls-R... 
mktexlsr: Updating /usr/local/texlive/2016/texmf-var/ls-R... 
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... 
mktexlsr: Done.

Die beim Ausführen resultierende PDF-Datei xelatex swara.texzeigt, dass der iTrans-Text nicht in Devanagari konvertiert wird:

Bild von Swara.pdf

Ich habe ein paar Fehler in der Logdatei ( swara.log) gefunden, die von generiert wurde xelatex. Die gesamte Logdatei wird hochgeladenHier

.................................................
Font mapping `itrans-dvn2.tec' for font `Shobhika Regular' not found.
.................................................
. fontspec info: "no-font-shape"
. 
. Could not resolve font Shobhika Regular/I (it probably doesn't exist).
.................................................
.................................................
. fontspec info: "defining-font"
. 
. Font family 'ShobhikaRegular(2)' created for font 'Shobhika Regular' with
. options [Mapping=itrans-iast2].
. 
. This font family consists of the following NFSS series/shapes:
. - 'normal' (m/n) with NFSS spec.: <->"Shobhika
. Regular/OT:script=latn;language=DFLT;mapping=itrans-iast2;"
. - 'small caps'  (m/sc) with NFSS spec.: - 'bold' (bx/n) with NFSS spec.:
. <->"Shobhika Regular/B/OT:script=latn;language=DFLT;mapping=itrans-iast2;"
. - 'bold small caps'  (bx/sc) with NFSS spec.: - 'bold italic' (bx/it) with
. NFSS spec.: <->"Shobhika
. Regular/BI/OT:script=latn;language=DFLT;mapping=itrans-iast2;"
. - 'bold italic small caps'  (bx/itsc) with NFSS spec.: 
.................................................

Ich habe überprüft, dass die ShobhikaSchriftart tatsächlich auf meinem Mac installiert ist, indem ich sie xetex opentype-info.texnach der Einstellung myfontnamewie folgt ausgeführt habe Shobhika Regular:

Ausgabe von xetex opentype-info.tex für die Schriftart Shobhika

Die Direktive für die Schriftartfunktionen in der Schriftartenspezifikation in meiner Quelle ( swara.tex) verweist auf Mapping=itrans-dvn2, aber ich finde keine Map- oder Tec-Dateien mit dem Namen itrans-dvn2*unter „ /usr/local/texlive/texmf-local/fonts/misc/xetex/fontmapping/xetex-itrans/Dies ist einer der Fehler in der Protokolldatei“. @Cicada hat nie etwas über das Generieren dieser Datei gesagt und ich sehe sie auch nicht im Git-Repository.

Ich habe den Schriftnamen in meiner Quelle von Shobhikain geändert und das ist auch fehlgeschlagen. Das gesamte Protokoll istSanskrit 2003Hier

Aktualisierung 1

Da ich mich nicht darauf verlassen konnte, .tecdass die Dateien Swara-Markierungen enthalten, habe ich sie manuell in mein Dokument eingefügt (wie in einem anderen Beitrag vorgeschlagen):

\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{fontspec}
\newcommand\mysktfont{Shobhika Regular}
\newfontface\fplain{\mysktfont}% no mapping
\newcommand\devtext{
\fontspec[Script=Devanagari,Mapping=itrans-dvn]{\mysktfont}}%mapping transliteration to Devanagari
\newcommand\iast{
           \fontspec[Mapping=itrans-iast]{\mysktfont}} %mapping transliteration to IAST transliteration scheme

\newcommand\svarita{^^^^0951}
\newcommand\anudatta{^^^^0952}
\newcommand\doublesvarita{^^^^1cda}

 \newcommand{\Paragraph}[1]{\devtext{#1}
\par\medskip
{\iast{#1}}}

\begin{document}
\fplain
नम॑ः 

\Paragraph{nama\svarita ste\doublesvarita\ rudra ma\anudatta nyava\svarita\ u\anudatta tota\anudatta\ iSha\svarita ve\anudatta\ namaH. \\
 nama\svarita ste\doublesvarita\ astu\anudatta\ dhanva\svarita ne bA\anudatta hubhyA\svarita mu\anudatta ta te\anudatta\ nama\svarita H}

\end{document}

Dadurch erhalte ich Text mit Swara-Markierungen, mit einer Ausnahme, die ich mit einem roten Pfeil gekennzeichnet habe:

Bild mit Makros für Swara-Markierungen

नमWenn es eine Möglichkeit gäbe, den seltsamen Kreis zwischen und zu entfernen , wäre mein Problem gelöst.

Aktualisierung 2

Ausgabe mit SchriftartSiddhanta

Ausgabe mit Schriftart Siddhanta

Antwort1

Ich kenne mich mit Devanagari nicht aus, aber es sieht so aus, als ob die Eingabereihenfolge der Betonungszeichen UDATTA (U+0951) und VISARGA (U+0903) wichtig ist. Hier gibt es eine Diskussion über die Eingabereihenfolge:https://github.com/harfbuzz/harfbuzz/issues/2017

Es sieht auch so aus, als ob die Noto-Schriftarten kleine Probleme hätten und dass Siddhanta besser sei. (https://github.com/googlefonts/noto-fonts/issues/1551).

Wenn ich das Folgende in einem aktuellen Texlive mit lualatex-dev (und daher mit aktiviertem harfbuzz) kompiliere (die ^^^^-Notation ist nur vorhanden, weil sie für mich einfacher einzugeben ist),

\documentclass{article}
\usepackage{fontspec}
\setmainfont{NotosansDevanagari}[Renderer=Harfbuzz,Script=Devanagari]

\setsansfont{siddhanta}[Renderer=Harfbuzz,Script=Devanagari]

\begin{document}
^^^^0928^^^^092e^^^^0951^^^^0903 नम॑ः

^^^^0928^^^^092e^^^^0903^^^^0951 नमः॑

\sffamily

^^^^0928^^^^092e^^^^0951^^^^0903 नम॑ः

^^^^0928^^^^092e^^^^0903^^^^0951 नमः॑

\end{document}

Ich erhalte diese Ausgabe:

Bildbeschreibung hier eingeben

verwandte Informationen