summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-15 21:49:48 +0000
committerKarl Berry <karl@freefriends.org>2020-05-15 21:49:48 +0000
commitd117de5321a5b1a1c5a94502480356d9f566ea57 (patch)
tree7be9f74a4d2e2996b76671abb555763ba7179c61 /Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
parent7021ce5ece9fcd0588db66fb571ab00463a4c45f (diff)
rm xepersian, now nonfree (https://tug.org/pipermail/tex-live/2020-May/045697.html)
git-svn-id: svn://tug.org/texlive/trunk@55159 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty1558
1 files changed, 0 insertions, 1558 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
deleted file mode 100644
index 484770bd964..00000000000
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
+++ /dev/null
@@ -1,1558 +0,0 @@
-%%
-%% This is file `xepersian.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% xepersian.dtx (with options: `table,xepersian.sty')
-%%
-%% __________________________________________________
-%% Copyright (c) 2008--2020 Vafa Khalighi
-%% Copyright (c) 2018--2020 bidi-tex GitHub Organization
-%%
-%% It may be distributed and/or modified under the LaTeX Project Public License,
-%% version 1.3c or higher (your choice). The latest version of
-%% this license is at: http://www.latex-project.org/lppl.txt
-%%
-%% This work is “author-maintained” (as per LPPL maintenance status)
-%% by Vafa Khalighi.
-%%
-%%
-%% \CheckSum{10968}
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{22.9}
-\def\xepersiandate{2020/05/14}
-\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space
-Persian typesetting in XeLaTeX]
-\RequirePackage{fontspec}
-\RequirePackage{xepersian-persiancal}
-\RequirePackage{xepersian-mathsdigitspec}
-\RequirePackage{bidi}
-\edef\@xepersian@info{****************************************************^^J%
-* ^^J%
-* xepersian package (Persian for LaTeX, using XeTeX engine)^^J%
-* ^^J%
-* Description: The package supports Persian^^J%
-* typesetting, using fonts provided in the^^J%
-* distribution.^^J%
-* ^^J%
-* Copyright (c) 2008--2020 Vafa Khalighi^^J%
-* Copyright (c) 2018--2020 bidi-tex GitHub Organization^^J%
-* ^^J%
-* v\xepersian@version, \xepersiandate^^J%
-* ^^J%
-* License: LaTeX Project Public License, version^^J%
-* 1.3c or higher (your choice)^^J%
-* ^^J%
-* Location on CTAN: /macros/xetex/latex/xepersian^^J%
-* ^^J%
-* Issue tracker: https://github.com/persiantex/xepersian/issues^^J%
-* ^^J%
-****************************************************}
-\typeout{\@xepersian@info}
-\edef\xepersian@everyjob{\the\everyjob}
-\everyjob{\xepersian@everyjob\typeout{\@xepersian@info}}
-\newcommand*{\xepersianversion}
- {\ensuremath\xepersian@version}
-\newcommand*{\IfxepersianPackageVersionLater}[1]{%
- \ifdim\xepersian@version pt > #1 pt %
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\newcommand*{\IfxepersianPackageVersionBefore}[1]{%
- \ifdim\xepersian@version pt < #1 pt %
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\newcommand*{\IfxepersianPackageVersion}[1]{%
- \ifdim\xepersian@version pt = #1 pt %
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\def\prq{«}
-\def\plq{»}
-\def\xepersian@cmds@temp#1{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname xepersian@#1\endcsname\relax
- \begingroup
- \escapechar=-1 %
- \edef\x{\expandafter\meaning\csname#1\endcsname}%
- \def\y{#1}%
- \def\z##1->{}%
- \edef\y{\expandafter\z\meaning\y}%
- \expandafter\endgroup
- \ifx\x\y
- \expandafter\def\csname xepersian@#1\expandafter\endcsname
- \expandafter{%
- \csname#1\endcsname
- }%
- \fi
- \fi
-}%
-\xepersian@cmds@temp{shellescape}
-\newif\ifwritexviii
-\ifnum\xepersian@shellescape=1\relax
- \writexviiitrue
-\else
-\writexviiifalse
-\fi
-\newfontscript{Persian}{arab}
-\newfontlanguage{Persian}{FAR}
-\ExplSyntaxOn
-
-\keys_define:nn {fontspec-opentype}
- {
- Ligatures / PersianTeX .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text} },
- Ligatures / PersianTeXOff .code:n = { \tl_clear:N \l__fontspec_mapping_tl },
- Ligatures / PersianTeXReset .code:n = { \tl_clear:N \l__fontspec_mapping_tl },
- }
-
-\keys_define:nn {fontspec-aat}
- {
- Ligatures / PersianTeX .code:n =
- {
- \tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text }
- }
- }
-
-\DeclareDocumentCommand \settextfont { O{} m O{} }
- {
- \__xepersian_main_settextfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_settextfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \rmdefault \l__xepersian_persianfont_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_persianfont_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\rmdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_settextfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_settextfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \settextdigitfont { O{} m O{} }
- {
- \__xepersian_main_settextdigitfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_settextdigitfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \use:x
- {
- \exp_not:n { \DeclareRobustCommand \xepersian@textdigitfont }
- {
- \exp_not:N \fontfamily { \l__xepersian_textdigitfont_family_tl }
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
- }
- \__xepersian_settextdigitfont_hook:nn {#1} {#2}
- \XeTeXinterchartoks \e@alloc@intercharclass@top \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \e@alloc@intercharclass@top = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \z@ \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \z@ = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \bidi@sepmark@charclass = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks\xepersian@@start@switch@textdigitfont}
- \if@bidi@csundef{xepersian@D}{}{%
- \XeTeXinterchartoks \xepersian@D \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \xepersian@D = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \xepersian@L \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \xepersian@L = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \xepersian@A \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \xepersian@A = {\xepersian@@stop@switch@textdigitfont}
- \XeTeXinterchartoks \xepersian@R \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
- \XeTeXinterchartoks \bidi@digits@charclass \xepersian@R = {\xepersian@@stop@switch@textdigitfont}
- }
- }
-
-\newcommand*{\xepersian@@start@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\bgroup\xepersian@textdigitfont\else\fi\fi\fi}
-\newcommand*{\xepersian@@stop@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\egroup\else\fi\fi\fi}
-
-\cs_set_eq:NN \__xepersian_settextdigitfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setdigitfont { O{} m O{} }
- {
- \__xepersian_main_settextdigitfont:nn {#1,#3} {#2}
- \__xepersian_main_setmathdigitfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-
-\DeclareDocumentCommand \setlatintextfont { O{} m O{} }
- {
- \__xepersian_main_setlatintextfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setlatintextfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_latinfont_family_tl {Ligatures=TeX,#1} {#2}
- \use:x { \exp_not:n { \DeclareRobustCommand \latinfont }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_latinfont_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\rmdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setlatintextfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setlatintextfont_hook:nn \use_none:nn
-
-\tl_set_eq:NN \setlatinsansfont \setsansfont
-\tl_set_eq:NN \setlatinmonofont \setmonofont
-
-\DeclareDocumentCommand \defpersianfont { m O{} m O{} }
- {
- \__xepersian_main_defpersianfont:NnnN #1 {#2,#4} {#3}
- \NewDocumentCommand
- }
-\DeclareDocumentCommand \redefpersianfont { m O{} m O{} }
- {
- \__xepersian_main_defpersianfont:NnnN #1 {#2,#4} {#3}
- \RenewDocumentCommand
- }
-\cs_new:Nn \__xepersian_main_defpersianfont:NnnN
- {
- \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Script=Persian,Ligatures=PersianTeX,#2} {#3}
- \use:x
- {
- \exp_not:N #4 \exp_not:N #1 {}
- {
- \exp_not:N \fontfamily { \use:c {l__xepersian_ \cs_to_str:N #1 _family_tl } }
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
- }
- }
-
-\DeclareDocumentCommand \deflatinfont { m O{} m O{} }
- {
- \__xepersian_main_deflatinfont:NnnN #1 {#2,#4} {#3}
- \NewDocumentCommand
- }
-\DeclareDocumentCommand \redeflatinfont { m O{} m O{} }
- {
- \__xepersian_main_deflatinfont:NnnN #1 {#2,#4} {#3}
- \RenewDocumentCommand
- }
-\cs_new:Nn \__xepersian_main_deflatinfont:NnnN
- {
- \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=TeX,#2} {#3}
- \use:x
- {
- \exp_not:N #4 \exp_not:N #1 {}
- {
- \exp_not:N \fontfamily { \use:c {l__xepersian_ \cs_to_str:N #1 _family_tl } }
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
- }
- }
-
-\newcommand\persiansfdefault{}
-\newcommand\persianttdefault{}
-\newcommand\iranicdefault{}
-\newcommand\navardefault{}
-\newcommand\pookdefault{}
-\newcommand\sayehdefault{}
-\DeclareRobustCommand\persiansffamily
- {\not@math@alphabet\persiansffamily\mathpersiansf
- \fontfamily\persiansfdefault\selectfont}
-\DeclareRobustCommand\persianttfamily
- {\not@math@alphabet\persianttfamily\mathpersiantt
- \fontfamily\persianttdefault\selectfont}
-\DeclareRobustCommand\iranicfamily
- {\not@math@alphabet\iranicfamily\mathiranic
- \fontfamily\iranicdefault\selectfont}
-\DeclareRobustCommand\navarfamily
- {\not@math@alphabet\navarfamily\mathnavar
- \fontfamily\navardefault\selectfont}
-\DeclareRobustCommand\pookfamily
- {\not@math@alphabet\pookfamily\mathpook
- \fontfamily\pookdefault\selectfont}
-\DeclareRobustCommand\sayehfamily
- {\not@math@alphabet\sayehfamily\mathsayeh
- \fontfamily\sayehdefault\selectfont}
-\DeclareTextFontCommand{\textpersiansf}{\persiansffamily}
-\DeclareTextFontCommand{\textpersiantt}{\persianttfamily}
-\DeclareTextFontCommand{\textiranic}{\iranicfamily}
-\DeclareTextFontCommand{\textnavar}{\navarfamily}
-\DeclareTextFontCommand{\textpook}{\pookfamily}
-\DeclareTextFontCommand{\textsayeh}{\sayehfamily}
-
-\DeclareDocumentCommand \setpersiansansfont { O{} m O{} }
- {
- \__xepersian_main_setpersiansansfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setpersiansansfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \persiansfdefault \l__xepersian_persiansffamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_persiansffamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\persiansfdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setpersiansansfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setpersiansansfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setpersianmonofont { O{} m O{} }
- {
- \__xepersian_main_setpersianmonofont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setpersianmonofont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \persianttdefault \l__xepersian_persianttfamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_persianttfamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\persianttdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setpersianmonofont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setpersianmonofont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setnavarfont { O{} m O{} }
- {
- \__xepersian_main_setnavarfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setnavarfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \navardefault \l__xepersian_navarfamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_navarfamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\navardefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setnavarfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setnavarfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setpookfont { O{} m O{} }
- {
- \__xepersian_main_setpookfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setpookfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \pookdefault \l__xepersian_pookfamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_pookfamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\pookdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setpookfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setpookfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setsayehfont { O{} m O{} }
- {
- \__xepersian_main_setsayehfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setsayehfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \sayehdefault \l__xepersian_sayehfamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_sayehfamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\sayehdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setsayehfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setsayehfont_hook:nn \use_none:nn
-
-\DeclareDocumentCommand \setiranicfont { O{} m O{} }
- {
- \__xepersian_main_setiranicfont:nn {#1,#3} {#2}
- \ignorespaces
- }
-\cs_new:Nn \__xepersian_main_setiranicfont:nn
- {
- \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2}
- \tl_set_eq:NN \iranicdefault \l__xepersian_iranicfamily_family_tl
- \use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
- {
- \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
- \exp_not:N \fontfamily { \l__xepersian_iranicfamily_family_tl }
- \exp_not:N \selectfont
- }
- }
- \str_if_eq:eeT {\familydefault} {\iranicdefault}
- { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
- \__xepersian_setiranicfont_hook:nn {#1} {#2}
- \normalfont
- }
-
-\cs_set_eq:NN \__xepersian_setiranicfont_hook:nn \use_none:nn
-
-\ExplSyntaxOff
-\def\resetlatinfont{%
-\let\@xepersian@@fontsize@scale\xepersian@@fontsize@scale%
-\let\@xepersian@@baselineskip@scale\xepersian@@baselineskip@scale%
-\def\xepersian@@fontsize@scale{%
- \strip@pt\dimexpr 1pt * \dimexpr
- \xepersian@@latin@fontsize@scale pt\relax
- / \dimexpr \@xepersian@@fontsize@scale pt\relax\relax
-}%
-\def\xepersian@@baselineskip@scale{%
- \strip@pt\dimexpr 1pt * \dimexpr
- \xepersian@@latin@baselineskip@scale pt\relax
- / \dimexpr \@xepersian@@baselineskip@scale pt\relax\relax
-}%
-\@nonlatinfalse%
-\let\normalfont\latinfont%
-\let\reset@font\normalfont%
-\latinfont%
-\fontsize\f@size\f@baselineskip%
-\selectfont%
-\let\xepersian@@fontsize@scale\xepersian@@latin@fontsize@scale%
-\let\xepersian@@baselineskip@scale\xepersian@@latin@baselineskip@scale%
-}
-\def\setpersianfont{%
-\let\@xepersian@@fontsize@scale\xepersian@@fontsize@scale%
-\let\@xepersian@@baselineskip@scale\xepersian@@baselineskip@scale%
-\let\xepersian@@fontsize@scale\@ne%
-\let\xepersian@@baselineskip@scale\@ne%
-\@nonlatintrue%
-\let\normalfont\persianfont%
-\let\reset@font\normalfont%
-\persianfont%
-\fontsize\f@size\f@baselineskip%
-\selectfont%
-\let\xepersian@@fontsize@scale\@xepersian@@fontsize@scale%
-\let\xepersian@@baselineskip@scale\@xepersian@@baselineskip@scale%
-}
-\bidi@newrobustcmd*{\lr}[1]{\LRE{\resetlatinfont#1}}
-\bidi@newrobustcmd*{\rl}[1]{\RLE{\setpersianfont#1}}
-\def\latin{\LTR\LatinAlphs\@RTL@footnotefalse\resetlatinfont}
-\def\endlatin{\endLTR}
-\newenvironment{latin*}{\latin
- \everypar{%
- {\setbox\z@\lastbox
- \ifvoid\z@
- \kern-\parindent
- \fi}%
- }%
-}{\endlatin\@endpetrue}
-\def\persian{\RTL\PersianAlphs\@RTL@footnotetrue\setpersianfont}
-\def\endpersian{\endRTL}
-\newenvironment{persian*}{\persian
- \everypar{%
- {\setbox\z@\lastbox
- \ifvoid\z@
- \kern-\parindent
- \fi}%
- }%
-}{\endpersian\@endpetrue}
-\newenvironment{latinitems}{\begin{LTRitems}\LatinAlphs\@RTL@footnotefalse\resetlatinfont}{\end{LTRitems}}
-\newenvironment{persianitems}{\begin{RTLitems}\PersianAlphs\@RTL@footnotetrue\setpersianfont}{\end{RTLitems}}
-\let\originaltoday=\today
-\def\latintoday{\lr{\originaltoday}}
-\def\today{\rl{\persiantoday}}
-\def \@LTRmarginparreset {%
- \reset@font
- \resetlatinfont
- \normalsize
- \@minipagetrue
- \everypar{\@minipagefalse\everypar{}\beginL}%
-}
-\DeclareRobustCommand\Latincite{%
- \@ifnextchar [{\@tempswatrue\@Latincitex}{\@tempswafalse\@Latincitex[]}}
-\def\@Latincitex[#1]#2{\leavevmode
- \let\@citea\@empty
- \@cite{\lr{\@for\@citeb:=#2\do
- {\@citea\def\@citea{,\penalty\@m\ }%
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
- \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
- \G@refundefinedtrue
- \@latex@warning
- {Citation `\@citeb' on page \thepage \space undefined}}%
- {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}}{#1}}
-
-\renewcommand*{\bidi@font@@outputpage}{\if@RTLmain\setpersianfont\else\resetlatinfont\fi}
-
-\newif\if@xepersian@@computeautoilg
-\newcount\xepersian@tcl
-\newdimen\xepersian@ilg
-\newdimen\xepersian@strutilg
-\chardef\f@ur=4
-\newcommand*{\xepersian@computeautoilg}{% compute the interline glue
- \xepersian@tcl=1536\xepersian@ilg\z@\xepersian@strutilg\z@
- \loop
- \iffontchar\font\xepersian@tcl
- \ifdim\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl>\z@
- \ifdim\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl>\xepersian@ilg
- \xepersian@ilg=\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl
- \fi
- \else
- \ifdim\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl<\z@
- \ifdim-\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl>\xepersian@ilg
- \xepersian@ilg=-\XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@tcl
- \fi
- \fi
- \fi
- \ifdim\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl>\z@
- \ifdim\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl>\xepersian@strutilg
- \xepersian@strutilg=\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl
- \fi
- \else
- \ifdim\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl<\z@
- \ifdim-\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl>\xepersian@strutilg
- \xepersian@strutilg=-\XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@tcl
- \fi
- \fi
- \fi
- \fi
- \advance\xepersian@tcl\@ne
- \ifnum\xepersian@tcl<1792\repeat
- \advance\xepersian@strutilg\xepersian@ilg
-}
-
-\newif\if@@textdigitfont@on
-
-\newcommand{\TextDigitFontOn}{\@@textdigitfont@ontrue}
-\newcommand{\TextDigitFontOff}{\@@textdigitfont@onfalse}
-
-\TextDigitFontOn
-
-\newcommand*\xepersian@setlength[4]{%
- \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi
- \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi
- \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
- \setlength{#1}{\p@ \@plus\p@ \@minus\p@}%
- \else
- \setlength{#1}{\p@ \@plus\p@ \@minus#4}%
- \fi
- \else
- \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
- \setlength{#1}{\p@ \@plus#3 \@minus\p@}%
- \else
- \setlength{#1}{\p@ \@plus#3 \@minus#4}%
- \fi
- \fi
- \else
- \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi
- \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
- \setlength{#1}{#2 \@plus\p@ \@minus\p@}%
- \else
- \setlength{#1}{#2 \@plus\p@ \@minus#4}%
- \fi
- \else
- \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
- \setlength{#1}{#2 \@plus#3 \@minus\p@}%
- \else
- \setlength{#1}{#2 \@plus#3 \@minus#4}%
- \fi
- \fi
- \fi
-}
-
-\newcommand*{\setfontsize}[2][1.2\@tempdima]{%
- \@defaultunits\@tempdima#2pt\relax\@nnil
- \setlength{\@tempdimc}{\@tempdima}%
- \addtolength{\@tempdimc}{-10\p@}%
- \edef\@ptsize{\strip@pt\@tempdimc}%
- \@defaultunits\@tempdimb#1pt\relax\@nnil
- \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}%
- \edef\@tempb{\the\@tempdimc}%
- \setlength{\@tempdimc}{\@tempdima}%
- \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}%
- \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil%
- \xepersian@setlength{\abovedisplayskip}%
- {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
- \xepersian@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
- \xepersian@setlength{\belowdisplayshortskip}%
- {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \setlength{\belowdisplayskip}{\abovedisplayskip}%
- \edef\normalsize{%
- \noexpand\@setfontsize\noexpand\normalsize
- {\the\@tempdima}{\the\@tempdimb}%
- \abovedisplayskip \the\abovedisplayskip
- \abovedisplayshortskip \the\abovedisplayshortskip
- \belowdisplayskip \the\belowdisplayskip
- \belowdisplayshortskip \the\belowdisplayshortskip
- \let\noexpand\@listi\noexpand\@listI
- }%
- \setlength{\@tempdima}{0.9125\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \xepersian@setlength{\abovedisplayskip}%
- {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
- \xepersian@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
- \xepersian@setlength{\belowdisplayshortskip}%
- {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \setlength{\belowdisplayskip}{\abovedisplayskip}%
- \edef\small{%
- \noexpand\@setfontsize\noexpand\small
- {\the\@tempdima}{\the\@tempdimb}%
- \abovedisplayskip \the\abovedisplayskip
- \abovedisplayshortskip \the\abovedisplayshortskip
- \belowdisplayskip \the\belowdisplayskip
- \belowdisplayshortskip \the\belowdisplayshortskip
- \let\noexpand\@listi\noexpand\@listi@small
- }%
- \setlength{\@tempdima}{.83334\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \xepersian@setlength{\abovedisplayskip}%
- {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
- \xepersian@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
- \xepersian@setlength{\belowdisplayshortskip}%
- {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \setlength{\belowdisplayskip}{\abovedisplayskip}%
- \edef\footnotesize{%
- \noexpand\@setfontsize\noexpand\footnotesize
- {\the\@tempdima}{\the\@tempdimb}%
- \abovedisplayskip \the\abovedisplayskip
- \abovedisplayshortskip \the\abovedisplayshortskip
- \belowdisplayskip \the\belowdisplayskip
- \belowdisplayshortskip \the\belowdisplayshortskip
- \let\noexpand\@listi\noexpand\@listi@footnotesize
- }%
- \setlength{\@tempdima}{.66667\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\scriptsize{%
- \noexpand\@setfontsize\noexpand\scriptsize
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{.5\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\tiny{%
- \noexpand\@setfontsize\noexpand\tiny
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{1.2\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\large{%
- \noexpand\@setfontsize\noexpand\large
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{1.44\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\Large{%
- \noexpand\@setfontsize\noexpand\Large
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{1.728\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\LARGE{%
- \noexpand\@setfontsize\noexpand\LARGE
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{2.074\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\huge{%
- \noexpand\@setfontsize\noexpand\huge
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \setlength{\@tempdima}{2.488\@tempdimc}%
- \setlength{\@tempdimb}{\@tempb\@tempdima}%
- \edef\Huge{%
- \noexpand\@setfontsize\noexpand\Huge
- {\the\@tempdima}{\the\@tempdimb}%
- }%
- \normalsize
- \setlength{\@tempdimb}{\f@baselineskip}%
- \xepersian@setlength{\parsep}%
- {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
- \xepersian@setlength{\topsep}%
- {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listi\endcsname
- \endgroup
- \edef\@listi{\leftmargin\leftmargini
- \topsep \the\topsep
- \parsep \the\parsep
- \itemsep \parsep
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \let\@listI\@listi
- \xepersian@setlength{\parsep}%
- {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
- \xepersian@setlength{\topsep}%
- {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listi\endcsname
- \endgroup
- \edef\@listi@small{\leftmargin\leftmargini
- \topsep \the\topsep
- \parsep \the\parsep
- \itemsep \parsep
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \xepersian@setlength{\parsep}%
- {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}%
- \xepersian@setlength{\topsep}%
- {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listi\endcsname
- \endgroup
- \edef\@listi@footnotesize{\leftmargin\leftmargini
- \topsep \the\topsep
- \parsep \the\parsep
- \itemsep \parsep
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \xepersian@setlength{\parsep}%
- {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
- \xepersian@setlength{\topsep}%
- {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listii\endcsname
- \endgroup
- \edef\@listii{\leftmargin\leftmarginii
- \labelwidth=\dimexpr \leftmargin-\labelsep
- \topsep \the\topsep
- \parsep \the\parsep
- \itemsep \parsep
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \xepersian@setlength{\topsep}%
- {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
- \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listiii\endcsname
- \endgroup
- \edef\@listiii{\leftmargin\leftmarginiii
- \labelwidth=\dimexpr \leftmargin-\labelsep
- \topsep \the\topsep
- \parsep \z@
- \partopsep \the\partopsep
- \itemsep \topsep
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listiv\endcsname
- \endgroup
- \edef\@listiv{\leftmargin\leftmarginiv
- \labelwidth=\dimexpr \leftmargin-\labelsep\relax
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listv\endcsname
- \endgroup
- \edef\@listv{\leftmargin\leftmarginv
- \labelwidth=\dimexpr \leftmargin-\labelsep\relax
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \@tempswafalse
- \begingroup
- \def\@list@extra{\aftergroup\@tempswatrue}%
- \csname @listvi\endcsname
- \endgroup
- \edef\@listvi{\leftmargin\leftmarginvi
- \labelwidth=\dimexpr \leftmargin-\labelsep\relax
- \if@tempswa\noexpand\@list@extra\fi
- }%
- \@listi
- \setlength{\@tempdimb}{\f@baselineskip}%
- \setlength{\footnotesep}{.555\@tempdimb}%
- \xepersian@setlength{\skip\footins}%
- {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}%
- \xepersian@setlength{\floatsep}%
- {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}%
- \xepersian@setlength{\textfloatsep}%
- {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}%
- \setlength{\intextsep}{\floatsep}%
- \setlength{\dblfloatsep}{\floatsep}%
- \setlength{\dbltextfloatsep}{\textfloatsep}%
- \setlength{\@fptop}{\z@ \@plus 1fil}%
- \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}%
- \setlength{\@fpbot}{\@fptop}%
- \setlength{\@dblfptop}{\@fptop}%
- \setlength{\@dblfpsep}{\@fpsep}%
- \setlength{\@dblfpbot}{\@fptop}%
- \xepersian@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}%
-}
-
-\renewcommand*{\@bidi@logo@}{%
- \@bidi@logo@hb@xt@columnwidth
- {\hss\bfseries
-حروف‌چینی شده با
- \textsf{\XePersian}\quad\@bidi@logo{xepersian-logo.pdf}}}
-
-\renewcommand*{\@bidi@pdfcreator}{%
- The xepersian package, v\xepersian@version, \xepersiandate
-}
-
-\newcommand*{\@xepersian@pdfcustomproperties}{%
- This is the xepersian package, Version \xepersian@version,
- Released May 14, 2020.
-}
-
-\newcommand\twocolumnstableofcontents{%
-\if@bidi@csundef{multi@column@out}{%
-\PackageError{xepersian}{Oops! you should load multicol package before xepersian package for being able to use this command}{}}{%
- \begin{multicols}{2}[\section*{\contentsname}]%
- \small
- \@starttoc{toc}%
- \end{multicols}}}
-\bidi@newrobustcmd*{\XePersian}{\leavevmode$\smash{\hbox{X\lower.5ex
- \hbox{\kern-.125em\bidi@reflect@box{E}}Persian}}$}
-\def\figurename{\if@RTL شکل\else Figure\fi}
-\def\tablename{\if@RTL جدول\else Table\fi}
-\def\contentsname{\if@RTL فهرست مطالب\else Contents\fi}
-\def\listfigurename{\if@RTL فهرست تصاویر\else List of Figures\fi}
-\def\listtablename{\if@RTL فهرست جداول\else List of Tables\fi}
-\def\appendixname{\if@RTL پیوست\else Appendix\fi}
-\def\indexname{\if@RTL نمایه\else Index\fi}
-\def\refname{\if@RTL مراجع\else References\fi}
-\def\abstractname{\if@RTL چکیده\else Abstract\fi}
-\def\partname{\if@RTL بخش\else Part\fi}
-\def\datename{\if@RTL تاریخ:\else Date:\fi}
-\def\@@and{\if@RTL و\else and\fi}
-\def\bibname{\if@RTL کتاب‌نامه\else Bibliography\fi}
-\def\chaptername{\if@RTL فصل\else Chapter\fi}
-\def\ccname{\if@RTL رونوشت\else cc\fi}
-\def\enclname{\if@RTL پیوست\else encl\fi}
-\def\pagename{\if@RTL صفحه\else Page\fi}
-\def\headtoname{\if@RTL به\else To\fi}
-\def\proofname{\if@RTL اثبات\else Proof\fi}
-\def\@Abjad#1{%
- \ifcase#1\or آ\or ب\or ج\or د%
- \or ه\or و\or ز\or ح\or ط%
- \or ی\or ک\or ل\or م\or ن%
- \or س\or ع\or ف\or ص%
- \or ق\or ر\or ش\or ت\or ث%
- \or خ\or ذ\or ض\or ظ\or غ%
- \else\@ctrerr\fi}
-\def\Abjad#1{\expandafter\@Abjad\csname c@#1\endcsname}
-\let\Abjadnumeral\@Abjad
-\def\@harfi#1{\ifcase#1\or آ\or ب\or پ\or ت\or ث\or
-ج\or چ\or ح\or خ\or د\or ذ\or ر\or ز\or ژ\or س\or ش\or ص\or ض\or ط\or ظ\or ع\or غ\or
-ف\or ق\or ک\or گ\or ل\or م\or ن\or و\or ه\or ی\else\@ctrerr\fi}
-\def\harfi#1{\expandafter\@harfi\csname c@#1\endcsname}
-\let\harfinumeral\@harfi
-\newcommand{\adadi}[1]{%
-\expandafter\@adadi\csname c@#1\endcsname%
-}
-\newcommand{\@adadi}[1]{%
-\xepersian@numberstring{#1}\xepersian@yekanii{صفر}{}%
-}
-\let\adadinumeral\@adadi%
-\def\xepersian@numberoutofrange#1#2{%
-\PackageError{xepersian}{The number `#1' is too large %
-to be formatted using xepersian}{The largest possible %
-number is 999,999,999.}%
-}
-\def\xepersian@numberstring#1#2#3#4{%
-\ifnum\number#1<\@ne%
-#3%
-\else\ifnum\number#1<1000000000 %
-\expandafter\xepersian@adadi\expandafter{\number#1}#2%
-\else%
-\xepersian@numberoutofrange{#1}{#4}%
-\fi\fi%
-}
-\def\xepersian@adadi#1#2{%
-\expandafter\xepersian@@adadi%
-\ifcase%
-\ifnum#1<10 1%
-\else\ifnum#1<100 2%
-\else\ifnum#1<\@m 3%
-\else\ifnum#1<\@M 4%
-\else\ifnum#1<100000 5%
-\else\ifnum#1<1000000 6%
-\else\ifnum#1<10000000 7%
-\else\ifnum#1<100000000 8%
-\else9%
-\fi\fi\fi\fi\fi\fi\fi\fi %
-\or00000000#1% case 1: Add 8 leading zeros
-\or0000000#1% case 2: Add 7 leading zeros
-\or000000#1% case 3: Add 6 leading zeros
-\or00000#1% case 4: Add 5 leading zeros
-\or0000#1% case 5: Add 4 leading zeros
-\or000#1% case 6: Add 3 leading zeros
-\or00#1% case 7: Add 2 leading zeros
-\or0#1% case 8: Add 1 leading zero
-\or#1% case 9: Add no leading zeros
-\or%
-\@nil#2%
-\fi%
-}
-\def\xepersian@@adadi#1#2#3#4#5#6#7\or#8\@nil#9{%
-\ifnum#1#2#3>\z@
-\xepersian@milyoongan#1#2#3%
-\ifnum#7>\z@\ifnum#4#5#6>\z@\ و \else\ و \fi\else\ifnum#4#5#6>\z@\ و \fi\fi%
-\fi%
-\ifnum#4#5#6>\z@%
-\xepersian@sadgan#4#5#6{#1#2#3}{#4#5}\xepersian@yekani%
-\ifnum#4#5#6>\@ne‌\fi%
-هزار%
-\ifnum#7>\z@\ و \fi%
-\fi%
-\xepersian@sadgan#7{#4#5#6}1#9%
-}
-\def\xepersian@milyoongan#1#2#3{%
-\ifnum#1#2#3=\@ne%
-\xepersian@sadgan#1#2#301\xepersian@yekaniii%
-‌%
-میلیون%
-\else%
-\xepersian@sadgan#1#2#301\xepersian@yekanii%
-‌%
-میلیون%
-\fi%
-}
-\def\xepersian@sadgan#1#2#3#4#5#6{%
-\ifnum#1>\z@%
-\ifnum#4#1>\@ne\xepersian@yekaniv#1\fi%
-صد%
-\ifnum#2#3>\z@\ و \fi%
-\fi%
-\ifnum#2#3<20%
-\ifnum#5#2#3>\@ne#6{#2#3}\fi%
-\else%
-\xepersian@dahgan#2%
-\ifnum#3>\z@\ و \xepersian@yekani#3\fi%
-#60%
-\fi%
-}
-\def\xepersian@yekani#1{%
-\ifcase#1\@empty\or یک\or دو\or سه\or چهار\or پنج\or شش%
-\or هفت\or هشت\or نه\or ده\or یازده\or دوازده\or سیزده%
-\or چهارده\or پانزده\or شانزده\or هفده%
-\or هجده\or نوزده\fi%
-}
-\def\xepersian@yekanii#1{%
-\ifcase#1\@empty\or یک\else\xepersian@yekani{#1}\fi%
-}
-\def\xepersian@yekaniii#1{%
-\ifcase#1\@empty\or یک\else\xepersian@yekani{#1}\fi%
-}
-\def\xepersian@yekaniv#1{%
-\ifcase#1\@empty\or\or دوی\or سی\or چهار\or پان\or شش%
-\or هفت\or هشت\or نه\fi%
-}
-\def\xepersian@dahgan#1{%
-\ifcase#1\or\or بیست\or سی\or چهل%
-\or پنجاه\or شصت\or هفتاد\or هشتاد%
-\or نود\fi%
-}
-\newcommand{\tartibi}[1]{%
-\expandafter\@tartibi\csname c@#1\endcsname%
-}
-\newcommand{\@tartibi}[1]{%
-\xepersian@numberstring@tartibi{#1}\xepersian@tartibi{صفرم}{م}%
-}
-\let\tartibinumeral\@tartibi%
-\def\xepersian@numberstring@tartibi#1#2#3#4{%
-\ifnum\number#1<\@ne%
-#3%
-\else\ifnum\number#1<1000000000 %
-\expandafter\xepersian@adadi@tartibi\expandafter{\number#1}#2%
-\else%
-\xepersian@numberoutofrange{#1}{#4}%
-\fi\fi%
-}
-\def\xepersian@adadi@tartibi#1#2{%
-\expandafter\xepersian@@adadi@tartibi%
-\ifcase%
-\ifnum#1<10 1%
-\else\ifnum#1<100 2%
-\else\ifnum#1<\@m 3%
-\else\ifnum#1<\@M 4%
-\else\ifnum#1<100000 5%
-\else\ifnum#1<1000000 6%
-\else\ifnum#1<10000000 7%
-\else\ifnum#1<100000000 8%
-\else9%
-\fi\fi\fi\fi\fi\fi\fi\fi %
-\or00000000#1% case 1: Add 8 leading zeros
-\or0000000#1% case 2: Add 7 leading zeros
-\or000000#1% case 3: Add 6 leading zeros
-\or00000#1% case 4: Add 5 leading zeros
-\or0000#1% case 5: Add 4 leading zeros
-\or000#1% case 6: Add 3 leading zeros
-\or00#1% case 7: Add 2 leading zeros
-\or0#1% case 8: Add 1 leading zero
-\or#1% case 9: Add no leading zeros
-\or%
-\@nil#2%
-\fi%
-}
-\def\xepersian@@adadi@tartibi#1#2#3#4#5#6#7\or#8\@nil#9{%
-\ifnum#1#2#3>\z@
-\xepersian@milyoongan@tartibi#1#2#3%
-\ifnum#7>\z@\ifnum#4#5#6>\z@\ و \else\ و \fi\else\ifnum#4#5#6>\z@\ و \fi\fi%
-\fi%
-\ifnum#4#5#6>\z@%
-\xepersian@sadgan#4#5#6{#1#2#3}{#4#5}\xepersian@yekani%
-\ifnum#4#5#6>\@ne ‌\fi%
-هزار%
-\ifnum#7>\z@\ و \fi%
-\fi%
-\xepersian@sadgan@tartibi#7{#4#5#6}1#9%
-}
-\def\xepersian@milyoongan@tartibi#1#2#3{%
-\ifnum#1#2#3=\@ne%
-\xepersian@sadgan@tartibi#1#2#301\xepersian@yekaniii%
-‌%
-میلیون%
-\else%
-\xepersian@sadgan#1#2#301\xepersian@yekanii%
-‌%
-میلیون%
-\fi%
-}
-\def\xepersian@sadgan@tartibi#1#2#3#4#5#6{%
-\ifnum#1>\z@%
-\ifnum#4#1>\@ne\xepersian@yekaniv#1\fi%
-صد%
-\ifnum#2#3>\z@\ و \fi%
-\fi%
-\ifnum#2#3<20%
-\ifnum#5#2#3>\@ne\ifnum#1#2#3#4#5=10001 اول\else#6{#2#3}\fi\fi%
-\else%
-\ifnum#2#3=30%
-\xepersian@dahgan@tartibi#2%
-\else%
-\xepersian@dahgan#2%
-\fi%
-\ifnum#3>\z@\ و \xepersian@yekanv#3\fi%
-#60%
-\fi%
-}
-\def\xepersian@dahgan@tartibi#1{%
-\ifcase#1\or\or بیست\or سی‌ا\or چهل%
-\or پنجاه\or شصت\or هفتاد\or هشتاد%
-\or نود\fi%
-}
-\def\xepersian@tartibi#1{%
-\ifcase#1م\or یکم\or دوم\or سوم\or چهارم%
-\or پنجم\or ششم\or هفتم\or هشتم\or نهم%
-\or دهم\or یازدهم\or دوازدهم\or سیزدهم%
-\or چهاردهم\or پانزدهم\or شانزدهم%
-\or هفدهم\or هجدهم\or نوزدهم\fi%
-}
-\def\xepersian@yekanv#1{%
-\ifcase#1\@empty\or یک\or دو\or سو\or چهار\or پنج\or شش%
-\or هفت\or هشت\or نه\or ده\or یازده\or دوازده\or سیزده%
-\or چهارده\or پانزده\or شانزده\or هفده%
-\or هجده\or نوزده\fi%
-}
-\providecommand*{\xpg@warning}[1]{%
- \PackageWarning{XePersian}%
- {#1}}
-\if@bidi@csundef{@abjad}{%
-\def\@abjad#1{%
-\ifnum#1>1999 \xpg@warning{Illegal value (#1) for abjad numeral} {#1}
-\else
- \ifnum#1<\z@\space\xpg@warning{Illegal value (#1) for abjad numeral}%
- \else
- \ifnum#1<10\expandafter\abj@num@i\number#1%
- \else
- \ifnum#1<100\expandafter\abj@num@ii\number#1%
- \else
- \ifnum#1<\@m\expandafter\abj@num@iii\number#1%
- \else
- \ifnum#1<\@M\expandafter\abj@num@iv\number#1%since #1<2000, we must have 1000
- \fi
- \fi
- \fi
- \fi
- \fi
-\fi
-}
-\def\abjad#1{\expandafter\@abjad\csname c@#1\endcsname}
-\let\abjadnumeral\@abjad
-\def\abjad@zero{}
-\def\abj@num@i#1{%
- \ifcase#1\or آ\or ب\or ج\or د%
- \or ه\or و\or ز\or ح\or ط\fi
- \ifnum#1=\z@\abjad@zero\fi}
-\def\abj@num@ii#1{%
- \ifcase#1\or ی\or ک\or ل\or م\or ن%
- \or س\or ع\or ف\or ص\fi
- \ifnum#1=\z@\fi\abj@num@i}
-\def\abj@num@iii#1{%
- \ifcase#1\or ق\or ر\or ش\or ت\or ث%
- \or خ\or ذ\or ض\or ظ\fi
- \ifnum#1=\z@\fi\abj@num@ii}
-\def\abj@num@iv#1{%
- \ifcase#1\or غ\fi
- \ifnum#1=\z@\fi\abj@num@iii}
-}{}
-\let\@latinalph\@alph%
-\let\@latinAlph\@Alph%
-\def\LatinAlphs{%
- \let\@alph\@latinalph%
- \let\@Alph\@latinAlph%
-}
-\def\thempfootnote{{\itshape\@latinalph\c@mpfootnote}}
-\renewcommand*{\bidi@@thebibliography@font@hook}{%
-\if@LTRbibitems
- \resetlatinfont
-\fi}
-\bidi@AfterEndPreamble{%
-\if@bidi@csundef{persianfont}{%
-\PackageError{xepersian}{You have not specified any font\MessageBreak
- for the main Persian text}{Use `\settextfont' to load a font.}%
-}{}}
-\@ifdefinitionfileloaded{loadingorder-xetex-bidi}{\input{loadingorder-xepersian.def}}{}
-\@ifdefinitionfileloaded{footnote-xetex-bidi}{\input{footnote-xepersian.def}}{}
-\@ifpackageloaded{appendix}{\input{appendix-xepersian.def}}{}
-\@ifpackageloaded{listings}{\input{listings-xepersian.def}}{}
-\@ifpackageloaded{algorithmic}{\input{algorithmic-xepersian.def}}{}
-\@ifpackageloaded{algorithm}{\input{algorithm-xepersian.def}}{}
-\@ifpackageloaded{backref}{\input{backref-xepersian.def}}{}
-\@ifpackageloaded{fancyref}{\input{fancyref-xepersian.def}}{}
-\@ifpackageloaded{bidituftesidenote}{\input{bidituftesidenote-xepersian.def}}{}
-\@ifpackageloaded{breqn}{\input{breqn-xepersian.def}}{}
-\@ifpackageloaded{enumerate}{\input{enumerate-xepersian.def}}{}
-\@ifpackageloaded{enumitem}{\input{enumitem-xepersian.def}}{}
-\@ifpackageloaded{framed}{\input{framed-xepersian.def}}{}
-\@ifpackageloaded{glossaries}{\input{glossaries-xepersian.def}}{}
-\@ifpackageloaded{hyperref}{\input{hyperref-xepersian.def}}{}
-\@ifpackageloaded{minitoc}{\input{minitoc-xepersian.def}}{}
-\@ifpackageloaded{natbib}{\input{natbib-xepersian.def}}{}
-\@ifpackageloaded{soul}{\input{soul-xepersian.def}}{}
-\@ifpackageloaded{tikz}{\input{tikz.code-xepersian.def}}{}
-\@ifpackageloaded{tkz-linknodes}{\input{tkz-linknodes-xepersian.def}}{}
-\@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-xepersian.def}}}{}
-\@ifpackageloaded{varioref}{\input{varioref-xepersian.def}}{}
-\@ifclassloaded{article}{\input{article-xepersian.def}}{}
-\@ifclassloaded{extarticle}{\input{extarticle-xepersian.def}}{}
-\@ifclassloaded{artikel1}{\input{artikel1-xepersian.def}}{}
-\@ifclassloaded{artikel2}{\input{artikel2-xepersian.def}}{}
-\@ifclassloaded{artikel3}{\input{artikel3-xepersian.def}}{}
-\@ifclassloaded{amsart}{\input{amsart-xepersian.def}}{}
-\@ifclassloaded{bidimoderncv}{\input{bidimoderncv-xepersian.def}}{}
-\@ifclassloaded{report}{\input{report-xepersian.def}}{}
-\@ifclassloaded{extreport}{\input{extreport-xepersian.def}}{}
-\@ifclassloaded{rapport1}{\input{rapport1-xepersian.def}}{}
-\@ifclassloaded{rapport3}{\input{rapport3-xepersian.def}}{}
-\@ifclassloaded{scrartcl}{\input{scrartcl-xepersian.def}}{}
-\@ifclassloaded{scrbook}{\input{scrbook-xepersian.def}}{}
-\@ifclassloaded{scrreprt}{\input{scrreprt-xepersian.def}}{}
-\@ifclassloaded{amsbook}{\input{amsbook-xepersian.def}}{}
-\@ifclassloaded{boek3}{\input{boek3-xepersian.def}}{}
-\@ifclassloaded{boek}{\input{boek-xepersian.def}}{}
-\@ifclassloaded{bookest}{\input{bookest-xepersian.def}}{}
-\@ifclassloaded{extbook}{\input{extbook-xepersian.def}}{}
-\@ifclassloaded{book}{\input{book-xepersian.def}}{}
-\@ifclassloaded{refrep}{\input{refrep-xepersian.def}}{}
-\@ifclassloaded{memoir}{\input{memoir-xepersian.def}}{}
-\@ifclassloaded{imsproc}{\input{imsproc-xepersian.def}}{}
-
-\def\xepersian@@fontsize@branch#1{%
- \@tempcnta\z@
- \@for\xepersian@tmp:=#1\do{%
- \KV@@sp@def\xepersian@frag{\xepersian@tmp}%
- \ifcase\@tempcnta\relax% cnta == 0
- \edef\xepersian@value{\xepersian@frag}%
- \setfontsize{\xepersian@frag}%
- \or% cnta == 1
- \setfontsize[\xepersian@frag]{\xepersian@value}%
- \else\fi
- \advance\@tempcnta\@ne}%
-}
-
-\define@choicekey{xepersian.sty}{mathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
- \ifcase\xepersian@tempb\relax
- \AutoMathsDigits
- \or
- \DefaultMathsDigits
- \or
- \PersianMathsDigits
- \fi}
-\define@choicekey{xepersian.sty}{inlinemathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
- \ifcase\xepersian@tempb\relax
- \AutoInlineMathsDigits
- \or
- \DefaultInlineMathsDigits
- \or
- \PersianInlineMathsDigits
- \fi}
-\define@choicekey{xepersian.sty}{displaymathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{%
- \ifcase\xepersian@tempb\relax
- \AutoDisplayMathsDigits
- \or
- \DefaultDisplayMathsDigits
- \or
- \PersianDisplayMathsDigits
- \fi}
-\define@choicekey{xepersian.sty}{RTLdocument}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@RTLtrue
- \or
- \@RTLfalse
- \fi}
-
-\define@choicekey{xepersian.sty}{documentdirection}[\xepersian@tempa\xepersian@tempb]{righttoleft,lefttoright}{%
- \ifcase\xepersian@tempb\relax
- \@RTLtrue
- \or
- \@RTLfalse
- \fi}
-
-\define@choicekey{xepersian.sty}{tabledirection}[\xepersian@tempa\xepersian@tempb]{righttoleft,lefttoright}{%
- \ifcase\xepersian@tempb\relax
- \@RTLtabtrue
- \or
- \@RTLtabfalse
- \fi}
-
-\define@choicekey{xepersian.sty}{script}[\xepersian@tempa\xepersian@tempb]{latin,nonlatin}[latin]{%
- \ifcase\xepersian@tempb\relax
- \@nonlatinfalse
- \or
- \@nonlatintrue
- \fi}
-
-\define@choicekey{xepersian.sty}{rldocument}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@RTLtrue
- \or
- \@RTLfalse
- \fi}
-\define@choicekey{xepersian.sty}{footnoterule}[\xepersian@tempa\xepersian@tempb]{automatic,left,right,split,textwidth}{%
- \ifcase\xepersian@tempb\relax
- \autofootnoterule
- \or
- \leftfootnoterule
- \or
- \rightfootnoterule
- \or
- \SplitFootnoteRule
- \or
- \textwidthfootnoterule
- \fi}
-\define@choicekey{xepersian.sty}{footnotedirection}[\xepersian@tempa\xepersian@tempb]{righttoleft,lefttoright}{%
- \ifcase\xepersian@tempb\relax
- \@RTL@footnotetrue
- \or
- \@RTL@footnotefalse
- \fi}
-\define@choicekey{xepersian.sty}{debugfootnotedirection}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \footdir@debugtrue
- \or
- \footdir@debugfalse
- \fi}
-\define@choicekey{xepersian.sty}{Kashida}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \input{kashida-xepersian.def}
- \fi}
-\define@choicekey{xepersian.sty}{localise}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \input{localise-xepersian.def}
- \fi}
-\define@choicekey{xepersian.sty}{extrafootnotefeatures}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@extrafootnotefeaturestrue
- \or
- \@extrafootnotefeaturesfalse
- \fi}
-\define@choicekey{xepersian.sty}{quickindex}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \PackageWarning{xepersian}{Obsolete option}%
- \ifwritexviii%
- \@ifclassloaded{memoir}{\PackageError{xepersian}{This feature does not yet work with the memoir class}{}}{%
- \renewcommand\printindex{\newpage%
- \immediate\closeout\@indexfile
- \immediate\write18{xindy -L persian-variant2 -C utf8 -M texindy -M page-ranges \jobname.idx}
- \@input@{\jobname.ind}}}%
- \else
- \PackageError{xepersian}{“shell escape” (or “write18”) is not enabled. You need to run “xelatex --shell-escape” on your TeX document for this feature to work}{}
- \fi
- \fi}
-\define@choicekey{xepersian.sty}{quickindex-variant1}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \ifwritexviii%
- \@ifclassloaded{memoir}{\PackageError{xepersian}{This feature does not yet work with the memoir class}{}}{%
- \renewcommand\printindex{\newpage%
- \immediate\closeout\@indexfile
- \immediate\write18{xindy -L persian-variant1 -C utf8 -M texindy -M page-ranges \jobname.idx}
- \@input@{\jobname.ind}}}%
- \else
- \PackageError{xepersian}{“shell escape” (or “write18”) is not enabled. You need to run “xelatex --shell-escape” on your TeX document for this feature to work}{}
- \fi
- \fi}
-\define@choicekey{xepersian.sty}{quickindex-variant2}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \ifwritexviii%
- \@ifclassloaded{memoir}{\PackageError{xepersian}{This feature does not yet work with the memoir class}{}}{%
- \renewcommand\printindex{\newpage%
- \immediate\closeout\@indexfile
- \immediate\write18{xindy -L persian-variant2 -C utf8 -M texindy -M page-ranges \jobname.idx}
- \@input@{\jobname.ind}}}%
- \else
- \PackageError{xepersian}{“shell escape” (or “write18”) is not enabled. You need to run “xelatex --shell-escape” on your TeX document for this feature to work}{}
- \fi
- \fi}
-\define@choicekey{xepersian.sty}{abjadvariant}[\xepersian@tempa\xepersian@tempb]{one,two}{%
- \ifcase\xepersian@tempb\relax
- \def\PersianAlphs{%
- \let\@alph\@abjad%
- \let\@Alph\@abjad%
- }
- \or
- \def\PersianAlphs{%
- \let\@alph\@Abjad%
- \let\@Alph\@Abjad%
- }
- \fi}
-\DeclareOptionX{defaultlatinfontfeatures}{%
-\defaultfontfeatures
- [\latinfont]
- {#1}
-}
-
-\DeclareOptionX{mathfontsizescale}{%
- \def\xepersian@@math@fontsize@scale{#1}%
- }
-
-\DeclareOptionX{fontsizescale}{%
- \def\xepersian@@fontsize@scale{#1}%
- }
-
-\DeclareOptionX{fontsize}{%
- \xepersian@@fontsize@branch{#1}%
- }
-
-\DeclareOptionX{latinfontsizescale}{%
- \def\xepersian@@latin@fontsize@scale{#1}%
- }
-
-\DeclareOptionX{baselineskipscale}{%
- \def\xepersian@@baselineskip@scale{#1}%
- }
-
-\DeclareOptionX{latinbaselineskipscale}{%
- \def\xepersian@@latin@baselineskip@scale{#1}%
- }
-
-\define@choicekey{xepersian.sty}{logo}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \AtBeginDocument{\@bidi@inslogo@}%
- \or
- \let\@bidi@logo@\@empty \let\@bidi@inslogo@\@empty
- \fi}
-
-\define@choicekey{xepersian.sty}{pdfinfo}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@bidi@pdfm@marktrue
- \or
- \@bidi@pdfm@markfalse
- \fi}
-
-\define@choicekey{xepersian.sty}{computeautoilg}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@xepersian@@computeautoilgtrue
- \or
- \@xepersian@@computeautoilgfalse
- \fi}
-
-\define@choicekey{xepersian.sty}{DetectColumn}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \def\bidi@firstcolumn@status@write{%
- \protected@write\@auxout{}%
- {\string\bidi@column@status
- {1}}}%
- \def\bidi@lastcolumn@status@write{%
- \protected@write\@auxout{}%
- {\string\bidi@column@status{2}}}%
- \or
- \let\bidi@firstcolumn@status@write\relax
- \let\bidi@lastcolumn@status@write\relax
- \fi}
-
-\define@choicekey{xepersian.sty}{debugtextdigitfont}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \bidi@AtEndPreamble{%
- \bidi@patchcmd{\xepersian@@start@switch@textdigitfont}%
- {\xepersian@textdigitfont}{\addfontfeature{Color=C71585}}{}{}%
- }
- \or
- \relax
- \fi}
-
-\define@choicekey{xepersian.sty}{perpagefootnote}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
- \ifcase\xepersian@tempb\relax
- \@bidi@perpage@footnotetrue
- \or
- \@bidi@perpage@footnotefalse
- \fi}
-
-\newif\if@xepersian@fontsloadable@bool
-\define@choicekey{xepersian.sty}{fontsloadable}[\xepersian@tempa\xepersian@tempb]{true,false}[true]{%
- \ifcase\xepersian@tempb\relax
- \@xepersian@fontsloadable@booltrue
- \or
- \@xepersian@fontsloadable@boolfalse
- \fi}
-
-\ExecuteOptionsX{%
- fontsloadable=false,
- documentdirection=righttoleft,
- tabledirection=righttoleft,
- script=nonlatin,
- footnotedirection=righttoleft,
- footnoterule=automatic,
- abjadvariant=two,
- DetectColumn=off,
- fontsizescale=\@ne,
- latinfontsizescale=\@ne,
- mathfontsizescale=\@ne,
- baselineskipscale=\@ne,
- latinbaselineskipscale=\@ne
-}
-
-\ProcessOptionsX
-
-\if@extrafootnotefeatures
- \input{extrafootnotefeatures-xetex-bidi.def}%
- \input{extrafootnotefeatures-xepersian.def}%
-\fi
-
-\if@xepersian@fontsloadable@bool
- \PackageWarningNoLine{xepersian}{%
- The option `fontsloadable' should only be used in exceptional
- cases.
- You are not allowed to use the option `fontsloadable' unless
- you have a written permission from the primary author of the
- xepersian package}%
-\else
- \input{fontspec-xepersian.def}%
-\fi
-
-\bidi@patchcmd{\set@fontsize}{\@tempdimb#2pt}{%
- \@tempdimb\xepersian@@fontsize@scale\dimexpr#2pt\relax
-}{}{}
-
-\bidi@patchcmd{\set@fontsize}{\@tempskipa#3pt}{%
- \@tempskipa\xepersian@@baselineskip@scale\dimexpr#3pt\relax
-}{}{}
-
-\newcommand*{\xepersian@@update@math@fontsize}[1]{%
- \strip@pt\dimexpr\xepersian@@math@fontsize@scale
- \dimexpr 1pt * \dimexpr #1 pt\relax /
- \dimexpr \xepersian@@fontsize@scale pt\relax
- \relax\relax
-}
-
-\bidi@patchcmd{\getanddefine@fonts}{%
- \xdef\font@name{\csname \string#2/\tf@size\endcsname}%
-}{%
- \xdef\font@name{\csname \string#2/\xepersian@@update@math@fontsize\tf@size\endcsname}%
-}{}{}
-
-\bidi@patchcmd{\getanddefine@fonts}{%
- \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
-}{%
- \xdef\font@name{\csname \string#2/\xepersian@@update@math@fontsize\sf@size\endcsname}%
-}{}{}
-
-\bidi@patchcmd{\getanddefine@fonts}{%
- \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
-}{%
- \xdef\font@name{\csname \string#2/\xepersian@@update@math@fontsize\ssf@size\endcsname}%
-}{}{}
-
-\if@xepersian@@computeautoilg
-\bidi@patchcmd{\set@fontsize}{%
-\baselineskip\f@baselineskip\relax
-}{%
-\baselineskip\f@baselineskip\relax
-\xepersian@computeautoilg
- \ifdim\xepersian@strutilg>\baselineskip
- \PackageInfo{xepersian}{character with height+depth greater than current baselineskip found in font}%
- \PackageInfo{xepersian}{baselineskip changed to that height+depth!}%
- \baselineskip\xepersian@strutilg
- \ifdim\footnotesep=.7\baselineskip
- \else
- \footnotesep.7\baselineskip
- \fi
- \fi
-}{}{}
-\fi
-
-\setlatintextfont[Path,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic},SmallCapsFont={lmromancaps10-regular},SlantedFont={lmromanslant10-regular},BoldSlantedFont={lmromanslant10-bold}]{lmroman10-regular}%
-\PersianAlphs
-\endinput
-%%
-%% End of file `xepersian.sty'.