我希望能够通过选择polyglossia
罗马字母中的梵文,从而获得一些合理的默认连字规则,如下所示,按优先顺序排列:
ai
,,,,,,,,,,,,,应被au
视为单个字母kh
,且不应加gh
连字符。ch
jh
ṭh
ḍh
th
dh
ph
bh
a
每个元音 ( ,ā
,i
,ī
,u
,ū
,ṛ
,ṝ
,ḷ
,ḹ
,e
,ai
, )后均可使用连字符,o
但au
前提是后面没有 Anusvāra (ṃ
) 或 Visarga (ḥ
),后两种情况下可使用连字符后仅限这两个修饰符。人们可以想到一个可扩展的字符串列表,在这个列表之后,辅音后也可以使用连字符,想到的前缀有
sam
,,,,可能有二十个,但也有出现在复合词中的词(梵语的典型特征),将这些词包括在内后,建立这样一个列表的任务就变得无穷无尽了。nir
abhy
前两个已经可以减轻无数使用音译梵语的梵语学者的工作负担,到目前为止,他们需要通过自由连字符手动处理连字符。我不介意开始这项工作,但我需要一些指点,我也想听听其他印度学家对此的想法。
更新:尝试加载现有模式:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{sanskrit}
\newfontfamily\devanagarifont{FreeSerif}
\begin{document}
something
\begin{sanskrit}
kiṃcit
\end{sanskrit}
\end{document}
我的日志中出现以下相关行:
(/usr/local/texlive/2015/texmf-dist/tex/latex/polyglossia/gloss-english.ldf)
(/usr/local/texlive/2015/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
(/usr/local/texlive/2015/texmf-dist/tex/latex/polyglossia/devanagaridigits.sty)
Package polyglossia Warning: No hyphenation patterns were loaded for `Sanskrit'
(polyglossia) I will use \language=\l@nohyphenation instead on input line 11.
Package polyglossia Warning: \setlocalhyphenmin useless for unhyphenated language sanskrit on input line 11.
编辑:
我的笔记本电脑没有安装完整的 TeX Live,但对和tlmgr install hyphen-sanskrit
做了必要的更改(我相信),然后会重新生成格式文件。之后它似乎可以正常工作。language.dat
language.def
fmtutil --all
答案1
正如问题评论中所指出的那样,梵语的连字模式也可以处理音译。以下是避免警告的示例devanagari font
:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{sanskrit}
\newfontfamily\sanskritfont{Latin Modern Roman}
\begin{document}
something
\begin{sanskrit}
kiṃcit
\end{sanskrit}
\end{document}
然而,如果人们不需要
\newfontfamily\sanskritfont{Latin Modern Roman}
行,至于切换,例如在英语和德语之间,不需要处理字体。