diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf')
-rw-r--r-- | Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf new file mode 100644 index 00000000000..a874e3943ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf @@ -0,0 +1,151 @@ +\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}{ + babelname=farsi, + script=Arabic, + direction=RL, + scripttag=arab, + langtag=FAR, + hyphennames={nohyphenation}, + fontsetup=true, + localnumeral=farsinumerals +} + +\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 + +\setkeys{persian}{locale,numerals} + +\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}} + +\newif\ifpersiandigits + +\def\farsinumber#1{% + \if@western@numerals + \number#1% + \else + \ifxetex + \ifnum\XeTeXcharglyph"06F0 > 0\relax + \persiandigitstrue + \fi + \else\ifluatex + \expandafter\ifnum\directlua{polyglossia.check_char(0x6F0)} > 0\relax + \persiandigitstrue + \fi + \fi\fi + \ifpersiandigits + \farsidigits{\number#1}% + %%{\protect\addfontfeature{Mapping=farsidigits}\number#1}% + \else% + \arabicdigits{\number#1}% + %%{\protect\addfontfeature{Mapping=arabicdigits}\number#1}% + \fi + \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 |