使用 polyglossia 或其他软件包对梵文或天城文文本进行音译

使用 polyglossia 或其他软件包对梵文或天城文文本进行音译

我想知道是否有办法在 LaTeX 中音译天城体文本。我一直在使用这个很棒的polyglossia软件包,我能够将 Unicode 天城体文本输入到 LaTeX 中并进行编译。没有问题。但是,我想知道是否有办法让 LaTeX 将 Unicode 天城体字体转换为罗马音译?天城体音译的规则非常标准化,但我还没有看到一个可以在 LaTeX 中进行音译的软件包——这样我就不必每次都对天城体和音译进行调整。

如果有人对在 LaTeX 中执行此操作有任何建议,甚至有 LaTeX 之外的最佳实践,我将不胜感激。

答案1

您可以使用 xetex 输入映射功能。它用于排版音译天城文.另一个例子是羅馬德夫,用于输入unicode音译。我还没有找到任何用于反向转换的映射文件,但修改RomDev 地图走另一条路。

下载文件开发环境地图并使用

teckit_compile DevRom.map

将生成的文件复制DevRom.tec到 xetex 可以找到的地方并运行texhash

使用示例:

\documentclass{standalone}
\usepackage{polyglossia} 
\setdefaultlanguage{english} 
\setotherlanguage{sanskrit} 
\usepackage{xltxtra}
\usepackage{fontspec}
\setmainfont{Gentium}
\newfontfamily\devanagarifont[Script=Devanagari]{nakula.ttf}
\newfontfamily\devtransl[Script=Roman,Mapping=DevRom]{Gentium}
\begin{document}
\def\devanagarisample{%
उदु ज्योतिरमृतं विश्वजन्यं विश्वानरः सविता देवो अश्रेत् ।
क्रत्वा देवानामजनिष्ट चक्षुराविरकर्भुवनं विश्वमुषाः ॥ १ ॥
प्र मे पन्था देवयाना अदृश्रन्नमर्धन्तो वसुभिरिष्कृतासः ।
अभूदु केतुरुषसः पुरस्तात्प्रतीच्यागादधि हर्म्येभ्यः ॥ २ ॥ 
}
%\devscript
\noindent\textsanskrit\devanagarisample

\devtransl
\noindent\devanagarisample
\end{document}

输出:

来自同一来源的梵文和音译样本

重要的行是

\newfontfamily\devanagarifont[Script=Devanagari]{nakula.ttf}
\newfontfamily\devtransl[Script=Roman,Mapping=DevRom]{Gentium}

其中我们定义用于打印天城文的字体命令polyglossia和用于打印音译的命令。

如果您希望使用其他音译方法输出,您可以轻松地自己调整映射方法,表格中有几行

U+093D <> U+0027 ;unstyled apostrophe  

其中是输入代码,然后是输出代码,分号后面是注释。只需交换输入和输出代码即可。

答案2

是的,我们确实有一个可以自动完成音译的软件包。

截屏

尝试韓國包裹。

相关内容