
在梵文和 IAST 腳本中創建 anudatta、svarita 和“double-svarita”的輸入是什麼?
天城文的 Anudatta 和 svarita 我發現:
「-」代表阿努達塔
“!”為了斯瓦里塔。
但留下以下問題:
天城文中「double-svarita」的輸入是什麼?
對於 Itrans,此輸入不起作用,該選擇哪一個?
我使用以下腳本。我想將上述重音(anudatta、swarita 和 double svarita)放在天城文和 IAST 上。如果您還有更好的佈局建議,請告訴我。
\documentclass[a4paper,12pt]{article}
\usepackage{ifxetex}
\RequireXeTeX
\usepackage{xltxtra}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont[Script=Devanagari,Mapping=../tec/iast]{Sanskrit2003}
\setlength{\parindent}{0mm}
\newcommand\devtext{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Devanagari,Mapping=itrans-dvn]{Sanskrit2003}}
\newcommand\iast{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Greek,Mapping=itrans-iast]{Linux Libertine O}}
\begin{document}
{\devtext
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
{\iast
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
\end{document}
答案1
問題是關於(TECkit)“映射”,例如iast
,itrans-dvn
並且itrans-iast
包含在 TeX 發行版中。 (例如裡面/usr/local/texlive/2017/texmf-dist/fonts/misc/xetex/fontmapping/
如果您使用的是 MacTeX-2017,則在裡面。)
簡短的答案是,儘管其中一些映射包含獲取U+0951 DEVANAGARI STRESS SIGN UDATTA
和的方法U+0952 DEVANAGARI STRESS SIGN ANUDATTA
,但這些映射都不包含 double-svarita 的任何內容(我猜你的意思是U+1CDA VEDIC TONE DOUBLE SVARITA
)。因此,如果您強烈需要使用映射,則必須
- 編輯
.map
其中包含的文件(或新增文件),並且 teckit_compile
在文件上運行.map
以產生.tec
文件,
然後你就可以使用它了。
在我看來,比使用這些映射更好的方法是直接將梵文字元輸入到文件中.tex
。有各種軟體和網站可以讓您更輕鬆地輸入天城文字符,從輸入法到可複製天城文的音譯器。最好使用其中之一併將輸入音譯問題排除在 TeX 之外。
答案2
最簡單\最快的方法是為重音和音調創建宏,在乳膠代碼中使用宏,它們將不變地通過映射過程,因為映射檔案對音調一無所知。但請注意:deva 映射檔需要調整(我還不知道如何調整)。
(A) 要回答所提出的問題,(1) 改為具有 的字體double svarita
,例如Shobhika Regular
; (2) 直接加入雙 svarita:從字元映射複製貼上 ᳚ 字形;或直接透過其代碼點編號 ( ) 插入字形^^^^1cda
,如下所示,在音譯方案中:nama!ste^^^^1cda
。
(B) 回答由此產生的另一個問題:
映射文件需要調整。
नम॑ः 在音譯映射環境之外運作正常
但不在其中:
該itrans-dvn
映射正在按一定順序將字形字串類別的重疊集折疊到彼此中,並可能將它們與後續正確連接的字形隔離。 (它與正規表示式相關。(對我來說!)需要一段時間才能解開。)(另外,我注意到我的瀏覽器+此頁面也沒有正確地塑造它們。)
對於音譯文本,itrans-iast
映射定義 svarita 和 anudatta 的輸入別名,即!
和-
:
Define anudatta U+002D ; -
Define svarita U+0021 ; !
但對它們沒有任何作用。所以:itrans-iast.map
在 TeX 可以找到它的地方(例如你目前的資料夾)製作一個副本。呼叫該檔案並在檔案的itrans-iast2.map
第一行後面新增這兩行:pass(Unicode)
pass(Unicode)
svarita > U+0951
anudatta > U+0952
然後使用 進行編譯以Teckit_compile itrans-iast2
產生itrans-iast2.tec
二進位。然後進入你的乳膠代碼並更改Mapping=itrans-iast
為Mapping=itrans-iast2
.
(或者,您也可以直接鍵入它們:nama^^^^0951ste^^^^1cda astu^^^^0952 dhanva^^^^0951ne bA^^^^0952hubhyA^^^^0951mu^^^^0952ta te^^^^0952nama^^^^0951^^^^0903
。或使用巨集作為快捷方式。
將它們定義為:
\newcommand\svarita{^^^^0951}
\newcommand\anudatta{^^^^0952}
\newcommand\doublesvarita{^^^^1cda}
並像這樣使用它們,小心空格:
\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}
微量元素
\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}