私は言及したセミの解決策私のOSXでヴェーダのスワラのマークを動作させるには、あなたのシステムで私のMWEをテストするためにフォントをインストールする必要がありますショビカそしてサンスクリット語 2003- 申し訳ありませんでした!
私が使用した MWE は、Cicada が投稿したものと同じです。
\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}
私は次のようにシステムを準備しました:
$ 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.
実行結果の PDF ファイルでは、xelatex swara.tex
itrans テキストが devanagari に変換されていないことがわかります。
から生成されたログファイル(swara.log
)にいくつかのエラーが見つかりましたxelatex
。ログファイル全体がアップロードされましたここ
.................................................
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.:
.................................................
次のように設定してShobhika
実行することで、フォントが Mac にインストールされていることを確認しました。xetex opentype-info.tex
myfontname
Shobhika Regular
私のソース ( ) の fontspec のフォント機能ディレクティブswara.tex
は を参照していますが、その下にMapping=itrans-dvn2
名前が付けられたマップ ファイルや tec ファイルが見つかりません。これはログ ファイル内のエラーの 1 つです。@Cicada はこのファイルの生成について何も言っておらず、git リポジトリにも表示されていません。itrans-dvn2*
/usr/local/texlive/texmf-local/fonts/misc/xetex/fontmapping/xetex-itrans/
ソースのフォント名を から に変更しましたShobhika
がSanskrit 2003
、これも失敗しました。ログ全体はここ
アップデート1
スワラ マーキングを提供するファイルに頼らず.tec
、手動でドキュメントに挿入しました (別の投稿で提案されたとおり)。
\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}
これにより、スワラ マークの付いたテキストが生成されますが、赤い矢印で示した例外が 1 つあります。
नम
との間の奇妙な円を取り除く方法があればः
、私の問題は解決するでしょう。
アップデート2
フォント付き出力Siddhanta
答え1
私はデーヴァナーガリー文字の知識はありませんが、強勢記号 UDATTA (U+0951) と VISARGA (U+0903) の入力順序が重要であるように見えます。入力順序については、ここで議論されています。https://github.com/harfbuzz/harfbuzz/issues/2017
また、noto フォントには小さな問題があるようで、siddhanta の方が優れているようです。https://github.com/googlefonts/noto-fonts/issues/1551)。
現在の texlive で lualatex-dev (つまり harfbuzz が有効) を使用して以下をコンパイルすると (^^^^ 表記は入力しやすいようにのみ使用されています)
\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}
次のような出力が得られます: