如何用天城文和 IAST 创建吠陀重音符号 - anudatta、svarita 和 double-svarita

如何用天城文和 IAST 创建吠陀重音符号 - anudatta、svarita 和 double-svarita

在天城文和 IAST 脚本中创建 anudatta、svarita 和“double-svarita”的输入是什么?

我发现梵文的 Anudatta 和 svarita:

  • “-” 代表 anudatta

  • “!”为了 svarita。

但还有以下问题:

  • 在天城文中“double-svarita”的输入是什么?

  • 对于 Itrans,这些输入不起作用,该选择哪一个?

我使用以下脚本。我想在梵文和 IAST 上添加上述重音符号(anudatta、swarita 和 double svarita)。如果您对更好的布局也有建议,请告诉我。

\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,它们包含在 TeX 发行版中。(例如,如果您使用的是 MacTeX-2017,则在里面。)itrans-dvnitrans-iast/usr/local/texlive/2017/texmf-dist/fonts/misc/xetex/fontmapping/

简短的回答是,尽管其中一些映射包含获取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)回答由此产生的另一个问题:

映射文件需要调整。

नम॑ः 在音译映射环境之外正常工作

地图外 OK

但不在里面:

地图内不可以

映射itrans-dvn是将重叠的字形字符串类集按特定顺序折叠在一起,并大概将它们与后续字形正确连接隔离开来。(它与正则表达式有关。对我来说,需要一段时间才能解开。)(此外,我注意到我的浏览器 + 此页面也没有正确地塑造它们。)


对于音译文本,itrans-iast映射定义了 svarita 和 anudatta 的输入别名,即!-

Define anudatta U+002D  ; -
Define svarita U+0021   ; !

但它们不执行任何操作。因此:将 复制到itrans-iast.mapTeX 可以找到的地方(例如,当前文件夹)。调用该文件并在文件的itrans-iast2.map第一行后添加以下两行:pass(Unicode)

pass(Unicode)

svarita > U+0951
anudatta > U+0952

然后使用 进行编译Teckit_compile itrans-iast2以生成itrans-iast2.tec二进制文件。然后进入您的 latex 代码并更改Mapping=itrans-iastMapping=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}

deva 和 roman

平均能量损失

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

问题使用 U+1CDA 吠陀音双 svarita 扩展 .map 文件關鍵。

相关内容