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.ldf99
1 files changed, 61 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
index 3b102d09854..0f988f69fa9 100644
--- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
@@ -1,4 +1,11 @@
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for sanskrit]
+\ifluatex
+ \xpg@warning{Sanskrit is not supported with LuaTeX.\MessageBreak
+I will proceed with the compilation, but\MessageBreak
+the output is not guaranteed to be correct\MessageBreak
+and may look very wrong.}
+\fi
+
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{sanskrit}{
@@ -7,11 +14,10 @@
hyphenmins={1,3},
frenchspacing=true,
fontsetup=false, % will be done below
- %TODO localnumber=sanskritnumber
+ localnumeral=sanskritnumerals
}
\define@key{sanskrit}{Script}[Devanagari]{%
- \setkeys[xpg@setup]{sanskrit}{script=#1}%
\ifcsdef{fontsetup@sanskrit@#1}%
{\csname fontsetup@sanskrit@#1\endcsname}%
{\xpg@error{`#1' is not a valid script for Sanskrit}%
@@ -19,65 +25,82 @@
}
\def\fontsetup@sanskrit@Devanagari{%
- \def\xpg@scripttag@sanskrit{deva}%
+ \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Gujarati{%
- \def\xpg@scripttag@sanskrit{gujr}%
+ \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Malayalam{%
- \def\xpg@scripttag@sanskrit{mlym}%
+ \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Bengali{%
- \def\xpg@scripttag@sanskrit{beng}%
+ \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Kannada{%
- \def\xpg@scripttag@sanskrit{knda}%
+ \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Telugu{%
- \def\xpg@scripttag@sanskrit{telu}%
+ \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu}
\xpg@fontsetup@nonlatin{sanskrit}}
-%% DW
\def\fontsetup@sanskrit@Latin{%
- \def\xpg@scripttag@sanskrit{latn}%
- \xpg@fontsetup@latin{sanskrit}}
-%% DW
+ \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin}
+ \xpg@fontsetup@latin{sanskrit}}
\setkeys{sanskrit}{Script} %sets the default for Devanagari
-%% TODO option for numerals (Devanagari or Western)
-%\def\tmp@western{Western}
-%\newif\ifsanskrit@devanagari@numerals
-%\sanskrit@devanagari@numeralstrue
-%
-%\define@key{sanskrit}{numerals}[Devanagari]{%
-% \def\@tmpa{#1}%
-% \ifx\@tmpa\tmp@western
-% \sanskrit@devanagari@numeralsfalse
-% \fi}
+\def\tmp@western{Western}
+\newif\ifsanskrit@devanagari@numerals
+\sanskrit@devanagari@numeralstrue
+
+\define@key{sanskrit}{numerals}[Devanagari]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@western
+ \sanskrit@devanagari@numeralsfalse
+ \fi%
+}
+
+\newcommand{\sanskritnumerals}[2]{\sanskritnumber{#2}}
+
+\def\sanskritnumber#1{%
+ \ifsanskrit@devanagari@numerals
+ \devanagaridigits{\number#1}%
+ \else
+ \number#1%
+ \fi%
+}
-\newXeTeXintercharclass\sanskrit@punctthin % ! ? ; : danda double_danda
+% FIXME: Support LuaTeX
+\ifxetex
+ \newXeTeXintercharclass\sanskrit@punctthin % ! ? ; : danda double_danda
+\fi
\def\sanskrit@punctthinspace{{\unskip\thinspace}}
\def\sanskrit@punctuation{%
- \XeTeXinterchartokenstate=1%
- \XeTeXcharclass `\! \sanskrit@punctthin
- \XeTeXcharclass `\? \sanskrit@punctthin
- \XeTeXcharclass `\; \sanskrit@punctthin
- \XeTeXcharclass `\: \sanskrit@punctthin
- \XeTeXcharclass `\। \sanskrit@punctthin
- \XeTeXcharclass `\॥ \sanskrit@punctthin
- \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
+ % FIXME: Support LuaTeX
+ \ifxetex
+ \XeTeXinterchartokenstate=1%
+ \XeTeXcharclass `\! \sanskrit@punctthin
+ \XeTeXcharclass `\? \sanskrit@punctthin
+ \XeTeXcharclass `\; \sanskrit@punctthin
+ \XeTeXcharclass `\: \sanskrit@punctthin
+ \XeTeXcharclass `\। \sanskrit@punctthin
+ \XeTeXcharclass `\॥ \sanskrit@punctthin
+ \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
+ \fi
}
\def\nosanskrit@punctuation{%
- \XeTeXcharclass `\! \z@
- \XeTeXcharclass `\? \z@
- \XeTeXcharclass `\; \z@
- \XeTeXcharclass `\: \z@
- \XeTeXcharclass `\। \z@
- \XeTeXcharclass `\॥ \z@
- \XeTeXinterchartokenstate=0%
+ % FIXME: Support LuaTeX
+ \ifxetex
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\। \z@
+ \XeTeXcharclass `\॥ \z@
+ \XeTeXinterchartokenstate=0%
+ \fi
}
\def\noextras@sanskrit{%