summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf')
-rw-r--r--Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf209
1 files changed, 209 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
new file mode 100644
index 00000000000..9ffc71b16ef
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
@@ -0,0 +1,209 @@
+\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for arabic]
+\RequirePackage{bidi}
+\RequirePackage{arabicnumbers}
+\RequirePackage{hijrical}
+
+\PolyglossiaSetup{arabic}{
+ script=Arabic,
+ direction=RL,
+ langtag=ARA,
+ scripttag=arab,
+ hyphennames={nohyphenation},
+ fontsetup=true
+ %TODO localalph={abjad,abjad}
+ %TODO localnumber=arabicnumber
+}
+
+\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%
+ \else
+ \ifx\@tmpa\tmp@algeria%
+ \eastern@numeralsfalse%
+ \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}}%
+
+% This should set the defaults
+\setkeys{arabic}{locale,calendar,numerals,hijricorrection,abjadjimnotail=false}
+
+\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}}
+
+\def\arabicnumber#1{%
+ \ifeastern@numerals
+ \arabicdigits{\number#1}%
+ \else
+ %%\RL{\protect\reset@font\number#1}%
+ \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\@origalph\@alph%
+ \let\@origAlph\@Alph%
+ \let\@alph\abjad%
+ \let\@Alph\abjad%
+}
+\def\noarabic@numbers{%
+ \let\@alph\@origalph%
+ \let\@Alph\@origAlph%
+ }
+
+\def\arabic@globalnumbers{%
+ \let\orig@arabic\@arabic%
+ \let\@arabic\arabicnumber%
+ \renewcommand\thefootnote{\protect\arabicnumber{\c@footnote}}%
+ }
+
+\def\noarabic@globalnumbers{
+ \let\@arabic\orig@arabic%
+ \renewcommand\thefootnote{\protect\number{\c@footnote}}%
+ }
+
+\def\blockextras@arabic{%
+ \let\orig@MakeUppercase\MakeUppercase%
+ \def\MakeUppercase##1{##1}%
+ % TODO disable \@Roman and \@roman ?
+ }
+\def\noextras@arabic{%
+ \let\MakeUppercase\orig@MakeUppercase%
+ }
+
+\endinput