summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/arabi/arabiftoday.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/arabi/arabiftoday.sty')
-rw-r--r--Master/texmf-dist/tex/latex/arabi/arabiftoday.sty240
1 files changed, 240 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/arabi/arabiftoday.sty b/Master/texmf-dist/tex/latex/arabi/arabiftoday.sty
new file mode 100644
index 00000000000..85175e0377b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/arabi/arabiftoday.sty
@@ -0,0 +1,240 @@
+% \iffalse meta-comment
+%
+% Copyright 2006 Youssef Jabri
+%
+%
+% This file is part of the `Arabi' system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3b
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3b or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+%
+% \fi
+%
+% Filename: `Arabiftoday.sty' Farsi Jalai date module for use with
+% the Arabi package.
+%
+%% %%%%%%%%%%%%%%%%% MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%%%
+%% just renamed the months properly for use with Arabi
+%% Did not want to use any local encoding, so we used the
+%% internal glyphs names!
+%% And added the control sequence \farsimonth
+%%
+%% Youssef JABRI January 2006
+%%==========================================================
+%%
+%% This file is a part of FarsiTeX, a Persian/English typesetting system.
+%%
+%% Copyright (C) 1996 Hassan Abolhassani
+%% Copyright (C) 1996-2001 Roozbeh Pournader <roozbeh@sharif.edu>
+%% Copytight (C) 2000-2001 Behdad Esfahbod <behdad@bamdad.org>
+%%
+%% FarsiTeX is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation; either version 2 of the License, or
+%% (at your option) any later version.
+%%
+%% FarsiTeX is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License
+%% along with FarsiTeX; if not, write to the Free Software
+%% Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307,
+%% USA.
+%%
+%% Any licensing or usage questions should be directed to Roozbeh
+%% Pournader <roozbeh@sharif.edu>.
+%%
+
+\newif\ifFT@leap \newif\ifFT@kabiseh
+\newcount\FT@i \newcount\FT@y \newcount\FT@m \newcount\FT@d
+\newcount\FT@latini \newcount\FT@farsii
+\newcount\FT@latinii \newcount\FT@farsiii
+\newcount\FT@latiniii \newcount\FT@farsiiii
+\newcount\FT@latiniv \newcount\FT@farsiiv
+\newcount\FT@latinv \newcount\FT@farsiv
+\newcount\FT@latinvi \newcount\FT@farsivi
+\newcount\FT@latinvii \newcount\FT@farsivii
+\newcount\FT@latinviii \newcount\FT@farsiviii
+\newcount\FT@latinix \newcount\FT@farsiix
+\newcount\FT@latinx \newcount\FT@farsix
+\newcount\FT@latinxi \newcount\FT@farsixi
+\newcount\FT@latinxii \newcount\FT@farsixii
+ \newcount\FT@farsixiii
+
+\newcount\FT@temp
+\newcount\FT@temptwo
+\newcount\FT@tempthree
+\newcount\FT@yModHundred
+\newcount\FT@thirtytwo
+\newcount\FT@dn
+\newcount\FT@sn
+\newcount\FT@mminusone
+
+\def\ftoday{%
+\FT@y=\year \FT@m=\month \FT@d=\day
+%
+\FT@temp=\FT@y
+\divide\FT@temp by 100\relax
+\multiply\FT@temp by 100\relax
+\FT@yModHundred=\FT@y
+\advance\FT@yModHundred by -\FT@temp\relax
+%
+\ifodd\FT@yModHundred
+ \FT@leapfalse
+\else
+ \FT@temp=\FT@yModHundred
+ \divide\FT@temp by 2\relax
+ \ifodd\FT@temp\FT@leapfalse
+ \else
+ \ifnum\FT@yModHundred=0%
+ \FT@temp=\FT@y
+ \divide\FT@temp by 400\relax
+ \multiply\FT@temp by 400\relax
+ \ifnum\FT@y=\FT@temp\FT@leaptrue\else\FT@leapfalse\fi
+ \else\FT@leaptrue
+ \fi
+ \fi
+\fi
+%
+\FT@latini=31\relax
+\ifFT@leap
+ \FT@latinii = 29\relax
+\else
+ \FT@latinii = 28\relax
+\fi
+\FT@latiniii = 31\relax
+\FT@latiniv = 30\relax
+\FT@latinv = 31\relax
+\FT@latinvi = 30\relax
+\FT@latinvii = 31\relax
+\FT@latinviii = 31\relax
+\FT@latinix = 30\relax
+\FT@latinx = 31\relax
+\FT@latinxi = 30\relax
+\FT@latinxii = 31\relax
+%
+\FT@thirtytwo=32\relax
+%
+\FT@temp=\FT@y
+\advance\FT@temp by -17\relax
+\FT@temptwo=\FT@temp
+\divide\FT@temptwo by 33\relax
+\multiply\FT@temptwo by 33\relax
+\advance\FT@temp by -\FT@temptwo
+\ifnum\FT@temp=\FT@thirtytwo\FT@kabisehfalse
+\else
+ \FT@temptwo=\FT@temp
+ \divide\FT@temptwo by 4\relax
+ \multiply\FT@temptwo by 4\relax
+ \advance\FT@temp by -\FT@temptwo
+ \ifnum\FT@temp=\z@\FT@kabisehtrue\else\FT@kabisehfalse\fi
+\fi
+%
+% --BE
+% In fact farsii is equal to the Leap years from a fixed year to the last
+% year minus the Kabise years from a fixed year to the last year plus a const.
+%
+\FT@tempthree=\FT@y % Number of Leap years
+\advance\FT@tempthree by -1
+\FT@temp=\FT@tempthree % T := (MY-1) div 4
+\divide\FT@temp by 4\relax
+\FT@temptwo=\FT@tempthree % T := T - ((MY-1) div 100)
+\divide\FT@temptwo by 100\relax
+\advance\FT@temp by -\FT@temptwo
+\FT@temptwo=\FT@tempthree % T := T + ((MY-1) div 400)
+\divide\FT@temptwo by 400\relax
+\advance\FT@temp by \FT@temptwo
+\advance\FT@tempthree by -611 % Number of Kabise years
+\FT@temptwo=\FT@tempthree % T := T - ((SY+10) div 33) * 8
+\divide\FT@temptwo by 33\relax
+\multiply\FT@temptwo by 8\relax
+\advance\FT@temp by -\FT@temptwo
+\FT@temptwo=\FT@tempthree %
+\divide\FT@temptwo by 33\relax
+\multiply\FT@temptwo by 33\relax
+\advance\FT@tempthree by -\FT@temptwo
+\ifnum\FT@tempthree=32\advance\FT@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T);
+\divide\FT@tempthree by 4\relax % T := T - ((SY+10) mod 33) div 4
+\advance\FT@temp by -\FT@tempthree
+\advance\FT@temp by -137 % T := T - 137 Adjust the value
+\FT@farsii=31
+\advance\FT@farsii by -\FT@temp % now 31 - T is the farsii
+%
+\FT@farsiii = 30\relax
+\ifFT@kabiseh
+ \FT@farsiiii = 30\relax
+\else
+ \FT@farsiiii = 29\relax
+\fi
+\FT@farsiiv = 31\relax
+\FT@farsiv = 31\relax
+\FT@farsivi = 31\relax
+\FT@farsivii = 31\relax
+\FT@farsiviii= 31\relax
+\FT@farsiix = 31\relax
+\FT@farsix = 30\relax
+\FT@farsixi = 30\relax
+\FT@farsixii = 30\relax
+\FT@farsixiii= 30\relax
+%
+\FT@dn= 0\relax
+\FT@sn= 0\relax
+\FT@mminusone=\FT@m
+\advance\FT@mminusone by -1\relax
+%
+\FT@i=0\relax
+\ifnum\FT@i < \FT@mminusone
+\loop
+\advance \FT@i by 1\relax
+\advance\FT@dn by \csname FT@latin\romannumeral\the\FT@i\endcsname
+\ifnum\FT@i<\FT@mminusone \repeat
+\fi
+\advance \FT@dn by \FT@d
+%
+\FT@i=1\relax
+\FT@sn = \FT@farsii
+\ifnum \FT@sn<\FT@dn
+\loop
+\advance \FT@i by 1\relax
+\advance\FT@sn by \csname FT@farsi\romannumeral\the\FT@i\endcsname
+\ifnum \FT@sn<\FT@dn \repeat
+\fi
+\ifnum \FT@i < 4
+ \FT@m = 9 \advance\FT@m by \FT@i
+ \advance \FT@y by -622\relax
+\else
+ \FT@m = \FT@i \advance \FT@m by -3\relax
+ \advance \FT@y by -621\relax
+\fi
+\advance\FT@sn by -\csname FT@farsi\romannumeral\the\FT@i%
+\endcsname
+\ifnum\FT@i = 1
+ \FT@d = \FT@dn \advance \FT@d by 30 \advance\FT@d by -\FT@farsii
+\else
+ \FT@d = \FT@dn \advance \FT@d by -\FT@sn
+\fi
+\beginL\number\FT@d\endL\space%
+%Changedc from here YJ
+\farsimonth{\FT@m}\space\beginL\number\FT@y\endL%
+}
+% added \farsimonth YJ
+\def\farsimonth#1{\ifcase#1\or \fa\ra\waw\ra\dal\ya\nun\or
+\alef\ra\dal\ya\baa\ha\sheen\taa\or
+\kha\ra\dal\alef\dal\or \taa\ya\ra\or
+\meem\ra\dal\alef\dal\or
+\sheen\ha\ra\ya\waw\ra\or \meem\ha\ra\or
+\alefmadda\baa\alef\nun\or \alefmadda\dhal\ra\or
+\dal\ya\or \baa\ha\meem\nun\or
+\alef\seen\fa\nun\dal\fi}
+\endinput