summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf')
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf162
1 files changed, 162 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
new file mode 100644
index 00000000000..57e312cd6f9
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-syriac.ldf
@@ -0,0 +1,162 @@
+\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for syriac]
+\RequirePackage{bidi}
+\makeatletter
+
+\ifx\l@syriac\@undefined
+ \xpg@nopatterns{Syriac}%
+ \adddialect\l@syriac0
+\fi
+
+\def\syriac@RL{\relax}
+
+
+\newif\if@eastern@numerals
+\def\tmp@eastern{eastern}
+\define@key{syriac}{numerals}[western]{%
+ \def\@tmpa{#1}%
+ \ifx\@tmpa\tmp@eastern%
+ \@eastern@numeralstrue%
+ \else%
+ \@eastern@numeralsfalse%
+ \fi}
+
+\setkeys{syriac}{numerals}
+
+\def\syriac@font{%
+ \@ifundefined{syriacfont}{%
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@check@ot@script{syrc}%
+ \if@tempswa%
+ \addfontfeature{Script=Syriac}%
+ \else%
+ \PackageError{polyglossia}{^^J
+ The current font does not contain the Syriac script!^^J
+ Please define \string\syriacfont\space with \string\newfontfamily}%
+ \fi%
+ }%
+ {\syriacfont}%
+}
+
+\def\selectnormalfontsyriac{%
+ \let\normalfont=\syriac@font%
+ \let\rmfamily=\syriac@font%
+ % TODO add setup to define Sans and Mono Syriac fonts if desired
+ \let\sffamily=\syriac@font%
+ \let\ttfamily=\syriac@font%
+ \def\reset@font{\normalfont}}
+
+%\define@key{polyglossia}{syriaclocale}[default]{%
+% \def\@syriac@locale{#1}}
+%
+%\def\captionssyriac{%
+%\def\prefacename{\@ensure@RL{}}%
+%\def\refname{\@ensure@RL{}}
+%\def\abstractname{\@ensure@RL{}}%
+%\def\bibname{\@ensure@RL{}}%
+%\def\chaptername{\@ensure@RL{}}%
+%\def\appendixname{\@ensure@RL{}}%
+%\def\contentsname{\@ensure@RL{}}
+%%\def\contentsname{\@ensure@RL{}}%
+%\def\listfigurename{\@ensure@RL{}}%
+%\def\listtablename{\@ensure@RL{}}%
+%\def\indexname{\@ensure@RL{}}%
+%\def\figurename{\@ensure@RL{}}%
+%\def\tablename{\@ensure@RL{}}%
+%\def\partname{\@ensure@RL{}}%
+%\def\enclname{\@ensure@RL{}}%<-- Needs translation
+%\def\ccname{\@ensure@RL{}}% <<
+%\def\headtoname{\@ensure@RL{}}%<-- Needs translation
+%\def\pagename{\@ensure@RL{}}%
+%\def\seename{\@ensure@RL{}}%\alefhamza\nun\za\ra
+%\def\alsoname{\@ensure@RL{}}%<<\alefhamza\nun\za\ra
+%\def\proofname{\@ensure@RL{}}%
+%\def\glossaryname{\@ensure@RL{}}%<<
+%}
+
+\def\datesyriac{%
+ \def\syriac@month##1{\ifcase##1%
+ \or ܟܢܘܢ ܐܚܪܝ\or ܫܒܛ\or ܐܕܪ\or ܢܝܣܢ\or ܐܝܪ\or ܚܙܝܪܢ\or ܬܡܘܙ\or ܐܒ\or ܐܝܠܘܠ% ܐܠܘܠ
+ \or ܬܫܪܝܢ ܩܕܡ% ܬܫܪܝܢ ܩܕܝܡ
+ \or ܬܫܪܝܢ ܐܚܪܝ\or ܟܢܘܢ ܩܕܡ% ܟܢܘܢ ܩܕܝܡ
+ \fi}
+ \def\today{\@ensure@RL{\syriacnumber\day\space\syriac@month{\month}\space\syriacnumber\year}}
+}
+
+\def\syriac@zero{}
+
+\def\abjadsyriac#1{%
+\ifnum#1>499 \PackageWarning{polyglossia}{Illegal value (#1) for Syriac abjad numeral} {#1}
+\else
+ \ifnum#1<\z@\space\PackageWarning{polyglossia}{Illegal value (#1) for Syriac abjad numeral}%
+ \else
+ \ifnum#1<10\expandafter\abj@syr@num@i\number#1%
+ \else
+ \ifnum#1<100\expandafter\abj@syr@num@ii\number#1%
+ \else
+ \expandafter\abj@syr@num@iii\number#1%
+ \fi
+ \fi
+ \fi
+\fi
+}
+\def\abj@syr@num@i#1{%
+ \ifcase#1\or\char"0710 \or\char"0712 \or\char"0713 \or\char"0715 %
+ \or\char"0717 \or\char"0718 \or\char"0719 \or\char"071A \or\char"071B\fi
+ \ifnum#1=\z@\syriac@zero\fi}
+\def\abj@syr@num@ii#1{%
+ \ifcase#1\or\char"071D \or\char"071F \or\char"0720 \or\char"0721 \or\char"0722 %
+ \or\char"0723 \or\char"0725 \or\char"0726 \or\char"0728 \fi
+ \ifnum#1=\z@\fi\abj@syr@num@i}
+\def\abj@syr@num@iii#1{%
+ \ifcase#1\or\char"0729 \or\char"072A \or\char"072B \or\char"072C \fi
+ \ifnum#1=\z@\fi\abj@syr@num@ii}
+
+\def\syriacnumber#1{%
+ \if@eastern@numerals{%
+ \ifnum\XeTeXcharglyph"0661 > 0%
+ %%% we test for the presence of one of ١٢٣٤٥٦٧٨٩٠ in the Syriac font,
+ %%% else we try \arabicfont if defined (and give a warning),
+ %%% else we fall back to the Western numerals.
+ \protect\addfontfeature{Mapping=arabicdigits}\number#1}%
+ \else%
+ \ifcsdef{arabicfont}%
+ {{\protect\arabicfont\protect\addfontfeature{Mapping=arabicdigits}%
+ \number#1}%
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: I am using \string\arabicfont instead}}%
+ {\RL{\reset@font\number#1}%
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: since \string\arabicfont is not defined, we'll use Western numerals instead}}
+ \fi
+ \else%
+ \RL{\reset@font\number#1}%
+ \fi}
+
+\def\syriac@globalnumbers{%
+ \let\@latinarabic\@arabic%
+ \let\@arabic\syriacnumber%
+ \renewcommand\thefootnote{\protect\syriacnumber{\c@footnote}}%
+ }
+\def\nosyriac@globalnumbers{
+ \let\@arabic\@latinarabic%
+ }
+\def\syriac@numbers{%
+ \let\@latinalph\@alph%
+ \let\@latinAlph\@Alph%
+ \let\@alph\abjadsyriac%
+ \let\@Alph\abjadsyriac%
+}
+\def\nosyriac@numbers{%
+ \let\@alph\@latinalph%
+ \let\@Alph\@latinAlph%
+ }
+
+\def\syriac@language{\language=\l@syriac}
+
+\def\blockextras@syriac{%
+ \let\@@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+ }
+\def\noextras@syriac{%
+ \let\MakeUppercase\@@MakeUppercase%
+ }
+
+\endinput