% Language definition file (part of polyglossia v2.3 -- 2024/09/23) % \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac] \RequireBidi \RequirePackage{arabicnumbers} \PolyglossiaSetup{syriac}{ bcp47=syr, bcp47-language=syr, bcp47-script=Syrc, script=Syriac, scripttag=syrc, langtag=SYR, direction=RL, hyphennames={syriac,nohyphenation}, fontsetup=true, localnumeral=syriacnumerals %TODO localalph } % BCP-47 compliant aliases \setlanguagealias*{syriac}{syr} \def\syriacnumber#1{\@syriacnumber{#1}} \newif\if@eastern@numerals \newif\ifsyriac@customsep\syriac@customsepfalse \def\xpg@sepmark{} \DeclareKeys[polyglossia/gloss/syriac] { sectionsep.code = \gdef\xpg@sepmark{#1}\syriac@customseptrue, sectionsep.default:n = ., numerals.choice:, numerals / eastern.code = {% \@eastern@numeralstrue \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}% }, numerals / western.code = {% \@eastern@numeralsfalse \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}% }, numerals / abjad.code = {% \let\syriacnumber\abjadsyriac }, numerals.default:n = eastern, numerals/unknown.code = \xpg@warning{Unknown Syriac numerals option `#1'} } % Register default options \InitializeGlossOptions{syriac}{numerals=western} %\define@key{polyglossia}{syriaclocale}[default]{% % \def\@syriac@locale{#1}} % %\def\captionssyriac{% %\def\prefacename{\@ensure@RTL{}}% %\def\refname{\@ensure@RTL{}} %\def\abstractname{\@ensure@RTL{}}% %\def\bibname{\@ensure@RTL{}}% %\def\chaptername{\@ensure@RTL{}}% %\def\appendixname{\@ensure@RTL{}}% %\def\contentsname{\@ensure@RTL{}} %\def\listfigurename{\@ensure@RTL{}}% %\def\listtablename{\@ensure@RTL{}}% %\def\indexname{\@ensure@RTL{}}% %\def\figurename{\@ensure@RTL{}}% %\def\tablename{\@ensure@RTL{}}% %\def\partname{\@ensure@RTL{}}% %\def\enclname{\@ensure@RTL{}}% %\def\ccname{\@ensure@RTL{}}% %\def\headtoname{\@ensure@RTL{}}% %\def\pagename{\@ensure@RTL{}}% %\def\seename{\@ensure@RTL{}}% %\def\alsoname{\@ensure@RTL{}}% %\def\proofname{\@ensure@RTL{}}% %\def\glossaryname{\@ensure@RTL{}}% %} \def\datesyriac{% \def\syriac@month##1{\ifcase##1% \or ܟܢܘܢ ܐܚܪܝ\or ܫܒܛ\or ܐܕܪ\or ܢܝܣܢ\or ܐܝܪ\or ܚܙܝܪܢ\or ܬܡܘܙ\or ܐܒ\or ܐܝܠܘܠ% ܐܠܘܠ \or ܬܫܪܝܢ ܩܕܡ% ܬܫܪܝܢ ܩܕܝܡ \or ܬܫܪܝܢ ܐܚܪܝ\or ܟܢܘܢ ܩܕܡ% ܟܢܘܢ ܩܕܝܡ \fi}% \def\today{\@ensure@RTL{\syriacnumber\day{\space}% \syriac@month{\month}{\space}\syriacnumber\year}}% } \def\syriac@zero{} \def\abjadsyriac#1{% \ifnum#1>9999\xpg@ill@value{#1}{abjadsyriac}% \else% \ifnum#1<\z@\space\xpg@ill@value{#1}{abjadsyriac}% \else% \ifnum#1<10\expandafter\abj@syr@num@i\number#1% \else% \ifnum#1<100\expandafter\abj@syr@num@ii\number#1% \else% \ifnum#1<1000\expandafter\abj@syr@num@iii\number#1% \else% \expandafter\abj@syr@num@iv\number#1% \fi% \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% \or\char"0722\char"0307\or\char"0723\char"0307\or\char"0725\char"0307% \or\char"0726\char"0307\or\char"0728\char"0307\fi \ifnum#1=\z@\fi\abj@syr@num@ii} \def\abj@syr@num@iv#1{% \ifcase#1\or\char"0710\char"0748\or\char"0712\char"0748% \or\char"0713\char"0748\or\char"0715\char"0748% \or\char"0717\char"0748\or\char"0718\char"0748% \or\char"0719\char"0748\or\char"071A\char"0748\or\char"071B\char"0748\fi \ifnum#1=\z@\fi\abj@syr@num@iii} \def\@syriacnumber#1{% \if@eastern@numerals %%% 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. \IfCharIsAvailableTF{0661}% {\@ensure@LTR{\protect\arabicdigits{\number#1}}}% {\@ensure@LTR{\arabicdigits{\number#1}} \@ifundefined{arabicfont}% {\number#1%%% <---changed from \RL{\protect\reset@font\protect\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}}% {\@ensure@LTR{\protect\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}}% }% \else %%\RL{\protect\reset@font\number#1}% \number#1% \fi% } \def\syriac@numbers{% \let\@alph\abjadsyriac% \let\@Alph\abjadsyriac% } \def\nosyriac@numbers{% \let\@alph\latin@alph% \let\@Alph\latin@Alph% } \newcommand{\syriacnumerals}[2]{\syriacnumber{#2}} % Store original definition \let\xpg@save@arabic\@arabic \def\syriac@globalnumbers{% \let\@arabic\syriacnumber% \renewcommand\thefootnote{\localnumeral*{footnote}}% } \def\nosyriac@globalnumbers{% \let\@arabic\xpg@save@arabic% } \def\syriac@xetex@capsformat{% \let\xpg@save@sepmark\@SepMark% \SepMark{\xpg@sepmark} } \def\nosyriac@xetex@capsformat{% \ifcsname xpg@save@sepmark\endcsname% \SepMark{\xpg@save@sepmark} \fi% } \def\syriac@luatex@capsformat{% % % change chapter and part headings \ifsyriac@customsep \ifcsname chapter\endcsname% \let\xpg@save@thesection\thesection% \renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section} \let\xpg@save@theequation\theequation% \renewcommand*\theequation{% \ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation} \let\xpg@save@thefigure\thefigure% \renewcommand*\thefigure{% \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure} \let\xpg@save@thetable\thetable% \renewcommand*\thetable{% \ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table} \fi% \let\xpg@save@thesubsection\thesubsection% \renewcommand\thesubsection {\thesection\xpg@sepmark\@arabic\c@subsection} \let\xpg@save@thesubsubsection\thesubsubsection% \renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection} \let\xpg@save@theparagraph\theparagraph% \renewcommand\theparagraph {\thesubsubsection\xpg@sepmark\@arabic\c@paragraph} \let\xpg@save@thesubparagraph\thesubparagraph% \renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph} \fi% (end \ifsyriac@customsep) } \def\nosyriac@luatex@capsformat{% \ifcsname xpg@save@thesection\endcsname% \let\thesection\xpg@save@thesection% \fi% \ifcsname xpg@save@theequation\endcsname% \let\theequation\xpg@save@theequation% \fi% \ifcsname xpg@save@thefigure\endcsname% \let\thefigure\xpg@save@thefigure% \fi% \ifcsname xpg@save@thetable\endcsname% \let\thetable\xpg@save@thetable% \fi% \ifcsname xpg@save@thesubsection\endcsname% \let\thesubsection\xpg@save@thesubsection% \ifcsname xpg@save@thesubsubsection\endcsname% \let\thesubsubsection\xpg@save@thesubsubsection% \fi% \fi% \ifcsname xpg@save@theparagraph\endcsname% \let\theparagraph\xpg@save@theparagraph% \fi% \ifcsname xpg@save@thesubparagraph\endcsname% \let\thesubparagraph\xpg@save@thesubparagraph% \fi% } \def\blockextras@syriac{% \ifsyriac@customsep \ifxetex \syriac@xetex@capsformat \else \syriac@luatex@capsformat \fi \fi } % \def\noextras@syriac{% \ifsyriac@customsep \ifxetex \nosyriac@xetex@capsformat \else \nosyriac@luatex@capsformat \fi \fi } \endinput