summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf53
1 files changed, 35 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
index 0f988f69fa9..7d38e3b0b7d 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
@@ -24,6 +24,8 @@ and may look very wrong.}
}%
}
+\define@key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
+
\def\fontsetup@sanskrit@Devanagari{%
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari}
\xpg@fontsetup@nonlatin{sanskrit}}
@@ -48,16 +50,20 @@ and may look very wrong.}
\setkeys{sanskrit}{Script} %sets the default for Devanagari
-\def\tmp@western{Western}
+
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
+\define@choicekey*+{sanskrit}{numerals}[\val\nr]{Devanagari,Western}[Devanagari]{%
+ \ifcase\nr\relax
+ % Devanagari:
+ \sanskrit@devanagari@numeralstrue%
+ \or
+ % Western:
+ \sanskrit@devanagari@numeralsfalse%
+ \fi
+ \xpg@info{Option: Sanskrit, numerals=\val}%
+}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
-\define@key{sanskrit}{numerals}[Devanagari]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \sanskrit@devanagari@numeralsfalse
- \fi%
-}
\newcommand{\sanskritnumerals}[2]{\sanskritnumber{#2}}
@@ -69,34 +75,45 @@ and may look very wrong.}
\fi%
}
-% FIXME: Support LuaTeX
-\ifxetex
- \newXeTeXintercharclass\sanskrit@punctthin % ! ? ; : danda double_danda
+\ifluatex
+ \directlua{require('polyglossia-sanskrit')}%
+\else
+ \newXeTeXintercharclass\sanskrit@punctthin % ! ? ‼ ⁇ ⁈ ⁉ : ; danda double_danda
\fi
\def\sanskrit@punctthinspace{{\unskip\thinspace}}
\def\sanskrit@punctuation{%
- % FIXME: Support LuaTeX
- \ifxetex
+ \ifluatex
+ \directlua{polyglossia.activate_sanskrit_punct()}%
+ \else
\XeTeXinterchartokenstate=1%
\XeTeXcharclass `\! \sanskrit@punctthin
\XeTeXcharclass `\? \sanskrit@punctthin
- \XeTeXcharclass `\; \sanskrit@punctthin
+ \XeTeXcharclass `\‼ \sanskrit@punctthin
+ \XeTeXcharclass `\⁇ \sanskrit@punctthin
+ \XeTeXcharclass `\⁈ \sanskrit@punctthin
+ \XeTeXcharclass `\⁉ \sanskrit@punctthin
\XeTeXcharclass `\: \sanskrit@punctthin
- \XeTeXcharclass `\। \sanskrit@punctthin
- \XeTeXcharclass `\॥ \sanskrit@punctthin
+ \XeTeXcharclass `\; \sanskrit@punctthin
+ \XeTeXcharclass `\। \sanskrit@punctthin % danda, U+0964
+ \XeTeXcharclass `\॥ \sanskrit@punctthin % double danda, U+0965
\XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
\fi
}
\def\nosanskrit@punctuation{%
- % FIXME: Support LuaTeX
- \ifxetex
+ \ifluatex
+ \directlua{polyglossia.deactivate_sanskrit_punct()}%
+ \else
\XeTeXcharclass `\! \z@
\XeTeXcharclass `\? \z@
- \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\‼ \z@
+ \XeTeXcharclass `\⁇ \z@
+ \XeTeXcharclass `\⁈ \z@
+ \XeTeXcharclass `\⁉ \z@
\XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\; \z@
\XeTeXcharclass `\। \z@
\XeTeXcharclass `\॥ \z@
\XeTeXinterchartokenstate=0%