as I said before, in Persian we have two footnotes, one for Persian and the other for English, if the first footnote in a pageis English, then footnote rule will appear on left hand side and if the first footnote in a pgeis persian, the footnote appears on right . handside.
this is the code taken from xepersian which does automatic footnoterule, it produces a file-name.fot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % footnote setup % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \CatEscape\undefined \chardef\CatEscape=0 \chardef\CatOpen=1 \chardef\CatClose=2 \chardef\CatIgnore=9 \chardef\CatLetter=11 \chardef\CatOther=12 \chardef\CatActive=13 % is defined in Plain already \chardef\CatUsCode=\catcode`\_ \fi \catcode`\_=\CatLetter % top level macro file \de...@fn{% \hbox to \columnwidth {\beginR \vbox{\kern -3\p@ \hrule width .4\columnwidth \kern2....@}\hfil\endr}} \de...@fn{% \hrule width .4\columnwidth\kern 2....@} \d...@makefnmark{\hbox{$^{\hbox{\scriptsize\@thefnmark}...@th$}} \def\leftfootnoterule{\global\def\footnoterule...@fn}} \def\rightfootnoterule{\global\def\footnoterule...@fn}} \leftfootnoterule %%% \beginprog \newread\old_foot_file \newwrite\foot_file \def\foot_file_name{\jobname.fot\relax} \def\init_footnote{% \openin\old_foot_file\foot_file_name \ifeof\old_foot_file \closein\old_foot_file \else \closein\old_foot_file \read_foot_file \fi \immediate\openout\foot_file\foot_file_name \immediate\write\foot_file{\relax}% \global\let\init_footnote\relax } \newcount\foot_name_no % for generating footnote mark names \newcount\autofootnote \def\fnpp_next_footnote{% \init_footnote \global\advance\foot_name_...@ne \global\advanc...@footnote\@ne \edef\do_write{% \immediate\write\foot_file{% \string\advance\autofootno...@ne \string\expandafter\xdef \string\csname\space f...@\number\foot_name_no \endcsname{% \string\number\autofootnote }% }% }% \do_write \global\autofootnote 0\csname f...@\number\foot_name_no \endcsname \relax } \def\read_foot_file{% \begingroup \catcod...@\catletter \catcode`\^^M\CatIgnore \input \foot_file_name \endgroup } \let\fnpp_orig_outputpag...@outputpage \d...@outputpage{% \ifx \init_footnote\relax \immediate\write\foot_file{\autofootnot...@}% \fi \fnpp_orig_outputpage } \let\FnppOrigFootnote=\footnote % save original bindings \let\FnppOrigFootnotemark=\footnotemark \def\footnote{% \...@ifnextchar[% % ] (Emacs) \...@xfootnote {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \...@xfootnote[\the\c@footnote] % }% } \def\footnotemark{% \...@ifnextchar[% % ] (Emacs) \...@xfootnotemark {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \...@xfootnotemark[\the\c@footnote]}% } \def\footnotemarkLR{% \...@ifnextchar[% % ] (Emacs) \...@xfootnotemark {\fnpp_next_footnote \ifnum\autofootnote=1\leftfootnoterule\...@xfootnotemark[\the\c@footnote]}% } \newif...@romanfootnum \providerobustcmd{\Footnote}[1]{% \bgroup \footnotemarkLR% \renewcommand{\thefootnote}{...@romanfootnum\rmfamily{\@arabi...@footnote }\el...@arabic\c@footnote\fi}% \...@rtlfalse\footnotetext{\rmfamily#1}% \egroup } \...@romanfootnumfalse \def\persianfootnu...@romanfootnumfalse} \def\romanfootnu...@romanfootnumtrue} \declareoption{romanfootnum...@romanfootnumtrue} \ProcessOptions \ifx \...@minipagerestore\relax \l...@minipagerestore\@empty \fi \...@addto@mac...@minipagerestore{% \let\footnote\FnppOrigFootnote } \let\fnpp_orig_maketitle=\maketitle \def\maketitle{% \begingroup \let\footnotemark\FnppOrigFootnotemark \fnpp_orig_maketitle \endgroup } \catcode`\_=\CatUsCode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % End of footnote setup % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________