\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for arabic] \ifluatex \xpg@warning{Arabic 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 \RequireBidi \RequirePackage{arabicnumbers} \RequirePackage{hijrical} \PolyglossiaSetup{arabic}{ bcp47=ar, script=Arabic, direction=RL, langtag=ARA, scripttag=arab, hyphennames={nohyphenation}, fontsetup=true, envname=Arabic, localnumeral=arabicnumerals %TODO localalph={abjad,abjad} } % BCP-47 compliant aliases \setlanguagealias*{arabic}{ar} \setlanguagealias*[locale=mashriq]{arabic}{ar-IQ} \setlanguagealias*[locale=default]{arabic}{ar-YE} \setlanguagealias*[locale=mashriq]{arabic}{ar-LB} \setlanguagealias*[locale=mashriq]{arabic}{ar-JO} \setlanguagealias*[locale=default]{arabic}{afb} \setlanguagealias*[locale=mauritania]{arabic}{ar-MR} \setlanguagealias*[locale=default]{arabic}{arz} \setlanguagealias*[locale=morocco]{arabic}{ary} \setlanguagealias*[locale=algeria]{arabic}{arq} \setlanguagealias*[locale=tunisia]{arabic}{aeb} \setlanguagealias*[locale=mashriq]{arabic}{ar-SY} \setlanguagealias*[locale=libya]{arabic}{ayl} \setlanguagealias*[locale=default]{arabic}{apd} \setlanguagealias*[locale=mashriq]{arabic}{ar-PS} \newif\ifeastern@numerals \def\tmp@mashriq{mashriq} \def\tmp@maghrib{maghrib} \define@key{arabic}{numerals}[mashriq]{% \def\@tmpa{#1}% \ifx\@tmpa\tmp@mashriq% \eastern@numeralstrue% \else \ifx\@tmpa\tmp@maghrib\eastern@numeralsfalse\fi% \fi} %this is needed for \abjad in arabicnumbers.sty \def\tmp@true{true} \define@key{arabic}{abjadjimnotail}[true]{% \def\@tmpa{#1}% \ifx\@tmpa\tmp@true\abjad@jim@notailtrue% \else \abjad@jim@notailfalse \fi} \def\tmp@morocco{morocco} \def\tmp@algeria{algeria} \define@key{arabic}{locale}[default]{% \def\@tmpa{#1}% \ifx\@tmpa\tmp@morocco% \eastern@numeralsfalse% \SetLanguageKeys{arabic}{bcp47=ary}% \else \ifx\@tmpa\tmp@algeria% \eastern@numeralsfalse% \SetLanguageKeys{arabic}{bcp47=arq}% \fi% \fi% \gdef\@@arabic@month{\@arabic@month{#1}}} \newif\if@hijrical \def\tmp@hijri{hijri} \def\tmp@islamic{islamic} \define@key{arabic}{calendar}[gregorian]{% \def\@tmpa{#1}% \ifx\@tmpa\tmp@hijri\@hijricaltrue% \else \ifx\@tmpa\tmp@islamic\@hijricaltrue% \else\@hijricalfalse% \fi \fi} \define@key{arabic}{hijricorrection}[0]{% \gdef\@hijri@correction{#1}}% % Register default options \xpg@initialize@gloss@options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false} % Register alias options \xpg@set@alias@values{arabic}{calendar}{islamic}{hijri} \def\arabicgregmonth@default#1{\ifcase#1% % Egypt, Sudan, Yemen and Golf states \or يناير\or فبراير\or مارس\or أبريل\or مايو\or يونيو\or يوليو\or أغسطس\or سبتمبر\or أكتوبر\or نوفمبر\or ديسمبر\fi} \def\arabicgregmonth@mashriq#1{\ifcase#1% % Iraq Syria Jordan Lebanon Palestine \or كانون الثاني\or شباط\or آذار\or نيسان\or أيار\or حزيران\or تموز\or آب\or أيلول\or تشرين الأول\or تشرين الثاني\or كانون الأول\fi} \def\arabicgregmonth@libya#1{\ifcase#1% %Lybia «تعرف في ليبيا بأسماء عربية وضعها معمر القذافي ترمز إلى فصول السنة وبعض الشخصيات التاريخية» (ar.wikipedia.org) \or أي النار\or النوار\or الربيع\or الطير\or الماء\or الصيف\or ناصر\or هانيبال\or الفاتح\or التمور\or الحرث\or الكانون\fi} \def\arabicgregmonth@morocco#1{\ifcase#1% \or يناير\or فبراير\or مارس\or أبريل\or ماي\or يونيو\or يوليوز\or غشت\or شتنبر\or أكتوبر\or نونبر\or دجنبر\fi} \def\arabicgregmonth@algeria#1{\ifcase#1% % Tunisia and Algeria \or جانفي\or فيفري\or مارس\or أفريل\or ماي\or جوان\or جويلية\or أوت\or سبتمبر\or أكتوبر\or نوفمبر\or ديسمبر\fi} \let\arabicgregmonth@tunisia\arabicgregmonth@algeria \def\arabicgregmonth@mauritania#1{\ifcase#1% \or يناير\or فبراير\or مارس\or إبريل\or مايو\or يونيو\or يوليو\or أغشت\or شتمبر\or أكتوبر\or نوفمبر\or دجمبر\fi} \def\@arabic@month#1{\ifcsdef{arabicgregmonth@#1}{\expandafter\csname arabicgregmonth@#1\endcsname}% {\xpg@warning{Option `locale=#1' is not defined for Arabic: using `default' instead}% \arabicgregmonth@default}} %\Hijritoday is now locale-aware and will format the date with this macro: \DefineFormatHijriDate{arabic}{\@ensure@RTL{\arabicnumber{\value{Hijriday}}% \space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicnumber{\value{Hijriyear}}}} \def\captionsarabic{% \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\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{المرفقات}}%<-- Needs translation \def\ccname{\@ensure@RTL{نسخة ل‬}}% << \def\headtoname{\@ensure@RTL{إلى}}%<-- Needs translation \def\pagename{\@ensure@RTL{صفحة}}% \def\seename{\@ensure@RTL{راجع}}%\alefhamza\nun\za\ra \def\alsoname{\@ensure@RTL{راجع أيضًا}}%<<\alefhamza\nun\za\ra \def\proofname{\@ensure@RTL{برهان}}% \def\glossaryname{\@ensure@RTL{قاموس}}%<< } \def\datearabic{% \def\today{% \if@hijrical% \Hijritoday[\@hijri@correction]% \else% \if@RTL% \arabicnumber\day\space\@@arabic@month{\month}% \space\arabicnumber\year% \else% in LR environment we format the gregorian date within \textenglish \ifcsdef{english@loaded}{\textenglish{\today}}%else US format {\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or% July\or August\or September\or October\or November\or December\fi% \space\number\day,\space\number\year}% \fi% \fi}} \newcommand{\arabicnumerals}[2]{\arabicnumber{#2}} \def\arabicnumber#1{% \ifeastern@numerals \@ensure@dir{\arabicdigits{\number#1}}% \else \number#1% \fi} \def\@ornatebracearabic#1{\RL{\char"FD3F\@arabic#1\char"FD3E}} \def\@ornatebracealph#1{\RL{\char"FD3F\@alph#1\char"FD3E}} \def\abjadmaghribi#1{% \ifnum#1>1999\xpg@ill@value{#1}{abjad}% \else \ifnum#1<\z@\space\xpg@ill@value{#1}{abjad}% \else \ifnum#1<10\expandafter\abj@num@i\number#1% \else \ifnum#1<100\expandafter\abj@maghribi@num@ii\number#1% \else \ifnum#1<\@m\expandafter\abj@maghribi@num@iii\number#1% \else \ifnum#1<\@M\expandafter\abj@maghribi@num@iv\number#1% \fi \fi \fi \fi \fi \fi } %maghribi س -> ص ص -> ض ش -> س ض -> ظ ظ -> غ غ -> ش \def\abj@maghribi@num@ii#1{% \ifcase#1\or ي\or ك\or ل\or م\or ن% \or ص\or ع\or ف\or ض\fi \ifnum#1=\z@\abjad@zero\fi\abj@num@i} \def\abj@maghribi@num@iii#1{% \ifcase#1\or ق\or ر\or س\or ت\or ث% \or خ\or ذ\or ظ\or غ\fi \ifnum#1=\z@\fi\abj@maghribi@num@ii} \def\abj@maghribi@num@iv#1{% \ifcase#1\or ش\fi \ifnum#1=\z@\fi\abj@maghribi@num@iii} \def\arabic@numbers{% \let\@alph\abjad% \let\@Alph\abjad% } \def\noarabic@numbers{% \let\@alph\latin@alph% \let\@Alph\latin@Alph% } % Store original definition \let\xpg@save@arabic\@arabic \def\arabic@globalnumbers{% \let\@arabic\arabicnumber% \renewcommand\thefootnote{\localnumeral*{footnote}}% \renewcommand\theequation{\localnumeral*{equation}}% } \def\noarabic@globalnumbers{% \let\@arabic\xpg@save@arabic% } % Save original \MakeUppercase definition \let\xpg@save@MakeUppercase\MakeUppercase \def\blockextras@arabic{% \def\MakeUppercase##1{##1}% % TODO disable \@Roman and \@roman ? } \def\noextras@arabic{% % restore original \MakeUppercase definition \let\MakeUppercase\xpg@save@MakeUppercase } \endinput