summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-10-28 20:58:49 +0000
committerKarl Berry <karl@freefriends.org>2019-10-28 20:58:49 +0000
commitffd652038baef26fb84de26fce9991a02e875485 (patch)
treec02e3f8fde2e20bb8ba3cc9ab3216e609648e350 /Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
parentcffa8e2910c5d2a7b6b26032eef37d9e18b8b72d (diff)
polyglossia (28oct19)
git-svn-id: svn://tug.org/texlive/trunk@52555 c570f23f-e606-0410-a88d-b1316a301751
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{%