\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}{ langtag=SAN, hyphennames={sanskrit,prakrit}, hyphenmins={1,3}, frenchspacing=true, fontsetup=false, % will be done below localnumeral=sanskritnumerals } \define@key{sanskrit}{Script}[Devanagari]{% \ifcsdef{fontsetup@sanskrit@#1}% {\csname fontsetup@sanskrit@#1\endcsname}% {\xpg@error{`#1' is not a valid script for Sanskrit}% }% } \define@key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}} \def\fontsetup@sanskrit@Devanagari{% \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Gujarati{% \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Malayalam{% \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Bengali{% \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Kannada{% \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Telugu{% \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu} \xpg@fontsetup@nonlatin{sanskrit}} \def\fontsetup@sanskrit@Latin{% \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin} \xpg@fontsetup@latin{sanskrit}} \setkeys{sanskrit}{Script} %sets the default for Devanagari \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'}} \newcommand{\sanskritnumerals}[2]{\sanskritnumber{#2}} \def\sanskritnumber#1{% \ifsanskrit@devanagari@numerals \devanagaridigits{\number#1}% \else \number#1% \fi% } \ifluatex \directlua{require('polyglossia-sanskrit')}% \else \newXeTeXintercharclass\sanskrit@punctthin % ! ? ‼ ⁇ ⁈ ⁉ : ; danda double_danda \fi \def\sanskrit@punctthinspace{{\unskip\thinspace}} \def\sanskrit@punctuation{% \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 % danda, U+0964 \XeTeXcharclass `\॥ \sanskrit@punctthin % double danda, U+0965 \XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace \fi } \def\nosanskrit@punctuation{% \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@ \XeTeXinterchartokenstate=0% \fi } \def\noextras@sanskrit{% \nosanskrit@punctuation% } \def\blockextras@sanskrit{% \sanskrit@punctuation% } \endinput