|
|
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for persian]
|
|
|
\ifluatex
|
|
|
\xpg@warning{Persian 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{farsical}
|
|
|
\RequirePackage{hijrical}
|
|
|
\PolyglossiaSetup{persian}{
|
|
|
bcp47=fa,
|
|
|
babelname=farsi,
|
|
|
script=Arabic,
|
|
|
direction=RL,
|
|
|
scripttag=arab,
|
|
|
langtag=FAR,
|
|
|
hyphennames={nohyphenation},
|
|
|
fontsetup=true,
|
|
|
localnumeral=farsinumerals
|
|
|
}
|
|
|
|
|
|
% BCP-47 compliant aliases
|
|
|
\setlanguagealias*{persian}{fa}
|
|
|
|
|
|
% Babel and backwards compat. alias
|
|
|
\setlanguagealias{persian}{farsi}
|
|
|
|
|
|
\newif\if@western@numerals
|
|
|
\def\tmp@western{western}
|
|
|
\define@key{persian}{numerals}[eastern]{%
|
|
|
\def\@tmpa{#1}%
|
|
|
\ifx\@tmpa\tmp@western\@western@numeralstrue\else%
|
|
|
\@western@numeralsfalse%
|
|
|
\fi}
|
|
|
|
|
|
%this is needed for \abjad in arabicnumbers.sty
|
|
|
\def\tmp@true{true}
|
|
|
\define@key{persian}{abjadjimnotail}[true]{%
|
|
|
\def\@tmpa{#1}%
|
|
|
\ifx\@tmpa\tmp@true\abjad@jim@notailtrue%
|
|
|
\else
|
|
|
\abjad@jim@notailfalse
|
|
|
\fi}
|
|
|
|
|
|
% NOT YET USED
|
|
|
\define@key{persian}{locale}[default]{%
|
|
|
\def\@persian@locale{#1}}
|
|
|
|
|
|
%TODO add option for CALENDAR
|
|
|
|
|
|
% Register default options
|
|
|
\xpg@initialize@gloss@options{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
|
|
|
|
|
|
\def\farsigregmonth#1{\ifcase#1%
|
|
|
\or ژانویه\or فوریه\or مارس\or آوریل\or مه\or ژوئن\or ژوئیه\or اوت\or سپتامبر\or اکتبر\or نوامبر\or دسامبر\fi}
|
|
|
\def\farsimonth#1{\ifcase#1%
|
|
|
\or کانون ثانی\or شباط\or اذار%%or ادار
|
|
|
\or نیسان\or ایار\or حزیران\or تموز\or آب\or ایلول\or تشرین اول\or تشرین ثانی\or کانون اول\fi}
|
|
|
|
|
|
%\Hijritoday is now locale-aware and will format the date with this macro:
|
|
|
\DefineFormatHijriDate{persian}{\@ensure@RTL{%
|
|
|
\farsinumber{\value{Hijriday}}\space\HijriMonthArabic{\value{Hijrimonth}}\space\farsinumber{\value{Hijriyear}}}}
|
|
|
|
|
|
\def\captionspersian{%
|
|
|
\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\datepersian{%
|
|
|
\def\today{\@ensure@RTL{\farsinumber\day\space\farsigregmonth{\month}\space\farsinumber\year}}%
|
|
|
}
|
|
|
|
|
|
\newcommand{\farsinumerals}[2]{\farsinumber{#2}}
|
|
|
|
|
|
\def\farsinumber#1{%
|
|
|
\if@western@numerals
|
|
|
\number#1%
|
|
|
\else
|
|
|
\xpg@if@char@available{06F0}%
|
|
|
{\farsidigits{\number#1}}%
|
|
|
{\arabicdigits{\number#1}}%
|
|
|
\fi
|
|
|
}
|
|
|
|
|
|
%\def\farsinum#1{\expandafter\farsinumber\csname c@#1\endcsname}
|
|
|
%\def\farsibracenum#1{(\expandafter\farsinumber\csname c@#1\endcsname)}
|
|
|
%\def\farsiornatebracenum#1{\char"FD3E\expandafter\farsinumber\csname c@#1\endcsname\char"FD3F}
|
|
|
%\def\farsialph#1{\expandafter\@farsialph\csname c@#1\endcsname}
|
|
|
|
|
|
\def\persian@numbers{%
|
|
|
\let\@alph\abjad%
|
|
|
\let\@Alph\abjad%
|
|
|
}
|
|
|
|
|
|
\def\nopersian@numbers{%
|
|
|
\let\@alph\@latinalph%
|
|
|
\let\@Alph\@latinAlph%
|
|
|
}
|
|
|
|
|
|
\def\persian@globalnumbers{%
|
|
|
\let\@arabic\farsinumber%
|
|
|
\renewcommand\thefootnote{\localnumeral*{footnote}}%
|
|
|
\renewcommand\theequation{\localnumeral*{equation}}%
|
|
|
}
|
|
|
|
|
|
% Store original definition
|
|
|
\let\xpg@save@arabic\@arabic
|
|
|
|
|
|
\def\nopersian@globalnumbers{
|
|
|
\let\@arabic\xpg@save@arabic%
|
|
|
}
|
|
|
|
|
|
% Save original \MakeUppercase definition
|
|
|
\let\xpg@save@MakeUppercase\MakeUppercase
|
|
|
|
|
|
\def\blockextras@persian{%
|
|
|
\def\MakeUppercase##1{##1}%
|
|
|
}
|
|
|
|
|
|
\def\noextras@persian{%
|
|
|
% restore original \MakeUppercase definition
|
|
|
\let\MakeUppercase\xpg@save@MakeUppercase
|
|
|
}
|
|
|
\endinput
|
|
|
|