summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-16 21:33:48 +0000
committerKarl Berry <karl@freefriends.org>2020-05-16 21:33:48 +0000
commit2dcf018ec849f2c579a6eb2399a525fca155daf2 (patch)
treee03fd8307a8d03b8a032feca5011aa352b9f6a2e /Master/texmf-dist
parent1996b5ad272493d43c08372eda3609b1d3271c2c (diff)
xepersian restored without permission requirement
git-svn-id: svn://tug.org/texlive/trunk@55165 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/README30
-rwxr-xr-xMaster/texmf-dist/doc/xelatex/xepersian/dkun-0.3.py468
-rwxr-xr-xMaster/texmf-dist/doc/xelatex/xepersian/dkun-0.4.py465
-rwxr-xr-xMaster/texmf-dist/doc/xelatex/xepersian/ftxe-0.12.py1045
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/img/ireland.jpgbin0 -> 18304 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/img/weather/clouds.jpgbin0 -> 13088 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/img/weather/rain.jpgbin0 -> 14616 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/img/weather/sun.jpgbin0 -> 10896 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/magazine-sample.tex172
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/test-correction.tex38
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/test-empty-form.tex42
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/test-question-only.tex38
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/test-solution-form.tex42
-rwxr-xr-xMaster/texmf-dist/doc/xelatex/xepersian/undk-0.6.py485
-rwxr-xr-xMaster/texmf-dist/doc/xelatex/xepersian/unldk-0.2.py445
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdfbin0 -> 234536 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian-logo.tex1483
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdfbin0 -> 756107 bytes
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.map59
-rw-r--r--Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.tecbin0 -> 544 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx1472
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-boolean.ltx13
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-captions.ltx52
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx90
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx39
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx395
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-preamble.ltx108
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx47
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx17
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx8309
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.ins113
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def44
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def43
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def55
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def60
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def42
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def51
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def51
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def52
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def80
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def49
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def57
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def51
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def52
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def44
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def47
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def199
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def52
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def44
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def85
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def47
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def97
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def984
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def83
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def41
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def408
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def43
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def79
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def120
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def52
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def50
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def255
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def188
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def47
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def47
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def48
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def69
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def74
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def70
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def58
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def49
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def60
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def51
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def104
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def100
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def51
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-logo.pdfbin0 -> 17869 bytes
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls909
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty362
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty177
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty211
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty1538
93 files changed, 23613 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README
new file mode 100644
index 00000000000..dbb69a2acd5
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/README
@@ -0,0 +1,30 @@
+____________________
+The XePersian package
+v23.0
+
+The xepersian package provides a convenient interface for
+typesetting Persian and English texts in LaTeX, using XeTeX
+engine.
+
+If you want to report any bugs or typos and corrections in the
+documentation, or ask for any new features, or suggest any
+improvements, or ask any questions about the package, then
+please use the issue tracker:
+
+ <https://github.com/persiantex/xepersian/issues>
+
+In doing so, please always explain your issue well enough, and always
+include a minimal working example showing the issue.
+
+Current version release date: 2020/05/16
+___________________________________________
+Copyright (c) Vafa Khalighi 2008--2020
+Copyright (c) bidi-tex GitHub Organization 2018--2020
+
+Distributed under the LaTeX Project Public License
+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.
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.3.py b/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.3.py
new file mode 100755
index 00000000000..1789815763a
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.3.py
@@ -0,0 +1,468 @@
+#! /usr/bin/env python
+
+#########################################
+# General Public License #
+# Author: Mostafa Vahedi #
+# Date: 21 Apr. 2008 #
+# Version 0.3 #
+#########################################
+
+import codecs
+
+import sys
+
+
+dk_numerical = [
+chr(0x97), # Arabic Thoushads Seperator
+chr(0xA1) # ARABIC DECIMAL SEPARATOR
+]
+
+
+dk_vowels = [
+chr(0xAB), # ARABIC FATHA
+chr(0xAA), # ARABIC KASRA
+chr(0xA9), # ARABIC DAMMA
+chr(0xAC), # ARABIC FATHATAN
+chr(0xBA), # ARABIC SHADDA
+#chr(0x??), # ARABIC LETTER SUPERSCRIPT ALEF
+#chr(0x??), # ARABIC LETTER SUBSCRIPT ALEF
+chr(0xAD), # ARABIC HAMZA ABOVE
+chr(0xAE) # ARABIC SUKUN
+]
+
+dk_non_joiners = [
+chr(0xBC) # ARABIC LETTER HAMZA
+]
+
+dk_bidi_joiners_initial = [
+chr(0xE1), # ARABIC LETTER AIN, initial form
+chr(0xE5), # ARABIC LETTER GHAIN, initial form
+chr(0xF9) # ARABIC LETTER HEH, initial form
+]
+
+dk_bidi_joiners_medial = [
+chr(0xE3), # ARABIC LETTER AIN, medial form
+chr(0xE7), # ARABIC LETTER GHAIN, medial form
+chr(0xFB) # ARABIC LETTER HEH, medial form
+]
+
+dk_bidi_joiners_final = [
+chr(0xE2), # ARABIC LETTER AIN, final form
+chr(0xE6), # ARABIC LETTER GHAIN, final form
+chr(0xFE) # ARABIC LETTER FARSI YEH, final form
+]
+
+dk_bidi_joiners_isolated = [
+chr(0xE0), # ARABIC LETTER AIN, isolated form
+chr(0xE4), # ARABIC LETTER GHAIN, isolated form
+chr(0xFC) # ARABIC LETTER FARSI YEH, isolated form
+]
+
+dk_bidi_joiners_initial_medial = [
+chr(0x94), # ARABIC TATWEEL
+chr(0xFF), # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0xC0), # ARABIC LETTER BEH, initial-medial form
+chr(0xC2), # ARABIC LETTER PEH, initial-medial form
+chr(0xC4), # ARABIC LETTER TEH, initial-medial form
+chr(0xC6), # ARABIC LETTER THEH, initial-medial form
+chr(0xC8), # ARABIC LETTER JEEM, initial-medial form
+chr(0xCA), # ARABIC LETTER TCHEH, initial-medial form
+chr(0xCC), # ARABIC LETTER HAH, initial-medial form
+chr(0xCE), # ARABIC LETTER KHAH, initial-medial form
+chr(0xD5), # ARABIC LETTER SEEN, initial-medial form
+chr(0xD7), # ARABIC LETTER SHEEN, initial-medial form
+chr(0xD9), # ARABIC LETTER SAD, initial-medial form
+chr(0xDB), # ARABIC LETTER DAD, initial-medial form
+chr(0xDD), # ARABIC LETTER TAH, initial-medial form
+chr(0xDF), # ARABIC LETTER ZAH, initial-medial form
+chr(0xE9), # ARABIC LETTER FEH, initial-medial form
+chr(0xEB), # ARABIC LETTER QAF, initial-medial form
+chr(0xED), # ARABIC LETTER KEHEH, initial-medial form
+chr(0xEF), # ARABIC LETTER GAF, initial-medial form
+chr(0xF2), # ARABIC LETTER LAM, initial-medial form
+chr(0xF4), # ARABIC LETTER MEEM, initial-medial form
+chr(0xF6), # ARABIC LETTER NOON, initial-medial form
+chr(0xFD) # ARABIC LETTER FARSI YEH, initial-medial form
+]
+
+dk_bidi_joiners_final_isolated = [
+chr(0xBF), # ARABIC LETTER BEH, final-isolated form
+chr(0xC1), # ARABIC LETTER PEH, final-isolated form
+chr(0xC3), # ARABIC LETTER TEH, final-isolated form
+chr(0xC5), # ARABIC LETTER THEH, final-isolated form
+chr(0xC7), # ARABIC LETTER JEEM, final-isolated form
+chr(0xC9), # ARABIC LETTER TCHEH, final-isolated form
+chr(0xCB), # ARABIC LETTER HAH, final-isolated form
+chr(0xCD), # ARABIC LETTER KHAH, final-isolated form
+chr(0xD4), # ARABIC LETTER SEEN, final-isolated form
+chr(0xD6), # ARABIC LETTER SHEEN, final-isolated form
+chr(0xD8), # ARABIC LETTER SAD, final-isolated form
+chr(0xDA), # ARABIC LETTER DAD, final-isolated form
+chr(0xDC), # ARABIC LETTER TAH, final-isolated form
+chr(0xDE), # ARABIC LETTER ZAH, final-isolated form
+chr(0xE8), # ARABIC LETTER FEH, final-isolated form
+chr(0xEA), # ARABIC LETTER QAF, final-isolated form
+chr(0xEC), # ARABIC LETTER KEHEH, final-isolated form
+chr(0xEE), # ARABIC LETTER GAF, final-isolated form
+chr(0xF0), # ARABIC LETTER LAM, final-isolated form
+chr(0xF3), # ARABIC LETTER MEEM, final-isolated form
+chr(0xF5), # ARABIC LETTER NOON, final-isolated form
+chr(0xF8) # ARABIC LETTER HEH, final-isolated form
+]
+
+dk_right_joiners_final = [
+chr(0xBE) # ARABIC LETTER ALEF, final form
+]
+
+dk_right_joiners_isolated = [
+chr(0xBD) # ARABIC LETTER ALEF, isolated form
+]
+
+dk_right_joiners_final_isolated = [
+chr(0xBB), # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0xCF), # ARABIC LETTER DAL
+chr(0xD0), # ARABIC LETTER THAL
+chr(0xD1), # ARABIC LETTER REH
+chr(0xD2), # ARABIC LETTER ZAIN
+chr(0xD3), # ARABIC LETTER JEH
+#chr(0xBF), # ARABIC LETTER TEH MARBUTAH
+chr(0xF1), # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF7) # ARABIC LETTER WAW
+]
+
+
+table_DK_UN = {
+chr(0xB0) : [u'\u06F0'], # EXTENDED ARABIC-INDIC DIGIT ZERO
+chr(0xB1) : [u'\u06F1'], # EXTENDED ARABIC-INDIC DIGIT ONE
+chr(0xB2) : [u'\u06F2'], # EXTENDED ARABIC-INDIC DIGIT TWO
+chr(0xB3) : [u'\u06F3'], # EXTENDED ARABIC-INDIC DIGIT THREE
+chr(0xB4) : [u'\u06F4'], # EXTENDED ARABIC-INDIC DIGIT FOUR
+chr(0xB5) : [u'\u06F5'], # EXTENDED ARABIC-INDIC DIGIT FIVE
+chr(0xB6) : [u'\u06F6'], # EXTENDED ARABIC-INDIC DIGIT SIX
+chr(0xB7) : [u'\u06F7'], # EXTENDED ARABIC-INDIC DIGIT SEVEN
+chr(0xB8) : [u'\u06F8'], # EXTENDED ARABIC-INDIC DIGIT EIGHT
+chr(0xB9) : [u'\u06F9'], # EXTENDED ARABIC-INDIC DIGIT NINE
+chr(0xA7) : [u'\u060C'], # ARABIC COMMA
+chr(0x94) : [u'\u0640'], # ARABIC TATWEEL
+chr(0xA3) : [u'\u061F'], # ARABIC QUESTION MARK
+chr(0xBB) : [u'\u0622'], # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0xFF) : [u'\u0626'], # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0xBC) : [u'\u0621'], # ARABIC LETTER HAMZA
+chr(0xBD) : [u'\u0627'], # ARABIC LETTER ALEF, isolated form
+chr(0xBE) : [u'\u0627'], # ARABIC LETTER ALEF, final form
+chr(0xBF) : [u'\u0628'], # ARABIC LETTER BEH, final-isolated form
+chr(0xC0) : [u'\u0628'], # ARABIC LETTER BEH, initial-medial form
+chr(0xC1) : [u'\u067E'], # ARABIC LETTER PEH, final-isolated form
+chr(0xC2) : [u'\u067E'], # ARABIC LETTER PEH, initial-medial form
+chr(0xC3) : [u'\u062A'], # ARABIC LETTER TEH, final-isolated form
+chr(0xC4) : [u'\u062A'], # ARABIC LETTER TEH, initial-medial form
+chr(0xC5) : [u'\u062B'], # ARABIC LETTER THEH, final-isolated form
+chr(0xC6) : [u'\u062B'], # ARABIC LETTER THEH, initial-medial form
+chr(0xC7) : [u'\u062C'], # ARABIC LETTER JEEM, final-isolated form
+chr(0xC8) : [u'\u062C'], # ARABIC LETTER JEEM, initial-medial form
+chr(0xC9) : [u'\u0686'], # ARABIC LETTER TCHEH, final-isolated form
+chr(0xCA) : [u'\u0686'], # ARABIC LETTER TCHEH, initial-medial form
+chr(0xCB) : [u'\u062D'], # ARABIC LETTER HAH, final-isolated form
+chr(0xCC) : [u'\u062D'], # ARABIC LETTER HAH, initial-medial form
+chr(0xCD) : [u'\u062E'], # ARABIC LETTER KHAH, final-isolated form
+chr(0xCE) : [u'\u062E'], # ARABIC LETTER KHAH, initial-medial form
+chr(0xCF) : [u'\u062F'], # ARABIC LETTER DAL
+chr(0xD0) : [u'\u0630'], # ARABIC LETTER THAL
+chr(0xD1) : [u'\u0631'], # ARABIC LETTER REH
+chr(0xD2) : [u'\u0632'], # ARABIC LETTER ZAIN
+chr(0xD3) : [u'\u0698'], # ARABIC LETTER JEH
+chr(0xD4) : [u'\u0633'], # ARABIC LETTER SEEN, final-isolated form
+chr(0xD5) : [u'\u0633'], # ARABIC LETTER SEEN, initial-medial form
+chr(0xD6) : [u'\u0634'], # ARABIC LETTER SHEEN, final-isolated form
+chr(0xD7) : [u'\u0634'], # ARABIC LETTER SHEEN, initial-medial form
+chr(0xD8) : [u'\u0635'], # ARABIC LETTER SAD, final-isolated form
+chr(0xD9) : [u'\u0635'], # ARABIC LETTER SAD, initial-medial form
+chr(0xDA) : [u'\u0636'], # ARABIC LETTER DAD, final-isolated form
+chr(0xDB) : [u'\u0636'], # ARABIC LETTER DAD, initial-medial form
+chr(0xDC) : [u'\u0637'], # ARABIC LETTER TAH, initial-medial form
+chr(0xAB) : [u'\u064E'], # ARABIC FATHA
+chr(0xAA) : [u'\u0650'], # ARABIC KASRA
+chr(0xA9) : [u'\u064F'], # ARABIC DAMMA
+chr(0xAC) : [u'\u064B'], # ARABIC FATHATAN
+chr(0xBA) : [u'\u0651'], # ARABIC SHADDA
+chr(0x95) : [u'\u0023'], # * #
+chr(0x83) : [u'\u0024'], # * $
+chr(0x96) : [u'\u066A'], # * %
+chr(0x87) : [u'\u0026'], # * &
+chr(0x9C) : [u'\u00D7'], # * ARABIC cross (times) x
+chr(0x97) : [u'\u066C'], # Arabic Thoushads Seperator
+#chr(0xBA) : [u'\u0670'], # ARABIC LETTER SUPERSCRIPT ALEF
+chr(0xAD) : [u'\u0654'], # ARABIC HAMZA ABOVE
+chr(0xA1) : [u'\u066B'], # ARABIC DECIMAL SEPARATOR
+chr(0x91) : [u'\u0028'], # * RIGHT PARENTHESIS
+chr(0x90) : [u'\u0029'], # * LEFT PARENTHESIS
+#chr(0xBF) : [u'\u0629'], # ARABIC LETTER TEH MARBUTAH
+chr(0x8E) : [u'\u00BB'], # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xDD) : [u'\u0637'], # ARABIC LETTER TAH, final-isolated form
+chr(0xDE) : [u'\u0638'], # ARABIC LETTER ZAH, final-isolated form
+chr(0x8F) : [u'\u00AB'], # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xAE) : [u'\u0652'], # ARABIC SUKUN
+chr(0x9F) : [u'\u002D'], # * -
+chr(0xA2) : [u'\u002E'], # * FULL STOP
+#chr(0xA1) : [u'\u002F'], # * /
+chr(0x82) : [u'\u002A'], # * *
+chr(0x86) : [u'\u007E'], # * ~
+chr(0xA5) : [u'\u003A'], # * COLON
+chr(0xA6) : [u'\u061B'], # ARABIC SEMICOLON
+chr(0x9A) : [u'\u003E'], # * GREATER-THAN SIGN
+chr(0x9E) : [u'\u002B'], # * +
+chr(0x99) : [u'\u003D'], # * =
+chr(0x98) : [u'\u003C'], # * LESS-THAN SIGN
+chr(0x81) : [u'\u0040'], # * @
+chr(0x92) : [u'\u005D'], # * [
+chr(0x9D) : [u'\u005C'], # * \
+chr(0x93) : [u'\u005B'], # * ]
+#chr(0xAE) : [u'\u005E'], # * ^
+#chr(0xD5) : [u'\u005F'], # * _
+chr(0xA8) : [u'\u0060'], # * `
+chr(0x8B) : [u'\u007D'], # * {
+chr(0xAF) : [u'\u007C'], # * |
+chr(0xA0) : [u'\u0020'], # * SPACE
+chr(0xA4) : [u'\u0021'], # * EXCLAMATION MARK
+chr(0x8C) : [u'\u007B'], # * }
+chr(0xDF) : [u'\u0638'], # ARABIC LETTER ZAH, initial-medial form
+chr(0xE0) : [u'\u0639'], # ARABIC LETTER AIN, isolated form
+chr(0xE1) : [u'\u0639'], # ARABIC LETTER AIN, final form
+chr(0xE2) : [u'\u0639'], # ARABIC LETTER AIN, medial form
+chr(0xE3) : [u'\u0639'], # ARABIC LETTER AIN, initial form
+chr(0xE4) : [u'\u063A'], # ARABIC LETTER GHAIN, isolated form
+chr(0xE5) : [u'\u063A'], # ARABIC LETTER GHAIN, final form
+chr(0xE6) : [u'\u063A'], # ARABIC LETTER GHAIN, medial form
+chr(0xE7) : [u'\u063A'], # ARABIC LETTER GHAIN, initial form
+chr(0xE8) : [u'\u0641'], # ARABIC LETTER FEH, final-isolated form
+chr(0xE9) : [u'\u0641'], # ARABIC LETTER FEH, initial-medial form
+chr(0xEA) : [u'\u0642'], # ARABIC LETTER QAF, final-isolated form
+chr(0xEB) : [u'\u0642'], # ARABIC LETTER QAF, initial-medial form
+chr(0xEC) : [u'\u06A9'], # ARABIC LETTER KEHEH, final-isolated form
+chr(0xED) : [u'\u06A9'], # ARABIC LETTER KEHEH, initial-medial form
+chr(0xEE) : [u'\u06AF'], # ARABIC LETTER GAF, final-isolated form
+chr(0xEF) : [u'\u06AF'], # ARABIC LETTER GAF, initial-medial form
+chr(0xF0) : [u'\u0644'], # ARABIC LETTER LAM, final-isolated form
+chr(0xF1) : [u'\u0644\u0627'], # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF2) : [u'\u0644'], # ARABIC LETTER LAM, initial-medial form
+chr(0xF3) : [u'\u0645'], # ARABIC LETTER MEEM, final-isolated form
+chr(0xF4) : [u'\u0645'], # ARABIC LETTER MEEM, initial-medial form
+chr(0xF5) : [u'\u0646'], # ARABIC LETTER NOON, final-isolated form
+chr(0xF6) : [u'\u0646'], # ARABIC LETTER NOON, initial-medial form
+chr(0xF7) : [u'\u0648'], # ARABIC LETTER WAW
+chr(0xF8) : [u'\u0647'], # ARABIC LETTER HEH, final-isolated form
+chr(0xFB) : [u'\u0647'], # ARABIC LETTER HEH, medial form
+chr(0xF9) : [u'\u0647'], # ARABIC LETTER HEH, initial form
+chr(0xFE) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, final form
+chr(0xFC) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, isolated form
+chr(0xFD) : [u'\u06CC'] # ARABIC LETTER FARSI YEH, initial-medial form
+}
+
+
+def dk_is_numeric(ch):
+ if ((ch in dk_numerical) or
+ ((ch >= chr(0xB0)) and (ch <= chr(0xB9))) ):
+ return 1
+ return 0
+
+def dk_can_join_left(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_final) or
+ (ch in dk_bidi_joiners_isolated) or
+ (ch in dk_bidi_joiners_initial_medial) or
+ (ch in dk_bidi_joiners_final_isolated)):
+ return 1
+ return 0
+
+def dk_can_join_right(ch):
+ if (dk_can_join_left(ch) or
+ (ch in dk_right_joiners_final) or
+ (ch in dk_right_joiners_isolated) or
+ (ch in dk_right_joiners_final_isolated)):
+ return 1
+ return 0
+
+def dk_joining_left(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_initial_medial)):
+ return 1
+ return 0
+
+
+def dk_joining_right(ch):
+ if ((ch in dk_right_joiners_final) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_final)):
+ return 1
+ return 0
+
+def dk_not_right_joined(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_right_joiners_isolated) or
+ (ch in dk_bidi_joiners_isolated)):
+ return 1
+ return 0
+
+def dk_adjust_shaping(text, i):
+ current = text[i]
+ u = u''
+ try:
+ u = table_DK_UN[current][0]
+ except KeyError:
+ print 'ERROR: unmapped character'
+ return u''
+
+ #if you don't want shaping remove the following comment
+ #return u
+
+ if ((current in dk_vowels) or (dk_is_numeric(current))):
+ return u
+
+ #find next non-vowel character on the left
+ text_len = len(text)
+ next_index = i+1
+ while ((next_index < text_len) and (text[next_index] in dk_vowels)):
+ next_index += 1
+
+ if (next_index == text_len):
+ next = ''
+ else:
+ next = text[next_index]
+
+ # if current letter is joining from left but next letter is or can not joining
+ if (dk_joining_left(current)):
+ if (not dk_can_join_right(next)):
+ u += u'\u200D' #ZWJ
+ elif (dk_not_right_joined(next)):
+ u += u'\u200D\u200C' #ZWJ+ZWNJ
+ # if current letter can join but next letter is joining from right
+ elif (dk_can_join_left(current)):
+ if (dk_joining_right(next)):
+ u += u'\u200C\u200D' #ZWNJ+ZWJ
+ elif (dk_can_join_right(next)):
+ u += u'\u200C' #ZWNJ
+ return u
+
+def dk_adjust_number(text):
+ result = u''
+ i = len(text)-1
+ while (i >= 0):
+ result += dk_adjust_shaping(text, i)
+ i -= 1
+ return result
+
+
+def map_dk_unicode(text):
+ mapped_text = u''
+
+ i = 0
+ while (i < len(text)):
+ if (dk_is_numeric(text[i])):
+ next_index = i
+ while ((next_index+1 < len(text)) and
+ (dk_is_numeric(text[next_index+1]))):
+ next_index += 1
+ mapped_text += dk_adjust_number(text[i:next_index+1])
+ i = next_index+1
+ continue
+
+ mapped_text += dk_adjust_shaping(text, i)
+ i += 1
+ return mapped_text
+
+def dk_next_part(line, i):
+ j = i
+ language_flag = (line[j]<chr(0x80))
+ while ((j<line_len) and ((line[j]<chr(0x80)) == language_flag) ):
+ j += 1
+ return j
+
+
+def is_english_letter_number(c):
+ if ((c >= 'a') and (c <= 'z')) or ((c >= 'A') and (c <= 'Z')):
+ return 1
+ if (c >= '0') and (c <= '9'):
+ return 1
+ return 0
+
+def is_inbetween_chars(c):
+ if ((c == '.') or (c == '-') or (c == '_') or (c == '/')):
+ return 1
+ return 0
+
+def needs_english_wrapper(part):
+ part_len = len(part)
+ i = -1
+ while (i+1 < part_len):
+ i += 1
+ if (is_english_letter_number(part[i]) == 1):
+ continue
+ if (i>0) and (is_inbetween_chars(part[i]) == 1) and \
+ (part_len > i+1) and (is_english_letter_number(part[i+1]) == 1):
+ continue
+ return 1
+ return 0
+
+# Main body of the program
+if len(sys.argv) <= 2:
+ print 'usage: python dkun in_filename out_filename'
+ exit(0)
+
+filename = sys.argv[1]
+outfile = sys.argv[2]
+
+try:
+ f = open(filename, 'r')
+except IOError:
+ print "Can not open the input file: " + filename
+ exit(0)
+
+try:
+ of = codecs.open(outfile, encoding='utf-8', mode='w')
+except IOError:
+ print "Can not open the output file: " + outfile
+ exit(0)
+
+line_number = 0
+for line in f:
+ line_number += 1
+ output_line = u''
+ line_len = len(line)
+
+ put_end_of_line = 0
+ if ((line_len > 0) and (line[line_len-1] == '\n')):
+ put_end_of_line = 1
+ line_len = line_len - 1
+ if ((line_len > 0) and (line[line_len-1] == '\r')):
+ line_len = line_len - 1
+
+ i = 0
+
+ while (i<line_len):
+ next_part_index = dk_next_part(line, i)
+ next_part = line[i:next_part_index]
+ next_part_latin = (line[i]<chr(0x80))
+
+ if next_part_latin:
+ if (needs_english_wrapper(next_part[::-1]) == 1):
+ next_part = '\$e_'+next_part[::-1]+'\$f_'
+ else:
+ next_part = next_part[::-1]
+ output_line += next_part.encode( 'utf-8' )
+ else:
+ output_line += map_dk_unicode(next_part)
+ i = next_part_index
+ # end of while
+
+ if (put_end_of_line == 1):
+ output_line += u'\u000a'
+
+ # write the processed line
+ of.write(output_line)
+ # end of line processing
+# end of file processing
+
+of.close()
+f.close()
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.4.py b/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.4.py
new file mode 100755
index 00000000000..15877cb93eb
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/dkun-0.4.py
@@ -0,0 +1,465 @@
+#! /usr/bin/env python
+
+#########################################
+# General Public License #
+# Author: Mostafa Vahedi #
+# Date: 24 Sep. 2012 #
+# Version 0.4 #
+#########################################
+
+import codecs
+
+import sys
+
+
+dk_numerical = [
+chr(0x97), # Arabic Thoushads Seperator
+chr(0xA1) # ARABIC DECIMAL SEPARATOR
+]
+
+
+dk_vowels = [
+chr(0xAB), # ARABIC FATHA
+chr(0xAA), # ARABIC KASRA
+chr(0xA9), # ARABIC DAMMA
+chr(0xAC), # ARABIC FATHATAN
+chr(0xBA), # ARABIC SHADDA
+#chr(0x??), # ARABIC LETTER SUPERSCRIPT ALEF
+#chr(0x??), # ARABIC LETTER SUBSCRIPT ALEF
+chr(0xAD), # ARABIC HAMZA ABOVE
+chr(0xAE) # ARABIC SUKUN
+]
+
+dk_non_joiners = [
+chr(0xBC) # ARABIC LETTER HAMZA
+]
+
+dk_bidi_joiners_initial = [
+chr(0xE1), # ARABIC LETTER AIN, initial form
+chr(0xE5), # ARABIC LETTER GHAIN, initial form
+chr(0xF9) # ARABIC LETTER HEH, initial form
+]
+
+dk_bidi_joiners_medial = [
+chr(0xE3), # ARABIC LETTER AIN, medial form
+chr(0xE7), # ARABIC LETTER GHAIN, medial form
+chr(0xFB) # ARABIC LETTER HEH, medial form
+]
+
+dk_bidi_joiners_final = [
+chr(0xE2), # ARABIC LETTER AIN, final form
+chr(0xE6), # ARABIC LETTER GHAIN, final form
+chr(0xFE) # ARABIC LETTER FARSI YEH, final form
+]
+
+dk_bidi_joiners_isolated = [
+chr(0xE0), # ARABIC LETTER AIN, isolated form
+chr(0xE4), # ARABIC LETTER GHAIN, isolated form
+chr(0xFC) # ARABIC LETTER FARSI YEH, isolated form
+]
+
+dk_bidi_joiners_initial_medial = [
+chr(0x94), # ARABIC TATWEEL
+chr(0xFF), # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0xC0), # ARABIC LETTER BEH, initial-medial form
+chr(0xC2), # ARABIC LETTER PEH, initial-medial form
+chr(0xC4), # ARABIC LETTER TEH, initial-medial form
+chr(0xC6), # ARABIC LETTER THEH, initial-medial form
+chr(0xC8), # ARABIC LETTER JEEM, initial-medial form
+chr(0xCA), # ARABIC LETTER TCHEH, initial-medial form
+chr(0xCC), # ARABIC LETTER HAH, initial-medial form
+chr(0xCE), # ARABIC LETTER KHAH, initial-medial form
+chr(0xD5), # ARABIC LETTER SEEN, initial-medial form
+chr(0xD7), # ARABIC LETTER SHEEN, initial-medial form
+chr(0xD9), # ARABIC LETTER SAD, initial-medial form
+chr(0xDB), # ARABIC LETTER DAD, initial-medial form
+chr(0xDD), # ARABIC LETTER TAH, initial-medial form
+chr(0xDF), # ARABIC LETTER ZAH, initial-medial form
+chr(0xE9), # ARABIC LETTER FEH, initial-medial form
+chr(0xEB), # ARABIC LETTER QAF, initial-medial form
+chr(0xED), # ARABIC LETTER KEHEH, initial-medial form
+chr(0xEF), # ARABIC LETTER GAF, initial-medial form
+chr(0xF2), # ARABIC LETTER LAM, initial-medial form
+chr(0xF4), # ARABIC LETTER MEEM, initial-medial form
+chr(0xF6), # ARABIC LETTER NOON, initial-medial form
+chr(0xFD) # ARABIC LETTER FARSI YEH, initial-medial form
+]
+
+dk_bidi_joiners_final_isolated = [
+chr(0xBF), # ARABIC LETTER BEH, final-isolated form
+chr(0xC1), # ARABIC LETTER PEH, final-isolated form
+chr(0xC3), # ARABIC LETTER TEH, final-isolated form
+chr(0xC5), # ARABIC LETTER THEH, final-isolated form
+chr(0xC7), # ARABIC LETTER JEEM, final-isolated form
+chr(0xC9), # ARABIC LETTER TCHEH, final-isolated form
+chr(0xCB), # ARABIC LETTER HAH, final-isolated form
+chr(0xCD), # ARABIC LETTER KHAH, final-isolated form
+chr(0xD4), # ARABIC LETTER SEEN, final-isolated form
+chr(0xD6), # ARABIC LETTER SHEEN, final-isolated form
+chr(0xD8), # ARABIC LETTER SAD, final-isolated form
+chr(0xDA), # ARABIC LETTER DAD, final-isolated form
+chr(0xDC), # ARABIC LETTER TAH, final-isolated form
+chr(0xDE), # ARABIC LETTER ZAH, final-isolated form
+chr(0xE8), # ARABIC LETTER FEH, final-isolated form
+chr(0xEA), # ARABIC LETTER QAF, final-isolated form
+chr(0xEC), # ARABIC LETTER KEHEH, final-isolated form
+chr(0xEE), # ARABIC LETTER GAF, final-isolated form
+chr(0xF0), # ARABIC LETTER LAM, final-isolated form
+chr(0xF3), # ARABIC LETTER MEEM, final-isolated form
+chr(0xF5), # ARABIC LETTER NOON, final-isolated form
+chr(0xF8) # ARABIC LETTER HEH, final-isolated form
+]
+
+dk_right_joiners_final = [
+chr(0xBE) # ARABIC LETTER ALEF, final form
+]
+
+dk_right_joiners_isolated = [
+chr(0xBD) # ARABIC LETTER ALEF, isolated form
+]
+
+dk_right_joiners_final_isolated = [
+chr(0xBB), # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0xCF), # ARABIC LETTER DAL
+chr(0xD0), # ARABIC LETTER THAL
+chr(0xD1), # ARABIC LETTER REH
+chr(0xD2), # ARABIC LETTER ZAIN
+chr(0xD3), # ARABIC LETTER JEH
+#chr(0xBF), # ARABIC LETTER TEH MARBUTAH
+chr(0xF1), # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF7) # ARABIC LETTER WAW
+]
+
+
+table_DK_UN = {
+chr(0xB0) : [u'\u06F0'], # EXTENDED ARABIC-INDIC DIGIT ZERO
+chr(0xB1) : [u'\u06F1'], # EXTENDED ARABIC-INDIC DIGIT ONE
+chr(0xB2) : [u'\u06F2'], # EXTENDED ARABIC-INDIC DIGIT TWO
+chr(0xB3) : [u'\u06F3'], # EXTENDED ARABIC-INDIC DIGIT THREE
+chr(0xB4) : [u'\u06F4'], # EXTENDED ARABIC-INDIC DIGIT FOUR
+chr(0xB5) : [u'\u06F5'], # EXTENDED ARABIC-INDIC DIGIT FIVE
+chr(0xB6) : [u'\u06F6'], # EXTENDED ARABIC-INDIC DIGIT SIX
+chr(0xB7) : [u'\u06F7'], # EXTENDED ARABIC-INDIC DIGIT SEVEN
+chr(0xB8) : [u'\u06F8'], # EXTENDED ARABIC-INDIC DIGIT EIGHT
+chr(0xB9) : [u'\u06F9'], # EXTENDED ARABIC-INDIC DIGIT NINE
+chr(0xA7) : [u'\u060C'], # ARABIC COMMA
+chr(0x94) : [u'\u0640'], # ARABIC TATWEEL
+chr(0xA3) : [u'\u061F'], # ARABIC QUESTION MARK
+chr(0xBB) : [u'\u0622'], # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0xFF) : [u'\u0626'], # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0xBC) : [u'\u0621'], # ARABIC LETTER HAMZA
+chr(0xBD) : [u'\u0627'], # ARABIC LETTER ALEF, isolated form
+chr(0xBE) : [u'\u0627'], # ARABIC LETTER ALEF, final form
+chr(0xBF) : [u'\u0628'], # ARABIC LETTER BEH, final-isolated form
+chr(0xC0) : [u'\u0628'], # ARABIC LETTER BEH, initial-medial form
+chr(0xC1) : [u'\u067E'], # ARABIC LETTER PEH, final-isolated form
+chr(0xC2) : [u'\u067E'], # ARABIC LETTER PEH, initial-medial form
+chr(0xC3) : [u'\u062A'], # ARABIC LETTER TEH, final-isolated form
+chr(0xC4) : [u'\u062A'], # ARABIC LETTER TEH, initial-medial form
+chr(0xC5) : [u'\u062B'], # ARABIC LETTER THEH, final-isolated form
+chr(0xC6) : [u'\u062B'], # ARABIC LETTER THEH, initial-medial form
+chr(0xC7) : [u'\u062C'], # ARABIC LETTER JEEM, final-isolated form
+chr(0xC8) : [u'\u062C'], # ARABIC LETTER JEEM, initial-medial form
+chr(0xC9) : [u'\u0686'], # ARABIC LETTER TCHEH, final-isolated form
+chr(0xCA) : [u'\u0686'], # ARABIC LETTER TCHEH, initial-medial form
+chr(0xCB) : [u'\u062D'], # ARABIC LETTER HAH, final-isolated form
+chr(0xCC) : [u'\u062D'], # ARABIC LETTER HAH, initial-medial form
+chr(0xCD) : [u'\u062E'], # ARABIC LETTER KHAH, final-isolated form
+chr(0xCE) : [u'\u062E'], # ARABIC LETTER KHAH, initial-medial form
+chr(0xCF) : [u'\u062F'], # ARABIC LETTER DAL
+chr(0xD0) : [u'\u0630'], # ARABIC LETTER THAL
+chr(0xD1) : [u'\u0631'], # ARABIC LETTER REH
+chr(0xD2) : [u'\u0632'], # ARABIC LETTER ZAIN
+chr(0xD3) : [u'\u0698'], # ARABIC LETTER JEH
+chr(0xD4) : [u'\u0633'], # ARABIC LETTER SEEN, final-isolated form
+chr(0xD5) : [u'\u0633'], # ARABIC LETTER SEEN, initial-medial form
+chr(0xD6) : [u'\u0634'], # ARABIC LETTER SHEEN, final-isolated form
+chr(0xD7) : [u'\u0634'], # ARABIC LETTER SHEEN, initial-medial form
+chr(0xD8) : [u'\u0635'], # ARABIC LETTER SAD, final-isolated form
+chr(0xD9) : [u'\u0635'], # ARABIC LETTER SAD, initial-medial form
+chr(0xDA) : [u'\u0636'], # ARABIC LETTER DAD, final-isolated form
+chr(0xDB) : [u'\u0636'], # ARABIC LETTER DAD, initial-medial form
+chr(0xDC) : [u'\u0637'], # ARABIC LETTER TAH, initial-medial form
+chr(0xAB) : [u'\u064E'], # ARABIC FATHA
+chr(0xAA) : [u'\u0650'], # ARABIC KASRA
+chr(0xA9) : [u'\u064F'], # ARABIC DAMMA
+chr(0xAC) : [u'\u064B'], # ARABIC FATHATAN
+chr(0xBA) : [u'\u0651'], # ARABIC SHADDA
+chr(0x95) : [u'\u0023'], # * #
+chr(0x83) : [u'\u0024'], # * $
+chr(0x96) : [u'\u066A'], # * %
+chr(0x87) : [u'\u0026'], # * &
+chr(0x9C) : [u'\u00D7'], # * ARABIC cross (times) x
+chr(0x97) : [u'\u066C'], # Arabic Thoushads Seperator
+#chr(0xBA) : [u'\u0670'], # ARABIC LETTER SUPERSCRIPT ALEF
+chr(0xAD) : [u'\u0654'], # ARABIC HAMZA ABOVE
+chr(0xA1) : [u'\u066B'], # ARABIC DECIMAL SEPARATOR
+chr(0x91) : [u'\u0028'], # * RIGHT PARENTHESIS
+chr(0x90) : [u'\u0029'], # * LEFT PARENTHESIS
+#chr(0xBF) : [u'\u0629'], # ARABIC LETTER TEH MARBUTAH
+chr(0x8E) : [u'\u00BB'], # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xDD) : [u'\u0637'], # ARABIC LETTER TAH, final-isolated form
+chr(0xDE) : [u'\u0638'], # ARABIC LETTER ZAH, final-isolated form
+chr(0x8F) : [u'\u00AB'], # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xAE) : [u'\u0652'], # ARABIC SUKUN
+chr(0x9F) : [u'\u002D'], # * -
+chr(0xA2) : [u'\u002E'], # * FULL STOP
+#chr(0xA1) : [u'\u002F'], # * /
+chr(0x82) : [u'\u002A'], # * *
+chr(0x86) : [u'\u007E'], # * ~
+chr(0xA5) : [u'\u003A'], # * COLON
+chr(0xA6) : [u'\u061B'], # ARABIC SEMICOLON
+chr(0x9A) : [u'\u003E'], # * GREATER-THAN SIGN
+chr(0x9E) : [u'\u002B'], # * +
+chr(0x99) : [u'\u003D'], # * =
+chr(0x98) : [u'\u003C'], # * LESS-THAN SIGN
+chr(0x81) : [u'\u0040'], # * @
+chr(0x92) : [u'\u005D'], # * [
+chr(0x9D) : [u'\u005C'], # * \
+chr(0x93) : [u'\u005B'], # * ]
+#chr(0xAE) : [u'\u005E'], # * ^
+#chr(0xD5) : [u'\u005F'], # * _
+chr(0xA8) : [u'\u0060'], # * `
+chr(0x8B) : [u'\u007D'], # * {
+chr(0xAF) : [u'\u007C'], # * |
+chr(0xA0) : [u'\u0020'], # * SPACE
+chr(0xA4) : [u'\u0021'], # * EXCLAMATION MARK
+chr(0x8C) : [u'\u007B'], # * }
+chr(0xDF) : [u'\u0638'], # ARABIC LETTER ZAH, initial-medial form
+chr(0xE0) : [u'\u0639'], # ARABIC LETTER AIN, isolated form
+chr(0xE1) : [u'\u0639'], # ARABIC LETTER AIN, final form
+chr(0xE2) : [u'\u0639'], # ARABIC LETTER AIN, medial form
+chr(0xE3) : [u'\u0639'], # ARABIC LETTER AIN, initial form
+chr(0xE4) : [u'\u063A'], # ARABIC LETTER GHAIN, isolated form
+chr(0xE5) : [u'\u063A'], # ARABIC LETTER GHAIN, final form
+chr(0xE6) : [u'\u063A'], # ARABIC LETTER GHAIN, medial form
+chr(0xE7) : [u'\u063A'], # ARABIC LETTER GHAIN, initial form
+chr(0xE8) : [u'\u0641'], # ARABIC LETTER FEH, final-isolated form
+chr(0xE9) : [u'\u0641'], # ARABIC LETTER FEH, initial-medial form
+chr(0xEA) : [u'\u0642'], # ARABIC LETTER QAF, final-isolated form
+chr(0xEB) : [u'\u0642'], # ARABIC LETTER QAF, initial-medial form
+chr(0xEC) : [u'\u06A9'], # ARABIC LETTER KEHEH, final-isolated form
+chr(0xED) : [u'\u06A9'], # ARABIC LETTER KEHEH, initial-medial form
+chr(0xEE) : [u'\u06AF'], # ARABIC LETTER GAF, final-isolated form
+chr(0xEF) : [u'\u06AF'], # ARABIC LETTER GAF, initial-medial form
+chr(0xF0) : [u'\u0644'], # ARABIC LETTER LAM, final-isolated form
+chr(0xF1) : [u'\u0644\u0627'], # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF2) : [u'\u0644'], # ARABIC LETTER LAM, initial-medial form
+chr(0xF3) : [u'\u0645'], # ARABIC LETTER MEEM, final-isolated form
+chr(0xF4) : [u'\u0645'], # ARABIC LETTER MEEM, initial-medial form
+chr(0xF5) : [u'\u0646'], # ARABIC LETTER NOON, final-isolated form
+chr(0xF6) : [u'\u0646'], # ARABIC LETTER NOON, initial-medial form
+chr(0xF7) : [u'\u0648'], # ARABIC LETTER WAW
+chr(0xF8) : [u'\u0647'], # ARABIC LETTER HEH, final-isolated form
+chr(0xFB) : [u'\u0647'], # ARABIC LETTER HEH, medial form
+chr(0xF9) : [u'\u0647'], # ARABIC LETTER HEH, initial form
+chr(0xFE) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, final form
+chr(0xFC) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, isolated form
+chr(0xFD) : [u'\u06CC'] # ARABIC LETTER FARSI YEH, initial-medial form
+}
+
+
+def dk_is_numeric(ch):
+ if ((ch in dk_numerical) or
+ ((ch >= chr(0xB0)) and (ch <= chr(0xB9))) ):
+ return 1
+ return 0
+
+def dk_can_join_left(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_final) or
+ (ch in dk_bidi_joiners_isolated) or
+ (ch in dk_bidi_joiners_initial_medial) or
+ (ch in dk_bidi_joiners_final_isolated)):
+ return 1
+ return 0
+
+def dk_can_join_right(ch):
+ if (dk_can_join_left(ch) or
+ (ch in dk_right_joiners_final) or
+ (ch in dk_right_joiners_isolated) or
+ (ch in dk_right_joiners_final_isolated)):
+ return 1
+ return 0
+
+def dk_joining_left(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_initial_medial)):
+ return 1
+ return 0
+
+
+def dk_joining_right(ch):
+ if ((ch in dk_right_joiners_final) or
+ (ch in dk_bidi_joiners_medial) or
+ (ch in dk_bidi_joiners_final)):
+ return 1
+ return 0
+
+def dk_not_right_joined(ch):
+ if ((ch in dk_bidi_joiners_initial) or
+ (ch in dk_right_joiners_isolated) or
+ (ch in dk_bidi_joiners_isolated)):
+ return 1
+ return 0
+
+def dk_adjust_shaping(text, i):
+ current = text[i]
+ u = u''
+ try:
+ u = table_DK_UN[current][0]
+ except KeyError:
+ print 'ERROR: unmapped character'
+ return u''
+
+ #if you don't want shaping remove the following comment
+ #return u
+
+ if ((current in dk_vowels) or (dk_is_numeric(current))):
+ return u
+
+ #find next non-vowel character on the left
+ text_len = len(text)
+ next_index = i+1
+ while ((next_index < text_len) and (text[next_index] in dk_vowels)):
+ next_index += 1
+
+ if (next_index == text_len):
+ next = ''
+ else:
+ next = text[next_index]
+
+ # if current letter is joining from left but next letter is or can not joining
+ if (dk_joining_left(current)):
+ if (not dk_can_join_right(next)):
+ u += u'\u200D' #ZWJ
+ elif (dk_not_right_joined(next)):
+ u += u'\u200D\u200C' #ZWJ+ZWNJ
+ # if current letter can join but next letter is joining from right
+ elif (dk_can_join_left(current)):
+ if (dk_joining_right(next)):
+ u += u'\u200C\u200D' #ZWNJ+ZWJ
+ elif (dk_can_join_right(next)):
+ u += u'\u200C' #ZWNJ
+ return u
+
+def dk_adjust_number(text):
+ result = u''
+ i = len(text)-1
+ while (i >= 0):
+ result += dk_adjust_shaping(text, i)
+ i -= 1
+ return result
+
+
+def map_dk_unicode(text):
+ mapped_text = u''
+
+ i = 0
+ while (i < len(text)):
+ if (dk_is_numeric(text[i])):
+ next_index = i
+ while ((next_index+1 < len(text)) and
+ (dk_is_numeric(text[next_index+1]))):
+ next_index += 1
+ mapped_text += dk_adjust_number(text[i:next_index+1])
+ i = next_index+1
+ continue
+
+ mapped_text += dk_adjust_shaping(text, i)
+ i += 1
+ return mapped_text
+
+def dk_next_part(line, i):
+ j = i
+ language_flag = (line[j]<chr(0x80))
+ while ((j<line_len) and ((line[j]<chr(0x80)) == language_flag) ):
+ j += 1
+ return j
+
+
+def is_english_letter_number(c):
+ if ((c >= 'a') and (c <= 'z')) or ((c >= 'A') and (c <= 'Z')):
+ return 1
+ if (c >= '0') and (c <= '9'):
+ return 1
+ return 0
+
+def is_inbetween_chars(c):
+ if ((c == '.') or (c == '-') or (c == '_') or (c == '/')):
+ return 1
+ return 0
+
+def needs_english_wrapper(part):
+ part_len = len(part)
+ i = -1
+ while (i+1 < part_len):
+ i += 1
+ if (is_english_letter_number(part[i]) == 1):
+ continue
+ if (i>0) and (is_inbetween_chars(part[i]) == 1) and \
+ (part_len > i+1) and (is_english_letter_number(part[i+1]) == 1):
+ continue
+ return 1
+ return 0
+
+# Main body of the program
+if len(sys.argv) <= 2:
+ print 'usage: python dkun in_filename out_filename'
+ exit(0)
+
+filename = sys.argv[1]
+outfile = sys.argv[2]
+
+try:
+ f = open(filename, 'r')
+except IOError:
+ print "Can not open the input file: " + filename
+ exit(0)
+
+try:
+ of = codecs.open(outfile, encoding='utf-8', mode='w')
+except IOError:
+ print "Can not open the output file: " + outfile
+ exit(0)
+
+line_number = 0
+for line in f:
+ line_number += 1
+ output_line = u''
+ line_len = len(line)
+
+ put_end_of_line = 0
+ if ((line_len > 0) and (line[line_len-1] == '\n')):
+ put_end_of_line = 1
+ line_len = line_len - 1
+ if ((line_len > 0) and (line[line_len-1] == '\r')):
+ line_len = line_len - 1
+
+ i = 0
+
+ while (i<line_len):
+ next_part_index = dk_next_part(line, i)
+ next_part = line[i:next_part_index]
+ next_part_latin = (line[i]<chr(0x80))
+
+ if next_part_latin:
+ next_part = next_part[::-1]
+ output_line += next_part.encode( 'utf-8' )
+ else:
+ output_line += map_dk_unicode(next_part)
+ i = next_part_index
+ # end of while
+
+ if (put_end_of_line == 1):
+ output_line += u'\u000a'
+
+ # write the processed line
+ of.write(output_line)
+ # end of line processing
+# end of file processing
+
+of.close()
+f.close()
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/ftxe-0.12.py b/Master/texmf-dist/doc/xelatex/xepersian/ftxe-0.12.py
new file mode 100755
index 00000000000..36af7b65b87
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/ftxe-0.12.py
@@ -0,0 +1,1045 @@
+# This program 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses>
+
+##################################################
+# Author: Mostafa Vahedi #
+# Date: 19 August 2011 #
+# Version: 0-12 #
+# Application: FarsiTeX to XePersian converter #
+##################################################
+
+import codecs
+
+import sys
+import os
+
+ft_numerical = [
+chr(0xB9), # Arabic Thoushads Seperator
+chr(0xBC) # ARABIC DECIMAL SEPARATOR
+]
+
+
+ft_vowels = [
+chr(0xB0), # ARABIC FATHA
+chr(0xB1), # ARABIC KASRA
+chr(0xB2), # ARABIC DAMMA
+chr(0xB3), # ARABIC FATHATAN
+chr(0xB4), # ARABIC SHADDA
+chr(0xBA), # ARABIC LETTER SUPERSCRIPT ALEF
+chr(0xBB), # ARABIC HAMZA ABOVE
+chr(0xC4) # ARABIC SUKUN
+]
+
+ft_non_joiners = [
+chr(0x8F) # ARABIC LETTER HAMZA
+]
+
+ft_bidi_joiners_initial = [
+chr(0xE4), # ARABIC LETTER AIN, initial form
+chr(0xE8), # ARABIC LETTER GHAIN, initial form
+chr(0xFB) # ARABIC LETTER HEH, initial form
+]
+
+ft_bidi_joiners_medial = [
+chr(0xE3), # ARABIC LETTER AIN, medial form
+chr(0xE7), # ARABIC LETTER GHAIN, medial form
+chr(0xFA) # ARABIC LETTER HEH, medial form
+]
+
+ft_bidi_joiners_final = [
+chr(0xE2), # ARABIC LETTER AIN, final form
+chr(0xE6), # ARABIC LETTER GHAIN, final form
+chr(0xFC) # ARABIC LETTER FARSI YEH, final form
+]
+
+ft_bidi_joiners_isolated = [
+chr(0xE1), # ARABIC LETTER AIN, isolated form
+chr(0xE5), # ARABIC LETTER GHAIN, isolated form
+chr(0xFD) # ARABIC LETTER FARSI YEH, isolated form
+]
+
+ft_bidi_joiners_initial_medial = [
+chr(0x8B), # ARABIC TATWEEL
+chr(0x8E), # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0x93), # ARABIC LETTER BEH, initial-medial form
+chr(0x95), # ARABIC LETTER PEH, initial-medial form
+chr(0x97), # ARABIC LETTER TEH, initial-medial form
+chr(0x99), # ARABIC LETTER THEH, initial-medial form
+chr(0x9B), # ARABIC LETTER JEEM, initial-medial form
+chr(0x9D), # ARABIC LETTER TCHEH, initial-medial form
+chr(0x9F), # ARABIC LETTER HAH, initial-medial form
+chr(0xA1), # ARABIC LETTER KHAH, initial-medial form
+chr(0xA8), # ARABIC LETTER SEEN, initial-medial form
+chr(0xAA), # ARABIC LETTER SHEEN, initial-medial form
+chr(0xAC), # ARABIC LETTER SAD, initial-medial form
+chr(0xAE), # ARABIC LETTER DAD, initial-medial form
+chr(0xAF), # ARABIC LETTER TAH, initial-medial form
+chr(0xE0), # ARABIC LETTER ZAH, initial-medial form
+chr(0xEA), # ARABIC LETTER FEH, initial-medial form
+chr(0xEC), # ARABIC LETTER QAF, initial-medial form
+chr(0xEE), # ARABIC LETTER KEHEH, initial-medial form
+chr(0xF0), # ARABIC LETTER GAF, initial-medial form
+chr(0xF3), # ARABIC LETTER LAM, initial-medial form
+chr(0xF5), # ARABIC LETTER MEEM, initial-medial form
+chr(0xF7), # ARABIC LETTER NOON, initial-medial form
+chr(0xFE) # ARABIC LETTER FARSI YEH, initial-medial form
+]
+
+ft_bidi_joiners_final_isolated = [
+chr(0x92), # ARABIC LETTER BEH, final-isolated form
+chr(0x94), # ARABIC LETTER PEH, final-isolated form
+chr(0x96), # ARABIC LETTER TEH, final-isolated form
+chr(0x98), # ARABIC LETTER THEH, final-isolated form
+chr(0x9A), # ARABIC LETTER JEEM, final-isolated form
+chr(0x9C), # ARABIC LETTER TCHEH, final-isolated form
+chr(0x9E), # ARABIC LETTER HAH, final-isolated form
+chr(0xA0), # ARABIC LETTER KHAH, final-isolated form
+chr(0xA7), # ARABIC LETTER SEEN, final-isolated form
+chr(0xA9), # ARABIC LETTER SHEEN, final-isolated form
+chr(0xAB), # ARABIC LETTER SAD, final-isolated form
+chr(0xAD), # ARABIC LETTER DAD, final-isolated form
+chr(0xC1), # ARABIC LETTER TAH, final-isolated form
+chr(0xC2), # ARABIC LETTER ZAH, final-isolated form
+chr(0xE9), # ARABIC LETTER FEH, final-isolated form
+chr(0xEB), # ARABIC LETTER QAF, final-isolated form
+chr(0xED), # ARABIC LETTER KEHEH, final-isolated form
+chr(0xEF), # ARABIC LETTER GAF, final-isolated form
+chr(0xF1), # ARABIC LETTER LAM, final-isolated form
+chr(0xF4), # ARABIC LETTER MEEM, final-isolated form
+chr(0xF6), # ARABIC LETTER NOON, final-isolated form
+chr(0xF9) # ARABIC LETTER HEH, final-isolated form
+]
+
+ft_right_joiners_final = [
+chr(0x91) # ARABIC LETTER ALEF, final form
+]
+
+ft_right_joiners_isolated = [
+chr(0x8D), # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0x90) # ARABIC LETTER ALEF, isolated form
+]
+
+ft_right_joiners_final_isolated = [
+chr(0xA2), # ARABIC LETTER DAL
+chr(0xA3), # ARABIC LETTER THAL
+chr(0xA4), # ARABIC LETTER REH
+chr(0xA5), # ARABIC LETTER ZAIN
+chr(0xA6), # ARABIC LETTER JEH
+chr(0xBF), # ARABIC LETTER TEH MARBUTAH
+chr(0xF2), # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF8) # ARABIC LETTER WAW
+]
+
+
+table_FT_UN = {
+chr(0x80) : [u'\u06F0'], # EXTENDED ARABIC-INDIC DIGIT ZERO
+chr(0x81) : [u'\u06F1'], # EXTENDED ARABIC-INDIC DIGIT ONE
+chr(0x82) : [u'\u06F2'], # EXTENDED ARABIC-INDIC DIGIT TWO
+chr(0x83) : [u'\u06F3'], # EXTENDED ARABIC-INDIC DIGIT THREE
+chr(0x84) : [u'\u06F4'], # EXTENDED ARABIC-INDIC DIGIT FOUR
+chr(0x85) : [u'\u06F5'], # EXTENDED ARABIC-INDIC DIGIT FIVE
+chr(0x86) : [u'\u06F6'], # EXTENDED ARABIC-INDIC DIGIT SIX
+chr(0x87) : [u'\u06F7'], # EXTENDED ARABIC-INDIC DIGIT SEVEN
+chr(0x88) : [u'\u06F8'], # EXTENDED ARABIC-INDIC DIGIT EIGHT
+chr(0x89) : [u'\u06F9'], # EXTENDED ARABIC-INDIC DIGIT NINE
+chr(0x8A) : [u'\u060C'], # ARABIC COMMA
+chr(0x8B) : [u'\u0640'], # ARABIC TATWEEL
+chr(0x8C) : [u'\u061F'], # ARABIC QUESTION MARK
+chr(0x8D) : [u'\u0622'], # ARABIC LETTER ALEF WITH MADDA ABOVE, isolated form
+chr(0x8E) : [u'\u0626'], # ARABIC LETTER YEH WITH HAMZA ABOVE, initial-medial form
+chr(0x8F) : [u'\u0621'], # ARABIC LETTER HAMZA
+chr(0x90) : [u'\u0627'], # ARABIC LETTER ALEF, isolated form
+chr(0x91) : [u'\u0627'], # ARABIC LETTER ALEF, final form
+chr(0x92) : [u'\u0628'], # ARABIC LETTER BEH, final-isolated form
+chr(0x93) : [u'\u0628'], # ARABIC LETTER BEH, initial-medial form
+chr(0x94) : [u'\u067E'], # ARABIC LETTER PEH, final-isolated form
+chr(0x95) : [u'\u067E'], # ARABIC LETTER PEH, initial-medial form
+chr(0x96) : [u'\u062A'], # ARABIC LETTER TEH, final-isolated form
+chr(0x97) : [u'\u062A'], # ARABIC LETTER TEH, initial-medial form
+chr(0x98) : [u'\u062B'], # ARABIC LETTER THEH, final-isolated form
+chr(0x99) : [u'\u062B'], # ARABIC LETTER THEH, initial-medial form
+chr(0x9A) : [u'\u062C'], # ARABIC LETTER JEEM, final-isolated form
+chr(0x9B) : [u'\u062C'], # ARABIC LETTER JEEM, initial-medial form
+chr(0x9C) : [u'\u0686'], # ARABIC LETTER TCHEH, final-isolated form
+chr(0x9D) : [u'\u0686'], # ARABIC LETTER TCHEH, initial-medial form
+chr(0x9E) : [u'\u062D'], # ARABIC LETTER HAH, final-isolated form
+chr(0x9F) : [u'\u062D'], # ARABIC LETTER HAH, initial-medial form
+chr(0xA0) : [u'\u062E'], # ARABIC LETTER KHAH, final-isolated form
+chr(0xA1) : [u'\u062E'], # ARABIC LETTER KHAH, initial-medial form
+chr(0xA2) : [u'\u062F'], # ARABIC LETTER DAL
+chr(0xA3) : [u'\u0630'], # ARABIC LETTER THAL
+chr(0xA4) : [u'\u0631'], # ARABIC LETTER REH
+chr(0xA5) : [u'\u0632'], # ARABIC LETTER ZAIN
+chr(0xA6) : [u'\u0698'], # ARABIC LETTER JEH
+chr(0xA7) : [u'\u0633'], # ARABIC LETTER SEEN, final-isolated form
+chr(0xA8) : [u'\u0633'], # ARABIC LETTER SEEN, initial-medial form
+chr(0xA9) : [u'\u0634'], # ARABIC LETTER SHEEN, final-isolated form
+chr(0xAA) : [u'\u0634'], # ARABIC LETTER SHEEN, initial-medial form
+chr(0xAB) : [u'\u0635'], # ARABIC LETTER SAD, final-isolated form
+chr(0xAC) : [u'\u0635'], # ARABIC LETTER SAD, initial-medial form
+chr(0xAD) : [u'\u0636'], # ARABIC LETTER DAD, final-isolated form
+chr(0xAE) : [u'\u0636'], # ARABIC LETTER DAD, initial-medial form
+chr(0xAF) : [u'\u0637'], # ARABIC LETTER TAH, initial-medial form
+chr(0xB0) : [u'\u064E'], # ARABIC FATHA
+chr(0xB1) : [u'\u0650'], # ARABIC KASRA
+chr(0xB2) : [u'\u064F'], # ARABIC DAMMA
+chr(0xB3) : [u'\u064B'], # ARABIC FATHATAN
+chr(0xB4) : [u'\u0651'], # ARABIC SHADDA
+chr(0xB5) : [u'\u0023'], # * #
+chr(0xB6) : [u'\u0024'], # * $
+chr(0xB7) : [u'\u0025'], # * %
+chr(0xB8) : [u'\u0026'], # * &
+chr(0xB9) : [u'\u066C'], # Arabic Thoushads Seperator
+chr(0xBA) : [u'\u0670'], # ARABIC LETTER SUPERSCRIPT ALEF
+chr(0xBB) : [u'\u0654'], # ARABIC HAMZA ABOVE
+chr(0xBC) : [u'\u066B'], # ARABIC DECIMAL SEPARATOR
+chr(0xBD) : [u'\u0029'], # * RIGHT PARENTHESIS
+chr(0xBE) : [u'\u0028'], # * LEFT PARENTHESIS
+chr(0xBF) : [u'\u0629'], # ARABIC LETTER TEH MARBUTAH
+chr(0xC0) : [u'\u00BB'], # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xC1) : [u'\u0637'], # ARABIC LETTER TAH, final-isolated form
+chr(0xC2) : [u'\u0638'], # ARABIC LETTER ZAH, final-isolated form
+chr(0xC3) : [u'\u00AB'], # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+chr(0xC4) : [u'\u0652'], # ARABIC SUKUN
+chr(0xC5) : [u'\u002D'], # * -
+chr(0xC6) : [u'\u002E'], # * FULL STOP
+chr(0xC7) : [u'\u002F'], # * /
+chr(0xC8) : [u'\u002A'], # * *
+chr(0xC9) : [u'\u007E'], # * ~
+chr(0xCA) : [u'\u003A'], # * COLON
+chr(0xCB) : [u'\u061B'], # ARABIC SEMICOLON
+chr(0xCC) : [u'\u003E'], # * GREATER-THAN SIGN
+chr(0xCD) : [u'\u002B'], # * +
+chr(0xCE) : [u'\u003D'], # * =
+chr(0xCF) : [u'\u003C'], # * LESS-THAN SIGN
+# chr(0xD0) : [u'\u0040'], # * @
+chr(0xD0) : [u''], # * @
+chr(0xD1) : [u'\u005D'], # * [
+chr(0xD2) : [u'\u005C'], # * \
+chr(0xD3) : [u'\u005B'], # * ]
+chr(0xD4) : [u'\u005E'], # * ^
+chr(0xD5) : [u'\u005F'], # * _
+chr(0xD6) : [u'\u0060'], # * `
+chr(0xD7) : [u'\u007D'], # * {
+chr(0xD8) : [u'\u007C'], # * |
+chr(0xDA) : [u'\u0020'], # * SPACE
+chr(0xDD) : [u'\u0021'], # * EXCLAMATION MARK
+chr(0xDE) : [u'\u007B'], # * }
+chr(0xE0) : [u'\u0638'], # ARABIC LETTER ZAH, initial-medial form
+chr(0xE1) : [u'\u0639'], # ARABIC LETTER AIN, isolated form
+chr(0xE2) : [u'\u0639'], # ARABIC LETTER AIN, final form
+chr(0xE3) : [u'\u0639'], # ARABIC LETTER AIN, medial form
+chr(0xE4) : [u'\u0639'], # ARABIC LETTER AIN, initial form
+chr(0xE5) : [u'\u063A'], # ARABIC LETTER GHAIN, isolated form
+chr(0xE6) : [u'\u063A'], # ARABIC LETTER GHAIN, final form
+chr(0xE7) : [u'\u063A'], # ARABIC LETTER GHAIN, medial form
+chr(0xE8) : [u'\u063A'], # ARABIC LETTER GHAIN, initial form
+chr(0xE9) : [u'\u0641'], # ARABIC LETTER FEH, final-isolated form
+chr(0xEA) : [u'\u0641'], # ARABIC LETTER FEH, initial-medial form
+chr(0xEB) : [u'\u0642'], # ARABIC LETTER QAF, final-isolated form
+chr(0xEC) : [u'\u0642'], # ARABIC LETTER QAF, initial-medial form
+chr(0xED) : [u'\u06A9'], # ARABIC LETTER KEHEH, final-isolated form
+chr(0xEE) : [u'\u06A9'], # ARABIC LETTER KEHEH, initial-medial form
+chr(0xEF) : [u'\u06AF'], # ARABIC LETTER GAF, final-isolated form
+chr(0xF0) : [u'\u06AF'], # ARABIC LETTER GAF, initial-medial form
+chr(0xF1) : [u'\u0644'], # ARABIC LETTER LAM, final-isolated form
+chr(0xF2) : [u'\u0644\u0627'], # ARABIC LIGATURE LAM WITH ALEF
+chr(0xF3) : [u'\u0644'], # ARABIC LETTER LAM, initial-medial form
+chr(0xF4) : [u'\u0645'], # ARABIC LETTER MEEM, final-isolated form
+chr(0xF5) : [u'\u0645'], # ARABIC LETTER MEEM, initial-medial form
+chr(0xF6) : [u'\u0646'], # ARABIC LETTER NOON, final-isolated form
+chr(0xF7) : [u'\u0646'], # ARABIC LETTER NOON, initial-medial form
+chr(0xF8) : [u'\u0648'], # ARABIC LETTER WAW
+chr(0xF9) : [u'\u0647'], # ARABIC LETTER HEH, final-isolated form
+chr(0xFA) : [u'\u0647'], # ARABIC LETTER HEH, medial form
+chr(0xFB) : [u'\u0647'], # ARABIC LETTER HEH, initial form
+chr(0xFC) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, final form
+chr(0xFD) : [u'\u06CC'], # ARABIC LETTER FARSI YEH, isolated form
+chr(0xFE) : [u'\u06CC'] # ARABIC LETTER FARSI YEH, initial-medial form
+}
+
+F_PERCENT_SIGN = chr(0xB7)
+F_AT_SIGN = chr(0xD0)
+F_SLASH = chr(0xD2)
+F_SPACE = chr(0xDA)
+F_PRNT_OPEN = chr(0xDE)
+F_PRNT_CLOSE = chr(0xD7)
+
+# latex and farsitex commands whose first parameter does not need \lr{...}
+commands = [
+"begin", "end",
+"input", "include", "includeonly",
+"hspace", "vspace", "hspace*", "vspace*",
+"label", "ref", "cite", "bibitem",
+"bibliographystyle",
+"parbox",
+"newenvironment", "newtheorem",
+"persianmathdigitsfamily",
+"fontfamily", "fontseries", "fontshape",
+"rmdefault", "sfdefault", "ttdefault",
+"bfdefault", "itdefault", "sldefault", "scdefault",
+"pagenumbering", "pagestyle", "thispagestyle",
+"setcounter", "stepcounter", "setlength", "addtolength"
+]
+
+def ft_is_all_persian_space(next_part):
+ l = len(next_part)
+ i = 0
+ while (i < l):
+ if (next_part[i] != F_SPACE):
+ return 0
+ i += 1
+ return 1
+
+def ft_is_numeric(ch):
+ if ((ch in ft_numerical) or
+ ((ch >= chr(0x80)) and (ch <= chr(0x89))) ):
+ return 1
+ return 0
+
+def ft_can_join_left(ch):
+ if ((ch in ft_bidi_joiners_initial) or
+ (ch in ft_bidi_joiners_medial) or
+ (ch in ft_bidi_joiners_final) or
+ (ch in ft_bidi_joiners_isolated) or
+ (ch in ft_bidi_joiners_initial_medial) or
+ (ch in ft_bidi_joiners_final_isolated)):
+ return 1
+ return 0
+
+def ft_can_join_right(ch):
+ if (ft_can_join_left(ch) or
+ (ch in ft_right_joiners_final) or
+ (ch in ft_right_joiners_isolated) or
+ (ch in ft_right_joiners_final_isolated)):
+ return 1
+ return 0
+
+def ft_joining_left(ch):
+ if ((ch in ft_bidi_joiners_initial) or
+ (ch in ft_bidi_joiners_medial) or
+ (ch in ft_bidi_joiners_initial_medial)):
+ return 1
+ return 0
+
+
+def ft_joining_right(ch):
+ if ((ch in ft_right_joiners_final) or
+ (ch in ft_bidi_joiners_medial) or
+ (ch in ft_bidi_joiners_final)):
+ return 1
+ return 0
+
+def ft_not_right_joined(ch):
+ if ((ch in ft_bidi_joiners_initial) or
+ (ch in ft_right_joiners_isolated) or
+ (ch in ft_bidi_joiners_isolated)):
+ return 1
+ return 0
+
+def ft_adjust_shaping(text, i):
+ current = text[i]
+ u = u''
+ try:
+ u = table_FT_UN[current][0]
+ except KeyError:
+ return u''
+
+ #if you don't want shaping remove the following comment
+ #return u
+
+ if ((current in ft_vowels) or (ft_is_numeric(current))):
+ return u
+
+ #find next non-vowel character on the left
+ text_len = len(text)
+ next_index = i+1
+ while ((next_index < text_len) and (text[next_index] in ft_vowels)):
+ next_index += 1
+
+ if (next_index == text_len):
+ next = ''
+ else:
+ next = text[next_index]
+
+ # if current letter is joining from left but next letter is or can not joining
+ if (ft_joining_left(current)):
+ if (not ft_can_join_right(next)):
+ u += u'\u200D' #ZWJ
+ elif (ft_not_right_joined(next)):
+ u += u'\u200D\u200C' #ZWJ+ZWNJ
+ # if current letter can join but next letter is joining from right
+ elif (ft_can_join_left(current)):
+ if (ft_joining_right(next)):
+ u += u'\u200C\u200D' #ZWNJ+ZWJ
+ elif (ft_can_join_right(next)):
+ u += u'\u200C' #ZWNJ
+ return u
+
+def ft_adjust_number(text):
+ result = u''
+ i = len(text)-1
+ while (i >= 0):
+ result += ft_adjust_shaping(text, i)
+ i -= 1
+ return result
+
+
+def map_ft_unicode(text):
+ mapped_text = u''
+
+ i = 0
+ while (i < len(text)):
+ if (ft_is_numeric(text[i])):
+ next_index = i
+ while ((next_index+1 < len(text)) and
+ (ft_is_numeric(text[next_index+1]))):
+ next_index += 1
+ mapped_text += ft_adjust_number(text[i:next_index+1])
+ i = next_index+1
+ continue
+
+ mapped_text += ft_adjust_shaping(text, i)
+ i += 1
+ return mapped_text
+
+# Finds next token all of the same language
+def ft_next_part(line, i, line_len):
+ global global_state
+ global recursive
+ global filenames
+
+ j = i
+ language_flag = (line[j]<chr(0x80))
+ while ((j<line_len) and ((line[j]<chr(0x80)) == language_flag) ):
+ if ( (global_state == 0) and ( (line[j] == '%') or (line[j] == F_PERCENT_SIGN) ) and (line[j-1] != '\\') and (line[j-1] != F_SLASH) ):
+ global_state = 1
+ elif ((global_state == 0) and ((line[j:j+16] == '\\begin{verbatim}') or (line[j:j+17] == '\\begin{verbatim*}'))):
+ global_state = 2
+ elif ((global_state == 2) and ((line[j:j+14] == '\\end{verbatim}') or (line[j:j+15] == '\\end{verbatim*}'))):
+ global_state = 0
+ elif ((global_state == 0) and (line[j:j+6] == '\\verb*')):
+ next_index = line.find(line[j+6], j+7)
+ j = next_index
+ elif ((global_state == 0) and (line[j:j+5] == '\\verb')):
+ next_index = line.find(line[j+5], j+6)
+ j = next_index
+ elif (recursive == 1):
+ if ((global_state == 0) and (line[j:j+9] == '\\include{')):
+ next_index = line.find('}', j+9)
+ filename = line[j+10:next_index-1] + '.ftx'
+ if (os.path.exists(filename) and not filename in filenames):
+ filenames.append(filename)
+ elif ((global_state == 0) and (line[j:j+7] == '\\input{')):
+ next_index = line.find('}', j+7)
+ filename = line[j+8:next_index-1] + '.ftx'
+ if (os.path.exists(filename) and not filename in filenames):
+ filenames.append(filename)
+ elif ((global_state == 0) and (line[j:j+9] == F_SLASH + 'include' + F_PRNT_OPEN)):
+ next_index = line.find(F_PRNT_CLOSE, j+9)
+ if (line[j+9]!=F_AT_SIGN):
+ filename = line[j+9:next_index] + '.ftx'
+ else:
+ filename = line[j+10:next_index-1] + '.ftx'
+ if (os.path.exists(filename) and not filename in filenames):
+ filenames.append(filename)
+ elif ((global_state == 0) and (line[j:j+7] == F_SLASH + 'input' + F_PRNT_OPEN)):
+ next_index = line.find(F_PRNT_CLOSE, j+7)
+ if (line[j+7]!=F_AT_SIGN):
+ filename = line[j+7:next_index] + '.ftx'
+ else:
+ filename = line[j+8:next_index-1] + '.ftx'
+ if (os.path.exists(filename) and not filename in filenames):
+ filenames.append(filename)
+ j += 1
+ return j
+
+###############################################
+# from here all functions are used to translate
+# farsitex commands to xepersian commands
+###############################################
+
+def read_size(input,index,last_index):
+ dim_index = -1
+ inch_index = input.find(u'in', index)
+ if (inch_index != -1):
+ dim_index = inch_index
+ mm_index = input.find(u'mm', index)
+ if (mm_index != -1):
+ if (dim_index == -1 or mm_index < index):
+ dim_index = mm_index
+ cm_index = input.find(u'cm', index)
+ if (cm_index != -1):
+ if (dim_index == -1 or cm_index < dim_index):
+ dim_index = cm_index
+ pt_index = input.find(u'pt', index)
+ if (pt_index != -1):
+ if (dim_index == -1 or pt_index < dim_index):
+ dim_index = pt_index
+ next_cmd = input.find(u'\\', index)
+ if (next_cmd == -1 and dim_index == -1):
+ print "Error in parsing \epsfxsize command at " + str(line_number) + "\n"
+ return -1
+ elif (next_cmd == -1 or (dim_index != -1 and next_cmd > dim_index)):
+ epsfxsize = input[index:dim_index+2]
+ return dim_index+2
+ elif (next_cmd != -1):
+ end_cmd = next_cmd+1
+ while (end_cmd < last_index and input[end_cmd].isalpha()):
+ end_cmd += 1
+ return end_cmd
+ else:
+ print "Error in parsing \epsfxsize command at " + str(line_number) + "\n"
+ return -1
+
+
+latex_options=[u'a4paper', u'a5paper', u'b5paper',
+ u'letterpaper', u'legalpaper', u'executivepaper',
+ u'landscape', u'10pt', u'11pt', u'12pt',
+ u'oneside', u'twoside', u'draft',
+ u'final', u'titlepage', u'notitlepage',
+ u'onecolumn', u'twocolumn',
+ u'leqno', u'fleqn']
+
+table_eq_packages = {
+u'poem' : u'persianpoem',
+u'fmakeidx' : u'makeidx',
+u'ffancyhe' : u'fancyhdr',
+u'fmultico' : u'multicol'
+}
+
+farsitex_ignore_options = [u'persian', u'farsi', u'epsf', u'fgraphix', u'lotusfont']
+
+xepersian_packages = u'\n\\usepackage{url}\n%\\usepackage{fancyvrb}\n\\usepackage{setspace}\\doublespacing\n\\usepackage{graphicx} \n\\usepackage{amssymb}\n'
+
+xepersian_preamble = u'\\settextfont[Scale=1.2]{XB Zar}\n\\setlatintextfont[Scale=1.1]{Times New Roman}\n\\setdigitfont{XB Zar}\n\\setpookfont{XB Kayhan Pook}\n\\setsayehfont{XB Kayhan Sayeh}\n\\defpersianfont\\lotoos[Scale=1.2]{XB Roya}\n\\defpersianfont\elmi[Scale=1.2]{XB Roya} \n\\def\\nazok{\\normalfont\\normalsize}\n\\let\\iranic\\it\n\\let\\siah\\bf\n\\let\\khabide\\sl\n\\def\\siahir{\\siah\\iranic} \n\\def\\siahkh{\\siah\\khabide}\n\\let\\tookhali\\pookfamily\n\\let\\sayedar\\sayehfamily\n\\def\\farsi{\\end{latin}}\n\\def\\english{\\begin{latin}}\n\\let\\farmbox\\mbox\n\\newcommand{\\ftxepmatrix}[1]{\\begin{pmatrix}#1\\end{pmatrix}}\n\\newcommand{\\ftxematrix}[1]{\\begin{matrix}#1\\end{matrix}} \n\\def\\FarsiTeX{\\lr{FarsiTeX}}\n\\def\\فارسی‌تک{\\rl{فارسی‌‌تک}}\n\\def\\InE{\\begingroup\\beginL\\latinfont}\n\\def\\EnE{\\endL\\endgroup} \n\\def\\InF{\\begingroup\\beginR\\persianfont}\n\\def\\EnF{\\endR\\endgroup}\n\\newcommand{\\IE}[1]{\\lr{#1}}\n\\newcommand{\\IP}[1]{\\rl{#1}} \n\\newcommand{\\IF}[1]{\\rl{#1}}\n\\def\\persiandash{\\rl{-}} \n\\def\\DeclareRobustBiCommand#1#2#3#4{\\DeclareRobustCommand#1{\\if@rl{}#4\\else{}#3\\fi}\\let#2=#1} \n\\catcode`\\﷼=3\n\\catcode`‌=11\n\\newcommand\\dotsectionseparator{\\SepMark{.}}\n\\newcommand\\dashsectionseparator{\\SepMark{-}}\n'
+
+thesis_preamble = u'\\university{\\lr{UniversityName}}\n\\city{\\lr{CityName}}\n\\latinuniversity{UniversityName}\n\\latincity{CityName} \n\\let\\englishtitle\\latintitle\n\\let\\englishauthor\\latinauthor\n\\let\\englishdegree\\latindegree\n\\let\\englishthesisdate\\latinthesisdate \n\\let\\englishsupervisor\\latinsupervisor\n\\let\\englishdepartment\\latindepartment\n\\let\\makeenglishtitle\\makelatintitle \n\\let\\englishkeywords\\latinkeywords\n\\newenvironment{englishabstract}{\\begin{latinabstract}}{\\end{latinabstract}}\n'
+
+def is_alpha_numeric_space(input):
+ input_len = len(input)
+ i = 0
+ while (i<input_len):
+ if (not (input[i].isalpha() or input[i].isdigit() or input[i]==u'.' or input[i]==u' ') ):
+ return 0
+ i+=1
+ return 1
+
+def is_alpha_numeric(input):
+ input_len = len(input)
+ i = 0
+ while (i<input_len):
+ if (not (input[i].isalpha() or input[i].isdigit() or input[i]=='.') ):
+ return 0
+ i+=1
+ return 1
+
+def find_eq_cmd(keyword):
+ try:
+ eq_cmd = table_eq_packages[keyword]
+ except KeyError:
+ eq_cmd = u''
+ return eq_cmd
+
+def convert_persian_to_english(num):
+ result = u''
+ num_len = len(num)
+ index = 0
+ while (index < num_len):
+ if (ord(num[index]) >= ord(u'۰') and ord(num[index]) <= ord(u'۹')):
+ result += unichr(ord(num[index]) - ord(u'۰') + ord(u'0'))
+ else:
+ result += num[index]
+ index += 1
+ return result
+
+def generate_farsitex_cmds_file(helper_filename,preamble):
+ try:
+ of = codecs.open(helper_filename, encoding='utf-8', mode='w')
+ except IOError:
+ print "Can not open the output file: " + helper_filename
+ exit(0)
+ of.write(preamble)
+ of.close
+
+
+# \verb|| -> \item[\verb||] or \section{\verb||}
+# \kasre{} \alef{} ...
+def translate_cmds(output_line):
+ global last_epsfxsize
+ global last_epsfxsize_line
+ global last_epsfysize
+ global last_epsfysize_line
+ global state
+ global filename
+
+ result = u''
+ line_len = len(output_line)
+ index = 0
+ if (state == 1): #\begin{verbatim}
+ end_verbatim = output_line.find('\\end{verbatim}')
+ if (end_verbatim == -1):
+ return output_line
+ result += output_line[0:end_verbatim+14]
+ index = end_verbatim+14
+ state = 0
+ elif (state == 2): #\begin{verbatim*}
+ end_verbatim = output_line.find('\\end{verbatim*}')
+ if (end_verbatim == -1):
+ return output_line
+ result += output_line[0:end_verbatim+15]
+ index = end_verbatim+15
+ state = 0
+ elif (output_line[0:14] == "\\documentstyle"):
+ result += u'\\documentclass'
+ #process options
+ last_index = output_line.find(u']')
+ index = 15
+ first_option = 1
+ preamble = xepersian_preamble
+ packages = xepersian_packages
+ xe_document_class = u''
+ while (index < last_index):
+ next_comma = output_line.find(u',',index,last_index)
+ if (next_comma == -1):
+ next_comma = last_index
+ first_of_option = index
+ while (output_line[first_of_option] == u' '):
+ first_of_option += 1
+ end_of_option = next_comma
+ while (output_line[end_of_option-1] == u' '):
+ end_of_option -= 1
+ option = output_line[first_of_option:end_of_option]
+ index = next_comma+1
+ eq_cmd = find_eq_cmd(option)
+ if (eq_cmd != u''):
+ packages += u'\\usepackage{' + eq_cmd + u'}\n'
+ continue
+ elif (option in farsitex_ignore_options):
+ continue
+ elif (option == u'sharifth'):
+ xe_document_class = u'xepersian-thesis'
+ preamble += thesis_preamble
+ continue
+ elif (not option in latex_options):
+ packages += u'\\usepackage{' + option + u'}\n'
+ continue
+
+ if (first_option):
+ result += u'['
+ else:
+ result += u','
+ result += option
+ first_option = 0
+ #end while
+ if (not first_option):
+ result += u']'
+ # process document style into document class
+ index = output_line.find(u'}',last_index)
+ document_class = output_line[last_index+2:index]
+ if (xe_document_class != u''):
+ result += u'{' + xe_document_class + u'}'
+ elif (document_class == u'oldarticle'):
+ result += u'{article}'
+ elif (document_class == u'oldbook'):
+ result += u'{book}'
+ elif (document_class == u'oldreport'):
+ result += u'{report}'
+ else:
+ result += u'{' + document_class + u'}'
+ # I assume that nothing important is after
+ # \documentstyle[...]{...}, otherwise it may conflict
+ # with our preamble
+ if (index != -1):
+ result += output_line[index+1:]
+ result += packages + u'\\usepackage{xepersian}\n'
+ helper_filename = filename + '_farsitex_cmds_xepersian.tex'
+ generate_farsitex_cmds_file(helper_filename,preamble)
+ result += '\\input{' + helper_filename + '}\n'
+ return result
+ #end elif "documentstyle"
+
+ while (index < line_len):
+ next_index = output_line.find(u'\\', index)
+ comment_index = output_line.find(u'%', index)
+ if (next_index == -1):
+ result += output_line[index:]
+ break
+ elif (state == 1):
+ if (output_line[next_index:next_index+14] == u'\\end{verbatim}'):
+ result += output_line[index:next_index+14]
+ index = next_index+14
+ state = 0
+ else:
+ result += output_line[index:next_index+1]
+ index = next_index+1
+ elif (state == 2):
+ if (output_line[next_index:next_index+15] == u'\\end{verbatim*}'):
+ result += output_line[index:next_index+15]
+ index = next_index+15
+ state = 0
+ else:
+ result += output_line[index:next_index+1]
+ index = next_index+1
+ elif (comment_index != -1 and comment_index < next_index):
+ result += output_line[index:]
+ break
+ elif (output_line[next_index:next_index+14] == u"\\input{amssym}"):
+ result += u'\\usepackage{amssymb}'
+ index = next_index+14
+ elif (output_line[next_index:next_index+12] == u"\\input{epsf}"):
+ index = next_index+12
+ elif (output_line[next_index:next_index+15] == u"\\includeepspdf{"):
+ result += u'\\includegraphics{'
+ index = next_index+15
+ elif (output_line[next_index:next_index+16] == u"\\begin{verbatim}"):
+ result += output_line[index:next_index+16]
+ index = next_index+16
+ state = 1
+ elif (output_line[next_index:next_index+17] == u"\\begin{verbatim*}"):
+ result += output_line[index:next_index+17]
+ index = next_index+17
+ state = 2
+ elif (output_line[next_index:next_index+26] == u'\\setlength{\\headrulewidth}'):
+ end_cmd = output_line.find('}', next_index+26)
+ result += u'\\renewcommand{\\headrulewidth}' + output_line[next_index+26:end_cmd+1]
+ index = end_cmd+1
+ elif (output_line[next_index:next_index+26] == u'\\setlength{\\footrulewidth}'):
+ end_cmd = output_line.find('}', next_index+26)
+ result += u'\\renewcommand{\\footrulewidth}' + output_line[next_index+26:end_cmd+1]
+ index = end_cmd+1
+ elif (output_line[next_index:next_index+10] == u"\\epsffile{"):
+ result += output_line[index:next_index]
+ result += u'\\includegraphics'
+ size_options = u''
+ if (line_number - last_epsfxsize_line <= 3):
+ size_options = u'width=' + last_epsfxsize
+ if (line_number - last_epsfysize_line <= 3):
+ if (size_options != u''):
+ size_options += u','
+ size_options += u'height=' + last_epsfysize
+ if (size_options != u''):
+ result += u'[' + size_options + u']'
+ end_prn = output_line.find(u'.eps}', next_index+9)
+
+ if (end_prn != -1):
+ result += output_line[next_index+9:end_prn] + u'}'
+ index = end_prn+5
+ else:
+ end_prn = output_line.find(u'.ps}', next_index+9)
+ if (end_prn != -1):
+ result += output_line[next_index+9:end_prn] + u'}'
+ index = end_prn+4
+ else:
+ end_prn = output_line.find(u'}', next_index+9)
+ result += output_line[next_index+9:end_prn+1]
+ index = end_prn+1
+ # I assume all the parameter of \epsfxsize comes in one line
+ elif (output_line[next_index:next_index+11] == u"\\epsfxsize="):
+ end_size = read_size(output_line, next_index+11, line_len)
+ if (end_size != -1):
+ last_epsfxsize = output_line[next_index+11:end_size]
+ index = end_size
+ else:
+ index = next_index+11
+ last_epsfxsize_line = line_number
+ # I assume all the parameter of \epsfysize comes in one line
+ elif (output_line[next_index:next_index+11] == u"\\epsfysize="):
+ end_size = read_size(output_line, next_index+11, line_len)
+ if (end_size != -1):
+ last_epsfysize = output_line[next_index+11:end_size]
+ index = end_size
+ else:
+ index = next_index+11
+ last_epsfysize_line = line_number
+ elif (output_line[next_index:next_index+10] == u"\\LR{\\verb*"):
+ end_verb = output_line.find(output_line[next_index+10], next_index+11)
+ verb_param = output_line[next_index+11:end_verb]
+ if (is_alpha_numeric(verb_param)):
+ result += output_line[index:next_index]
+ result += u'\\lr{\\tt{}' + verb_param
+ else:
+ result += output_line[index:end_verb+1]
+ index = end_verb+1
+ elif (output_line[next_index:next_index+9] == u"\\LR{\\verb"):
+ end_verb = output_line.find(output_line[next_index+9], next_index+10)
+ verb_param = output_line[next_index+10:end_verb]
+ if (is_alpha_numeric_space(verb_param)):
+ result += output_line[index:next_index]
+ result += u'\\lr{\\tt{}' + verb_param
+ else:
+ result += output_line[index:end_verb+1]
+ index = end_verb+1
+ elif (output_line[next_index:next_index+6] == u"\\verb*"):
+ end_verb = output_line.find(output_line[next_index+6], next_index+7)
+ result += output_line[index:end_verb+1]
+ index = end_verb+1
+ elif (output_line[next_index:next_index+5] == u"\\verb"):
+ end_verb = output_line.find(output_line[next_index+5], next_index+6)
+ result += output_line[index:end_verb+1]
+ index = end_verb+1
+ elif (output_line[next_index:next_index+9] == u"\\pmatrix{"):
+ result += u'\\ftxepmatrix{'
+ index = next_index+9
+ elif (output_line[next_index:next_index+8] == u"\\matrix{"):
+ result += u'\\ftxematrix{'
+ index = next_index+8
+ elif (output_line[next_index:next_index+16] == u"\\begin{document}"):
+ result += u'\\begin{document}\n%\\VerbatimFootnotes'
+ index = next_index+16
+ elif (output_line[next_index:next_index+8] == u'\\label {'):
+ begin_param = next_index+8
+ end_param = output_line.find(u'}', begin_param)
+ param = convert_persian_to_english(output_line[begin_param:end_param])
+ result += output_line[index:begin_param-2]
+ result += u'{' + param + u'}'
+ index = end_param+1
+ elif (output_line[next_index:next_index+6] == u'\\ref {'):
+ begin_param = next_index+6
+ end_param = output_line.find(u'}', begin_param)
+ param = convert_persian_to_english(output_line[begin_param:end_param])
+ result += output_line[index:begin_param-2]
+ result += u'{' + param + u'}'
+ index = end_param+1
+ elif (output_line[next_index:next_index+7] == u'\\label{'):
+ begin_param = next_index+7
+ end_param = output_line.find(u'}', begin_param)
+ param = convert_persian_to_english(output_line[begin_param:end_param])
+ result += output_line[index:begin_param]
+ result += param + u'}'
+ index = end_param+1
+ elif (output_line[next_index:next_index+5] == u'\\ref{'):
+ begin_param = next_index+5
+ end_param = output_line.find(u'}', begin_param)
+ param = convert_persian_to_english(output_line[begin_param:end_param])
+ result += output_line[index:begin_param]
+ result += param + u'}'
+ index = end_param+1
+ elif (output_line[next_index:next_index+13] == u'\\multicolumn{'):
+ begin_param = next_index+13
+ end_param = output_line.find(u'}', begin_param)
+ param = convert_persian_to_english(output_line[begin_param:end_param])
+ result += output_line[index:begin_param]
+ result += param + u'}'
+ index = end_param+1
+ elif (output_line[next_index:next_index+12] == u'\\setcounter{'):
+ begin_num = output_line.find(u'{', next_index+12)
+ end_num = output_line.find(u'}', begin_num)
+ num = convert_persian_to_english(output_line[begin_num+1:end_num])
+ result += output_line[index:begin_num+1]
+ result += num + u'}'
+ index = end_num+1
+ elif (output_line[next_index:next_index+14] == u'\\addtocounter{'):
+ begin_num = output_line.find(u'{', next_index+14)
+ end_num = output_line.find(u'}', begin_num)
+ num = convert_persian_to_english(output_line[begin_num+1:end_num])
+ result += output_line[index:begin_num+1]
+ result += num + u'}'
+ index = end_num+1
+ else:
+ result += output_line[index:next_index+2]
+ index = next_index+2
+ #end while
+ return result
+
+###############################################
+# from here all functions are mainly used to
+# convert farsitex format to unicode
+###############################################
+
+def convert_file(f, of, convert_cmds):
+ global state
+ global line_number
+ global last_epsfysize_line
+ global last_epsfxsize_line
+ global last_epsfxsize
+ global last_epsfysize
+ global global_state
+
+ state = 0
+ line_number = 0
+ last_epsfysize_line = 0
+ last_epsfxsize_line = 0
+ last_epsfxsize = u''
+ last_epsfysize = u''
+
+ for line in f:
+ line_number += 1
+ print line_number,
+ output_line = u''
+ line_len = len(line)
+
+ # remove new-line characters from end of line
+ if (line_len>1 and line[line_len-1] == '\n'):
+ line_len-=1
+ if (line_len>1 and line[line_len-1] == '\r'):
+ line_len-=1
+
+ # check line-direction character
+ line_direction_rtl = (line[0] == '<')
+ if (line[0] != '>') and (line[0] != '<'):
+ print "FORMAT ERROR AT LINE: " + str(line_number)
+ exit(0)
+
+ i = 1
+
+ while (i<line_len):
+ next_part_index = ft_next_part(line, i, line_len)
+ next_part = line[i:next_part_index]
+ next_part_latin = (line[i]<chr(0x80))
+
+ # see if we should put \lr{...} for the current english expression
+ if (global_state == 0):
+ if line_direction_rtl and next_part_latin:
+ is_command_rtl = (next_part_latin and (i>1) and (line[i-1]==F_SLASH) )
+ is_parameter_rtl = (next_part_latin and (i>1) and (next_part_index<line_len) and (line[i-1]==F_AT_SIGN) and (line[next_part_index]==F_AT_SIGN) )
+ is_math_rtl = (next_part_latin and (line[i]=="$") and (line[next_part_index-1]=="$") )
+ is_verb_parameter = ( (line[i-6:i] == F_SLASH+"verb") and not isalpha(line[i]))
+ is_verb = (next_part_latin and (line[i:i+5]=='\\verb' or line[i:i+6]==' \\verb'))
+ is_english = (next_part_latin and (line[i:i+8]=='\\english'))
+
+ cmd_index = 0
+ while cmd_index < len(commands):
+ len_cmd = len(commands[cmd_index])+2
+ if ( (i > len_cmd) and (line[i-len_cmd:i] == F_SLASH+commands[cmd_index]+F_PRNT_OPEN) ):
+ break
+ elif ( (i > len_cmd+1) and (line[i-len_cmd-1:i] == F_SLASH+commands[cmd_index]+F_SPACE+F_PRNT_OPEN) ):
+ break
+ cmd_index += 1
+ is_commands_group = cmd_index < len(commands)
+ is_documentstyle_cmd = (line_len > 15) and (line[1:15] == F_SLASH+"documentstyle")
+
+ if next_part_latin:
+ if (global_state == 0):
+ # whether we should put a \lr{ command
+ if ( line_direction_rtl and not (is_command_rtl or is_parameter_rtl or is_math_rtl or is_commands_group or is_documentstyle_cmd or is_verb_parameter or is_verb or is_english) ):
+ output_line += u'\\lr{'
+ if ( line_direction_rtl and is_verb):
+ output_line += u'\\LR{'
+
+ # here is the main place that converting happens
+ output_line += next_part.encode( 'utf-8' )
+
+ if (global_state == 0):
+ # check whether we already used a \lr command: then end it
+ if ( line_direction_rtl and not (is_command_rtl or is_parameter_rtl or is_math_rtl or is_commands_group or is_documentstyle_cmd or is_verb_parameter or is_verb or is_english) ):
+ output_line += u'}'
+ if ( line_direction_rtl and is_verb):
+ output_line += u'}'
+ else:
+ if (global_state == 0):
+ # whether we should put a \rl{} command
+ if ( not line_direction_rtl and not ft_is_all_persian_space(next_part)):
+ output_line += u'\\rl{'
+
+ # here is the main place that converting happens
+ output_line += map_ft_unicode(next_part)
+
+ if (global_state == 0):
+ # check whether we already used a \rl command: then end it
+ if (not line_direction_rtl and not ft_is_all_persian_space(next_part)):
+ output_line += u'}'
+
+ i = next_part_index
+ # end of while
+
+ #if there was a % commenting then we can return to normal situation
+ if (global_state == 1):
+ global_state = 0
+
+ # convert some of the FarsiTeX commands to XePersian commands
+ # only if it is requested
+ if (convert_cmds):
+ result = translate_cmds(output_line)
+ else:
+ result = output_line
+ output_line = result + u'\n'
+ # write the processed line
+ of.write(output_line)
+ # end of line processing
+ # end of file processing
+
+def print_usage():
+ print 'usage: python ftxe-0-11 [-r] [-s] [-x] [-u] in_filename1 in_filename2'
+ print '-r: (DEFAULT) recursively consider files included in the given files'
+ print '-s: do not recursively consider files'
+ print '-x: (DEFAULT) insert xepersian related commands'
+ print '-u: only convert to unicode'
+
+###################################
+# Begin of main body of the program
+###################################
+
+# global variables
+line_number = 0
+last_epsfxsize = u''
+last_epsfxsize_line = 0
+last_epsfysize = u''
+last_epsfysize_line = 0
+state = 0
+global_state = 0
+recursive = 1
+convert_xepersian = 1
+filename = ''
+
+if len(sys.argv) <= 1:
+ print_usage()
+ exit(0)
+
+#find options
+options_index = 1
+while (options_index < len(sys.argv) and sys.argv[options_index][0]=='-'):
+ if (sys.argv[options_index]=='-s'):
+ recursive = 0
+ elif (sys.argv[options_index]=='-u'):
+ convert_xepersian = 0
+ options_index += 1
+
+filenames = []
+while (options_index < len(sys.argv)):
+ filenames.append(sys.argv[options_index])
+ options_index += 1
+
+if (len(filenames) == 0):
+ print 'error: no input filename is specified!'
+ print_usage()
+ exit(0)
+
+index = 0
+while (index < len(filenames)):
+ filename = filenames[index]
+ index += 1
+
+ outfile = ''
+ if (filename[-4:] != '.tex'):
+ outfile = filename[0:-3] + 'tex'
+ else:
+ outfile = filename + '.tex'
+
+ print '\n\nConverting "' + filename + '" into "' + outfile + '"'
+ try:
+ f = open(filename, 'r')
+ except IOError:
+ print "Can not open the input file: " + filename
+ exit(0)
+
+ try:
+ of = codecs.open(outfile, encoding='utf-8', mode='w')
+ except IOError:
+ print "Can not open the output file: " + outfile
+ exit(0)
+
+ convert_file(f, of, convert_xepersian)
+
+ of.close()
+ f.close()
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/img/ireland.jpg b/Master/texmf-dist/doc/xelatex/xepersian/img/ireland.jpg
new file mode 100644
index 00000000000..bacd5b97700
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/img/ireland.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/img/weather/clouds.jpg b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/clouds.jpg
new file mode 100644
index 00000000000..b4073a07231
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/clouds.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/img/weather/rain.jpg b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/rain.jpg
new file mode 100644
index 00000000000..f33b75e7a0c
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/rain.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/img/weather/sun.jpg b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/sun.jpg
new file mode 100644
index 00000000000..1e823100386
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/img/weather/sun.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/magazine-sample.tex b/Master/texmf-dist/doc/xelatex/xepersian/magazine-sample.tex
new file mode 100644
index 00000000000..e23db38de05
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/magazine-sample.tex
@@ -0,0 +1,172 @@
+\documentclass[12pt,twoside]{xepersian-magazine}
+\usepackage{graphicx}
+\usepackage{xltxtra}
+\usepackage{amsmath}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setlatintextfont[Scale=1]{Junicode}
+\setmathdigitfont{XB Zar}
+\pagestyle{fancy}
+\title{مجلهٔ زی‌پرشین}
+\author{وفا خلیقی}
+\edition{جلد اول}
+\customlogo{مجلهٔ زی‌پرشین}
+\customminilogo{مجلهٔ زی‌پرشین}
+\custommagazinename{مجلهٔ زی‌پرشین}
+\customwwwTxt{http://google.com}
+\begin{document}
+\begin{frontpage}
+\firstimage{img/ireland.jpg}{این زیرنویس تصویر اصلی در صفحهٔ اول است.}
+\firstarticle{این تیتر مقالهٔ اول است.}
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد.}%
+{۱۲:۳۴}
+\secondarticle{این هم سر تیتر مقالهٔ دوم است.}%
+{این هم زیر تیتر مقالهٔ دوم است که آن را در اینجا می‌نویسیم.}%
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد.}%
+{قسمت الف}%
+{۱۰:۲۳}
+
+\thirdarticle{این سرتیتر مقالهٔ سوم است.}%
+{این هم زیرتیتر مقالهٔ سوم است که ما آن را در اینجا قرار می‌دهیم.}%
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد. و همانطور که می‌بینید من مطلبی برای گفتن ندارم فقط متن علکی می‌نویسم تا کمی صفحه را پر کرده باشم. اما در قسمتهای بعدی مقداری از سهراب سپهری خواهم نوشت.}%
+
+{قسمت ب}%
+{۱۰:۰۲}
+
+\begin{indexblock}{نمایه (فهرست مطالب) اصلی}
+\indexitem{۱- مقاله اول}{1}
+
+\indexitem{۲- مقاله دوم}{3}
+
+\indexitem{۳- مقاله سوم}{3}
+
+\indexitem{۴- مقاله چهارم}{5}
+\end{indexblock}
+
+\begin{weatherblock}{وضع آب و هوا}
+\weatheritem{img/weather/rain.jpg}{امروز}{13}{9}{}
+\weatheritem{img/weather/sun.jpg}{فردا}{15}{1}{}
+\weatheritem{img/weather/clouds.jpg}{جمعه}{12}{6}{}
+\end{weatherblock}
+
+\begin{authorblock}
+\textbf{ویرایشگران}
+
+وفا خلیقی، مهدی امیدعلی و مصطفی واحدی
+
+\texttt{me@somedomain.com\\[5pt]
+http://google.com}\\
+\end{authorblock}
+\end{frontpage}
+\newsection{قسمت الف}
+\begin{article}{2}
+{این تیتر این مقاله است.}
+{این هم زیرتیتر این مقاله هست.}
+{قسمت الف}
+{1}
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{۸:۲۵}
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+\footnote{این یک زیرنویس فارسی است.}\LTRfootnote{This is an English footnote.}
+\begin{equation}
+(a+b)^3=a^3+3a^2b+3ab^2+b^3\label{eq-1}
+\end{equation}
+این معادلهٔ \eqref{eq-1} است.
+\columntitle{lines}{این را برای مهم یا نشان دادن حرفی مهم در این مجله انجام می‌دهیم.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\begin{article}{2}
+{این تیتر این مقاله است.}
+{این هم زیرتیتر این مقاله هست.}
+{قسمت الف}
+{1}
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{08:25}
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+\LTRfootnote{This is an English footnote.}\footnote{این یک زیرنویس فارسی است.}
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+\expandedtitle{doublebox}{این هم مطلی است مهم یا چیزی که از خلاصهٔ این مقاله ما متوجه شده‌ایم و این برای ما و خوانندگان خیلی مهم است.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\newsection{قسمت ب}
+
+\begin{article}{2}
+{این یک تیتر کوتاه است.وفا خلیقی}
+{این هم مثل همیشه زیرتیتر است که ما آن را در اینجا قرار می‌دهیم.}
+{قسمت ب}
+{3}
+
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{08:25} et ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+\expandedtitle{lines}{این هم دوباره مطلب مهمی است که ما آن را از لابلای این مقاله برای خواننده درست کرده‌ایم.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\begin{editorial}{1}{این یک مثال از مقاله‌ای از طرف ویرایشگر است.}{نام و نام خانوادگی}{4}
+يژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{editorial}
+
+\articlesep
+
+\begin{shortarticle}{4}{محیط مقالهٔ کوتاه}{محیط مقالهٔ کوتاه داخل مجلهٔ زی‌پرشین}{5}
+\shortarticleitem{این یک تیتر کوتاه است}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\end{shortarticle}
+
+\articlesep
+
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/test-correction.tex b/Master/texmf-dist/doc/xelatex/xepersian/test-correction.tex
new file mode 100644
index 00000000000..cb4ead74d50
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/test-correction.tex
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage[correction]{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/test-empty-form.tex b/Master/texmf-dist/doc/xelatex/xepersian/test-empty-form.tex
new file mode 100644
index 00000000000..e2e6a6bbad6
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/test-empty-form.tex
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+\bigskip
+
+\begin{center}
+\makeform
+\end{center}
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/test-question-only.tex b/Master/texmf-dist/doc/xelatex/xepersian/test-question-only.tex
new file mode 100644
index 00000000000..fd3c05ccfb8
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/test-question-only.tex
@@ -0,0 +1,38 @@
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/test-solution-form.tex b/Master/texmf-dist/doc/xelatex/xepersian/test-solution-form.tex
new file mode 100644
index 00000000000..1f403806eb5
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/test-solution-form.tex
@@ -0,0 +1,42 @@
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\bigskip
+\begin{center}
+\makemask
+\end{center}
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/undk-0.6.py b/Master/texmf-dist/doc/xelatex/xepersian/undk-0.6.py
new file mode 100755
index 00000000000..a824887ef31
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/undk-0.6.py
@@ -0,0 +1,485 @@
+#! /usr/bin/env python
+#########################################
+# General Public License #
+# Author: Mostafa Vahedi #
+# Date: 25 Apr. 2008 #
+# Version 0.6 #
+#########################################
+
+import codecs
+
+import sys
+
+bidi_joiners = [
+u'\u0626', u'\u0628', u'\u062a', u'\u062b', u'\u062c', u'\u062d', u'\u062e',
+u'\u0633', u'\u0634', u'\u0635', u'\u0636', u'\u0637', u'\u0638', u'\u0639', u'\u063a',
+u'\u0640', u'\u0641', u'\u0642', u'\u0643', u'\u0644', u'\u0645', u'\u0646', u'\u0647',
+u'\u0649', u'\u064a', u'\u067e', u'\u0686', u'\u06a9', u'\u06af', u'\u200d',
+u'\u06cc']
+
+right_joiners = [
+u'\u0622', u'\u0623', u'\u0624', u'\u0625', u'\u0627', u'\u0629', u'\u062f', u'\u0630', u'\u0631',
+u'\u0632', u'\u0648', u'\u0671', u'\u0600', u'\u0698']
+
+
+#form_numbers, isolated, final, medial, initial
+table_UN_DK = {
+u'\n' : [1, '\n'],
+#case u'\u0020' - 0xA0 : #space
+u' ' : [1, chr(0xA0)],
+#case u'\u0021' - 0xA4 : #exclamation
+u'!' : [1, chr(0xA4)],
+## case u'\u0022' - 0x?? : #quotation
+#case u'\u0023' - 0x95 : #number sign
+u'#' : [1, chr(0x95)],
+#case u'\u0024' - 0x83 : #?? dollar sign
+u'$' : [1, chr(0x83)],
+#case u'\u0025' - 0x96 : #percent sign
+u'%' : [1, chr(0x96)],
+#case u'\u0026' - 0x87 : #?? ampersand
+u'&' : [1, chr(0x87)],
+#case u'\u0027' - 0xa9 : #apostrophe
+u'\'' : [1, chr(0xa9)],
+#case u'\u0028' - 0x90 : #left parenthesis
+u'(' : [1, chr(0x91)],
+#case u'\u0029' - 0x91 : #right parenthesis
+u')' : [1, chr(0x90)],
+#case u'\u002a' - 0x82 : #asterisk
+u'*' : [1, chr(0x82)],
+#case u'\u002b' - 0x9e : #plus sign
+u'+' : [1, chr(0x9e)],
+#case u'\u002c' - 0x97 : #comma
+u',' : [1, chr(0x2C)],
+#case u'\u002d' - 0x9f : #hyphen-minus
+u'-' : [1, chr(0x9f)],
+#case u'\u002e' - 0xA2 : #full stop
+u'.' : [1, chr(0xA2)],
+#case u'\u002f' - 0xa1 : #solidus
+u'/' : [1, chr(0xa1)],
+# #-- digits 0..9 B0 - B9
+#case u'\u003a' - 0xa5 : #colon
+u':' : [1, chr(0xa5)],
+## case u'\u003b' - 0xa6 : #handled in >128: semicolon
+#case u'\u003c' - 0x98 : #less than sign
+u'<' : [1, chr(0x98)],
+#case u'\u003d' - 0x99 : #equal sign
+u'=' : [1, chr(0x99)],
+#case u'\u003e' - 0x9a : #more than sign
+u'>' : [1, chr(0x9a)],
+## case u'\u003f' - 0xa3 : #handled in >128: question mark
+#case u'\u0040' - 0x81 : #commercialat
+u'@' : [1, chr(0x81)],
+##-- letters A..Z
+#case u'\u005b' - 0x92 : #left square bracket
+u'[' : [1, chr(0x93)],
+#case u'\u005c' - 0x9d : #reverse solidus
+u'\\' : [1, chr(0x9d)],
+#case u'\u005d' - 0x93 : #right square bracket
+u']' : [1, chr(0x92)],
+#case u'\u005e' - 0xAE : #circumflex accent
+u'^' : [1, chr(0xAE)],
+## case u'\u005f' - 0x?? : #?? low line
+#case u'\u0060' - 0xa8 : #grave accent
+u'`' : [1, chr(0xa8)],
+# #-- letters a..z
+#case u'\u007b' - 0x8b : #left curly bracket
+u'{' : [1, chr(0x8c)],
+#case u'\u007c' - 0xaf : #vertical line
+u'|' : [1, chr(0xaf)],
+#case u'\u007d' - 0x8c : #right curly bracket
+u'}' : [1, chr(0x8b)],
+#case u'\u007e' - 0x86 : #tilde
+u'~' : [1, chr(0x86)],
+#case u'\u00BB' - 0x8E : #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+u'\u00BB' : [1, chr(0x8E)],
+#case u'\u00AB' - 0x8F : #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+u'\u00AB' : [1, chr(0x8F)],
+#case u'\u00D7' - 0x9c : #times
+u'\u00D7' : [1, chr(0x9c)],
+#case u'\u200C' #ZWJ
+u'\u200C' : [1, ''],
+#case u'\u200D' #ZWNJ
+u'\u200D' : [1, ''],
+
+#060C - 0xA7 : arabic comma
+u'\u060C' : [1, chr(0xA7)],
+#061B - 0xA6 : arabic semicolon
+u'\u061B' : [1, chr(0xA6)],
+#061F - 0XA3 : arabic question mark
+u'\u061F' : [1, chr(0xA3)],
+#0621 - 0xBC hamza
+u'\u0621' : [1, chr(0xBC)],
+#0622 - 0xBB : alef + madda, the kernel joins it if should joined!!!
+u'\u0622' : [1, chr(0xBB)],
+#0623 - 0xBD+0xAD - 0xBE+0xAD : alef + hamza above
+u'\u0623' : [2, chr(0xBD)+chr(0xAD), chr(0xBE)+chr(0xAD)],
+#0624 - 0xF7+0xAD : waw + hamza above
+u'\u0624' : [1, chr(0xF7)+chr(0xAD)],
+#0625 - 0xBD+\hamzabelow - 0xBE+\hamzabelow : alef + hamza below
+u'\u0625' : [2, chr(0xBD)+'\\hamzabelow', chr(0xBE)+'\\hamzabelow'],
+#0626 - 0xFF - 0xFC+0xAD : yeh + hamza above
+u'\u0626' : [3, chr(0xFC)+chr(0xAD), chr(0xFE)+chr(0xAD), chr(0xFF)],
+#0627 - 0xBD - 0xBE : alef
+u'\u0627' : [2, chr(0xBD), chr(0xBE)],
+#0628 - 0xBF - 0xC0 : beh
+u'\u0628' : [2, chr(0xBF), chr(0xC0)],
+#0629 - \0xF8 : teh marbuta
+u'\u0629' : [1, '\\'+chr(0xF8)],
+#062a - 0xC3 - 0xC4 : teh
+u'\u062a' : [2, chr(0xC3), chr(0xC4)],
+#062b - 0xC5 - 0xC6 : theh
+u'\u062b' : [2, chr(0xC5), chr(0xC6)],
+#062c - 0xC7 - 0xC8 : jeem
+u'\u062c' : [2, chr(0xC7), chr(0xC8)],
+#062d - 0xCB - 0xCC : hah
+u'\u062d' : [2, chr(0xCB), chr(0xCC)],
+#062e - 0xCD - 0xCE : khah
+u'\u062e' : [2, chr(0xCD), chr(0xCE)],
+#062f - 0xCF : dal
+u'\u062f' : [1, chr(0xCF)],
+#0630 - 0xD0 : thal
+u'\u0630' : [1, chr(0xD0)],
+#0631 - 0xD1 : reh
+u'\u0631' : [1, chr(0xD1)],
+#0632 - 0xD2 : zain
+u'\u0632' : [1, chr(0xD2)],
+#0633 - 0xD4 - 0xD5 : seen
+u'\u0633' : [2, chr(0xD4), chr(0xD5)],
+#0634 - 0xD6 - 0xD7 : sheen
+u'\u0634' : [2, chr(0xD6), chr(0xD7)],
+#0635 - 0xD8 - 0xD9 : sad
+u'\u0635' : [2, chr(0xD8), chr(0xD9)],
+#0636 - 0xDA - 0xDB : dad
+u'\u0636' : [2, chr(0xDA), chr(0xDB)],
+#0637 - 0xDC - 0xDD : tah
+u'\u0637' : [2, chr(0xDC), chr(0xDD)],
+#0638 - 0xDE - 0xDF : zah
+u'\u0638' : [2, chr(0xDE), chr(0xDF)],
+#0639 - 0xE0 - 0xE1 - 0xE2 - 0xE3 : ain
+u'\u0639' : [4, chr(0xE0), chr(0xE2), chr(0xE3), chr(0xE1)],
+#063a - 0xE4 - 0xE5 - 0xE6 - 0xE7 : ghain
+u'\u063a' : [4, chr(0xE4), chr(0xE6), chr(0xE7), chr(0xE5)],
+#0640 - 0x94 : tatweel
+u'\u0640' : [1, chr(0x94)],
+#0641 - 0xE8 - 0xE9 : feh
+u'\u0641' : [2, chr(0xE8), chr(0xE9)],
+#0642 - 0xEA - 0xEB : Qaf
+u'\u0642' : [2, chr(0xEA), chr(0xEB)],
+#0643 - \arabkeh - 0xED : arabic ke
+u'\u0643' : [2, '\\arabkeh', chr(0xED)],
+#0644 - 0xF0 - 0xF2 : lam
+u'\u0644' : [2, chr(0xF0), chr(0xF2)],
+#0645 - 0xF3 - 0xF4 : meem
+u'\u0645' : [2, chr(0xF3), chr(0xF4)],
+#0646 - 0xF5 - 0xF6 : noon
+u'\u0646' : [2, chr(0xF5), chr(0xF6)],
+#0647 - 0xF8 - 0xF9 - 0xFB : heh
+u'\u0647' : [3, chr(0xF8), chr(0xFB), chr(0xF9)],
+#0648 - 0xF7 : waw
+u'\u0648' : [1, chr(0xF7)],
+#0649 - \alefmaq - \alefmaqjd : alef maksura
+u'\u0649' : [2, '\\alefmaq', '\\alefmaqjd'],
+#064a - \arabyeh - \arabyehjd - 0xFD : arabic yeh
+u'\u064a' : [3, '\\arabyeh', '\\arabyehjd', chr(0xFD)],
+
+#064b - 0xAC : nasb
+u'\u064b' : [1, chr(0xAC)],
+#064c - \raf : raf
+u'\u064c' : [1, '\\'+chr(0xA9)],
+#064d - \jar : jar
+u'\u064d' : [1, '\\'+chr(0xAA)],
+#064e - 0xAB : fatha
+u'\u064e' : [1, chr(0xAB)],
+#064f - 0xA9 : zamma
+u'\u064f' : [1, chr(0xA9)],
+#0650 - 0xAA : kasra
+u'\u0650' : [1, chr(0xAA)],
+#0651 - 0xBA : shadda
+u'\u0651' : [1, chr(0xBA)],
+#0652 - 0xAE : sokun
+u'\u0652' : [1, chr(0xAE)],
+#0653 - \mad : madda
+u'\u0653' : [1, '\\'+chr(0x86)],
+#0654 - 0xAD : hamza above
+u'\u0654' : [1, chr(0xAD)],
+#0655 - \hamzabelow : hamza below
+u'\u0655' : [1, '\\hamzabelow'],
+#0656 - \alefkootahpayyn : alef subscript
+u'\u0656' : [1, '\\'+chr(0xBD)+chr(0xFC)+chr(0xA0)],
+
+#066a - 0x96 : arabic percent sign
+u'\u066a' : [1, chr(0x96)],
+#066b - 0xA1 : arabic decimal seperator
+u'\u066b' : [1, chr(0xA1)],
+#066c - 0x97 : arabic thousands seperator
+u'\u066c' : [1, chr(0x97)],
+
+#0670 - \alefkootahbala : alef superscript
+u'\u0670' : [1, '\\'+chr(0xBB)],
+
+#067e - 0xC1 - 0xC2 : peh
+u'\u067e' : [2, chr(0xC1), chr(0xC2)],
+#0686 - 0xC9 - 0xCA : cheh
+u'\u0686' : [2, chr(0xC9), chr(0xCA)],
+#0698 - 0xD3 : jeh
+u'\u0698' : [1, chr(0xD3)],
+#06a9 - 0xEC - 0xED : farsi keh
+u'\u06a9' : [2, chr(0xEC), chr(0xED)],
+#06af - 0xEE - 0xEF : gaf
+u'\u06af' : [2, chr(0xEE), chr(0xEF)],
+#06cc - 0xFC - 0xFD - 0xFE : farsi yeh
+u'\u06cc' : [3, chr(0xFC), chr(0xFE), chr(0xFD)],
+
+#arabic-indic digits
+u'\u06F0' : [1, chr(0xB0)],
+u'\u06F1' : [1, chr(0xB1)],
+u'\u06F2' : [1, chr(0xB2)],
+u'\u06F3' : [1, chr(0xB3)],
+u'\u06F4' : [1, chr(0xB4)],
+u'\u06F5' : [1, chr(0xB5)],
+u'\u06F6' : [1, chr(0xB6)],
+u'\u06F7' : [1, chr(0xB7)],
+u'\u06F8' : [1, chr(0xB8)],
+u'\u06F9' : [1, chr(0xB9)],
+
+#arabic digits
+u'\u0660' : [1, chr(0xB0)],
+u'\u0661' : [1, chr(0xB1)],
+u'\u0662' : [1, chr(0xB2)],
+u'\u0663' : [1, chr(0xB3)],
+u'\u0664' : [1, '\\arabfour'],
+u'\u0665' : [1, '\\arabfive'],
+u'\u0666' : [1, '\\arabsix'],
+u'\u0667' : [1, chr(0xB7)],
+u'\u0668' : [1, chr(0xB8)],
+u'\u0669' : [1, chr(0xB9)],
+
+#0644_#0627 - 0xF1 : lam+alef
+u'\u0600' : [1, chr(0xF1)]
+}
+
+def is_right_joinable(c):
+ if (c in bidi_joiners) or (c in right_joiners):
+ return 1
+ return 0
+
+def is_left_joinable(c):
+ if (c in bidi_joiners):
+ return 1
+ return 0
+
+def is_nonend_vowel(vowel):
+ if (vowel >= u'\u064e') and (vowel <= u'\u0656'):
+ return 1
+ if (vowel == u'\u0670'):
+ return 1
+ return 0
+
+def is_vowel(vowel):
+ if (vowel >= u'\u064b') and (vowel <= u'\u0656'):
+ return 1
+ if (vowel == u'\u0670'):
+ return 1
+ return 0
+
+def is_six_vowel(vowel):
+ if (vowel >= u'\u064b') and (vowel <= u'\u0650'):
+ return 1
+ return 0
+
+
+def is_right_joinable_v(line, i):
+ if (i>0) and (is_right_joinable(line[i])):
+ j = i-1
+ if is_vowel(line[j]):
+ while ((j>=0) and (is_vowel(line[j]) == 1)):
+ j -= 1
+ if (j == -1) or not(is_left_joinable(line[j])):
+ return 0
+ return 1
+ return 0
+
+def is_left_joinable_v(line, i):
+ line_len = len (line)
+ if (line_len>0) and (i<line_len-1) and (is_left_joinable(line[i])):
+ j = i+1
+ if is_vowel(line[j]):
+ while ((j<line_len) and (is_vowel(line[j]) == 1)):
+ j += 1
+ if (j == line_len) or not(is_right_joinable(line[j])):
+ return 0
+ return 1
+ return 0
+
+#isolated 0, final 1, medial 2, initial 3
+def find_form(line, i):
+ j_r = is_right_joinable_v(line, i)
+ j_l = is_left_joinable_v(line, i)
+
+ if (j_r == 0) and (j_l == 0):
+ return 0
+ if (j_r == 1) and (j_l == 0):
+ return 1
+ if (j_r == 1) and (j_l == 1):
+ return 2
+ # Therefore (j_r == 0) and (j_l == 1):
+ return 3
+
+def map_char_unicode_DK(c, form):
+ try:
+ n = table_UN_DK[c][0]
+ except KeyError:
+ return c.encode('latin-1')
+ if (n == 1):
+ return table_UN_DK[c][1]
+ elif (n == 2):
+ if (c in right_joiners):
+ return table_UN_DK[c][1 + form]
+ else:
+ return table_UN_DK[c][1 + form/2]
+ elif (n == 4):
+ return table_UN_DK[c][1 + form]
+ # farsi yeh (farsi or arabic or +hamza)
+ if (c == u'\u06cc') or (c == u'\u0626') or (c == u'\u064a'):
+ if (form >= 2):
+ return table_UN_DK[c][3]
+ return table_UN_DK[c][1 + form]
+ elif (c == u'\u0647'): # heh
+ if (form < 2):
+ return table_UN_DK[c][1]
+ return table_UN_DK[c][form]
+ return c
+
+def is_english_letter_number(c):
+ if ((c >= u'a') and (c <= u'z')) or ((c >= u'A') and (c <= u'Z')):
+ return 1
+ if (c >= u'0') and (c <= u'9'):
+ return 1
+ if (c == u',') or (c == u'?'):
+ return 1
+ return 0
+
+def is_inbetween_chars(c):
+ if ((c == u'.') or (c == u'-') or (c == u'_') or (c == u'/')):
+ return 1
+ return 0
+
+def is_farsi_numerical(c):
+ if ((c >= u'\u06F0') and (c <= u'\u06F9')) or (c == u'\u066b') or (c == u'\u066c'):
+ return 1
+ return 0
+
+# Main body of the program
+if len(sys.argv) <= 2:
+ print 'usage: python undk in_filename out_filename'
+ exit(0)
+
+filename = sys.argv[1]
+outfile = sys.argv[2]
+
+try:
+ f = codecs.open(filename, 'r', 'utf-8')
+except IOError:
+ print "Can not open the input file: " + filename
+ exit(0)
+
+try:
+ of = open(outfile, 'w')
+except IOError:
+ print "Can not open the output file: " + outfile
+ exit(0)
+
+# this is an option
+autoEnglish = 1
+
+inAutoEnglish = 0
+inFarsi = 1
+inFarsiNumber = 0
+for line in f:
+ this_line = ''
+ line_len = len (line)
+
+ # to remove the Byte Order Mark = BOM
+ start = 0
+ if line[0] == unicode( codecs.BOM_UTF8, "utf8"):
+ start = 1
+ # end of BOM removal
+
+ i = start
+ english_part = ''
+ auto_english_part = ''
+ number_part = ''
+ while i < line_len:
+ # find the \$f_ or \$e_
+ if line[i] == u'\\':
+ if line[i+1:i+4] == "$f_":
+ inFarsi = 1
+ i += 4
+ this_line += english_part[::-1]
+ english_part = ''
+ elif line[i+1:i+4] == "$e_":
+ inFarsi = 0
+ i += 4
+ # The following situation should not happen !!!!
+ if (autoEnglish == 1) and (inAutoEnglish == 1):
+ this_line += auto_english_part[::-1]
+ auto_english_part = ''
+ inAutoEnglish = 0
+ print 'Warning: mixed Auto-English and Forced-English'
+ if (inFarsiNumber == 1):
+ this_line += number_part[::-1]
+ number_part = ''
+ inFarsiNubmer = 0
+ # end of character processing
+ if inFarsi == 0:
+ english_part += line[i].encode('ascii')
+ # Therefore we are in FarsiMode
+ else:
+ # when we are in AutoEnglish mode and the current character
+ # is '.', '-', '_', or '/' and the next character
+ # is English AlphaNumberic then consider the current character
+ # as an English character
+ if (autoEnglish == 1) and (inAutoEnglish == 1) and \
+ (is_inbetween_chars(line[i]) == 1) and \
+ (line_len > i+1) and (is_english_letter_number(line[i+1]) == 1):
+ auto_english_part += line[i].encode('ascii')
+ elif (is_english_letter_number(line[i]) == 1) and (autoEnglish == 1):
+ if (inFarsiNumber == 1):
+ this_line += number_part[::-1]
+ number_part = ''
+ inFarsiNubmer = 0
+ inAutoEnglish = 1
+ auto_english_part += line[i].encode('ascii')
+ else:
+ if (autoEnglish == 1) and (inAutoEnglish == 1):
+ this_line += auto_english_part[::-1]
+ auto_english_part = ''
+ inAutoEnglish = 0
+ if (is_farsi_numerical(line[i]) == 1):
+ inFarsiNumber = 1
+ number_part += map_char_unicode_DK(line[i], 0)
+ else:
+ if (inFarsiNumber == 1):
+ this_line += number_part[::-1]
+ number_part = ''
+ inFarsiNubmer = 0
+ which_form = find_form(line, i)
+ if (i+1 < line_len) and (line[i] == u'\u0644') and (line[i+1] == u'\u0627'):
+ which_form = 1
+ this_line += map_char_unicode_DK(u'\u0600', which_form)
+ i = i + 1
+ else:
+ this_line += map_char_unicode_DK(line[i], which_form)
+ i += 1
+ # end of while
+ if inFarsi == 0:
+ this_line += english_part[::-1]
+ english_part = ''
+
+ # write the processed line
+ of.write(this_line)
+ # end of line processing
+# end of file processing
+
+of.close()
+f.close()
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/unldk-0.2.py b/Master/texmf-dist/doc/xelatex/xepersian/unldk-0.2.py
new file mode 100755
index 00000000000..b91c183cdd8
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/unldk-0.2.py
@@ -0,0 +1,445 @@
+#! /usr/bin/env python
+#########################################
+# General Public License #
+# Author: Mostafa Vahedi #
+# Date: 22 Apr. 2007 #
+# Version 0.2 #
+#########################################
+
+import codecs
+
+import sys
+
+bidi_joiners = [
+u'\u0626', u'\u0628', u'\u062a', u'\u062b', u'\u062c', u'\u062d', u'\u062e',
+u'\u0633', u'\u0634', u'\u0635', u'\u0636', u'\u0637', u'\u0638', u'\u0639', u'\u063a',
+u'\u0640', u'\u0641', u'\u0642', u'\u0643', u'\u0644', u'\u0645', u'\u0646', u'\u0647',
+u'\u0649', u'\u064a', u'\u067e', u'\u0686', u'\u06a9', u'\u06af', u'\u200d',
+u'\u06cc']
+
+right_joiners = [
+u'\u0622', u'\u0623', u'\u0624', u'\u0625', u'\u0627', u'\u0629', u'\u062f', u'\u0630', u'\u0631',
+u'\u0632', u'\u0648', u'\u0671', u'\u0600', u'\u0698']
+
+
+#form_numbers, isolated, final, medial, initial
+table_UN_DK = {
+u'\n' : [1, '\n'],
+#case u'\u0020' - 0xA0 : #space
+u' ' : [1, chr(0xA0)],
+#case u'\u0021' - 0xA4 : #exclamation
+u'!' : [1, chr(0xA4)],
+## case u'\u0022' - 0x?? : #quotation
+#case u'\u0023' - 0x95 : #number sign
+u'#' : [1, chr(0x95)],
+#case u'\u0024' - 0x83 : #?? dollar sign
+u'$' : [1, chr(0x83)],
+#case u'\u0025' - 0x96 : #percent sign
+u'%' : [1, chr(0x96)],
+#case u'\u0026' - 0x87 : #?? ampersand
+u'&' : [1, chr(0x87)],
+#case u'\u0027' - 0xa9 : #apostrophe
+u'\'' : [1, chr(0xa9)],
+#case u'\u0028' - 0x90 : #left parenthesis
+u'(' : [1, chr(0x91)],
+#case u'\u0029' - 0x91 : #right parenthesis
+u')' : [1, chr(0x90)],
+#case u'\u002a' - 0x82 : #asterisk
+u'*' : [1, chr(0x82)],
+#case u'\u002b' - 0x9e : #plus sign
+u'+' : [1, chr(0x9e)],
+#case u'\u002c' - 0x97 : #comma
+u',' : [1, chr(0x97)],
+#case u'\u002d' - 0x9f : #hyphen-minus
+u'-' : [1, chr(0x9f)],
+#case u'\u002e' - 0xA2 : #full stop
+u'.' : [1, chr(0xA2)],
+#case u'\u002f' - 0xa1 : #solidus
+u'/' : [1, chr(0xa1)],
+# #-- digits 0..9 B0 - B9
+#case u'\u003a' - 0xa5 : #colon
+u':' : [1, chr(0xa5)],
+## case u'\u003b' - 0xa6 : #handled in >128: semicolon
+#case u'\u003c' - 0x98 : #less than sign
+u'<' : [1, chr(0x98)],
+#case u'\u003d' - 0x99 : #equal sign
+u'=' : [1, chr(0x99)],
+#case u'\u003e' - 0x9a : #more than sign
+u'>' : [1, chr(0x9a)],
+## case u'\u003f' - 0xa3 : #handled in >128: question mark
+#case u'\u0040' - 0x81 : #commercialat
+u'@' : [1, chr(0x81)],
+##-- letters A..Z
+#case u'\u005b' - 0x92 : #left square bracket
+u'[' : [1, chr(0x93)],
+#case u'\u005c' - 0x9d : #reverse solidus
+u'\\' : [1, chr(0x9d)],
+#case u'\u005d' - 0x93 : #right square bracket
+u']' : [1, chr(0x92)],
+#case u'\u005e' - 0xAE : #circumflex accent
+u'^' : [1, chr(0xAE)],
+## case u'\u005f' - 0x?? : #?? low line
+#case u'\u0060' - 0xa8 : #grave accent
+u'`' : [1, chr(0xa8)],
+# #-- letters a..z
+#case u'\u007b' - 0x8b : #left curly bracket
+u'{' : [1, chr(0x8c)],
+#case u'\u007c' - 0xaf : #vertical line
+u'|' : [1, chr(0xaf)],
+#case u'\u007d' - 0x8c : #right curly bracket
+u'}' : [1, chr(0x8b)],
+#case u'\u007e' - 0x86 : #tilde
+u'~' : [1, chr(0x86)],
+#case u'\u00BB' - 0x8E : #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+u'\u00BB' : [1, chr(0x8E)],
+#case u'\u00AB' - 0x8F : #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+u'\u00AB' : [1, chr(0x8F)],
+#case u'\u00D7' - 0x9c : #times
+u'\u00D7' : [1, chr(0x9c)],
+#case u'\u200C' #ZWJ
+u'\u200C' : [1, ''],
+#case u'\u200D' #ZWNJ
+u'\u200D' : [1, ''],
+
+#060C - 0xA7 : arabic comma
+u'\u060C' : [1, chr(0xA7)],
+#061B - 0xA6 : arabic semicolon
+u'\u061B' : [1, chr(0xA6)],
+#061F - 0XA3 : arabic question mark
+u'\u061F' : [1, chr(0xA3)],
+#0621 - 0xBC hamza
+u'\u0621' : [1, chr(0xBC)],
+#0622 - 0xBB : alef + madda, the kernel joins it if should joined!!!
+u'\u0622' : [1, chr(0xBB)],
+#0623 - 0xBD+0xAD - 0xBE+0xAD : alef + hamza above
+u'\u0623' : [2, chr(0xBD)+chr(0xAD), chr(0xBE)+chr(0xAD)],
+#0624 - 0xF7+0xAD : waw + hamza above
+u'\u0624' : [1, chr(0xF7)+chr(0xAD)],
+#0625 - 0xBD+\hamzabelow - 0xBE+\hamzabelow : alef + hamza below
+u'\u0625' : [2, chr(0xBD)+'\\hamzabelow', chr(0xBE)+'\\hamzabelow'],
+#0626 - 0xFF - 0xFC+0xAD : yeh + hamza above
+u'\u0626' : [3, chr(0xFC)+chr(0xAD), chr(0xFE)+chr(0xAD), chr(0xFF)],
+#0627 - 0xBD - 0xBE : alef
+u'\u0627' : [2, chr(0xBD), chr(0xBE)],
+#0628 - 0xBF - 0xC0 : beh
+u'\u0628' : [2, chr(0xBF), chr(0xC0)],
+#0629 - \0xF8 : teh marbuta
+u'\u0629' : [1, '\\'+chr(0xF8)],
+#062a - 0xC3 - 0xC4 : teh
+u'\u062a' : [2, chr(0xC3), chr(0xC4)],
+#062b - 0xC5 - 0xC6 : theh
+u'\u062b' : [2, chr(0xC5), chr(0xC6)],
+#062c - 0xC7 - 0xC8 : jeem
+u'\u062c' : [2, chr(0xC7), chr(0xC8)],
+#062d - 0xCB - 0xCC : hah
+u'\u062d' : [2, chr(0xCB), chr(0xCC)],
+#062e - 0xCD - 0xCE : khah
+u'\u062e' : [2, chr(0xCD), chr(0xCE)],
+#062f - 0xCF : dal
+u'\u062f' : [1, chr(0xCF)],
+#0630 - 0xD0 : thal
+u'\u0630' : [1, chr(0xD0)],
+#0631 - 0xD1 : reh
+u'\u0631' : [1, chr(0xD1)],
+#0632 - 0xD2 : zain
+u'\u0632' : [1, chr(0xD2)],
+#0633 - 0xD4 - 0xD5 : seen
+u'\u0633' : [2, chr(0xD4), chr(0xD5)],
+#0634 - 0xD6 - 0xD7 : sheen
+u'\u0634' : [2, chr(0xD6), chr(0xD7)],
+#0635 - 0xD8 - 0xD9 : sad
+u'\u0635' : [2, chr(0xD8), chr(0xD9)],
+#0636 - 0xDA - 0xDB : dad
+u'\u0636' : [2, chr(0xDA), chr(0xDB)],
+#0637 - 0xDC - 0xDD : tah
+u'\u0637' : [2, chr(0xDC), chr(0xDD)],
+#0638 - 0xDE - 0xDF : zah
+u'\u0638' : [2, chr(0xDE), chr(0xDF)],
+#0639 - 0xE0 - 0xE1 - 0xE2 - 0xE3 : ain
+u'\u0639' : [4, chr(0xE0), chr(0xE2), chr(0xE3), chr(0xE1)],
+#063a - 0xE4 - 0xE5 - 0xE6 - 0xE7 : ghain
+u'\u063a' : [4, chr(0xE4), chr(0xE6), chr(0xE7), chr(0xE5)],
+#0640 - 0x94 : tatweel
+u'\u0640' : [1, chr(0x94)],
+#0641 - 0xE8 - 0xE9 : feh
+u'\u0641' : [2, chr(0xE8), chr(0xE9)],
+#0642 - 0xEA - 0xEB : Qaf
+u'\u0642' : [2, chr(0xEA), chr(0xEB)],
+#0643 - \arabkeh - 0xED : arabic ke
+u'\u0643' : [2, '\\arabkeh', chr(0xED)],
+#0644 - 0xF0 - 0xF2 : lam
+u'\u0644' : [2, chr(0xF0), chr(0xF2)],
+#0645 - 0xF3 - 0xF4 : meem
+u'\u0645' : [2, chr(0xF3), chr(0xF4)],
+#0646 - 0xF5 - 0xF6 : noon
+u'\u0646' : [2, chr(0xF5), chr(0xF6)],
+#0647 - 0xF8 - 0xF9 - 0xFB : heh
+u'\u0647' : [3, chr(0xF8), chr(0xFB), chr(0xF9)],
+#0648 - 0xF7 : waw
+u'\u0648' : [1, chr(0xF7)],
+#0649 - \alefmaq - \alefmaqjd : alef maksura
+u'\u0649' : [2, '\\alefmaq', '\\alefmaqjd'],
+#064a - \arabyeh - \arabyehjd - 0xFD : arabic yeh
+u'\u064a' : [3, '\\arabyeh', '\\arabyehjd', chr(0xFD)],
+
+#064b - 0xAC : nasb
+u'\u064b' : [1, chr(0xAC)],
+#064c - \raf : raf
+u'\u064c' : [1, '\\'+chr(0xA9)],
+#064d - \jar : jar
+u'\u064d' : [1, '\\'+chr(0xAA)],
+#064e - 0xAB : fatha
+u'\u064e' : [1, chr(0xAB)],
+#064f - 0xA9 : zamma
+u'\u064f' : [1, chr(0xA9)],
+#0650 - 0xAA : kasra
+u'\u0650' : [1, chr(0xAA)],
+#0651 - 0xBA : shadda
+u'\u0651' : [1, chr(0xBA)],
+#0652 - 0xAE : sokun
+u'\u0652' : [1, chr(0xAE)],
+#0653 - \mad : madda
+u'\u0653' : [1, '\\'+chr(0x86)],
+#0654 - 0xAD : hamza above
+u'\u0654' : [1, chr(0xAD)],
+#0655 - \hamzabelow : hamza below
+u'\u0655' : [1, '\\hamzabelow'],
+#0656 - \alefkootahpayyn : alef subscript
+u'\u0656' : [1, '\\'+chr(0xBD)+chr(0xFC)+chr(0xA0)],
+
+#066a - 0x96 : arabic percent sign
+u'\u066a' : [1, chr(0x96)],
+#066b - 0xA1 : arabic decimal seperator
+u'\u066b' : [1, chr(0xA1)],
+#066c - 0x97 : arabic thousands seperator
+u'\u066c' : [1, chr(0x97)],
+
+#0670 - \alefkootahbala : alef superscript
+u'\u0670' : [1, '\\'+chr(0xBB)],
+
+#067e - 0xC1 - 0xC2 : peh
+u'\u067e' : [2, chr(0xC1), chr(0xC2)],
+#0686 - 0xC9 - 0xCA : cheh
+u'\u0686' : [2, chr(0xC9), chr(0xCA)],
+#0698 - 0xD3 : jeh
+u'\u0698' : [1, chr(0xD3)],
+#06a9 - 0xEC - 0xED : farsi keh
+u'\u06a9' : [2, chr(0xEC), chr(0xED)],
+#06af - 0xEE - 0xEF : gaf
+u'\u06af' : [2, chr(0xEE), chr(0xEF)],
+#06cc - 0xFC - 0xFD - 0xFE : farsi yeh
+u'\u06cc' : [3, chr(0xFC), chr(0xFE), chr(0xFD)],
+
+#arabic-indic digits
+u'\u06F0' : [1, chr(0xB0)],
+u'\u06F1' : [1, chr(0xB1)],
+u'\u06F2' : [1, chr(0xB2)],
+u'\u06F3' : [1, chr(0xB3)],
+u'\u06F4' : [1, chr(0xB4)],
+u'\u06F5' : [1, chr(0xB5)],
+u'\u06F6' : [1, chr(0xB6)],
+u'\u06F7' : [1, chr(0xB7)],
+u'\u06F8' : [1, chr(0xB8)],
+u'\u06F9' : [1, chr(0xB9)],
+
+#arabic digits
+u'\u0660' : [1, chr(0xB0)],
+u'\u0661' : [1, chr(0xB1)],
+u'\u0662' : [1, chr(0xB2)],
+u'\u0663' : [1, chr(0xB3)],
+u'\u0664' : [1, '\\arabfour'],
+u'\u0665' : [1, '\\arabfive'],
+u'\u0666' : [1, '\\arabsix'],
+u'\u0667' : [1, chr(0xB7)],
+u'\u0668' : [1, chr(0xB8)],
+u'\u0669' : [1, chr(0xB9)],
+
+#0644_#0627 - 0xF1 : lam+alef
+u'\u0600' : [1, chr(0xF1)]
+}
+
+def is_right_joinable(c):
+ if (c in bidi_joiners) or (c in right_joiners):
+ return 1
+ return 0
+
+def is_left_joinable(c):
+ if (c in bidi_joiners):
+ return 1
+ return 0
+
+def is_nonend_vowel(vowel):
+ if (vowel >= u'\u064e') and (vowel <= u'\u0656'):
+ return 1
+ if (vowel == u'\u0670'):
+ return 1
+ return 0
+
+def is_vowel(vowel):
+ if (vowel >= u'\u064b') and (vowel <= u'\u0656'):
+ return 1
+ if (vowel == u'\u0670'):
+ return 1
+ return 0
+
+def is_six_vowel(vowel):
+ if (vowel >= u'\u064b') and (vowel <= u'\u0650'):
+ return 1
+ return 0
+
+
+def is_right_joinable_v(line, i):
+ if (i>0) and (is_right_joinable(line[i])):
+ j = i-1
+ if is_vowel(line[j]):
+ while ((j>=0) and (is_vowel(line[j]) == 1)):
+ j -= 1
+ if (j == -1) or not(is_left_joinable(line[j])):
+ return 0
+ return 1
+ return 0
+
+def is_left_joinable_v(line, i):
+ line_len = len (line)
+ if (line_len>0) and (i<line_len-1) and (is_left_joinable(line[i])):
+ j = i+1
+ if is_vowel(line[j]):
+ while ((j<line_len) and (is_vowel(line[j]) == 1)):
+ j += 1
+ if (j == line_len) or not(is_right_joinable(line[j])):
+ return 0
+ return 1
+ return 0
+
+#isolated 0, final 1, medial 2, initial 3
+def find_form(line, i):
+ j_r = is_right_joinable_v(line, i)
+ j_l = is_left_joinable_v(line, i)
+
+ if (j_r == 0) and (j_l == 0):
+ return 0
+ if (j_r == 1) and (j_l == 0):
+ return 1
+ if (j_r == 1) and (j_l == 1):
+ return 2
+ # Therefore (j_r == 0) and (j_l == 1):
+ return 3
+
+def map_char_unicode_DK(c, form):
+ try:
+ n = table_UN_DK[c][0]
+ except KeyError:
+ return c.encode('latin-1')
+ if (n == 1):
+ return table_UN_DK[c][1]
+ elif (n == 2):
+ if (c in right_joiners):
+ return table_UN_DK[c][1 + form]
+ else:
+ return table_UN_DK[c][1 + form/2]
+ elif (n == 4):
+ return table_UN_DK[c][1 + form]
+ # farsi yeh (farsi or arabic or +hamza)
+ if (c == u'\u06cc') or (c == u'\u0626') or (c == u'\u064a'):
+ if (form >= 2):
+ return table_UN_DK[c][3]
+ return table_UN_DK[c][1 + form]
+ elif (c == u'\u0647'): # heh
+ if (form < 2):
+ return table_UN_DK[c][1]
+ return table_UN_DK[c][form]
+ return c
+
+def is_english_letter_number(c):
+ if ((c >= u'a') and (c <= u'z')) or ((c >= u'A') and (c <= u'Z')):
+ return 1
+ if (c >= u'0') and (c <= u'9'):
+ return 1
+ return 0
+
+def is_farsi_numerical(c):
+ if ((c >= u'\u06F0') and (c <= u'\u06F9')) or (c == u'\u066b') or (c == u'\u066c'):
+ return 1
+ return 0
+
+# Main body of the program
+if len(sys.argv) <= 2:
+ print 'usage: python unldk in_filename out_filename'
+ exit(0)
+
+filename = sys.argv[1]
+outfile = sys.argv[2]
+
+try:
+ f = codecs.open(filename, 'r', 'utf-8')
+except IOError:
+ print "Can not open the input file: " + filename
+ exit(0)
+
+try:
+ of = open(outfile, 'w')
+except IOError:
+ print "Can not open the output file: " + outfile
+ exit(0)
+
+inFarsi = 0
+inFarsiNumber = 0
+for line in f:
+ this_line = ''
+ line_len = len (line)
+
+ # to remove the Byte Order Mark = BOM
+ start = 0
+ if line[0] == unicode( codecs.BOM_UTF8, "utf8"):
+ start = 1
+ # end of BOM removal
+
+ i = start
+ farsi_part = ''
+ while i < line_len:
+ # find the \$f_ or \$e_
+ if line[i] == u'\\':
+ if line[i+1:i+4] == "$f_":
+ inFarsi = 1
+ i += 4
+ elif line[i+1:i+4] == "$e_":
+ if (inFarsiNumber == 1):
+ farsi_part += number_part[::-1]
+ number_part = ''
+ inFarsiNubmer = 0
+ this_line += farsi_part[::-1]
+ fasi_part = ''
+ inFarsi = 0
+ i += 4
+ # end of character processing
+ if inFarsi == 0:
+ this_line += line[i].encode('ascii')
+ else:
+ if (is_farsi_numerical(line[i]) == 1):
+ inFarsiNumber = 1
+ number_part += map_char_unicode_DK(line[i], 0)
+ else:
+ if (inFarsiNumber == 1):
+ farsi_part += number_part[::-1]
+ number_part = ''
+ inFarsiNubmer = 0
+ which_form = find_form(line, i)
+ if (i+1 < line_len) and (line[i] == u'\u0644') and (line[i+1] == u'\u0627'):
+ which_form = 1
+ farsi_part += map_char_unicode_DK(u'\u0600', which_form)
+ i = i + 1
+ else:
+ farsi_part += map_char_unicode_DK(line[i], which_form)
+ i += 1
+ # end of while
+ if inFarsi == 1:
+ this_line += farsi_part[::-1]
+ farsi_part = ''
+
+ # write the processed line
+ of.write(this_line)
+ # end of line processing
+# end of file processing
+
+of.close()
+f.close()
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf
new file mode 100644
index 00000000000..d73ebc00463
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-logo.tex b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-logo.tex
new file mode 100644
index 00000000000..77f9ff81e34
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-logo.tex
@@ -0,0 +1,1483 @@
+\documentclass{minimal}
+\usepackage{pstricks}
+\begin{document}
+\psset{xunit=.5pt,yunit=.5pt,runit=.5pt}
+\begin{pspicture}(644,645)
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(336.4,15.6)
+\curveto(336.4,7.6)(329.9,1.201)(322,1.201)
+\curveto(314,1.201)(307.6,7.701)(307.6,15.6)
+\curveto(307.6,23.5)(314.1,30)(322,30)
+\curveto(329.9,30)(336.4,23.6)(336.4,15.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(368.4,18.8)
+\curveto(369.2,10.901)(363.5,3.8)(355.599,2.901)
+\curveto(347.7,2.1)(340.599,7.8)(339.7,15.701)
+\curveto(338.9,23.6)(344.599,30.701)(352.5,31.6)
+\curveto(360.5,32.5)(367.6,26.7)(368.4,18.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(400,25.3)
+\curveto(401.7,17.5)(396.7,9.8)(388.9,8.2)
+\curveto(381.099,6.5)(373.4,11.5)(371.799,19.3)
+\curveto(370.099,27.1)(375.099,34.8)(382.9,36.401)
+\curveto(390.6,38.1)(398.3,33.1)(400,25.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(430.7,35.1)
+\curveto(433.2,27.5)(429,19.401)(421.4,16.901)
+\curveto(413.799,14.401)(405.7,18.6)(403.2,26.201)
+\curveto(400.7,33.801)(404.9,41.901)(412.5,44.401)
+\curveto(420.1,46.901)(428.2,42.7)(430.7,35.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(460.2,48.1)
+\curveto(463.4,40.8)(460.2,32.3)(452.9,29)
+\curveto(445.599,25.8)(437.099,29)(433.799,36.3)
+\curveto(430.599,43.6)(433.799,52.1)(441.099,55.3)
+\curveto(448.4,58.6)(456.9,55.3)(460.2,48.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(488.2,64)
+\curveto(492.2,57.1)(489.8,48.3)(482.9,44.3)
+\curveto(476,40.3)(467.2,42.7)(463.2,49.6)
+\curveto(459.2,56.5)(461.599,65.3)(468.5,69.3)
+\curveto(475.401,73.3)(484.2,70.9)(488.2,64)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(514.3,82.8)
+\curveto(519,76.401)(517.6,67.3)(511.1,62.6)
+\curveto(504.6,57.901)(495.6,59.3)(490.901,65.8)
+\curveto(486.201,72.3)(487.701,81.3)(494.1,86)
+\curveto(500.6,90.7)(509.6,89.3)(514.3,82.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(538.4,104.2)
+\curveto(543.7,98.3)(543.299,89.099)(537.299,83.8)
+\curveto(531.4,78.5)(522.199,79)(516.9,84.901)
+\curveto(511.6,90.8)(512.1,100)(518,105.3)
+\curveto(523.9,110.7)(533.1,110.2)(538.4,104.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(560.1,128.1)
+\curveto(566,122.8)(566.5,113.6)(561.201,107.701)
+\curveto(555.901,101.801)(546.701,101.301)(540.801,106.6)
+\curveto(534.902,111.901)(534.402,121.1)(539.701,127)
+\curveto(545,132.9)(554.2,133.4)(560.1,128.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(579.2,154)
+\curveto(585.7,149.3)(587.099,140.3)(582.4,133.8)
+\curveto(577.7,127.3)(568.7,125.901)(562.2,130.6)
+\curveto(555.7,135.3)(554.3,144.3)(559,150.8)
+\curveto(563.7,157.3)(572.7,158.7)(579.2,154)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(595.4,181.8)
+\curveto(602.299,177.8)(604.7,169)(600.7,162.1)
+\curveto(596.7,155.201)(587.9,152.8)(581,156.8)
+\curveto(574.1,160.8)(571.7,169.6)(575.7,176.5)
+\curveto(579.7,183.5)(588.5,185.8)(595.4,181.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(608.7,211.2)
+\curveto(616,208)(619.3,199.4)(616,192.099)
+\curveto(612.8,184.799)(604.2,181.599)(596.9,184.799)
+\curveto(589.6,188)(586.3,196.6)(589.6,203.9)
+\curveto(592.9,211.2)(601.4,214.5)(608.7,211.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(618.8,241.8)
+\curveto(626.401,239.3)(630.5,231.2)(628.1,223.6)
+\curveto(625.6,216)(617.5,211.901)(609.901,214.3)
+\curveto(602.3,216.8)(598.201,224.901)(600.6,232.5)
+\curveto(603.1,240.1)(611.2,244.3)(618.8,241.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(625.7,273.3)
+\curveto(633.5,271.7)(638.5,264)(636.8,256.2)
+\curveto(635.2,248.4)(627.5,243.4)(619.7,245.099)
+\curveto(611.9,246.799)(606.9,254.4)(608.599,262.2)
+\curveto(610.2,270)(617.9,274.9)(625.7,273.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(629.2,305.3)
+\curveto(637.099,304.5)(642.9,297.401)(642,289.401)
+\curveto(641.2,281.501)(634.1,275.701)(626.1,276.6)
+\curveto(618.201,277.401)(612.401,284.5)(613.3,292.5)
+\curveto(614.2,300.4)(621.3,306.1)(629.2,305.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(629.4,337.5)
+\curveto(637.4,337.5)(643.9,331)(643.799,323.1)
+\curveto(643.799,315.1)(637.299,308.7)(629.4,308.7)
+\curveto(621.4,308.7)(615,315.2)(615,323.1)
+\curveto(615,331.1)(621.4,337.5)(629.4,337.5)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(626.2,369.6)
+\curveto(634.099,370.4)(641.2,364.7)(642.099,356.8)
+\curveto(642.9,348.9)(637.2,341.8)(629.299,340.9)
+\curveto(621.4,340.1)(614.299,345.8)(613.499,353.8)
+\curveto(612.5,361.7)(618.3,368.8)(626.2,369.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(619.7,401.1)
+\curveto(627.5,402.8)(635.2,397.8)(636.8,390)
+\curveto(638.5,382.2)(633.5,374.5)(625.7,372.9)
+\curveto(617.9,371.2)(610.2,376.2)(608.599,384)
+\curveto(606.9,391.8)(611.9,399.5)(619.7,401.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(609.9,431.8)
+\curveto(617.5,434.3)(625.599,430.1)(628.099,422.5)
+\curveto(630.599,414.9)(626.4,406.8)(618.799,404.3)
+\curveto(611.199,401.8)(603.099,406)(600.599,413.6)
+\curveto(598.099,421.2)(602.3,429.4)(609.9,431.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(596.9,461.4)
+\curveto(604.2,464.7)(612.7,461.4)(615.9,454.1)
+\curveto(619.2,446.8)(615.9,438.3)(608.599,435)
+\curveto(601.299,431.8)(592.799,435)(589.499,442.3)
+\curveto(586.4,449.6)(589.6,458.1)(596.9,461.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(581,489.3)
+\curveto(587.9,493.3)(596.7,490.9)(600.7,484)
+\curveto(604.7,477.1)(602.3,468.3)(595.4,464.3)
+\curveto(588.5,460.3)(579.7,462.7)(575.7,469.6)
+\curveto(571.7,476.5)(574.1,485.3)(581,489.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(562.2,515.5)
+\curveto(568.599,520.2)(577.7,518.8)(582.4,512.3)
+\curveto(587.099,505.9)(585.7,496.8)(579.2,492.1)
+\curveto(572.7,487.4)(563.7,488.9)(559,495.3)
+\curveto(554.3,501.8)(555.7,510.8)(562.2,515.5)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(540.8,539.6)
+\curveto(546.7,544.9)(555.901,544.5)(561.2,538.5)
+\curveto(566.5,532.6)(566.099,523.5)(560.099,518.1)
+\curveto(554.2,512.8)(544.999,513.3)(539.7,519.2)
+\curveto(534.3,525.1)(534.8,534.2)(540.8,539.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(516.9,561.3)
+\curveto(522.2,567.2)(531.4,567.7)(537.299,562.4)
+\curveto(543.199,557.1)(543.699,547.9)(538.4,542)
+\curveto(533.099,536.1)(523.9,535.6)(518,540.9)
+\curveto(512.1,546.2)(511.6,555.3)(516.9,561.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(491,580.3)
+\curveto(495.7,586.8)(504.7,588.2)(511.2,583.5)
+\curveto(517.7,578.8)(519.099,569.8)(514.4,563.3)
+\curveto(509.7,556.9)(500.7,555.4)(494.2,560.1)
+\curveto(487.7,564.9)(486.3,573.9)(491,580.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(463.1,596.6)
+\curveto(467.1,603.5)(475.901,605.9)(482.8,601.9)
+\curveto(489.7,597.9)(492.1,589.1)(488.1,582.2)
+\curveto(484.1,575.3)(475.3,572.9)(468.401,576.9)
+\curveto(461.5,580.9)(459.2,589.7)(463.1,596.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(433.8,609.9)
+\curveto(437,617.2)(445.6,620.5)(452.901,617.2)
+\curveto(460.201,614)(463.501,605.4)(460.201,598.1)
+\curveto(457.001,590.8)(448.401,587.6)(441.1,590.8)
+\curveto(433.8,594)(430.5,602.6)(433.8,609.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(403.2,620)
+\curveto(405.7,627.6)(413.8,631.7)(421.4,629.3)
+\curveto(429,626.8)(433.099,618.7)(430.7,611.1)
+\curveto(428.2,603.5)(420.099,599.4)(412.5,601.8)
+\curveto(404.9,604.3)(400.7,612.4)(403.2,620)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(371.7,626.9)
+\curveto(373.3,634.7)(381,639.7)(388.8,638)
+\curveto(396.6,636.3)(401.6,628.7)(399.901,620.9)
+\curveto(398.201,613.1)(390.6,608.1)(382.8,609.8)
+\curveto(375,611.4)(370.1,619)(371.7,626.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(339.7,630.4)
+\curveto(340.5,638.3)(347.6,644.1)(355.6,643.2)
+\curveto(363.5,642.4)(369.3,635.3)(368.5,627.3)
+\curveto(367.7,619.4)(360.5,613.6)(352.6,614.5)
+\curveto(344.6,615.4)(338.8,622.5)(339.7,630.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(307.5,630.6)
+\curveto(307.5,638.6)(314,645)(321.9,645)
+\curveto(329.9,645)(336.299,638.5)(336.299,630.6)
+\curveto(336.299,622.6)(329.799,616.2)(321.9,616.2)
+\curveto(313.9,616.1)(307.5,622.6)(307.5,630.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(275.4,627.4)
+\curveto(274.5,635.3)(280.3,642.4)(288.2,643.3)
+\curveto(296.1,644.1)(303.2,638.4)(304.1,630.5)
+\curveto(304.9,622.6)(299.2,615.5)(291.2,614.7)
+\curveto(283.3,613.7)(276.2,619.4)(275.4,627.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(243.9,620.8)
+\curveto(242.2,628.7)(247.2,636.3)(255,638)
+\curveto(262.8,639.7)(270.5,634.7)(272.1,626.9)
+\curveto(273.8,619.1)(268.8,611.4)(261,609.8)
+\curveto(253.2,608.1)(245.5,613)(243.9,620.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(213.2,611.1)
+\curveto(210.7,618.7)(214.9,626.8)(222.5,629.3)
+\curveto(230.1,631.8)(238.2,627.6)(240.7,620)
+\curveto(243.2,612.4)(239,604.3)(231.4,601.8)
+\curveto(223.8,599.3)(215.6,603.5)(213.2,611.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(183.6,598.1)
+\curveto(180.3,605.4)(183.6,613.9)(190.9,617.2)
+\curveto(198.2,620.4)(206.7,617.2)(210,609.9)
+\curveto(213.2,602.6)(209.9,594.1)(202.7,590.9)
+\curveto(195.4,587.5)(186.9,590.8)(183.6,598.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(155.7,582.2)
+\curveto(151.7,589.1)(154.1,597.9)(161,601.9)
+\curveto(167.9,605.9)(176.7,603.5)(180.7,596.6)
+\curveto(184.7,589.7)(182.3,580.9)(175.4,576.9)
+\curveto(168.5,572.9)(159.7,575.2)(155.7,582.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(129.5,563.4)
+\curveto(124.8,569.8)(126.3,578.9)(132.7,583.6)
+\curveto(139.2,588.3)(148.2,586.9)(152.9,580.4)
+\curveto(157.6,574)(156.1,564.9)(149.7,560.2)
+\curveto(143.2,555.5)(134.2,556.9)(129.5,563.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(105.4,541.9)
+\curveto(100,547.8)(100.6,557)(106.5,562.3)
+\curveto(112.4,567.6)(121.5,567.2)(126.9,561.2)
+\curveto(132.2,555.3)(131.7,546.1)(125.8,540.8)
+\curveto(119.9,535.5)(110.8,536)(105.4,541.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(83.7,518.1)
+\curveto(77.7,523.4)(77.3,532.6)(82.6,538.5)
+\curveto(87.9,544.4)(97,544.9)(103,539.6)
+\curveto(108.9,534.3)(109.4,525.1)(104,519.2)
+\curveto(98.8,513.2)(89.7,512.8)(83.7,518.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(64.7,492.1)
+\curveto(58.2,496.8)(56.8,505.8)(61.5,512.3)
+\curveto(66.2,518.8)(75.2,520.2)(81.7,515.5)
+\curveto(88.1,510.8)(89.6,501.8)(84.9,495.3)
+\curveto(80.1,488.9)(71.1,487.4)(64.7,492.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(48.4,464.3)
+\curveto(41.5,468.3)(39.1,477.1)(43.1,484)
+\curveto(47.1,490.9)(55.9,493.3)(62.8,489.3)
+\curveto(69.7,485.3)(72.1,476.5)(68,469.6)
+\curveto(64.1,462.7)(55.3,460.3)(48.4,464.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(35.1,435)
+\curveto(27.8,438.2)(24.5,446.8)(27.8,454.1)
+\curveto(31,461.4)(39.6,464.7)(46.9,461.4)
+\curveto(54.2,458.2)(57.4,449.6)(54.2,442.3)
+\curveto(51,435)(42.4,431.7)(35.1,435)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(25,404.4)
+\curveto(17.4,406.8)(13.3,415)(15.8,422.6)
+\curveto(18.3,430.2)(26.4,434.3)(34,431.9)
+\curveto(41.6,429.4)(45.7,421.3)(43.2,413.7)
+\curveto(40.8,406.1)(32.6,401.9)(25,404.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(18.1,372.9)
+\curveto(10.3,374.5)(5.4,382.2)(7,390)
+\curveto(8.6,397.8)(16.3,402.8)(24.1,401.1)
+\curveto(31.9,399.4)(36.9,391.8)(35.2,384)
+\curveto(33.6,376.2)(26,371.2)(18.1,372.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(14.6,340.9)
+\curveto(6.7,341.7)(0.9,348.8)(1.8,356.8)
+\curveto(2.6,364.7)(9.7,370.5)(17.7,369.7)
+\curveto(25.6,368.9)(31.4,361.7)(30.5,353.8)
+\curveto(29.6,345.8)(22.5,340)(14.6,340.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(14.4,308.6)
+\curveto(6.4,308.6)(0,315.1)(0,323)
+\curveto(0,331)(6.5,337.4)(14.5,337.4)
+\curveto(22.4,337.4)(28.9,330.9)(28.9,322.9)
+\curveto(28.9,315.1)(22.4,308.6)(14.4,308.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(17.6,276.6)
+\curveto(9.7,275.701)(2.6,281.5)(1.7,289.401)
+\curveto(0.9,297.3)(6.6,304.401)(14.6,305.3)
+\curveto(22.5,306.1)(29.6,300.401)(30.4,292.401)
+\curveto(31.3,284.5)(25.6,277.4)(17.6,276.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(24.1,245)
+\curveto(16.3,243.3)(8.6,248.3)(7,256.1)
+\curveto(5.3,263.901)(10.3,271.5)(18.1,273.201)
+\curveto(25.9,274.801)(33.6,269.901)(35.2,262.1)
+\curveto(36.9,254.4)(32,246.7)(24.1,245)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(33.9,214.3)
+\curveto(26.3,211.8)(18.2,216)(15.7,223.6)
+\curveto(13.2,231.201)(17.4,239.3)(25,241.8)
+\curveto(32.6,244.3)(40.7,240.1)(43.2,232.5)
+\curveto(45.7,224.9)(41.5,216.8)(33.9,214.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(46.9,184.8)
+\curveto(39.6,181.5)(31.1,184.8)(27.8,192.1)
+\curveto(24.5,199.401)(27.8,207.901)(35.1,211.201)
+\curveto(42.4,214.401)(50.9,211.1)(54.1,203.801)
+\curveto(57.5,196.6)(54.2,188.1)(46.9,184.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(62.8,156.8)
+\curveto(55.9,152.8)(47.1,155.2)(43.1,162.1)
+\curveto(39.1,169)(41.5,177.8)(48.4,181.8)
+\curveto(55.3,185.8)(64.1,183.401)(68.1,176.5)
+\curveto(72.1,169.7)(69.8,160.8)(62.8,156.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(81.6,130.7)
+\curveto(75.2,126)(66.1,127.4)(61.5,133.9)
+\curveto(56.8,140.299)(58.2,149.4)(64.7,154.099)
+\curveto(71.1,158.799)(80.2,157.299)(84.8,150.9)
+\curveto(89.5,144.4)(88.1,135.4)(81.6,130.7)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(103.1,106.6)
+\curveto(97.2,101.2)(88,101.7)(82.7,107.7)
+\curveto(77.4,113.599)(77.8,122.7)(83.8,128.099)
+\curveto(89.7,133.4)(98.9,132.9)(104.2,126.999)
+\curveto(109.5,121.1)(109,111.9)(103.1,106.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(126.9,84.9)
+\curveto(121.6,79)(112.4,78.5)(106.5,83.799)
+\curveto(100.6,89.098)(100.1,98.199)(105.4,104.199)
+\curveto(110.7,110.098)(119.9,110.598)(125.8,105.199)
+\curveto(131.8,100)(132.2,90.8)(126.9,84.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(152.9,65.8)
+\curveto(148.2,59.3)(139.2,57.901)(132.7,62.6)
+\curveto(126.2,67.3)(124.8,76.3)(129.5,82.8)
+\curveto(134.2,89.2)(143.2,90.7)(149.7,86)
+\curveto(156.1,81.3)(157.6,72.3)(152.9,65.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(180.7,49.6)
+\curveto(176.7,42.701)(167.9,40.3)(161,44.3)
+\curveto(154.1,48.3)(151.7,57.1)(155.7,64)
+\curveto(159.7,70.9)(168.5,73.2)(175.4,69.2)
+\curveto(182.3,65.3)(184.7,56.5)(180.7,49.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(210,36.3)
+\curveto(206.8,29)(198.2,25.7)(190.9,29)
+\curveto(183.6,32.2)(180.3,40.8)(183.6,48.1)
+\curveto(186.8,55.401)(195.4,58.6)(202.7,55.401)
+\curveto(210,52.1)(213.3,43.6)(210,36.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(240.6,26.2)
+\curveto(238.2,18.599)(230,14.5)(222.4,16.9)
+\curveto(214.8,19.4)(210.7,27.5)(213.1,35.099)
+\curveto(215.6,42.7)(223.7,46.799)(231.3,44.299)
+\curveto(238.9,41.9)(243.1,33.8)(240.6,26.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(272.1,19.3)
+\curveto(270.5,11.5)(262.8,6.5)(255,8.2)
+\curveto(247.2,9.8)(242.2,17.5)(243.9,25.3)
+\curveto(245.6,33.1)(253.2,38.1)(261,36.401)
+\curveto(268.8,34.8)(273.8,27.1)(272.1,19.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(304.1,15.8)
+\curveto(303.3,7.901)(296.2,2.1)(288.2,3)
+\curveto(280.3,3.8)(274.5,10.9)(275.3,18.9)
+\curveto(276.1,26.799)(283.3,32.599)(291.2,31.7)
+\curveto(299.2,30.8)(305,23.7)(304.1,15.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.60784316 0.50588238 0.34117648}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(291.4,500.2)
+\curveto(301.1,484.1)(307,462.5)(307,439.8)
+\curveto(307,435.5)(306.8,431.2)(306.3,426.9)
+\curveto(314.6,418.4)(321.3,409.1)(326,401.8)
+\curveto(327.6,410.1)(328.4,418.8)(328.4,427.4)
+\curveto(328.4,463.9)(314.9,501.1)(293.6,519.1)
+\curveto(284,522)(276.8,520.1)(274.4,519.3)
+\curveto(280.9,514.7)(286.6,508.1)(291.4,500.2)
+\closepath
+\moveto(302.4,527.6)
+\curveto(319.6,526.4)(337.6,516.9)(351.3,499.5)
+\curveto(365,482.1)(374.5,457.9)(374.5,430.5)
+\curveto(374.5,400.5)(363.1,368.7)(333.6,336.2)
+\curveto(340,335.8)(346.1,333.4)(350.5,329.8)
+\curveto(351.6,330)(352.7,330.1)(353.8,330.1)
+\lineto(354.5,330.1)
+\curveto(383.3,356.7)(394.6,389.2)(394.6,420.6)
+\curveto(394.6,450)(384.6,478.3)(369.5,499.2)
+\curveto(354.5,520.1)(334.6,533.4)(315.1,533.3)
+\curveto(308.3,533.3)(295.201,530)(288.6,526.5)
+\curveto(289.1,526.4)(294.5,528.1)(302.4,527.6)
+\closepath
+\moveto(372.7,501.3)
+\curveto(388.2,479.8)(398.4,450.8)(398.5,420.6)
+\curveto(398.5,389.2)(387.4,356.4)(359.4,329.5)
+\curveto(365.4,328.2)(370.7,325)(373.9,320.8)
+\curveto(374.299,320.2)(374.7,319.6)(375,319)
+\curveto(407,346.7)(419.5,380.5)(419.5,413.6)
+\curveto(419.5,446.6)(406.9,478.8)(388.4,502.7)
+\curveto(370,526.6)(345.8,542)(323,541.9)
+\curveto(312.4,541.9)(301.9,538.6)(292.3,531.1)
+\curveto(299.7,535.1)(307.401,537)(315.1,537)
+\curveto(336.4,536.9)(357.2,522.7)(372.7,501.3)
+\closepath
+\moveto(282.7,533.4)
+\curveto(277,534)(271.1,533.9)(265.2,533)
+\curveto(270.2,533)(275,532.1)(279.6,530.4)
+\curveto(280.5,531.4)(281.5,532.5)(282.7,533.4)
+\closepath
+\moveto(258.7,497.6)
+\curveto(264.6,487.7)(268.1,475)(268.1,463)
+\curveto(268.1,459.9)(267.9,456.8)(267.4,453.9)
+\curveto(272.3,451.7)(277.8,448.9)(283.8,445.1)
+\curveto(284,447.5)(284.1,449.9)(284.1,452.4)
+\curveto(284.1,468)(279.8,484.7)(272.5,497.4)
+\curveto(265.2,510.2)(255.1,518.7)(243.7,518.7)
+\curveto(238.8,518.7)(233.6,517.1)(228.1,513.6)
+\curveto(230.3,514.3)(232.5,514.6)(234.6,514.6)
+\curveto(244.5,514.6)(252.9,507.5)(258.7,497.6)
+\closepath
+\moveto(274.7,498.6)
+\curveto(282.2,485.4)(286.6,468.4)(286.6,452.4)
+\curveto(286.6,449.4)(286.4,446.5)(286.1,443.6)
+\curveto(289.6,441.3)(293.3,438.6)(297.1,435.6)
+\curveto(299.6,433.6)(301.9,431.5)(304.1,429.3)
+\curveto(304.4,432.8)(304.6,436.4)(304.6,439.9)
+\curveto(304.6,462.1)(298.8,483.4)(289.3,499)
+\curveto(279.8,514.6)(266.9,524.5)(252.7,524.5)
+\curveto(247.3,524.5)(241.6,523.1)(235.8,519.9)
+\curveto(238.5,520.7)(241.2,521.1)(243.8,521.1)
+\curveto(256.5,521.1)(267.2,511.7)(274.7,498.6)
+\closepath
+\moveto(247.5,460.9)
+\curveto(251.3,459.7)(257.4,458.1)(265,454.9)
+\curveto(265.4,457.5)(265.6,460.2)(265.6,463)
+\curveto(265.6,474.5)(262.2,486.9)(256.6,496.4)
+\curveto(251,505.9)(243.2,512.2)(234.6,512.1)
+\curveto(229.7,512.1)(224.3,510.1)(218.6,505.1)
+\curveto(235.7,512.7)(255.7,492)(247.5,460.9)
+\closepath
+\moveto(273.9,519.8)
+\curveto(274.4,521.3)(275.6,524.8)(278,528.3)
+\curveto(273.9,529.7)(269.6,530.5)(265.1,530.5)
+\curveto(259.2,530.5)(253,529.2)(246.5,526.3)
+\curveto(248.6,526.7)(250.7,526.9)(252.7,526.9)
+\curveto(260.3,526.9)(267.4,524.3)(273.9,519.8)
+\closepath
+\moveto(428.7,500)
+\curveto(430.9,497.5)(432.599,495.4)(434.599,492.7)
+\curveto(435.499,495.7)(437.499,498.8)(437.499,501.7)
+\curveto(441.499,499.1)(448.099,497.9)(451.699,493.7)
+\lineto(451.899,493.7)
+\curveto(458.999,503.7)(476.699,494.6)(472.899,484.5)
+\lineto(471.699,482.3)
+\curveto(469.699,479.4)(467.199,478.3)(464.899,478.2)
+\curveto(461.798,478.3)(459.298,480.2)(459.298,483.7)
+\curveto(459.298,485.2)(459.798,486.5)(460.399,487.5)
+\curveto(461.098,488.4)(461.899,488.9)(462.598,488.9)
+\curveto(463.199,488.9)(463.798,488.7)(464.498,487.9)
+\curveto(465.298,487.1)(465.498,486.5)(465.498,486.1)
+\curveto(465.498,485.7)(465.298,485.2)(464.898,484.9)
+\curveto(464.498,484.6)(463.998,484.4)(463.797,484.4)
+\lineto(463.697,484.4)
+\curveto(463.096,484.2)(462.297,484.5)(461.997,483.9)
+\curveto(461.697,483.3)(461.897,482.5)(462.497,482.2)
+\lineto(462.497,482.2)
+\curveto(462.897,482)(463.297,481.9)(463.697,481.9)
+\curveto(465.596,482)(467.797,483.5)(467.897,486.1)
+\curveto(467.897,487.3)(467.296,488.5)(466.197,489.6)
+\curveto(465.096,490.7)(463.797,491.3)(462.497,491.3)
+\curveto(458.997,491.2)(456.697,487.6)(456.697,483.7)
+\curveto(456.697,481.3)(457.596,479.2)(459.197,477.8)
+\curveto(460.697,476.4)(462.697,475.7)(464.897,475.7)
+\lineto(464.897,475.7)
+\curveto(467.596,475.7)(470.497,477)(472.796,479.6)
+\curveto(484.496,464.8)(484.096,446.4)(479.897,438.1)
+\curveto(527.7,488.7)(462.8,525.4)(428.7,500)
+\closepath
+\moveto(422.2,266.6)
+\curveto(441,286.901)(460.2,314.6)(465.5,356.201)
+\curveto(466.4,363.401)(466.8,370.401)(466.8,377.401)
+\curveto(466.8,386.501)(466.1,395.401)(464.7,404.101)
+\lineto(464.7,401.101)
+\curveto(464.7,354.901)(443.599,311.801)(407.599,284.101)
+\lineto(407.599,282.902)
+\curveto(407.599,282.202)(407.599,281.502)(407.499,280.902)
+\curveto(412.299,276.601)(415.799,269.801)(415.799,261.702)
+\curveto(415.799,261.101)(415.799,260.502)(415.699,259.902)
+\curveto(417.9,262)(420,264.2)(422.2,266.6)
+\closepath
+\moveto(442.8,496)
+\curveto(441.7,496.6)(440.5,497)(439.3,497.6)
+\curveto(439,496.1)(438.6,495.6)(438.1,494.1)
+\curveto(437.6,492.8)(437.201,491.3)(436.901,490.1)
+\curveto(439.8,486.5)(441.701,483.8)(443.3,481.3)
+\curveto(444,480)(446.7,474.8)(449.8,468.9)
+\curveto(453.3,462.1)(457.3,454.3)(458.901,450.6)
+\curveto(459.1,450.1)(459.6,449.9)(460.001,449.9)
+\curveto(460.201,449.9)(460.301,449.9)(460.501,450)
+\curveto(461.101,450.3)(461.401,451)(461.101,451.6)
+\curveto(458.501,457.6)(450.402,473.1)(446.902,479.7)
+\curveto(447.002,484.2)(448.002,488.2)(449.601,491.4)
+\curveto(447.7,493.3)(445.3,494.8)(442.8,496)
+\closepath
+\moveto(412.1,505.1)
+\curveto(432.1,480.1)(446.5,447.4)(446.5,412)
+\curveto(446.5,376.4)(431.8,338.2)(393.9,302.9)
+\curveto(394.099,302.4)(394.2,302)(394.4,301.5)
+\curveto(399,299.8)(402.299,296.9)(404.4,293.8)
+\curveto(405.7,291.901)(406.5,289.901)(407,288.1)
+\curveto(443,314.8)(461.1,355.3)(461.1,401.201)
+\curveto(461.1,411.501)(460,421.901)(457.8,432.301)
+\curveto(449.3,457.501)(435.5,479.901)(419,498.101)
+\curveto(416.7,500.5)(414.4,502.8)(412.1,505.1)
+\closepath
+\moveto(468.7,321.6)
+\curveto(467.9,321.6)(467.099,321.6)(466.3,321.701)
+\curveto(463.8,314.401)(460.8,307.501)(457.5,301.201)
+\curveto(473.7,307.1)(489.7,314.001)(500.3,327.301)
+\curveto(520.2,352.201)(520.8,405.201)(472.901,407.401)
+\curveto(473.6,403.401)(474.1,399.401)(474.501,395.301)
+\lineto(474.501,395.301)
+\curveto(474.501,395.301)(475.101,390.601)(475.201,387.201)
+\curveto(476.701,384.301)(477.301,381.701)(477.301,379.301)
+\curveto(477.301,376.301)(476.301,373.501)(474.701,370.901)
+\lineto(474.701,366.701)
+\curveto(477.6,370.301)(479.801,374.401)(479.801,379.301)
+\curveto(479.801,382.401)(478.501,386.201)(476.402,389.801)
+\curveto(476.402,389.801)(476.301,390.101)(476.502,390.401)
+\curveto(481.202,396.101)(486.302,398.301)(494.002,398.001)
+\curveto(495.902,394.801)(496.002,387.401)(495.902,382.801)
+\curveto(486.301,379.201)(483.702,371.901)(483.801,364.601)
+\curveto(483.801,357.801)(485.701,350.701)(485.701,344.901)
+\curveto(485.701,341.301)(485.001,338.401)(483.001,336.401)
+\curveto(482.501,335.901)(482.501,335.101)(483.001,334.701)
+\curveto(483.201,334.501)(483.601,334.301)(483.901,334.301)
+\curveto(484.201,334.301)(484.501,334.401)(484.8,334.701)
+\curveto(487.5,337.401)(488.3,341.101)(488.3,344.901)
+\curveto(488.3,351.101)(486.401,358.201)(486.401,364.601)
+\curveto(486.501,371.801)(487.501,377.901)(497.1,381.201)
+\curveto(497.3,381.301)(498.701,381.301)(499.1,381.301)
+\curveto(505.6,381.101)(510.901,374.201)(510.901,374.201)
+\curveto(492.2,375.9)(515.8,321.6)(468.7,321.6)
+\closepath
+\moveto(200.6,450.7)
+\lineto(200.6,448.7)
+\lineto(200.6,448.5)
+\lineto(200.6,448.3)
+\curveto(200.6,448.2)(200.5,447.7)(200.3,446.9)
+\curveto(205.2,447.9)(210.7,448.4)(216.8,448.4)
+\curveto(249.8,448.4)(297.4,431.9)(320.5,377.2)
+\curveto(323.1,380.4)(325.6,383.6)(327.9,387)
+\curveto(327.799,387.1)(327.7,387.2)(327.599,387.3)
+\curveto(323.7,394.3)(310.9,416.4)(293.299,430.6)
+\curveto(283.399,438.6)(274.399,443.8)(266.799,447.3)
+\curveto(244.899,456.8)(221.599,459.5)(200.099,458.5)
+\curveto(200.6,456)(200.6,453.5)(200.6,450.7)
+\closepath
+\moveto(391.4,504.8)
+\curveto(410.299,480.3)(423.2,447.4)(423.2,413.5)
+\curveto(423.2,380)(410.5,345.4)(378.7,317.2)
+\curveto(382.3,316)(385.5,313.8)(388,311.4)
+\curveto(389.6,309.799)(391,308.099)(392.1,306.299)
+\curveto(428.8,340.799)(442.701,377.599)(442.701,411.899)
+\curveto(442.701,449.199)(426.201,483.599)(404.001,508.799)
+\curveto(397.901,515.699)(391.401,521.899)(384.701,527.199)
+\curveto(365.401,539.699)(345.301,546.699)(327.901,546.699)
+\curveto(320.501,546.699)(313.701,545.499)(307.401,542.999)
+\curveto(312.501,544.599)(317.8,545.399)(323.1,545.399)
+\curveto(347.6,545.5)(372.5,529.3)(391.4,504.8)
+\closepath
+\moveto(287.4,329.7)
+\curveto(289.7,330.4)(291.9,330.8)(294.1,330.8)
+\curveto(295,330.8)(295.9,330.7)(296.7,330.6)
+\curveto(298.3,332.3)(300.4,333.5)(302.5,334.4)
+\curveto(305.8,335.7)(309.5,336.4)(313.2,336.4)
+\curveto(316.7,336.3)(320.099,335.9)(323.099,334.3)
+\curveto(325.599,335.5)(328.299,336.1)(330.999,336.3)
+\curveto(359.999,368.6)(370.899,401.5)(370.899,430.6)
+\curveto(370.899,457.2)(361.699,480.6)(348.499,497.3)
+\curveto(337.699,511)(318.899,524)(301.599,524.2)
+\curveto(309.899,521.3)(319.799,519.9)(333.699,500.8)
+\curveto(345.598,484.3)(354.699,460.9)(354.699,438.2)
+\curveto(354.699,428.8)(353.098,419.2)(349.598,409.8)
+\curveto(339.699,383.7)(322.899,365.9)(305.898,348.7)
+\curveto(299.6,342.4)(293.4,336.2)(287.4,329.7)
+\closepath
+\moveto(343.5,419.6)
+\curveto(352.3,470.2)(320.7,503.9)(303.8,514.5)
+\curveto(302.5,515.3)(301.2,516)(299.9,516.7)
+\curveto(319.2,496.8)(330.8,461.9)(330.9,427.5)
+\curveto(330.9,417.8)(330,408.1)(328,398.8)
+\curveto(329.4,396.5)(330.6,394.5)(331.5,392.9)
+\curveto(335.3,399)(338.6,405.6)(341.3,412.8)
+\curveto(342.2,415)(342.9,417.3)(343.5,419.6)
+\closepath
+\moveto(259.7,291.3)
+\lineto(259.7,291.3)
+\lineto(259.7,291.3)
+\lineto(259.7,291.3)
+\closepath
+\moveto(396,240.9)
+\curveto(398.4,243.2)(399.1,244.5)(401.9,247.599)
+\lineto(403.799,250.4)
+\lineto(404.299,251.4)
+\curveto(406.4,255.099)(407.099,258.5)(407.099,261.7)
+\curveto(407.2,268.099)(403.599,273.4)(400.299,275.5)
+\lineto(397.199,277.5)
+\lineto(398.699,280.9)
+\lineto(398.699,281)
+\curveto(398.699,281.1)(398.799,281.2)(398.799,281.4)
+\curveto(398.9,281.799)(398.9,282.299)(398.9,282.9)
+\curveto(398.9,284.7)(398.4,287)(397.099,289)
+\curveto(395.7,291)(393.599,292.9)(389.4,294)
+\lineto(386.2,294.8)
+\lineto(386.2,298.1)
+\curveto(386.3,299.1)(384.9,302.6)(382.099,305.1)
+\curveto(379.299,307.8)(375.7,309.6)(372.099,309.6)
+\lineto(367.799,309.6)
+\lineto(367.799,314)
+\curveto(367.799,314)(367.699,314.6)(367.099,315.4)
+\curveto(366.499,316.2)(365.4,317.299)(363.999,318.2)
+\curveto(361.199,320)(357.299,321.4)(353.999,321.4)
+\curveto(352.799,321.4)(351.699,321.2)(350.699,320.9)
+\lineto(348.199,320.099)
+\lineto(346.399,321.9)
+\curveto(343.598,324.799)(337.598,327.5)(332.399,327.5)
+\curveto(329.699,327.5)(327.298,326.9)(325.399,325.5)
+\lineto(322.399,323.4)
+\lineto(319.8,326)
+\curveto(319.3,326.7)(316.5,327.7)(313.2,327.7)
+\curveto(310.599,327.7)(307.8,327.2)(305.8,326.4)
+\curveto(303.7,325.6)(302.7,324.4)(302.7,324.2)
+\lineto(301.1,320.099)
+\lineto(297,321.7)
+\curveto(296.3,322)(295.3,322.2)(294.1,322.2)
+\curveto(290.2,322.2)(285.1,320.2)(282.4,315.2)
+\lineto(281.2,313)
+\lineto(273.4,313)
+\curveto(268.4,306.4)(263.8,299.2)(259.8,291.3)
+\lineto(259.8,291.3)
+\lineto(259.8,291.3)
+\curveto(259.8,291.3)(258,288.8)(255.8,283.901)
+\curveto(266.3,301.001)(284,315.201)(311.6,315.3)
+\curveto(320.401,315.3)(330.1,313.901)(340.901,310.6)
+\curveto(374.8,300.5)(383.501,280.8)(383.501,262)
+\curveto(383.501,244.3)(376.001,227.3)(375.201,219.6)
+\curveto(375.1,218.6)(375.001,217.701)(375.001,216.8)
+\curveto(375.001,206.401)(381.601,201.6)(387.701,201.6)
+\curveto(391.701,201.6)(395.401,203.6)(397.301,207.5)
+\curveto(397.101,207.3)(396.902,207.2)(396.701,207)
+\curveto(395.1,205.9)(393.201,205.4)(391.201,205.4)
+\curveto(389.001,205.4)(386.501,206.099)(384.6,207.9)
+\curveto(382.6,209.7)(379.401,213.799)(380.701,220.599)
+\curveto(382,227.3)(388.6,233.7)(396,240.9)
+\closepath
+\moveto(214.3,227)
+\curveto(219.4,223.4)(225.2,220.3)(230.1,219.2)
+\curveto(223.6,228.599)(218.3,240.2)(215.7,254.3)
+\curveto(213.2,255)(210.9,255.5)(208.9,255.901)
+\curveto(208.8,256.001)(208.6,256.201)(208.5,256.3)
+\curveto(208.6,255.7)(208.6,255.1)(208.6,254.5)
+\curveto(208.6,250.2)(207,243.5)(201.1,239.5)
+\curveto(202.8,236.7)(208.1,231.4)(214.3,227)
+\closepath
+\moveto(261.2,156.2)
+\curveto(269.1,159.8)(269.7,169.599)(269.7,174)
+\curveto(269.7,175.7)(268.6,178.1)(266.6,180)
+\curveto(265.3,181.3)(263.6,182.4)(261.8,183)
+\curveto(260,183.2)(258.2,183.5)(256.5,183.9)
+\curveto(254.4,184.4)(252.5,184.599)(250.7,184.599)
+\curveto(242.7,184.599)(238.1,179.7)(233.1,174.999)
+\curveto(232.6,173.399)(232.2,171.399)(232.2,169.199)
+\curveto(232.2,165.098)(233.3,160.499)(236,156.999)
+\curveto(238.1,154.399)(241,152.299)(245.2,151.399)
+\curveto(248.8,150.999)(255.6,152.699)(261.2,155.899)
+\lineto(261.2,156.2)
+\closepath
+\moveto(234.1,155.6)
+\curveto(230.9,159.701)(229.7,164.8)(229.7,169.3)
+\curveto(229.7,170.3)(229.8,171.3)(229.9,172.2)
+\curveto(226.3,169.099)(222.2,166.5)(216.3,166)
+\curveto(213.3,165.8)(210.2,165.7)(207.1,165.7)
+\curveto(204.5,165.7)(201.9,165.7)(199.3,165.8)
+\curveto(196.7,165.8)(194.2,165.901)(191.7,165.901)
+\curveto(178.1,165.901)(166.8,164.401)(166.7,153.501)
+\curveto(166.8,148.501)(169.1,141.601)(174.5,132.101)
+\curveto(174.5,132.101)(175.3,130.801)(176.8,128.902)
+\curveto(175.4,132.301)(174.6,135.801)(174.6,139.402)
+\curveto(174.6,142.902)(175.4,146.402)(177.2,149.502)
+\curveto(178.7,152.102)(181.1,153.702)(183.8,154.502)
+\curveto(186.5,155.302)(189.4,155.502)(192.5,155.502)
+\curveto(196.5,155.502)(200.7,155.202)(204.7,155.202)
+\curveto(210.8,155.202)(216.2,156.002)(219.5,159.402)
+\lineto(219.5,159.402)
+\curveto(220.2,160.101)(221.4,160.101)(222.1,159.402)
+\curveto(222.8,158.702)(222.8,157.502)(222.1,156.801)
+\curveto(217.5,152.201)(211,151.501)(204.6,151.501)
+\curveto(200.4,151.501)(196.2,151.901)(192.4,151.801)
+\curveto(189.5,151.801)(186.8,151.601)(184.8,150.902)
+\curveto(182.7,150.202)(181.3,149.301)(180.3,147.601)
+\curveto(178.9,145.202)(178.2,142.402)(178.2,139.402)
+\curveto(178.2,134.402)(180.1,129.002)(183.2,124.702)
+\curveto(186.3,120.402)(190.4,117.502)(194.7,116.902)
+\curveto(195.6,116.801)(196.5,116.702)(197.2,116.702)
+\curveto(201.8,116.802)(204,118.502)(205.7,121.402)
+\curveto(207.4,124.301)(208.1,128.601)(208.7,132.702)
+\curveto(208.8,133.202)(209.1,133.702)(209.6,134.002)
+\curveto(220.6,140.802)(221.6,145.802)(224.9,149.102)
+\curveto(225.6,149.802)(226.8,149.802)(227.5,149.102)
+\curveto(228.2,148.403)(228.2,147.203)(227.5,146.502)
+\curveto(225.4,144.502)(223.2,138.202)(212.3,131.302)
+\curveto(211.7,127.302)(211,123.102)(209,119.502)
+\curveto(207.2,116.202)(204.1,113.602)(199.5,113.002)
+\curveto(203.2,112.102)(207.2,111.902)(211.5,112.602)
+\curveto(228.1,120.302)(238.5,140.002)(242.8,149.403)
+\curveto(239.1,150.8)(236.1,153)(234.1,155.6)
+\closepath
+\moveto(178.4,227)
+\curveto(182.2,223.2)(191.4,221.9)(195.9,226.3)
+\curveto(198,221.1)(212,186.6)(270.9,187.401)
+\curveto(264.4,189.401)(255.1,193.6)(245.2,202.201)
+\curveto(241,205.901)(236.9,210.1)(233.1,215.1)
+\curveto(226.3,215.401)(218.7,219.401)(212.1,224)
+\curveto(206,228.4)(200.9,233.2)(198.4,236.8)
+\curveto(195.7,236.1)(193.2,235.8)(191,235.8)
+\curveto(185.4,235.8)(181,237.8)(178.1,240.901)
+\curveto(175.2,244.001)(173.9,248.001)(173.9,251.8)
+\curveto(173.9,254)(174.3,256.1)(175.2,258)
+\curveto(171.3,255.5)(168.2,252.6)(166.7,250.6)
+\curveto(133.8,254.701)(116.2,252.3)(109.6,246.8)
+\curveto(104.4,236.3)(100,215.901)(133.4,206.2)
+\curveto(132.1,207.5)(132.3,208.8)(133.1,210)
+\curveto(129,211)(125.4,212.6)(122.4,214.7)
+\curveto(116.7,218.7)(113.4,224.599)(113.4,231.599)
+\curveto(113.4,232.099)(113.4,232.599)(113.5,233.099)
+\curveto(113.7,236.9)(115.5,239.7)(118.2,241.2)
+\curveto(120.9,242.7)(124.2,243.099)(127.8,243.099)
+\curveto(134.7,243.099)(143.1,241.599)(150.6,241.599)
+\curveto(158.5,241.599)(165,243.099)(168.6,248.7)
+\lineto(168.6,248.7)
+\curveto(169.2,249.599)(170.3,249.8)(171.2,249.2)
+\curveto(172.1,248.599)(172.3,247.5)(171.7,246.599)
+\curveto(167,239.4)(158.8,237.799)(150.6,237.799)
+\curveto(142.6,237.799)(134.2,239.299)(127.8,239.299)
+\curveto(124.5,239.299)(121.7,238.9)(120,237.9)
+\curveto(118.3,236.9)(117.4,235.7)(117.2,232.799)
+\lineto(117.2,231.499)
+\curveto(117.2,225.699)(119.7,221.099)(124.6,217.599)
+\curveto(129.3,214.299)(136.3,212.299)(145.2,212.2)
+\curveto(148.4,215.599)(149.9,219.099)(149.8,221.5)
+\curveto(149.8,222.1)(149.7,222.6)(149.6,223)
+\curveto(149.4,223.7)(149.6,224.4)(150.1,224.9)
+\curveto(151.3,226.099)(152.8,226.5)(154.2,226.799)
+\curveto(155.7,227.099)(157.3,227.4)(159,227.9)
+\curveto(162.4,228.9)(166.2,230.599)(170.1,235.7)
+\curveto(170.7,236.5)(171.9,236.7)(172.7,236.099)
+\curveto(173.5,235.499)(173.7,234.299)(173.1,233.499)
+\curveto(166.6,224.799)(159,224.099)(155.1,223.199)
+\curveto(154.4,223.098)(153.9,222.899)(153.5,222.699)
+\curveto(153.6,222.299)(153.6,221.899)(153.6,221.499)
+\curveto(153.6,217.499)(151.4,213.099)(147.3,209.099)
+\curveto(147.1,208.9)(146.8,208.7)(146.5,208.599)
+\curveto(146.5,207.9)(146.2,207.2)(145.4,206.4)
+\curveto(153.2,205.7)(163.5,203.299)(168.5,208.299)
+\curveto(173.4,213.3)(174.9,223.5)(178.4,227)
+\closepath
+\moveto(137.5,369.6)
+\curveto(138.8,371.1)(150.4,383.1)(157.7,388.3)
+\curveto(150.7,386.6)(139.4,380.6)(129.8,372.9)
+\curveto(131.7,371.5)(135.2,369.9)(137.5,369.6)
+\closepath
+\moveto(139.8,354.8)
+\curveto(144.9,360)(162.2,379.5)(161.1,383.3)
+\curveto(155.1,377.5)(150.2,373.2)(147.6,370.2)
+\curveto(143.7,365.7)(141,361.9)(139.8,354.8)
+\closepath
+\moveto(112.4,270.4)
+\curveto(112.4,281.4)(130.8,280)(133.9,291.9)
+\curveto(137.4,305.2)(123.1,305.799)(129.8,316.2)
+\curveto(120.1,322.7)(110.1,319.099)(110.1,327.2)
+\curveto(110.1,335.4)(128.6,339.3)(135.6,363.3)
+\curveto(135.6,363.3)(133.7,358.2)(128.3,353.7)
+\curveto(113.3,341.3)(96,340.4)(95.4,324)
+\curveto(94.7,306.2)(114.8,294.5)(107.6,287.3)
+\curveto(100.6,280.3)(108.9,273.9)(112.4,270.4)
+\closepath
+\moveto(191.5,437.6)
+\curveto(197.2,430.6)(211.2,411.6)(211.2,392.9)
+\curveto(211.2,385.5)(208.9,378)(202.9,371.7)
+\curveto(245.8,352.7)(214.3,317.599)(219.2,256.099)
+\curveto(223.3,232.4)(235.3,215.9)(247.7,204.999)
+\curveto(259.6,194.499)(270.3,187.999)(279.2,187.999)
+\curveto(279.4,187.999)(280.4,188.199)(280.6,188.299)
+\curveto(267.1,193.199)(254.7,205.299)(248.9,216.799)
+\curveto(246.1,222.4)(243.7,229.299)(242.6,235.099)
+\curveto(241.6,240.599)(241.5,243.299)(241.5,249.999)
+\curveto(241.5,277.999)(252,295.099)(252,295.099)
+\curveto(264.7,320.299)(282.8,337.599)(299.7,354.7)
+\curveto(306,361)(312.099,367.4)(317.7,374)
+\curveto(295.5,428.5)(248.9,444.7)(216.7,444.7)
+\curveto(210.1,444.7)(204.2,444)(199.2,442.9)
+\lineto(199.2,442.9)
+\curveto(198.9,442.8)(198.6,442.8)(198.3,442.9)
+\curveto(196.9,441.1)(194.8,439.1)(191.5,437.6)
+\closepath
+\moveto(351.3,167.9)
+\curveto(347.7,163.4)(341.1,158.9)(329.7,155.5)
+\curveto(316.8,151.7)(304.7,149.7)(294,149.7)
+\curveto(283.8,149.7)(274.7,151.5)(267,155)
+\curveto(266.1,154.3)(265.1,153.6)(264,153)
+\curveto(261.7,148.3)(258.3,145.3)(253.8,143.4)
+\curveto(294.6,128)(363.6,139.299)(381.7,155.2)
+\lineto(381.7,156.4)
+\curveto(381.7,159.099)(381.8,161.5)(382,163.7)
+\lineto(381,163.7)
+\curveto(368.4,163.7)(358.6,165.7)(351.3,167.9)
+\closepath
+\moveto(396,161.5)
+\curveto(399.4,161.5)(402.8,162.1)(405.9,163.2)
+\curveto(413.9,164.8)(421.4,168.099)(427.099,171)
+\curveto(409.599,165.8)(394.999,163.9)(382.9,163.7)
+\curveto(386.4,162.4)(390.7,161.5)(396,161.5)
+\closepath
+\moveto(414.5,154.1)
+\curveto(410.6,140.5)(433.7,139.6)(443.2,141.701)
+\curveto(441.5,142.701)(440.099,144.301)(439.3,146.801)
+\curveto(438.2,150.201)(439.401,153.402)(441.401,155.601)
+\curveto(435,158.9)(418.3,167.3)(414.5,154.1)
+\closepath
+\moveto(553,374.7)
+\curveto(550.8,446.1)(503.9,525.6)(428.7,533.7)
+\curveto(423.099,527.5)(418.2,521.4)(413.9,515.4)
+\curveto(417.799,511.7)(421.599,507.9)(425.299,503.8)
+\curveto(425.499,503.6)(425.699,503.3)(425.9,503.1)
+\curveto(426.5,503.6)(427.2,504.1)(427.799,504.6)
+\curveto(445.999,517.4)(483.099,519.7)(498.699,487.7)
+\curveto(514.098,456.1)(484.899,432.1)(484.899,432.1)
+\curveto(481.598,429.2)(475.699,426.3)(468.798,424.9)
+\curveto(469.998,420.5)(470.998,416.1)(471.899,411.6)
+\lineto(472.098,411.6)
+\curveto(491.598,413.1)(513.498,401.4)(517.498,373.2)
+\curveto(525.298,318)(470.098,296.3)(452.198,290.099)
+\curveto(449.597,288.9)(448.798,287.099)(448.798,287.099)
+\curveto(453.498,286.4)(457.598,282.7)(460.098,277.7)
+\curveto(461.298,275.2)(461.798,273)(461.798,271)
+\curveto(461.798,266.2)(458.698,262.6)(454.399,260.1)
+\curveto(450.098,257.6)(444.499,256.401)(440.499,256.401)
+\curveto(438.699,256.401)(437.099,256.701)(436.199,257.1)
+\curveto(435.699,257.3)(435.399,257.5)(435.299,257.701)
+\curveto(435.4,258.1)(435.499,258.6)(435.699,259.001)
+\curveto(439.199,266.801)(458.199,258.001)(454.799,275.301)
+\curveto(453.699,280.701)(450.699,283.101)(446.599,283.501)
+\curveto(431.499,261.501)(413.599,246.301)(401.7,234.801)
+\curveto(394.4,227.902)(388.8,223.301)(387.599,219.701)
+\curveto(387.2,218.501)(386.2,214.901)(388.499,212.501)
+\curveto(389.099,211.901)(389.999,211.101)(390.899,211.001)
+\curveto(396.999,210.001)(397.699,216.801)(397.699,216.801)
+\curveto(398.699,215.501)(399.299,214.001)(399.299,212.402)
+\curveto(399.299,212.002)(399.199,211.601)(399.199,211.202)
+\lineto(399.199,210.902)
+\curveto(398.199,204.002)(392.899,200.402)(387.399,200.402)
+\lineto(387.3,200.402)
+\curveto(383.901,200.402)(380.401,201.801)(377.7,204.502)
+\curveto(375,207.302)(373.3,211.402)(373.3,216.902)
+\curveto(373.3,217.801)(373.401,218.801)(373.5,219.801)
+\curveto(374.4,227.902)(381.8,244.701)(381.8,262.101)
+\curveto(381.8,280.501)(373.6,299.402)(340.1,309.501)
+\curveto(329.401,312.701)(319.8,314.101)(311.1,314.101)
+\curveto(279.5,314.101)(261.1,295.101)(251.8,274.702)
+\curveto(249.7,268.002)(247.8,259.402)(247.3,248.902)
+\curveto(247.1,244.502)(247.5,239.202)(248,235.301)
+\curveto(248.6,231.301)(251.1,222.902)(253.8,217.301)
+\curveto(259.6,205.701)(268.2,194.601)(279.7,189.801)
+\lineto(281.5,189.101)
+\curveto(287.4,190.402)(290.8,191.601)(297.2,193.902)
+\lineto(298.7,194.402)
+\curveto(308.9,198.101)(318.5,201.601)(327.8,201.601)
+\curveto(333.8,201.601)(339,200.301)(343.7,197.301)
+\curveto(344.3,197.001)(344.8,196.601)(345.3,196.201)
+\lineto(348.2,193.901)
+\lineto(348.2,193.901)
+\lineto(348.9,193.201)
+\curveto(352.5,189.401)(355.2,183.901)(354.799,178.1)
+\curveto(354.599,175.701)(353.9,172.901)(352.199,170.1)
+\curveto(359.199,168)(368.499,166.201)(380.499,166.201)
+\curveto(394.799,166.201)(413.099,168.801)(435.899,176.701)
+\lineto(435.999,176.701)
+\curveto(436.099,176.701)(436.099,176.801)(436.099,176.801)
+\curveto(474.299,176.801)(459.099,152.101)(454.9,157.001)
+\curveto(450.299,162.201)(439.4,154.801)(442.5,146.301)
+\curveto(447.2,133.101)(468.7,144.801)(471,153.501)
+\curveto(466.6,124.701)(421.8,137.001)(411.5,138.401)
+\curveto(399.4,140.1)(394.5,128.901)(396.2,118.6)
+\curveto(397.599,110.1)(392.3,102.3)(389.9,100)
+\curveto(407,96.7)(415.099,111.2)(421.799,115.8)
+\curveto(428.599,120.5)(453.199,118.2)(467.099,128.901)
+\curveto(481,139.5)(479.2,165.1)(479.2,168.1)
+\curveto(482.4,169.401)(493.2,173.8)(493.2,186.201)
+\curveto(493.2,197.001)(485.2,202.401)(477,201.401)
+\curveto(467.9,200.3)(465.2,189.1)(475.5,188.901)
+\curveto(473.2,191.201)(475.9,194.701)(479,193.001)
+\curveto(483.7,190.401)(478.4,182.601)(468.7,184.201)
+\curveto(465.3,184.801)(457.599,185.901)(450.3,186.901)
+\curveto(505.7,215.9)(556.1,275.2)(553,374.7)
+\closepath
+\moveto(435.5,254.8)
+\curveto(436.9,254.2)(438.7,254)(440.8,254)
+\curveto(445.401,254)(451.2,255.3)(456,258)
+\curveto(460.8,260.7)(464.7,265.1)(464.7,271)
+\curveto(464.7,273.4)(464.099,276)(462.7,278.8)
+\curveto(462,280.2)(461.3,281.3)(460.4,282.3)
+\curveto(465.2,278.6)(467.599,275)(468.599,271.8)
+\curveto(468.799,271)(468.999,270.2)(469.2,269.5)
+\curveto(469.3,268.7)(469.4,268)(469.4,267.3)
+\curveto(469.4,264.8)(468.799,262.6)(468.099,260.901)
+\curveto(464.7,251.5)(455.8,247.1)(445.9,247)
+\curveto(444.299,247)(442.599,247.1)(441,247.4)
+\curveto(438.3,248.9)(435.9,251.7)(435.4,255)
+\curveto(435.4,254.8)(435.4,254.8)(435.5,254.8)
+\closepath
+\moveto(436.1,245.8)
+\curveto(439.3,244.901)(442.6,244.5)(445.8,244.5)
+\lineto(445.901,244.5)
+\curveto(456.401,244.5)(466.401,249.4)(470.3,259.8)
+\curveto(470,250.5)(465.3,246.401)(458.901,243.1)
+\curveto(452.3,239.701)(444.001,237.6)(438.001,232.6)
+\curveto(433.201,228.6)(431.201,223.701)(431.201,218.8)
+\curveto(431.201,211.8)(435.1,204.8)(440.1,199)
+\curveto(405,220.5)(420.6,241.6)(436.1,245.8)
+\closepath
+\moveto(452.6,224.5)
+\curveto(439.8,220.2)(441.8,205.1)(443.201,199.1)
+\curveto(437.801,204.901)(433.701,212.1)(433.701,218.701)
+\curveto(433.701,222.901)(435.301,227.001)(439.6,230.6)
+\curveto(445,235.201)(453.1,237.3)(460,240.8)
+\curveto(466.9,244.3)(472.8,249.7)(472.8,260.401)
+\curveto(472.8,263.201)(472.401,266.3)(471.6,269.8)
+\curveto(470.701,275.8)(466.201,282.8)(453.8,289.401)
+\curveto(463.901,288.701)(482.7,284.201)(486,265.001)
+\curveto(489.7,243.8)(468.7,229.9)(452.6,224.5)
+\closepath
+\moveto(281.2,184.7)
+\curveto(276.6,183.599)(272,182.9)(267.3,182.8)
+\curveto(267.7,182.5)(268,182.2)(268.4,181.901)
+\curveto(270.7,179.6)(272.2,176.901)(272.3,174.1)
+\curveto(272.3,170.8)(272.1,164.1)(268.3,159)
+\curveto(270.5,156.8)(281.7,154.5)(281.7,154.5)
+\curveto(283.1,154.3)(284,154.4)(285,154.4)
+\curveto(288.3,154.4)(290.7,156.2)(292.5,159.099)
+\curveto(294.2,161.999)(295.1,165.999)(295.1,169.799)
+\curveto(295.1,170.799)(295,171.9)(294.9,172.9)
+\curveto(293.8,180.5)(289.1,184.9)(281.9,184.9)
+\curveto(281.6,184.7)(281.4,184.7)(281.2,184.7)
+\closepath
+\moveto(298.9,190.4)
+\curveto(295.1,189)(291.3,187.599)(287.4,186.4)
+\curveto(292.9,184.5)(296.6,179.599)(297.4,173)
+\curveto(297.5,171.9)(297.6,170.8)(297.6,169.6)
+\curveto(297.6,165.401)(296.6,161)(294.6,157.6)
+\curveto(293.7,156.1)(292.6,154.8)(291.3,153.8)
+\curveto(298.5,153.6)(305.7,154.3)(312.5,155.5)
+\lineto(312.5,155.5)
+\curveto(320.6,156.6)(325.2,166.3)(325.2,174.5)
+\curveto(325.2,175.6)(325.099,176.7)(324.9,177.7)
+\curveto(323.7,185.099)(316.599,193.3)(307.4,193.3)
+\curveto(304.7,192.5)(301.8,191.4)(298.9,190.4)
+\closepath
+\moveto(342.3,194)
+\curveto(337.901,196.9)(333.2,198)(328.3,198)
+\curveto(323.401,198)(318.2,196.9)(312.8,195.2)
+\curveto(320.8,192.7)(326.3,185.3)(327.5,178.3)
+\curveto(327.7,177.1)(327.8,175.901)(327.8,174.6)
+\curveto(327.8,168.701)(325.6,161.8)(321.3,157.5)
+\curveto(323.901,158.1)(326.3,158.8)(328.7,159.5)
+\curveto(337.9,162.2)(351.099,169)(351.8,178.4)
+\lineto(351.8,178.299)
+\curveto(351.8,178.699)(351.901,178.999)(351.901,179.4)
+\curveto(351.7,186.1)(346.1,191.3)(342.3,194)
+\closepath
+\moveto(124.6,372.3)
+\curveto(139.1,383.8)(159.7,393.3)(163.6,389.4)
+\curveto(167.5,385.5)(151.7,361.4)(135,344.7)
+\curveto(148.8,344.7)(163.4,347.4)(194.7,374.5)
+\curveto(198.5,380.2)(200,386.1)(200,392)
+\curveto(200.1,410.6)(184.6,429)(178.3,435.6)
+\curveto(170.3,436.8)(167.6,442.5)(167.5,442.8)
+\lineto(167.4,443.1)
+\lineto(167.3,443.4)
+\curveto(167.3,443.6)(166.4,448.1)(166.9,454.1)
+\curveto(145,449.2)(128.2,441.5)(121.7,436.1)
+\curveto(121.7,436.1)(123.6,433.7)(122.8,428.8)
+\curveto(126.4,427.3)(132.4,435.8)(140.9,432.2)
+\curveto(148.2,429)(154.9,422.4)(162.3,423.4)
+\lineto(163,420.3)
+\curveto(155,418)(147.7,426)(140.2,428.8)
+\curveto(132.4,431.8)(126.3,423.4)(122.1,425.9)
+\curveto(121.8,424.9)(121.3,423.7)(120.7,422.5)
+\curveto(121.3,418.1)(124.1,412.6)(128.3,409.3)
+\curveto(128.4,409.2)(128.5,409)(128.5,408.8)
+\curveto(128.5,408.6)(128.4,408.4)(128.3,408.3)
+\curveto(125.1,405.7)(106.6,392.3)(101.8,387.6)
+\curveto(102.1,387.4)(102.4,387.2)(102.8,387)
+\curveto(109.4,382.9)(117.4,378.9)(122.4,378.9)
+\lineto(123.3,378.9)
+\curveto(125.9,381)(147.7,395.5)(160.4,395.6)
+\curveto(164.4,395.6)(167.7,394)(168.7,389.9)
+\curveto(168.8,389.6)(168.6,389.2)(168.3,389.1)
+\curveto(168,389)(167.6,389.2)(167.5,389.5)
+\curveto(166.6,392.9)(164.1,394.2)(160.4,394.2)
+\curveto(148.2,394.3)(124.9,378.7)(124,377.7)
+\curveto(123.9,377.6)(123.8,377.5)(123.6,377.5)
+\curveto(123.2,377.5)(122.8,377.4)(122.4,377.4)
+\curveto(112.4,377.5)(94.5,390.6)(90.8,393.4)
+\curveto(93.6,385.4)(108,374.8)(124.6,372.3)
+\closepath
+\moveto(136,408.7)
+\curveto(126.6,410.2)(125.5,420.7)(125.5,420.7)
+\curveto(127.8,426.2)(141.1,427.3)(148.8,416.8)
+\curveto(148.8,416.8)(143.4,407.5)(136,408.7)
+\closepath
+\moveto(184.9,262.5)
+\curveto(180.7,260.4)(177.7,256.6)(177.7,251.9)
+\curveto(177.8,245.9)(181.7,239.599)(191.1,239.5)
+\curveto(193.1,239.5)(195.4,239.8)(198,240.5)
+\curveto(204.4,243.5)(206.2,250.2)(206.2,254.4)
+\curveto(206.2,255.2)(206.1,255.9)(206,256.4)
+\curveto(205.8,257.299)(205.6,258.2)(205.3,258.9)
+\curveto(198.4,263.9)(191.2,264.2)(184.9,262.5)
+\closepath
+\moveto(100.7,388.4)
+\curveto(105.3,392.9)(122.3,405.4)(126.8,408.8)
+\curveto(122.9,412.1)(120.4,416.5)(119.7,420.8)
+\curveto(119.4,420.2)(119,419.5)(118.5,418.9)
+\curveto(112.3,409.2)(98.6,401.4)(90.8,395)
+\curveto(91.5,394.5)(95.5,391.5)(100.6,388.2)
+\curveto(100.7,388.3)(100.7,388.4)(100.7,388.4)
+\closepath
+\moveto(208.7,392.9)
+\curveto(208.8,410.9)(194.2,430.5)(189,436.7)
+\curveto(188.5,436.6)(188.1,436.4)(187.6,436.3)
+\curveto(185.6,435.8)(183.7,435.6)(181.9,435.5)
+\curveto(189,427.6)(202.4,410.4)(202.5,392.1)
+\curveto(202.5,386)(201,379.9)(197.2,374)
+\curveto(198.3,373.6)(199.4,373.2)(200.4,372.8)
+\lineto(200.4,372.8)
+\curveto(206.5,378.7)(208.7,385.7)(208.7,392.9)
+\closepath
+\moveto(159.6,456.1)
+\curveto(157.3,460.5)(152.9,464.6)(140.5,471)
+\curveto(133.4,463.1)(132.9,454)(134.1,447)
+\curveto(141.3,450.6)(149.9,453.7)(159.6,456.1)
+\closepath
+\moveto(186.9,439.3)
+\curveto(196.7,441.7)(197.5,448.8)(197.5,448.8)
+\curveto(197.5,457.5)(198.9,461.8)(183.6,477.1)
+\curveto(165.7,466.7)(170.3,444.2)(170.3,444.2)
+\curveto(170.3,444.2)(174,436.1)(186.9,439.3)
+\closepath
+}
+}
+\end{pspicture}
+\end{document}
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
new file mode 100644
index 00000000000..7db9c9387c2
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
Binary files differ
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.map
new file mode 100644
index 00000000000..88600cba8cb
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.map
@@ -0,0 +1,59 @@
+;;
+;; This is file `persian-tex-text.map',
+;; generated with the docstrip utility.
+;;
+;; The original source files were:
+;;
+;; xepersian.dtx (with options: `persian-tex-text.map')
+;;
+;; __________________________________________________
+;; 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.
+;;
+;;
+LHSName "persian-TeX-text"
+RHSName "Unicode"
+
+pass(Unicode)
+U+0030 <> U+06F0 ;
+U+0031 <> U+06F1 ;
+U+0032 <> U+06F2 ;
+U+0033 <> U+06F3 ;
+U+0034 <> U+06F4 ;
+U+0035 <> U+06F5 ;
+U+0036 <> U+06F6 ;
+U+0037 <> U+06F7 ;
+U+0038 <> U+06F8 ;
+U+0039 <> U+06F9 ;
+
+U+002C <> U+060C ; comma ­> arabic comma
+U+003F <> U+061F ; question mark -> arabic qm
+U+003B <> U+061B ; semicolon -> arabic semicolon
+
+; ligatures from Knuth's original CMR fonts
+U+002D U+002D <> U+2013 ; -- -> en dash
+U+002D U+002D U+002D <> U+2014 ; --- -> em dash
+
+U+0027 <> U+2019 ; ' -> right single quote
+U+0027 U+0027 <> U+201D ; '' -> right double quote
+U+0022 > U+201D ; " -> right double quote
+
+U+0060 <> U+2018 ; ` -> left single quote
+U+0060 U+0060 <> U+201C ; `` -> left double quote
+
+U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam
+U+003F U+0060 <> U+00BF ; ?` -> inverted question
+
+; additions supported in T1 encoding
+U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK
+U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET
+U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
+;;
+;; End of file `persian-tex-text.map'.
diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.tec
new file mode 100644
index 00000000000..5191d4d5387
--- /dev/null
+++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text.tec
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx
new file mode 100644
index 00000000000..9e9ec6cce08
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx
@@ -0,0 +1,1472 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\section{Basics\label{basics}}
+\subsection{Loading The Package}
+You can load the package in the ordinary way;
+\begin{BDef}
+\Lcs{usepackage}\OptArgs\Largb{xepersian}
+\end{BDef}
+Where \texttt{options} of the package are explained later in \autoref{options}.
+
+When loading the package, it is important to know that:
+\begin{enumerate}
+\item \textsf{xepersian} should be the last package that you load, because otherwise you are certainly going to overwrite \textsf{bidi} and \textsf{\XePersian} package's definitions and consequently, you will not get the expected output.
+\item In fact, in addition to \textsf{bidi}, \textsf{\XePersian} also makes sure that some specific packages are loaded before \textsf{bidi} and \textsf{\XePersian}; these are those packages that \textsf{bidi} and \textsf{\XePersian} modifies them for bidirectional and Persian/English typesetting.
+
+If you load \textsf{\XePersian} before any of these packages, then you will get an error saying that you should load \textsf{\XePersian} or \textsf{bidi} as your last package. When it says that you should load \textsf{bidi} package as your last package, it really means that you should load \textsf{\XePersian} as your last package as \textsf{bidi} package is loaded automatically by \textsf{\XePersian} package.
+
+For instance, consider the following minimal example:
+\begin{lstlisting}[morekeywords={settextfont}]
+\documentclass{minimal}
+\usepackage{xepersian}
+\usepackage{enumerate}
+\settextfont{XB Niloofar}
+\begin{document}
+*\parsitext{این فقط یک آزمایش است}*
+\end{document}
+\end{lstlisting}
+Where \textsf{enumerate} is loaded after \textsf{\XePersian}. If you run \texttt{xelatex} on this document, you will get an error which looks like this:
+\begin{lstlisting}[numbers=none,backgroundcolor=\color{blue!30},frame=none,framexleftmargin=1mm]
+! Package xepersian Error: Oops! you have loaded package enumerate after xepersian package. Please load package enumerate before xepersian package, and then try to run xelatex on your document again.
+
+See the xepersian package documentation for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.5 \begin{document}
+
+?
+
+\end{lstlisting}
+\end{enumerate}
+\subsection{\textsf{\XePersian}'s Symbol}
+ As you may know lion symbolizes \TeX{} but lion does not symbolizes \textsf{\XePersian}. \textbf{Simorgh}\footnote{\textbf{Simorgh} is an Iranian benevolent, mythical flying creature which has been shown on the titlepage of this documentation. For more details see \url{http://en.wikipedia.org/wiki/Simurgh}} (shown on the first page of this documentation) symbolizes \textsf{\XePersian}.
+\subsection{Commands for Version number, and Date of The Package}
+\begin{BDef}
+\Lcs{xepersianversion}\quad\Lcs{xepersiandate}
+\end{BDef}
+\begin{itemize}
+\item \Lcs{xepersianversion} gives the current version of the package.
+\item \Lcs{xepersiandate} gives the current date of the package.
+\end{itemize}
+\begin{lstlisting}[morekeywords={settextfont,XePersian,xepersianversion,xepersiandate}]
+\documentclass{article}
+\usepackage{xepersian}
+\settextfont{XB Niloofar}
+\begin{document}
+\begin{latin}
+This is typeset by \textsf{\XePersian} package,\xepersianversion,
+\xepersiandate.
+\end{latin}
+\end{document}
+\end{lstlisting}
+\subsection{{Options of The Package\label{options}}}
+There are few options:
+\subsubsection{\texttt{defaultlatinfontfeatures} Option}
+\begin{BDef}
+\texttt{defaultlatinfontfeatures}$=$\Larga{value}
+\end{BDef}
+The \texttt{defaultlatinfontfeatures} option allows you to pass font features to the main Latin font. \Larga{value} is a set of font features.
+\subsubsection{\texttt{extrafootnotefeatures} Option}
+This is just the \texttt{extrafootnotefeatures} Option of \textsf{bidi} package. If you enable this option, you can typeset footnotes in paragraph form or in multi-columns (from two-columns to ten-columns). For more details, please read the manual of \textsf{bidi} package.
+\subsubsection{\texttt{Kashida} Option}
+If you pass \texttt{Kashida} option to the package, you will use Kashida for stretching words for better output quality and getting rid of underfull or overfull \Lcs{hbox} messages.
+
+Note that you can not use \texttt{Kashida} option when you are using Nastaliq-like font (well, you still can use \texttt{Kashida} option when you use any Nastaliq-like font, but I can not guarantee high quality output!).
+
+\bigskip
+The following two commands are provided when you activate the \texttt{Kashida} option:
+\begin{BDef}
+\Lcs{KashidaOn}\quad\Lcs{KashidaOff}
+\end{BDef}
+\begin{itemize}
+\item \Lcs{KashidaOn} enables Kashida and is active by default when \texttt{Kashida} option is activated.
+\item \Lcs{KashidaOff} disables Kashida.
+\end{itemize}
+
+\subsubsection{\texttt{quickindex} Option}
+When you generally want to prepare index for your Persian documents, you need to first run \texttt{xelatex}, then \texttt{xindy}, and again \texttt{xelatex} on your document respectively, which is very time consuming. The \texttt{quickindex} option gives you the index with only and only one run of \texttt{xelatex}. To use this feature, you will need to run \texttt{xelatex --shell-escape} on your \TeX{} document; otherwise you get an error which indicates that shell scape (or write18) is not enabled.
+
+ This option is now obsolete and equivalent to \texttt{quickindex-variant2} option.
+\subsubsection{\texttt{quickindex-variant1} Option}
+ Same as \texttt{quickindex} Option but uses variant one (in which \parsitext{آ} is grouped under \parsitext{ا}) for sorting Persian alphabets.
+\subsubsection{\texttt{quickindex-variant2} Option}
+ Same as \texttt{quickindex} Option but uses variant two (in which \parsitext{آ} is a separate letter) for sorting Persian alphabets.
+\subsubsection{\texttt{localise} Option}
+This option allows you to use most frequently-used \LaTeX\ commands and environments in Persian, almost like what \TeX-e-Parsi offers. This is still work in progress and we wish to add lots more Persian equivalents of \LaTeX\ and \TeX\ commands and environments. The Persian equivalents of \LaTeX\ and \TeX\ commands are shown in \autoref{lcs}, The Persian equivalents of \XePersian\ commands are shown in \autoref{xcs}, Persian equivalents of \LaTeX\ environments are shown in \autoref{lenv} and Persian equivalents of \XePersian\ environments are shown in \autoref{xenv}
+
+Please note that the Persian equivalents of \LaTeX\ and \TeX\ commands and environments are only available after loading \textsf{xepersian} package. This means that you have to write all commands or environments that come before \Lcs{usepackage}\Largb{xepersian}, in its original form, i.e. \Lcs{documentclass}.
+
+Not only you can use Persian equivalents of \LaTeX\ and \TeX\ commands and environments, but still original \LaTeX\ and \TeX\ commands and environments work too.
+
+The \TeX\, \LaTeX\, and \XePersian\ commands and environments and their Persian equivalents listed in \autoref{lcs}, \autoref{xcs}, \autoref{lenv} and \autoref{xenv} is not the whole story; If any command and environment in \autoref{lcs}, \autoref{xcs}, \autoref{lenv} and \autoref{xenv} have a starred version, their starred version also work. For example in \autoref{lcs}, the Persian equivalent of \Lcs{chapter} is \Pcs{فصل}. I know that \Lcs{chapter} has a starred version, so this means \Pcs{فصل*} is also the Persian equivalent of \Lcs{chapter*}. Is that clear?
+
+\medskip
+However there is more; you can localise any other commands/environments you want. You can use the following commands to localise your own commands/environments:
+\begin{BDef}
+\Lcs{eqcommand}\Largb{\Larga{command-name in Persian}}\Largb{\Larga{original \LaTeX{} command-name}}\\
+\Lcs{eqenvironment}\Largb{\Larga{environment-name in Persian}}\Largb{\Larga{original \LaTeX{} environment-name}}
+\end{BDef}
+
+\begin{center}
+\tablecaption{The Equivalent \LaTeX\ and \TeX\ Commands\label{lcs}}
+\tablehead
+ {\bfseries Command in \TeX\ or \LaTeX\ &\bfseries Equivalent Persian Command\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\bicsintabular{شمع‌جدول}{@arstrut}
+\bicsintabular{فوق}{above}
+\bicsintabular{فاصله‌کوتاه‌بالای‌نمایش}{abovedisplayshortskip}
+\bicsintabular{فاصله‌بالای‌نمایش}{abovedisplayskip}
+\bicsintabular{عنوان‌چکیده}{abstractname}
+\bicsintabular{اکسنت}{accent}
+\bicsintabular{فعال}{active}
+\bicsintabular{بیفزاسطرفهرست}{addcontentsline}
+\bicsintabular{اضافه‌برجریمه}{addpenalty}
+\bicsintabular{نشانی}{address}
+\bicsintabular{بیفزابه‌فهرست}{addtocontents}
+\bicsintabular{اضافه‌برشمارنده}{addtocounter}
+\bicsintabular{اضافه‌بربعد}{addtolength}
+\bicsintabular{بیفزافضای‌و}{addvspace}
+\bicsintabular{تنظیم‌بدنمایی}{adjdemerits}
+\bicsintabular{بیفزابر}{advance}
+\bicsintabular{بعدازانتساب}{afterassignment}
+\bicsintabular{بعدازگروه}{aftergroup}
+\bicsintabular{الف}{aleph}
+\bicsintabular{خصیصه‌مستعارقلم}{aliasfontfeature}
+\bicsintabular{انتخاب‌خصیصه‌مستعارقلم}{aliasfontfeatureoption}
+\bicsintabular{شکستنی}{allowbreak}
+\bicsintabular{تخصی@}{alloc@}
+\bicsintabular{تخصیص‌یافته}{allocationnumber}
+\bicsintabular{شکست‌نمایش‌مجاز}{allowdisplaybreaks}
+\bicsintabular{حروف‌بزرگ}{Alph}
+\bicsintabular{حروف‌کوچک}{alph}
+\bicsintabular{نام‌همچنین}{alsoname}
+\bicsintabular{و}{and}
+\bicsintabular{زاویه}{angle}
+\bicsintabular{عنوان‌پیوست}{appendixname}
+\bicsintabular{تقریب}{approx}
+\bicsintabular{عربی}{arabic}
+\bicsintabular{آرگ}{arg}
+\bicsintabular{رنگ‌خط‌جدول}{arrayrulecolor}
+\bicsintabular{فاصله‌ستونهای‌آرایه}{arraycolsep}
+\bicsintabular{ضخامت‌خط‌جدول}{arrayrulewidth}
+\bicsintabular{کشیدگی‌آرایه}{arraystretch}
+\bicsintabular{درآغازنوشتار}{AtBeginDocument}
+\bicsintabular{درپایان‌نوشتار}{AtEndDocument}
+\bicsintabular{درانتهای‌طبقه}{AtEndOfClass}
+\bicsintabular{درانتهای‌سبک}{AtEndOfPackage}
+\bicsintabular{نویسنده}{author}
+\bicsintabular{مطلب‌پشت}{backmatter}
+\bicsintabular{شکاف‌پشت}{backslash}
+\bicsintabular{بدنمایی}{badness}
+\bicsintabular{میله}{bar}
+\bicsintabular{فاصله‌کرسی}{baselineskip}
+\bicsintabular{کشش‌فاصله‌کرسی}{baselinestretch}
+\bicsintabular{پردازش‌دسته‌ای}{batchmode}
+\bicsintabular{شروع}{begin}
+\bicsintabular{شروع‌چپ}{beginL}
+\bicsintabular{شروع‌راست}{beginR}
+\bicsintabular{شروع‌گروه}{begingroup}
+\bicsintabular{فاصله‌کوتاه‌پایین‌نمایش}{belowdisplayshortskip}
+\bicsintabular{فاصله‌پایین‌نمایش}{belowdisplayskip}
+\bicsintabular{سیاه}{bf}
+\bicsintabular{پیش‌فرض‌سیاه}{bfdefault}
+\bicsintabular{شمایل‌سیاه}{bfseries}
+\bicsintabular{شرگروه}{bgroup}
+\bicsintabular{مرجوع}{bibitem}
+\bicsintabular{کتاب‌نامه}{bibliography}
+\bicsintabular{سبک‌کتاب‌نامه}{bibliographystyle}
+\bicsintabular{عنوان‌کتاب‌نامه}{bibname}
+\bicsintabular{پرش‌بلند}{bigskip}
+\bicsintabular{مقدارپرش‌بلند}{bigskipamount}
+\bicsintabular{خط‌پایین‌شناور}{botfigrule}
+\bicsintabular{علامت‌پایین}{botmark}
+\bicsintabular{کادرتاپایین}{bottompageskip}
+\bicsintabular{نسبت‌پایین}{bottomfraction}
+\bicsintabular{کادر}{box}
+\bicsintabular{حداکثرعمق‌کادر}{boxmaxdepth}
+\bicsintabular{بشکن}{break}
+\bicsintabular{گلوله}{bullet}
+\bicsintabular{دوپن@پنج}{@cclv}
+\bicsintabular{دوپن@شش}{@cclvi}
+\bicsintabular{شرح}{caption}
+\bicsintabular{کدرده}{catcode}
+\bicsintabular{رونوشت}{cc}
+\bicsintabular{نام‌رونوشت}{ccname}
+\bicsintabular{نقطه‌وسط}{cdot}
+\bicsintabular{نقاط‌وسط}{cdots}
+\bicsintabular{تنظیم‌ازوسط}{centering}
+\bicsintabular{خط‌وسط}{centerline}
+\bicsintabular{چک@ن}{ch@ck}
+\bicsintabular{فصل}{chapter}
+\bicsintabular{عنوان‌فصل}{chaptername}
+\bicsintabular{نویسه}{char}
+\bicsintabular{تعریف‌نویسه}{chardef}
+\bicsintabular{برسی‌فرمان}{CheckCommand}
+\bicsintabular{مرجع}{cite}
+\bicsintabular{خطای‌طبقه}{ClassError}
+\bicsintabular{اطلاع‌طبقه}{ClassInfo}
+\bicsintabular{هشدارطبقه}{ClassWarning}
+\bicsintabular{هشدارطبقه‌بی‌سطر}{ClassWarningNoLine}
+\bicsintabular{نشانگرمرکزی}{cleaders}
+\bicsintabular{دوصفحه‌پاک}{cleardoublepage}
+\bicsintabular{صفحه‌پاک}{clearpage}
+\bicsintabular{خط‌ناپر}{cline}
+\bicsintabular{ببندورودی}{closein}
+\bicsintabular{ببندخروجی}{closeout}
+\bicsintabular{بستن}{closing}
+\bicsintabular{جریمه‌سربند}{clubpenalty}
+\bicsintabular{خاج}{clubsuit}
+\bicsintabular{علامت‌پایین‌ستون‌اول}{colbotmark}
+\bicsintabular{علامت‌اول‌ستون‌اول}{colfirstmark}
+\bicsintabular{رنگ}{color}
+\bicsintabular{کادررنگ}{colorbox}
+\bicsintabular{علامت‌بالای‌ستون‌اول}{coltopmark}
+\bicsintabular{رنگ‌ستون}{columncolor}
+\bicsintabular{بین‌ستون}{columnsep}
+\bicsintabular{پهنای‌ستون}{columnwidth}
+\bicsintabular{خط‌بین‌ستون}{columnseprule}
+\bicsintabular{سطرفهرست}{contentsline}
+\bicsintabular{عنوان‌فهرست‌مطالب}{contentsname}
+\bicsintabular{کپی}{copy}
+\bicsintabular{حق‌تالیف}{copyright}
+\bicsintabular{شمار}{count}
+\bicsintabular{شمار@}{count@}
+\bicsintabular{تعریف‌شمار}{countdef}
+\bicsintabular{سخ}{cr}
+\bicsintabular{سخ‌سخ}{crcr}
+\bicsintabular{نام‌فرمان}{csname}
+\bicsintabular{گزینه‌جاری}{CurrentOption}
+\bicsintabular{کادربینابین}{dashbox}
+\bicsintabular{بینابین‌ع}{dashv}
+\bicsintabular{@تاریخ}{@date}
+\bicsintabular{تاریخ}{date}
+\bicsintabular{روز}{day}
+\bicsintabular{خط‌پایین‌شناورپهن}{dblbotfigrule}
+\bicsintabular{نسبت‌پهن‌پایین}{dblbottomfraction}
+\bicsintabular{خط‌بالای‌شناورپهن}{dblfigrule}
+\bicsintabular{نسبت‌صفحه‌شناورپهن}{dblfloatpagefraction}
+\bicsintabular{فاصله‌بین‌شناورپهن}{dblfloatsep}
+\bicsintabular{کدمکان‌غیرهمانطور}{dblfntlocatecode}
+\bicsintabular{فاصله‌متن‌وشناورپهن}{dbltextfloatsep}
+\bicsintabular{نسبت‌پهن‌بالا}{dbltopfraction}
+\bicsintabular{اعلان‌قلم‌ثابت}{DeclareFixedFont}
+\bicsintabular{اعلان‌پسوندگرافیک}{DeclareGraphicsExtensions}
+\bicsintabular{اعلان‌دستورگرافیک}{DeclareGraphicsRule}
+\bicsintabular{اعلان‌فرمان‌قلم‌قدیمی}{DeclareOldFontCommand}
+\bicsintabular{اعلان‌گزینه}{DeclareOption}
+\bicsintabular{اعلان‌فرمان‌قوی}{DeclareRobustCommand}
+\bicsintabular{اعلان‌قلم‌علائم}{DeclareSymbolFont}
+\bicsintabular{دوربسته}{deadcycles}
+\bicsintabular{تر}{def}
+\bicsintabular{تعریف@کلید}{define@key}
+\bicsintabular{تعریف‌رنگ}{definecolor}
+\bicsintabular{درجه}{deg}
+\bicsintabular{کدجداساز}{delcode}
+\bicsintabular{جداساز}{delimiter}
+\bicsintabular{ضریب‌جداساز}{delimiterfactor}
+\bicsintabular{گودی}{depth}
+\bicsintabular{خشت}{diamondsuit}
+\bicsintabular{ابعاد}{dim}
+\bicsintabular{بعد}{dimen}
+\bicsintabular{بعد@}{dimen@}
+\bicsintabular{بعد@یک}{dimen@i}
+\bicsintabular{بعد@دو}{dimen@ii}
+\bicsintabular{تعریف‌بعد}{dimendef}
+\bicsintabular{تیره‌گذاری}{discretionary}
+\bicsintabular{شکست‌نمایش}{displaybreak}
+\bicsintabular{تورفتگی‌نمایش}{displayindent}
+\bicsintabular{سبک‌نمایش}{displaystyle}
+\bicsintabular{عرض‌نمایش}{displaywidth}
+\bicsintabular{تقسیم}{divide}
+\bicsintabular{طبقه‌نوشتار}{documentclass}
+\bicsintabular{کن}{do}
+\bicsintabular{تعویض‌کدها}{dospecials}
+\bicsintabular{نقطه}{dot}
+\bicsintabular{نقطه‌مساوی}{doteq}
+\bicsintabular{پرنقطه‌ا}{dotfill}
+\bicsintabular{نقاط}{dots}
+\bicsintabular{کادردولا}{doublebox}
+\bicsintabular{رنگ‌فاصله‌دوخط‌جدول}{doublerulesepcolor}
+\bicsintabular{فاصله‌بین‌دوخط}{doublerulesep}
+\bicsintabular{فلش‌پایین}{downarrow}
+\bicsintabular{عمق}{dp}
+\bicsintabular{تخلیه}{dump}
+\bicsintabular{ترگ}{edef}
+\bicsintabular{پاگروه}{egroup}
+\bicsintabular{انتهای‌فاصله}{eject}
+\bicsintabular{گرنه}{else}
+\bicsintabular{تاکید}{em}
+\bicsintabular{کشش‌لاجرم}{emergencystretch}
+\bicsintabular{موکد}{emph}
+\bicsintabular{@پوچ}{@empty}
+\bicsintabular{پوچ}{empty}
+\bicsintabular{مجموعه‌پوچ}{emptyset}
+\bicsintabular{پایان}{end}
+\bicsintabular{پایان‌چپ}{endL}
+\bicsintabular{پایان‌راست}{endR}
+\bicsintabular{پایان‌نام‌فرمان}{endcsname}
+\bicsintabular{پایان‌اولین‌سر}{endfirsthead}
+\bicsintabular{پایان‌پا}{endfoot}
+\bicsintabular{ته‌بند}{endgraf}
+\bicsintabular{پایان‌گروه}{endgroup}
+\bicsintabular{پایان‌سر}{endhead}
+\bicsintabular{پایان‌ورودی}{endinput}
+\bicsintabular{پایان‌آخرین‌پا}{endlastfoot}
+\bicsintabular{گسترش‌این‌صفحه}{enlargethispage}
+\bicsintabular{ته‌سطر}{endline}
+\bicsintabular{نویسه‌ته‌سطر}{endlinechar}
+\bicsintabular{ان‌دوری}{enspace}
+\bicsintabular{ان‌فاصله}{enskip}
+\bicsintabular{فرمان‌جانشین}{eqcommand}
+\bicsintabular{محیط‌جانشین}{eqenvironment}
+\bicsintabular{ارجاع‌فر}{eqref}
+\bicsintabular{کمک‌خطا}{errhelp}
+\bicsintabular{پیام‌خطا}{errmessage}
+\bicsintabular{سطرمتن‌خطا}{errorcontextlines}
+\bicsintabular{پردازش‌توقف‌خطا}{errorstopmode}
+\bicsintabular{نویسه‌ویژه}{escapechar}
+\bicsintabular{یورو}{euro}
+\bicsintabular{حاشیه‌زوج}{evensidemargin}
+\bicsintabular{هرسخ}{everycr}
+\bicsintabular{هرنمایش}{everydisplay}
+\bicsintabular{هرکادرا}{everyhbox}
+\bicsintabular{هرکار}{everyjob}
+\bicsintabular{هرریاضی}{everymath}
+\bicsintabular{هربند}{everypar}
+\bicsintabular{هرکادرو}{everyvbox}
+\bicsintabular{اجرای‌گزینه‌ها}{ExecuteOptions}
+\bicsintabular{جریمه‌اضافی‌تیره‌بندی}{exhyphenpenalty}
+\bicsintabular{بگسترپس‌از}{expandafter}
+\bicsintabular{فاصله‌اضافی‌بین‌ستونها}{extracolsep}
+\bicsintabular{@اولی‌ازیک}{@firstofone}
+\bicsintabular{@اولی‌ازدو}{@firstoftwo}
+\bicsintabular{چ@ار}{f@ur}
+\bicsintabular{خانواده}{fam}
+\bicsintabular{صفحه‌تجملی}{fancypage}
+\bicsintabular{کادربا}{fbox}
+\bicsintabular{ضخامت‌کادربا}{fboxrule}
+\bicsintabular{حاشیه‌کادربا}{fboxsep}
+\bicsintabular{کادربارنگ}{fcolorbox}
+\bicsintabular{رگ}{fi}
+\bicsintabular{عنوان‌شکل}{figurename}
+\bicsintabular{پرشکن}{filbreak}
+\bicsintabular{پر}{fill}
+\bicsintabular{علامت‌اول}{firstmark}
+\bicsintabular{پهن}{flat}
+\bicsintabular{نسبت‌صفحه‌شناور}{floatpagefraction}
+\bicsintabular{جریمه‌شناور}{floatingpenalty}
+\bicsintabular{فاصله‌بین‌شناور}{floatsep}
+\bicsintabular{تنظیم‌ازپایین}{flushbottom}
+\bicsintabular{شکلبندی}{fmtname}
+\bicsintabular{رده‌شکلبندی}{fmtversion}
+\bicsintabular{نشانه}{fnsymbol}
+\bicsintabular{قلم}{font}
+\bicsintabular{بعدقلم}{fontdimen}
+\bicsintabular{رمزینه‌قلم}{fontencoding}
+\bicsintabular{فامیل‌قلم}{fontfamily}
+\bicsintabular{نام‌قلم}{fontname}
+\bicsintabular{شمایل‌قلم}{fontseries}
+\bicsintabular{شکل‌قلم}{fontshape}
+\bicsintabular{اندازه‌قلم}{fontsize}
+\bicsintabular{بلندای‌پایین‌صفحه}{footheight}
+\bicsintabular{درج‌زیرنویس}{footins}
+\bicsintabular{زیرنویس}{footnote}
+\bicsintabular{علامت‌زیرنویس}{footnotemark}
+\bicsintabular{خط‌زیرنویس}{footnoterule}
+\bicsintabular{فاصله‌تازیرنویس}{footnotesep}
+\bicsintabular{اندازه‌زیرنویس}{footnotesize}
+\bicsintabular{متن‌زیرنویس}{footnotetext}
+\bicsintabular{فاصله‌تاپایین‌صفحه}{footskip}
+\bicsintabular{فریم}{frame}
+\bicsintabular{کادرباخط}{framebox}
+\bicsintabular{فواصل‌یکنواخت‌لاتین}{frenchspacing}
+\bicsintabular{مطلب‌پیش}{frontmatter}
+\bicsintabular{بعدبگذار}{futurelet}
+\bicsintabular{@خورحریصانه}{@gobble}
+\bicsintabular{@خورحریصانه‌دو}{@gobbletwo}
+\bicsintabular{@خورحریصانه‌چهار}{@gobblefour}
+\bicsintabular{@عاقت‌آ}{@gtempa}
+\bicsintabular{@عاقت‌ب}{@gtempb}
+\bicsintabular{ترع}{gdef}
+\bicsintabular{الگوی‌اطلاع}{GenericInfo}
+\bicsintabular{الگوی‌هشدار}{GenericWarning}
+\bicsintabular{الگوی‌خطا}{GenericError}
+\bicsintabular{عام}{global}
+\bicsintabular{تعاریف‌عام}{globaldefs}
+\bicsintabular{لغت‌نامه}{glossary}
+\bicsintabular{فقره‌فرهنگ}{glossaryentry}
+\bicsintabular{خوش‌شکن}{goodbreak}
+\bicsintabular{کاغذگراف}{graphpaper}
+\bicsintabular{گیومه‌چپ}{guillemotleft}
+\bicsintabular{گیومه‌راست}{guillemotright}
+\bicsintabular{گیومه‌تکی‌چپ}{guilsinglleft}
+\bicsintabular{گیومه‌تکی‌راست}{guilsinglright}
+\bicsintabular{ردیف‌ا}{halign}
+\bicsintabular{بروتو}{hang}
+\bicsintabular{بعدازسطر}{hangafter}
+\bicsintabular{تورفتگی‌ثابت}{hangindent}
+\bicsintabular{بدنمایی‌ا}{hbadness}
+\bicsintabular{کادرا}{hbox}
+\bicsintabular{بلندای‌سرصفحه}{headheight}
+\bicsintabular{فاصله‌ازسرصفحه}{headsep}
+\bicsintabular{سربه‌نام}{headtoname}
+\bicsintabular{دل}{heartsuit}
+\bicsintabular{بلندا}{height}
+\bicsintabular{پرا}{hfil}
+\bicsintabular{پررا}{hfill}
+\bicsintabular{رفع‌پرا}{hfilneg}
+\bicsintabular{پرزافقی}{hfuzz}
+\bicsintabular{فاصله‌مخفی}{hideskip}
+\bicsintabular{عرض‌پنهان}{hidewidth}
+\bicsintabular{خط‌پر}{hline}
+\bicsintabular{حاشیه‌ا}{hoffset}
+\bicsintabular{حفظ‌درج}{holdinginserts}
+\bicsintabular{فاصله‌اگرد}{hrboxsep}
+\bicsintabular{خط‌ا}{hrule}
+\bicsintabular{پرخط‌ا}{hrulefill}
+\bicsintabular{طول‌سطر}{hsize}
+\bicsintabular{فاصله‌ا}{hskip}
+\bicsintabular{فضای‌ا}{hspace}
+\bicsintabular{هردوا}{hss}
+\bicsintabular{ارتفاع}{ht}
+\bicsintabular{بزرگ}{huge}
+\bicsintabular{بزرگ‌تر}{Huge}
+\bicsintabular{ابرپیوند}{hyperlink}
+\bicsintabular{بارگذاری‌ابر}{hypersetup}
+\bicsintabular{هدف‌ابر}{hypertarget}
+\bicsintabular{تیره‌بندی}{hyphenation}
+\bicsintabular{نویسه‌تیره}{hyphenchar}
+\bicsintabular{جریمه‌تیره‌بندی}{hyphenpenalty}
+\bicsintabular{@گرکلاس‌فراخوانی‌شده}{@ifclassloaded}
+\bicsintabular{@گرترشدنی}{@ifdefinable}
+\bicsintabular{@گرنویسه‌بعدی}{@ifnextchar}
+\bicsintabular{@گرسبک‌فراخوانی‌شده}{@ifpackageloaded}
+\bicsintabular{@گرستاره}{@ifstar}
+\bicsintabular{@گرتعریف‌نشده}{@ifundefined}
+\bicsintabular{گر}{if}
+\bicsintabular{گر@سواقت‌آ}{if@tempswa}
+\bicsintabular{گرانواع}{ifcase}
+\bicsintabular{گررده}{ifcat}
+\bicsintabular{گرتعریف‌شده}{ifdefined}
+\bicsintabular{گربعد}{ifdim}
+\bicsintabular{گرته‌پرونده}{ifeof}
+\bicsintabular{گرر}{iff}
+\bicsintabular{گرنادرست}{iffalse}
+\bicsintabular{گرپرونده‌موجود}{IfFileExists}
+\bicsintabular{گرکادرا}{ifhbox}
+\bicsintabular{گرحالت‌ا}{ifhmode}
+\bicsintabular{گردرونی}{ifinner}
+\bicsintabular{گرحالت‌ریاضی}{ifmmode}
+\bicsintabular{گرعدد}{ifnum}
+\bicsintabular{گرفرد}{ifodd}
+\bicsintabular{گرآنگاه‌دیگر}{ifthenelse}
+\bicsintabular{گردرست}{iftrue}
+\bicsintabular{گرکادرو}{ifvbox}
+\bicsintabular{گرحالت‌و}{ifvmode}
+\bicsintabular{گرتهی}{ifvoid}
+\bicsintabular{گرتام}{ifx}
+\bicsintabular{فاصله‌خالی‌راندیده‌بگیر}{ignorespaces}
+\bicsintabular{فوری}{immediate}
+\bicsintabular{شامل}{include}
+\bicsintabular{درج‌تصویر}{includegraphics}
+\bicsintabular{مشمولین}{includeonly}
+\bicsintabular{تورفتگی}{indent}
+\bicsintabular{درنمایه}{index}
+\bicsintabular{استعلام}{indexentry}
+\bicsintabular{عنوان‌نمایه}{indexname}
+\bicsintabular{فاصله‌رهنما}{indexspace}
+\bicsintabular{ورودی}{input}
+\bicsintabular{ورودپرونده‌گرموجود}{InputIfFileExists}
+\bicsintabular{شماره‌سطرورودی}{inputlineno}
+\bicsintabular{درج}{insert}
+\bicsintabular{جریمه‌درج}{insertpenalties}
+\bicsintabular{جریمه‌بین‌سطرهای‌زیرنویس}{interfootnotelinepenalty}
+\bicsintabular{جریمه‌بین‌سطرهای‌نمایش}{interdisplaylinepenalty}
+\bicsintabular{جریمه‌بین‌سطرها}{interlinepenalty}
+\bicsintabular{متن‌داخلی}{intertext}
+\bicsintabular{فاصله‌شناوردرمتن}{intertextsep}
+\bicsintabular{مخفی}{invisible}
+\bicsintabular{پیش‌فرض‌ای}{itdefault}
+\bicsintabular{شکل‌ایتالیک}{itshape}
+\bicsintabular{فقره}{item}
+\bicsintabular{تورفتگی‌فقره}{itemindent}
+\bicsintabular{فاصله‌فقره}{itemsep}
+\bicsintabular{تکرارکن}{iterate}
+\bicsintabular{شکل‌ای}{itshape}
+\bicsintabular{نام‌کار}{jobname}
+\bicsintabular{قلپ}{jot}
+\bicsintabular{دوری}{kern}
+\bicsintabular{الگو}{kill}
+\bicsintabular{برچسب}{label}
+\bicsintabular{برچسب‌شمارش‌یک}{labelenumi}
+\bicsintabular{برچسب‌شمارش‌دو}{labelenumii}
+\bicsintabular{برچسب‌شمارش‌سه}{labelenumiii}
+\bicsintabular{برچسب‌شمارش‌چهار}{labelenumiv}
+\bicsintabular{برچسب‌فقره‌یک}{labelitemi}
+\bicsintabular{برچسب‌فقره‌دو}{labelitemii}
+\bicsintabular{برچسب‌فقره‌سه}{labelitemiii}
+\bicsintabular{برچسب‌فقره‌چهار}{labelitemiv}
+\bicsintabular{فاصله‌ازبرچسب}{labelsep}
+\bicsintabular{پهنای‌برچسب}{labelwidth}
+\bicsintabular{زبان}{language}
+\bicsintabular{درشت}{large}
+\bicsintabular{درشت‌تر}{Large}
+\bicsintabular{درشت‌درشت}{LARGE}
+\bicsintabular{آخرین‌کادر}{lastbox}
+\bicsintabular{آخرین‌دوری}{lastkern}
+\bicsintabular{آخرین‌جریمه}{lastpenalty}
+\bicsintabular{آخرین‌فاصله}{lastskip}
+\bicsintabular{لاتک}{LaTeX}
+\bicsintabular{لاتک‌ای}{LaTeXe}
+\bicsintabular{کدکوچک}{lccode}
+\bicsintabular{نقاط‌خ}{ldots}
+\bicsintabular{نشانگر}{leaders}
+\bicsintabular{ترک‌و}{leavevmode}
+\bicsintabular{چپ}{left}
+\bicsintabular{حاشیه‌چپ}{leftmargin}
+\bicsintabular{حاشیه‌چپ‌یک}{leftmargini}
+\bicsintabular{حاشیه‌چپ‌دو}{leftmarginii}
+\bicsintabular{حاشیه‌چپ‌سه}{leftmarginiii}
+\bicsintabular{حاشیه‌چپ‌چهار}{leftmarginiv}
+\bicsintabular{حاشیه‌چپ‌پنج}{leftmarginv}
+\bicsintabular{حاشیه‌چپ‌شش}{leftmarginvi}
+\bicsintabular{علامت‌چپ}{leftmark}
+\bicsintabular{کادرتاچپ}{leftpageskip}
+\bicsintabular{فاصله‌ابتدای‌سطر}{leftskip}
+\bicsintabular{بگذار}{let}
+\bicsintabular{سطر}{line}
+\bicsintabular{سطرشکن}{linebreak}
+\bicsintabular{جریمه‌سطر}{linepenalty}
+\bicsintabular{فاصله‌سطرها}{lineskip}
+\bicsintabular{حدفاصله‌سطر}{lineskiplimit}
+\bicsintabular{کشش‌فاصله‌سطر}{linespread}
+\bicsintabular{ضخامت‌خط}{linethickness}
+\bicsintabular{پهنای‌سطر}{linewidth}
+\bicsintabular{عنوان‌فهرست‌اشکال}{listfigurename}
+\bicsintabular{لیست‌پرونده‌ها}{listfiles}
+\bicsintabular{فهرست‌اشکال}{listoffigures}
+\bicsintabular{فهرست‌جداول}{listoftables}
+\bicsintabular{تورفتگی‌بندلیست}{listparindent}
+\bicsintabular{عنوان‌فهرست‌جداول}{listtablename}
+\bicsintabular{بارکن‌طبقه}{LoadClass}
+\bicsintabular{بارکن‌طبقه‌باگزینه}{LoadClassWithOptions}
+\bicsintabular{مکان}{location}
+\bicsintabular{بلند}{long}
+\bicsintabular{حلقه}{loop}
+\bicsintabular{گسیختگی}{looseness}
+\bicsintabular{انتقال‌بپایین}{lower}
+\bicsintabular{@دیگر}{@makeother}
+\bicsintabular{@زار}{@m}
+\bicsintabular{ده@زار}{@M}
+\bicsintabular{ده@زاریک}{@Mi}
+\bicsintabular{ده@زاردو}{@Mii}
+\bicsintabular{ده@زارسه}{@Miii}
+\bicsintabular{ده@زارچهار}{@Miv}
+\bicsintabular{بیس@زار}{@MM}
+\bicsintabular{من@ا}{m@ne}
+\bicsintabular{بزرگ‌نمایی}{mag}
+\bicsintabular{گام}{magstep}
+\bicsintabular{نیم‌گام}{magstephalf}
+\bicsintabular{مطلب‌اصلی}{mainmatter}
+\bicsintabular{ات‌حرف}{makeatletter}
+\bicsintabular{ات‌دیگر}{makeatother}
+\bicsintabular{کادربی‌خط}{makebox}
+\bicsintabular{ساخت‌فرهنگ}{makeglossary}
+\bicsintabular{تهیه‌نمایه}{makeindex}
+\bicsintabular{ساخت‌برچسب}{makelabel}
+\bicsintabular{ساخت‌برچسب‌ها}{makelabels}
+\bicsintabular{ساخت‌حروف‌کوچک}{MakeLowercase}
+\bicsintabular{عنوان‌ساز}{maketitle}
+\bicsintabular{ساخت‌حروف‌بزرگ}{MakeUppercase}
+\bicsintabular{درحاشیه}{marginpar}
+\bicsintabular{فاصله‌دوحاشیه}{marginparpush}
+\bicsintabular{فاصله‌تاحاشیه}{marginparsep}
+\bicsintabular{پهنای‌حاشیه}{marginparwidth}
+\bicsintabular{علامت}{mark}
+\bicsintabular{علامت‌دردوطرف}{markboth}
+\bicsintabular{علامت‌درراست}{markright}
+\bicsintabular{اعراب‌ریاضی}{mathaccent}
+\bicsintabular{نویسه‌ریاضی}{mathchar}
+\bicsintabular{تعریف‌نویسه‌ریاضی}{mathchardef}
+\bicsintabular{کدریاضی}{mathcode}
+\bicsintabular{ریاضی‌رومن}{mathrm}
+\bicsintabular{حداکثرتکرار}{maxdeadcycles}
+\bicsintabular{حداکثرعمق‌صفحه}{maxdepth}
+\bicsintabular{بعدبیشین}{maxdimen}
+\bicsintabular{کادربی}{mbox}
+\bicsintabular{شمایل‌نازک}{mdseries}
+\bicsintabular{معنا}{meaning}
+\bicsintabular{نازک}{mediumseries}
+\bicsintabular{فاصله‌متوسط‌ریاضی}{medmuskip}
+\bicsintabular{پرش‌متوسط}{medskip}
+\bicsintabular{مقدارپرش‌متوسط}{medskipamount}
+\bicsintabular{فضای‌متوسط}{medspace}
+\bicsintabular{پیام}{message}
+\bicsintabular{پیام‌شکن}{MessageBreak}
+\bicsintabular{حداقل‌فاصله‌ردیف}{minrowclearance}
+\bicsintabular{دوری‌ریاضی}{mkern}
+\bicsintabular{ماه}{month}
+\bicsintabular{انتقال‌بچپ}{moveleft}
+\bicsintabular{انتقال‌براست}{moveright}
+\bicsintabular{فاصله‌ریاضی}{mskip}
+\bicsintabular{ری@ضی}{m@th}
+\bicsintabular{چندستونی}{multicolumn}
+\bicsintabular{ضرب}{multiply}
+\bicsintabular{چندادغام}{multispan}
+\bicsintabular{میوفاصله}{muskip}
+\bicsintabular{تعریف‌میوفاصله}{muskipdef}
+\bicsintabular{@ترنام}{@namedef}
+\bicsintabular{@کاربردنام}{@nameuse}
+\bicsintabular{یک@}{@ne}
+\bicsintabular{نام}{name}
+\bicsintabular{طبیعی}{natural}
+\bicsintabular{باریک}{nearrow}
+\bicsintabular{باریکتر}{nearrower}
+\bicsintabular{شکلبندی‌موردنیاز}{NeedsTeXFormat}
+\bicsintabular{منفی}{neg}
+\bicsintabular{فضای‌متوسط‌منفی}{negmedspace}
+\bicsintabular{فضای‌ضخیم‌منفی}{negthickspace}
+\bicsintabular{دوری‌کوچک‌منفی}{negthinspace}
+\bicsintabular{بولی‌نو}{newboolean}
+\bicsintabular{کادرجدید}{newbox}
+\bicsintabular{فرمان‌نو}{newcommand}
+\bicsintabular{شمارجدید}{newcount}
+\bicsintabular{شمارنده‌جدید}{newcounter}
+\bicsintabular{بعدجدید}{newdimen}
+\bicsintabular{محیط‌نو}{newenvironment}
+\bicsintabular{خانواده‌جدید}{newfam}
+\bicsintabular{قلم‌نو}{newfont}
+\bicsintabular{کمک‌جدید}{newhelp}
+\bicsintabular{گرجدید}{newif}
+\bicsintabular{درج‌جدید}{newinsert}
+\bicsintabular{برچسب‌جدید}{newlabel}
+\bicsintabular{تعریف‌بعدجدید}{newlength}
+\bicsintabular{سطرجدید}{newline}
+\bicsintabular{نویسه‌سطرجدید}{newlinechar}
+\bicsintabular{میوفاصله‌جدید}{newmuskip}
+\bicsintabular{صفحه‌جدید}{newpage}
+\bicsintabular{بخوان‌جدید}{newread}
+\bicsintabular{تعریف‌کادرجدید}{newsavebox}
+\bicsintabular{فاصله‌جدید}{newskip}
+\bicsintabular{قضیه‌جدید}{newtheorem}
+\bicsintabular{جزءجدید}{newtoks}
+\bicsintabular{بنویس‌جدید}{newwrite}
+\bicsintabular{بی‌ردیف}{noalign}
+\bicsintabular{نشکن}{nobreak}
+\bicsintabular{فاصله‌نشکستنی}{nobreakspace}
+\bicsintabular{بدون‌سند}{nocite}
+\bicsintabular{نگستر}{noexpand}
+\bicsintabular{بدون‌پرونده}{nofiles}
+\bicsintabular{بدون‌تورفتگی}{noindent}
+\bicsintabular{بی‌فاصله‌سطر}{nointerlineskip}
+\bicsintabular{بدون‌حد}{nolimits}
+\bicsintabular{سطرنشکن}{nolinebreak}
+\bicsintabular{پردازش‌بدون‌توقف}{nonstopmode}
+\bicsintabular{فواصل‌متعارف‌لاتین}{nonfrenchspacing}
+\bicsintabular{بدون‌شماره}{nonumber}
+\bicsintabular{صفحه‌نشکن}{nopagebreak}
+\bicsintabular{کرسیهای‌متعارف}{normalbaselines}
+\bicsintabular{فاصله‌کرسی‌متعارف}{normalbaselineskip}
+\bicsintabular{رنگ‌عادی}{normalcolor}
+\bicsintabular{قلم‌عادی}{normalfont}
+\bicsintabular{فاصله‌سطرمتعارف}{normallineskip}
+\bicsintabular{حدفاصله‌سطرمتعارف}{normallineskiplimit}
+\bicsintabular{درحاشیه‌عادی}{normalmarginpar}
+\bicsintabular{اندازه‌عادی}{normalsize}
+\bicsintabular{بدون‌اتیکت}{notag}
+\bicsintabular{نول}{null}
+\bicsintabular{قلم‌تهی}{nullfont}
+\bicsintabular{عدد}{number}
+\bicsintabular{سطرعددی}{numberline}
+\bicsintabular{شماره‌مطابق}{numberwithin}
+\bicsintabular{پایین‌صفحه‌زوج}{@evenfoot}
+\bicsintabular{بالای‌صفحه‌زوج}{@evenhead}
+\bicsintabular{پایین‌صفحه‌فرد}{@oddfoot}
+\bicsintabular{بالای‌صفحه‌فرد}{@oddhead}
+\bicsintabular{شماره‌بیرون‌درست}{@outeqntrue}
+\bicsintabular{شماره‌بیرون‌نادرست}{@outeqnfalse}
+\bicsintabular{سطربه‌سطر}{obeylines}
+\bicsintabular{فضافعال}{obeyspaces}
+\bicsintabular{حاشیه‌فرد}{oddsidemargin}
+\bicsintabular{سطوربی‌فاصله}{offinterlineskip}
+\bicsintabular{حذف}{omit}
+\bicsintabular{@تنهادرپیش‌درآمد}{@onlypreamble}
+\bicsintabular{یک‌ستون}{onecolumn}
+\bicsintabular{تنها‌یادداشت‌ها}{onlynotes}
+\bicsintabular{تنهااسلایدها}{onlyslides}
+\bicsintabular{بازکن‌ورودی}{openin}
+\bicsintabular{بازکن‌خروجی}{openout}
+\bicsintabular{گزینه‌مصرف‌نشده}{OptionNotUsed}
+\bicsintabular{یا}{or}
+\bicsintabular{برونی}{outer}
+\bicsintabular{صفحه‌بندی}{output}
+\bicsintabular{جریمه‌صفحه‌بندی}{outputpenalty}
+\bicsintabular{علامت‌سرریز}{overfullrule}
+\bicsintabular{@فرمان‌های‌پیش‌درآمد}{@preamblecmds}
+\bicsintabular{@پو}{p@}
+\bicsintabular{خطای‌سبک}{PackageError}
+\bicsintabular{اطلاع‌سبک}{PackageInfo}
+\bicsintabular{هشدارسبک}{PackageWarning}
+\bicsintabular{هشدارسبک‌بی‌سطر}{PackageWarningNoLine}
+\bicsintabular{صفحه‌شکن}{pagebreak}
+\bicsintabular{رنگ‌صفحه}{pagecolor}
+\bicsintabular{عمق‌صفحه}{pagedepth}
+\bicsintabular{کشش‌پرررصفحه}{pagefilllstretch}
+\bicsintabular{کشش‌پررصفحه}{pagefillstretch}
+\bicsintabular{کشش‌پرصفحه}{pagefilstretch}
+\bicsintabular{غایت‌صفحه}{pagegoal}
+\bicsintabular{نام‌صفحه}{pagename}
+\bicsintabular{شماره‌گذاری‌صفحه}{pagenumbering}
+\bicsintabular{رجوع‌صفحه}{pageref}
+\bicsintabular{ضخامت‌خط‌صفحه}{pagerulewidth}
+\bicsintabular{فشردگی‌صفحه}{pageshrink}
+\bicsintabular{کشش‌صفحه}{pagestretch}
+\bicsintabular{سبک‌صفحه}{pagestyle}
+\bicsintabular{جمع‌صفحه}{pagetotal}
+\bicsintabular{بلندای‌کاغذ}{paperheight}
+\bicsintabular{پهنای‌کاغذ}{paperwidth}
+\bicsintabular{بند}{par}
+\bicsintabular{پاراگراف}{paragraph}
+\bicsintabular{موازی}{parallel}
+\bicsintabular{کادرپار}{parbox}
+\bicsintabular{فاصله‌ته‌بند}{parfillskip}
+\bicsintabular{تورفتگی‌سربند}{parindent}
+\bicsintabular{فاصله‌بندلیست}{parsep}
+\bicsintabular{شکل‌بند}{parshape}
+\bicsintabular{فاصله‌بند}{parskip}
+\bicsintabular{بخش}{part}
+\bicsintabular{عنوان‌بخش}{partname}
+\bicsintabular{فاصله‌بالای‌لیست‌بند}{partopsep}
+\bicsintabular{ارسال‌گزینه‌به‌کلاس}{PassOptionToClass}
+\bicsintabular{ارسال‌گزینه‌به‌پکیج}{PassOptionToPackage}
+\bicsintabular{مسیر}{path}
+\bicsintabular{الگوها}{patterns}
+\bicsintabular{مکث}{pausing}
+\bicsintabular{جریمه}{penalty}
+\bicsintabular{غیب}{phantom}
+\bicsintabular{الگوی‌قبلی}{poptabs}
+\bicsintabular{جریمه‌پس‌نمایش}{postdisplaypenalty}
+\bicsintabular{جهت‌پیش‌نمایش}{predisplaydirection}
+\bicsintabular{جریمه‌پیش‌نمایش}{predisplaypenalty}
+\bicsintabular{اندازه‌پیش‌نمایش}{predisplaysize}
+\bicsintabular{پیش‌حدبدنمایی}{pretolerance}
+\bicsintabular{عمق‌قبلی}{prevdepth}
+\bicsintabular{بندقبلی}{prevgraf}
+\bicsintabular{نمایه‌دراینجا}{printindex}
+\bicsintabular{پردازش‌گزینه‌ها}{ProcessOptions}
+\bicsintabular{تامین}{protect}
+\bicsintabular{تهیه‌فرمان}{providecommand}
+\bicsintabular{آماده‌سازی‌طبقه}{ProvidesClass}
+\bicsintabular{آماده‌سازی‌پرونده}{ProvidesFile}
+\bicsintabular{آماده‌سازی‌سبک}{ProvidesPackage}
+\bicsintabular{ثبت‌الگو}{pushtabs}
+\bicsintabular{کواد}{quad}
+\bicsintabular{کوکواد}{qquad}
+\bicsintabular{@بازآیی‌خروج‌صفحه}{@outputpagerestore}
+\bicsintabular{رادیکال}{radical}
+\bicsintabular{پایین‌بی‌تنظیم}{raggedbottom}
+\bicsintabular{تنظیم‌ازراست}{raggedleft}
+\bicsintabular{تنظیم‌ازچپ}{raggedright}
+\bicsintabular{انتقال‌ببالا}{raise}
+\bicsintabular{بالابر}{raisebox}
+\bicsintabular{ترفیع‌اتیکت}{raisetag}
+\bicsintabular{زاویه‌ر}{rangle}
+\bicsintabular{سقف‌ر}{rceil}
+\bicsintabular{بخوان}{read}
+\bicsintabular{رجوع}{ref}
+\bicsintabular{کادرقرینه}{reflectbox}
+\bicsintabular{عنوان‌مراجع}{refname}
+\bicsintabular{گام‌شمارنده‌مرجع}{refstepcounter}
+\bicsintabular{راحت}{relax}
+\bicsintabular{رفع‌آخرین‌فاصله}{removelastskip}
+\bicsintabular{فرمان‌ازنو}{renewcommand}
+\bicsintabular{محیط‌ازنو}{renewenvironment}
+\bicsintabular{ازنو}{repeat}
+\bicsintabular{سبک‌موردنیاز}{RequirePackage}
+\bicsintabular{سبک‌موردنیازباگزینه}{RequirePackageWithOptions}
+\bicsintabular{کادرکشیده}{resizebox}
+\bicsintabular{درحاشیه‌معکوس}{reversemarginpar}
+\bicsintabular{کف‌ر}{rfloor}
+\bicsintabular{راست}{right}
+\bicsintabular{حاشیه‌راست}{rightmargin}
+\bicsintabular{علامت‌راست}{rightmark}
+\bicsintabular{کادرتاراست}{rightpageskip}
+\bicsintabular{فاصله‌انتهای‌سطر}{rightskip}
+\bicsintabular{رومن‌عادی}{rmdefault}
+\bicsintabular{فامیل‌رومن}{rmfamily}
+\bicsintabular{رومن‌بزرگ}{Roman}
+\bicsintabular{رومن‌کوچک}{roman}
+\bicsintabular{عددرومی}{romannumeral}
+\bicsintabular{کادرچرخان}{rotatebox}
+\bicsintabular{رنگ‌ردیف}{rowcolor}
+\bicsintabular{خط}{rule}
+\bicsintabular{@دومی‌ازدو}{@secondoftwo}
+\bicsintabular{@فضاها}{@spaces}
+\bicsintabular{همین‌صفحه}{samepage}
+\bicsintabular{مقدارکادر}{savebox}
+\bicsintabular{مقکادر}{sbox}
+\bicsintabular{کادراندازه}{scalebox}
+\bicsintabular{پیش‌فرض‌تمام‌بزرگ}{scdefault}
+\bicsintabular{شکل‌تمام‌بزرگ}{scshape}
+\bicsintabular{قلم‌توان}{scriptfont}
+\bicsintabular{قلم‌توان‌توان}{scriptscriptfont}
+\bicsintabular{سبک‌ته‌نوشت‌ته‌نوشت}{scriptscriptstyle}
+\bicsintabular{اندازه‌پانویس}{scriptsize}
+\bicsintabular{سبک‌ته‌نوشت}{scripstyle}
+\bicsintabular{پردازش‌گذری}{scrollmode}
+\bicsintabular{قسمت}{section}
+\bicsintabular{تعریف‌قسمت}{secdef}
+\bicsintabular{ببینید}{see}
+\bicsintabular{نیزببینید}{seealso}
+\bicsintabular{نام‌ببینید}{seename}
+\bicsintabular{قلم‌بردار}{selectfont}
+\bicsintabular{تنظیم‌بولی}{setboolean}
+\bicsintabular{درکادر}{setbox}
+\bicsintabular{مقدارشمارنده}{setcounter}
+\bicsintabular{مقدارکلیدها}{setkeys}
+\bicsintabular{مقداربعد}{setlength}
+\bicsintabular{تنظیم‌منها}{setminus}
+\bicsintabular{تعریف‌قلم‌علائم}{SetSymbolFont}
+\bicsintabular{تنظیم‌به‌عمق}{settodepth}
+\bicsintabular{تنظیم‌به‌ارتفاع}{settoheight}
+\bicsintabular{مقداربعدبه‌اندازه}{settowidth}
+\bicsintabular{کدضریب‌فاصله}{sfcode}
+\bicsintabular{پیش‌فرض‌س‌ف}{sfdefault}
+\bicsintabular{فامیل‌سن‌سریف}{sffamily}
+\bicsintabular{کادرسایه‌دار}{shadowbox}
+\bicsintabular{تیز}{sharp}
+\bicsintabular{بفرست}{shipout}
+\bicsintabular{پشته‌کوتاه}{shortstack}
+\bicsintabular{نمایش‌بده}{show}
+\bicsintabular{نمایش‌بده‌کادر}{showbox}
+\bicsintabular{میزان‌نمایش‌کادر}{showboxbreadth}
+\bicsintabular{عمق‌نمایش‌کادر}{showboxdepth}
+\bicsintabular{نمایش‌بده‌لیستها}{showlists}
+\bicsintabular{نمایش‌بده‌محتوای}{showthe}
+\bicsintabular{حالت‌ساده‌قلم}{simplefontmode}
+\bicsintabular{شانزد@}{sixt@@n}
+\bicsintabular{نویسه‌اریب}{skewchar}
+\bicsintabular{فاصله}{skip}
+\bicsintabular{فاصل@}{skip@}
+\bicsintabular{تعریف‌فاصله}{skipdef}
+\bicsintabular{خوابیده}{sl}
+\bicsintabular{پیش‌فرض‌خو}{sldefault}
+\bicsintabular{شکل‌خوابیده}{slshape}
+\bicsintabular{راحت‌چین}{sloppy}
+\bicsintabular{شمایل‌خو}{slshape}
+\bicsintabular{کوچک}{small}
+\bicsintabular{پرش‌کوتاه}{smallskip}
+\bicsintabular{مقدارپرش‌کوتاه}{smallskipamount}
+\bicsintabular{کوب}{smash}
+\bicsintabular{لبخند}{smile}
+\bicsintabular{کدمکان‌همانطور}{snglfntlocatecode}
+\bicsintabular{فضا}{space}
+\bicsintabular{ضریب‌فاصله}{spacefactor}
+\bicsintabular{فاصله‌کلمات}{spaceskip}
+\bicsintabular{پیک}{spadesuit}
+\bicsintabular{ادغام}{span}
+\bicsintabular{ویژه}{special}
+\bicsintabular{حداکثرعمق‌ستون}{splitmaxdepth}
+\bicsintabular{فاصله‌بالای‌ستون}{splittopskip}
+\bicsintabular{ستاره}{star}
+\bicsintabular{گام‌شمارنده}{stepcounter}
+\bicsintabular{کشی}{stretch}
+\bicsintabular{رشته}{string}
+\bicsintabular{شمع}{strut}
+\bicsintabular{کادرشمع}{strutbox}
+\bicsintabular{زیربند}{subitem}
+\bicsintabular{زیرپاراگراف}{subparagraph}
+\bicsintabular{زیرقسمت}{subsection}
+\bicsintabular{زیرپشته}{substack}
+\bicsintabular{زیرزیربند}{subsubitem}
+\bicsintabular{زیرزیرقسمت}{subsubsection}
+\bicsintabular{زیرمجموعه}{subset}
+\bicsintabular{زیرمجموعه‌مس}{subseteq}
+\bicsintabular{منتهای‌صفحه}{supereject}
+\bicsintabular{حذف‌مکان‌شناور}{suppressfloats}
+\bicsintabular{@موقت‌آ}{@tempa}
+\bicsintabular{@موقت‌ب}{@tempb}
+\bicsintabular{@موقت‌پ}{@tempc}
+\bicsintabular{@موقت‌ت}{@tempd}
+\bicsintabular{@موقت‌ث}{@tempe}
+\bicsintabular{@کادرقت‌آ}{@tempboxa}
+\bicsintabular{@شماقت‌آ}{@tempcnta}
+\bicsintabular{@شماقت‌ب}{@tempcntb}
+\bicsintabular{@بعدقت‌آ}{@tempdima}
+\bicsintabular{@بعدقت‌ب}{@tempdimb}
+\bicsintabular{@بعدقت‌پ}{@tempdimc}
+\bicsintabular{@فاقت‌آ}{@tempskipa}
+\bicsintabular{@فاقت‌ب}{@tempskipb}
+\bicsintabular{@سواقت‌آنادرست}{@tempswafalse}
+\bicsintabular{@سواقت‌آدرست}{@tempswatrue}
+\bicsintabular{@جزقت‌آ}{@temptokena}
+\bicsintabular{انگ‌زیرنویس}{@thefnmark}
+\bicsintabular{@سومی‌ازسه}{@thirdofthree}
+\bicsintabular{فاصله‌جاگذاری}{tabbingsep}
+\bicsintabular{فاصله‌بین‌ستونها}{tabcolsep}
+\bicsintabular{فهرست‌مطالب}{tableofcontents}
+\bicsintabular{عنوان‌جدول}{tablename}
+\bicsintabular{فاصله‌ستونها}{tabskip}
+\bicsintabular{ته‌سطرجدول}{tabularnewline}
+\bicsintabular{اتیکت}{tag}
+\bicsintabular{تلفن}{telephone}
+\bicsintabular{تک}{TeX}
+\bicsintabular{متن}{text}
+\bicsintabular{گلوله‌متنی}{textbullet}
+\bicsintabular{قلم‌متن}{textfont}
+\bicsintabular{ام‌دش‌متنی}{textemdash}
+\bicsintabular{ان‌دش‌متنی}{textendash}
+\bicsintabular{تعجب‌وارونه‌متنی}{textexclamdown}
+\bicsintabular{نقطه‌وسط‌متنی}{textperiodcentered}
+\bicsintabular{سوال‌وارونه‌متنی}{textquestiondown}
+\bicsintabular{نقل‌چپ‌متنی‌دولا}{textquotedblleft}
+\bicsintabular{نقل‌راست‌متنی‌دولا}{textquotedblright}
+\bicsintabular{نقل‌متنی‌چپ}{textquoteleft}
+\bicsintabular{نقل‌متنی‌راست}{textquoteright}
+\bicsintabular{فضای‌نمایان‌متنی‌}{textvisiblespace}
+\bicsintabular{شکافت‌پشت‌متنی}{textbackslash}
+\bicsintabular{میله‌متنی}{textbar}
+\bicsintabular{بزرگ‌تر‌متنی}{textgreater}
+\bicsintabular{کمتر‌متنی}{textless}
+\bicsintabular{متن‌سیاه}{textbf}
+\bicsintabular{مدور‌متنی}{textcircled}
+\bicsintabular{رنگ‌متن}{textcolor}
+\bicsintabular{نشان‌کلمه‌مرکب‌متن}{textcompwordmark}
+\bicsintabular{فاصله‌متن‌وشناور}{textfloatsep}
+\bicsintabular{نسبت‌متن}{textfraction}
+\bicsintabular{بلندای‌متن}{textheight}
+\bicsintabular{متن‌تورفته}{textindent}
+\bicsintabular{متن‌ایتالیک}{textit}
+\bicsintabular{متن‌نازک}{textmd}
+\bicsintabular{متن‌نرمال}{textnormal}
+\bicsintabular{ثبتی‌متنی}{textregistered}
+\bicsintabular{متن‌رومن}{textrm}
+\bicsintabular{متن‌تمام‌بزرگ}{textsc}
+\bicsintabular{متن‌سن‌سریف}{textsf}
+\bicsintabular{متن‌خوابیده}{textsl}
+\bicsintabular{سبک‌متنی}{textstyle}
+\bicsintabular{بالانویس‌متنی}{textsuperscript}
+\bicsintabular{علامت‌تجاری‌متنی}{texttrademark}
+\bicsintabular{متن‌تایپ}{texttt}
+\bicsintabular{متن‌ایستاده}{textup}
+\bicsintabular{پهنای‌متن}{textwidth}
+\bicsintabular{زیر‌نویس‌عنوان}{thanks}
+\bicsintabular{محتوای}{the}
+\bicsintabular{این‌زیرنویس}{thempfn}
+\bicsintabular{خط‌هاضخیم}{thicklines}
+\bicsintabular{فاصله‌زیادریاضی}{thickmuskip}
+\bicsintabular{فاصله‌کم‌ریاضی}{thinmuskip}
+\bicsintabular{فضاضخیم}{thickspace}
+\bicsintabular{خط‌هانازک}{thinlines}
+\bicsintabular{دوری‌کوچک}{thinspace}
+\bicsintabular{این‌صفحه‌تجملی}{thisfancypage}
+\bicsintabular{سبک‌این‌صفحه}{thispagestyle}
+\bicsintabular{سه@}{thr@@}
+\bicsintabular{مد}{tilde}
+\bicsintabular{ظریف}{tiny}
+\bicsintabular{زمان}{time}
+\bicsintabular{ضرب‌در}{times}
+\bicsintabular{عنوان}{title}
+\bicsintabular{به}{to}
+\bicsintabular{امروز}{today}
+\bicsintabular{جزء}{toks}
+\bicsintabular{تعریف‌جزء}{toksdef}
+\bicsintabular{حدبدنمایی}{tolerance}
+\bicsintabular{بالا}{top}
+\bicsintabular{خط‌بالای‌شناور}{topfigrule}
+\bicsintabular{نسبت‌بالا}{topfraction}
+\bicsintabular{حاشیه‌بالا}{topmargin}
+\bicsintabular{علامت‌بالا}{topmark}
+\bicsintabular{کادرتابالا}{toppageskip}
+\bicsintabular{فاصله‌بالای‌لیست}{topsep}
+\bicsintabular{فاصله‌بالا}{topskip}
+\bicsintabular{بلندای‌کل}{totalheight}
+\bicsintabular{ردگیری‌کل}{tracingall}
+\bicsintabular{ردگیری‌فرامین}{tracingcommands}
+\bicsintabular{ردگیری‌حروف}{tracinglostchars}
+\bicsintabular{ردگیری‌ماکروها}{tracingmacros}
+\bicsintabular{ردگیری‌نمایشی}{tracingonline}
+\bicsintabular{ردگیری‌صفحه‌بندی}{tracingoutput}
+\bicsintabular{ردگیری‌صفحات}{tracingpages}
+\bicsintabular{ردگیری‌بندها}{tracingparagraphs}
+\bicsintabular{ردگیری‌بازگردانی}{tracingrestores}
+\bicsintabular{ردگیری‌آمارها}{tracingstats}
+\bicsintabular{مثلث}{triangle}
+\bicsintabular{پیش‌فرض‌تایپ}{ttdefault}
+\bicsintabular{فامیل‌تایپ}{ttfamily}
+\bicsintabular{دو@}{tw@}
+\bicsintabular{دوستون}{twocolumn}
+\bicsintabular{درنویس}{typein}
+\bicsintabular{برنویس}{typeout}
+\bicsintabular{کدبزرگ}{uccode}
+\bicsintabular{تیره‌بندی‌بزرگ}{uchyph}
+\bicsintabular{تعریف‌نشده}{undefined}
+\bicsintabular{زیرخط}{underline}
+\bicsintabular{بی‌کادرا}{unhbox}
+\bicsintabular{بی‌کپی‌ا}{unhcopy}
+\bicsintabular{واحدطول}{unitlength}
+\bicsintabular{برگشت‌دوری}{unkern}
+\bicsintabular{برگشت‌جریمه}{unpenalty}
+\bicsintabular{برگشت‌فاصله}{unskip}
+\bicsintabular{بی‌کادرو}{unvbox}
+\bicsintabular{بی‌کپی‌و}{unvcopy}
+\bicsintabular{پیش‌فرض‌ایستاده}{updefault}
+\bicsintabular{شکل‌ایستاده}{upshape}
+\bicsintabular{ازکادر}{usebox}
+\bicsintabular{باشمارشگر}{usecounter}
+\bicsintabular{گزینش‌قلم}{usefont}
+\bicsintabular{سبک‌لازم}{usepackage}
+\bicsintabular{@فضاهای‌فعال}{@vobeyspaces}
+\bicsintabular{@تهی}{@void}
+\bicsintabular{تنظیم‌و}{vadjust}
+\bicsintabular{ردیف‌و}{valign}
+\bicsintabular{محتوای‌شمارنده}{value}
+\bicsintabular{بدنمایی‌و}{vbadness}
+\bicsintabular{کادرو}{vbox}
+\bicsintabular{کادروسط}{vcenter}
+\bicsintabular{همانطور}{verb}
+\bicsintabular{پرو}{vfil}
+\bicsintabular{پررو}{vfill}
+\bicsintabular{رفع‌پرو}{vfilneg}
+\bicsintabular{پرزعمودی}{vfuzz}
+\bicsintabular{نمایان}{visible}
+\bicsintabular{خط‌عمود}{vline}
+\bicsintabular{حاشیه‌و}{voffset}
+\bicsintabular{ک@درتهی}{voidb@x}
+\bicsintabular{ارجاع‌صفحه‌ع}{vpageref}
+\bicsintabular{فاصله‌وگرد}{vrboxsep}
+\bicsintabular{ارجاع‌ع}{vref}
+\bicsintabular{خط‌و}{vrule}
+\bicsintabular{طول‌صفحه}{vsize}
+\bicsintabular{فاصله‌و}{vskip}
+\bicsintabular{فضای‌و}{vspace}
+\bicsintabular{شکست‌و}{vsplit}
+\bicsintabular{هردوو}{vss}
+\bicsintabular{کادرگود}{vtop}
+\bicsintabular{عرض}{wd}
+\bicsintabular{مادام‌بکن}{whiledo}
+\bicsintabular{کلاه‌پهن}{widehat}
+\bicsintabular{مدپهن}{widetilde}
+\bicsintabular{جریمه‌ته‌بند}{widowpenalty}
+\bicsintabular{پهنا}{width}
+\bicsintabular{درکارنامه}{wlog}
+\bicsintabular{بنویس}{write}
+\bicsintabular{@فضای‌لاتین}{@xobeysp}
+\bicsintabular{سی@دو}{@xxxii}
+\bicsintabular{ترگع}{xdef}
+\bicsintabular{نشانگرگسترشی}{xleaders}
+\bicsintabular{فاصله‌اضافی‌کلمات}{xspaceskip}
+\bicsintabular{سال}{year}
+\bicsintabular{@فر}{z@}
+\bicsintabular{@فرفاصله}{z@skip}
+\end{supertabular}
+\end{center}
+
+\bigskip
+\begin{center}
+\tablecaption{The Equivalent \XePersian\ Commands\label{xcs}}
+\tablehead
+ {\bfseries Command in \XePersian &\bfseries Equivalent Persian Command\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\bicsintabular{خط‌زیرنویس‌خودکار}{autofootnoterule}
+\bicsintabular{اعدادفرمولهاخودکار}{AutoMathsDigits}
+\bicsintabular{اعدادفرمولهالاتین}{DefaultMathsDigits}
+\bicsintabular{تعریف‌قلم‌لاتین}{deflatinfont}
+\bicsintabular{تعریف‌قلم‌پارسی}{defpersianfont}
+\bicsintabular{کادراچپ}{hboxL}
+\bicsintabular{کادراست}{hboxR}
+\bicsintabular{معادل@کلید}{keyval@eq@alias@key}
+\bicsintabular{مرجع‌لاتین}{Latincite}
+\bicsintabular{قلم‌لاتین}{latinfont}
+\bicsintabular{امروزلاتین}{latintoday}
+\bicsintabular{خط‌زیرنویس‌چپ}{leftfootnoterule}
+\bicsintabular{متن‌لاتین}{lr}
+\bicsintabular{چپ‌براست}{LRE}
+\bicsintabular{دوستونی‌چپ}{LTRdblcol}
+\bicsintabular{پانویس}{LTRfootnote}
+\bicsintabular{متن‌پانویس}{LTRfootnotetext}
+\bicsintabular{پانویس‌عنوان}{LTRthanks}
+\bicsintabular{روزپارسی}{persianday}
+\bicsintabular{قلم‌پارسی}{persianfont}
+\bicsintabular{اعدادفرمولهاپارسی}{PersianMathsDigits}
+\bicsintabular{ماه‌پارسی}{persianmonth}
+\bicsintabular{سال‌پارسی}{persianyear}
+\bicsintabular{علامت‌چپ‌نقل‌قول‌پارسی‌}{plq}
+\bicsintabular{علامت‌راست‌نقل‌قول‌پارسی}{prq}
+\bicsintabular{خط‌زیرنویس‌راست}{rightfootnoterule}
+\bicsintabular{متن‌پارسی}{rl}
+\bicsintabular{راست‌بچپ}{RLE}
+\bicsintabular{دوستونی‌راست}{RTLdblcol}
+\bicsintabular{پانوشت}{RTLfootnote}
+\bicsintabular{متن‌پانوشت}{RTLfootnotetext}
+\bicsintabular{پانوشت‌عنوان}{RTLthanks}
+\bicsintabular{@علامت‌بین}{@SepMark}
+\bicsintabular{علامت‌بین}{SepMark}
+\bicsintabular{بگذارمرجوعات‌عادی}{setdefaultbibitems}
+\bicsintabular{بگذاردرحاشیه‌عادی}{setdefaultmarginpar}
+\bicsintabular{گزینش‌قلم‌اعدادفرمولها}{setmathdigitfont}
+\bicsintabular{بگذارزیرنویس‌چپ}{setfootnoteLR}
+\bicsintabular{بگذارزیرنویس‌راست}{setfootnoteRL}
+\bicsintabular{گزینش‌قلم‌لاتین‌متن}{setlatintextfont}
+\bicsintabular{بگذارمتن‌چپ}{setLTR}
+\bicsintabular{بگذارمرجوعات‌چپ}{setLTRbibitems}
+\bicsintabular{بگذاردرحاشیه‌چپ}{setLTRmarginpar}
+\bicsintabular{بگذارمتن‌راست}{setRTL}
+\bicsintabular{بگذارمرجوعات‌راست}{setRTLbibitems}
+\bicsintabular{بگذاردرحاشیه‌راست}{setRTLmarginpar}
+\bicsintabular{گزینش‌قلم‌متن}{settextfont}
+\bicsintabular{خط‌زیرنویس‌پهنای‌متن}{textwidthfootnoterule}
+\bicsintabular{فهرست‌مطالب‌دوستونی}{twocolumnstableofcontents}
+\bicsintabular{نگذارزیرنویس‌راست}{unsetfootnoteRL}
+\bicsintabular{نگذارمتن‌چپ}{unsetLTR}
+\bicsintabular{نگذارمتن‌راست}{unsetRTL}
+\bicsintabular{کادروازچپ}{vboxL}
+\bicsintabular{کادروازراست}{vboxR}
+\bicsintabular{زی‌لاتک}{XeLaTeX}
+\bicsintabular{زی‌پرشین}{XePersian}
+\bicsintabular{گونه‌زی‌پرشین}{xepersianversion}
+\bicsintabular{تاریخ‌گونه‌زی‌پرشین}{xepersiandate}
+\bicsintabular{زی‌تک}{XeTeX}
+\end{supertabular}
+\end{center}
+
+\bigskip
+\begin{center}
+\tablecaption{The Equivalent \LaTeX\ Environments\label{lenv}}
+\tablehead
+ {\bfseries Environment in \LaTeX\ &\bfseries Equivalent Persian Environment\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\bienvintabular{چکیده}{abstract}
+\bienvintabular{پیوست}{appendix}
+\bienvintabular{آرایه}{array}
+\bienvintabular{وسط‌چین}{center}
+\bienvintabular{توضیح}{description}
+\bienvintabular{ریاضی‌نمایشی}{displaymath}
+\bienvintabular{نوشتار}{document}
+\bienvintabular{شمارش}{enumerate}
+\bienvintabular{شکل}{figure}
+\bienvintabular{شکل*}{figure*}
+\bienvintabular{محتوای‌پرونده}{filecontents}
+\bienvintabular{محتوای‌پرونده*}{filecontents*}
+\bienvintabular{چپ‌چین}{flushleft}
+\bienvintabular{راست‌چین}{flushright}
+\bienvintabular{فقرات}{itemize}
+\bienvintabular{نامه}{letter}
+\bienvintabular{لیست}{list}
+\bienvintabular{جدول‌دراز}{longtable}
+\bienvintabular{کادررچ}{lrbox}
+\bienvintabular{ریاضی}{math}
+\bienvintabular{ماتریس}{matrix}
+\bienvintabular{صفحه‌کوچک}{minipage}
+\bienvintabular{چندستونی‌ها}{multicols}
+\bienvintabular{چندخطی}{multline}
+\bienvintabular{یادداشت}{note}
+\bienvintabular{انباشتن}{overlay}
+\bienvintabular{تصویر}{picture}
+\bienvintabular{اقتباس}{quotation}
+\bienvintabular{نقل}{quote}
+\bienvintabular{اسلاید}{slide}
+\bienvintabular{پارنامرتب}{sloppypar}
+\bienvintabular{شکافتن}{split}
+\bienvintabular{زیرآرایه}{subarray}
+\bienvintabular{جاگذاری}{tabbing}
+\bienvintabular{لوح}{table}
+\bienvintabular{لوح*}{table*}
+\bienvintabular{جدول}{tabular}
+\bienvintabular{جدول*}{tabular*}
+\bienvintabular{مراجع}{thebibliography}
+\bienvintabular{محتوای‌نمایه}{theindex}
+\bienvintabular{صفحه‌عنوان}{titlepage}
+\bienvintabular{لیست‌بدوی}{trivlist}
+\bienvintabular{همانطورکه‌هست}{verbatim}
+\bienvintabular{همانطورکه‌هست*}{verbatim*}
+\bienvintabular{شعر}{verse}
+\end{supertabular}
+\end{center}
+
+\bigskip
+\begin{center}
+\tablecaption{The Equivalent \XePersian\ Environments\label{xenv}}
+\tablehead
+ {\bfseries Environment in \XePersian\ &\bfseries Equivalent Persian Environment\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\bienvintabular{لاتین}{latin}
+\bienvintabular{متن‌چپ}{LTR}
+\bienvintabular{دسته‌بندی‌چپ}{LTRitems}
+\bienvintabular{پارسی}{persian}
+\bienvintabular{متن‌راست}{RTL}
+\bienvintabular{دسته‌بندی‌راست}{RTLitems}
+\end{supertabular}
+\end{center}
+\paragraph{Localisation of postion arguments.}
+ Some environments like \texttt{tabular} and some commands like \Lcs{parbox} have an argument which specifies the position. Table \autoref{table-pos} shows their localisations.
+\begin{center}
+\tablecaption{The Equivalent \LaTeX{} position arguments\label{table-pos}}
+\tablehead
+ {\bfseries Position argument in \LaTeX &\bfseries Equivalent Persian position argument\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{cc}
+\texttt{b}&\Penv{ز}\\
+\texttt{c}&\Penv{و}\\
+\texttt{C}&\Penv{س}\\
+\texttt{h}&\Penv{ا}\\
+\texttt{H}&\Penv{آ}\\
+\texttt{J}&\Penv{ت}\\
+\texttt{l}&\Penv{چ}\\
+\texttt{L}&\Penv{ف}\\
+\texttt{m}&\Penv{م}\\
+\texttt{p}&\Penv{پ}\\
+\texttt{p}&\Penv{ص}\\
+\texttt{r}&\Penv{ر}\\
+\texttt{R}&\Penv{ا}\\
+\texttt{s}&\Penv{ک}\\
+\texttt{t}&\Penv{ب}\\
+\end{supertabular}
+\end{center}
+\begin{itemize}
+\item There are two \texttt{p}s in \autoref{table-pos}, first \texttt{p} and its Persian equivalent \Penv{پ} stand for paragraph (used in \texttt{tabular} and similar environments) and the second \texttt{p} and its Persian equivalent \Penv{ص} stand for page (used in \texttt{float}-like environments).
+\end{itemize}
+\subsubsection{Localizations of the keys and key values of \textsf{graphicx} package}
+The equivalent Persian keys and key values of \textsf{graphicx} package is shown in \autoref{table:key} and \autoref{table:keyvalue} respectively.
+\begin{center}
+\tablecaption{Persian Equivalent keys of \textsf{graphicx} package\label{table:key}}
+\tablehead
+ {\bfseries Original Key &\bfseries Equivalent Persian Key\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\texttt{draft}&\Penv{پیش‌نویس}\\
+\texttt{origin}&\Penv{مبدا}\\
+\texttt{clip}&\Penv{بی‌اضافه}\\
+\texttt{keepaspectratio}&\Penv{حفظ‌تناسب}\\
+\texttt{natwidth}&\Penv{پهنای‌طبیعی}\\
+\texttt{natheight}&\Penv{بلندای‌طبیعی}\\
+\texttt{bb}&\Penv{مختصات}\\
+\texttt{viewport}&\Penv{محدوده‌نمایش}\\
+\texttt{trim}&\Penv{حذف‌اطراف}\\
+\texttt{angle}&\Penv{زاویه}\\
+\texttt{width}&\Penv{پهنا}\\
+\texttt{height}&\Penv{بلندا}\\
+\texttt{totalheight}&\Penv{بلندای‌کل}\\
+\texttt{scale}&\Penv{ضریب}\\
+\texttt{type}&\Penv{نوع}\\
+\texttt{ext}&\Penv{پسوند}\\
+\texttt{read}&\Penv{خواندنی}\\
+\texttt{command}&\Penv{فرمان}\\
+\texttt{x}&\Penv{طول}\\
+\texttt{y}&\Penv{عرض}\\
+\texttt{units}&\Penv{واحد}\\
+\end{supertabular}
+\end{center}
+\begin{center}
+\tablecaption{Persian Equivalent key values of \textsf{graphicx} package\label{table:keyvalue}}
+\tablehead
+ {\bfseries Original Key value&\bfseries Equivalent Persian Key value\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{cc}
+\texttt{b}&\Penv{ز}\\
+\texttt{B}&\Penv{ک}\\
+\texttt{false}&\Penv{نادرست}\\
+\texttt{l}&\Penv{چ}\\
+\texttt{r}&\Penv{ر}\\
+\texttt{t}&\Penv{ب}\\
+\texttt{true}&\Penv{درست}\\
+\end{supertabular}
+\end{center}
+\subsubsection{Localizations of font features and font feature options}
+The equivalent Persian font features and font feature options is shown in \autoref{table:ff} and \autoref{table:ffo} respectively.
+\begin{center}
+\tablecaption{Persian Equivalent font features\label{table:ff}}
+\tablehead
+ {\bfseries Original font feature &\bfseries Equivalent Persian font feature\\ \hline}
+\tabletail
+ {\hline \multicolumn{2}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{lr}
+\biffintabular{ExternalLocation}{مکان‌خارجی}
+\biffintabular{ExternalLocation}{مسیر}
+\biffintabular{Renderer}{تحویل‌دهنده}
+\biffintabular{BoldFont}{قلم‌سیاه}
+\biffintabular{Language}{زبان}
+\biffintabular{Script}{خط}
+\biffintabular{UprightFont}{قلم‌عمودی}
+\biffintabular{ItalicFont}{قلم‌ایتالیک}
+\biffintabular{BoldItalicFont}{قلم‌ایتالیک‌سیاه}
+\biffintabular{SlantedFont}{قلم‌خوابیده}
+\biffintabular{BoldSlantedFont}{قلم‌خوابیده‌سیاه}
+\biffintabular{SmallCapsFont}{قلم‌کلاه‌کوچک}
+\biffintabular{UprightFeatures}{ویژگی‌های‌قلم‌عمودی}
+\biffintabular{BoldFeatures}{ویژگی‌های‌قلم‌سیاه}
+\biffintabular{ItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک}
+\biffintabular{BoldItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک‌سیاه}
+\biffintabular{SlantedFeatures}{ویژگی‌های‌قلم‌خوابیده}
+\biffintabular{BoldSlantedFeatures}{ویژگی‌های‌قلم‌خوابیده‌سیاه}
+\biffintabular{SmallCapsFeatures}{ویژگی‌های‌قلم‌کلاه‌کوچک}
+\biffintabular{SizeFeatures}{ویژگی‌های‌اندازه}
+\biffintabular{Scale}{ضریب}
+\biffintabular{WordSpace}{فضای‌کلمه}
+\biffintabular{PunctuationSpace}{فضای‌نقطه‌گذاری}
+\biffintabular{FontAdjustment}{تنظیم‌قلم}
+\biffintabular{LetterSpace}{فضای‌حرف}
+\biffintabular{HyphenChar}{نویسه‌تیره}
+\biffintabular{Color}{رنگ}
+\biffintabular{Opacity}{کدری}
+\biffintabular{Mapping}{نگاشت}
+\biffintabular{Weight}{سنگینی}
+\biffintabular{Width}{پهنا}
+\biffintabular{OpticalSize}{اندازه‌چشمی}
+\biffintabular{FakeSlant}{خوابیده‌تقلبی}
+\biffintabular{FakeStretch}{کشش‌تقلبی}
+\biffintabular{FakeBold}{سیاه‌تقلبی}
+\biffintabular{AutoFakeSlant}{خوابیده‌تقلبی‌خودکار}
+\biffintabular{AutoFakeBold}{سیاه‌تقلبی‌خودکار}
+\biffintabular{Ligatures}{دویاچندحرف‌متصل‌به‌هم}
+\biffintabular{Alternate}{متناوب}
+\biffintabular{Variant}{گوناگون}
+\biffintabular{Variant}{مجموعه‌سبکی}
+\biffintabular{CharacterVariant}{گوناگونی‌نویسه}
+\biffintabular{Style}{سبک}
+\biffintabular{Annotation}{یادداشت}
+\biffintabular{RawFeature}{ویژگی‌های‌کال}
+\biffintabular{CharacterWidth}{پهنای‌نویسه}
+\biffintabular{Numbers}{ارقام}
+\biffintabular{Contextuals}{متنی}
+\biffintabular{Diacritics}{تفکیک‌کننده‌ها}
+\biffintabular{Letters}{حروف}
+\biffintabular{Kerning}{دوری}
+\biffintabular{VerticalPosition}{موقعیت‌عمودی}
+\biffintabular{Fractions}{کسر}
+\end{supertabular}
+\end{center}
+\begin{center}
+\tablecaption{Persian Equivalent font feature options\label{table:ffo}}
+\tablehead
+ {\bfseries font feature&\bfseries font feature option &\bfseries Persian font feature option\\ \hline}
+\tabletail
+ {\hline \multicolumn{3}{r}{\emph{Continued on next page}}\\}
+\tablelasttail{\hline}
+\begin{supertabular}{llr}
+\biffointabular{Language}{Default}{پیش‌فرض}
+\biffointabular{Language}{Parsi}{پارسی}
+\biffointabular{Script}{Parsi}{پارسی}
+\biffointabular{Script}{Latin}{لاتین}
+\biffointabular{Style}{MathScript}{اسکریپت‌ریاضی}
+\biffointabular{Style}{MathScriptScript}{اسکریپت‌اسکریپت‌ریاضی}
+\end{supertabular}
+\end{center}
+\subsection{A Sample Input \TeX\ File}
+\begin{lstlisting}[morekeywords={settextfont,maketitle,tableofcontents,subsection,subsubsection,part}]
+\documentclass{article}
+\usepackage{xepersian}
+\settextfont{XB Niloofar}
+\title{*\parsitext{یک سند نمونه}*}
+\author{*\parsitext{نام نویسنده}*}
+\begin{document}
+\maketitle
+\tableofcontents
+\part{*\parsitext{عنوان بخش}*}
+...
+\section{*\parsitext{عنوان قسمت}*}
+...
+\subsection{*\parsitext{عنوان زیرقسمت}*}
+...
+\subsubsection{*\parsitext{عنوان زیر زیرقسمت}*}
+...
+\end{document}
+\end{lstlisting}
+\subsection{Font Commands}
+\subsubsection{Basic Font Commands}
+\begin{BDef}
+\Lcs{settextfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{setlatintextfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{setmathdigitfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{setmathsfdigitfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{setmathttdigitfont}\OptArgs\Largb{\Larga{font name}}
+\end{BDef}
+\begin{itemize}
+\item Options in any font command in this documentation are anything that \textsf{fontspec} package provides as the option of loading fonts, except \texttt{Script} and \texttt{Mapping}.
+\item \Lcs{settextfont} will choose the default font for Persian texts of your document.
+\item \Lcs{setlatintextfont} will choose the font for Latin texts of your document. If you do not use this command at all, the default \TeX\ font (fonts used in this documentation) will be used for Latin texts of your document.
+\item \Lcs{setmathdigitfont} will choose the Persian font for digits in math mode. By default, digits in math mode will appear in Persian form.
+\item \Lcs{setmathsfdigitfont} will choose the Persian font for digits in math mode inside \Lcs{mathsf}. By using this command, digits in math mode inside \Lcs{mathsf} will appear in Persian form and if you do not use this command at all, you will get default \TeX\ font for digits in math mode inside \Lcs{mathsf} and digits appear in their original form (Western).
+\item \Lcs{setmathttdigitfont} will choose the Persian font for digits in math mode inside \Lcs{mathtt}. By using this command, digits in math mode inside \Lcs{mathtt} will appear in Persian form and if you do not use this command at all, you will get default \TeX\ font for digits in math mode inside \Lcs{mathtt} and digits appear in their original form (Western).
+\end{itemize}
+\subsubsection{Defining Extra Persian and Latin Fonts}
+\begin{BDef}
+\Lcs{defpersianfont}\Lcs{CS}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{deflatinfont}\Lcs{CS}\OptArgs\Largb{\Larga{font name}}
+\end{BDef}
+\begin{itemize}
+\item With \Lcs{defpersianfont}, you can define extra Persian fonts.
+\begin{lstlisting}[numbers=none,morekeywords={defpersianfont,Nastaliq}]
+\defpersianfont\Nastaliq[Scale=1]{IranNastaliq}
+\end{lstlisting}
+In this example, we define \Lcs{Nastaliq} to stand for IranNastaliq font.
+\item With \Lcs{deflatinfont}, you can define extra Latin fonts.
+\begin{lstlisting}[numbers=none,morekeywords={deflatinfont,junicode}]
+\deflatinfont\junicode[Scale=1]{Junicode}
+\end{lstlisting}
+In this example, we define \Lcs{junicode} to stand for Junicode font.
+\end{itemize}
+\subsubsection{Choosing Persian Sans Font}
+\begin{BDef}
+\Lcs{setpersiansansfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{persiansffamily}\quad\Lcs{textpersiansf}\Largb{\Larga{text}}
+\end{BDef}
+\subsubsection{Choosing Persian Mono Font}
+\begin{BDef}
+\Lcs{setpersianmonofont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{persianttfamily}\quad\Lcs{textpersiantt}\Largb{\Larga{text}}
+\end{BDef}
+\subsubsection{Choosing Persian Iranic Font}
+\begin{BDef}
+\Lcs{setiranicfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{iranicfamily}\quad\Lcs{textiranic}\Largb{\Larga{text}}
+\end{BDef}
+\subsubsection{Choosing Persian Navar Font}
+\begin{BDef}
+\Lcs{setnavarfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{navarfamily}\quad\Lcs{textnavar}\Largb{\Larga{text}}
+\end{BDef}
+\subsubsection{Choosing Persian Pook Font}
+\begin{BDef}
+\Lcs{setpookfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{pookfamily}\quad\Lcs{textpook}\Largb{\Larga{text}}
+\end{BDef}
+
+\subsubsection{Choosing Persian Sayeh Font}
+\begin{BDef}
+\Lcs{setsayehfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{sayehfamily}\quad\Lcs{textsayeh}\Largb{\Larga{text}}
+\end{BDef}
+
+\subsubsection{Choosing Latin Sans Font}
+\begin{BDef}
+\Lcs{setlatinsansfont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{sffamily}\quad\Lcs{textsf}\Largb{\Larga{text}}
+\end{BDef}
+\subsubsection{Choosing Latin Mono Font}
+\begin{BDef}
+\Lcs{setlatinmonofont}\OptArgs\Largb{\Larga{font name}}\\
+\Lcs{ttfamily}\quad\Lcs{texttt}\Largb{\Larga{text}}
+\end{BDef}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-boolean.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-boolean.ltx
new file mode 100644
index 00000000000..47c0c07dd80
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-boolean.ltx
@@ -0,0 +1,13 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\section{New Conditionals}
+\subsection{Shell escape (or write18) conditional}
+\begin{BDef}
+\Lcs{ifwritexviii}\\
+\qquad\textcolor{myred}{\Larga{material when Shell escape (or write18) is enabled}}\\
+\Lcs{else}\\
+\qquad\textcolor{myred}{\Larga{material when Shell escape (or write18) is not enabled}}\\
+\Lcs{fi}
+\end{BDef}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-captions.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-captions.ltx
new file mode 100644
index 00000000000..0563c30f937
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-captions.ltx
@@ -0,0 +1,52 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\section{Bilingual Captions}
+\XePersian\ sets caption bilingually. This means if you are in RTL mode, you get Persian caption and if you are in LTR mode, you get English caption.
+\subsection{Support For Various Packages}
+In addition to what \textsf{bidi} package supports, \XePersian\ also support a few packages. This support is more about language aspect rather than directionality. These packages are \textsf{algorithmic}, \textsf{algorithm},\textsf{enumerate}, and \textsf{backref} packages.
+
+\subsubsection{Things You Should Know about Support For \textsf{enumerate} Package}
+The \textsf{enumerate} package gives the enumerate environment an optional argument
+which determines the style in which the counter is printed.
+
+An occurrence of one of the tokens \texttt{A}, \texttt{a}, \texttt{I}, \texttt{i}, or \texttt{1} produces the value
+of the counter printed with (respectively) \Lcs{Alph}, \Lcs{alph}, \Lcs{Roman}, \Lcs{roman} or
+\Lcs{arabic}.
+
+In addition with the extra support that \XePersian\ provides, an occurrence of one of the tokens \Penv{ا}, \Penv{ی}, or \Penv{ت} produces the value of the counter printed with (respectively) \Lcs{harfi}, \Lcs{adadi}, or \Lcs{tartibi}.
+
+These letters may be surrounded by any strings involving any other \TeX\
+expressions, however the tokens \texttt{A}, \texttt{a}, \texttt{I}, \texttt{i}, \texttt{1}, \Penv{ا}, \Penv{ی}, \Penv{ت} must be inside a \Largb{} group if
+they are not to be taken as special.
+
+To see an Example, please look at \textsf{enumerate} package documentation.
+\subsection{Index Generation}
+For generating index, you are advised to use \textsf{xindy} program, any other program such as \textsf{makeindex} is not recommended.
+
+
+
+\subsection{Converting Your Farsi\TeX\ Files To \XePersian\ or Unicode}
+There is a python program written by Mostafa Vahedi that enables you to convert Farsi\TeX\ files to \XePersian\ or unicode. This program can be found in \textsf{doc} folder with the name \texttt{ftxe-0.12.py}. To convert your Farsi\TeX\ files to \XePersian, put \texttt{ftxe-0.12.py} in the same directory that your Farsi\TeX\ file is, and then open a terminal/command prompt and do the following:
+
+\begin{BDef}\ttfamily
+python ftxe-0.12.py file.ftx file.tex
+\end{BDef}
+
+This will convert your \texttt{file.ftx} (Farsi\TeX\ file) to \texttt{file.tex} (\XePersian\ file).
+
+The general syntax of using the python script is as follow:
+\begin{BDef}\ttfamily
+python ftxe-0.12.py [-r] [-s] [-x] [-u] input-filename1 input-filename2
+\end{BDef}
+Where
+\begin{description}
+\item[\texttt{-r}] (DEFAULT) recursively consider files included in the given files
+\item[\texttt{-s}] do not recursively consider files
+\item[\texttt{-x}] (DEFAULT) insert \XePersian\ related commands
+\item[\texttt{-u}] only convert to unicode (and not to \XePersian)
+\end{description}
+
+Please note that the python script will not work with versions of python later than 2.6. So you are encouraged to use version 2.6 of python to benefit from this python script.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx
new file mode 100644
index 00000000000..002d8f380cf
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx
@@ -0,0 +1,90 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\section{Latin and Persian Environment}
+\begin{BDef}
+\LBEG{latin}\quad\Larga{text}\quad\LEND{latin}\\
+\LBEG{persian}\quad\Larga{text}\quad\LEND{persian}
+\end{BDef}
+\begin{itemize}
+\item \texttt{latin} environment both changes direction of the paragraphs to LTR and font to Latin font.
+\item \texttt{persian} environment both changes direction of the Paragraphs to RTL and font to Persian font.
+\end{itemize}
+\subsection{\textsf{latinitems} and \textsf{parsiitems} environments}
+\begin{BDef}
+\LBEG{latinitems}\\
+\quad\Lcs{item} \Larga{text}\\
+\quad\ldots\\
+\LEND{latinitems}
+\end{BDef}
+\begin{itemize}
+\item \textsf{latinitems} environment is similar to \textsf{LTRitems} environment but changes the font to Latin font.
+\end{itemize}
+\begin{BDef}
+\LBEG{parsiitems}\\
+\quad\Lcs{item} \Larga{text}\\
+\quad\ldots\\
+\LEND{parsiitems}
+\end{BDef}
+\begin{itemize}
+\item \textsf{parsiitems} environment is similar to \textsf{RTLitems} environment but changes the font to Persian font.
+\end{itemize}
+
+\subsection{Short Latin and Persian Texts}
+\begin{BDef}
+\Lcs{lr}\Largb{\Larga{text}}\quad\Lcs{rl}\Largb{\Larga{text}}
+\end{BDef}
+\begin{itemize}
+\item With \Lcs{lr} command, you can typeset short LTR texts.
+\item With \Lcs{rl} command, you can typeset short RTL texts.
+\end{itemize}
+\subsection{Miscellaneous Commands}
+\begin{BDef}
+\Lcs{persianyear}\quad\Lcs{persianmonth}\quad\Lcs{persianday}\\
+\Lcs{today}\quad\Lcs{latintoday}\quad\Lcs{twocolumnstableofcontents}\quad\Lcs{XePersian}\\
+\Lcs{plq}\quad\Lcs{prq}
+\end{BDef}
+\begin{itemize}
+\item \Lcs{persianyear} is Persian equivalent of \Lcs{year}.
+\item \Lcs{persianmonth} is Persian equivalent of \Lcs{month}.
+\item \Lcs{persianday} is Persian equivalent of \Lcs{day}.
+\item \Lcs{today} typesets current Persian date and \Lcs{latintoday} typesets current Latin date.
+\item \Lcs{twocolumnstableofcontents} typesets table of contents in two columns. This requires that you have loaded \textsf{multicol} package before \textsf{\XePersian} package, otherwise an error will be issued.
+\item \Lcs{XePersian} typesets \XePersian's logo.
+\item \Lcs{plq} and \Lcs{prq} typeset Persian left quote and Persian right quote respectively.
+\end{itemize}
+\subsection{New Commands}
+\begin{BDef}
+\Lcs{Latincite}
+\end{BDef}
+\begin{itemize}
+\item\Lcs{Latincite} functions exactly like \Lcs{cite} command with only one difference; the reference to biblabel item is printed in Latin font in the text.
+\end{itemize}
+\subsection{Additional Counters}
+\XePersian\ defines several additional counters to what already \LaTeX\ offers. These counters are \texttt{harfi}, \texttt{adadi}, and \texttt{tartibi}. In addition, the following commands are also provided:
+
+\begin{BDef}
+\Lcs{harfinumeral}\Largb{\Larga{integer}}\quad\Lcs{adadinumeral}\Largb{\Larga{integer}}\quad\Lcs{tartibinumeral}\Largb{\Larga{integer}}\quad
+\end{BDef}
+\begin{itemize}
+\item The range of \texttt{harfi} counter is integers between 1 and 32 (number of the Persian alphabets) and \texttt{adadi} and \texttt{tartibi} counters, are integers between 0 and 999,999,999.
+\item For \texttt{harfi} counter, if you give an integer bigger than 32 or a negative integer (if you give integer 0, it returns nothing), then you get error and for \texttt{adadi} and \texttt{tartibi} counters, if you give an integer bigger than 999,999,999, then you get an error message.
+\item For \texttt{adadi} and \texttt{tartibi} counters, if you give an integer less than 0 (a negative integer), then \texttt{adadi} and \texttt{tartibi} counters return \textbf{adadi} and \textbf{tartibi} form of the integer 0, respectively.
+\item \Lcs{harfinumeral} returns the \textbf{harfi} form of \Larga{integer}, where $1\leq integer\leq32$ and \Lcs{adadinumeral}, and \Lcs{tartibinumeral} return \textbf{adadi}, and \textbf{tartibi} form of \Larga{integer} respectively, where $0\leq integer\leq 999,999,999$.
+\end{itemize}
+\subsection{Things To Know About \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}}
+\begin{BDef}
+\Lcs{DefaultMathsDigits}\quad\Lcs{PersianMathsDigits}\quad\Lcs{AutoMathsDigits}
+\end{BDef}
+\begin{itemize}
+ \item As we discussed before, \Lcs{setmathdigitfont} will choose the Persian font for digits in math mode. By default, digits in math mode will appear in Persian form.
+\item As we discussed before, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont} will choose the Persian sans serif and typewriter fonts for digits in math mode. By using this command, digits in math mode will appear in Persian form and if you do not use this command at all, you will get default \TeX\ font for digits in math mode and digits appear in their original form (Western).
+
+If you use \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}, then you should know that:
+\begin{itemize}
+\item By default, \Lcs{AutoMathsDigits} is active, which means that in Persian mode, you get Persian digits in math mode and in Latin mode, you get \TeX's default font and digits in math mode.
+\item If you use \Lcs{PersianMathsDigits} anywhere, you will overwrite \XePersian's default behaviour and you will always get Persian digits in math mode.
+\item If you use \Lcs{DefaultMathsDigits} anywhere, again you will overwrite \XePersian's default behaviour and you will always get \TeX's default font and digits in math mode.
+\end{itemize}
+\end{itemize}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
new file mode 100644
index 00000000000..6ed2908df7b
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
@@ -0,0 +1,39 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\clearpage
+\section{Introduction}
+\XePersian\ is a package for typesetting Persian/English documents with \XeLaTeX. The package includes adaptations for use with many other commonly-used packages.
+\subsection{Important Notes}
+\begin{itemize}
+\item The \textsf{\XePersian} package only works with \XeTeX\ engine.
+\item Before reading this documentation, you should have read the documentation of the \textsf{bidi} package. The \textsf{\XePersian} package automatically loads \textsf{bidi} package with \texttt{RTLdocument} option enabled and hence any commands that \textsf{bidi} package offers, is also available in \textsf{\XePersian} package. Here, in this documentation, we will not repeat any of \textsf{bidi} package's commands.
+\item In previous versions (\(\leq1.0.3\)) of \XePersian, a thesis class provided for typesetting thesis. As of version 1.0.4, we no longer provide this class because we are not familiar with specification of a thesis in Iran and even if we were, the specifications are different from University to University. \XePersian\ is a general package like \LaTeX\ and should not provide any class for typesetting thesis. So if you really want to have a class file for typesetting thesis, then you should ask your University/department to write one for you.
+
+\end{itemize}
+\subsection{\textsf{\XePersian} Info On The Terminal and In The Log File}
+If you use \textsf{\XePersian} package to write any input \TeX\ document, and then run \texttt{xelatex} on your document, in addition to what \textsf{bidi} package writes to the terminal and to the log file, the \XePersian\ package also writes some information about itself to the terminal and to the log file, too. The information is something like:
+\begin{verbatim}
+****************************************************
+*
+* xepersian package (Persian for LaTeX, using XeTeX engine)
+*
+* Description: The package supports Persian
+* typesetting, using fonts provided in the
+* distribution.
+*
+* Copyright (c) 2008--2020 Vafa Khalighi
+* Copyright (c) 2018--2020 bidi-tex GitHub Organization
+*
+* v23.0, 2020/05/16
+*
+* License: LaTeX Project Public License, version
+* 1.3c or higher (your choice)
+*
+* Location on CTAN: /macros/xetex/latex/xepersian
+*
+* Issue tracker: https://github.com/persiantex/xepersian/issues
+*
+****************************************************
+\end{verbatim}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx
new file mode 100644
index 00000000000..2df22a0ad2c
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx
@@ -0,0 +1,395 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+\section{Extra Packages And Classes}
+\subsection{Magazine Typesetting}
+\subsubsection{Introduction}
+\textsf{xepersian-magazine} class allows you to create magazines, newspapers and any other types of papers. The output document has a front page and as many inner pages as desired. Articles appear one after another, telling the type, number of columns, heading, subheading, images, author and so forth. It is possible to change the aspect of (almost) everything therefore it is highly customisable. Commands to add different titles, headings and footers are also provided.
+\subsubsection{Usage}
+To create\footnote{For a sample file, please look at \texttt{magazine-sample.tex} in the \textsf{doc} folder} a magazine just load the class as usual\footnote{You also need to load \textsf{graphicx}, \textsf{xunicode} and \textsf{xepersian} packages respectively, after loading the document class and choose fonts for the main text, Latin text and digits in maths formulas. For more detail see \autoref{basics} of the documentation.}, with
+\begin{BDef}
+\Lcs{documentclass}\OptArgs\Largb{xepersian-magazine}
+\end{BDef}
+at the beginning of your source file. The class options are described in \autoref{s-options}.
+
+From this point it is possible to include packages and renew class commands described in \autoref{s-custom}.
+\subsubsection{Front Page}
+As every magazine, \textsf{xepersian-magazine} has its own front page. It includes main headings, an index, the magazine logo and other useful information. This environment should be the first you use within \textsf{xepersian-magazine} class but it is not mandatory.
+
+\begin{BDef}
+\Lcs{firstimage}\quad\Lcs{firstarticle}
+\end{BDef}
+The first two commands you can use inside the \texttt{frontpage} environment are \Lcs{firstimage} and \Lcs{firstarticle} which include, respectively, the main image and the main heading in the front page. The first one takes two arguments \Larga{image} and \Larga{description}. Notice that second argument is optional and it declares the image caption; \Larga{image} defines the relative path to the image. In order to include the first piece of article use
+\begin{BDef}
+\Lcs{firstarticle}\Largb{\Larga{title}}\Largb{\Larga{opening}}\Largb{\Larga{time}}
+\end{BDef}
+first two arguments are mandatory and represent heading and the opening paragraph. Last argument is optional (you can leave it blank) and indicates the time when article happened.
+\begin{BDef}
+\Lcs{secondarticle}
+\end{BDef}
+The second piece of article is included using the command \Lcs{secondarticle} just as the first article. The main difference are that this second piece has two more arguments and it does not include an image.
+
+\begin{BDef}
+\Lcs{secondarticle}\Largb{\Larga{title}}\Largb{\Larga{subtitle}}\Largb{\Larga{opening}}\Largb{\Larga{pagesof}}\Largb{\Larga{time}}
+\end{BDef}
+The new arguments \Larga{subtitle} and \Larga{pagesof} define a subtitle and the name of the section for this piece of article.
+
+\begin{BDef}
+\Lcs{thirdarticle}
+\end{BDef}
+The third piece of article is the last one in the \textsf{xepersian-magazine} front page. It works like the \Lcs{secondarticle}.
+\begin{BDef}
+\Lcs{thirdarticle}\Largb{\Larga{title}}\Largb{\Larga{subtitle}}\Largb{\Larga{opening}}%
+\Largb{\Larga{pagesof}}\Largb{\Larga{time}}
+\end{BDef}
+The arguments meaning is the same as \Lcs{secondarticle} command.
+
+The front page includes three information blocks besides the news: \texttt{indexblock} which contains the index, \texttt{authorblock} which includes information about the author and a \texttt{weatherblock} containing a weather forecast. All these three environments are mostly a frame in the front page therefore they can be redefined to fit your personal wishes but I kept them to give an example and to respec the original \textsf{xepersian-magazine} format.
+
+\begin{BDef}
+\Lcs{indexitem}
+\end{BDef}
+The \texttt{indexblock} environment contains a manually editted index of \textsf{xepersian-magazine}. It takes one optional argument \Larga{title} and places a title over the index block. To add entries inside the index just type
+\begin{BDef}
+\Lcs{indexitem}\Largb{\Larga{title}}\Largb{\Larga{reference}}
+\end{BDef}
+inside the environment. The \Larga{title} is the index entry text and the \Larga{reference} points to a article inside \textsf{xepersian-magazine}. It will be more clear when you read \autoref{sub-1}. In order to get a correct output, it is necessary to leave a blank line between index items.
+
+The \texttt{authorblock} environment can include whatever you would like. I called it \texttt{authorblock} because I think it is nice to include some author reference in the front page: who you are, why are you doing this... This environment creates a frame box in the bottom right corner of the front page with your own logo at the top.
+
+\begin{BDef}
+\Lcs{weatheritem}
+\end{BDef}
+Finally, the \texttt{weatherblock} lets you include a weather forecast. It takes one optional argument \Larga{title} that places a title over the weather block. It can
+ fit up to three weather icons with maximum and minimum temperatures,
+ description and name. To add each of the weather entries type the following
+
+\begin{BDef}
+\Lcs{weatheritem}\Largb{\Larga{image}}\Largb{\Larga{day-name}}\Largb{\Larga{max}}%
+\Largb{\Larga{min}}\Largb{\Larga{short-des}}
+\end{BDef}
+
+The first argument includes the path to the weather icon (i.e. sunny or rainy), \Larga{day-name} like Monday, \Larga{max} and \Larga{min} are the highest and lowest day temperatures and \Larga{short-des} is a brief description of the weather condition: partly cloudy, sunny and windy \ldots
+\subsubsection{Inside\label{sub-1}}
+Once we have created the front page we should include all articles inside our magazine. \textsf{xepersian-magazine} arranges all articles one after each other, expanding headings all over the page and splitting the article text in the number of columns we wish. There are three different environments to define a piece of article: the \texttt{article} environment described in \autoref{subsub-1}, the \texttt{editorial} environment \autoref{subsub-2} for opinion articles and the \texttt{shortarticle} environment explained in \autoref{subsub-3}.
+\subsubsection{The article environment\label{subsub-1}}
+The main environment to include a piece of article is called \texttt{article}. It takes four arguments that set up the headings and structure of the article.
+\begin{BDef}
+\LBEG{article}\Largb{\Larga{num-of-columns}}\Largb{\Larga{title}}\Largb{\Larga{subtitle}}%
+\Largb{\Larga{pagesof}}\Largb{\Larga{label}}\\
+\ldots\Larga{text}\ldots\\
+\LEND{article}
+\end{BDef}
+
+The first argument \Larga{num-of-columns} sets the number of columns the article will be divided whereas \Larga{label} is used when pointing an article from the index in the front page. The rest of the arguments are easy to understand.
+
+
+Inside the \texttt{article} environment, besides the main text of the article, it is possible to include additional information using several class commands.
+\begin{BDef}
+\Lcs{authorandplace}\quad\Lcs{timestamp}
+\end{BDef}
+
+The \Lcs{authorandplace}\Largb{\Larga{author}}\Largb{\Larga{place}} inserts the name of the editor and the place where the article happened in the way many magazines do. Another useful command is \Lcs{timestamp}\Largb{\Larga{time}} which includes the time and a separator just before the text. These two commands should be used before the text because they type the text as the same place they are executed.
+
+\begin{BDef}
+\Lcs{image}
+\end{BDef}
+To include images within the text of an article, \textsf{xepersian-magazine} provides an \Lcs{image} command. Since \textsf{multicol} package does not provide any float support for its \textsf{multicols} environment, I created a macro that includes an image only if that is possible, calculating if there is enough space for the image.It is not the best solution but it works quite well and I could not find a better one. To include an image use the command and its two arguments: the relative path to the image and a short description.
+\begin{BDef}
+\Lcs{image}\Largb{\Larga{image}}\Largb{\Larga{description}}
+\end{BDef}
+
+\begin{BDef}
+\Lcs{columntitle}\quad\Lcs{expandedtitle}
+\end{BDef}
+Within the text of the article, it is possible to add column and expanded titles. The main difference between them is that the first one keeps inside the width of an article column whereas the second expands all over the width of the page, breaking all the columns. Their use is analogous, as follows
+
+\begin{BDef}
+\Lcs{columntitle}\Largb{\Larga{type}}\Largb{\Larga{text}}\\
+\Lcs{expandedtitle}\Largb{\Larga{type}}\Largb{\Larga{text}}
+\end{BDef}
+These two commands use \textsf{fancybox} package features. That is why there are five different types of titles which correspond mainly with fancybox ones: \textsf{shadowbox},
+\textsf{doublebox}, \textsf{ovalbox}, \textsf{Ovalbox} and \textsf{lines}.
+\subsubsection{The editorial environment\label{subsub-2}}
+In addition to the editorial article environment, one can use the editorial environment to create editorial or opinion texts. The main feature is that it transforms the style
+of the heading. Although this environment accepts all the commands article takes, it does not make any sense to use the \Lcs{authorandplace} command within it since it includes an author argument. To create an editorial text use
+
+\begin{BDef}
+\LBEG{editorial}\Largb{\Larga{num-of-columns}}\Largb{\Larga{title}}\Largb{\Larga{author}}\Largb{\Larga{label}}\\
+\ldots\Larga{text}\ldots\\
+\LEND{editorial}
+\end{BDef}
+
+All arguments have the same meaning as article environment (see \autoref{subsub-1}).
+\subsubsection{The shortarticle environment\label{subsub-3}}
+The shortarticle environment creates a block of short article. Althought it has its own title and subtitle, each piece of article within it may have a title. To use it just
+type:
+
+\begin{BDef}
+\LBEG{shortarticle}\Largb{\Larga{num-of-columns}}\Largb{\Larga{title}}\Largb{\Larga{subtitle}}\Largb{\Larga{label}}\\
+\ldots\Larga{text}\ldots\\
+\Lcs{shortarticleitem}\Largb{\Larga{title}}\Largb{\Larga{text}}\\
+\ldots\\
+\LEND{shortarticle}
+\end{BDef}
+You can also specify the number of columns of the block like editorial and article environments. To add a piece of article inside the shortarticle use the \Lcs{shortarticleitem}, indicating a title and the text of the issue.
+\subsubsection{Commands between articles}
+\begin{BDef}
+\Lcs{articlesep}\quad\Lcs{newsection}
+\end{BDef}
+
+There are two commands you can use among the articles inside \textsf{xepersian-magazine}: \Lcs{articlesep} and \Lcs{newsection}. The first one does not take any parameter and just draws a line between two articles. The second changes the content of \Lcs{xepersian@section} to the new \Larga{section name}. From the point it is used, all articles which follow will be grouped within the new section.
+
+\begin{BDef}
+\Lcs{newsection}\Largb{\Larga{section name}}
+\end{BDef}
+\subsubsection{Customization\label{s-custom}}
+\textsf{xepersian-magazine} includes many commands which can be used to customize its aspect, from the front page to the last page. I will list them grouped so it is easy to find
+them. Treat them as standard \LaTeX\ commands, using \Lcs{renewcommand} to change
+their behaviour.
+\subsubsection{Front Page}
+
+\begin{BDef}
+\Lcs{customlogo}\quad\Lcs{customminilogo}\quad\Lcs{custommagazinename}
+\end{BDef}
+When creating a magazine, everyone wants to show its own logo instead of \textsf{xepersian-magazine} default heading. To achieve this, you need to put the following command at the preamble of your document:
+
+\begin{BDef}
+\Lcs{customlogo}\Largb{\Larga{text}}\\
+\Lcs{customminilogo}\Largb{\Larga{text}}\\
+\Lcs{custommagazinename}\Largb{\Larga{text}}
+\end{BDef}
+
+
+\begin{BDef}
+\Lcs{edition}\quad\Lcs{editionformat}
+\end{BDef}
+
+The edition text has to be declared in the preamble of the document. One important thing to know is that \Lcs{author}, \Lcs{date} and \Lcs{title} have no effect inside \textsf{xepersian-magazine} since the magazine date is taken from \Lcs{today} command and the other two are only for the title page (if using \Lcs{maketitle}).
+
+\begin{BDef}
+\Lcs{indexFormat}\quad\Lcs{indexEntryFormat}\quad\Lcs{indexEntryPageTxt}\\
+\Lcs{indexEntryPageFormat}\quad%
+\Lcs{indexEntrySeparator}
+\end{BDef}
+
+When defining the index in the front page, there are several commands to customize the final index style. \Lcs{indexFormat} sets the format of the title; \Lcs{indexEntryFormat}, the format of each index entry; \Lcs{indexEntryPageTxt} and \Lcs{indexEntryPageFormat} lets you define which is the text that goes with the page number and its format. Finally, \textsf{xepersian-magazine} creates a thin line between index entries, you can redefine it using \Lcs{indexEntrySeparator}. To get the index with \Lcs{xepersian@indexwidth} is provided.
+
+\begin{BDef}
+\Lcs{weatherFormat}\quad\Lcs{weatherTempFormat}\quad\Lcs{weatherUnits}
+\end{BDef}
+
+Relating to the weather block, the title format can be changed redefining \Lcs{weatherFormat}. In order to customize the format of the temperature numbers and their units it is necessary to redefine \Lcs{weatherTempFormat} and \Lcs{weatherUnits} respectively.
+
+\begin{BDef}
+\Lcs{*TitleFormat}\quad\Lcs{*SubtitleFormat}\quad\Lcs{*TextFormat}
+\end{BDef}
+The main article that appear in the front page can change their formats. To obtain that there are three standard commands to modify the title, subtitle and text style. You just have to replace the star (\texttt{*}) with first, second or third depending on which article you are editing. Note that first piece of article has no subtitle therefore it does not make any sense to use the non-existent command \Lcs{firstSubtitleFormat}.
+
+\begin{BDef}
+\Lcs{pictureCaptionFormat}\quad\Lcs{pagesFormat}
+\end{BDef}
+Two other elements to configure are the picture captions and the pages or section format in the entire document. To proceed just redefine the macros \Lcs{pictureCaptionFormat} and \Lcs{pagesFormat}.
+\subsubsection{Inside The Magazine}
+\begin{BDef}
+\Lcs{innerTitleFormat}\quad\Lcs{innerSubtitleFormat}\quad\Lcs{innerAuthorFormat}\\
+\Lcs{innerPlaceFormat}
+\end{BDef}
+
+The articles inside \textsf{xepersian-magazine} may have a different format from the ones in the front page. To change their title or subtitle format redefine \Lcs{innerTitleFormat} and \Lcs{innerSubtitleFormat}. The article text format matches the document general definition. When using the \Lcs{authorandplace} command, you might want to change the default style. Just renew \Lcs{innerAuthorFormat} and \Lcs{innerPlaceFormat} to get the results.
+
+\begin{BDef}
+\Lcs{timestampTxt}\quad\Lcs{timestampSeparator}\quad\Lcs{timestampFormat}
+\end{BDef}
+
+The \Lcs{timestamp} command described in \autoref{subsub-1} lets you introduce the time of the event before the article text. You can configure its appearance by altering
+several commands: \Lcs{timestampTxt} which means the text after the timestamp; \Lcs{timestampSeparator} which defines the element between the actual timestamp and the beginning of the text and, finally, \Lcs{timestampFormat} to change the entire timestamp format.
+
+\begin{BDef}
+\Lcs{innerTextFinalMark}
+\end{BDef}
+
+\textsf{xepersian-magazine} puts a small black square at the end of the article. As I wanted to create a highly customizable \LaTeX\ class I added the macro \Lcs{innerTextFinalMark} to change this black square. This item will appear always following the last character of the text with the \texttt{\~} character.
+
+\begin{BDef}
+\Lcs{minraggedcols}\quad\Lcs{raggedFormat}
+\end{BDef}
+
+The \Lcs{minraggedcols} counter is used to tell \textsf{xepersian-magazine} when article text should be ragged instead of justified. The counter represents the minimum number of columns that are needed in order to use ragged texts. For example, if \Lcs{minraggedcols} is set to 3, all articles with 3 columns or more will be ragged. Articles with 1, 2 columns will have justified text. By default, \Lcs{minraggedcols} is set to 4.
+
+The \Lcs{raggedFormat} macro can be redefined to fit user ragged style. Default value is \Lcs{RaggedLeft}.
+
+\begin{BDef}
+\Lcs{heading}\quad\Lcs{foot}
+\end{BDef}
+\textsf{xepersian-magazine} includes package \textsf{fancyhdr} for changing headings and footers. Although it is possible to use its own commands to modify \textsf{xepersian-magazine} style, there are two commands to change headings and foot appearance. Place them in the preamble of your \textsf{xepersian-magazine} document.
+
+\begin{BDef}
+\Lcs{heading}\Largb{\Larga{left}}\Largb{\Larga{center}}\Largb{\Larga{right}}\\
+\Lcs{foot}\Largb{\Larga{left}}\Largb{\Larga{center}}\Largb{\Larga{right}}
+\end{BDef}
+
+ If you still prefer to use fancyhdr macros, use them after the \texttt{frontpage} environment.
+
+\textsf{xepersian-magazine} by default places no headers and footers. If you want headers and foooters, then after loading \textsf{xepersian} package, you should write \Lcs{pagestyle}\Largb{fancy} at the preamble of your document.
+
+\subsubsection{Class Options\label{s-options}}
+The \textsf{xepersian-magazine} class is in itself an alteration of the standard \textsf{article} class, thus it inherits most of its class options but \textsf{twoside}, \textsf{twocolumn}, \textsf{notitlepage} and \textsf{a4paper}. If you find problems when loading other article features, please let me know to fix it. There are also five own options that \textsf{xepersian-magazine} implements.
+\begin{description}
+\item[\textsf{a3paper}] (false) This option makes \textsf{xepersian-magazine} 297 mm width by 420 mm height. This option is implemented because the standard \textsf{article} class does not allow this document size.
+\item[\textsf{9pt}] (false) Allows the 9pt font size that \textsf{article} class does not include (default is 10pt).
+\item[\textsf{columnlines}] columnlines (false) Adds lines between columns in the entire \textsf{xepersian-magazine}. The default line width is 0.1pt but it is possible to change this by setting length \Lcs{columnlines} in the preamble.
+\item[\textsf{showgrid}] (false) This option is only for developing purposes. Because the front page has a personal design using the textpos package, I created this grid to make easier the lay out.
+\end{description}
+
+\subsection{Typesetting Multiple-choice Questions}
+\subsubsection{Introduction}
+\textsf{xepersian-multiplechoice} is a package for making multiple choices questionnaires under \LaTeX. A special environment
+allows you to define questions and possible answers. You can specify which
+answers are correct and which are not. \textsf{xepersian-multiplechoice} not only formats the questions
+for you, but also generates a ``form'' (a grid that your students will have to fill
+in), and a ``mask'' (the same grid, only with correct answers properly checked
+in). You can then print the mask on a slide and correct the questionnaires
+more easily by superimposing the mask on top of students' forms.
+
+\subsubsection{Usage}
+Here we now explain the usage of this package, however there are four example files, namely \texttt{test-question-only.tex}, \texttt{test-solution-form.tex}, \texttt{test-empty-form.tex} and \texttt{test-correction.tex}, available in \textsf{doc} folder that you may want to look at.
+\subsubsection{Loading The Package}
+You can load the package as usual by:
+\begin{BDef}
+\Lcs{usepackage}\OptArgs\Largb{xepersian-multiplechoice}
+\end{BDef}
+The available options are described along the text,
+where appropriate.
+\subsubsection{Creating Questions}
+Here's a simple example demonstrating how to produce a new question:
+\begin{lstlisting}[morekeywords={false,true}]
+\begin{question}{*\parsitext{سؤال}*}
+\false *\parsitext{جواب ۱}*
+\true *\parsitext{جواب ۲}*
+\false *\parsitext{جواب ۳}*
+\false *\parsitext{جواب ۴}*
+\end{question}
+\begin{correction}
+*\parsitext{جواب واقعی و علت اینکه این جواب، جواب واقعی هست}*
+\end{correction}
+\end{lstlisting}
+\subsubsection{The \texttt{question} Environment}
+The \texttt{question} environment allows you to insert questions into your document. It
+takes one mandatory argument which specifies the actual question's text. The
+question will be displayed in a frame box, the size of the line.
+\begin{BDef}
+\Lcs{true}\quad\Lcs{false}
+\end{BDef}
+
+The proposed answers are displayed below the question in a list fashion (the
+question environment is a list-based one). Instead of using \Lcs{item} however, use
+either \Lcs{true} or \Lcs{false} to insert a possible answer.
+
+\subsubsection{Question Numbers}
+The \texttt{question} environment is associated with a \LaTeX\ counter named \texttt{question}.
+This counter stores the number of the next (or current) question. It is initialized
+to 1, and automatically incremented at the end of \texttt{question} environments. You
+might want to use it to format question titles. For instance, you could decide that
+each question belongs to a subsection in the \texttt{article} class, and use something like
+this before each question: \Lcs{subsection*}\Largb{Question \Lcs{thequestion}}
+
+\subsubsection{The Form and the Mask}
+\begin{BDef}
+\Lcs{makeform}\quad\Lcs{makemask}
+\end{BDef}
+Based on the questions appearing in your document, \textsf{xepersian-multiplechoice} has the ability to
+generate a ``form'' (a grid that your students will have to fill in), and a ``mask''
+(the same grid, only with correct answers properly checked in). This can make
+the correction process easier.
+
+To generate a form and a mask, use the macros \Lcs{makeform} and \Lcs{makemask}.
+\textsf{xepersian-multiplechoice} uses two auxiliary files to build them. These files have respectively an
+extension of \texttt{frm} and \texttt{msk}. If you use these macros, you will need two passes of
+\LaTeX\ in order to get a correctly formatted document.
+
+\subsubsection{Typesetting corrections}
+The ``correction'' mode allows you to automatically
+typeset and distribute corrections to your students. These corrections
+are slightly modified versions of your questionnaire: each possible answer is prefixed with a small symbol (a visual clue) indicating whether the answer was correct
+or wrong. In addition, you can typeset explanations below each question.
+
+To activate the correction mode, use the \texttt{correction} option. It is off by
+default.
+
+To typeset explanations below the questions, use the \texttt{correction} environment
+(no argument). The contents of this environment is displayed only in correction
+mode. In normal mode, it is simply discarded.
+
+In addition, note that \textsf{xepersian-multiplechoice} cancels the actions performed by \Lcs{makeform} and
+\Lcs{makemask} in \texttt{correction} mode. This is to avoid further edition of the source
+when typesetting a correction.
+
+\subsubsection{Important Note}
+Currently, \textsf{xepersian-multiplechoice} requires that you provide a constant number of proposed answers
+across all questions in your \textsf{xepersian-multiplechoice}. This is something natural when you want to
+build forms, but this might me too restrictive otherwise, I'm not sure, so it is
+possible that this restriction will be removed in future versions.
+
+Currently, there is a built-in mechanism for checking that the number of proposed
+answers remains constant: when \textsf{xepersian-multiplechoice} encounters the first occurrence of the
+\texttt{question} environment, it remembers the number of proposed answers from there.
+Afterwards, any noticed difference in subsequent occurrences will generate an error.
+As a consequence, you never have to tell \textsf{xepersian-multiplechoice} explicitly what that number
+is.
+
+\subsection{Customising The Package}
+\subsubsection{The \texttt{question} environment}
+\begin{BDef}
+\Lcs{questionspace}\quad\Lcs{answerstitlefont}\quad\Lcs{answernumberfont}
+\end{BDef}
+\Lcs{questionspace} is the amount of extra vertical space to put under the question,
+before the list of proposed answers. This is a \LaTeX\ length that defaults to \texttt{0pt}.
+
+Before the list of possible answers, a short title is displayed (for English, it
+reads ``Possible answers:''). The \Lcs{answerstitlefont} macro takes one mandatory
+argument which redefines the font to use for the answers title. By default,
+\Lcs{bfseries} is used.
+
+Each proposed answer in the list is numbered automatically (and alphabetically).
+The \Lcs{answernumberfont} macro takes one mandatory argument which
+redefines the font to use for displaying the answer number. By default, \Lcs{bfseries}
+is used.
+
+\subsubsection{The Form and the Mask}
+\begin{BDef}
+\Lcs{headerfont}\quad\Lcs{X}
+\end{BDef}
+
+The \Lcs{headerfont} macro takes one mandatory argument which redefines the font
+to use for the headers (first line and first column) of the form and mask arrays.
+By default, \Lcs{bfseries} is used.
+
+In the mask, correct answers are checked in by filling the corresponding cell
+with an ``X'' character. If you want to change this, call the \Lcs{X} macro with one
+(mandatory) argument.
+
+\subsubsection{The correction}
+\begin{BDef}
+\Lcs{truesymbol}\quad\Lcs{falsesymbol}
+\end{BDef}
+
+In correction mode, labels in front of answers are modified to give a visual clue
+about whether the answer was correct or wrong. By default, a cross and a small
+arrow are used. You can change these symbols by using the \Lcs{truesymbol} and
+
+\Lcs{falsesymbol} macros. For instance, you could give a fancier look to your correction
+by using the \textsf{pifont} package and issuing:
+
+\begin{lstlisting}[numbers=none,morekeywords={truesymbol,ding,falsesymbol}]
+\truesymbol{\ding{'063}~}
+\falsesymbol{\ding{'067}~}
+\end{lstlisting}
+
+\begin{BDef}
+\Lcs{correctionstyle}
+\end{BDef}
+The appearance of the contents of the correction environment can be adjusted
+by using the \Lcs{correctionstyle} macro. By default, \Lcs{itshape} is used.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-preamble.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-preamble.ltx
new file mode 100644
index 00000000000..dc4836229a7
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-preamble.ltx
@@ -0,0 +1,108 @@
+\usepackage{docmute}
+\usepackage{supertabular}
+\usepackage{fontspec}
+\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Minion Pro}
+\setsansfont[Ligatures=TeX,Numbers=OldStyle]{Myriad Pro}
+\usepackage{calc}
+\usepackage{pifont}
+\usepackage{bbding}
+\usepackage{bidicode}
+\usepackage{microtype}
+\definecolor{xepersianblue}{rgb}{0.1,0.2,0.8}
+\usepackage[numbered]{hypdoc}
+\definecolor{myred}{rgb}{0.65,0.04,0.07}
+\hypersetup{%
+ pdfauthor={Vafa Khalighi},%
+ linkcolor=xepersianblue,%
+ urlcolor=xepersianblue,%
+ citecolor=xepersianblue%
+}
+\usepackage{bidi}
+\setlength\columnseprule{.4pt}
+\newfontfamily\ParsiFont[Script=Arabic]{Iranian Sans}
+\def\Pcs#1{\nxPLcs{#1}}
+\def\nxPLcs#1{\RLE{\texttt{\symbol{92}\ParsiFont#1}}}
+\def\Lenv#1{\texttt{#1}}
+\def\Penv#1{\RLE{\ParsiFont#1}}
+\let\parsitext\Penv
+\def\XeTeX{Xe\TeX}
+\def\XeLaTeX{Xe\LaTeX}
+\def\XePersian{XePersian}
+\newcommand*{\bicsintabular}[2]{\Lcs{#2}&\Pcs{#1}\\}
+\newcommand*{\biffintabular}[2]{\texttt{#1}&\Penv{#2}\\}
+\newcommand*{\biffointabular}[3]{\texttt{#1}&\texttt{#2}&\Penv{#3}\\}
+\newcommand*{\bienvintabular}[2]{\Lenv{#2}&\Penv{#1}\\}
+\makeatletter
+\renewcommand\tableofcontents{\relax
+ \begin{multicols}{2}[\section*{\contentsname}]\small
+ \@starttoc{toc}\relax
+ \end{multicols}}
+\pdfstringdefDisableCommands{%
+\renewcommand\Lcs[1]{\textbackslash#1}
+}
+\newbox\xepersianlogobox
+\sbox{\xepersianlogobox}{\includegraphics[height=0.5in,keepaspectratio=true]{xepersian-logo}}
+\def\ps@docheadings{%
+ \let\@oddhead\@empty
+ \def\@oddfoot{\parbox{\textwidth}{\hfill\leftmark\quad\thepage\qquad\raisebox{-0.2in}{\usebox\xepersianlogobox}}}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{%
+ \markboth {%
+ ##1}{}}}
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries\color{blue!65!black} \partname\nobreakspace\thepart
+ \par\nobreak
+ \fi
+ \huge \bfseries #2%
+ \markboth{}{}\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}
+\def\@spart#1{%
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \huge \bfseries\color{blue!65!black} #1\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries\color{blue!65!black}}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries\color{blue!65!black}}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{blue!65!black}}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\color{blue!65!black}}}
+\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\color{blue!65!black}}}
+\makeatother
+\pagestyle{docheadings}
+\newcounter{local}
+\renewcommand\theenumi{\protect\setcounter{local}%
+ {201+\the\value{enumi}}\protect\ding{\value{local}}}
+\renewcommand\labelenumi{\theenumi}
+\renewcommand\labelitemi{\HandRight}
+\renewcommand\labelitemii{\HandRightUp}
+\renewcommand\labelitemiii{\HandCuffRight}
+\renewcommand\labelitemiv{\HandPencilLeft} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
new file mode 100644
index 00000000000..d085fbee4bb
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
@@ -0,0 +1,47 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\begin{document}
+ \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
+\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
+\large User documentation for \textcolor{blue!65!black}{version 23.0}}
+\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}}
+\setcounter{page}{0}
+\thispagestyle{empty}
+\includegraphics[width=.3\textwidth]{xepersian-logo}\qquad
+\parindent 0pt
+\vbox{\Huge
+\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
+
+\Large
+User documentation for \textcolor{blue!65!black}{version 23.0}}
+
+\vskip 0pt plus 3fill
+\textit{\large to my Master, \textbf{Ferdowsi The Great}}
+
+\vskip 0pt plus 3fill
+{\color{red!85!black}\fbox{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule}
+If you want to report any bugs or typos and corrections in the documentation,
+or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker:
+
+\medskip
+ \centerline{\url{https://github.com/persiantex/xepersian/issues}}
+
+\medskip
+In doing so, please always explain your issue well enough, and always include
+a minimal working example showing the issue.
+\end{minipage}
+}}
+
+\vskip 0pt plus 3fill
+
+
+Copyright (c) 2008--2020 Vafa Khalighi
+
+Copyright (c) 2018--2020 bidi-tex GitHub Organization
+
+
+\medskip
+Permission is granted to distribute and/or modify \emph{both the documentation and the code} under the conditions of the \LaTeX{} Project Public License, either version 1.3c of this license or (at your option) any later version.
+
+\clearpage
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
new file mode 100644
index 00000000000..a5a04aaf14a
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
@@ -0,0 +1,17 @@
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\hypersetup{%
+ pdftitle={User documentation for version 23.0 of the XePersian
+ package}%
+}
+\begin{document}
+\input{xepersian-doc-title.ltx}
+\maketitle
+ \tableofcontents
+\input{xepersian-doc-intro.ltx}
+\input{xepersian-doc-basics.ltx}
+\input{xepersian-doc-envcs.ltx}
+\input{xepersian-doc-boolean.ltx}
+\input{xepersian-doc-captions.ltx}
+\input{xepersian-doc-pkgs.ltx}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
new file mode 100644
index 00000000000..212d8794d27
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
@@ -0,0 +1,8309 @@
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+____________________
+The XePersian package
+v23.0
+
+The xepersian package provides a convenient interface for
+typesetting Persian and English texts in LaTeX, using XeTeX
+engine.
+
+If you want to report any bugs or typos and corrections in the
+documentation, or ask for any new features, or suggest any
+improvements, or ask any questions about the package, then
+please use the issue tracker:
+
+ <https://github.com/persiantex/xepersian/issues>
+
+In doing so, please always explain your issue well enough, and always
+include a minimal working example showing the issue.
+
+
+Current version release date: 2020/05/16
+___________________________________________
+Copyright (c) Vafa Khalighi 2008--2020
+Copyright (c) bidi-tex GitHub Organization 2018--2020
+
+Distributed under the LaTeX Project Public License
+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.
+%</readme>
+%<*internal>
+\fi
+\begingroup
+%</internal>
+%<*batchfile>
+\input docstrip.tex
+\let\MetaPrefix\relax
+\keepsilent
+\preamble
+
+ __________________________________________________
+ 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.
+
+
+\endpreamble
+\askforoverwritefalse
+\let\MetaPrefix\DoubleperCent
+\generate{\file{algorithmic-xepersian.def}{\from{\jobname.dtx}{table,algorithmic-xepersian.def}}}
+\generate{\file{algorithm-xepersian.def}{\from{\jobname.dtx}{table,algorithm-xepersian.def}}}
+\generate{\file{amsart-xepersian.def}{\from{\jobname.dtx}{table,amsart-xepersian.def}}}
+\generate{\file{amsbook-xepersian.def}{\from{\jobname.dtx}{table,amsbook-xepersian.def}}}
+\generate{\file{appendix-xepersian.def}{\from{\jobname.dtx}{table,appendix-xepersian.def}}}
+\generate{\file{article-xepersian.def}{\from{\jobname.dtx}{table,article-xepersian.def}}}
+\generate{\file{artikel1-xepersian.def}{\from{\jobname.dtx}{table,artikel1-xepersian.def}}}
+\generate{\file{artikel2-xepersian.def}{\from{\jobname.dtx}{table,artikel2-xepersian.def}}}
+\generate{\file{artikel3-xepersian.def}{\from{\jobname.dtx}{table,artikel3-xepersian.def}}}
+\generate{\file{backref-xepersian.def}{\from{\jobname.dtx}{table,backref-xepersian.def}}}
+\generate{\file{bidituftesidenote-xepersian.def}{\from{\jobname.dtx}{table,bidituftesidenote-xepersian.def}}}
+\generate{\file{bidimoderncv-xepersian.def}{\from{\jobname.dtx}{table,bidimoderncv-xepersian.def}}}
+\generate{\file{boek3-xepersian.def}{\from{\jobname.dtx}{table,boek3-xepersian.def}}}
+\generate{\file{boek-xepersian.def}{\from{\jobname.dtx}{table,boek-xepersian.def}}}
+\generate{\file{bookest-xepersian.def}{\from{\jobname.dtx}{table,bookest-xepersian.def}}}
+\generate{\file{book-xepersian.def}{\from{\jobname.dtx}{table,book-xepersian.def}}}
+\generate{\file{breqn-xepersian.def}{\from{\jobname.dtx}{table,breqn-xepersian.def}}}
+\generate{\file{latex-localise-commands-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-commands-xepersian.def}}}
+\generate{\file{color-localise-xepersian.def}{\from{\jobname.dtx}{table,color-localise-xepersian.def}}}
+\generate{\file{xepersian-localise-commands-xepersian.def}{\from{\jobname.dtx}{table,xepersian-localise-commands-xepersian.def}}}
+\generate{\file{enumerate-xepersian.def}{\from{\jobname.dtx}{table,enumerate-xepersian.def}}}
+\generate{\file{enumitem-xepersian.def}{\from{\jobname.dtx}{table,enumitem-xepersian.def}}}
+\generate{\file{latex-localise-environments-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-environments-xepersian.def}}}
+\generate{\file{xepersian-localise-environments-xepersian.def}{\from{\jobname.dtx}{table,xepersian-localise-environments-xepersian.def}}}
+\generate{\file{extarticle-xepersian.def}{\from{\jobname.dtx}{table,extarticle-xepersian.def}}}
+\generate{\file{extbook-xepersian.def}{\from{\jobname.dtx}{table,extbook-xepersian.def}}}
+\generate{\file{extrafootnotefeatures-xepersian.def}{\from{\jobname.dtx}{table,extrafootnotefeatures-xepersian.def}}}
+\generate{\file{extreport-xepersian.def}{\from{\jobname.dtx}{table,extreport-xepersian.def}}}
+\generate{\file{fancyref-xepersian.def}{\from{\jobname.dtx}{table,fancyref-xepersian.def}}}
+\generate{\file{footnote-xepersian.def}{\from{\jobname.dtx}{table,footnote-xepersian.def}}}
+\generate{\file{framed-xepersian.def}{\from{\jobname.dtx}{table,framed-xepersian.def}}}
+\generate{\file{glossaries-xepersian.def}{\from{\jobname.dtx}{table,glossaries-xepersian.def}}}
+\generate{\file{hyperref-xepersian.def}{\from{\jobname.dtx}{table,hyperref-xepersian.def}}}
+\generate{\file{imsproc-xepersian.def}{\from{\jobname.dtx}{table,imsproc-xepersian.def}}}
+\generate{\file{kashida-xepersian.def}{\from{\jobname.dtx}{table,kashida-xepersian.def}}}
+\generate{\file{listings-xepersian.def}{\from{\jobname.dtx}{table,listings-xepersian.def}}}
+\generate{\file{loadingorder-xepersian.def}{\from{\jobname.dtx}{table,loadingorder-xepersian.def}}}
+\generate{\file{localise-xepersian.def}{\from{\jobname.dtx}{table,localise-xepersian.def}}}
+\generate{\file{memoir-xepersian.def}{\from{\jobname.dtx}{table,memoir-xepersian.def}}}
+\generate{\file{latex-localise-messages-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-messages-xepersian.def}}}
+\generate{\file{minitoc-xepersian.def}{\from{\jobname.dtx}{table,minitoc-xepersian.def}}}
+\generate{\file{latex-localise-misc-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-misc-xepersian.def}}}
+\generate{\file{natbib-xepersian.def}{\from{\jobname.dtx}{table,natbib-xepersian.def}}}
+\generate{\file{packages-localise-xepersian.def}{\from{\jobname.dtx}{table,packages-localise-xepersian.def}}}
+\def\MetaPrefix{;;}
+\def\mapping@postamble{%
+ \MetaPrefix ^^J%
+ \MetaPrefix\space End of file `\outFileName'.%
+}
+\usepostamble\mapping@postamble
+\generate{\file{persian-tex-text.map}{\from{\jobname.dtx}{persian-tex-text.map}}}
+\let\MetaPrefix\DoubleperCent
+\usepostamble\org@postamble
+\generate{\file{rapport1-xepersian.def}{\from{\jobname.dtx}{table,rapport1-xepersian.def}}}
+\generate{\file{rapport3-xepersian.def}{\from{\jobname.dtx}{table,rapport3-xepersian.def}}}
+\generate{\file{refrep-xepersian.def}{\from{\jobname.dtx}{table,refrep-xepersian.def}}}
+\generate{\file{report-xepersian.def}{\from{\jobname.dtx}{table,report-xepersian.def}}}
+\generate{\file{scrartcl-xepersian.def}{\from{\jobname.dtx}{table,scrartcl-xepersian.def}}}
+\generate{\file{scrbook-xepersian.def}{\from{\jobname.dtx}{table,scrbook-xepersian.def}}}
+\generate{\file{scrreprt-xepersian.def}{\from{\jobname.dtx}{table,scrreprt-xepersian.def}}}
+\generate{\file{soul-xepersian.def}{\from{\jobname.dtx}{table,soul-xepersian.def}}}
+\generate{\file{tikz.code-xepersian.def}{\from{\jobname.dtx}{table,tikz.code-xepersian.def}}}
+\generate{\file{tkz-linknodes-xepersian.def}{\from{\jobname.dtx}{table,tkz-linknodes-xepersian.def}}}
+\generate{\file{tocloft-xepersian.def}{\from{\jobname.dtx}{table,tocloft-xepersian.def}}}
+\generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}}
+\generate{\file{xepersian.sty}{\from{\jobname.dtx}{table,xepersian.sty}}}
+\generate{\file{xepersian-magazine.cls}{\from{\jobname.dtx}{table,xepersian-magazine.cls}}}
+\generate{\file{xepersian-mathsdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathsdigitspec.sty}}}
+\generate{\file{xepersian-multiplechoice.sty}{\from{\jobname.dtx}{table,xepersian-multiplechoice.sty}}}
+\generate{\file{xepersian-persiancal.sty}{\from{\jobname.dtx}{table,xepersian-persiancal.sty}}}
+%</batchfile>
+%<batchfile>\endbatchfile
+%<*internal>
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
+\nopreamble\nopostamble
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\generate{\file{magazine-sample.tex}{\from{\jobname.dtx}{magazine-sample.tex}}}
+\generate{\file{test-correction.tex}{\from{\jobname.dtx}{test-correction.tex}}}
+\generate{\file{test-empty-form.tex}{\from{\jobname.dtx}{test-empty-form.tex}}}
+\generate{\file{test-question-only.tex}{\from{\jobname.dtx}{test-question-only.tex}}}
+\generate{\file{test-solution-form.tex}{\from{\jobname.dtx}{test-solution-form.tex}}}
+\generate{\file{xepersian-logo.tex}{\from{\jobname.dtx}{xepersian-logo.tex}}}
+\endgroup
+\immediate\write18{mv README.txt README}
+\immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}
+\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}
+%</internal>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\input{xepersian-doc-preamble.ltx}
+\hypersetup{%
+ pdftitle={Source documentation for version 23.0 of the XePersian
+ package}%
+}
+\EnableCrossrefs
+\CodelineIndex
+%\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintIndex
+% \PrintChanges
+\end{document}
+%</driver>
+%
+%
+% \fi
+%
+% \GetFileInfo{\jobname.dtx}
+% \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
+%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
+%\large Source documentation for \textcolor{blue!65!black}{version 23.0}}
+% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}}
+%\setcounter{page}{0}
+%\thispagestyle{empty}
+%\includegraphics[width=.3\textwidth]{xepersian-logo}\qquad
+%\parindent 0pt
+%\vbox{\Huge
+%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
+%
+%\Large
+%Source documentation for \textcolor{blue!65!black}{version 23.0}}
+%
+%\vskip 0pt plus 3fill
+%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
+%
+%\vskip 0pt plus 3fill
+%{\color{red!85!black}\fbox{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule}
+%If you want to report any bugs or typos and corrections in the documentation,
+%or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker:
+%
+%\medskip
+% \centerline{\url{https://github.com/persiantex/xepersian/issues}}
+%
+%\medskip
+%In doing so, please always explain your issue well enough, and always include
+%a minimal working example showing the issue.
+%\end{minipage}
+%}}
+%
+%\vskip 0pt plus 3fill
+%
+%Copyright (c) 2008--2020 Vafa Khalighi
+%
+%Copyright (c) 2018--2020 bidi-tex GitHub Organization
+%
+%\medskip
+%Permission is granted to distribute and/or modify \emph{both the documentation and the code} under the conditions of the \LaTeX{} Project Public License, either version 1.3c of this license or (at your option) any later version.
+%
+%\clearpage
+%\maketitle
+% \tableofcontents
+% \StopEventually{}
+% \section{File \texttt{algorithmic-xepersian.def}}
+%\iffalse
+%<*table>
+%\fi
+%% \CheckSum{10884}
+%% \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 \~}
+%%
+% \iffalse
+%</table>
+%<*algorithmic-xepersian.def>
+%\fi
+%
+%
+%
+% \begin{macrocode}
+\ProvidesFile{algorithmic-xepersian.def}[2010/07/25 v0.2 adaptations for algorithmic package]
+\def\algorithmicrequire{\if@RTL\textbf{ورودی:}\else\textbf{Require:}\fi}
+\def\algorithmicensure{\if@RTL\textbf{خروجی:}\else\textbf{Ensure:}\fi}
+% \end{macrocode}
+%
+%\iffalse
+%</algorithmic-xepersian.def>
+%<*algorithm-xepersian.def>
+%\fi
+% \section{File \texttt{algorithm-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{algorithm-xepersian.def}[2010/07/25 v0.2 adaptations for algorithm package]
+\def\ALG@name{\if@RTL الگوریتم\else Algorithm\fi}
+\def\ALGS@name{الگوریتم‌ها}
+\def\listalgorithmname{\if@RTL فهرست \ALGS@name\else List of \ALG@name s\fi}
+% \end{macrocode}
+% \iffalse
+%</algorithm-xepersian.def>
+%<*amsart-xepersian.def>
+%\fi
+% \section{File \texttt{amsart-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{amsart-xepersian.def}[2017/02/04 v0.4 adaptations for amsart class]
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@harfi\c@section}}
+
+% \end{macrocode}
+% \iffalse
+%</amsart-xepersian.def>
+%<*amsbook-xepersian.def>
+%\fi
+% \section{File \texttt{amsbook-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{amsbook-xepersian.def}[2017/02/04 v0.5 adaptations for amsbook class]
+\def\frontmatter{\cleardoublepage\pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par
+ \c@chapter\z@ \c@section\z@
+ \let\chaptername\appendixname
+ \def\thechapter{\@harfi\c@chapter}}
+
+
+% \end{macrocode}
+% \iffalse
+%</amsbook-xepersian.def>
+%<*appendix-xepersian.def>
+%\fi
+% \section{File \texttt{appendix-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{appendix-xepersian.def}[2015/02/01 v0.1 adaptations for appendix package]
+\renewcommand{\@resets@pp}{\par
+ \@ppsavesec
+ \stepcounter{@pps}
+ \setcounter{section}{0}%
+ \if@chapter@pp
+ \setcounter{chapter}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\@harfi\c@chapter}%
+ \else
+ \setcounter{subsection}{0}%
+ \renewcommand\thesection{\@harfi\c@section}%
+ \fi
+ \restoreapp
+}
+% \end{macrocode}
+% \iffalse
+%</appendix-xepersian.def>
+%<*article-xepersian.def>
+%\fi
+% \section{File \texttt{article-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{article-xepersian.def}[2010/07/25 v0.2 adaptations for standard article class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+% \end{macrocode}
+% \iffalse
+%</article-xepersian.def>
+%<*artikel1-xepersian.def>
+%\fi
+% \section{File \texttt{artikel1-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{artikel1-xepersian.def}[2010/07/25 v0.1 adaptations for artikel1 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+% \end{macrocode}
+% \iffalse
+%</artikel1-xepersian.def>
+%<*artikel2-xepersian.def>
+%\fi
+% \section{File \texttt{artikel2-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{artikel2-xepersian.def}[2010/07/25 v0.1 adaptations for artikel2 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+% \end{macrocode}
+% \iffalse
+%</artikel2-xepersian.def>
+%<*artikel3-xepersian.def>
+%\fi
+% \section{File \texttt{artikel3-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{artikel3-xepersian.def}[2010/07/25 v0.1 adaptations for artikel3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+% \end{macrocode}
+% \iffalse
+%</artikel3-xepersian.def>
+%<*backref-xepersian.def>
+%\fi
+% \section{File \texttt{backref-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{backref-xepersian.def}[2010/07/25 v0.1 adaptations for backref package]
+\def\backrefpagesname{\if@RTL صفحات\else pages\fi}
+\def\BR@Latincitex[#1]#2{%
+ \BRorg@Latincitex[{#1}]{#2}%
+ \ifBR@verbose
+ \PackageInfo{backref}{back Latin cite \string`#2\string'}%
+ \fi
+ \Hy@backout{#2}%
+}
+\AtBeginDocument{%
+ \@ifundefined{NAT@parse}{%
+ \global\let\BRorg@Latincitex\@Latincitex
+ \global\let\@Latincitex\BR@Latincitex
+ }{%
+ \@ifpackageloaded{hyperref}{}{%
+ \def\hyper@natlinkstart#1{\Hy@backout{#1}}%
+ }%
+ \PackageInfo{backref}{** backref set up for natbib **}%
+ }%
+}%
+% \end{macrocode}
+% \iffalse
+%</backref-xepersian.def>
+%<*bidituftesidenote-xepersian.def>
+%\fi
+% \section{File \texttt{bidituftesidenote-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{bidituftesidenote-xepersian.def}[2017/02/04 v0.3 xepersian changes to bidituftesidenote package]
+
+\setLTRcitationfont{\resetlatinfont\footnotesize}
+
+\renewcommand*{\@bidituftesidenote@LTRmarginfont}{\resetlatinfont\footnotesize}
+
+\renewcommand*{\@bidituftesidenote@RTLmarginfont}{\setpersianfont\footnotesize}
+
+
+% \end{macrocode}
+% \iffalse
+%</bidituftesidenote-xepersian.def>
+%<*bidimoderncv-xepersian.def>
+%\fi
+% \section{File \texttt{bidimoderncv-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{bidimoderncv-xepersian.def}[2010/07/25 v0.1 adaptations for bidimoderncv class]
+\def\refname{\if@RTL تألیفات\else Publications\fi}
+% \end{macrocode}
+% \iffalse
+%</bidimoderncv-xepersian.def>
+%<*boek3-xepersian.def>
+%\fi
+% \section{File \texttt{boek3-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{boek3-xepersian.def}[2010/07/25 v0.1 adaptations for boek3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+% \end{macrocode}
+% \iffalse
+%</boek3-xepersian.def>
+%<*boek-xepersian.def>
+%\fi
+% \section{File \texttt{boek-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{boek-xepersian.def}[2010/07/25 v0.1 adaptations for boek class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+% \end{macrocode}
+% \iffalse
+%</boek-xepersian.def>
+%<*bookest-xepersian.def>
+%\fi
+% \section{File \texttt{bookest-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{bookest-xepersian.def}[2010/07/25 v0.1 adaptations for bookest class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+% \end{macrocode}
+% \iffalse
+%</bookest-xepersian.def>
+%<*book-xepersian.def>
+%\fi
+% \section{File \texttt{book-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{book-xepersian.def}[2010/07/25 v0.2 adaptations for standard book class]
+\renewcommand\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+% \end{macrocode}
+% \iffalse
+%</book-xepersian.def>
+%<*breqn-xepersian.def>
+%\fi
+% \section{File \texttt{breqn-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{breqn-xepersian.def}[2010/07/25 v0.1 adaptations for breqn package]
+\def\@dmath[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \everydisplay\expandafter{\the\everydisplay \display@setup}%
+ \if@noskipsec \leavevmode \fi
+ \if@inlabel \leavevmode \global\@inlabelfalse \fi
+ \if\eq@group\else\eq@prelim\fi
+ \setkeys{breqn}{#1}%
+ \the\eqstyle
+ \eq@setnumber
+ \begingroup
+ \eq@setup@a
+ \eq@startup
+}
+\def\@dgroup[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \let\eq@group\@True \global\let\eq@GRP@first@dmath\@True
+ \global\GRP@queue\@emptytoks \global\setbox\GRP@box\box\voidb@x
+ \global\let\GRP@label\@empty
+ \global\grp@wdL\z@\global\grp@wdR\z@\global\grp@wdT\z@
+ \global\grp@linewidth\z@\global\grp@wdNum\z@
+ \global\let\grp@eqs@numbered\@False
+ \global\let\grp@aligned\@True
+ \global\let\grp@shiftnumber\@False
+ \eq@prelim
+ \setkeys{breqn}{#1}%
+ \if\grp@hasNumber \grp@setnumber \fi
+}
+\def\@dseries[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \let\display@setup\dseries@display@setup
+ % Question: should this be the default for dseries???
+ \global\eq@wdCond\z@
+ \@dmath[layout={M},#1]%
+ \mathsurround\z@\@@math \penalty\@Mi
+ \let\endmath\ends@math
+ \def\premath{%
+ \ifdim\lastskip<.3em \unskip
+ \else\ifnum\lastpenalty<\@M \dquad\fi\fi
+}%
+ \def\postmath{\unpenalty\eq@addpunct \penalty\intermath@penalty \dquad \@ignoretrue}%
+\ignorespaces
+}
+% \end{macrocode}
+% \iffalse
+%</breqn-xepersian.def>
+%<*latex-localise-commands-xepersian.def>
+%\fi
+% \section{File \texttt{latex-localise-commands-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{latex-localise-commands-xepersian.def}[2014/02/05 v0.3 Persian localisation of LaTeX2e commands]
+\eqcommand{شمع‌جدول}{@arstrut}
+\eqcommand{فوق}{above}
+\eqcommand{فاصله‌کوتاه‌بالای‌نمایش}{abovedisplayshortskip}
+\eqcommand{فاصله‌بالای‌نمایش}{abovedisplayskip}
+\eqcommand{عنوان‌چکیده}{abstractname}
+\eqcommand{اکسنت}{accent}
+\eqcommand{فعال}{active}
+\eqcommand{بیفزاسطرفهرست}{addcontentsline}
+\eqcommand{اضافه‌برجریمه}{addpenalty}
+\eqcommand{نشانی}{address}
+\eqcommand{بیفزابه‌فهرست}{addtocontents}
+\eqcommand{اضافه‌برشمارنده}{addtocounter}
+\eqcommand{اضافه‌بربعد}{addtolength}
+\eqcommand{بیفزافضای‌و}{addvspace}
+\eqcommand{تنظیم‌بدنمایی}{adjdemerits}
+\eqcommand{بیفزابر}{advance}
+\eqcommand{بعدازانتساب}{afterassignment}
+\eqcommand{بعدازگروه}{aftergroup}
+\eqcommand{الف}{aleph}
+\eqcommand{خصیصه‌مستعارقلم}{aliasfontfeature}
+\eqcommand{انتخاب‌خصیصه‌مستعارقلم}{aliasfontfeatureoption}
+\eqcommand{شکستنی}{allowbreak}
+\eqcommand{تخصی@}{alloc@}
+\eqcommand{تخصیص‌یافته}{allocationnumber}
+\eqcommand{شکست‌نمایش‌مجاز}{allowdisplaybreaks}
+\eqcommand{حروف‌بزرگ}{Alph}
+\eqcommand{حروف‌کوچک}{alph}
+\eqcommand{نام‌همچنین}{alsoname}
+\eqcommand{و}{and}
+\eqcommand{زاویه}{angle}
+\eqcommand{عنوان‌پیوست}{appendixname}
+\eqcommand{تقریب}{approx}
+\eqcommand{عربی}{arabic}
+\eqcommand{آرگ}{arg}
+\eqcommand{رنگ‌خط‌جدول}{arrayrulecolor}
+\eqcommand{فاصله‌ستونهای‌آرایه}{arraycolsep}
+\eqcommand{ضخامت‌خط‌جدول}{arrayrulewidth}
+\eqcommand{کشیدگی‌آرایه}{arraystretch}
+\eqcommand{درآغازنوشتار}{AtBeginDocument}
+\eqcommand{درپایان‌نوشتار}{AtEndDocument}
+\eqcommand{درانتهای‌طبقه}{AtEndOfClass}
+\eqcommand{درانتهای‌سبک}{AtEndOfPackage}
+\eqcommand{نویسنده}{author}
+\eqcommand{مطلب‌پشت}{backmatter}
+\eqcommand{شکاف‌پشت}{backslash}
+\eqcommand{بدنمایی}{badness}
+\eqcommand{میله}{bar}
+\eqcommand{فاصله‌کرسی}{baselineskip}
+\eqcommand{کشش‌فاصله‌کرسی}{baselinestretch}
+\eqcommand{پردازش‌دسته‌ای}{batchmode}
+\eqcommand{شروع}{begin}
+\eqcommand{شروع‌چپ}{beginL}
+\eqcommand{شروع‌راست}{beginR}
+\eqcommand{شروع‌گروه}{begingroup}
+\eqcommand{فاصله‌کوتاه‌پایین‌نمایش}{belowdisplayshortskip}
+\eqcommand{فاصله‌پایین‌نمایش}{belowdisplayskip}
+\eqcommand{سیاه}{bf}
+\eqcommand{پیش‌فرض‌سیاه}{bfdefault}
+\eqcommand{شمایل‌سیاه}{bfseries}
+\eqcommand{شرگروه}{bgroup}
+\eqcommand{مرجوع}{bibitem}
+\eqcommand{کتاب‌نامه}{bibliography}
+\eqcommand{سبک‌کتاب‌نامه}{bibliographystyle}
+\eqcommand{عنوان‌کتاب‌نامه}{bibname}
+\eqcommand{پرش‌بلند}{bigskip}
+\eqcommand{مقدارپرش‌بلند}{bigskipamount}
+\eqcommand{خط‌پایین‌شناور}{botfigrule}
+\eqcommand{علامت‌پایین}{botmark}
+\eqcommand{کادرتاپایین}{bottompageskip}
+\eqcommand{نسبت‌پایین}{bottomfraction}
+\eqcommand{کادر}{box}
+\eqcommand{حداکثرعمق‌کادر}{boxmaxdepth}
+\eqcommand{بشکن}{break}
+\eqcommand{گلوله}{bullet}
+\eqcommand{دوپن@پنج}{@cclv}
+\eqcommand{دوپن@شش}{@cclvi}
+\eqcommand{شرح}{caption}
+\eqcommand{کدرده}{catcode}
+\eqcommand{رونوشت}{cc}
+\eqcommand{نام‌رونوشت}{ccname}
+\eqcommand{نقطه‌وسط}{cdot}
+\eqcommand{نقاط‌وسط}{cdots}
+\eqcommand{تنظیم‌ازوسط}{centering}
+\eqcommand{خط‌وسط}{centerline}
+\eqcommand{چک@ن}{ch@ck}
+\eqcommand{فصل}{chapter}
+\eqcommand{عنوان‌فصل}{chaptername}
+\eqcommand{نویسه}{char}
+\eqcommand{تعریف‌نویسه}{chardef}
+\eqcommand{برسی‌فرمان}{CheckCommand}
+\eqcommand{مرجع}{cite}
+\eqcommand{خطای‌طبقه}{ClassError}
+\eqcommand{اطلاع‌طبقه}{ClassInfo}
+\eqcommand{هشدارطبقه}{ClassWarning}
+\eqcommand{هشدارطبقه‌بی‌سطر}{ClassWarningNoLine}
+\eqcommand{نشانگرمرکزی}{cleaders}
+\eqcommand{دوصفحه‌پاک}{cleardoublepage}
+\eqcommand{صفحه‌پاک}{clearpage}
+\eqcommand{خط‌ناپر}{cline}
+\eqcommand{ببندورودی}{closein}
+\eqcommand{ببندخروجی}{closeout}
+\eqcommand{بستن}{closing}
+\eqcommand{جریمه‌سربند}{clubpenalty}
+\eqcommand{خاج}{clubsuit}
+\eqcommand{علامت‌پایین‌ستون‌اول}{colbotmark}
+\eqcommand{علامت‌اول‌ستون‌اول}{colfirstmark}
+\eqcommand{رنگ}{color}
+\eqcommand{کادررنگ}{colorbox}
+\eqcommand{علامت‌بالای‌ستون‌اول}{coltopmark}
+\eqcommand{رنگ‌ستون}{columncolor}
+\eqcommand{بین‌ستون}{columnsep}
+\eqcommand{پهنای‌ستون}{columnwidth}
+\eqcommand{خط‌بین‌ستون}{columnseprule}
+\eqcommand{سطرفهرست}{contentsline}
+\eqcommand{عنوان‌فهرست‌مطالب}{contentsname}
+\eqcommand{کپی}{copy}
+\eqcommand{حق‌تالیف}{copyright}
+\eqcommand{شمار}{count}
+\eqcommand{شمار@}{count@}
+\eqcommand{تعریف‌شمار}{countdef}
+\eqcommand{سخ}{cr}
+\eqcommand{سخ‌سخ}{crcr}
+\eqcommand{نام‌فرمان}{csname}
+\eqcommand{گزینه‌جاری}{CurrentOption}
+\eqcommand{کادربینابین}{dashbox}
+\eqcommand{بینابین‌ع}{dashv}
+\eqcommand{@تاریخ}{@date}
+\eqcommand{تاریخ}{date}
+\eqcommand{روز}{day}
+\eqcommand{خط‌پایین‌شناورپهن}{dblbotfigrule}
+\eqcommand{نسبت‌پهن‌پایین}{dblbottomfraction}
+\eqcommand{خط‌بالای‌شناورپهن}{dblfigrule}
+\eqcommand{نسبت‌صفحه‌شناورپهن}{dblfloatpagefraction}
+\eqcommand{فاصله‌بین‌شناورپهن}{dblfloatsep}
+\eqcommand{کدمکان‌غیرهمانطور}{dblfntlocatecode}
+\eqcommand{فاصله‌متن‌وشناورپهن}{dbltextfloatsep}
+\eqcommand{نسبت‌پهن‌بالا}{dbltopfraction}
+\eqcommand{اعلان‌قلم‌ثابت}{DeclareFixedFont}
+\eqcommand{اعلان‌پسوندگرافیک}{DeclareGraphicsExtensions}
+\eqcommand{اعلان‌دستورگرافیک}{DeclareGraphicsRule}
+\eqcommand{اعلان‌فرمان‌قلم‌قدیمی}{DeclareOldFontCommand}
+\eqcommand{اعلان‌گزینه}{DeclareOption}
+\eqcommand{اعلان‌فرمان‌قوی}{DeclareRobustCommand}
+\eqcommand{اعلان‌قلم‌علائم}{DeclareSymbolFont}
+\eqcommand{دوربسته}{deadcycles}
+\eqcommand{تر}{def}
+\eqcommand{تعریف@کلید}{define@key}
+\eqcommand{تعریف‌رنگ}{definecolor}
+\eqcommand{درجه}{deg}
+\eqcommand{کدجداساز}{delcode}
+\eqcommand{جداساز}{delimiter}
+\eqcommand{ضریب‌جداساز}{delimiterfactor}
+\eqcommand{گودی}{depth}
+\eqcommand{خشت}{diamondsuit}
+\eqcommand{ابعاد}{dim}
+\eqcommand{بعد}{dimen}
+\eqcommand{بعد@}{dimen@}
+\eqcommand{بعد@یک}{dimen@i}
+\eqcommand{بعد@دو}{dimen@ii}
+\eqcommand{تعریف‌بعد}{dimendef}
+\eqcommand{تیره‌گذاری}{discretionary}
+\eqcommand{شکست‌نمایش}{displaybreak}
+\eqcommand{تورفتگی‌نمایش}{displayindent}
+\eqcommand{سبک‌نمایش}{displaystyle}
+\eqcommand{عرض‌نمایش}{displaywidth}
+\eqcommand{تقسیم}{divide}
+\eqcommand{طبقه‌نوشتار}{documentclass}
+\eqcommand{کن}{do}
+\eqcommand{تعویض‌کدها}{dospecials}
+\eqcommand{نقطه}{dot}
+\eqcommand{نقطه‌مساوی}{doteq}
+\eqcommand{پرنقطه‌ا}{dotfill}
+\eqcommand{نقاط}{dots}
+\eqcommand{کادردولا}{doublebox}
+\eqcommand{رنگ‌فاصله‌دوخط‌جدول}{doublerulesepcolor}
+\eqcommand{فاصله‌بین‌دوخط}{doublerulesep}
+\eqcommand{فلش‌پایین}{downarrow}
+\eqcommand{عمق}{dp}
+\eqcommand{تخلیه}{dump}
+\eqcommand{ترگ}{edef}
+\eqcommand{پاگروه}{egroup}
+\eqcommand{انتهای‌فاصله}{eject}
+\eqcommand{گرنه}{else}
+\eqcommand{تاکید}{em}
+\eqcommand{کشش‌لاجرم}{emergencystretch}
+\eqcommand{موکد}{emph}
+\eqcommand{@پوچ}{@empty}
+\eqcommand{پوچ}{empty}
+\eqcommand{مجموعه‌پوچ}{emptyset}
+\eqcommand{پایان}{end}
+\eqcommand{پایان‌چپ}{endL}
+\eqcommand{پایان‌راست}{endR}
+\eqcommand{پایان‌نام‌فرمان}{endcsname}
+\eqcommand{پایان‌اولین‌سر}{endfirsthead}
+\eqcommand{پایان‌پا}{endfoot}
+\eqcommand{ته‌بند}{endgraf}
+\eqcommand{پایان‌گروه}{endgroup}
+\eqcommand{پایان‌سر}{endhead}
+\eqcommand{پایان‌ورودی}{endinput}
+\eqcommand{پایان‌آخرین‌پا}{endlastfoot}
+\eqcommand{گسترش‌این‌صفحه}{enlargethispage}
+\eqcommand{ته‌سطر}{endline}
+\eqcommand{نویسه‌ته‌سطر}{endlinechar}
+\eqcommand{ان‌دوری}{enspace}
+\eqcommand{ان‌فاصله}{enskip}
+\eqcommand{فرمان‌جانشین}{eqcommand}
+\eqcommand{محیط‌جانشین}{eqenvironment}
+\eqcommand{ارجاع‌فر}{eqref}
+\eqcommand{کمک‌خطا}{errhelp}
+\eqcommand{پیام‌خطا}{errmessage}
+\eqcommand{سطرمتن‌خطا}{errorcontextlines}
+\eqcommand{پردازش‌توقف‌خطا}{errorstopmode}
+\eqcommand{نویسه‌ویژه}{escapechar}
+\eqcommand{یورو}{euro}
+\eqcommand{حاشیه‌زوج}{evensidemargin}
+\eqcommand{هرسخ}{everycr}
+\eqcommand{هرنمایش}{everydisplay}
+\eqcommand{هرکادرا}{everyhbox}
+\eqcommand{هرکار}{everyjob}
+\eqcommand{هرریاضی}{everymath}
+\eqcommand{هربند}{everypar}
+\eqcommand{هرکادرو}{everyvbox}
+\eqcommand{اجرای‌گزینه‌ها}{ExecuteOptions}
+\eqcommand{جریمه‌اضافی‌تیره‌بندی}{exhyphenpenalty}
+\eqcommand{بگسترپس‌از}{expandafter}
+\eqcommand{فاصله‌اضافی‌بین‌ستونها}{extracolsep}
+\eqcommand{@اولی‌ازیک}{@firstofone}
+\eqcommand{@اولی‌ازدو}{@firstoftwo}
+\eqcommand{چ@ار}{f@ur}
+\eqcommand{خانواده}{fam}
+\eqcommand{صفحه‌تجملی}{fancypage}
+\eqcommand{کادربا}{fbox}
+\eqcommand{ضخامت‌کادربا}{fboxrule}
+\eqcommand{حاشیه‌کادربا}{fboxsep}
+\eqcommand{کادربارنگ}{fcolorbox}
+\eqcommand{رگ}{fi}
+\eqcommand{عنوان‌شکل}{figurename}
+\eqcommand{پرشکن}{filbreak}
+\eqcommand{پر}{fill}
+\eqcommand{علامت‌اول}{firstmark}
+\eqcommand{پهن}{flat}
+\eqcommand{نسبت‌صفحه‌شناور}{floatpagefraction}
+\eqcommand{جریمه‌شناور}{floatingpenalty}
+\eqcommand{فاصله‌بین‌شناور}{floatsep}
+\eqcommand{تنظیم‌ازپایین}{flushbottom}
+\eqcommand{شکلبندی}{fmtname}
+\eqcommand{رده‌شکلبندی}{fmtversion}
+\eqcommand{نشانه}{fnsymbol}
+\eqcommand{قلم}{font}
+\eqcommand{بعدقلم}{fontdimen}
+\eqcommand{رمزینه‌قلم}{fontencoding}
+\eqcommand{فامیل‌قلم}{fontfamily}
+\eqcommand{نام‌قلم}{fontname}
+\eqcommand{شمایل‌قلم}{fontseries}
+\eqcommand{شکل‌قلم}{fontshape}
+\eqcommand{اندازه‌قلم}{fontsize}
+\eqcommand{بلندای‌پایین‌صفحه}{footheight}
+\eqcommand{درج‌زیرنویس}{footins}
+\eqcommand{زیرنویس}{footnote}
+\eqcommand{علامت‌زیرنویس}{footnotemark}
+\eqcommand{خط‌زیرنویس}{footnoterule}
+\eqcommand{فاصله‌تازیرنویس}{footnotesep}
+\eqcommand{اندازه‌زیرنویس}{footnotesize}
+\eqcommand{متن‌زیرنویس}{footnotetext}
+\eqcommand{فاصله‌تاپایین‌صفحه}{footskip}
+\eqcommand{فریم}{frame}
+\eqcommand{کادرباخط}{framebox}
+\eqcommand{فواصل‌یکنواخت‌لاتین}{frenchspacing}
+\eqcommand{مطلب‌پیش}{frontmatter}
+\eqcommand{بعدبگذار}{futurelet}
+\eqcommand{@خورحریصانه}{@gobble}
+\eqcommand{@خورحریصانه‌دو}{@gobbletwo}
+\eqcommand{@خورحریصانه‌چهار}{@gobblefour}
+\eqcommand{@عاقت‌آ}{@gtempa}
+\eqcommand{@عاقت‌ب}{@gtempb}
+\eqcommand{ترع}{gdef}
+\eqcommand{الگوی‌اطلاع}{GenericInfo}
+\eqcommand{الگوی‌هشدار}{GenericWarning}
+\eqcommand{الگوی‌خطا}{GenericError}
+\eqcommand{عام}{global}
+\eqcommand{تعاریف‌عام}{globaldefs}
+\eqcommand{لغت‌نامه}{glossary}
+\eqcommand{فقره‌فرهنگ}{glossaryentry}
+\eqcommand{خوش‌شکن}{goodbreak}
+\eqcommand{کاغذگراف}{graphpaper}
+\eqcommand{گیومه‌چپ}{guillemotleft}
+\eqcommand{گیومه‌راست}{guillemotright}
+\eqcommand{گیومه‌تکی‌چپ}{guilsinglleft}
+\eqcommand{گیومه‌تکی‌راست}{guilsinglright}
+\eqcommand{ردیف‌ا}{halign}
+\eqcommand{بروتو}{hang}
+\eqcommand{بعدازسطر}{hangafter}
+\eqcommand{تورفتگی‌ثابت}{hangindent}
+\eqcommand{بدنمایی‌ا}{hbadness}
+\eqcommand{کادرا}{hbox}
+\eqcommand{بلندای‌سرصفحه}{headheight}
+\eqcommand{فاصله‌ازسرصفحه}{headsep}
+\eqcommand{سربه‌نام}{headtoname}
+\eqcommand{دل}{heartsuit}
+\eqcommand{بلندا}{height}
+\eqcommand{پرا}{hfil}
+\eqcommand{پررا}{hfill}
+\eqcommand{رفع‌پرا}{hfilneg}
+\eqcommand{پرزافقی}{hfuzz}
+\eqcommand{فاصله‌مخفی}{hideskip}
+\eqcommand{عرض‌پنهان}{hidewidth}
+\bidi@csletcs{خط‌پر}{hline}% this is an exception
+\eqcommand{حاشیه‌ا}{hoffset}
+\eqcommand{حفظ‌درج}{holdinginserts}
+\eqcommand{فاصله‌اگرد}{hrboxsep}
+\eqcommand{خط‌ا}{hrule}
+\eqcommand{پرخط‌ا}{hrulefill}
+\eqcommand{طول‌سطر}{hsize}
+\eqcommand{فاصله‌ا}{hskip}
+\eqcommand{فضای‌ا}{hspace}
+\eqcommand{هردوا}{hss}
+\eqcommand{ارتفاع}{ht}
+\eqcommand{بزرگ}{huge}
+\eqcommand{بزرگ‌تر}{Huge}
+\eqcommand{ابرپیوند}{hyperlink}
+\eqcommand{بارگذاری‌ابر}{hypersetup}
+\eqcommand{هدف‌ابر}{hypertarget}
+\eqcommand{تیره‌بندی}{hyphenation}
+\eqcommand{نویسه‌تیره}{hyphenchar}
+\eqcommand{جریمه‌تیره‌بندی}{hyphenpenalty}
+\eqcommand{@گرکلاس‌فراخوانی‌شده}{@ifclassloaded}
+\eqcommand{@گرترشدنی}{@ifdefinable}
+\eqcommand{@گرنویسه‌بعدی}{@ifnextchar}
+\eqcommand{@گرسبک‌فراخوانی‌شده}{@ifpackageloaded}
+\eqcommand{@گرستاره}{@ifstar}
+\eqcommand{@گرتعریف‌نشده}{@ifundefined}
+\eqcommand{گر}{if}
+\eqcommand{گر@سواقت‌آ}{if@tempswa}
+\eqcommand{گرانواع}{ifcase}
+\eqcommand{گررده}{ifcat}
+\eqcommand{گرتعریف‌شده}{ifdefined}
+\eqcommand{گربعد}{ifdim}
+\eqcommand{گرته‌پرونده}{ifeof}
+\eqcommand{گرر}{iff}
+\eqcommand{گرنادرست}{iffalse}
+\eqcommand{گرپرونده‌موجود}{IfFileExists}
+\eqcommand{گرکادرا}{ifhbox}
+\eqcommand{گرحالت‌ا}{ifhmode}
+\eqcommand{گردرونی}{ifinner}
+\eqcommand{گرحالت‌ریاضی}{ifmmode}
+\eqcommand{گرعدد}{ifnum}
+\eqcommand{گرفرد}{ifodd}
+\eqcommand{گرآنگاه‌دیگر}{ifthenelse}
+\eqcommand{گردرست}{iftrue}
+\eqcommand{گرکادرو}{ifvbox}
+\eqcommand{گرحالت‌و}{ifvmode}
+\eqcommand{گرتهی}{ifvoid}
+\eqcommand{گرتام}{ifx}
+\eqcommand{فاصله‌خالی‌راندیده‌بگیر}{ignorespaces}
+\eqcommand{فوری}{immediate}
+\eqcommand{شامل}{include}
+\eqcommand{درج‌تصویر}{includegraphics}
+\eqcommand{مشمولین}{includeonly}
+\eqcommand{تورفتگی}{indent}
+\eqcommand{درنمایه}{index}
+\eqcommand{استعلام}{indexentry}
+\eqcommand{عنوان‌نمایه}{indexname}
+\eqcommand{فاصله‌رهنما}{indexspace}
+\eqcommand{ورودی}{input}
+\eqcommand{ورودپرونده‌گرموجود}{InputIfFileExists}
+\eqcommand{شماره‌سطرورودی}{inputlineno}
+\eqcommand{درج}{insert}
+\eqcommand{جریمه‌درج}{insertpenalties}
+\eqcommand{جریمه‌بین‌سطرهای‌زیرنویس}{interfootnotelinepenalty}
+\eqcommand{جریمه‌بین‌سطرهای‌نمایش}{interdisplaylinepenalty}
+\eqcommand{جریمه‌بین‌سطرها}{interlinepenalty}
+\eqcommand{متن‌داخلی}{intertext}
+\eqcommand{فاصله‌شناوردرمتن}{intertextsep}
+\eqcommand{مخفی}{invisible}
+\eqcommand{پیش‌فرض‌ای}{itdefault}
+\eqcommand{شکل‌ایتالیک}{itshape}
+\eqcommand{فقره}{item}
+\eqcommand{تورفتگی‌فقره}{itemindent}
+\eqcommand{فاصله‌فقره}{itemsep}
+\eqcommand{تکرارکن}{iterate}
+\eqcommand{شکل‌ای}{itshape}
+\eqcommand{نام‌کار}{jobname}
+\eqcommand{قلپ}{jot}
+\eqcommand{دوری}{kern}
+\eqcommand{الگو}{kill}
+\eqcommand{برچسب}{label}
+\eqcommand{برچسب‌شمارش‌یک}{labelenumi}
+\eqcommand{برچسب‌شمارش‌دو}{labelenumii}
+\eqcommand{برچسب‌شمارش‌سه}{labelenumiii}
+\eqcommand{برچسب‌شمارش‌چهار}{labelenumiv}
+\eqcommand{برچسب‌فقره‌یک}{labelitemi}
+\eqcommand{برچسب‌فقره‌دو}{labelitemii}
+\eqcommand{برچسب‌فقره‌سه}{labelitemiii}
+\eqcommand{برچسب‌فقره‌چهار}{labelitemiv}
+\eqcommand{فاصله‌ازبرچسب}{labelsep}
+\eqcommand{پهنای‌برچسب}{labelwidth}
+\eqcommand{زبان}{language}
+\eqcommand{درشت}{large}
+\eqcommand{درشت‌تر}{Large}
+\eqcommand{درشت‌درشت}{LARGE}
+\eqcommand{آخرین‌کادر}{lastbox}
+\eqcommand{آخرین‌دوری}{lastkern}
+\eqcommand{آخرین‌جریمه}{lastpenalty}
+\eqcommand{آخرین‌فاصله}{lastskip}
+\eqcommand{لاتک}{LaTeX}
+\eqcommand{لاتک‌ای}{LaTeXe}
+\eqcommand{کدکوچک}{lccode}
+\eqcommand{نقاط‌خ}{ldots}
+\eqcommand{نشانگر}{leaders}
+\eqcommand{ترک‌و}{leavevmode}
+\eqcommand{چپ}{left}
+\eqcommand{حاشیه‌چپ}{leftmargin}
+\eqcommand{حاشیه‌چپ‌یک}{leftmargini}
+\eqcommand{حاشیه‌چپ‌دو}{leftmarginii}
+\eqcommand{حاشیه‌چپ‌سه}{leftmarginiii}
+\eqcommand{حاشیه‌چپ‌چهار}{leftmarginiv}
+\eqcommand{حاشیه‌چپ‌پنج}{leftmarginv}
+\eqcommand{حاشیه‌چپ‌شش}{leftmarginvi}
+\eqcommand{علامت‌چپ}{leftmark}
+\eqcommand{کادرتاچپ}{leftpageskip}
+\eqcommand{فاصله‌ابتدای‌سطر}{leftskip}
+\eqcommand{بگذار}{let}
+\eqcommand{سطر}{line}
+\eqcommand{سطرشکن}{linebreak}
+\eqcommand{جریمه‌سطر}{linepenalty}
+\eqcommand{فاصله‌سطرها}{lineskip}
+\eqcommand{حدفاصله‌سطر}{lineskiplimit}
+\eqcommand{کشش‌فاصله‌سطر}{linespread}
+\eqcommand{ضخامت‌خط}{linethickness}
+\eqcommand{پهنای‌سطر}{linewidth}
+\eqcommand{عنوان‌فهرست‌اشکال}{listfigurename}
+\eqcommand{لیست‌پرونده‌ها}{listfiles}
+\eqcommand{فهرست‌اشکال}{listoffigures}
+\eqcommand{فهرست‌جداول}{listoftables}
+\eqcommand{تورفتگی‌بندلیست}{listparindent}
+\eqcommand{عنوان‌فهرست‌جداول}{listtablename}
+\eqcommand{بارکن‌طبقه}{LoadClass}
+\eqcommand{بارکن‌طبقه‌باگزینه}{LoadClassWithOptions}
+\eqcommand{مکان}{location}
+\eqcommand{بلند}{long}
+\eqcommand{گسیختگی}{looseness}
+\eqcommand{انتقال‌بپایین}{lower}
+\eqcommand{@دیگر}{@makeother}
+\eqcommand{@زار}{@m}
+\eqcommand{ده@زار}{@M}
+\eqcommand{ده@زاریک}{@Mi}
+\eqcommand{ده@زاردو}{@Mii}
+\eqcommand{ده@زارسه}{@Miii}
+\eqcommand{ده@زارچهار}{@Miv}
+\eqcommand{بیس@زار}{@MM}
+\eqcommand{من@ا}{m@ne}
+\eqcommand{بزرگ‌نمایی}{mag}
+\eqcommand{گام}{magstep}
+\eqcommand{نیم‌گام}{magstephalf}
+\eqcommand{مطلب‌اصلی}{mainmatter}
+\eqcommand{ات‌حرف}{makeatletter}
+\eqcommand{ات‌دیگر}{makeatother}
+\eqcommand{کادربی‌خط}{makebox}
+\eqcommand{ساخت‌فرهنگ}{makeglossary}
+\eqcommand{تهیه‌نمایه}{makeindex}
+\eqcommand{ساخت‌برچسب}{makelabel}
+\eqcommand{ساخت‌برچسب‌ها}{makelabels}
+\eqcommand{ساخت‌حروف‌کوچک}{MakeLowercase}
+\eqcommand{عنوان‌ساز}{maketitle}
+\eqcommand{ساخت‌حروف‌بزرگ}{MakeUppercase}
+\eqcommand{درحاشیه}{marginpar}
+\eqcommand{فاصله‌دوحاشیه}{marginparpush}
+\eqcommand{فاصله‌تاحاشیه}{marginparsep}
+\eqcommand{پهنای‌حاشیه}{marginparwidth}
+\eqcommand{علامت}{mark}
+\eqcommand{علامت‌دردوطرف}{markboth}
+\eqcommand{علامت‌درراست}{markright}
+\eqcommand{اعراب‌ریاضی}{mathaccent}
+\eqcommand{نویسه‌ریاضی}{mathchar}
+\eqcommand{تعریف‌نویسه‌ریاضی}{mathchardef}
+\eqcommand{کدریاضی}{mathcode}
+\eqcommand{ریاضی‌رومن}{mathrm}
+\eqcommand{حداکثرتکرار}{maxdeadcycles}
+\eqcommand{حداکثرعمق‌صفحه}{maxdepth}
+\eqcommand{بعدبیشین}{maxdimen}
+\eqcommand{کادربی}{mbox}
+\eqcommand{شمایل‌نازک}{mdseries}
+\eqcommand{معنا}{meaning}
+\eqcommand{نازک}{mediumseries}
+\eqcommand{فاصله‌متوسط‌ریاضی}{medmuskip}
+\eqcommand{پرش‌متوسط}{medskip}
+\eqcommand{مقدارپرش‌متوسط}{medskipamount}
+\eqcommand{فضای‌متوسط}{medspace}
+\eqcommand{پیام}{message}
+\eqcommand{پیام‌شکن}{MessageBreak}
+\eqcommand{حداقل‌فاصله‌ردیف}{minrowclearance}
+\eqcommand{دوری‌ریاضی}{mkern}
+\eqcommand{ماه}{month}
+\eqcommand{انتقال‌بچپ}{moveleft}
+\eqcommand{انتقال‌براست}{moveright}
+\eqcommand{فاصله‌ریاضی}{mskip}
+\eqcommand{ری@ضی}{m@th}
+\eqcommand{چندستونی}{multicolumn}
+\eqcommand{ضرب}{multiply}
+\eqcommand{چندادغام}{multispan}
+\eqcommand{میوفاصله}{muskip}
+\eqcommand{تعریف‌میوفاصله}{muskipdef}
+\eqcommand{@ترنام}{@namedef}
+\eqcommand{@کاربردنام}{@nameuse}
+\eqcommand{یک@}{@ne}
+\eqcommand{نام}{name}
+\eqcommand{طبیعی}{natural}
+\eqcommand{باریک}{nearrow}
+\eqcommand{باریکتر}{nearrower}
+\eqcommand{شکلبندی‌موردنیاز}{NeedsTeXFormat}
+\eqcommand{منفی}{neg}
+\eqcommand{فضای‌متوسط‌منفی}{negmedspace}
+\eqcommand{فضای‌ضخیم‌منفی}{negthickspace}
+\eqcommand{دوری‌کوچک‌منفی}{negthinspace}
+\eqcommand{بولی‌نو}{newboolean}
+\eqcommand{کادرجدید}{newbox}
+\eqcommand{فرمان‌نو}{newcommand}
+\eqcommand{شمارجدید}{newcount}
+\eqcommand{شمارنده‌جدید}{newcounter}
+\eqcommand{بعدجدید}{newdimen}
+\eqcommand{محیط‌نو}{newenvironment}
+\eqcommand{خانواده‌جدید}{newfam}
+\eqcommand{قلم‌نو}{newfont}
+\eqcommand{کمک‌جدید}{newhelp}
+\eqcommand{درج‌جدید}{newinsert}
+\eqcommand{برچسب‌جدید}{newlabel}
+\eqcommand{تعریف‌بعدجدید}{newlength}
+\eqcommand{سطرجدید}{newline}
+\eqcommand{نویسه‌سطرجدید}{newlinechar}
+\eqcommand{میوفاصله‌جدید}{newmuskip}
+\eqcommand{صفحه‌جدید}{newpage}
+\eqcommand{بخوان‌جدید}{newread}
+\eqcommand{تعریف‌کادرجدید}{newsavebox}
+\eqcommand{فاصله‌جدید}{newskip}
+\eqcommand{قضیه‌جدید}{newtheorem}
+\eqcommand{جزءجدید}{newtoks}
+\eqcommand{بنویس‌جدید}{newwrite}
+\eqcommand{بی‌ردیف}{noalign}
+\eqcommand{نشکن}{nobreak}
+\eqcommand{فاصله‌نشکستنی}{nobreakspace}
+\eqcommand{بدون‌سند}{nocite}
+\eqcommand{نگستر}{noexpand}
+\eqcommand{بدون‌پرونده}{nofiles}
+\eqcommand{بدون‌تورفتگی}{noindent}
+\eqcommand{بی‌فاصله‌سطر}{nointerlineskip}
+\eqcommand{بدون‌حد}{nolimits}
+\eqcommand{سطرنشکن}{nolinebreak}
+\eqcommand{پردازش‌بدون‌توقف}{nonstopmode}
+\eqcommand{فواصل‌متعارف‌لاتین}{nonfrenchspacing}
+\eqcommand{بدون‌شماره}{nonumber}
+\eqcommand{صفحه‌نشکن}{nopagebreak}
+\eqcommand{کرسیهای‌متعارف}{normalbaselines}
+\eqcommand{فاصله‌کرسی‌متعارف}{normalbaselineskip}
+\eqcommand{رنگ‌عادی}{normalcolor}
+\eqcommand{قلم‌عادی}{normalfont}
+\eqcommand{فاصله‌سطرمتعارف}{normallineskip}
+\eqcommand{حدفاصله‌سطرمتعارف}{normallineskiplimit}
+\eqcommand{درحاشیه‌عادی}{normalmarginpar}
+\eqcommand{اندازه‌عادی}{normalsize}
+\eqcommand{بدون‌اتیکت}{notag}
+\eqcommand{نول}{null}
+\eqcommand{قلم‌تهی}{nullfont}
+\eqcommand{عدد}{number}
+\eqcommand{سطرعددی}{numberline}
+\eqcommand{شماره‌مطابق}{numberwithin}
+\eqcommand{پایین‌صفحه‌زوج}{@evenfoot}
+\eqcommand{بالای‌صفحه‌زوج}{@evenhead}
+\eqcommand{پایین‌صفحه‌فرد}{@oddfoot}
+\eqcommand{بالای‌صفحه‌فرد}{@oddhead}
+\eqcommand{شماره‌بیرون‌درست}{@outeqntrue}
+\eqcommand{شماره‌بیرون‌نادرست}{@outeqnfalse}
+\eqcommand{سطربه‌سطر}{obeylines}
+\eqcommand{فضافعال}{obeyspaces}
+\eqcommand{حاشیه‌فرد}{oddsidemargin}
+\eqcommand{سطوربی‌فاصله}{offinterlineskip}
+\eqcommand{حذف}{omit}
+\eqcommand{@تنهادرپیش‌درآمد}{@onlypreamble}
+\eqcommand{یک‌ستون}{onecolumn}
+\eqcommand{تنها‌یادداشت‌ها}{onlynotes}
+\eqcommand{تنهااسلایدها}{onlyslides}
+\eqcommand{بازکن‌ورودی}{openin}
+\eqcommand{بازکن‌خروجی}{openout}
+\eqcommand{گزینه‌مصرف‌نشده}{OptionNotUsed}
+\eqcommand{یا}{or}
+\eqcommand{برونی}{outer}
+\eqcommand{صفحه‌بندی}{output}
+\eqcommand{جریمه‌صفحه‌بندی}{outputpenalty}
+\eqcommand{علامت‌سرریز}{overfullrule}
+\eqcommand{@فرمان‌های‌پیش‌درآمد}{@preamblecmds}
+\eqcommand{@پو}{p@}
+\eqcommand{خطای‌سبک}{PackageError}
+\eqcommand{اطلاع‌سبک}{PackageInfo}
+\eqcommand{هشدارسبک}{PackageWarning}
+\eqcommand{هشدارسبک‌بی‌سطر}{PackageWarningNoLine}
+\eqcommand{صفحه‌شکن}{pagebreak}
+\eqcommand{رنگ‌صفحه}{pagecolor}
+\eqcommand{عمق‌صفحه}{pagedepth}
+\eqcommand{کشش‌پرررصفحه}{pagefilllstretch}
+\eqcommand{کشش‌پررصفحه}{pagefillstretch}
+\eqcommand{کشش‌پرصفحه}{pagefilstretch}
+\eqcommand{غایت‌صفحه}{pagegoal}
+\eqcommand{نام‌صفحه}{pagename}
+\eqcommand{شماره‌گذاری‌صفحه}{pagenumbering}
+\eqcommand{رجوع‌صفحه}{pageref}
+\eqcommand{ضخامت‌خط‌صفحه}{pagerulewidth}
+\eqcommand{فشردگی‌صفحه}{pageshrink}
+\eqcommand{کشش‌صفحه}{pagestretch}
+\eqcommand{سبک‌صفحه}{pagestyle}
+\eqcommand{جمع‌صفحه}{pagetotal}
+\eqcommand{بلندای‌کاغذ}{paperheight}
+\eqcommand{پهنای‌کاغذ}{paperwidth}
+\bidi@csdefcs{بند}{par}% this is an exception since \par is redefined only in some circumstances
+\eqcommand{پاراگراف}{paragraph}
+\eqcommand{موازی}{parallel}
+\eqcommand{کادرپار}{parbox}
+\eqcommand{فاصله‌ته‌بند}{parfillskip}
+\eqcommand{تورفتگی‌سربند}{parindent}
+\eqcommand{فاصله‌بندلیست}{parsep}
+\eqcommand{شکل‌بند}{parshape}
+\eqcommand{فاصله‌بند}{parskip}
+\eqcommand{بخش}{part}
+\eqcommand{عنوان‌بخش}{partname}
+\eqcommand{فاصله‌بالای‌لیست‌بند}{partopsep}
+\eqcommand{ارسال‌گزینه‌به‌کلاس}{PassOptionToClass}
+\eqcommand{ارسال‌گزینه‌به‌پکیج}{PassOptionToPackage}
+\eqcommand{مسیر}{path}
+\eqcommand{الگوها}{patterns}
+\eqcommand{مکث}{pausing}
+\eqcommand{جریمه}{penalty}
+\eqcommand{غیب}{phantom}
+\eqcommand{الگوی‌قبلی}{poptabs}
+\eqcommand{جریمه‌پس‌نمایش}{postdisplaypenalty}
+\eqcommand{جهت‌پیش‌نمایش}{predisplaydirection}
+\eqcommand{جریمه‌پیش‌نمایش}{predisplaypenalty}
+\eqcommand{اندازه‌پیش‌نمایش}{predisplaysize}
+\eqcommand{پیش‌حدبدنمایی}{pretolerance}
+\eqcommand{عمق‌قبلی}{prevdepth}
+\eqcommand{بندقبلی}{prevgraf}
+\eqcommand{نمایه‌دراینجا}{printindex}
+\eqcommand{پردازش‌گزینه‌ها}{ProcessOptions}
+\eqcommand{تامین}{protect}
+\eqcommand{تهیه‌فرمان}{providecommand}
+\eqcommand{آماده‌سازی‌طبقه}{ProvidesClass}
+\eqcommand{آماده‌سازی‌پرونده}{ProvidesFile}
+\eqcommand{آماده‌سازی‌سبک}{ProvidesPackage}
+\eqcommand{ثبت‌الگو}{pushtabs}
+\eqcommand{کواد}{quad}
+\eqcommand{کوکواد}{qquad}
+\eqcommand{@بازآیی‌خروج‌صفحه}{@outputpagerestore}
+\eqcommand{رادیکال}{radical}
+\eqcommand{پایین‌بی‌تنظیم}{raggedbottom}
+\eqcommand{تنظیم‌ازراست}{raggedleft}
+\eqcommand{تنظیم‌ازچپ}{raggedright}
+\eqcommand{انتقال‌ببالا}{raise}
+\eqcommand{بالابر}{raisebox}
+\eqcommand{ترفیع‌اتیکت}{raisetag}
+\eqcommand{زاویه‌ر}{rangle}
+\eqcommand{سقف‌ر}{rceil}
+\eqcommand{بخوان}{read}
+\eqcommand{رجوع}{ref}
+\eqcommand{کادرقرینه}{reflectbox}
+\eqcommand{عنوان‌مراجع}{refname}
+\eqcommand{گام‌شمارنده‌مرجع}{refstepcounter}
+\eqcommand{راحت}{relax}
+\eqcommand{رفع‌آخرین‌فاصله}{removelastskip}
+\eqcommand{فرمان‌ازنو}{renewcommand}
+\eqcommand{محیط‌ازنو}{renewenvironment}
+\eqcommand{سبک‌موردنیاز}{RequirePackage}
+\eqcommand{سبک‌موردنیازباگزینه}{RequirePackageWithOptions}
+\eqcommand{کادرکشیده}{resizebox}
+\eqcommand{درحاشیه‌معکوس}{reversemarginpar}
+\eqcommand{کف‌ر}{rfloor}
+\eqcommand{راست}{right}
+\eqcommand{حاشیه‌راست}{rightmargin}
+\eqcommand{علامت‌راست}{rightmark}
+\eqcommand{کادرتاراست}{rightpageskip}
+\eqcommand{فاصله‌انتهای‌سطر}{rightskip}
+\eqcommand{رومن‌عادی}{rmdefault}
+\eqcommand{فامیل‌رومن}{rmfamily}
+\eqcommand{رومن‌بزرگ}{Roman}
+\eqcommand{رومن‌کوچک}{roman}
+\eqcommand{عددرومی}{romannumeral}
+\eqcommand{کادرچرخان}{rotatebox}
+\eqcommand{رنگ‌ردیف}{rowcolor}
+\eqcommand{خط}{rule}
+\eqcommand{@دومی‌ازدو}{@secondoftwo}
+\eqcommand{@فضاها}{@spaces}
+\eqcommand{همین‌صفحه}{samepage}
+\eqcommand{مقدارکادر}{savebox}
+\eqcommand{مقکادر}{sbox}
+\eqcommand{کادراندازه}{scalebox}
+\eqcommand{پیش‌فرض‌تمام‌بزرگ}{scdefault}
+\eqcommand{شکل‌تمام‌بزرگ}{scshape}
+\eqcommand{مقدارکلیدها}{setkeys}
+\eqcommand{قلم‌توان}{scriptfont}
+\eqcommand{قلم‌توان‌توان}{scriptscriptfont}
+\eqcommand{سبک‌ته‌نوشت‌ته‌نوشت}{scriptscriptstyle}
+\eqcommand{اندازه‌پانویس}{scriptsize}
+\eqcommand{سبک‌ته‌نوشت}{scripstyle}
+\eqcommand{پردازش‌گذری}{scrollmode}
+\eqcommand{قسمت}{section}
+\eqcommand{تعریف‌قسمت}{secdef}
+\eqcommand{ببینید}{see}
+\eqcommand{نیزببینید}{seealso}
+\eqcommand{نام‌ببینید}{seename}
+\eqcommand{قلم‌بردار}{selectfont}
+\eqcommand{تنظیم‌بولی}{setboolean}
+\eqcommand{درکادر}{setbox}
+\eqcommand{مقدارشمارنده}{setcounter}
+\eqcommand{مقداربعد}{setlength}
+\eqcommand{تنظیم‌منها}{setminus}
+\eqcommand{تعریف‌قلم‌علائم}{SetSymbolFont}
+\eqcommand{تنظیم‌به‌عمق}{settodepth}
+\eqcommand{تنظیم‌به‌ارتفاع}{settoheight}
+\eqcommand{مقداربعدبه‌اندازه}{settowidth}
+\eqcommand{کدضریب‌فاصله}{sfcode}
+\eqcommand{پیش‌فرض‌س‌ف}{sfdefault}
+\eqcommand{فامیل‌سن‌سریف}{sffamily}
+\eqcommand{کادرسایه‌دار}{shadowbox}
+\eqcommand{تیز}{sharp}
+\eqcommand{بفرست}{shipout}
+\eqcommand{پشته‌کوتاه}{shortstack}
+\eqcommand{نمایش‌بده}{show}
+\eqcommand{نمایش‌بده‌کادر}{showbox}
+\eqcommand{میزان‌نمایش‌کادر}{showboxbreadth}
+\eqcommand{عمق‌نمایش‌کادر}{showboxdepth}
+\eqcommand{نمایش‌بده‌لیستها}{showlists}
+\eqcommand{نمایش‌بده‌محتوای}{showthe}
+\eqcommand{حالت‌ساده‌قلم}{simplefontmode}
+\eqcommand{شانزد@}{sixt@@n}
+\eqcommand{نویسه‌اریب}{skewchar}
+\eqcommand{فاصله}{skip}
+\eqcommand{فاصل@}{skip@}
+\eqcommand{تعریف‌فاصله}{skipdef}
+\eqcommand{خوابیده}{sl}
+\eqcommand{پیش‌فرض‌خو}{sldefault}
+\eqcommand{شکل‌خوابیده}{slshape}
+\eqcommand{راحت‌چین}{sloppy}
+\eqcommand{شمایل‌خو}{slshape}
+\eqcommand{کوچک}{small}
+\eqcommand{پرش‌کوتاه}{smallskip}
+\eqcommand{مقدارپرش‌کوتاه}{smallskipamount}
+\eqcommand{کوب}{smash}
+\eqcommand{لبخند}{smile}
+\eqcommand{کدمکان‌همانطور}{snglfntlocatecode}
+\eqcommand{فضا}{space}
+\eqcommand{ضریب‌فاصله}{spacefactor}
+\eqcommand{فاصله‌کلمات}{spaceskip}
+\eqcommand{پیک}{spadesuit}
+\eqcommand{ادغام}{span}
+\eqcommand{ویژه}{special}
+\eqcommand{حداکثرعمق‌ستون}{splitmaxdepth}
+\eqcommand{فاصله‌بالای‌ستون}{splittopskip}
+\eqcommand{ستاره}{star}
+\eqcommand{گام‌شمارنده}{stepcounter}
+\eqcommand{کشی}{stretch}
+\eqcommand{رشته}{string}
+\eqcommand{شمع}{strut}
+\eqcommand{کادرشمع}{strutbox}
+\eqcommand{زیربند}{subitem}
+\eqcommand{زیرپاراگراف}{subparagraph}
+\eqcommand{زیرقسمت}{subsection}
+\eqcommand{زیرپشته}{substack}
+\eqcommand{زیرزیربند}{subsubitem}
+\eqcommand{زیرزیرقسمت}{subsubsection}
+\eqcommand{زیرمجموعه}{subset}
+\eqcommand{زیرمجموعه‌مس}{subseteq}
+\eqcommand{منتهای‌صفحه}{supereject}
+\eqcommand{حذف‌مکان‌شناور}{suppressfloats}
+\eqcommand{@موقت‌آ}{@tempa}
+\eqcommand{@موقت‌ب}{@tempb}
+\eqcommand{@موقت‌پ}{@tempc}
+\eqcommand{@موقت‌ت}{@tempd}
+\eqcommand{@موقت‌ث}{@tempe}
+\eqcommand{@کادرقت‌آ}{@tempboxa}
+\eqcommand{@شماقت‌آ}{@tempcnta}
+\eqcommand{@شماقت‌ب}{@tempcntb}
+\eqcommand{@بعدقت‌آ}{@tempdima}
+\eqcommand{@بعدقت‌ب}{@tempdimb}
+\eqcommand{@بعدقت‌پ}{@tempdimc}
+\eqcommand{@فاقت‌آ}{@tempskipa}
+\eqcommand{@فاقت‌ب}{@tempskipb}
+\eqcommand{@سواقت‌آنادرست}{@tempswafalse}
+\eqcommand{@سواقت‌آدرست}{@tempswatrue}
+\eqcommand{@جزقت‌آ}{@temptokena}
+\eqcommand{انگ‌زیرنویس}{@thefnmark}
+\eqcommand{@سومی‌ازسه}{@thirdofthree}
+\eqcommand{فاصله‌جاگذاری}{tabbingsep}
+\eqcommand{فاصله‌بین‌ستونها}{tabcolsep}
+\eqcommand{فهرست‌مطالب}{tableofcontents}
+\eqcommand{عنوان‌جدول}{tablename}
+\eqcommand{فاصله‌ستونها}{tabskip}
+\eqcommand{ته‌سطرجدول}{tabularnewline}
+\eqcommand{اتیکت}{tag}
+\eqcommand{تلفن}{telephone}
+\eqcommand{تک}{TeX}
+\eqcommand{متن}{text}
+\eqcommand{گلوله‌متنی}{textbullet}
+\eqcommand{قلم‌متن}{textfont}
+\eqcommand{ام‌دش‌متنی}{textemdash}
+\eqcommand{ان‌دش‌متنی}{textendash}
+\eqcommand{تعجب‌وارونه‌متنی}{textexclamdown}
+\eqcommand{نقطه‌وسط‌متنی}{textperiodcentered}
+\eqcommand{سوال‌وارونه‌متنی}{textquestiondown}
+\eqcommand{نقل‌چپ‌متنی‌دولا}{textquotedblleft}
+\eqcommand{نقل‌راست‌متنی‌دولا}{textquotedblright}
+\eqcommand{نقل‌متنی‌چپ}{textquoteleft}
+\eqcommand{نقل‌متنی‌راست}{textquoteright}
+\eqcommand{فضای‌نمایان‌متنی‌}{textvisiblespace}
+\eqcommand{شکافت‌پشت‌متنی}{textbackslash}
+\eqcommand{میله‌متنی}{textbar}
+\eqcommand{بزرگ‌تر‌متنی}{textgreater}
+\eqcommand{کمتر‌متنی}{textless}
+\eqcommand{متن‌سیاه}{textbf}
+\eqcommand{مدور‌متنی}{textcircled}
+\eqcommand{رنگ‌متن}{textcolor}
+\eqcommand{نشان‌کلمه‌مرکب‌متن}{textcompwordmark}
+\eqcommand{فاصله‌متن‌وشناور}{textfloatsep}
+\eqcommand{نسبت‌متن}{textfraction}
+\eqcommand{بلندای‌متن}{textheight}
+\eqcommand{متن‌تورفته}{textindent}
+\eqcommand{متن‌ایتالیک}{textit}
+\eqcommand{متن‌نازک}{textmd}
+\eqcommand{متن‌نرمال}{textnormal}
+\eqcommand{ثبتی‌متنی}{textregistered}
+\eqcommand{متن‌رومن}{textrm}
+\eqcommand{متن‌تمام‌بزرگ}{textsc}
+\eqcommand{متن‌سن‌سریف}{textsf}
+\eqcommand{متن‌خوابیده}{textsl}
+\eqcommand{سبک‌متنی}{textstyle}
+\eqcommand{بالانویس‌متنی}{textsuperscript}
+\eqcommand{علامت‌تجاری‌متنی}{texttrademark}
+\eqcommand{متن‌تایپ}{texttt}
+\eqcommand{متن‌ایستاده}{textup}
+\eqcommand{پهنای‌متن}{textwidth}
+\eqcommand{زیر‌نویس‌عنوان}{thanks}
+\eqcommand{محتوای}{the}
+\eqcommand{این‌زیرنویس}{thempfn}
+\eqcommand{خط‌هاضخیم}{thicklines}
+\eqcommand{فاصله‌زیادریاضی}{thickmuskip}
+\eqcommand{فاصله‌کم‌ریاضی}{thinmuskip}
+\eqcommand{فضاضخیم}{thickspace}
+\eqcommand{خط‌هانازک}{thinlines}
+\eqcommand{دوری‌کوچک}{thinspace}
+\eqcommand{این‌صفحه‌تجملی}{thisfancypage}
+\eqcommand{سبک‌این‌صفحه}{thispagestyle}
+\eqcommand{سه@}{thr@@}
+\eqcommand{مد}{tilde}
+\eqcommand{ظریف}{tiny}
+\eqcommand{زمان}{time}
+\eqcommand{ضرب‌در}{times}
+\eqcommand{عنوان}{title}
+\eqcommand{به}{to}
+\eqcommand{امروز}{today}
+\eqcommand{جزء}{toks}
+\eqcommand{تعریف‌جزء}{toksdef}
+\eqcommand{حدبدنمایی}{tolerance}
+\eqcommand{بالا}{top}
+\eqcommand{خط‌بالای‌شناور}{topfigrule}
+\eqcommand{نسبت‌بالا}{topfraction}
+\eqcommand{حاشیه‌بالا}{topmargin}
+\eqcommand{علامت‌بالا}{topmark}
+\eqcommand{کادرتابالا}{toppageskip}
+\eqcommand{فاصله‌بالای‌لیست}{topsep}
+\eqcommand{فاصله‌بالا}{topskip}
+\eqcommand{بلندای‌کل}{totalheight}
+\eqcommand{ردگیری‌کل}{tracingall}
+\eqcommand{ردگیری‌فرامین}{tracingcommands}
+\eqcommand{ردگیری‌حروف}{tracinglostchars}
+\eqcommand{ردگیری‌ماکروها}{tracingmacros}
+\eqcommand{ردگیری‌نمایشی}{tracingonline}
+\eqcommand{ردگیری‌صفحه‌بندی}{tracingoutput}
+\eqcommand{ردگیری‌صفحات}{tracingpages}
+\eqcommand{ردگیری‌بندها}{tracingparagraphs}
+\eqcommand{ردگیری‌بازگردانی}{tracingrestores}
+\eqcommand{ردگیری‌آمارها}{tracingstats}
+\eqcommand{مثلث}{triangle}
+\eqcommand{پیش‌فرض‌تایپ}{ttdefault}
+\eqcommand{فامیل‌تایپ}{ttfamily}
+\eqcommand{دو@}{tw@}
+\eqcommand{دوستون}{twocolumn}
+\eqcommand{درنویس}{typein}
+\eqcommand{برنویس}{typeout}
+\eqcommand{کدبزرگ}{uccode}
+\eqcommand{تیره‌بندی‌بزرگ}{uchyph}
+\eqcommand{زیرخط}{underline}
+\eqcommand{بی‌کادرا}{unhbox}
+\eqcommand{بی‌کپی‌ا}{unhcopy}
+\eqcommand{واحدطول}{unitlength}
+\eqcommand{برگشت‌دوری}{unkern}
+\eqcommand{برگشت‌جریمه}{unpenalty}
+\eqcommand{برگشت‌فاصله}{unskip}
+\eqcommand{بی‌کادرو}{unvbox}
+\eqcommand{بی‌کپی‌و}{unvcopy}
+\eqcommand{پیش‌فرض‌ایستاده}{updefault}
+\eqcommand{شکل‌ایستاده}{upshape}
+\eqcommand{ازکادر}{usebox}
+\eqcommand{باشمارشگر}{usecounter}
+\eqcommand{گزینش‌قلم}{usefont}
+\eqcommand{سبک‌لازم}{usepackage}
+\eqcommand{@فضاهای‌فعال}{@vobeyspaces}
+\eqcommand{@تهی}{@void}
+\eqcommand{تنظیم‌و}{vadjust}
+\eqcommand{ردیف‌و}{valign}
+\eqcommand{محتوای‌شمارنده}{value}
+\eqcommand{بدنمایی‌و}{vbadness}
+\eqcommand{کادرو}{vbox}
+\eqcommand{کادروسط}{vcenter}
+\eqcommand{همانطور}{verb}
+\eqcommand{پرو}{vfil}
+\eqcommand{پررو}{vfill}
+\eqcommand{رفع‌پرو}{vfilneg}
+\eqcommand{پرزعمودی}{vfuzz}
+\eqcommand{نمایان}{visible}
+\eqcommand{خط‌عمود}{vline}
+\eqcommand{حاشیه‌و}{voffset}
+\eqcommand{ک@درتهی}{voidb@x}
+\eqcommand{ارجاع‌صفحه‌ع}{vpageref}
+\eqcommand{فاصله‌وگرد}{vrboxsep}
+\eqcommand{ارجاع‌ع}{vref}
+\eqcommand{خط‌و}{vrule}
+\eqcommand{طول‌صفحه}{vsize}
+\eqcommand{فاصله‌و}{vskip}
+\eqcommand{فضای‌و}{vspace}
+\eqcommand{شکست‌و}{vsplit}
+\eqcommand{هردوو}{vss}
+\eqcommand{کادرگود}{vtop}
+\eqcommand{عرض}{wd}
+\eqcommand{مادام‌بکن}{whiledo}
+\eqcommand{کلاه‌پهن}{widehat}
+\eqcommand{مدپهن}{widetilde}
+\eqcommand{جریمه‌ته‌بند}{widowpenalty}
+\eqcommand{پهنا}{width}
+\eqcommand{درکارنامه}{wlog}
+\eqcommand{بنویس}{write}
+\eqcommand{@فضای‌لاتین}{@xobeysp}
+\eqcommand{سی@دو}{@xxxii}
+\eqcommand{ترگع}{xdef}
+\eqcommand{نشانگرگسترشی}{xleaders}
+\eqcommand{فاصله‌اضافی‌کلمات}{xspaceskip}
+\eqcommand{سال}{year}
+\eqcommand{@فر}{z@}
+\eqcommand{@فرفاصله}{z@skip}
+% \end{macrocode}
+% \iffalse
+%</latex-localise-commands-xepersian.def>
+%<*color-localise-xepersian.def>
+%\fi
+% \section{File \texttt{color-localise-xepersian.def}}
+% \begin{macrocode}
+\آماده‌سازی‌پرونده{color-localise-xepersian.def}[2011/03/01 v0.1 localising color package]
+\تعریف‌رنگ{سیاه}{rgb}{0,0,0}
+\تعریف‌رنگ{سفید}{rgb}{1,1,1}
+\تعریف‌رنگ{قرمز}{rgb}{1,0,0}
+\تعریف‌رنگ{سبز}{rgb}{0,1,0}
+\تعریف‌رنگ{آبی}{rgb}{0,0,1}
+\تعریف‌رنگ{آسمانی}{cmyk}{1,0,0,0}
+\تعریف‌رنگ{بنفش}{cmyk}{0,1,0,0}
+\تعریف‌رنگ{زرد}{cmyk}{0,0,1,0}
+% \end{macrocode}
+% \iffalse
+%</color-localise-xepersian.def>
+%<*xepersian-localise-commands-xepersian.def>
+%\fi
+% \section{File \texttt{xepersian-localise-commands-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{xepersian-localise-commands-xepersian.def}[2012/07/25 v0.2 Persian localisation of XePersian commands]
+\eqcommand{خط‌زیرنویس‌خودکار}{autofootnoterule}
+\eqcommand{اعدادفرمولهاخودکار}{AutoMathsDigits}
+\eqcommand{اعدادفرمولهالاتین}{DefaultMathsDigits}
+\eqcommand{معادل@کلید}{keyval@eq@alias@key}
+\eqcommand{تعریف‌قلم‌لاتین}{deflatinfont}
+\eqcommand{تعریف‌قلم‌پارسی}{defpersianfont}
+\eqcommand{کادراچپ}{hboxL}
+\eqcommand{کادراست}{hboxR}
+\eqcommand{مرجع‌لاتین}{Latincite}
+\eqcommand{قلم‌لاتین}{latinfont}
+\eqcommand{امروزلاتین}{latintoday}
+\eqcommand{خط‌زیرنویس‌چپ}{leftfootnoterule}
+\eqcommand{متن‌لاتین}{lr}
+\eqcommand{چپ‌براست}{LRE}
+\eqcommand{دوستونی‌چپ}{LTRdblcol}
+\eqcommand{پانویس}{LTRfootnote}
+\eqcommand{متن‌پانویس}{LTRfootnotetext}
+\eqcommand{پانویس‌عنوان}{LTRthanks}
+\eqcommand{روزپارسی}{persianday}
+\eqcommand{قلم‌پارسی}{persianfont}
+\eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits}
+\eqcommand{ماه‌پارسی}{persianmonth}
+\eqcommand{سال‌پارسی}{persianyear}
+\eqcommand{علامت‌چپ‌نقل‌قول‌پارسی}{plq}
+\eqcommand{علامت‌راست‌نقل‌قول‌پارسی}{prq}
+\eqcommand{خط‌زیرنویس‌راست}{rightfootnoterule}
+\eqcommand{متن‌پارسی}{rl}
+\eqcommand{راست‌بچپ}{RLE}
+\eqcommand{دوستونی‌راست}{RTLdblcol}
+\eqcommand{پانوشت}{RTLfootnote}
+\eqcommand{متن‌پانوشت}{RTLfootnotetext}
+\eqcommand{پانوشت‌عنوان}{RTLthanks}
+\eqcommand{@علامت‌بین}{@SepMark}
+\eqcommand{علامت‌بین}{SepMark}
+\eqcommand{بگذارمرجوعات‌عادی}{setdefaultbibitems}
+\eqcommand{بگذاردرحاشیه‌عادی}{setdefaultmarginpar}
+\eqcommand{گزینش‌قلم‌اعدادفرمولها}{setmathdigitfont}
+\eqcommand{بگذارزیرنویس‌چپ}{setfootnoteLR}
+\eqcommand{بگذارزیرنویس‌راست}{setfootnoteRL}
+\eqcommand{گزینش‌قلم‌لاتین‌متن}{setlatintextfont}
+\eqcommand{بگذارمتن‌چپ}{setLTR}
+\eqcommand{بگذارمرجوعات‌چپ}{setLTRbibitems}
+\eqcommand{بگذاردرحاشیه‌چپ}{setLTRmarginpar}
+\eqcommand{بگذارمتن‌راست}{setRTL}
+\eqcommand{بگذارمرجوعات‌راست}{setRTLbibitems}
+\eqcommand{بگذاردرحاشیه‌راست}{setRTLmarginpar}
+\eqcommand{گزینش‌قلم‌متن}{settextfont}
+\eqcommand{خط‌زیرنویس‌پهنای‌متن}{textwidthfootnoterule}
+\eqcommand{فهرست‌مطالب‌دوستونی}{twocolumnstableofcontents}
+\eqcommand{نگذارزیرنویس‌راست}{unsetfootnoteRL}
+\eqcommand{نگذارمتن‌چپ}{unsetLTR}
+\eqcommand{نگذارمتن‌راست}{unsetRTL}
+\eqcommand{کادروازچپ}{vboxL}
+\eqcommand{کادروازراست}{vboxR}
+\eqcommand{زی‌لاتک}{XeLaTeX}
+\eqcommand{زی‌پرشین}{XePersian}
+\eqcommand{گونه‌زی‌پرشین}{xepersianversion}
+\eqcommand{تاریخ‌گونه‌زی‌پرشین}{xepersiandate}
+\eqcommand{زی‌تک}{XeTeX}
+% \end{macrocode}
+% \iffalse
+%</xepersian-localise-commands-xepersian.def>
+%<*enumerate-xepersian.def>
+%\fi
+% \section{File \texttt{enumerate-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{enumerate-xepersian.def}[2010/07/25 v0.1 adaptations for enumerate package]
+\def\@enloop@{%
+ \ifx ا\@entemp \def\@tempa{\@enLabel\harfi }\else
+ \ifx ی\@entemp \def\@tempa{\@enLabel\adadi }\else
+ \ifx ت\@entemp \def\@tempa{\@enLabel\tartibi }\else
+ \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
+ \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
+ \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
+ \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
+ \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
+ \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
+ \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
+ \ifx \@enum@\@entemp \let\@tempa\@gobble \else
+ \let\@tempa\@enOther
+ \@enhook
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \@tempa}
+% \end{macrocode}
+% \iffalse
+%</enumerate-xepersian.def>
+%<*enumitem-xepersian.def>
+%\fi
+% \section{File \texttt{enumitem-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{enumitem-xepersian.def}[2017/09/06 v0.1 adaptations for enumitem package]
+\AddEnumerateCounter*\tartibi\@tartibi{999999999}
+\AddEnumerateCounter*\adadi\@adadi{999999999}
+\AddEnumerateCounter\harfi\@harfi{گ}
+\AddEnumerateCounter\Abjad\@Abjad{ک}
+\AddEnumerateCounter\abjad\@abjad{غثکب}
+\SetEnumerateShortLabel{اول}{\tartibi*}
+\SetEnumerateShortLabel{یک}{\adadi*}
+\SetEnumerateShortLabel{آ}{\harfi*}
+\SetEnumerateShortLabel{ب}{\Abjad*}
+\SetEnumerateShortLabel{ج}{\abjad*}
+% \end{macrocode}
+% \iffalse
+%</enumitem-xepersian.def>
+%<*latex-localise-environments-xepersian.def>
+%\fi
+% \section{File \texttt{latex-localise-environments-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{latex-localise-environments-xepersian.def}[2010/07/25 v0.2 Persian localisation of LaTeX2e environments]
+\eqenvironment{چکیده}{abstract}
+\eqenvironment{پیوست}{appendix}
+\eqenvironment{آرایه}{array}
+\eqenvironment{وسط‌چین}{center}
+\eqenvironment{توضیح}{description}
+\eqenvironment{ریاضی‌نمایشی}{displaymath}
+\eqenvironment{نوشتار}{document}
+\eqenvironment{شمارش}{enumerate}
+\eqenvironment{شکل}{figure}
+\eqenvironment{شکل*}{figure*}
+\eqenvironment{محتوای‌پرونده}{filecontents}
+\eqenvironment{محتوای‌پرونده*}{filecontents*}
+\eqenvironment{چپ‌چین}{flushleft}
+\eqenvironment{راست‌چین}{flushright}
+\eqenvironment{فقرات}{itemize}
+\eqenvironment{نامه}{letter}
+\eqenvironment{لیست}{list}
+\eqenvironment{جدول‌دراز}{longtable}
+\eqenvironment{کادررچ}{lrbox}
+\eqenvironment{ریاضی}{math}
+\eqenvironment{ماتریس}{matrix}
+\eqenvironment{صفحه‌کوچک}{minipage}
+\eqenvironment{چندخطی}{multline}
+\eqenvironment{یادداشت}{note}
+\eqenvironment{انباشتن}{overlay}
+\eqenvironment{تصویر}{picture}
+\eqenvironment{اقتباس}{quotation}
+\eqenvironment{نقل}{quote}
+\eqenvironment{اسلاید}{slide}
+\eqenvironment{پارنامرتب}{sloppypar}
+\eqenvironment{شکافتن}{split}
+\eqenvironment{زیرآرایه}{subarray}
+\eqenvironment{جاگذاری}{tabbing}
+\eqenvironment{لوح}{table}
+\eqenvironment{لوح*}{table*}
+\eqenvironment{جدول}{tabular}
+\eqenvironment{جدول*}{tabular*}
+\eqenvironment{مراجع}{thebibliography}
+\eqenvironment{محتوای‌نمایه}{theindex}
+\eqenvironment{صفحه‌عنوان}{titlepage}
+\eqenvironment{لیست‌بدوی}{trivlist}
+\eqenvironment{شعر}{verse}
+% \end{macrocode}
+% \iffalse
+%</latex-localise-environments-xepersian.def>
+%<*xepersian-localise-environments-xepersian.def>
+%\fi
+% \section{File \texttt{xepersian-localise-environments-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{xepersian-localise-environments-xepersian.def}[2010/07/25 v0.1 Persian localisation of XePersian and bidi environments]
+\eqenvironment{لاتین}{latin}
+\eqenvironment{متن‌چپ}{LTR}
+\eqenvironment{دسته‌بندی‌چپ}{LTRitems}
+\eqenvironment{شعرنو}{modernpoem}
+\eqenvironment{شعرنو*}{modernpoem*}
+\eqenvironment{پارسی}{persian}
+\eqenvironment{متن‌راست}{RTL}
+\eqenvironment{دسته‌بندی‌راست}{RTLitems}
+\eqenvironment{شعرسنتی}{traditionalpoem}
+\eqenvironment{شعرسنتی*}{traditionalpoem*}
+% \end{macrocode}
+% \iffalse
+%</xepersian-localise-environments-xepersian.def>
+%<*extarticle-xepersian.def>
+%\fi
+% \section{File \texttt{extarticle-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{extarticle-xepersian.def}[2010/07/25 v0.1 adaptations for extarticle class]
+\renewcommand\thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+% \end{macrocode}
+% \iffalse
+%</extarticle-xepersian.def>
+%<*extbook-xepersian.def>
+%\fi
+% \section{File \texttt{extbook-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{extbook-xepersian.def}[2010/07/25 v0.1 adaptations for extbook class]
+\renewcommand\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+% \end{macrocode}
+% \iffalse
+%</extbook-xepersian.def>
+%<*extrafootnotefeatures-xepersian.def>
+%\fi
+% \section{File \texttt{extrafootnotefeatures-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{extrafootnotefeatures-xepersian.def}[2012/01/01 v0.2 footnote macros for extrafootnotefeatures option of xepersian package]
+\renewcommand{\foottextfont}{\footnotesize\if@RTL@footnote\else\resetlatinfont\fi}
+\renewcommand{\LTRfoottextfont}{\footnotesize\resetlatinfont}
+\renewcommand{\RTLfoottextfont}{\footnotesize\setpersianfont}
+% \end{macrocode}
+% \iffalse
+%</extrafootnotefeatures-xepersian.def>
+%<*extreport-xepersian.def>
+%\fi
+% \section{File \texttt{extreport-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{extreport-xepersian.def}[2010/07/25 v0.1 adaptations for extreport class]
+\renewcommand\thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+% \end{macrocode}
+% \iffalse
+%</extreport-xepersian.def>
+%<*fancyref-xepersian.def>
+%\fi
+% \section{File \texttt{fancyref-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{fancyref-xepersian.def}[2018/09/29 v0.1 bilingual captions for fancyref package]
+\renewcommand*{\Frefchapname}{\chaptername}
+\renewcommand*{\Frefenumname}{%
+ \if@RTL
+فقره%
+ \else
+ Item%
+ \fi
+}
+\renewcommand*{\Frefeqname}{%
+ \if@RTL
+معادله%
+ \else
+ Equation%
+ \fi
+}
+\renewcommand*{\Freffigname}{\figurename}
+\renewcommand*{\Freffnname}{%
+ \if@RTL
+زیرنویس%
+ \else
+ Footnote%
+ \fi
+}
+\renewcommand*{\Frefonname}{%
+ \if@RTL
+در%
+ \else
+ On%
+ \fi
+}
+\renewcommand*{\Frefpgname}{\pagename}
+\renewcommand*{\Frefsecname}{%
+ \if@RTL
+قسمت%
+ \else
+ Section%
+ \fi
+}
+\renewcommand*{\Frefseename}{%
+ \if@RTL
+ببینید%
+ \else
+ See%
+ \fi
+}
+\renewcommand*{\Freftabname}{\tablename}
+\renewcommand*{\Freffigshortname}{%
+ \if@RTL
+ \Freffigname
+ \else
+ Fig.%
+ \fi
+}
+\renewcommand*{\Frefpgshortname}{%
+ \if@RTL
+ \Frefpgname
+ \else
+ P.%
+ \fi
+}
+\renewcommand*{\Freftabshortname}{%
+ \if@RTL
+ \tablename
+ \else
+ Tab.%
+ \fi
+}
+\renewcommand*{\frefchapname}{%
+ \if@RTL
+ \Frefchapname
+ \else
+ \MakeLowercase{\Frefchapname}%
+\fi
+}
+\renewcommand*{\frefenumname}{%
+ \if@RTL
+ \Frefenumname
+ \else
+ \MakeLowercase{\Frefenumname}%
+ \fi
+}
+\renewcommand*{\frefeqname}{%
+ \if@RTL
+ \Frefeqname
+ \else
+ \MakeLowercase{\Frefeqname}%
+ \fi
+}
+\renewcommand*{\freffigname}{%
+ \if@RTL
+ \Freffigname
+ \else
+ \MakeLowercase{\Freffigname}%
+ \fi
+}
+\renewcommand*{\freffnname}{%
+ \if@RTL
+ \Freffnname
+ \else
+ \MakeLowercase{\Freffnname}%
+ \fi
+}
+\renewcommand*{\frefonname}{%
+ \if@RTL
+ \Frefonname
+ \else
+ \MakeLowercase{\Frefonname}%
+ \fi
+}
+\renewcommand*{\frefpgname}{%
+ \if@RTL
+ \Frefpgname
+ \else
+ \MakeLowercase{\Frefpgname}%
+ \fi
+}
+\renewcommand*{\frefsecname}{%
+ \if@RTL
+ \Frefsecname
+ \else
+ \MakeLowercase{\Frefsecname}%
+ \fi
+}
+\renewcommand*{\frefseename}{%
+ \if@RTL
+ \Frefseename
+ \else
+ \MakeLowercase{\Frefseename}%
+ \fi
+}
+\renewcommand*{\freftabname}{%
+ \if@RTL
+ \Freftabname
+ \else
+ \MakeLowercase{\Freftabname}%
+ \fi
+}
+\renewcommand*{\freffigshortname}{%
+ \if@RTL
+ \Freffigshortname
+ \else
+ \MakeLowercase{\Freffigshortname}%
+ \fi
+}
+\renewcommand*{\frefpgshortname}{%
+ \if@RTL
+ \Frefpgshortname
+ \else
+ \MakeLowercase{\Frefpgshortname}%
+ \fi
+}
+\renewcommand*{\freftabshortname}{%
+ \if@RTL
+ \Freftabshortname
+ \else
+ \MakeLowercase{\Freftabshortname}%
+ \fi
+}
+% \end{macrocode}
+% \iffalse
+%</fancyref-xepersian.def>
+%<*footnote-xepersian.def>
+%\fi
+% \section{File \texttt{footnote-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{footnote-xepersian.def}[2017/08/09 v0.6 footnote macros for xepersian package]
+
+\renewcommand*{\bidi@@footnotetext@font}{\footnotesize\if@RTL@footnote\else\resetlatinfont\fi}
+
+\renewcommand*{\bidi@@LTRfootnotetext@font}{\footnotesize\resetlatinfont}
+
+\renewcommand*{\bidi@@RTLfootnotetext@font}{\footnotesize\setpersianfont}
+
+% \end{macrocode}
+% \iffalse
+%</footnote-xepersian.def>
+%<*framed-xepersian.def>
+%\fi
+% \section{File \texttt{framed-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{framed-xepersian.def}[2012/06/05 v0.1 xepersian adaptations for framed package for XeTeX engine]
+\renewenvironment{titled-frame}[1]{%
+ \def\FrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame{\textbf{#1}}}%
+ \def\FirstFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1}}}%
+ \def\MidFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1\ (\if@RTL ادامه\else cont\fi)}}}%
+ \def\LastFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame{\textbf{#1\ (\if@RTL ادامه\else cont\fi)}}}%
+ \MakeFramed{\advance\hsize-20pt \FrameRestore}}%
+% note: 8 + 2 + 8 + 2 = 20. Don't use \width because the frame title
+% could interfere with the width measurement.
+ {\endMakeFramed}
+% \end{macrocode}
+% \iffalse
+%</framed-xepersian.def>
+%<*glossaries-xepersian.def>
+%\fi
+% \section{File \texttt{glossaries-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{glossaries-xepersian.def}[2014/09/04 v0.4 xepersian adaptations for glossaries package for XeTeX engine]
+\glsaddprotectedpagefmt{@harfi}
+\glsaddprotectedpagefmt{@tartibi}
+\glsaddprotectedpagefmt{@adadi}
+% \end{macrocode}
+% \iffalse
+%</glossaries-xepersian.def>
+%<*hyperref-xepersian.def>
+%\fi
+% \section{File \texttt{hyperref-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{hyperref-xepersian.def}[2015/02/02 v0.6 bilingual captions for hyperref package]
+ \def\equationautorefname{\if@RTL معادله\else Equation\fi}%
+ \def\footnoteautorefname{\if@RTL زیرنویس\else footnote\fi}%
+ \def\itemautorefname{\if@RTL فقره\else item\fi}%
+ \def\figureautorefname{\if@RTL شکل\else Figure\fi}%
+ \def\tableautorefname{\if@RTL جدول\else Table\fi}%
+ \def\partautorefname{\if@RTL بخش\else Part\fi}%
+ \def\appendixautorefname{\if@RTL ضمیمه\else Appendix\fi}%
+ \def\chapterautorefname{\if@RTL فصل\else chapter\fi}%
+ \def\sectionautorefname{\if@RTL قسمت\else section\fi}%
+ \def\subsectionautorefname{\if@RTL زیرقسمت\else subsection\fi}%
+ \def\subsubsectionautorefname{\if@RTL زیرزیرقسمت\else subsubsection\fi}%
+ \def\paragraphautorefname{\if@RTL پاراگراف\else paragraph\fi}%
+ \def\subparagraphautorefname{\if@RTL زیرپاراگراف\else subparagraph\fi}%
+ \def\FancyVerbLineautorefname{\if@RTL سطر\else line\fi}%
+ \def\theoremautorefname{\if@RTL قضیه\else Theorem\fi}%
+ \def\pageautorefname{\if@RTL صفحه\else page\fi}%
+\AtBeginDocument{%
+\let\HyOrg@appendix\appendix
+\def\appendix{%
+ \ltx@IfUndefined{chapter}%
+ {\gdef\theHsection{\Alph{section}}}%
+ {\gdef\theHchapter{\Alph{chapter}}}%
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \HyOrg@appendix
+}
+}
+\pdfstringdefDisableCommands{%
+\let\lr\@firstofone
+\let\rl\@firstofone
+\def\XePersian{XePersian}
+}
+\ltx@IfUndefined{@resets@pp}{%
+}{%
+ \let\HyOrg@resets@pp\@resets@pp
+ \def\@resets@pp{%
+ \ltx@IfUndefined{chapter}{%
+ \gdef\theHsection{\Hy@AlphNoErr{section}}%
+ }{%
+ \gdef\theHchapter{\Hy@AlphNoErr{chapter}}%
+ }%
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \HyOrg@resets@pp
+ }%
+}
+% \end{macrocode}
+% \iffalse
+%</hyperref-xepersian.def>
+%<*imsproc-xepersian.def>
+%\fi
+% \section{File \texttt{imsproc-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{imsproc-xepersian.def}[2017/06/09 v0.5 xepersian adaptations for imsproc class for XeTeX engine]
+
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@harfi\c@section}}
+
+% \end{macrocode}
+% \iffalse
+%</imsproc-xepersian.def>
+%<*kashida-xepersian.def>
+%\fi
+% \section{File \texttt{kashida-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{kashida-xepersian.def}[2020/05/16 v0.8 implementation of Kashida for xepersian package]
+%
+% The new changes is minimal and only cosmetic; To resolve the
+% issue properly, I will be studying TeX line breaking algorithms and
+% experiment to see how much of it I can mimic. The idea of using
+% a rule or even a box is awful and it breaks a lot of things. The ideal
+% solution is to insert Kashida without any rules or boxes or if
+% the font offers the alternative forms, it can be used for Kashida.
+% Unfortunately, computing the stretch using the \pdfsavepos and
+% \pdflastxpos primitives from the PDFTeX engine is bad and
+% impractical for several reasons.The process is extremely
+% slow and requires at least two runs of TeX. On a particular line,
+% we need to write to the aux file at least 10 times, on a page we
+% have on average around 10 lines and hence, for a 100 pages
+% document, we have to do this 10,000 times. These statistics are
+% very modest. On the other hand, if we reach max count (which is
+% very likely), then we have to do some devious things.
+%
+\chardef\xepersian@zwj="200D % zero-width joiner
+\chardef\xepersian@lrm="200E % left to right mark
+\chardef\xepersian@kashidachar="0640 % kashida
+
+\chardef\xepersian@D=10 % dual-joiner class
+\chardef\xepersian@L=11 % lam
+\chardef\xepersian@R=12 % right-joiner
+\chardef\xepersian@A=13 % alef
+\chardef\xepersian@V=4096 % vowel or other combining mark (to be ignored)
+\newif\if@Kashida@on
+\def\xepersian@kashida{%
+ \if@Kashida@on
+ \xepersian@zwj
+ \xepersian@lrm
+ \nobreak
+ \leaders\hrule height \XeTeXglyphbounds\tw@
+ \the\XeTeXcharglyph\xepersian@kashidachar
+ depth \XeTeXglyphbounds\f@ur
+ \the\XeTeXcharglyph\xepersian@kashidachar
+ \hskip0pt plus 0.5em
+% \dimexpr \fontcharwd\font\xepersian@kashidachar -
+% \XeTeXglyphbounds\@ne
+% \the\XeTeXcharglyph\xepersian@kashidachar -
+% \XeTeXglyphbounds\thr@@
+% \the\XeTeXcharglyph\xepersian@kashidachar \relax
+ \xepersian@zwj
+ \fi
+}
+
+\def\setclass#1#2{\def\theclass{#1}\def\charlist{#2}%
+ \expandafter\dosetclass\charlist,\end}
+\def\dosetclass#1,#2\end{%
+ \def\test{#1}\def\charlist{#2}%
+ \ifx\test\empty\let\next\finishsetclass
+ \else \XeTeXcharclass "\test = \theclass
+ \let\next\dosetclass \fi
+ \expandafter\next\charlist,,\end}
+\def\finishsetclass#1,,\end{}
+
+\setclass \xepersian@A {0622,0623,0625,0627}
+\setclass \xepersian@R {0624,0629,062F,0630,0631,0632,0648,0698}
+\setclass \xepersian@D {0626,0628,062A,062B,062C,062D,062E}
+\setclass \xepersian@D {0633,0634,0635,0636,0637,0638,0639,063A}
+\setclass \xepersian@D {0640,0641,0642,0643,0645,0646,0647,0649,064A}
+\setclass \xepersian@D {067E,0686,06A9,06AF,06CC}
+\setclass \xepersian@L {0644}
+\setclass \xepersian@V {064B,064C,064D,064E,064F,0650,0651,0652}
+
+\XeTeXinterchartoks \xepersian@D \xepersian@D = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@D = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@A = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@A = {}
+
+\newcommand{\KashidaOn}{\@Kashida@ontrue}
+\newcommand{\KashidaOff}{\@Kashida@onfalse}
+
+\KashidaOn
+% \end{macrocode}
+% \iffalse
+%</kashida-xepersian.def>
+%<*listings-xepersian.def>
+%\fi
+% \section{File \texttt{listings-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{listings-xepersian.def}[2014/07/17 v0.3 bilingual captions for listings package]
+\def\lstlistingname{\if@RTL برنامهٔ\else Listing\fi}
+\def\lstlistlistingname{\if@RTL فهرست برنامه‌ها\else Listings\fi}
+% \end{macrocode}
+% \iffalse
+%</listings-xepersian.def>
+%<*loadingorder-xepersian.def>
+%\fi
+% \section{File \texttt{loadingorder-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{loadingorder-xepersian.def}[2018/09/29 v0.5 making sure that xepersian is the last package loaded]
+\bidi@isloaded{algorithmic}
+\bidi@isloaded{algorithm}
+\bidi@isloaded{backref}
+\bidi@isloaded{enumerate}
+\bidi@isloaded{enumitem}
+\bidi@isloaded{fancyref}
+\bidi@isloaded{tocloft}
+\bidi@isloaded{url}
+\bidi@isloaded{varioref}
+\AtBeginDocument{
+ \if@bidi@algorithmicloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package algorithmic after xepersian package. Please load package algorithmic before xepersian package, and then try to run xelatex on your document again}{}]{algorithmic}
+ \fi%
+ \if@bidi@algorithmloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package algorithm after xepersian package. Please load package algorithm before xepersian package, and then try to run xelatex on your document again}{}]{algorithm}
+ \fi%
+ \if@bidi@backrefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package backref after xepersian package. Please load package backref before xepersian package, and then try to run xelatex on your document again}{}]{backref}
+ \fi%
+ \if@bidi@enumerateloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package enumerate after xepersian package. Please load package enumerate before xepersian package, and then try to run xelatex on your document again}{}]{enumerate}
+ \fi%
+ \if@bidi@enumitemloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package enumitem after xepersian package. Please load package enumitem before xepersian package, and then try to run xelatex on your document again}{}]{enumitem}
+ \fi%
+ \if@bidi@fancyrefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package fancyref after xepersian package. Please load package fancyref before xepersian package, and then try to run xelatex on your document again}{}]{fancyref}
+ \fi%
+ \if@bidi@tocloftloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package tocloft after xepersian package. Please load package tocloft before xepersian package, and then try to run xelatex on your document again}{}]{tocloft}
+ \fi%
+ \if@bidi@urlloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package url after xepersian package. Please load package url before xepersian package, and then try to run xelatex on your document again}{}]{url}
+ \fi%
+ \if@bidi@variorefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package varioref after xepersian package. Please load package varioref before xepersian package, and then try to run xelatex on your document again}{}]{varioref}
+ \fi%
+}
+% \end{macrocode}
+% \iffalse
+%</loadingorder-xepersian.def>
+%<*localise-xepersian.def>
+%\fi
+% \section{File \texttt{localise-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{localise-xepersian.def}[2014/07/10 v0.2b Persian localisation of LaTeX2e]
+\newcommand{\makezwnjletter}{\catcode`‌=11\relax}
+\makezwnjletter
+\newcommand*{\eqcommand}[2]{\if@bidi@csprimitive{#2}{\bidi@csletcs{#1}{#2}}{\bidi@csdefcs{#1}{#2}}}
+\newcommand*{\eqenvironment}[2]{\newenvironment{#1}{\csname#2\endcsname}{\csname end#2\endcsname}}
+\@ifpackageloaded{keyval}{%
+\newcommand*\keyval@eq@alias@key[4][KV]{%
+ \bidi@csletcs{#1@#2@#3}{#1@#2@#4}%
+ \bidi@csletcs{#1@#2@#3@default}{#1@#2@#4@default}}%
+}{\@ifpackageloaded{xkeyval}{%
+\newcommand*\keyval@eq@alias@key[4][KV]{%
+ \bidi@csletcs{#1@#2@#3}{#1@#2@#4}%
+ \bidi@csletcs{#1@#2@#3@default}{#1@#2@#4@default}}%
+}{}}
+\input{latex-localise-commands-xepersian.def}
+\input{xepersian-localise-commands-xepersian.def}
+\input{latex-localise-environments-xepersian.def}
+\input{xepersian-localise-environments-xepersian.def}
+\input{latex-localise-messages-xepersian.def}
+\input{latex-localise-misc-xepersian.def}
+\input{packages-localise-xepersian.def}
+\aliasfontfeature{ExternalLocation}{مکان‌خارجی}
+\aliasfontfeature{Path}{مسیر}
+\aliasfontfeature{Renderer}{تحویل‌دهنده}
+\aliasfontfeature{BoldFont}{قلم‌سیاه}
+\aliasfontfeature{Language}{زبان}
+\aliasfontfeature{Script}{خط}
+\aliasfontfeature{UprightFont}{قلم‌عمودی}
+\aliasfontfeature{ItalicFont}{قلم‌ایتالیک}
+\aliasfontfeature{BoldItalicFont}{قلم‌ایتالیک‌سیاه}
+\aliasfontfeature{SlantedFont}{قلم‌خوابیده}
+\aliasfontfeature{BoldSlantedFont}{قلم‌خوابیده‌سیاه}
+\aliasfontfeature{SmallCapsFont}{قلم‌کلاه‌کوچک}
+\aliasfontfeature{UprightFeatures}{ویژگی‌های‌قلم‌عمودی}
+\aliasfontfeature{BoldFeatures}{ویژگی‌های‌قلم‌سیاه}
+\aliasfontfeature{ItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک}
+\aliasfontfeature{BoldItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک‌سیاه}
+\aliasfontfeature{SlantedFeatures}{ویژگی‌های‌قلم‌خوابیده}
+\aliasfontfeature{BoldSlantedFeatures}{ویژگی‌های‌قلم‌خوابیده‌سیاه}
+\aliasfontfeature{SmallCapsFeatures}{ویژگی‌های‌قلم‌کلاه‌کوچک}
+\aliasfontfeature{SizeFeatures}{ویژگی‌های‌اندازه}
+\aliasfontfeature{Scale}{ضریب}
+\aliasfontfeature{WordSpace}{فضای‌کلمه}
+\aliasfontfeature{PunctuationSpace}{فضای‌نقطه‌گذاری}
+\aliasfontfeature{FontAdjustment}{تنظیم‌قلم}
+\aliasfontfeature{LetterSpace}{فضای‌حرف}
+\aliasfontfeature{HyphenChar}{نویسه‌تیره}
+\aliasfontfeature{Color}{رنگ}
+\aliasfontfeature{Opacity}{کدری}
+\aliasfontfeature{Mapping}{نگاشت}
+\aliasfontfeature{Weight}{سنگینی}
+\aliasfontfeature{Width}{پهنا}
+\aliasfontfeature{OpticalSize}{اندازه‌چشمی}
+\aliasfontfeature{FakeSlant}{خوابیده‌تقلبی}
+\aliasfontfeature{FakeStretch}{کشش‌تقلبی}
+\aliasfontfeature{FakeBold}{سیاه‌تقلبی}
+\aliasfontfeature{AutoFakeSlant}{خوابیده‌تقلبی‌خودکار}
+\aliasfontfeature{AutoFakeBold}{سیاه‌تقلبی‌خودکار}
+\aliasfontfeature{Ligatures}{دویاچندحرف‌متصل‌به‌هم}
+\aliasfontfeature{Alternate}{متناوب}
+\aliasfontfeature{Variant}{گوناگون}
+\aliasfontfeature{Variant}{مجموعه‌سبکی}
+\aliasfontfeature{CharacterVariant}{گوناگونی‌نویسه}
+\aliasfontfeature{Style}{سبک}
+\aliasfontfeature{Annotation}{یادداشت}
+\aliasfontfeature{RawFeature}{ویژگی‌های‌کال}
+\aliasfontfeature{CharacterWidth}{پهنای‌نویسه}
+\aliasfontfeature{Numbers}{ارقام}
+\aliasfontfeature{Contextuals}{متنی}
+\aliasfontfeature{Diacritics}{تفکیک‌کننده‌ها}
+\aliasfontfeature{Letters}{حروف}
+\aliasfontfeature{Kerning}{دوری}
+\aliasfontfeature{VerticalPosition}{موقعیت‌عمودی}
+\aliasfontfeature{Fractions}{کسر}
+\aliasfontfeatureoption{Language}{Default}{پیش‌فرض}
+\aliasfontfeatureoption{Language}{Persian}{پارسی}
+\aliasfontfeatureoption{Script}{Persian}{پارسی}
+\aliasfontfeatureoption{Script}{Latin}{لاتین}
+\aliasfontfeatureoption{Style}{MathScript}{اسکریپت‌ریاضی}
+\aliasfontfeatureoption{Style}{MathScriptScript}{اسکریپت‌اسکریپت‌ریاضی}
+% \end{macrocode}
+% \iffalse
+%</localise-xepersian.def>
+%<*memoir-xepersian.def>
+%\fi
+% \section{File \texttt{memoir-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{memoir-xepersian.def}[2010/07/25 v0.1 adaptations for memoir class]
+\renewcommand{\@memfront}{%
+ \@smemfront\pagenumbering{harfi}}
+\renewcommand{\setthesection}{\thechapter\@SepMark\harfi{section}}
+\renewcommand*{\thebook}{\@tartibi\c@book}
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand{\appendix}{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \anappendixtrue}
+% \end{macrocode}
+% \iffalse
+%</memoir-xepersian.def>
+%<*latex-localise-messages-xepersian.def>
+%\fi
+% \section{File \texttt{latex-localise-messages-xepersian.def}}
+% \begin{macrocode}
+\آماده‌سازی‌پرونده{latex-localise-messages-xepersian.def}[2011/03/01 v0.1 localising LaTeX2e messages]
+% \end{macrocode}
+% \iffalse
+%</latex-localise-messages-xepersian.def>
+%<*minitoc-xepersian.def>
+%\fi
+% \section{File \texttt{minitoc-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{minitoc-xepersian.def}[2010/07/25 v0.1 bilingual captions for minitoc package]
+\def\ptctitle{\if@RTL فهرست مطالب\else Table of Contents\fi}%
+\def\plftitle{\if@RTL فهرست تصاویر\else List of Figures\fi}%
+\def\plttitle{\if@RTL فهرست جداول\else List of Tables\fi}%
+\def\mtctitle{\if@RTL عناوین\else Contents\fi}%
+\def\mlftitle{\if@RTL اشکال\else Figures\fi}%
+\def\mlttitle{\if@RTL جداول\else Tables\fi}%
+\def\stctitle{\if@RTL عناوین\else Contents\fi}%
+\def\slftitle{\if@RTL اشکال\else Figures\fi}%
+\def\slttitle{\if@RTL جداول\else Tables\fi}%
+% \end{macrocode}
+% \iffalse
+%</minitoc-xepersian.def>
+%<*latex-localise-misc-xepersian.def>
+%\fi
+% \section{File \texttt{latex-localise-misc-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{latex-localise-misc-xepersian.def}[2012/01/01 v0.2 miscellaneous Persian localisation of LaTeX2e]
+\تر\گرجدید#1{%
+\شمار@\نویسه‌ویژه \نویسه‌ویژه\من@ا
+ \بگذار#1\گرنادرست
+\@گر#1\گردرست
+\@گر#1\گرنادرست
+\نویسه‌ویژه\شمار@}
+\تر\@گر#1#2{%
+\بگسترپس‌از\تر\نام‌فرمان\بگسترپس‌از\@خورحریصانه‌دو\رشته#1%
+\بگسترپس‌از\@خورحریصانه‌دو\رشته#2\پایان‌نام‌فرمان
+{\بگذار#1#2}}
+\بگذار\تعریف‌نشده\undefined
+
+\تر\حلقه#1\ازنو{\تر\تکرارکن{#1\راحت\بگسترپس‌از\تکرارکن\رگ}%
+ \تکرارکن \بگذار\تکرارکن\راحت}
+\بگذار\ازنو\رگ
+
+
+\بلند\تر \حلقه #1\ازنو{%
+ \تر\تکرارکن{#1\راحت % \راحت اضافی
+ \بگسترپس‌از\تکرارکن\رگ
+ }%
+ \تکرارکن
+ \بگذار\تکرارکن\راحت
+}
+\بگذار\ازنو=\رگ
+
+
+\@ifdefinitionfileloaded{latex-xetex-bidi}{%
+\def\@xfloat #1[#2]{%
+ \@nodocument
+ \def \@captype {#1}%
+ \def \@fps {#2}%
+ \@onelevel@sanitize \@fps
+ \def \reserved@b {!}%
+ \ifx \reserved@b \@fps
+ \@fpsadddefault
+ \else
+ \ifx \@fps \@empty
+ \@fpsadddefault
+ \fi
+ \fi
+ \ifhmode
+ \@bsphack
+ \@floatpenalty -\@Mii
+ \else
+ \@floatpenalty-\@Miii
+ \fi
+ \ifinner
+ \@parmoderr\@floatpenalty\z@
+ \else
+ \@next\@currbox\@freelist
+ {%
+ \@tempcnta \sixt@@n
+ \expandafter \@tfor \expandafter \reserved@a
+ \expandafter :\expandafter =\@fps
+ \do
+ {%
+ \if \reserved@a h%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a ا%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a t%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a ب%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a b%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a ز%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a p%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a ص%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a !%
+ \ifnum \@tempcnta>15
+ \advance\@tempcnta -\sixt@@n\relax
+ \fi
+ \fi
+ }%
+ \@tempcntb \csname ftype@\@captype \endcsname
+ \multiply \@tempcntb \@xxxii
+ \advance \@tempcnta \@tempcntb
+ \global \count\@currbox \@tempcnta
+ }%
+ \@fltovf
+ \fi
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox \bgroup
+ \hsize\columnwidth
+ \@parboxrestore
+ \@floatboxreset
+}
+\let\bm@و\bm@c
+\let\bm@چ\bm@l
+\let\bm@ر\bm@r
+\let\bm@ز\bm@b
+\let\bm@ب\bm@t
+\let\bm@ک\bm@s
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+ \leavevmode
+ \@pboxswfalse
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\else\if#1ز\@bidi@list@minipage@parboxtrue\else\if#1ب\@bidi@list@minipage@parboxtrue\fi\fi\fi\fi\fi
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \edef\@parboxto{to\the\@tempdimb}%
+ \fi
+ \if#1b\vbox
+ \else\if#1ز\vbox
+ \else\if #1t\vtop
+ \else\if #1ب\vtop
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue $\vcenter
+ \fi\fi\fi\fi\fi
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}%
+ \if@pboxsw \m@th$\fi
+ \@end@tempboxa}
+\def\@iiiminipage#1#2[#3]#4{%
+ \leavevmode
+ \@pboxswfalse
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\else\if#1ز\@bidi@list@minipage@parboxtrue\else\if#1ب\@bidi@list@minipage@parboxtrue\fi\fi\fi\fi\fi
+ \setlength\@tempdima{#4}%
+ \def\@mpargs{{#1}{#2}[#3]{#4}}%
+ \setbox\@tempboxa\vbox\bgroup
+ \color@begingroup
+ \hsize\@tempdima
+ \textwidth\hsize \columnwidth\hsize
+ \@parboxrestore
+ \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
+ \let\@footnotetext\@mpfootnotetext
+ \let\@LTRfootnotetext\@mpLTRfootnotetext
+ \let\@RTLfootnotetext\@mpRTLfootnotetext
+ \let\@listdepth\@mplistdepth \@mplistdepth\z@
+ \@minipagerestore
+ \@setminipage}
+\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
+ \ifnum \@lastchclass=3 5 \else
+ \z@ \if #1c\@chnum \z@ \else
+ \if #1و\@chnum \z@ \else
+ \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else
+ \if \if@RTLtab#1ر\else#1چ\fi\@chnum \@ne \else
+ \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else
+ \if \if@RTLtab#1چ\else#1ر\fi\@chnum \tw@ \else
+ \@chclass \if #1|\@ne \else
+ \if #1@\tw@ \else
+ \if #1p3 \else
+ \if #1پ3 \else \z@ \@preamerr 0\fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi
+\fi}%
+}{}
+\@ifdefinitionfileloaded{array-xetex-bidi}{%
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar پ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}%
+}{}
+\@ifdefinitionfileloaded{arydshln-xetex-bidi}{
+\ifadl@usingarypkg
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \let\@arrayrule\adl@arrayrule \else
+ \if\@nextchar :\@ne \let\@arrayrule\adl@arraydashrule \else
+ \if\@nextchar ;\@ne \let\@arrayrule\adl@argarraydashrule \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar پ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+
+\def\@classz{\@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble{\ifcase \@chnum
+ \hfil
+ \adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or
+ \hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or
+ \hfil\hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\or
+ \setbox\adl@box\hbox \adl@startmbox{\@nextchar}\insert@column
+ \adl@endmbox\or
+ \setbox\adl@box\vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \setbox\adl@box\vbox \@startpbox{\@nextchar}\insert@column \@endpbox
+ \fi}\prepnext@tok}
+\def\adl@class@start{4}
+\def\adl@class@iiiorvii{7}
+
+\else
+\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4\relax \else
+ \ifnum \@lastchclass=\thr@@ 5\relax \else
+ \z@ \if #1c\@chnum \z@ \else
+ \if #1و\@chnum\z@ \else
+ \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else
+ \if \if@RTLtab#1ر\else#1چ\fi\@chnum \@ne \else
+ \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else
+ \if \if@RTLtab#1چ\else#1ر\fi\@chnum \tw@ \else
+ \@chclass
+ \if #1|\@ne \let\@arrayrule\adl@arrayrule \else
+ \if #1:\@ne \let\@arrayrule\adl@arraydashrule \else
+ \if #1;\@ne \let\@arrayrule\adl@argarraydashrule \else
+ \if #1@\tw@ \else
+ \if #1p\thr@@ \else
+ \if #1پ\thr@@ \else\z@ \@preamerr 0\fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+
+\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+ \or \or \@addamp \or
+ \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+ \ifcase \@chnum
+ \hfil\adl@putlrc{$\relax\@sharp$}\hfil
+ \or \adl@putlrc{$\relax\@sharp$}\hfil
+ \or \hfil\adl@putlrc{$\relax\@sharp$}\fi}}
+\def\@tabclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+ \or \or \@addamp \or
+ \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+ \ifcase \@chnum
+ \hfil\adl@putlrc{\@sharp\unskip}\hfil
+ \or \adl@putlrc{\@sharp\unskip}\hfil
+ \or \hfil\hskip\z@ \adl@putlrc{\@sharp\unskip}\fi}}
+\def\adl@class@start{6}
+\def\adl@class@iiiorvii{3}
+\fi
+}{}
+\@ifdefinitionfileloaded{tabulary-xetex-bidi}{%
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \if \@nextchar C7 \else
+ \if \@nextchar س7 \else
+ \if \@nextchar L8 \else
+ \if \@nextchar ف8 \else
+ \if \@nextchar R9 \else
+ \if \@nextchar ا9 \else
+ \if \@nextchar J10 \else
+ \if \@nextchar ت10 \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextcharپ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}%
+}{}
+\@ifdefinitionfileloaded{float-xetex-bidi}{%
+\let\@float@Hx\@xfloat
+\def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@ifnextchar{آ}{\@float@آآ{#1}[}{\@float@Hx{#1}[}}}
+\def\@float@HH#1[H]{%
+ \expandafter\let\csname end#1\endcsname\float@endH
+ \let\@currbox\float@box
+ \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+ \expandafter\ifx\csname fst@#1\endcsname\relax
+ \@flstylefalse\else\@flstyletrue\fi
+ \setbox\@currbox\color@vbox\normalcolor
+ \vbox\bgroup \hsize\columnwidth \@parboxrestore
+ \@floatboxreset \@setnobreak
+ \ignorespaces}
+\def\@float@آآ#1[آ]{%
+ \expandafter\let\csname end#1\endcsname\float@endH
+ \let\@currbox\float@box
+ \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+ \expandafter\ifx\csname fst@#1\endcsname\relax
+ \@flstylefalse\else\@flstyletrue\fi
+ \setbox\@currbox\color@vbox\normalcolor
+ \vbox\bgroup \hsize\columnwidth \@parboxrestore
+ \@floatboxreset \@setnobreak
+ \ignorespaces}
+}{}
+\begingroup \catcode `|=0 \catcode `[= 1
+\catcode`]=2 \catcode `\{=12 \catcode `\}=12
+\catcode`\\=12 |gdef|@x@xepersian@localize@verbatim#1\پایان{همانطورکه‌هست}[#1|پایان[همانطورکه‌هست]]
+|gdef|@sx@xepersian@localize@verbatim#1\پایان{همانطورکه‌هست*}[#1|پایان[همانطورکه‌هست*]]
+|endgroup
+\def\همانطورکه‌هست{\@verbatim \frenchspacing\@vobeyspaces \@x@xepersian@localize@verbatim}
+\def\endهمانطورکه‌هست{\if@newlist \leavevmode\fi\endtrivlist}
+\ExplSyntaxOn
+\AtBeginDocument{\@namedef{همانطورکه‌هست*}{\@verbatim \fontspec_print_visible_spaces: \@sx@xepersian@localize@verbatim}}
+\ExplSyntaxOff
+\expandafter\let\csname endهمانطورکه‌هست*\endcsname =\endهمانطورکه‌هست
+% \end{macrocode}
+% \iffalse
+%</latex-localise-misc-xepersian.def>
+%<*natbib-xepersian.def>
+%\fi
+% \section{File \texttt{natbib-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{natbib-xepersian.def}[2011/08/01 v0.1 adaptations for natbib package]
+\renewcommand\NAT@set@cites{%
+ \ifNAT@numbers
+ \ifNAT@super \let\@cite\NAT@citesuper
+ \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}%
+ \let\citeyearpar=\citeyear
+ \let\NAT@space\relax
+ \def\NAT@super@kern{\kern\p@}%
+ \else
+ \let\NAT@mbox=\mbox
+ \let\@cite\NAT@citenum
+ \let\NAT@space\NAT@spacechar
+ \let\NAT@super@kern\relax
+ \fi
+ \let\@citex\NAT@citexnum
+ \let\@Latincitex\NAT@Latin@citexnum
+ \let\@biblabel\NAT@biblabelnum
+ \let\@bibsetup\NAT@bibsetnum
+ \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}%
+ \def\natexlab##1{}%
+ \def\NAT@penalty{\penalty\@m}%
+ \else
+ \let\@cite\NAT@cite
+ \let\@citex\NAT@citex
+ \let\@Latincitex\NAT@Latin@citex
+ \let\@biblabel\NAT@biblabel
+ \let\@bibsetup\NAT@bibsetup
+ \let\NAT@space\NAT@spacechar
+ \let\NAT@penalty\@empty
+ \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}%
+ \def\natexlab##1{##1}%
+ \fi}
+\newcommand\NAT@Latin@citex{}
+\def\NAT@Latin@citex%
+ [#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\lr{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else\unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{%
+ \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb
+ }%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else
+ \unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi
+ \if\relax\NAT@date\relax
+ \NAT@def@citea
+ \else
+ \NAT@def@citea@close
+ \fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}}{#1}{#2}}
+\newcommand\NAT@Latin@citexnum{}
+\def\NAT@Latin@citexnum[#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\lr{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \@ifnum{\NAT@ctype>\@ne}{%
+ \@citea
+ \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}%
+ }{%
+ \@ifnum{\NAT@cmprs>\z@}{%
+ \NAT@ifcat@num\NAT@num
+ {\let\NAT@nm=\NAT@num}%
+ {\def\NAT@nm{-2}}%
+ \NAT@ifcat@num\NAT@last@num
+ {\@tempcnta=\NAT@last@num\relax}%
+ {\@tempcnta\m@ne}%
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}%
+ }{%
+ \advance\@tempcnta by\@ne
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ \ifx\NAT@last@yr\relax
+ \def@NAT@last@yr{\@citea}%
+ \else
+ \def@NAT@last@yr{--\NAT@penalty}%
+ \fi
+ }{%
+ \NAT@last@yr@mbox
+ }%
+ }%
+ }{%
+ \@tempswatrue
+ \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}%
+ \if@tempswa\NAT@citea@mbox\fi
+ }%
+ }%
+ \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else
+ \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}%
+ \fi
+ \if*#1*\else#1\NAT@spacechar\fi
+ \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
+ \NAT@def@citea@box
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space\NAT@alias
+ \fi
+ \fi
+ }%
+ }%
+ \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}%
+ \ifNAT@swa\else
+ \@ifnum{\NAT@ctype=\z@}{%
+ \if*#2*\else\NAT@cmt#2\fi
+ }{}%
+ \NAT@mbox{\NAT@@close}%
+ \fi
+ }}{#1}{#2}%
+}%
+\AtBeginDocument{\NAT@set@cites}
+\DeclareRobustCommand\Latincite
+ {\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@Latin@cites}{\NAT@fullfalse\NAT@Latin@cites}}
+\newcommand\NAT@Latin@cites{\@ifnextchar [{\NAT@@Latin@@citetp}{%
+ \ifNAT@numbers\else
+ \NAT@swafalse
+ \fi
+ \NAT@@Latin@@citetp[]}}
+\newcommand\NAT@@Latin@@citetp{}
+\def\NAT@@Latin@@citetp[#1]{\@ifnextchar[{\@Latincitex[#1]}{\@Latincitex[][#1]}}
+% \end{macrocode}
+% \iffalse
+%</natbib-xepersian.def>
+%<*packages-localise-xepersian.def>
+%\fi
+% \section{File \texttt{packages-localise-xepersian.def}}
+% \begin{macrocode}
+\آماده‌سازی‌پرونده{packages-localise-xepersian.def}[2013/04/24 v0.2 localising LaTeX2e Packages]
+\@گرسبک‌فراخوانی‌شده{color}{\ورودی{color-localise-xepersian.def}}{}
+\@ifpackageloaded{multicol}{%
+\newenvironment{چندستونی‌ها}{\begin{multicols}}{\end{multicols}}%
+\newenvironment{چندستونی‌ها*}{\begin{multicols*}}{\end{multicols*}}%
+}{}
+\@ifpackageloaded{verbatim}{%
+\begingroup
+ \vrb@catcodes
+ \lccode`\!=`\\ \lccode`\[=`\{ \lccode`\]=`\}
+ \catcode`\~=\active \lccode`\~=`\^^M
+ \lccode`\C=`\C
+ \lowercase{\endgroup
+ \def\xepersian@localize@verbatim@start#1{%
+ \verbatim@startline
+ \if\noexpand#1\noexpand~%
+ \let\next\xepersian@localize@verbatim@
+ \else \def\next{\xepersian@localize@verbatim@#1}\fi
+ \next}%
+ \def\xepersian@localize@verbatim@#1~{\xepersian@localize@verbatim@@#1!پایان\@nil}%
+ \def\xepersian@localize@verbatim@@#1!پایان{%
+ \verbatim@addtoline{#1}%
+ \futurelet\next\xepersian@localize@verbatim@@@}%
+ \def\xepersian@localize@verbatim@@@#1\@nil{%
+ \ifx\next\@nil
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else
+ \def\@tempa##1!پایان\@nil{##1}%
+ \@temptokena{!پایان}%
+ \def\next{\expandafter\xepersian@localize@verbatim@test\@tempa#1\@nil~}%
+ \fi \next}%
+ \def\xepersian@localize@verbatim@test#1{%
+ \let\next\xepersian@localize@verbatim@test
+ \if\noexpand#1\noexpand~%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena}%
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else \if\noexpand#1
+ \@temptokena\expandafter{\the\@temptokena#1}%
+ \else \if\noexpand#1\noexpand[%
+ \let\@tempc\@empty
+ \let\next\xepersian@localize@verbatim@testend
+ \else
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena}%
+ \def\next{\xepersian@localize@verbatim@#1}%
+ \fi\fi\fi
+ \next}%
+ \def\xepersian@localize@verbatim@testend#1{%
+ \if\noexpand#1\noexpand~%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc}%
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else\if\noexpand#1\noexpand]%
+ \let\next\xepersian@localize@verbatim@@testend
+ \else\if\noexpand#1\noexpand!%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc}%
+ \def\next{\xepersian@localize@verbatim@!}%
+ \else \expandafter\def\expandafter\@tempc\expandafter
+ {\@tempc#1}\fi\fi\fi
+ \next}%
+ \def\xepersian@localize@verbatim@@testend{%
+ \ifx\@tempc\@currenvir
+ \verbatim@finish
+ \edef\next{\noexpand\end{\@currenvir}%
+ \noexpand\xepersian@localize@verbatim@rescan{\@currenvir}}%
+ \else
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc]}%
+ \let\next\xepersian@localize@verbatim@
+ \fi
+ \next}%
+ \def\xepersian@localize@verbatim@rescan#1#2~{\if\noexpand~\noexpand#2~\else
+ \@warning{Characters dropped after `\string\end{#1}'}\fi}}%
+\def\همانطورکه‌هست{\begingroup\@verbatim \frenchspacing\@vobeyspaces
+ \xepersian@localize@verbatim@start}
+\@namedef{همانطورکه‌هست*}{\begingroup\@verbatim\xepersian@localize@verbatim@start}
+\def\endهمانطورکه‌هست{\endtrivlist\endgroup\@doendpe}
+\expandafter\let\csname endهمانطورکه‌هست*\endcsname =\endهمانطورکه‌هست
+}{}
+\ExplSyntaxOn
+\AtBeginDocument{
+ \xepersian_localize_patch_verbatim:
+}
+\cs_set:Npn \xepersian_localize_patch_verbatim: {
+ \@ifpackageloaded{verbatim}{
+ \cs_set:cpn {همانطورکه‌هست*} {
+ \group_begin: \@verbatim \fontspec_print_visible_spaces: \xepersian@localize@verbatim@start
+ }
+ }{
+ }
+}
+\ExplSyntaxOff
+\@ifpackageloaded{graphicx}{%
+\def\Gin@boolkey#1#2{%
+\expandafter\@ifdefinable \csname Gin@#2درست\endcsname{%
+\expandafter\let\csname Gin@#2درست\expandafter\endcsname\csname Gin@#2true\endcsname}%
+\expandafter\@ifdefinable \csname Gin@#2نادرست\endcsname{%
+\expandafter\let\csname Gin@#2نادرست\expandafter\endcsname\csname Gin@#2false\endcsname}%
+ \csname Gin@#2\ifx\relax#1\relax true\else#1\fi\endcsname}
+\define@key{Grot}{origin}[c]{%
+ \@tfor\@tempa:=#1\do{%
+ \if l\@tempa \Grot@x\z@\else
+ \if چ\@tempa \Grot@x\z@\else
+ \if r\@tempa \Grot@x\width\else
+ \if ر\@tempa \Grot@x\width\else
+ \if t\@tempa \Grot@y\height\else
+ \if ب\@tempa \Grot@y\height\else
+ \if b\@tempa \Grot@y-\depth\else
+ \if ز\@tempa \Grot@y-\depth\else
+ \if B\@tempa \Grot@y\z@\else
+ \if ک\@tempa \Grot@y\z@\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}}
+\معادل@کلید{Gin}{پیش‌نویس}{draft}
+\معادل@کلید{Gin}{مبدا}{origin}
+\معادل@کلید{Grot}{مبدا}{origin}
+\معادل@کلید{Gin}{بی‌اضافه}{clip}
+\معادل@کلید{Gin}{حفظ‌تناسب}{keepaspectratio}
+\معادل@کلید{Gin}{پهنای‌طبیعی}{natwidth}
+\معادل@کلید{Gin}{بلندای‌طبیعی}{natheight}
+\معادل@کلید{Gin}{مختصات}{bb}
+\معادل@کلید{Gin}{محدوده‌نمایش}{viewport}
+\معادل@کلید{Gin}{حذف‌اطراف}{trim}
+\معادل@کلید{Gin}{زاویه}{angle}
+\معادل@کلید{Gin}{پهنا}{width}
+\معادل@کلید{Gin}{بلندا}{height}
+\معادل@کلید{Gin}{بلندای‌کل}{totalheight}
+\معادل@کلید{Gin}{ضریب}{scale}
+\معادل@کلید{Gin}{نوع}{type}
+\معادل@کلید{Gin}{پسوند}{ext}
+\معادل@کلید{Gin}{خواندنی}{read}
+\معادل@کلید{Gin}{فرمان}{command}
+\معادل@کلید{Grot}{طول}{x}
+\معادل@کلید{Grot}{عرض}{y}
+\معادل@کلید{Grot}{واحد}{units}
+}{}
+% \end{macrocode}
+% \iffalse
+%</packages-localise-xepersian.def>
+%<*persian-tex-text.map>
+%\fi
+% \section{File \texttt{persian-tex-text.map}}
+% \begin{macrocode}
+LHSName "persian-TeX-text"
+RHSName "Unicode"
+
+pass(Unicode)
+U+0030 <> U+06F0 ;
+U+0031 <> U+06F1 ;
+U+0032 <> U+06F2 ;
+U+0033 <> U+06F3 ;
+U+0034 <> U+06F4 ;
+U+0035 <> U+06F5 ;
+U+0036 <> U+06F6 ;
+U+0037 <> U+06F7 ;
+U+0038 <> U+06F8 ;
+U+0039 <> U+06F9 ;
+
+
+U+002C <> U+060C ; comma ­> arabic comma
+U+003F <> U+061F ; question mark -> arabic qm
+U+003B <> U+061B ; semicolon -> arabic semicolon
+
+; ligatures from Knuth's original CMR fonts
+U+002D U+002D <> U+2013 ; -- -> en dash
+U+002D U+002D U+002D <> U+2014 ; --- -> em dash
+
+U+0027 <> U+2019 ; ' -> right single quote
+U+0027 U+0027 <> U+201D ; '' -> right double quote
+U+0022 > U+201D ; " -> right double quote
+
+U+0060 <> U+2018 ; ` -> left single quote
+U+0060 U+0060 <> U+201C ; `` -> left double quote
+
+U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam
+U+003F U+0060 <> U+00BF ; ?` -> inverted question
+
+; additions supported in T1 encoding
+U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK
+U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET
+U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
+% \end{macrocode}
+% \iffalse
+%</persian-tex-text.map>
+%<*rapport1-xepersian.def>
+%\fi
+% \section{File \texttt{rapport1-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{rapport1-xepersian.def}[2010/07/25 v0.1 adaptations for rapport1 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+% \end{macrocode}
+% \iffalse
+%</rapport1-xepersian.def>
+%<*rapport3-xepersian.def>
+%\fi
+% \section{File \texttt{rapport3-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{rapport3-xepersian.def}[2010/07/25 v0.2 adaptations for rapport3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+% \end{macrocode}
+% \iffalse
+%</rapport3-xepersian.def>
+%<*refrep-xepersian.def>
+%\fi
+% \section{File \texttt{refrep-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{refrep-xepersian.def}[2010/07/25 v0.2 adaptations for refrep class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+% \end{macrocode}
+% \iffalse
+%</refrep-xepersian.def>
+%<*report-xepersian.def>
+%\fi
+% \section{File \texttt{report-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{report-xepersian.def}[2010/07/25 v0.2 adaptations for standard report class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+% \end{macrocode}
+% \iffalse
+%</report-xepersian.def>
+%<*scrartcl-xepersian.def>
+%\fi
+% \section{File \texttt{scrartcl-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{scrartcl-xepersian.def}[2010/07/25 v0.2 adaptations for scrartcl class]
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+% \end{macrocode}
+% \iffalse
+%</scrartcl-xepersian.def>
+%<*scrbook-xepersian.def>
+%\fi
+% \section{File \texttt{scrbook-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{scrbook-xepersian.def}[2010/07/25 v0.2 adaptations for scrbook class]
+\renewcommand*\frontmatter{%
+ \if@twoside\cleardoubleoddpage\else\clearpage\fi
+ \@mainmatterfalse\pagenumbering{harfi}%
+}
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+% \end{macrocode}
+% \iffalse
+%</scrbook-xepersian.def>
+%<*scrreprt-xepersian.def>
+%\fi
+% \section{File \texttt{scrreprt-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{scrreprt-xepersian.def}[2010/07/25 v0.2 adaptations for scrreprt class]
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+% \end{macrocode}
+% \iffalse
+%</scrreprt-xepersian.def>
+%<*soul-xepersian.def>
+%\fi
+% \section{File \texttt{soul-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{soul-xepersian.def}[2018/12/12 v0.2 adaptations for soul package]
+\let\SOUL@tt@latin\SOUL@tt
+\newfontface{\SOUL@tt@nonlatin}{Times New Roman}
+\def\SOUL@tt{%
+ \if@nonlatin
+ \SOUL@tt@nonlatin
+ \else
+ \SOUL@tt@latin
+ \fi
+}
+\bidi@appto\resetlatinfont{%
+ \setbox\z@\hbox{\SOUL@tt-}%
+ \SOUL@ttwidth\wd\z@
+}
+\bidi@appto\setpersianfont{%
+ \setbox\z@\hbox{\SOUL@tt-}%
+ \SOUL@ttwidth\wd\z@
+}
+% \end{macrocode}
+% \iffalse
+%</soul-xepersian.def>
+%<*tikz.code-xepersian.def>
+%\fi
+% \section{File \texttt{tikz.code-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{tikz.code-xepersian.def}[2018/12/11 v0.1 adaptations for tikz.code.tex file]
+\bidi@patchcmd\tikz@finish{%
+ \begingroup
+ \tikz@options
+}{%
+ \begingroup
+ \@@textdigitfont@onfalse
+ \tikz@options
+}{}{}
+% \end{macrocode}
+% \iffalse
+%</tikz.code-xepersian.def>
+%<*tkz-linknodes-xepersian.def>
+%\fi
+% \section{File \texttt{tkz-linknodes-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{tkz-linknodes-xepersian.def}[2012/06/13 v0.1 adaptations for tkz-linknodes package]
+\renewcommand*{\@SetTab}{%
+ \let\@alph\@latinalph%
+ \ifnum \value{C@NumTab}>25\relax%
+ \setcounter{C@NumTab}{1}%
+ \else%
+ \stepcounter{C@NumTab}%
+ \fi%
+ \setcounter{C@NumGroup}{0}%
+ \newcommand*{\PrefixCurrentTab}{\alph{C@NumTab}}
+ \setboolean{B@FirstLink}{true}
+ \setboolean{B@NewGroup}{false}
+ \setcounter{C@NumGroup}{0}
+ \setcounter{C@CurrentGroup}{0}
+ \setcounter{NumC@Node}{0}
+ \setcounter{NumC@Stop}{0}
+ \setcounter{C@NextNode}{0}
+ \setcounter{C@CurrentStop}{0}
+ \setcounter{C@CurrentNode}{0}
+}%
+% \end{macrocode}
+% \iffalse
+%</tkz-linknodes-xepersian.def>
+%<*tocloft-xepersian.def>
+%\fi
+% \section{File \texttt{tocloft-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{tocloft-xepersian.def}[2010/07/25 v0.1 bilingual captions for tocloft package]
+\renewcommand*{\cftchapname}{\if@RTL فصل\else chapter\fi}
+\renewcommand*{\cftsecname}{\if@RTL قسمت\else section\fi}
+\renewcommand*{\cftsubsecname}{\if@RTL زیرقسمت\else subsection\fi}
+\renewcommand*{\cftsubsubsecname}{\if@RTL زیرزیرقسمت\else subsubsection\fi}
+\renewcommand*{\cftparaname}{\if@RTL پاراگراف\else paragraph\fi}
+\renewcommand*{\cftsubparaname}{\if@RTL زیرپاراگراف\else subparagraph\fi}
+\renewcommand*{\cftfigname}{\if@RTL شکل\else figure\fi}
+\renewcommand*{\cftsubfigname}{\if@RTL زیرشکل\else subfigure\fi}
+\renewcommand*{\cfttabname}{\if@RTL جدول\else table\fi}
+\renewcommand*{\cftsubtabname}{\if@RTL زیرجدول\else subtable\fi}
+% \end{macrocode}
+% \iffalse
+%</tocloft-xepersian.def>
+%<*varioref-xepersian.def>
+%\fi
+% \section{File \texttt{varioref-xepersian.def}}
+% \begin{macrocode}
+\ProvidesFile{varioref-xepersian.def}[2018/09/29 v0.1 bilingual captions for varioref package]
+\def\reftextfaceafter{%
+ \if@RTL
+در صفحه
+\reftextvario{مقابل}{بعد}%
+ \else
+ on the \reftextvario{facing}{next} page%
+ \fi
+}
+\def\reftextfacebefore{%
+ \if@RTL
+در صفحه
+\reftextvario{مقابل}{قبل}%
+ \else
+ on the \reftextvario{facing}{preceding} page%
+ \fi
+}
+\def\reftextafter{%
+ \if@RTL
+در صفحه
+\reftextvario{بعد}{بعد}%
+ \else
+ on the \reftextvario{following}{next} page%
+ \fi
+}
+\def\reftextbefore{%
+ \if@RTL
+در صفحه
+\reftextvario{قبل}{قبل}%
+ \else
+ on the \reftextvario{preceding}{previous} page%
+ \fi
+}
+\def\reftextcurrent{%
+ \if@RTL
+در
+\reftextvario{همین صفحه}{صفحه جاری}%
+ \else
+ on \reftextvario{this}{the current} page%
+ \fi
+}
+\def\reftextfaraway#1{%
+ \if@RTL
+در صفحه%
+~\pageref{#1}%
+ \else
+ on page~\pageref{#1}%
+ \fi
+}
+\def\reftextpagerange#1#2{%
+ \if@RTL
+در صفحه‌های%
+~\pageref{#1}--\pageref{#2}%
+ \else
+ on pages~\pageref{#1}--\pageref{#2}%
+ \fi
+}
+\def\reftextlabelrange#1#2{%
+ \if@RTL
+ \ref{#1} تا~\ref{#2}%
+ \else
+ \ref{#1} to~\ref{#2}%
+ \fi
+}
+% \end{macrocode}
+% \iffalse
+%</varioref-xepersian.def>
+%<*xepersian.sty>
+%\fi
+% \section{File \texttt{xepersian.sty}}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\def\xepersian@version{23.0}
+\def\xepersiandate{2020/05/16}
+\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
+% \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!}
+% \linespread{\strip@pt\dimexpr 1pt * \xepersian@strutilg / \baselineskip\relax}
+% \selectfont
+% \fi
+}
+
+\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 16, 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}
+
+\ExecuteOptionsX{%
+ 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
+
+\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
+% \end{macrocode}
+% \iffalse
+%</xepersian.sty>
+%<*xepersian-magazine.cls>
+%\fi
+% \section{File \texttt{xepersian-magazine.cls}}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{xepersian-magazine}[2010/07/25 v0.2 Typesetting Persian magazines in XeLaTeX]
+\RequirePackage{ifthen}
+\newlength{\xepersian@imgsize}
+\newlength{\xepersian@coltitsize}
+\newlength{\xepersian@pageneed}
+\newlength{\xepersian@pageleft}
+\newlength{\xepersian@indexwidth}
+\newcommand{\xepersian@ncolumns}{0}
+\newlength{\columnlines}
+\setlength{\columnlines}{0 pt} % no lines by default
+\newboolean{xepersian@hyphenatedtitles}
+\setboolean{xepersian@hyphenatedtitles}{true}
+\newboolean{xepersian@ninepoints}
+\setboolean{xepersian@ninepoints}{false}
+\newboolean{xepersian@showgrid}
+\setboolean{xepersian@showgrid}{false}
+\newboolean{xepersian@a3paper}
+\setboolean{xepersian@a3paper}{false}
+\newboolean{xepersian@insidefrontpage}
+\setboolean{xepersian@insidefrontpage}{false}
+\newboolean{xepersian@insideweather}
+\setboolean{xepersian@insideweather}{false}
+\newboolean{xepersian@insideindex}
+\setboolean{xepersian@insideindex}{false}
+\newcount\xepersian@gridrows
+\newcount\xepersian@gridcolumns
+\xepersian@gridrows=40
+\xepersian@gridcolumns=50
+\newcount\minraggedcols
+\minraggedcols=5
+\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}}
+\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}}
+\DeclareOption{12pt}{\PassOptionsToClass{12pt}{article}}
+\DeclareOption{twocolumn}%
+{\ClassWarning{xepersian-magazine}{Option 'twocolumn' not available for xepersian-magazine.}}
+\DeclareOption{notitlepage}%
+{\ClassWarning{xepersian-magazine}{Option 'notitlepage' not available for xepersian-magazine.}}
+\DeclareOption{twoside}%
+{\ClassWarning{xepersian-magazine}{Option 'twoside' not available for xepersian-magazine.}}
+\DeclareOption{9pt}{\setboolean{xepersian@ninepoints}{true}}
+\DeclareOption{hyphenatedtitles}{\setboolean{xepersian@hyphenatedtitles}{false}}
+\DeclareOption{columnlines}{\setlength{\columnlines}{0.1 pt}}
+\DeclareOption{showgrid}{\setboolean{xepersian@showgrid}{true}}
+\DeclareOption{a3paper}{\setboolean{xepersian@a3paper}{true}}
+\ProcessOptions\relax
+\LoadClass[10pt, onecolumn, titlepage, a4paper]{article}
+\RequirePackage{ifxetex}
+\RequirePackage{multido}
+\RequirePackage{datetime}
+\RequirePackage{multicol}
+\RequirePackage{fancyhdr}
+\RequirePackage{fancybox}
+\ifthenelse{\boolean{xepersian@a3paper}}{%
+\RequirePackage[a3paper,headsep=0.5cm,vmargin={2cm,2cm},hmargin={1.5cm,1.5cm}]{geometry}
+}{
+\RequirePackage[headsep=0.5cm,vmargin={2cm,2cm},hmargin={1.5cm,1.5cm}]{geometry}
+}
+\RequirePackage[absolute]{textpos} % absoulte positioning
+\RequirePackage{hyphenat} % when hyphenate
+\RequirePackage{lastpage} % to know the last page number
+\RequirePackage{setspace} % set space between lines
+\RequirePackage{ragged2e}
+\newcommand{\raggedFormat}{\RaggedLeft}
+\AtEndOfClass{\xepersianInit}
+\ifthenelse{\boolean{xepersian@showgrid}}{%
+\AtBeginDocument{
+\grid[show]{\xepersian@gridrows}{\xepersian@gridcolumns}}
+\advance\minraggedcols by -1
+}{%
+\AtBeginDocument{
+\grid[]{\xepersian@gridrows}{\xepersian@gridcolumns}}
+\advance\minraggedcols by -1
+}
+\ifthenelse{\boolean{xepersian@ninepoints}}{
+\renewcommand{\normalsize}{%
+ \@setfontsize{\normalsize}{9pt}{10pt}%
+ \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}}
+
+\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}}
+
+\renewcommand{\small}{%
+ \@setfontsize{\small}{8pt}{9pt}%
+ \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\footnotesize}{%
+ \@setfontsize{\footnotesize}{8pt}{9pt}%
+ \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}}
+\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}}
+\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}}
+\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}}
+\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}}
+}{}
+\def\customwwwTxt#1{\gdef\@customwwwTxt{\lr{#1}}}
+\newcommand{\xepersian@wwwFormat}{\sffamily}
+\newcommand{\xepersian@www}{%
+\raisebox{-3pt}{{\xepersian@wwwFormat\@customwwwTxt}}
+}
+\newcommand{\xepersian@edition}{ویرایش من}
+\newcommand{\editionFormat}{\large\bfseries\texttt}
+\newcommand{\xepersian@editionLogo}{%
+\raisebox{-3pt}{%
+{\editionFormat\xepersian@edition}%
+}%
+}
+\newcommand{\indexFormat}{\large\bfseries}
+\newcommand{\xepersian@indexFrameTitle}[1]
+{\begin{flushright}{{\indexFormat #1}}\end{flushright}}
+
+\newcommand{\indexEntryFormat}{\normalsize}
+\newcommand{\xepersian@indexEntry}[1]{\begin{minipage}{13\TPHorizModule}%
+{\indexEntryFormat\noindent\ignorespaces{#1}}%
+\end{minipage}}
+\newcommand{\indexEntrySeparator}{\rule{\xepersian@indexwidth}{.1pt}}
+\newcommand{\indexEntryPageTxt}{صفحهٔ}
+\newcommand{\indexEntryPageFormat}{\footnotesize}
+\newcommand{\xepersian@indexEntryPage}[1]{%
+{\indexEntryPageFormat{\indexEntryPageTxt{}~#1}}%
+}
+\newcommand{\headDateTimeFormat}{}
+\newcommand{\xepersian@headDateTime}{%
+\headDateTimeFormat\date\hspace{5pt}$\parallel$\hspace{5pt}%
+\currenttime %
+}
+\newcommand{\weatherFormat}{\bfseries}
+\newcommand{\xepersian@weather}[1]{%
+\noindent{\weatherFormat #1}%
+}
+\newcommand{\weatherTempFormat}{\small}
+\newcommand{\weatherUnits}{\textdegree{}C}
+\newcommand{\xepersian@section}[0]{صفحهٔ جلو}
+\newcommand{\xepersian@headleft}{%
+{\small\bfseries \@custommagazinename}، \date
+}
+\newcommand{\xepersian@headcenter}{%
+\xepersian@section{}
+}
+\newcommand{\xepersian@headright}{%
+\small\xepersian@edition%
+\hspace*{5pt}\beginL\thepage\ / \pageref{LastPage}\endL
+}
+
+\newcommand{\heading}[3]{%
+\renewcommand{\xepersian@headleft}{\beginR#1\endR}%
+\renewcommand{\xepersian@headcenter}{\beginR#2\endR}%
+\renewcommand{\xepersian@headright}{\beginR#3\endR}%
+}
+\newcommand{\xepersian@footright}{%
+{\footnotesize\lr{\copyright\ \@customwwwTxt{}}---تهیه‌شده توسط \lr{\XePersian}}%
+}
+\newcommand{\xepersian@footcenter}{%
+}
+\newcommand{\xepersian@footleft}{%
+}
+
+\newcommand{\foot}[3]{%
+\renewcommand{\xepersian@footleft}{\beginR#1\endR}%
+\renewcommand{\xepersian@footcenter}{\beginR#2\endR}%
+\renewcommand{\xepersian@footright}{\beginR#3\endR}%
+}
+\newcommand{\firstTitleFormat}{\Huge\bfseries\flushright}
+\newcommand{\xepersian@firstTitle}[1]{%
+{%
+\begin{spacing}{2.0}{%
+\noindent\ignorespaces
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\firstTitleFormat #1}}%
+{{\firstTitleFormat #1}}%
+}%
+\end{spacing}%
+}%
+}
+\newcommand{\firstTextFormat}{}
+\newcommand{\xepersian@firstText}[1]{%
+{\noindent\ignorespaces\firstTextFormat #1}%
+}
+\newcommand{\secondTitleFormat}{\LARGE\bfseries}
+\newcommand{\xepersian@secondTitle}[1]{%
+\begin{spacing}{1.5}{%
+\noindent\ignorespaces\flushright
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\secondTitleFormat #1}}%
+{{\secondTitleFormat #1}}%
+}\end{spacing}%
+}
+\newcommand{\secondSubtitleFormat}{\large}
+\newcommand{\xepersian@secondSubtitle}[1]{%
+{\noindent\ignorespaces{\secondSubtitleFormat #1}}%
+}
+\newcommand{\secondTextFormat}{}
+\newcommand{\xepersian@secondText}[1]{%
+\begin{multicols}{2}
+{\noindent\ignorespaces\secondTextFormat #1}
+\end{multicols}
+}
+\newcommand{\thirdTitleFormat}{\Large\bfseries}
+\newcommand{\xepersian@thirdTitle}[1]{%
+\begin{spacing}{1.5}{%
+\noindent\ignorespaces\flushright
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\thirdTitleFormat #1}}%
+{{\thirdTitleFormat #1}}%
+}\end{spacing}%
+}
+\newcommand{\thirdSubtitleFormat}{\large}
+\newcommand{\xepersian@thirdSubtitle}[1]%
+{{\noindent\ignorespaces\thirdSubtitleFormat #1}}
+\newcommand{\thirdTextFormat}{}
+\newcommand{\xepersian@thirdText}[1]{{\thirdTextFormat #1}}
+\newcommand{\pictureCaptionFormat}{\small\bfseries}
+\newcommand{\xepersian@pictureCaption}[1]{%
+{\noindent\pictureCaptionFormat #1}%
+}
+\newcommand{\pagesFormat}{\bfseries\footnotesize}
+\newcommand{\xepersian@pages}[1]%
+{\noindent{\pagesFormat\MakeUppercase{#1}}}
+\newcommand{\innerTitleFormat}{\Huge}
+\newcommand{\xepersian@innerTitle}[1]{%
+\begin{flushright}{%
+\noindent
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\innerTitleFormat #1}}%
+{{\innerTitleFormat #1}}%
+}%
+\\%
+\end{flushright}%
+}
+\newcommand{\innerSubtitleFormat}{\large}
+\newcommand{\xepersian@innerSubtitle}[1]{{\innerSubtitleFormat #1}}
+\newcommand{\timestampTxt}{}
+\newcommand{\timestampSeparator}{|}
+\newcommand{\timestampFormat}{\small}
+\newcommand{\timestamp}[1]{%
+{\timestampFormat%
+#1~\timestampTxt{}%
+}~\timestampSeparator{}%
+}
+\newcommand{\innerAuthorFormat}{\footnotesize}
+\newcommand{\innerPlaceFormat}{\footnotesize\bfseries}
+\newcommand{\innerTextFinalMark}{\rule{0.65em}{0.65em}}
+\newcommand{\editorialTitleFormat}{\LARGE\textit}
+\newcommand{\xepersian@editorialTitle}[1]{\editorialTitleFormat{#1}}
+\newcommand{\editorialAuthorFormat}{\textsc}
+\newcommand{\shortarticleTitleFormat}{\LARGE\bfseries}
+\newcommand{\xepersian@shortarticleTitle}[1]{{\shortarticleTitleFormat #1}}
+\newcommand{\shortarticleSubtitleFormat}{\Large}
+\newcommand{\xepersian@shortarticleSubtitle}[1]{{\shortarticleSubtitleFormat #1}}
+\newcommand{\shortarticleItemTitleFormat}{\large\bfseries}
+\newcommand{\xepersian@shortarticleItemTitle}[1]{{\shortarticleItemTitleFormat #1}}
+\renewcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 1em%
+ {\LARGE «\xepersian@edition» \par}%
+ \vskip 3em%
+ {\large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}%
+ \end{center}\par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+\newcommand{\xepersian@say}[1]{\typeout{#1}}
+\newsavebox{\xepersian@fmbox}
+\newenvironment{xepersian@fmpage}[1]
+ {\begin{lrbox}{\xepersian@fmbox}\begin{minipage}{#1}}
+ {\end{minipage}\end{lrbox}\fbox{\usebox{\xepersian@fmbox}}}
+\newcommand{\image}[2]{
+\vspace{5pt}
+\setlength{\fboxsep}{1pt}
+\addtolength{\xepersian@imgsize}{\columnwidth}
+\addtolength{\xepersian@imgsize}{-1\columnsep}
+\ifxetex
+\setlength{\xepersian@pageneed}{1.5\xepersian@imgsize}
+\addtolength{\xepersian@pageneed}{50pt}
+\ClassWarning{xepersian-magazine}{%
+Image #1 needs: \the\xepersian@pageneed \space %
+and there is left: \the\page@free\space%
+}
+\ifdim \xepersian@pageneed < \page@free
+
+{\centering\fbox{%
+\includegraphics[width = \xepersian@imgsize,
+height = \xepersian@imgsize,
+keepaspectratio ]{#1}}}
+\xepersian@pictureCaption{#2}
+
+\vspace{5pt}
+\else
+\ClassWarning{Image #1 needs more space!%
+ It was not inserted!}
+\fi
+\fi
+}
+\textblockorigin{1cm}{1cm}
+\newdimen\xepersian@dx
+\newdimen\xepersian@dy
+\newcount\xepersian@cx
+\newcount\xepersian@cy
+\newcommand{\grid}[3][]{
+\xepersian@dx=\textwidth%
+\xepersian@dy=\textheight%
+\xepersian@cx=#3% %columns
+\xepersian@cy=#2% %rows
+
+\count1=#3%
+\advance\count1 by 1
+
+\count2=#2%
+\advance\count2 by 1
+
+\divide\xepersian@dx by #3
+\divide\xepersian@dy by #2
+
+\setlength{\TPHorizModule}{\xepersian@dx}
+\setlength{\TPVertModule}{\xepersian@dy}
+
+\ifthenelse{\equal{#1}{show}}{
+\multido{\xepersian@nrow=0+1}{\count2}{
+\begin{textblock}{\xepersian@cx}(0,\xepersian@nrow)
+\rule[0pt]{\textwidth}{.1pt}
+\end{textblock}
+}
+
+\multido{\xepersian@ncol=0+1}{\count1}{
+\begin{textblock}{\xepersian@cy}(\xepersian@ncol,0)
+\rule[0pt]{.1pt}{\textheight}
+\end{textblock}
+}
+}{}
+}
+\newcommand{\xepersianInit}{
+\setlength{\headheight}{14pt}
+\renewcommand{\headrulewidth}{0.4pt}
+
+\pagestyle{fancy}
+
+\setlength{\columnseprule}{\columnlines}
+\setlength{\fboxrule}{0.1 pt}
+
+}
+
+\def\customlogo#1{\gdef\@customlogo{\beginR#1\endR}}
+\def\customminilogo#1{\gdef\@customminilogo{\beginR#1\endR}}
+\def\custommagazinename#1{\gdef\@custommagazinename{\beginR#1\endR}}
+\newcommand{\logo}[0]{
+%% Heading %%
+\noindent\hrulefill\hspace{10pt}\xepersian@editionLogo\hspace{5pt}\xepersian@www
+
+\vspace*{-3pt}
+
+{\Large\bfseries \@customlogo}
+\hrulefill
+\hspace{10pt}\xepersian@headDateTime
+
+}
+\newcommand{\minilogo}[0]{
+{\large\bfseries \@customminilogo}
+
+\vspace*{5pt}
+}
+\newcommand{\mylogo}[1]{
+{\beginR#1\endR}
+
+\noindent
+\xepersian@editionLogo\hspace{5pt}
+\hrulefill
+\hspace{5pt}\xepersian@headDateTime
+}
+\newcommand{\edition}[1]{\renewcommand{\xepersian@edition}{#1}}
+\newenvironment{frontpage}[0]
+{
+\setboolean{xepersian@insidefrontpage}{true}
+\thispagestyle{empty}
+\logo
+
+}%
+{
+\thispagestyle{empty}
+\clearpage
+\newpage
+\fancyhead{}
+ \fancyfoot{}
+\fancyhead[RO,LE]{\beginR\xepersian@headright\endR}
+\fancyhead[LO,RE]{\beginR\xepersian@headleft\endR}
+ \fancyhead[C]{\beginR\xepersian@headcenter\endR}
+ \fancyfoot[RO,LE]{\beginR\xepersian@footright\endR}
+ \fancyfoot[LO,RE]{\beginR\xepersian@footleft\endR}
+\fancyfoot[C]{\beginR\xepersian@footcenter\endR}
+\renewcommand{\headrulewidth}{0.4pt}
+\setboolean{xepersian@insidefrontpage}{false}
+
+}
+\newcommand{\firstarticle}[3]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}{%
+\begin{textblock}{24}(22,5)
+}
+{
+\begin{textblock}{28}(22,5)
+}
+\vspace{-7pt}
+\xepersian@firstTitle{#1}
+\end{textblock}
+\begin{textblock}{29}(22,10)
+\vspace{5pt plus 2pt minus 2pt}
+
+\xepersian@firstText{\timestamp{#3}~#2}
+
+\end{textblock}
+
+\begin{textblock}{50}(0,15)
+\rule{50\TPHorizModule}{.3pt}
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\firstarticle\space in a wrong place.\MessageBreak
+\protect\firstarticle\space may only appear inside frontpage environment.
+}{%
+\protect\firstarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\secondarticle}[5]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{33}(2,16)
+\xepersian@pages{#4}
+\vspace{-5pt}
+\xepersian@secondTitle{#1}
+
+\vspace*{5pt}
+
+\xepersian@secondSubtitle{#2}
+
+\vspace*{-7pt}
+
+\xepersian@secondText{\timestamp{#5}~#3}
+
+\end{textblock}
+
+\begin{textblock}{33}(2,25)
+\vspace{5pt plus 2pt minus 2pt}
+
+\noindent\ignorespaces\rule{33\TPHorizModule}{.3pt}
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\secondarticle\space in a wrong place.\MessageBreak
+\protect\secondarticle\space may only appear inside frontpage environment.
+}{%
+\protect\secondarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\thirdarticle}[6]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{32}(2,26)
+\xepersian@pages{#5}
+\vspace{-5pt}
+\setlength{\fboxsep}{1pt}
+\xepersian@thirdTitle{#1}
+
+\vspace*{5pt}
+
+\xepersian@thirdSubtitle{#2}
+
+\vspace*{5pt}
+
+{\noindent\ignorespaces %
+\ifthenelse{\equal{#4}{}}{}
+
+\xepersian@thirdText{\timestamp{#6}~#3}
+
+}
+
+\vspace*{5pt}
+
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\thirdarticle\space in a wrong place.\MessageBreak
+\protect\thirdarticle\space may only appear inside frontpage environment.
+}{%
+\protect\thirdarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\firstimage}[2]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{18}(2,5)
+\setlength{\fboxsep}{1pt}
+\ifxetex % only in PDF
+\noindent\fbox{\includegraphics[width = 18\TPHorizModule ]{#1}}
+\fi
+
+\xepersian@pictureCaption{#2}
+\end{textblock}%
+}
+{\ClassError{xepersian-magazine}{%
+\protect\firstimage\space in a wrong place.\MessageBreak
+\protect\firstimage\space may only appear inside frontpage environment.
+}{%
+\protect\firstimage\space may only appear inside frontpage environment.
+}}
+}%
+\newcommand{\weatheritem}[5]{%
+\ifthenelse{\boolean{xepersian@insideweather}}{
+\begin{minipage}{45pt}
+\ifxetex
+\includegraphics[width=40pt]{#1}
+\fi
+\end{minipage}
+\begin{minipage}{50pt}
+\weatherTempFormat
+#2\\
+\beginL#3 $\|$ #4 \lr{\weatherUnits{}}\endL\\
+#5
+\end{minipage}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\weatheritem\space in a wrong place.\MessageBreak
+\protect\weatheritem\space may only appear inside weatherblock environment.
+}{%
+\protect\weatheritem\space may only appear inside weatherblock environment.\MessageBreak
+weatherblock environment may only appear inside frontpage environment.
+}%
+}
+}
+\newenvironment{weatherblock}[1]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\setboolean{xepersian@insideweather}{true}
+\begin{textblock}{32}(2,38)
+\vspace*{-15pt}
+
+\xepersian@weather{\beginR#1\endR}
+
+\vspace*{5pt}
+
+\noindent\begin{xepersian@fmpage}{32\TPHorizModule}
+\begin{minipage}{32\TPHorizModule}
+\hspace{5pt}
+
+}{%
+\ClassError{xepersian-magazine}{%
+weatherblock in a wrong place.\MessageBreak
+weatherblock may only appear inside frontpage environment.
+}{%
+weatherblock may only appear inside frontpage environment.
+}
+}
+}%
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+\setboolean{xepersian@insideweather}{false}
+}
+\newenvironment{authorblock}[0]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{15}(36,35)
+\setlength{\fboxsep}{5pt}
+\begin{xepersian@fmpage}{13\TPHorizModule}
+\begin{minipage}{13\TPHorizModule}
+\centering
+\minilogo
+
+}{%else
+\ClassError{xepersian-magazine}{%
+authorblock in a wrong place.\MessageBreak
+authorblock may only appear inside frontpage environment.
+}{%
+authorblock may only appear inside frontpage environment.
+}
+}
+}
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+}
+\newenvironment{indexblock}[1]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\setboolean{xepersian@insideindex}{true}%let's in
+\begin{textblock}{15}(36,16)
+\setlength{\xepersian@indexwidth}{13\TPHorizModule}
+\xepersian@indexFrameTitle{#1}
+
+\setlength{\fboxsep}{5pt} %espacio entre el frame y la imagen
+\begin{xepersian@fmpage}{\xepersian@indexwidth}
+\begin{minipage}{\xepersian@indexwidth}
+\vspace*{10pt}
+}{%else
+\ClassError{xepersian-magazine}{%
+indexblock in a wrong place.\MessageBreak
+indexblock may only appear inside frontpage environment.
+}{%
+indexblock may only appear inside frontpage environment.
+}
+}
+}%
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+\setboolean{xepersian@insideindex}{false}%let's out
+}
+\newcommand{\indexitem}[2]
+{
+\ifthenelse{\boolean{xepersian@insideindex}}{
+\xepersian@indexEntry{#1، \xepersian@indexEntryPage{\pageref{#2}}}
+
+\vspace{0.5cm}
+
+\noindent\ignorespaces\indexEntrySeparator{}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\indexitem\space in a wrong place.\MessageBreak
+\protect\indexitem\space may only appear inside indexblock environment.
+}{%
+\protect\indexitem\space may only appear inside indexblock environment.\MessageBreak
+indexblock environment may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\xepersian@inexpandedtitle}[1]{
+\begin{minipage}{.95\textwidth}
+\begin{center}
+\noindent\Large\textbf{\beginR#1\endR}
+\end{center}
+\end{minipage}
+}
+\newcommand{\expandedtitle}[2]{
+\end{multicols}
+
+\begin{center}
+\setlength{\fboxsep}{5pt}
+\setlength{\shadowsize}{2pt}
+\ifthenelse{\equal{#1}{shadowbox}}{%
+\shadowbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{doublebox}}{%
+\doublebox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{ovalbox}}{%
+\ovalbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{Ovalbox}}{%
+\Ovalbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{lines}}{
+\hrule
+\vspace*{8pt}
+\begin{center}
+\noindent\Large\textbf{#2}
+\end{center}
+\vspace*{8pt}
+\hrule
+}{}
+\end{center}
+
+\begin{multicols}{\xepersian@ncolumns{}}
+\ifnum \xepersian@ncolumns > \minraggedcols
+\raggedFormat
+\fi
+}
+\newcommand{\xepersian@incolumntitle}[2]{
+\begin{minipage}{#1}
+\begin{center}
+\noindent\normalsize\textbf{#2}
+\end{center}
+\end{minipage}
+}
+
+\newcommand{\columntitle}[2]{
+\vspace*{5pt}
+\begin{center}
+\setlength{\fboxsep}{5pt}
+\setlength{\shadowsize}{2pt}
+\addtolength{\xepersian@coltitsize}{\columnwidth}
+\addtolength{\xepersian@coltitsize}{-1\columnsep}
+\addtolength{\xepersian@coltitsize}{-5pt}
+\addtolength{\xepersian@coltitsize}{-1\shadowsize}
+\ifthenelse{\equal{#1}{shadowbox}}{%
+\shadowbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{doublebox}}{%
+\doublebox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{ovalbox}}{%
+\ovalbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{Ovalbox}}{%
+\Ovalbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{lines}}{
+\hrule
+\vspace*{5pt}
+\begin{center}
+\noindent\normalsize\textbf{#2}
+\end{center}
+\vspace*{5pt}
+\hrule
+}{}
+\end{center}
+}
+\renewcommand{\date}{%
+\longdate{\today}%
+}
+\newcommand{\authorandplace}[2]{%
+\rightline{%
+{\innerAuthorFormat #1},\space{}{\innerPlaceFormat #2}%
+}%
+\par %
+}
+\newcommand{\newsection}[1]{
+\renewcommand{\xepersian@section}{#1}
+}
+\newenvironment{article}[5]
+{
+\xepersian@say{Adding a new piece of article}
+\renewcommand{\xepersian@ncolumns}{#1}
+\begin{multicols}{#1}[
+\xepersian@pages{#4}
+\xepersian@innerTitle{#2}%
+\xepersian@innerSubtitle{#3}%
+][4cm]%
+\label{#5}
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{~\innerTextFinalMark{}
+\end{multicols}
+}
+\newcommand{\articlesep}{%
+\setlength{\xepersian@pageneed}{16000pt}
+\setlength\xepersian@pageleft{\pagegoal}
+\addtolength\xepersian@pageleft{-\pagetotal}
+
+\xepersian@say{How much left \the\xepersian@pageleft}
+
+\ifdim \xepersian@pageneed < \xepersian@pageleft
+\xepersian@say{Not enough space}
+\else
+\xepersian@say{Adding sep line between articles}
+\vspace*{10pt plus 10pt minus 5pt}
+\hrule
+\vspace*{10pt plus 5pt minus 5pt}
+\fi
+
+}
+\newcommand{\xepersian@editorialTit}[2]{
+\setlength{\arrayrulewidth}{.1pt}
+\begin{center}
+\begin{tabular}{c}
+\noindent
+\xepersian@editorialTitle{#1}
+\vspace{2pt plus 1pt minus 1pt}
+\\
+\hline
+\vspace{2pt plus 1pt minus 1pt}
+\\
+\editorialAuthorFormat{#2}
+\end{tabular}
+\end{center}
+}
+\newenvironment{editorial}[4]
+{
+\xepersian@say{Adding a new editorial}
+\begin{multicols}{#1}[%
+\xepersian@editorialTit{#2}{#3}%
+][4cm]
+\label{#4}
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{
+\end{multicols}
+}
+\newcommand{\xepersian@shortarticleTit}[2]{
+\begin{center}
+\vbox{%
+\noindent
+\xepersian@shortarticleTitle{#1}
+\vspace{4pt plus 2pt minus 2pt}
+\hrule
+\vspace{4pt plus 2pt minus 2pt}
+\xepersian@shortarticleSubtitle{#2}
+}
+\end{center}
+}
+\newenvironment{shortarticle}[4]
+{
+\xepersian@say{Adding a short article block}
+\begin{multicols}{#1}[\xepersian@shortarticleTit{#2}{#3}][4cm] %
+ \label{#4}
+\par %
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{
+\end{multicols}
+}
+\newcommand{\shortarticleitem}[2]{
+\goodbreak
+\vspace{5pt plus 3pt minus 3pt}
+{\vbox{\noindent\xepersian@shortarticleItemTitle{#1}}}
+\vspace{5pt plus 3pt minus 3pt}
+{\noindent #2}\\
+}
+% \end{macrocode}
+% \iffalse
+%</xepersian-magazine.cls>
+%<*xepersian-mathsdigitspec.sty>
+%\fi
+% \section{File \texttt{xepersian-mathsdigitspec.sty}}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xepersian-mathsdigitspec}
+ [2018/12/16 v1.1.7 Unicode Persian maths digits in XeLaTeX]
+\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
+\let\newfam\new@mathgroup
+\def\select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+ \ifnum\csname c@mv@\math@version\endcsname<\@cclvi
+ \begingroup
+ \escapechar\m@ne
+ \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+ \globaldefs\@ne \math@fonts
+ \endgroup
+ \init@restore@version
+ \xdef#1{\noexpand\use@mathgroup\noexpand#2%
+ {\number\csname c@mv@\math@version\endcsname}}%
+ \global\advance\csname c@mv@\math@version\endcsname\@ne
+ \else
+ \let#1\relax
+ \@latex@error{Too many math alphabets used in
+ version \math@version}%
+ \@eha
+ \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\def\document@select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+ \ifnum\csname c@mv@\math@version\endcsname<\@cclvi
+ \begingroup
+ \escapechar\m@ne
+ \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+ \globaldefs\@ne \math@fonts
+ \endgroup
+ \expandafter\extract@alph@from@version
+ \csname mv@\math@version\expandafter\endcsname
+ \expandafter{\number\csname
+ c@mv@\math@version\endcsname}%
+ #1%
+ \global\advance\csname c@mv@\math@version\endcsname\@ne
+ \else
+ \let#1\relax
+ \@latex@error{Too many math alphabets used
+ in version \math@version}%
+ \@eha
+ \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\ExplSyntaxOn
+\bool_set_false:N \g__fontspec_math_bool
+\tl_map_inline:nn
+ {
+ \new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes
+ \@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@
+ \DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion
+ \version@list\version@elt\alpha@list\alpha@elt
+ \restore@mathversion\init@restore@version\dorestore@version\process@table
+ \new@mathversion\DeclareSymbolFont\group@list\group@elt
+ \new@symbolfont\SetSymbolFont\SetSymbolFont@\get@cdp
+ \DeclareMathAlphabet\new@mathalphabet\SetMathAlphabet\SetMathAlphabet@
+ \DeclareMathAccent\set@mathaccent\DeclareMathSymbol\set@mathchar
+ \set@mathsymbol\DeclareMathDelimiter\@xxDeclareMathDelimiter
+ \@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter
+ \set@@mathdelimiter\DeclareMathRadical\mathchar@type
+ \DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@
+ }
+ {
+ \tl_remove_once:Nn \@preamblecmds {\do#1}
+ }
+\ExplSyntaxOff
+\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}}
+\newcommand\SetMathCode[4]{%
+ \Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax}
+\newcommand\SetMathCharDef[4]{%
+ \Umathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax}
+\ExplSyntaxOn
+\cs_new_eq:NN \orig_mathbf:n \mathbf
+\cs_new_eq:NN \orig_mathit:n \mathit
+\cs_new_eq:NN \orig_mathrm:n \mathrm
+\cs_new_eq:NN \orig_mathsf:n \mathsf
+\cs_new_eq:NN \orig_mathtt:n \mathtt
+\NewDocumentCommand \new@mathbf { m } {
+ \orig_mathbf:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathbf@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathit { m } {
+ \orig_mathit:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathit@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathrm { m } {
+ \orig_mathrm:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathrm@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathsf{ m } {
+ \orig_mathsf:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathsf@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathtt{ m } {
+ \orig_mathtt:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathtt@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+
+\cs_new:Npn \__xepersian_mathsdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathsdigitspec} }
+\cs_new:Nn \__xepersian_mathsdigitspec_msg_new:nnnn
+ { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } }
+\char_set_catcode_space:n {32}
+\__xepersian_mathsdigitspec_msg_new:nnnn {xepersian-mathsdigitspec} {char-not-exist}
+ {
+ The font "#1" does not contain U+#2.
+ }
+ {
+ Select another font and rerun xelatex.
+ }
+\char_set_catcode_ignore:n {32}
+
+\prg_new_conditional:Nnn \__xepersian_mathsdigitspec_primitive_font_char_if_exist:n {p,TF,T,F}
+ {
+ \etex_iffontchar:D \l_fontspec_font "#1 \scan_stop:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+
+\clist_new:N \l_xepersian_mathsdigitspec_char_clist
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_set_not_exist_error:nn
+ {
+ \clist_set:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_prepend_not_exist_error:nn
+ {
+ \clist_put_left:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_append_not_exist_error:nn
+ {
+ \clist_put_right:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_not_exist_error:n
+ {
+ \__xepersian_mathsdigitspec_char_set_not_exist_error:nn {
+ 06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 ,
+ 06F9 , 066A , 066B
+ } { #1 }
+ }
+
+\DeclareDocumentCommand \setmathdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathdigitfont:nn
+ {
+ \let\glb@currsize\relax
+ \fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathdigitfont_hook:nn {#1} {#2}
+ \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}
+ \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n}
+ \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n}
+ \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it}
+ \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathsdigits{%
+ \SetMathCode{`0}{\mathalpha}{OPERATORS}{`0}
+ \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1}
+ \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2}
+ \SetMathCode{`3}{\mathalpha}{OPERATORS}{`3}
+ \SetMathCode{`4}{\mathalpha}{OPERATORS}{`4}
+ \SetMathCode{`5}{\mathalpha}{OPERATORS}{`5}
+ \SetMathCode{`6}{\mathalpha}{OPERATORS}{`6}
+ \SetMathCode{`7}{\mathalpha}{OPERATORS}{`7}
+ \SetMathCode{`8}{\mathalpha}{OPERATORS}{`8}
+ \SetMathCode{`9}{\mathalpha}{OPERATORS}{`9}
+ \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}
+ \SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B}
+ \tl_set_eq:NN \mathbf \new@mathbf
+ \tl_set_eq:NN \mathit \new@mathit
+ \tl_set_eq:NN \mathrm \new@mathrm}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathdigitfont_hook:nn \use_none:nn
+
+\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathsfdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathsfdigitfont:nn
+ {
+ \fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathsfdigitfont_hook:nn {#1} {#2}
+ \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathsfdigitfont_hook:nn \use_none:nn
+
+\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathttdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathttdigitfont:nn
+ {
+ \fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathttdigitfont_hook:nn {#1} {#2}
+ \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathttdigitfont_hook:nn \use_none:nn
+
+\ExplSyntaxOff
+\ifx\newcommand\undefined\else
+ \newcommand{\ZifferAn}{}
+\fi
+\mathchardef\ziffer@DotOri="013A
+{\ZifferAn
+ \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}}
+\def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri}
+\def\ziffer@check#1#2{%
+ \ifx\n1\endgroup#1\else
+ \ifx\n2\endgroup#1\else
+ \ifx\n3\endgroup#1\else
+ \ifx\n4\endgroup#1\else
+ \ifx\n5\endgroup#1\else
+ \ifx\n6\endgroup#1\else
+ \ifx\n7\endgroup#1\else
+ \ifx\n8\endgroup#1\else
+ \ifx\n9\endgroup#1\else
+ \ifx\n0\endgroup#1\else
+ \ifx\n\overline\endgroup#1\else
+ \endgroup#2%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+\mathcode`.="8000\relax
+\def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi}
+\def\DefaultInlineMathsDigits{\def\SetInlineMathsDigits{}}
+\def\DefaultDisplayMathsDigits{\def\SetDisplayMathsDigits{}}
+\def\DefaultMathsDigits{%
+ \DefaultInlineMathsDigits%
+ \DefaultDisplayMathsDigits%
+}
+\def\PersianInlineMathsDigits{\def\SetInlineMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
+\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
+\def\PersianDisplayMathsDigits{\def\SetDisplayMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
+\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
+\def\PersianMathsDigits{%
+ \PersianInlineMathsDigits%
+ \PersianDisplayMathsDigits%
+}
+\def\AutoInlineMathsDigits{\def\SetInlineMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
+\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
+\def\AutoDisplayMathsDigits{\def\SetDisplayMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
+\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
+\def\AutoMathsDigits{%
+ \AutoInlineMathsDigits%
+ \AutoDisplayMathsDigits%
+}
+\AutoMathsDigits
+\everymath\expandafter{\the\everymath\SetInlineMathsDigits%
+ \let\SetDisplayMathsDigits\relax%
+}
+\everydisplay\expandafter{%
+ \the\everydisplay\SetDisplayMathsDigits%
+ \let\SetInlineMathsDigits\relax%
+}
+% \end{macrocode}
+% \iffalse
+%</xepersian-mathsdigitspec.sty>
+%<*xepersian-multiplechoice.sty>
+%\fi
+% \section{File \texttt{xepersian-multiplechoice.sty}}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xepersian-multiplechoice}[2010/07/25 v0.2
+ Multiple Choice Questionnaire class for Persian in XeLaTeX]
+\RequirePackage{pifont}
+\RequirePackage{fullpage}
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\RequirePackage{verbatim}
+\RequirePackage{tabularx}
+\def\@headerfont{\bfseries}
+\newcommand\headerfont[1]{\gdef\@headerfont{#1}}
+\def\@X{X}
+\newcommand\X[1]{\gdef\@X{#1}}
+\def\pbs#1{\let\tmp=\\#1\let\\=\tmp}
+\newcolumntype{D}{>{\pbs\centering}X}
+\newcolumntype{Q}{>{\@headerfont}X}
+
+\renewcommand\tabularxcolumn[1]{m{#1}}
+\newcommand\makeform@nocorrection{%
+ \addtocontents{frm}{\protect\end{tabularx}}
+ \@starttoc{frm}}
+\newcommand\makeform@correction{%
+ \addtocontents{frm}{\protect\end{tabularx}}}
+\newcommand\makemask@nocorrection{%
+ \addtocontents{msk}{\protect\end{tabularx}}
+ \@starttoc{msk}}
+\newcommand\makemask@correction{%
+ \addtocontents{msk}{\protect\end{tabularx}}}
+\newlength\questionspace
+\setlength\questionspace{0pt}
+\newcommand\answerstitle[1]{\gdef\@answerstitle{#1}}
+\def\@answerstitlefont{\bfseries}
+\newcommand\answerstitlefont[1]{\gdef\@answerstitlefont{#1}}
+\def\@answernumberfont{\bfseries}
+\newcommand\answernumberfont[1]{\gdef\@answernumberfont{#1}}
+\newcounter{question}\stepcounter{question}
+\newcounter{@choice}
+\def\@initorcheck{%
+ \xdef\@choices{\the@choice}%
+ \setcounter{@choice}{1}%
+ \gdef\@arraydesc{|Q||}%
+ \gdef\@headerline{}%
+ \whiledo{\not{\value{@choice}>\@choices}}{
+ \xdef\@arraydesc{\@arraydesc D|}
+ \def\@appendheader{\g@addto@macro\@headerline}
+ \@appendheader{&\protect\@headerfont}
+ \edef\@the@choice{{\alph{@choice}}}
+ \expandafter\@appendheader\@the@choice
+ \stepcounter{@choice}}%
+ \addtocontents{frm}{%
+ \protect\begin{tabularx}{\protect\linewidth}{\@arraydesc}
+ \protect\hline
+ \@headerline\protect\\\protect\hline\protect\hline}%
+ \addtocontents{msk}{%
+ \protect\begin{tabularx}{\protect\linewidth}{\@arraydesc}
+ \protect\hline
+ \@headerline\protect\\\protect\hline\protect\hline}%
+ \gdef\@initorcheck{%
+ \ifthenelse{\value{@choice} = \@choices}{}{%
+ \ClassError{xepersian-multiplechoice}{Question \thequestion: wrong number of choices
+ (\the@choice\space instead of \@choices)}{%
+ Questions must all have the same number of proposed answers.%
+ \MessageBreak
+ Type X <return> to quit, fix your MCQ (multiple choice question) and rerun XeLaTeX.}}}}
+\newenvironment{question}[1]{%
+ %% \begin{question}
+ \begin{minipage}{\textwidth}
+ \xdef\@formanswerline{\@questionheader}%
+ \xdef\@maskanswerline{\@questionheader}%
+ \fbox{\parbox[c]{\linewidth}{#1}}
+ \vspace\questionspace\par
+ {\@answerstitlefont\@answerstitle}
+ \begin{list}{\@answernumberfont\alph{@choice})~}{\usecounter{@choice}}}{%
+ %% \end{question}
+ \end{list}
+ \@initorcheck%
+ \addtocontents{frm}{\@formanswerline\protect\\\protect\hline}%
+ \addtocontents{msk}{\@maskanswerline\protect\\\protect\hline}%
+ \end{minipage}
+ \stepcounter{question}}
+\def\@truesymbol{\ding{52}~}
+\def\@falsesymbol{\ding{56}~}
+\newcommand\truesymbol[1]{\gdef\@truesymbol{#1}}
+\newcommand\falsesymbol[1]{\gdef\@falsesymbol{#1}}
+\def\@true@nocorrection{\item}
+\def\@false@nocorrection{\item}
+\def\@true@correction{\item[\@truesymbol\refstepcounter{@choice}]}
+\def\@false@correction{\item[\@falsesymbol\refstepcounter{@choice}]}
+\newcommand\true{%
+ \xdef\@formanswerline{\@formanswerline&}%
+ \xdef\@maskanswerline{\@maskanswerline&\@X}%
+ \@true}%
+\newcommand\false{%
+ \xdef\@formanswerline{\@formanswerline&}%
+ \xdef\@maskanswerline{\@maskanswerline&}%
+ \@false}%
+\def\@correctionstyle{\itshape}
+\newcommand\correctionstyle[1]{\gdef\@correctionstyle{#1}}
+\newenvironment{@correction}{\@correctionstyle}{}
+ \def\@questionheader{سؤال \thequestion}
+ \answerstitle{جوابهای ممکن:}
+\DeclareOption{nocorrection}{%
+ \let\@true\@true@nocorrection
+ \let\@false\@false@nocorrection
+ \let\correction\comment
+ \let\endcorrection\endcomment
+ \def\makeform{\makeform@nocorrection}
+ \def\makemask{\makemask@nocorrection}}
+\DeclareOption{correction}{%
+ \let\@true\@true@correction
+ \let\@false\@false@correction
+ \let\correction\@correction
+ \let\endcorrection\end@correction
+ \def\makeform{\makeform@correction}
+ \def\makemask{\makemask@correction}}
+\ExecuteOptions{nocorrection}
+\newcommand\questiontitle[1]{\gdef\@questiontitle{#1}}
+\def\@questiontitlefont{\bfseries}
+\newcommand\questiontitlefont[1]{\gdef\@questiontitlefont{#1}}
+\newlength\questiontitlespace
+\setlength\questiontitlespace{5pt}
+\newlength\questionsepspace
+\setlength\questionsepspace{20pt}
+\gdef\@questionsepspace{0pt}
+\let\old@question\question
+\let\old@endquestion\endquestion
+\renewenvironment{question}[1]{%
+ %% \begin{question}
+ \vspace\@questionsepspace
+ \fbox{\parbox[c]{0.25\linewidth}{\@questiontitlefont\@questiontitle}}
+ \nopagebreak\vspace\questiontitlespace\par
+ \old@question{#1}}{%
+ %% \end{question}
+ \old@endquestion
+ \gdef\@questionsepspace{\questionsepspace}}
+ \questiontitle{سؤال \thequestion:}
+\ProcessOptions
+% \end{macrocode}
+% \iffalse
+%</xepersian-multiplechoice.sty>
+%<*xepersian-persiancal.sty>
+%\fi
+% \section{File \texttt{xepersian-persiancal.sty}}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xepersian-persiancal}[2012/07/25 v0.2 provides Persian calendar]
+
+\newif\ifXePersian@leap \newif\ifXePersian@kabiseh
+\newcount\XePersian@i \newcount\XePersian@y \newcount\XePersian@m \newcount\XePersian@d
+\newcount\XePersian@latini \newcount\XePersian@persiani
+\newcount\XePersian@latinii \newcount\XePersian@persianii
+\newcount\XePersian@latiniii \newcount\XePersian@persianiii
+\newcount\XePersian@latiniv \newcount\XePersian@persianiv
+\newcount\XePersian@latinv \newcount\XePersian@persianv
+\newcount\XePersian@latinvi \newcount\XePersian@persianvi
+\newcount\XePersian@latinvii \newcount\XePersian@persianvii
+\newcount\XePersian@latinviii \newcount\XePersian@persianviii
+\newcount\XePersian@latinix \newcount\XePersian@persianix
+\newcount\XePersian@latinx \newcount\XePersian@persianx
+\newcount\XePersian@latinxi \newcount\XePersian@persianxi
+\newcount\XePersian@latinxii \newcount\XePersian@persianxii
+ \newcount\XePersian@persianxiii
+
+\newcount\XePersian@temp
+\newcount\XePersian@temptwo
+\newcount\XePersian@tempthree
+\newcount\XePersian@yModHundred
+\newcount\XePersian@thirtytwo
+\newcount\XePersian@dn
+\newcount\XePersian@sn
+\newcount\XePersian@mminusone
+
+
+\XePersian@y=\year \XePersian@m=\month \XePersian@d=\day
+\XePersian@temp=\XePersian@y
+\divide\XePersian@temp by 100\relax
+\multiply\XePersian@temp by 100\relax
+\XePersian@yModHundred=\XePersian@y
+\advance\XePersian@yModHundred by -\XePersian@temp\relax
+\ifodd\XePersian@yModHundred
+ \XePersian@leapfalse
+\else
+ \XePersian@temp=\XePersian@yModHundred
+ \divide\XePersian@temp by 2\relax
+ \ifodd\XePersian@temp\XePersian@leapfalse
+ \else
+ \ifnum\XePersian@yModHundred=0%
+ \XePersian@temp=\XePersian@y
+ \divide\XePersian@temp by 400\relax
+ \multiply\XePersian@temp by 400\relax
+ \ifnum\XePersian@y=\XePersian@temp\XePersian@leaptrue\else\XePersian@leapfalse\fi
+ \else\XePersian@leaptrue
+ \fi
+ \fi
+\fi
+\XePersian@latini=31\relax
+\ifXePersian@leap
+ \XePersian@latinii = 29\relax
+\else
+ \XePersian@latinii = 28\relax
+\fi
+\XePersian@latiniii = 31\relax
+\XePersian@latiniv = 30\relax
+\XePersian@latinv = 31\relax
+\XePersian@latinvi = 30\relax
+\XePersian@latinvii = 31\relax
+\XePersian@latinviii = 31\relax
+\XePersian@latinix = 30\relax
+\XePersian@latinx = 31\relax
+\XePersian@latinxi = 30\relax
+\XePersian@latinxii = 31\relax
+\XePersian@thirtytwo=32\relax
+\XePersian@temp=\XePersian@y
+\advance\XePersian@temp by -17\relax
+\XePersian@temptwo=\XePersian@temp
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 33\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\ifnum\XePersian@temp=\XePersian@thirtytwo\XePersian@kabisehfalse
+\else
+ \XePersian@temptwo=\XePersian@temp
+ \divide\XePersian@temptwo by 4\relax
+ \multiply\XePersian@temptwo by 4\relax
+ \advance\XePersian@temp by -\XePersian@temptwo
+ \ifnum\XePersian@temp=\z@\XePersian@kabisehtrue\else\XePersian@kabisehfalse\fi
+\fi
+\XePersian@tempthree=\XePersian@y % Number of Leap years
+\advance\XePersian@tempthree by -1
+\XePersian@temp=\XePersian@tempthree % T := (MY-1) div 4
+\divide\XePersian@temp by 4\relax
+\XePersian@temptwo=\XePersian@tempthree % T := T - ((MY-1) div 100)
+\divide\XePersian@temptwo by 100\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\XePersian@temptwo=\XePersian@tempthree % T := T + ((MY-1) div 400)
+\divide\XePersian@temptwo by 400\relax
+\advance\XePersian@temp by \XePersian@temptwo
+\advance\XePersian@tempthree by -611 % Number of Kabise years
+\XePersian@temptwo=\XePersian@tempthree % T := T - ((SY+10) div 33) * 8
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 8\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\XePersian@temptwo=\XePersian@tempthree %
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 33\relax
+\advance\XePersian@tempthree by -\XePersian@temptwo
+\ifnum\XePersian@tempthree=32\advance\XePersian@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T);
+\divide\XePersian@tempthree by 4\relax % T := T - ((SY+10) mod 33) div 4
+\advance\XePersian@temp by -\XePersian@tempthree
+\advance\XePersian@temp by -137 % T := T - 137 Adjust the value
+\XePersian@persiani=31
+\advance\XePersian@persiani by -\XePersian@temp % now 31 - T is the persiani
+\XePersian@persianii = 30\relax
+\ifXePersian@kabiseh
+ \XePersian@persianiii = 30\relax
+\else
+ \XePersian@persianiii = 29\relax
+\fi
+\XePersian@persianiv = 31\relax
+\XePersian@persianv = 31\relax
+\XePersian@persianvi = 31\relax
+\XePersian@persianvii = 31\relax
+\XePersian@persianviii= 31\relax
+\XePersian@persianix = 31\relax
+\XePersian@persianx = 30\relax
+\XePersian@persianxi = 30\relax
+\XePersian@persianxii = 30\relax
+\XePersian@persianxiii= 30\relax
+\XePersian@dn= 0\relax
+\XePersian@sn= 0\relax
+\XePersian@mminusone=\XePersian@m
+\advance\XePersian@mminusone by -1\relax
+\XePersian@i=0\relax
+\ifnum\XePersian@i < \XePersian@mminusone
+\loop
+\advance \XePersian@i by 1\relax
+\advance\XePersian@dn by \csname XePersian@latin\romannumeral\the\XePersian@i\endcsname
+\ifnum\XePersian@i<\XePersian@mminusone \repeat
+\fi
+\advance \XePersian@dn by \XePersian@d
+\XePersian@i=1\relax
+\XePersian@sn = \XePersian@persiani
+\ifnum \XePersian@sn<\XePersian@dn
+\loop
+\advance \XePersian@i by 1\relax
+\advance\XePersian@sn by \csname XePersian@persian\romannumeral\the\XePersian@i\endcsname
+\ifnum \XePersian@sn<\XePersian@dn \repeat
+\fi
+\ifnum \XePersian@i < 4
+ \XePersian@m = 9 \advance\XePersian@m by \XePersian@i
+ \advance \XePersian@y by -622\relax
+\else
+ \XePersian@m = \XePersian@i \advance \XePersian@m by -3\relax
+ \advance \XePersian@y by -621\relax
+\fi
+\advance\XePersian@sn by -\csname XePersian@persian\romannumeral\the\XePersian@i%
+\endcsname
+\ifnum\XePersian@i = 1
+ \XePersian@d = \XePersian@dn \advance \XePersian@d by 30 \advance\XePersian@d by -\XePersian@persiani
+\else
+ \XePersian@d = \XePersian@dn \advance \XePersian@d by -\XePersian@sn
+\fi
+\newcommand*{\persiantoday}{%
+\number\XePersian@d\space%
+\XePersian@persian@month{\XePersian@m}\space\number\XePersian@y%
+}
+\let\persianyear\XePersian@y
+\let\persianmonth\XePersian@m
+\let\persianday\XePersian@d
+\def\XePersian@persian@month#1{\ifcase#1\or فروردین\or
+اردیبهشت\or
+خرداد\or تیر\or
+مرداد\or
+شهریور\or مهر\or
+آبان\or آذر\or
+دی\or بهمن\or
+اسفند\fi}
+% \end{macrocode}
+% \iffalse
+%</xepersian-persiancal.sty>
+%\fi
+%
+% \Finale
+%
+%
+%\iffalse
+%<*magazine-sample.tex>
+\documentclass[12pt,twoside]{xepersian-magazine}
+\usepackage{graphicx}
+\usepackage{xltxtra}
+\usepackage{amsmath}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setlatintextfont[Scale=1]{Junicode}
+\setmathdigitfont{XB Zar}
+\pagestyle{fancy}
+\title{مجلهٔ زی‌پرشین}
+\author{وفا خلیقی}
+\edition{جلد اول}
+\customlogo{مجلهٔ زی‌پرشین}
+\customminilogo{مجلهٔ زی‌پرشین}
+\custommagazinename{مجلهٔ زی‌پرشین}
+\customwwwTxt{http://google.com}
+\begin{document}
+\begin{frontpage}
+\firstimage{img/ireland.jpg}{این زیرنویس تصویر اصلی در صفحهٔ اول است.}
+\firstarticle{این تیتر مقالهٔ اول است.}
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد.}%
+{۱۲:۳۴}
+\secondarticle{این هم سر تیتر مقالهٔ دوم است.}%
+{این هم زیر تیتر مقالهٔ دوم است که آن را در اینجا می‌نویسیم.}%
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد.}%
+{قسمت الف}%
+{۱۰:۲۳}
+
+\thirdarticle{این سرتیتر مقالهٔ سوم است.}%
+{این هم زیرتیتر مقالهٔ سوم است که ما آن را در اینجا قرار می‌دهیم.}%
+{خوب این قسمت کوچکی از مقالهٔ اول است که ما در حال نوشتن آن هستم. باید یک مقدار بنویسیم تا مقداری این قسمت پر شود تا بتوانیم چیز قشنگی داشته باشیم. دقت کنیم که بصورت انتخابی حتی می‌توانیم زمان را هم درج کنیم که در سمت راست قرار می‌گیرد. و همانطور که می‌بینید من مطلبی برای گفتن ندارم فقط متن علکی می‌نویسم تا کمی صفحه را پر کرده باشم. اما در قسمتهای بعدی مقداری از سهراب سپهری خواهم نوشت.}%
+
+{قسمت ب}%
+{۱۰:۰۲}
+
+\begin{indexblock}{نمایه (فهرست مطالب) اصلی}
+\indexitem{۱- مقاله اول}{1}
+
+\indexitem{۲- مقاله دوم}{3}
+
+\indexitem{۳- مقاله سوم}{3}
+
+\indexitem{۴- مقاله چهارم}{5}
+\end{indexblock}
+
+\begin{weatherblock}{وضع آب و هوا}
+\weatheritem{img/weather/rain.jpg}{امروز}{13}{9}{}
+\weatheritem{img/weather/sun.jpg}{فردا}{15}{1}{}
+\weatheritem{img/weather/clouds.jpg}{جمعه}{12}{6}{}
+\end{weatherblock}
+
+\begin{authorblock}
+\textbf{ویرایشگران}
+
+وفا خلیقی، مهدی امیدعلی و مصطفی واحدی
+
+\texttt{me@somedomain.com\\[5pt]
+http://google.com}\\
+\end{authorblock}
+\end{frontpage}
+\newsection{قسمت الف}
+\begin{article}{2}
+{این تیتر این مقاله است.}
+{این هم زیرتیتر این مقاله هست.}
+{قسمت الف}
+{1}
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{۸:۲۵}
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+\footnote{این یک زیرنویس فارسی است.}\LTRfootnote{This is an English footnote.}
+\begin{equation}
+(a+b)^3=a^3+3a^2b+3ab^2+b^3\label{eq-1}
+\end{equation}
+این معادلهٔ \eqref{eq-1} است.
+\columntitle{lines}{این را برای مهم یا نشان دادن حرفی مهم در این مجله انجام می‌دهیم.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\begin{article}{2}
+{این تیتر این مقاله است.}
+{این هم زیرتیتر این مقاله هست.}
+{قسمت الف}
+{1}
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{08:25}
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+\LTRfootnote{This is an English footnote.}\footnote{این یک زیرنویس فارسی است.}
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+\expandedtitle{doublebox}{این هم مطلی است مهم یا چیزی که از خلاصهٔ این مقاله ما متوجه شده‌ایم و این برای ما و خوانندگان خیلی مهم است.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\newsection{قسمت ب}
+
+\begin{article}{2}
+{این یک تیتر کوتاه است.وفا خلیقی}
+{این هم مثل همیشه زیرتیتر است که ما آن را در اینجا قرار می‌دهیم.}
+{قسمت ب}
+{3}
+
+\authorandplace{نام نویسنده}{مکان}
+
+\noindent\timestamp{08:25} et ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+
+\expandedtitle{lines}{این هم دوباره مطلب مهمی است که ما آن را از لابلای این مقاله برای خواننده درست کرده‌ایم.}
+
+ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{article}
+
+\articlesep
+
+\begin{editorial}{1}{این یک مثال از مقاله‌ای از طرف ویرایشگر است.}{نام و نام خانوادگی}{4}
+يژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.
+
+اما معماری همتابه‌همتا ويژگی‌های ديگری نيز دارد که آن را هم برای فراهم‌کنندگان کاربردها و هم برای استفاده‌کنندگان جذاب‌تر می‌کند. از آن‌جا که شبکه‌های همتابه‌همتا از همان زيرساخت‌های اينترنت استفاده می‌کنند ونيازی به راه‌اندازی سرورها ندارند، ساخت اين شبكه‌ها بسيار ارزان‌تر از ايجاد زير ساخت‌های لازم برای راه‌اندازی شبكه‌های مشتری/خدمت‌گزار است. هم‌چنين با زياد شدن تعداد کاربران چون درعمل تعداد گره‌های ارائه کننده‌ی خدمات هم بالا می‌رود، نه تنها عملكرد شبكه افت پيدا نمی‌كند بلكه انتظار بهبود عملکرد نيز می‌رود. گذشته از اين موارد، مالكيت اين شبكه‌ها به صورت اشتراكی بين تمام کاربران پخش شده و هيچ شخص يا شركتی نمی‌تواند سياست‌های دلخواه خود را در اين نوع شبكه‌ها اعمال کند.
+
+اماهيچ چيزی بی‌ بها به دست نمی‌آید. نبود سرور مرکزی اگر چه ويژگی‌های جذابی به شبکه‌های همتابه‌همتا می‌بخشد اما از طرف ديگر آن‌ها را با دشواری‌هايی نيز روبه‌رو می‌کند. عدم وجود يك هماهنگ كننده مركزی در شبكه، انجام بسياری از امور و ارائه خدمات را دچار مشكل می‌کند. از يک طرف، تغيير و رفت‌وآمد زیاد کاربران از ويژگی‌های ذاتی اين شبکه‌ها است و از طرف ديگر در اين شبكه‌ها، ديگر اين گره‌های معمولی هستند كه عهده‌دار تمامی وظايف هستند. به همين دلیل يکی از مشکلات اصلی فراروی اين شبكه‌ها، مقابله با تغييرات لحظه‌ای و فراهم آوردن ثبات در ارائه خدمات در بستری از بی‌ثباتی است.
+\end{editorial}
+
+\articlesep
+
+\begin{shortarticle}{4}{محیط مقالهٔ کوتاه}{محیط مقالهٔ کوتاه داخل مجلهٔ زی‌پرشین}{5}
+\shortarticleitem{این یک تیتر کوتاه است}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\shortarticleitem{یک تیتر کوتاه دیگر}{ويژگی اصلی که اين معماری را متمايز کرده و در دنيای اينترنت آن‌ها در مقابل معماری قبلی شبكه‌ها قرار داده است، امكان ايجاد ارتباط مستقيم بين كامپيوترهای مختلف بدون نياز به دخالت سرورهای قدرتمند در بين راه است. نام‌ اين نوع معماری هم در واقع بر گرفته شده از همین ارتباط مستقیم بين گره‌ها است. در واقع در اين نوع شبكه‌ها اثری از سرورها نيست و تمامی گره‌های معمولی موجود در شبكه، بايد وظايفی را که قبلا بر عهده‌ی سرورها بود، خود انجام دهند. بنابراين در اين نوع معماری گره‌های معمولی در ضمن اين‌که از خدمات شبکه بهره‌مند می‌شود بايد نقش خدمت‌گزار را هم ايفا کنند . در اين نوع شبکه‌ها گره‌های معمولی به كمك روش‌ها و پروتكل‌های توزيع شده، تمامی وظايف مسير يابی در شبكه، جستجوی منابع، امنيت شبكه و شناسايی هويت استفاده كننده‌ها و هم‌چنين مقابله با حملات احتمالی مهاجمان را بر عهده دارند.}
+\end{shortarticle}
+
+\articlesep
+
+\end{document}
+%</magazine-sample.tex>
+%<*test-correction.tex>
+\documentclass{article}
+\usepackage[correction]{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\end{document}
+%</test-correction.tex>
+%<*test-empty-form.tex>
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+\bigskip
+
+\begin{center}
+\makeform
+\end{center}
+\end{document}
+%</test-empty-form.tex>
+%<*test-question-only.tex>
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\end{document}
+%</test-question-only.tex>
+%<*test-solution-form.tex>
+\documentclass{article}
+\usepackage{xepersian-multiplechoice}
+\usepackage{xepersian}
+\settextfont[Scale=1]{XB Zar}
+\setmathdigitfont[Scale=1]{XB Zar}
+\begin{document}
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\false $\{(3,2),(3,3)\} $
+\true $\{(2,2),(2,3)\} $
+\false $\{(2,3),(3,3)\} $
+\false $\{(2,2),(3,2)\} $
+\end{question}
+
+\begin{question}{اگر ‎$A=\{ 1,2\} $‎ و ‎$B=\{ 2,3\} $‎ آنگاه حاصل $B^2-A\times B$ کدام است.}
+\true $x$
+\false $y$
+\false $z$
+\false $t$
+\end{question}
+
+\begin{question}{مجموعه‎ $(B-A^{'})^{'}$ ‎برابر است با:}
+\false $B^{'}\bigcap A$
+\false $B'\bigcup A' $
+\true $A$
+\false هیچکدام.
+\end{question}
+
+\begin{question}{صورت متعارفی عدد مختلط ‎$\frac{7+i}{1-i}$‎ کدام است.}
+\false $4+4i$
+\false $4-3i$
+\false $3+4i$
+\true $3-3i$
+\end{question}
+\begin{correction}
+جواب درست یکی از اینها است.
+\end{correction}
+
+\bigskip
+\begin{center}
+\makemask
+\end{center}
+\end{document}
+%</test-solution-form.tex>
+%<*xepersian-logo.tex>
+\documentclass{minimal}
+\usepackage{pstricks}
+\begin{document}
+\psset{xunit=.5pt,yunit=.5pt,runit=.5pt}
+\begin{pspicture}(644,645)
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(336.4,15.6)
+\curveto(336.4,7.6)(329.9,1.201)(322,1.201)
+\curveto(314,1.201)(307.6,7.701)(307.6,15.6)
+\curveto(307.6,23.5)(314.1,30)(322,30)
+\curveto(329.9,30)(336.4,23.6)(336.4,15.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(368.4,18.8)
+\curveto(369.2,10.901)(363.5,3.8)(355.599,2.901)
+\curveto(347.7,2.1)(340.599,7.8)(339.7,15.701)
+\curveto(338.9,23.6)(344.599,30.701)(352.5,31.6)
+\curveto(360.5,32.5)(367.6,26.7)(368.4,18.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(400,25.3)
+\curveto(401.7,17.5)(396.7,9.8)(388.9,8.2)
+\curveto(381.099,6.5)(373.4,11.5)(371.799,19.3)
+\curveto(370.099,27.1)(375.099,34.8)(382.9,36.401)
+\curveto(390.6,38.1)(398.3,33.1)(400,25.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(430.7,35.1)
+\curveto(433.2,27.5)(429,19.401)(421.4,16.901)
+\curveto(413.799,14.401)(405.7,18.6)(403.2,26.201)
+\curveto(400.7,33.801)(404.9,41.901)(412.5,44.401)
+\curveto(420.1,46.901)(428.2,42.7)(430.7,35.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(460.2,48.1)
+\curveto(463.4,40.8)(460.2,32.3)(452.9,29)
+\curveto(445.599,25.8)(437.099,29)(433.799,36.3)
+\curveto(430.599,43.6)(433.799,52.1)(441.099,55.3)
+\curveto(448.4,58.6)(456.9,55.3)(460.2,48.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(488.2,64)
+\curveto(492.2,57.1)(489.8,48.3)(482.9,44.3)
+\curveto(476,40.3)(467.2,42.7)(463.2,49.6)
+\curveto(459.2,56.5)(461.599,65.3)(468.5,69.3)
+\curveto(475.401,73.3)(484.2,70.9)(488.2,64)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(514.3,82.8)
+\curveto(519,76.401)(517.6,67.3)(511.1,62.6)
+\curveto(504.6,57.901)(495.6,59.3)(490.901,65.8)
+\curveto(486.201,72.3)(487.701,81.3)(494.1,86)
+\curveto(500.6,90.7)(509.6,89.3)(514.3,82.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(538.4,104.2)
+\curveto(543.7,98.3)(543.299,89.099)(537.299,83.8)
+\curveto(531.4,78.5)(522.199,79)(516.9,84.901)
+\curveto(511.6,90.8)(512.1,100)(518,105.3)
+\curveto(523.9,110.7)(533.1,110.2)(538.4,104.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(560.1,128.1)
+\curveto(566,122.8)(566.5,113.6)(561.201,107.701)
+\curveto(555.901,101.801)(546.701,101.301)(540.801,106.6)
+\curveto(534.902,111.901)(534.402,121.1)(539.701,127)
+\curveto(545,132.9)(554.2,133.4)(560.1,128.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(579.2,154)
+\curveto(585.7,149.3)(587.099,140.3)(582.4,133.8)
+\curveto(577.7,127.3)(568.7,125.901)(562.2,130.6)
+\curveto(555.7,135.3)(554.3,144.3)(559,150.8)
+\curveto(563.7,157.3)(572.7,158.7)(579.2,154)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(595.4,181.8)
+\curveto(602.299,177.8)(604.7,169)(600.7,162.1)
+\curveto(596.7,155.201)(587.9,152.8)(581,156.8)
+\curveto(574.1,160.8)(571.7,169.6)(575.7,176.5)
+\curveto(579.7,183.5)(588.5,185.8)(595.4,181.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(608.7,211.2)
+\curveto(616,208)(619.3,199.4)(616,192.099)
+\curveto(612.8,184.799)(604.2,181.599)(596.9,184.799)
+\curveto(589.6,188)(586.3,196.6)(589.6,203.9)
+\curveto(592.9,211.2)(601.4,214.5)(608.7,211.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(618.8,241.8)
+\curveto(626.401,239.3)(630.5,231.2)(628.1,223.6)
+\curveto(625.6,216)(617.5,211.901)(609.901,214.3)
+\curveto(602.3,216.8)(598.201,224.901)(600.6,232.5)
+\curveto(603.1,240.1)(611.2,244.3)(618.8,241.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(625.7,273.3)
+\curveto(633.5,271.7)(638.5,264)(636.8,256.2)
+\curveto(635.2,248.4)(627.5,243.4)(619.7,245.099)
+\curveto(611.9,246.799)(606.9,254.4)(608.599,262.2)
+\curveto(610.2,270)(617.9,274.9)(625.7,273.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(629.2,305.3)
+\curveto(637.099,304.5)(642.9,297.401)(642,289.401)
+\curveto(641.2,281.501)(634.1,275.701)(626.1,276.6)
+\curveto(618.201,277.401)(612.401,284.5)(613.3,292.5)
+\curveto(614.2,300.4)(621.3,306.1)(629.2,305.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(629.4,337.5)
+\curveto(637.4,337.5)(643.9,331)(643.799,323.1)
+\curveto(643.799,315.1)(637.299,308.7)(629.4,308.7)
+\curveto(621.4,308.7)(615,315.2)(615,323.1)
+\curveto(615,331.1)(621.4,337.5)(629.4,337.5)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(626.2,369.6)
+\curveto(634.099,370.4)(641.2,364.7)(642.099,356.8)
+\curveto(642.9,348.9)(637.2,341.8)(629.299,340.9)
+\curveto(621.4,340.1)(614.299,345.8)(613.499,353.8)
+\curveto(612.5,361.7)(618.3,368.8)(626.2,369.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(619.7,401.1)
+\curveto(627.5,402.8)(635.2,397.8)(636.8,390)
+\curveto(638.5,382.2)(633.5,374.5)(625.7,372.9)
+\curveto(617.9,371.2)(610.2,376.2)(608.599,384)
+\curveto(606.9,391.8)(611.9,399.5)(619.7,401.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(609.9,431.8)
+\curveto(617.5,434.3)(625.599,430.1)(628.099,422.5)
+\curveto(630.599,414.9)(626.4,406.8)(618.799,404.3)
+\curveto(611.199,401.8)(603.099,406)(600.599,413.6)
+\curveto(598.099,421.2)(602.3,429.4)(609.9,431.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(596.9,461.4)
+\curveto(604.2,464.7)(612.7,461.4)(615.9,454.1)
+\curveto(619.2,446.8)(615.9,438.3)(608.599,435)
+\curveto(601.299,431.8)(592.799,435)(589.499,442.3)
+\curveto(586.4,449.6)(589.6,458.1)(596.9,461.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(581,489.3)
+\curveto(587.9,493.3)(596.7,490.9)(600.7,484)
+\curveto(604.7,477.1)(602.3,468.3)(595.4,464.3)
+\curveto(588.5,460.3)(579.7,462.7)(575.7,469.6)
+\curveto(571.7,476.5)(574.1,485.3)(581,489.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(562.2,515.5)
+\curveto(568.599,520.2)(577.7,518.8)(582.4,512.3)
+\curveto(587.099,505.9)(585.7,496.8)(579.2,492.1)
+\curveto(572.7,487.4)(563.7,488.9)(559,495.3)
+\curveto(554.3,501.8)(555.7,510.8)(562.2,515.5)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(540.8,539.6)
+\curveto(546.7,544.9)(555.901,544.5)(561.2,538.5)
+\curveto(566.5,532.6)(566.099,523.5)(560.099,518.1)
+\curveto(554.2,512.8)(544.999,513.3)(539.7,519.2)
+\curveto(534.3,525.1)(534.8,534.2)(540.8,539.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(516.9,561.3)
+\curveto(522.2,567.2)(531.4,567.7)(537.299,562.4)
+\curveto(543.199,557.1)(543.699,547.9)(538.4,542)
+\curveto(533.099,536.1)(523.9,535.6)(518,540.9)
+\curveto(512.1,546.2)(511.6,555.3)(516.9,561.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(491,580.3)
+\curveto(495.7,586.8)(504.7,588.2)(511.2,583.5)
+\curveto(517.7,578.8)(519.099,569.8)(514.4,563.3)
+\curveto(509.7,556.9)(500.7,555.4)(494.2,560.1)
+\curveto(487.7,564.9)(486.3,573.9)(491,580.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(463.1,596.6)
+\curveto(467.1,603.5)(475.901,605.9)(482.8,601.9)
+\curveto(489.7,597.9)(492.1,589.1)(488.1,582.2)
+\curveto(484.1,575.3)(475.3,572.9)(468.401,576.9)
+\curveto(461.5,580.9)(459.2,589.7)(463.1,596.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(433.8,609.9)
+\curveto(437,617.2)(445.6,620.5)(452.901,617.2)
+\curveto(460.201,614)(463.501,605.4)(460.201,598.1)
+\curveto(457.001,590.8)(448.401,587.6)(441.1,590.8)
+\curveto(433.8,594)(430.5,602.6)(433.8,609.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(403.2,620)
+\curveto(405.7,627.6)(413.8,631.7)(421.4,629.3)
+\curveto(429,626.8)(433.099,618.7)(430.7,611.1)
+\curveto(428.2,603.5)(420.099,599.4)(412.5,601.8)
+\curveto(404.9,604.3)(400.7,612.4)(403.2,620)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(371.7,626.9)
+\curveto(373.3,634.7)(381,639.7)(388.8,638)
+\curveto(396.6,636.3)(401.6,628.7)(399.901,620.9)
+\curveto(398.201,613.1)(390.6,608.1)(382.8,609.8)
+\curveto(375,611.4)(370.1,619)(371.7,626.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(339.7,630.4)
+\curveto(340.5,638.3)(347.6,644.1)(355.6,643.2)
+\curveto(363.5,642.4)(369.3,635.3)(368.5,627.3)
+\curveto(367.7,619.4)(360.5,613.6)(352.6,614.5)
+\curveto(344.6,615.4)(338.8,622.5)(339.7,630.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(307.5,630.6)
+\curveto(307.5,638.6)(314,645)(321.9,645)
+\curveto(329.9,645)(336.299,638.5)(336.299,630.6)
+\curveto(336.299,622.6)(329.799,616.2)(321.9,616.2)
+\curveto(313.9,616.1)(307.5,622.6)(307.5,630.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(275.4,627.4)
+\curveto(274.5,635.3)(280.3,642.4)(288.2,643.3)
+\curveto(296.1,644.1)(303.2,638.4)(304.1,630.5)
+\curveto(304.9,622.6)(299.2,615.5)(291.2,614.7)
+\curveto(283.3,613.7)(276.2,619.4)(275.4,627.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(243.9,620.8)
+\curveto(242.2,628.7)(247.2,636.3)(255,638)
+\curveto(262.8,639.7)(270.5,634.7)(272.1,626.9)
+\curveto(273.8,619.1)(268.8,611.4)(261,609.8)
+\curveto(253.2,608.1)(245.5,613)(243.9,620.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(213.2,611.1)
+\curveto(210.7,618.7)(214.9,626.8)(222.5,629.3)
+\curveto(230.1,631.8)(238.2,627.6)(240.7,620)
+\curveto(243.2,612.4)(239,604.3)(231.4,601.8)
+\curveto(223.8,599.3)(215.6,603.5)(213.2,611.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(183.6,598.1)
+\curveto(180.3,605.4)(183.6,613.9)(190.9,617.2)
+\curveto(198.2,620.4)(206.7,617.2)(210,609.9)
+\curveto(213.2,602.6)(209.9,594.1)(202.7,590.9)
+\curveto(195.4,587.5)(186.9,590.8)(183.6,598.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(155.7,582.2)
+\curveto(151.7,589.1)(154.1,597.9)(161,601.9)
+\curveto(167.9,605.9)(176.7,603.5)(180.7,596.6)
+\curveto(184.7,589.7)(182.3,580.9)(175.4,576.9)
+\curveto(168.5,572.9)(159.7,575.2)(155.7,582.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(129.5,563.4)
+\curveto(124.8,569.8)(126.3,578.9)(132.7,583.6)
+\curveto(139.2,588.3)(148.2,586.9)(152.9,580.4)
+\curveto(157.6,574)(156.1,564.9)(149.7,560.2)
+\curveto(143.2,555.5)(134.2,556.9)(129.5,563.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(105.4,541.9)
+\curveto(100,547.8)(100.6,557)(106.5,562.3)
+\curveto(112.4,567.6)(121.5,567.2)(126.9,561.2)
+\curveto(132.2,555.3)(131.7,546.1)(125.8,540.8)
+\curveto(119.9,535.5)(110.8,536)(105.4,541.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(83.7,518.1)
+\curveto(77.7,523.4)(77.3,532.6)(82.6,538.5)
+\curveto(87.9,544.4)(97,544.9)(103,539.6)
+\curveto(108.9,534.3)(109.4,525.1)(104,519.2)
+\curveto(98.8,513.2)(89.7,512.8)(83.7,518.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(64.7,492.1)
+\curveto(58.2,496.8)(56.8,505.8)(61.5,512.3)
+\curveto(66.2,518.8)(75.2,520.2)(81.7,515.5)
+\curveto(88.1,510.8)(89.6,501.8)(84.9,495.3)
+\curveto(80.1,488.9)(71.1,487.4)(64.7,492.1)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(48.4,464.3)
+\curveto(41.5,468.3)(39.1,477.1)(43.1,484)
+\curveto(47.1,490.9)(55.9,493.3)(62.8,489.3)
+\curveto(69.7,485.3)(72.1,476.5)(68,469.6)
+\curveto(64.1,462.7)(55.3,460.3)(48.4,464.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(35.1,435)
+\curveto(27.8,438.2)(24.5,446.8)(27.8,454.1)
+\curveto(31,461.4)(39.6,464.7)(46.9,461.4)
+\curveto(54.2,458.2)(57.4,449.6)(54.2,442.3)
+\curveto(51,435)(42.4,431.7)(35.1,435)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(25,404.4)
+\curveto(17.4,406.8)(13.3,415)(15.8,422.6)
+\curveto(18.3,430.2)(26.4,434.3)(34,431.9)
+\curveto(41.6,429.4)(45.7,421.3)(43.2,413.7)
+\curveto(40.8,406.1)(32.6,401.9)(25,404.4)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(18.1,372.9)
+\curveto(10.3,374.5)(5.4,382.2)(7,390)
+\curveto(8.6,397.8)(16.3,402.8)(24.1,401.1)
+\curveto(31.9,399.4)(36.9,391.8)(35.2,384)
+\curveto(33.6,376.2)(26,371.2)(18.1,372.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(14.6,340.9)
+\curveto(6.7,341.7)(0.9,348.8)(1.8,356.8)
+\curveto(2.6,364.7)(9.7,370.5)(17.7,369.7)
+\curveto(25.6,368.9)(31.4,361.7)(30.5,353.8)
+\curveto(29.6,345.8)(22.5,340)(14.6,340.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(14.4,308.6)
+\curveto(6.4,308.6)(0,315.1)(0,323)
+\curveto(0,331)(6.5,337.4)(14.5,337.4)
+\curveto(22.4,337.4)(28.9,330.9)(28.9,322.9)
+\curveto(28.9,315.1)(22.4,308.6)(14.4,308.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(17.6,276.6)
+\curveto(9.7,275.701)(2.6,281.5)(1.7,289.401)
+\curveto(0.9,297.3)(6.6,304.401)(14.6,305.3)
+\curveto(22.5,306.1)(29.6,300.401)(30.4,292.401)
+\curveto(31.3,284.5)(25.6,277.4)(17.6,276.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(24.1,245)
+\curveto(16.3,243.3)(8.6,248.3)(7,256.1)
+\curveto(5.3,263.901)(10.3,271.5)(18.1,273.201)
+\curveto(25.9,274.801)(33.6,269.901)(35.2,262.1)
+\curveto(36.9,254.4)(32,246.7)(24.1,245)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(33.9,214.3)
+\curveto(26.3,211.8)(18.2,216)(15.7,223.6)
+\curveto(13.2,231.201)(17.4,239.3)(25,241.8)
+\curveto(32.6,244.3)(40.7,240.1)(43.2,232.5)
+\curveto(45.7,224.9)(41.5,216.8)(33.9,214.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(46.9,184.8)
+\curveto(39.6,181.5)(31.1,184.8)(27.8,192.1)
+\curveto(24.5,199.401)(27.8,207.901)(35.1,211.201)
+\curveto(42.4,214.401)(50.9,211.1)(54.1,203.801)
+\curveto(57.5,196.6)(54.2,188.1)(46.9,184.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(62.8,156.8)
+\curveto(55.9,152.8)(47.1,155.2)(43.1,162.1)
+\curveto(39.1,169)(41.5,177.8)(48.4,181.8)
+\curveto(55.3,185.8)(64.1,183.401)(68.1,176.5)
+\curveto(72.1,169.7)(69.8,160.8)(62.8,156.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(81.6,130.7)
+\curveto(75.2,126)(66.1,127.4)(61.5,133.9)
+\curveto(56.8,140.299)(58.2,149.4)(64.7,154.099)
+\curveto(71.1,158.799)(80.2,157.299)(84.8,150.9)
+\curveto(89.5,144.4)(88.1,135.4)(81.6,130.7)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(103.1,106.6)
+\curveto(97.2,101.2)(88,101.7)(82.7,107.7)
+\curveto(77.4,113.599)(77.8,122.7)(83.8,128.099)
+\curveto(89.7,133.4)(98.9,132.9)(104.2,126.999)
+\curveto(109.5,121.1)(109,111.9)(103.1,106.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(126.9,84.9)
+\curveto(121.6,79)(112.4,78.5)(106.5,83.799)
+\curveto(100.6,89.098)(100.1,98.199)(105.4,104.199)
+\curveto(110.7,110.098)(119.9,110.598)(125.8,105.199)
+\curveto(131.8,100)(132.2,90.8)(126.9,84.9)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(152.9,65.8)
+\curveto(148.2,59.3)(139.2,57.901)(132.7,62.6)
+\curveto(126.2,67.3)(124.8,76.3)(129.5,82.8)
+\curveto(134.2,89.2)(143.2,90.7)(149.7,86)
+\curveto(156.1,81.3)(157.6,72.3)(152.9,65.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(180.7,49.6)
+\curveto(176.7,42.701)(167.9,40.3)(161,44.3)
+\curveto(154.1,48.3)(151.7,57.1)(155.7,64)
+\curveto(159.7,70.9)(168.5,73.2)(175.4,69.2)
+\curveto(182.3,65.3)(184.7,56.5)(180.7,49.6)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(210,36.3)
+\curveto(206.8,29)(198.2,25.7)(190.9,29)
+\curveto(183.6,32.2)(180.3,40.8)(183.6,48.1)
+\curveto(186.8,55.401)(195.4,58.6)(202.7,55.401)
+\curveto(210,52.1)(213.3,43.6)(210,36.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(240.6,26.2)
+\curveto(238.2,18.599)(230,14.5)(222.4,16.9)
+\curveto(214.8,19.4)(210.7,27.5)(213.1,35.099)
+\curveto(215.6,42.7)(223.7,46.799)(231.3,44.299)
+\curveto(238.9,41.9)(243.1,33.8)(240.6,26.2)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(272.1,19.3)
+\curveto(270.5,11.5)(262.8,6.5)(255,8.2)
+\curveto(247.2,9.8)(242.2,17.5)(243.9,25.3)
+\curveto(245.6,33.1)(253.2,38.1)(261,36.401)
+\curveto(268.8,34.8)(273.8,27.1)(272.1,19.3)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(304.1,15.8)
+\curveto(303.3,7.901)(296.2,2.1)(288.2,3)
+\curveto(280.3,3.8)(274.5,10.9)(275.3,18.9)
+\curveto(276.1,26.799)(283.3,32.599)(291.2,31.7)
+\curveto(299.2,30.8)(305,23.7)(304.1,15.8)
+\closepath
+}
+}
+{
+\newrgbcolor{curcolor}{0.60784316 0.50588238 0.34117648}
+\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]
+{
+\newpath
+\moveto(291.4,500.2)
+\curveto(301.1,484.1)(307,462.5)(307,439.8)
+\curveto(307,435.5)(306.8,431.2)(306.3,426.9)
+\curveto(314.6,418.4)(321.3,409.1)(326,401.8)
+\curveto(327.6,410.1)(328.4,418.8)(328.4,427.4)
+\curveto(328.4,463.9)(314.9,501.1)(293.6,519.1)
+\curveto(284,522)(276.8,520.1)(274.4,519.3)
+\curveto(280.9,514.7)(286.6,508.1)(291.4,500.2)
+\closepath
+\moveto(302.4,527.6)
+\curveto(319.6,526.4)(337.6,516.9)(351.3,499.5)
+\curveto(365,482.1)(374.5,457.9)(374.5,430.5)
+\curveto(374.5,400.5)(363.1,368.7)(333.6,336.2)
+\curveto(340,335.8)(346.1,333.4)(350.5,329.8)
+\curveto(351.6,330)(352.7,330.1)(353.8,330.1)
+\lineto(354.5,330.1)
+\curveto(383.3,356.7)(394.6,389.2)(394.6,420.6)
+\curveto(394.6,450)(384.6,478.3)(369.5,499.2)
+\curveto(354.5,520.1)(334.6,533.4)(315.1,533.3)
+\curveto(308.3,533.3)(295.201,530)(288.6,526.5)
+\curveto(289.1,526.4)(294.5,528.1)(302.4,527.6)
+\closepath
+\moveto(372.7,501.3)
+\curveto(388.2,479.8)(398.4,450.8)(398.5,420.6)
+\curveto(398.5,389.2)(387.4,356.4)(359.4,329.5)
+\curveto(365.4,328.2)(370.7,325)(373.9,320.8)
+\curveto(374.299,320.2)(374.7,319.6)(375,319)
+\curveto(407,346.7)(419.5,380.5)(419.5,413.6)
+\curveto(419.5,446.6)(406.9,478.8)(388.4,502.7)
+\curveto(370,526.6)(345.8,542)(323,541.9)
+\curveto(312.4,541.9)(301.9,538.6)(292.3,531.1)
+\curveto(299.7,535.1)(307.401,537)(315.1,537)
+\curveto(336.4,536.9)(357.2,522.7)(372.7,501.3)
+\closepath
+\moveto(282.7,533.4)
+\curveto(277,534)(271.1,533.9)(265.2,533)
+\curveto(270.2,533)(275,532.1)(279.6,530.4)
+\curveto(280.5,531.4)(281.5,532.5)(282.7,533.4)
+\closepath
+\moveto(258.7,497.6)
+\curveto(264.6,487.7)(268.1,475)(268.1,463)
+\curveto(268.1,459.9)(267.9,456.8)(267.4,453.9)
+\curveto(272.3,451.7)(277.8,448.9)(283.8,445.1)
+\curveto(284,447.5)(284.1,449.9)(284.1,452.4)
+\curveto(284.1,468)(279.8,484.7)(272.5,497.4)
+\curveto(265.2,510.2)(255.1,518.7)(243.7,518.7)
+\curveto(238.8,518.7)(233.6,517.1)(228.1,513.6)
+\curveto(230.3,514.3)(232.5,514.6)(234.6,514.6)
+\curveto(244.5,514.6)(252.9,507.5)(258.7,497.6)
+\closepath
+\moveto(274.7,498.6)
+\curveto(282.2,485.4)(286.6,468.4)(286.6,452.4)
+\curveto(286.6,449.4)(286.4,446.5)(286.1,443.6)
+\curveto(289.6,441.3)(293.3,438.6)(297.1,435.6)
+\curveto(299.6,433.6)(301.9,431.5)(304.1,429.3)
+\curveto(304.4,432.8)(304.6,436.4)(304.6,439.9)
+\curveto(304.6,462.1)(298.8,483.4)(289.3,499)
+\curveto(279.8,514.6)(266.9,524.5)(252.7,524.5)
+\curveto(247.3,524.5)(241.6,523.1)(235.8,519.9)
+\curveto(238.5,520.7)(241.2,521.1)(243.8,521.1)
+\curveto(256.5,521.1)(267.2,511.7)(274.7,498.6)
+\closepath
+\moveto(247.5,460.9)
+\curveto(251.3,459.7)(257.4,458.1)(265,454.9)
+\curveto(265.4,457.5)(265.6,460.2)(265.6,463)
+\curveto(265.6,474.5)(262.2,486.9)(256.6,496.4)
+\curveto(251,505.9)(243.2,512.2)(234.6,512.1)
+\curveto(229.7,512.1)(224.3,510.1)(218.6,505.1)
+\curveto(235.7,512.7)(255.7,492)(247.5,460.9)
+\closepath
+\moveto(273.9,519.8)
+\curveto(274.4,521.3)(275.6,524.8)(278,528.3)
+\curveto(273.9,529.7)(269.6,530.5)(265.1,530.5)
+\curveto(259.2,530.5)(253,529.2)(246.5,526.3)
+\curveto(248.6,526.7)(250.7,526.9)(252.7,526.9)
+\curveto(260.3,526.9)(267.4,524.3)(273.9,519.8)
+\closepath
+\moveto(428.7,500)
+\curveto(430.9,497.5)(432.599,495.4)(434.599,492.7)
+\curveto(435.499,495.7)(437.499,498.8)(437.499,501.7)
+\curveto(441.499,499.1)(448.099,497.9)(451.699,493.7)
+\lineto(451.899,493.7)
+\curveto(458.999,503.7)(476.699,494.6)(472.899,484.5)
+\lineto(471.699,482.3)
+\curveto(469.699,479.4)(467.199,478.3)(464.899,478.2)
+\curveto(461.798,478.3)(459.298,480.2)(459.298,483.7)
+\curveto(459.298,485.2)(459.798,486.5)(460.399,487.5)
+\curveto(461.098,488.4)(461.899,488.9)(462.598,488.9)
+\curveto(463.199,488.9)(463.798,488.7)(464.498,487.9)
+\curveto(465.298,487.1)(465.498,486.5)(465.498,486.1)
+\curveto(465.498,485.7)(465.298,485.2)(464.898,484.9)
+\curveto(464.498,484.6)(463.998,484.4)(463.797,484.4)
+\lineto(463.697,484.4)
+\curveto(463.096,484.2)(462.297,484.5)(461.997,483.9)
+\curveto(461.697,483.3)(461.897,482.5)(462.497,482.2)
+\lineto(462.497,482.2)
+\curveto(462.897,482)(463.297,481.9)(463.697,481.9)
+\curveto(465.596,482)(467.797,483.5)(467.897,486.1)
+\curveto(467.897,487.3)(467.296,488.5)(466.197,489.6)
+\curveto(465.096,490.7)(463.797,491.3)(462.497,491.3)
+\curveto(458.997,491.2)(456.697,487.6)(456.697,483.7)
+\curveto(456.697,481.3)(457.596,479.2)(459.197,477.8)
+\curveto(460.697,476.4)(462.697,475.7)(464.897,475.7)
+\lineto(464.897,475.7)
+\curveto(467.596,475.7)(470.497,477)(472.796,479.6)
+\curveto(484.496,464.8)(484.096,446.4)(479.897,438.1)
+\curveto(527.7,488.7)(462.8,525.4)(428.7,500)
+\closepath
+\moveto(422.2,266.6)
+\curveto(441,286.901)(460.2,314.6)(465.5,356.201)
+\curveto(466.4,363.401)(466.8,370.401)(466.8,377.401)
+\curveto(466.8,386.501)(466.1,395.401)(464.7,404.101)
+\lineto(464.7,401.101)
+\curveto(464.7,354.901)(443.599,311.801)(407.599,284.101)
+\lineto(407.599,282.902)
+\curveto(407.599,282.202)(407.599,281.502)(407.499,280.902)
+\curveto(412.299,276.601)(415.799,269.801)(415.799,261.702)
+\curveto(415.799,261.101)(415.799,260.502)(415.699,259.902)
+\curveto(417.9,262)(420,264.2)(422.2,266.6)
+\closepath
+\moveto(442.8,496)
+\curveto(441.7,496.6)(440.5,497)(439.3,497.6)
+\curveto(439,496.1)(438.6,495.6)(438.1,494.1)
+\curveto(437.6,492.8)(437.201,491.3)(436.901,490.1)
+\curveto(439.8,486.5)(441.701,483.8)(443.3,481.3)
+\curveto(444,480)(446.7,474.8)(449.8,468.9)
+\curveto(453.3,462.1)(457.3,454.3)(458.901,450.6)
+\curveto(459.1,450.1)(459.6,449.9)(460.001,449.9)
+\curveto(460.201,449.9)(460.301,449.9)(460.501,450)
+\curveto(461.101,450.3)(461.401,451)(461.101,451.6)
+\curveto(458.501,457.6)(450.402,473.1)(446.902,479.7)
+\curveto(447.002,484.2)(448.002,488.2)(449.601,491.4)
+\curveto(447.7,493.3)(445.3,494.8)(442.8,496)
+\closepath
+\moveto(412.1,505.1)
+\curveto(432.1,480.1)(446.5,447.4)(446.5,412)
+\curveto(446.5,376.4)(431.8,338.2)(393.9,302.9)
+\curveto(394.099,302.4)(394.2,302)(394.4,301.5)
+\curveto(399,299.8)(402.299,296.9)(404.4,293.8)
+\curveto(405.7,291.901)(406.5,289.901)(407,288.1)
+\curveto(443,314.8)(461.1,355.3)(461.1,401.201)
+\curveto(461.1,411.501)(460,421.901)(457.8,432.301)
+\curveto(449.3,457.501)(435.5,479.901)(419,498.101)
+\curveto(416.7,500.5)(414.4,502.8)(412.1,505.1)
+\closepath
+\moveto(468.7,321.6)
+\curveto(467.9,321.6)(467.099,321.6)(466.3,321.701)
+\curveto(463.8,314.401)(460.8,307.501)(457.5,301.201)
+\curveto(473.7,307.1)(489.7,314.001)(500.3,327.301)
+\curveto(520.2,352.201)(520.8,405.201)(472.901,407.401)
+\curveto(473.6,403.401)(474.1,399.401)(474.501,395.301)
+\lineto(474.501,395.301)
+\curveto(474.501,395.301)(475.101,390.601)(475.201,387.201)
+\curveto(476.701,384.301)(477.301,381.701)(477.301,379.301)
+\curveto(477.301,376.301)(476.301,373.501)(474.701,370.901)
+\lineto(474.701,366.701)
+\curveto(477.6,370.301)(479.801,374.401)(479.801,379.301)
+\curveto(479.801,382.401)(478.501,386.201)(476.402,389.801)
+\curveto(476.402,389.801)(476.301,390.101)(476.502,390.401)
+\curveto(481.202,396.101)(486.302,398.301)(494.002,398.001)
+\curveto(495.902,394.801)(496.002,387.401)(495.902,382.801)
+\curveto(486.301,379.201)(483.702,371.901)(483.801,364.601)
+\curveto(483.801,357.801)(485.701,350.701)(485.701,344.901)
+\curveto(485.701,341.301)(485.001,338.401)(483.001,336.401)
+\curveto(482.501,335.901)(482.501,335.101)(483.001,334.701)
+\curveto(483.201,334.501)(483.601,334.301)(483.901,334.301)
+\curveto(484.201,334.301)(484.501,334.401)(484.8,334.701)
+\curveto(487.5,337.401)(488.3,341.101)(488.3,344.901)
+\curveto(488.3,351.101)(486.401,358.201)(486.401,364.601)
+\curveto(486.501,371.801)(487.501,377.901)(497.1,381.201)
+\curveto(497.3,381.301)(498.701,381.301)(499.1,381.301)
+\curveto(505.6,381.101)(510.901,374.201)(510.901,374.201)
+\curveto(492.2,375.9)(515.8,321.6)(468.7,321.6)
+\closepath
+\moveto(200.6,450.7)
+\lineto(200.6,448.7)
+\lineto(200.6,448.5)
+\lineto(200.6,448.3)
+\curveto(200.6,448.2)(200.5,447.7)(200.3,446.9)
+\curveto(205.2,447.9)(210.7,448.4)(216.8,448.4)
+\curveto(249.8,448.4)(297.4,431.9)(320.5,377.2)
+\curveto(323.1,380.4)(325.6,383.6)(327.9,387)
+\curveto(327.799,387.1)(327.7,387.2)(327.599,387.3)
+\curveto(323.7,394.3)(310.9,416.4)(293.299,430.6)
+\curveto(283.399,438.6)(274.399,443.8)(266.799,447.3)
+\curveto(244.899,456.8)(221.599,459.5)(200.099,458.5)
+\curveto(200.6,456)(200.6,453.5)(200.6,450.7)
+\closepath
+\moveto(391.4,504.8)
+\curveto(410.299,480.3)(423.2,447.4)(423.2,413.5)
+\curveto(423.2,380)(410.5,345.4)(378.7,317.2)
+\curveto(382.3,316)(385.5,313.8)(388,311.4)
+\curveto(389.6,309.799)(391,308.099)(392.1,306.299)
+\curveto(428.8,340.799)(442.701,377.599)(442.701,411.899)
+\curveto(442.701,449.199)(426.201,483.599)(404.001,508.799)
+\curveto(397.901,515.699)(391.401,521.899)(384.701,527.199)
+\curveto(365.401,539.699)(345.301,546.699)(327.901,546.699)
+\curveto(320.501,546.699)(313.701,545.499)(307.401,542.999)
+\curveto(312.501,544.599)(317.8,545.399)(323.1,545.399)
+\curveto(347.6,545.5)(372.5,529.3)(391.4,504.8)
+\closepath
+\moveto(287.4,329.7)
+\curveto(289.7,330.4)(291.9,330.8)(294.1,330.8)
+\curveto(295,330.8)(295.9,330.7)(296.7,330.6)
+\curveto(298.3,332.3)(300.4,333.5)(302.5,334.4)
+\curveto(305.8,335.7)(309.5,336.4)(313.2,336.4)
+\curveto(316.7,336.3)(320.099,335.9)(323.099,334.3)
+\curveto(325.599,335.5)(328.299,336.1)(330.999,336.3)
+\curveto(359.999,368.6)(370.899,401.5)(370.899,430.6)
+\curveto(370.899,457.2)(361.699,480.6)(348.499,497.3)
+\curveto(337.699,511)(318.899,524)(301.599,524.2)
+\curveto(309.899,521.3)(319.799,519.9)(333.699,500.8)
+\curveto(345.598,484.3)(354.699,460.9)(354.699,438.2)
+\curveto(354.699,428.8)(353.098,419.2)(349.598,409.8)
+\curveto(339.699,383.7)(322.899,365.9)(305.898,348.7)
+\curveto(299.6,342.4)(293.4,336.2)(287.4,329.7)
+\closepath
+\moveto(343.5,419.6)
+\curveto(352.3,470.2)(320.7,503.9)(303.8,514.5)
+\curveto(302.5,515.3)(301.2,516)(299.9,516.7)
+\curveto(319.2,496.8)(330.8,461.9)(330.9,427.5)
+\curveto(330.9,417.8)(330,408.1)(328,398.8)
+\curveto(329.4,396.5)(330.6,394.5)(331.5,392.9)
+\curveto(335.3,399)(338.6,405.6)(341.3,412.8)
+\curveto(342.2,415)(342.9,417.3)(343.5,419.6)
+\closepath
+\moveto(259.7,291.3)
+\lineto(259.7,291.3)
+\lineto(259.7,291.3)
+\lineto(259.7,291.3)
+\closepath
+\moveto(396,240.9)
+\curveto(398.4,243.2)(399.1,244.5)(401.9,247.599)
+\lineto(403.799,250.4)
+\lineto(404.299,251.4)
+\curveto(406.4,255.099)(407.099,258.5)(407.099,261.7)
+\curveto(407.2,268.099)(403.599,273.4)(400.299,275.5)
+\lineto(397.199,277.5)
+\lineto(398.699,280.9)
+\lineto(398.699,281)
+\curveto(398.699,281.1)(398.799,281.2)(398.799,281.4)
+\curveto(398.9,281.799)(398.9,282.299)(398.9,282.9)
+\curveto(398.9,284.7)(398.4,287)(397.099,289)
+\curveto(395.7,291)(393.599,292.9)(389.4,294)
+\lineto(386.2,294.8)
+\lineto(386.2,298.1)
+\curveto(386.3,299.1)(384.9,302.6)(382.099,305.1)
+\curveto(379.299,307.8)(375.7,309.6)(372.099,309.6)
+\lineto(367.799,309.6)
+\lineto(367.799,314)
+\curveto(367.799,314)(367.699,314.6)(367.099,315.4)
+\curveto(366.499,316.2)(365.4,317.299)(363.999,318.2)
+\curveto(361.199,320)(357.299,321.4)(353.999,321.4)
+\curveto(352.799,321.4)(351.699,321.2)(350.699,320.9)
+\lineto(348.199,320.099)
+\lineto(346.399,321.9)
+\curveto(343.598,324.799)(337.598,327.5)(332.399,327.5)
+\curveto(329.699,327.5)(327.298,326.9)(325.399,325.5)
+\lineto(322.399,323.4)
+\lineto(319.8,326)
+\curveto(319.3,326.7)(316.5,327.7)(313.2,327.7)
+\curveto(310.599,327.7)(307.8,327.2)(305.8,326.4)
+\curveto(303.7,325.6)(302.7,324.4)(302.7,324.2)
+\lineto(301.1,320.099)
+\lineto(297,321.7)
+\curveto(296.3,322)(295.3,322.2)(294.1,322.2)
+\curveto(290.2,322.2)(285.1,320.2)(282.4,315.2)
+\lineto(281.2,313)
+\lineto(273.4,313)
+\curveto(268.4,306.4)(263.8,299.2)(259.8,291.3)
+\lineto(259.8,291.3)
+\lineto(259.8,291.3)
+\curveto(259.8,291.3)(258,288.8)(255.8,283.901)
+\curveto(266.3,301.001)(284,315.201)(311.6,315.3)
+\curveto(320.401,315.3)(330.1,313.901)(340.901,310.6)
+\curveto(374.8,300.5)(383.501,280.8)(383.501,262)
+\curveto(383.501,244.3)(376.001,227.3)(375.201,219.6)
+\curveto(375.1,218.6)(375.001,217.701)(375.001,216.8)
+\curveto(375.001,206.401)(381.601,201.6)(387.701,201.6)
+\curveto(391.701,201.6)(395.401,203.6)(397.301,207.5)
+\curveto(397.101,207.3)(396.902,207.2)(396.701,207)
+\curveto(395.1,205.9)(393.201,205.4)(391.201,205.4)
+\curveto(389.001,205.4)(386.501,206.099)(384.6,207.9)
+\curveto(382.6,209.7)(379.401,213.799)(380.701,220.599)
+\curveto(382,227.3)(388.6,233.7)(396,240.9)
+\closepath
+\moveto(214.3,227)
+\curveto(219.4,223.4)(225.2,220.3)(230.1,219.2)
+\curveto(223.6,228.599)(218.3,240.2)(215.7,254.3)
+\curveto(213.2,255)(210.9,255.5)(208.9,255.901)
+\curveto(208.8,256.001)(208.6,256.201)(208.5,256.3)
+\curveto(208.6,255.7)(208.6,255.1)(208.6,254.5)
+\curveto(208.6,250.2)(207,243.5)(201.1,239.5)
+\curveto(202.8,236.7)(208.1,231.4)(214.3,227)
+\closepath
+\moveto(261.2,156.2)
+\curveto(269.1,159.8)(269.7,169.599)(269.7,174)
+\curveto(269.7,175.7)(268.6,178.1)(266.6,180)
+\curveto(265.3,181.3)(263.6,182.4)(261.8,183)
+\curveto(260,183.2)(258.2,183.5)(256.5,183.9)
+\curveto(254.4,184.4)(252.5,184.599)(250.7,184.599)
+\curveto(242.7,184.599)(238.1,179.7)(233.1,174.999)
+\curveto(232.6,173.399)(232.2,171.399)(232.2,169.199)
+\curveto(232.2,165.098)(233.3,160.499)(236,156.999)
+\curveto(238.1,154.399)(241,152.299)(245.2,151.399)
+\curveto(248.8,150.999)(255.6,152.699)(261.2,155.899)
+\lineto(261.2,156.2)
+\closepath
+\moveto(234.1,155.6)
+\curveto(230.9,159.701)(229.7,164.8)(229.7,169.3)
+\curveto(229.7,170.3)(229.8,171.3)(229.9,172.2)
+\curveto(226.3,169.099)(222.2,166.5)(216.3,166)
+\curveto(213.3,165.8)(210.2,165.7)(207.1,165.7)
+\curveto(204.5,165.7)(201.9,165.7)(199.3,165.8)
+\curveto(196.7,165.8)(194.2,165.901)(191.7,165.901)
+\curveto(178.1,165.901)(166.8,164.401)(166.7,153.501)
+\curveto(166.8,148.501)(169.1,141.601)(174.5,132.101)
+\curveto(174.5,132.101)(175.3,130.801)(176.8,128.902)
+\curveto(175.4,132.301)(174.6,135.801)(174.6,139.402)
+\curveto(174.6,142.902)(175.4,146.402)(177.2,149.502)
+\curveto(178.7,152.102)(181.1,153.702)(183.8,154.502)
+\curveto(186.5,155.302)(189.4,155.502)(192.5,155.502)
+\curveto(196.5,155.502)(200.7,155.202)(204.7,155.202)
+\curveto(210.8,155.202)(216.2,156.002)(219.5,159.402)
+\lineto(219.5,159.402)
+\curveto(220.2,160.101)(221.4,160.101)(222.1,159.402)
+\curveto(222.8,158.702)(222.8,157.502)(222.1,156.801)
+\curveto(217.5,152.201)(211,151.501)(204.6,151.501)
+\curveto(200.4,151.501)(196.2,151.901)(192.4,151.801)
+\curveto(189.5,151.801)(186.8,151.601)(184.8,150.902)
+\curveto(182.7,150.202)(181.3,149.301)(180.3,147.601)
+\curveto(178.9,145.202)(178.2,142.402)(178.2,139.402)
+\curveto(178.2,134.402)(180.1,129.002)(183.2,124.702)
+\curveto(186.3,120.402)(190.4,117.502)(194.7,116.902)
+\curveto(195.6,116.801)(196.5,116.702)(197.2,116.702)
+\curveto(201.8,116.802)(204,118.502)(205.7,121.402)
+\curveto(207.4,124.301)(208.1,128.601)(208.7,132.702)
+\curveto(208.8,133.202)(209.1,133.702)(209.6,134.002)
+\curveto(220.6,140.802)(221.6,145.802)(224.9,149.102)
+\curveto(225.6,149.802)(226.8,149.802)(227.5,149.102)
+\curveto(228.2,148.403)(228.2,147.203)(227.5,146.502)
+\curveto(225.4,144.502)(223.2,138.202)(212.3,131.302)
+\curveto(211.7,127.302)(211,123.102)(209,119.502)
+\curveto(207.2,116.202)(204.1,113.602)(199.5,113.002)
+\curveto(203.2,112.102)(207.2,111.902)(211.5,112.602)
+\curveto(228.1,120.302)(238.5,140.002)(242.8,149.403)
+\curveto(239.1,150.8)(236.1,153)(234.1,155.6)
+\closepath
+\moveto(178.4,227)
+\curveto(182.2,223.2)(191.4,221.9)(195.9,226.3)
+\curveto(198,221.1)(212,186.6)(270.9,187.401)
+\curveto(264.4,189.401)(255.1,193.6)(245.2,202.201)
+\curveto(241,205.901)(236.9,210.1)(233.1,215.1)
+\curveto(226.3,215.401)(218.7,219.401)(212.1,224)
+\curveto(206,228.4)(200.9,233.2)(198.4,236.8)
+\curveto(195.7,236.1)(193.2,235.8)(191,235.8)
+\curveto(185.4,235.8)(181,237.8)(178.1,240.901)
+\curveto(175.2,244.001)(173.9,248.001)(173.9,251.8)
+\curveto(173.9,254)(174.3,256.1)(175.2,258)
+\curveto(171.3,255.5)(168.2,252.6)(166.7,250.6)
+\curveto(133.8,254.701)(116.2,252.3)(109.6,246.8)
+\curveto(104.4,236.3)(100,215.901)(133.4,206.2)
+\curveto(132.1,207.5)(132.3,208.8)(133.1,210)
+\curveto(129,211)(125.4,212.6)(122.4,214.7)
+\curveto(116.7,218.7)(113.4,224.599)(113.4,231.599)
+\curveto(113.4,232.099)(113.4,232.599)(113.5,233.099)
+\curveto(113.7,236.9)(115.5,239.7)(118.2,241.2)
+\curveto(120.9,242.7)(124.2,243.099)(127.8,243.099)
+\curveto(134.7,243.099)(143.1,241.599)(150.6,241.599)
+\curveto(158.5,241.599)(165,243.099)(168.6,248.7)
+\lineto(168.6,248.7)
+\curveto(169.2,249.599)(170.3,249.8)(171.2,249.2)
+\curveto(172.1,248.599)(172.3,247.5)(171.7,246.599)
+\curveto(167,239.4)(158.8,237.799)(150.6,237.799)
+\curveto(142.6,237.799)(134.2,239.299)(127.8,239.299)
+\curveto(124.5,239.299)(121.7,238.9)(120,237.9)
+\curveto(118.3,236.9)(117.4,235.7)(117.2,232.799)
+\lineto(117.2,231.499)
+\curveto(117.2,225.699)(119.7,221.099)(124.6,217.599)
+\curveto(129.3,214.299)(136.3,212.299)(145.2,212.2)
+\curveto(148.4,215.599)(149.9,219.099)(149.8,221.5)
+\curveto(149.8,222.1)(149.7,222.6)(149.6,223)
+\curveto(149.4,223.7)(149.6,224.4)(150.1,224.9)
+\curveto(151.3,226.099)(152.8,226.5)(154.2,226.799)
+\curveto(155.7,227.099)(157.3,227.4)(159,227.9)
+\curveto(162.4,228.9)(166.2,230.599)(170.1,235.7)
+\curveto(170.7,236.5)(171.9,236.7)(172.7,236.099)
+\curveto(173.5,235.499)(173.7,234.299)(173.1,233.499)
+\curveto(166.6,224.799)(159,224.099)(155.1,223.199)
+\curveto(154.4,223.098)(153.9,222.899)(153.5,222.699)
+\curveto(153.6,222.299)(153.6,221.899)(153.6,221.499)
+\curveto(153.6,217.499)(151.4,213.099)(147.3,209.099)
+\curveto(147.1,208.9)(146.8,208.7)(146.5,208.599)
+\curveto(146.5,207.9)(146.2,207.2)(145.4,206.4)
+\curveto(153.2,205.7)(163.5,203.299)(168.5,208.299)
+\curveto(173.4,213.3)(174.9,223.5)(178.4,227)
+\closepath
+\moveto(137.5,369.6)
+\curveto(138.8,371.1)(150.4,383.1)(157.7,388.3)
+\curveto(150.7,386.6)(139.4,380.6)(129.8,372.9)
+\curveto(131.7,371.5)(135.2,369.9)(137.5,369.6)
+\closepath
+\moveto(139.8,354.8)
+\curveto(144.9,360)(162.2,379.5)(161.1,383.3)
+\curveto(155.1,377.5)(150.2,373.2)(147.6,370.2)
+\curveto(143.7,365.7)(141,361.9)(139.8,354.8)
+\closepath
+\moveto(112.4,270.4)
+\curveto(112.4,281.4)(130.8,280)(133.9,291.9)
+\curveto(137.4,305.2)(123.1,305.799)(129.8,316.2)
+\curveto(120.1,322.7)(110.1,319.099)(110.1,327.2)
+\curveto(110.1,335.4)(128.6,339.3)(135.6,363.3)
+\curveto(135.6,363.3)(133.7,358.2)(128.3,353.7)
+\curveto(113.3,341.3)(96,340.4)(95.4,324)
+\curveto(94.7,306.2)(114.8,294.5)(107.6,287.3)
+\curveto(100.6,280.3)(108.9,273.9)(112.4,270.4)
+\closepath
+\moveto(191.5,437.6)
+\curveto(197.2,430.6)(211.2,411.6)(211.2,392.9)
+\curveto(211.2,385.5)(208.9,378)(202.9,371.7)
+\curveto(245.8,352.7)(214.3,317.599)(219.2,256.099)
+\curveto(223.3,232.4)(235.3,215.9)(247.7,204.999)
+\curveto(259.6,194.499)(270.3,187.999)(279.2,187.999)
+\curveto(279.4,187.999)(280.4,188.199)(280.6,188.299)
+\curveto(267.1,193.199)(254.7,205.299)(248.9,216.799)
+\curveto(246.1,222.4)(243.7,229.299)(242.6,235.099)
+\curveto(241.6,240.599)(241.5,243.299)(241.5,249.999)
+\curveto(241.5,277.999)(252,295.099)(252,295.099)
+\curveto(264.7,320.299)(282.8,337.599)(299.7,354.7)
+\curveto(306,361)(312.099,367.4)(317.7,374)
+\curveto(295.5,428.5)(248.9,444.7)(216.7,444.7)
+\curveto(210.1,444.7)(204.2,444)(199.2,442.9)
+\lineto(199.2,442.9)
+\curveto(198.9,442.8)(198.6,442.8)(198.3,442.9)
+\curveto(196.9,441.1)(194.8,439.1)(191.5,437.6)
+\closepath
+\moveto(351.3,167.9)
+\curveto(347.7,163.4)(341.1,158.9)(329.7,155.5)
+\curveto(316.8,151.7)(304.7,149.7)(294,149.7)
+\curveto(283.8,149.7)(274.7,151.5)(267,155)
+\curveto(266.1,154.3)(265.1,153.6)(264,153)
+\curveto(261.7,148.3)(258.3,145.3)(253.8,143.4)
+\curveto(294.6,128)(363.6,139.299)(381.7,155.2)
+\lineto(381.7,156.4)
+\curveto(381.7,159.099)(381.8,161.5)(382,163.7)
+\lineto(381,163.7)
+\curveto(368.4,163.7)(358.6,165.7)(351.3,167.9)
+\closepath
+\moveto(396,161.5)
+\curveto(399.4,161.5)(402.8,162.1)(405.9,163.2)
+\curveto(413.9,164.8)(421.4,168.099)(427.099,171)
+\curveto(409.599,165.8)(394.999,163.9)(382.9,163.7)
+\curveto(386.4,162.4)(390.7,161.5)(396,161.5)
+\closepath
+\moveto(414.5,154.1)
+\curveto(410.6,140.5)(433.7,139.6)(443.2,141.701)
+\curveto(441.5,142.701)(440.099,144.301)(439.3,146.801)
+\curveto(438.2,150.201)(439.401,153.402)(441.401,155.601)
+\curveto(435,158.9)(418.3,167.3)(414.5,154.1)
+\closepath
+\moveto(553,374.7)
+\curveto(550.8,446.1)(503.9,525.6)(428.7,533.7)
+\curveto(423.099,527.5)(418.2,521.4)(413.9,515.4)
+\curveto(417.799,511.7)(421.599,507.9)(425.299,503.8)
+\curveto(425.499,503.6)(425.699,503.3)(425.9,503.1)
+\curveto(426.5,503.6)(427.2,504.1)(427.799,504.6)
+\curveto(445.999,517.4)(483.099,519.7)(498.699,487.7)
+\curveto(514.098,456.1)(484.899,432.1)(484.899,432.1)
+\curveto(481.598,429.2)(475.699,426.3)(468.798,424.9)
+\curveto(469.998,420.5)(470.998,416.1)(471.899,411.6)
+\lineto(472.098,411.6)
+\curveto(491.598,413.1)(513.498,401.4)(517.498,373.2)
+\curveto(525.298,318)(470.098,296.3)(452.198,290.099)
+\curveto(449.597,288.9)(448.798,287.099)(448.798,287.099)
+\curveto(453.498,286.4)(457.598,282.7)(460.098,277.7)
+\curveto(461.298,275.2)(461.798,273)(461.798,271)
+\curveto(461.798,266.2)(458.698,262.6)(454.399,260.1)
+\curveto(450.098,257.6)(444.499,256.401)(440.499,256.401)
+\curveto(438.699,256.401)(437.099,256.701)(436.199,257.1)
+\curveto(435.699,257.3)(435.399,257.5)(435.299,257.701)
+\curveto(435.4,258.1)(435.499,258.6)(435.699,259.001)
+\curveto(439.199,266.801)(458.199,258.001)(454.799,275.301)
+\curveto(453.699,280.701)(450.699,283.101)(446.599,283.501)
+\curveto(431.499,261.501)(413.599,246.301)(401.7,234.801)
+\curveto(394.4,227.902)(388.8,223.301)(387.599,219.701)
+\curveto(387.2,218.501)(386.2,214.901)(388.499,212.501)
+\curveto(389.099,211.901)(389.999,211.101)(390.899,211.001)
+\curveto(396.999,210.001)(397.699,216.801)(397.699,216.801)
+\curveto(398.699,215.501)(399.299,214.001)(399.299,212.402)
+\curveto(399.299,212.002)(399.199,211.601)(399.199,211.202)
+\lineto(399.199,210.902)
+\curveto(398.199,204.002)(392.899,200.402)(387.399,200.402)
+\lineto(387.3,200.402)
+\curveto(383.901,200.402)(380.401,201.801)(377.7,204.502)
+\curveto(375,207.302)(373.3,211.402)(373.3,216.902)
+\curveto(373.3,217.801)(373.401,218.801)(373.5,219.801)
+\curveto(374.4,227.902)(381.8,244.701)(381.8,262.101)
+\curveto(381.8,280.501)(373.6,299.402)(340.1,309.501)
+\curveto(329.401,312.701)(319.8,314.101)(311.1,314.101)
+\curveto(279.5,314.101)(261.1,295.101)(251.8,274.702)
+\curveto(249.7,268.002)(247.8,259.402)(247.3,248.902)
+\curveto(247.1,244.502)(247.5,239.202)(248,235.301)
+\curveto(248.6,231.301)(251.1,222.902)(253.8,217.301)
+\curveto(259.6,205.701)(268.2,194.601)(279.7,189.801)
+\lineto(281.5,189.101)
+\curveto(287.4,190.402)(290.8,191.601)(297.2,193.902)
+\lineto(298.7,194.402)
+\curveto(308.9,198.101)(318.5,201.601)(327.8,201.601)
+\curveto(333.8,201.601)(339,200.301)(343.7,197.301)
+\curveto(344.3,197.001)(344.8,196.601)(345.3,196.201)
+\lineto(348.2,193.901)
+\lineto(348.2,193.901)
+\lineto(348.9,193.201)
+\curveto(352.5,189.401)(355.2,183.901)(354.799,178.1)
+\curveto(354.599,175.701)(353.9,172.901)(352.199,170.1)
+\curveto(359.199,168)(368.499,166.201)(380.499,166.201)
+\curveto(394.799,166.201)(413.099,168.801)(435.899,176.701)
+\lineto(435.999,176.701)
+\curveto(436.099,176.701)(436.099,176.801)(436.099,176.801)
+\curveto(474.299,176.801)(459.099,152.101)(454.9,157.001)
+\curveto(450.299,162.201)(439.4,154.801)(442.5,146.301)
+\curveto(447.2,133.101)(468.7,144.801)(471,153.501)
+\curveto(466.6,124.701)(421.8,137.001)(411.5,138.401)
+\curveto(399.4,140.1)(394.5,128.901)(396.2,118.6)
+\curveto(397.599,110.1)(392.3,102.3)(389.9,100)
+\curveto(407,96.7)(415.099,111.2)(421.799,115.8)
+\curveto(428.599,120.5)(453.199,118.2)(467.099,128.901)
+\curveto(481,139.5)(479.2,165.1)(479.2,168.1)
+\curveto(482.4,169.401)(493.2,173.8)(493.2,186.201)
+\curveto(493.2,197.001)(485.2,202.401)(477,201.401)
+\curveto(467.9,200.3)(465.2,189.1)(475.5,188.901)
+\curveto(473.2,191.201)(475.9,194.701)(479,193.001)
+\curveto(483.7,190.401)(478.4,182.601)(468.7,184.201)
+\curveto(465.3,184.801)(457.599,185.901)(450.3,186.901)
+\curveto(505.7,215.9)(556.1,275.2)(553,374.7)
+\closepath
+\moveto(435.5,254.8)
+\curveto(436.9,254.2)(438.7,254)(440.8,254)
+\curveto(445.401,254)(451.2,255.3)(456,258)
+\curveto(460.8,260.7)(464.7,265.1)(464.7,271)
+\curveto(464.7,273.4)(464.099,276)(462.7,278.8)
+\curveto(462,280.2)(461.3,281.3)(460.4,282.3)
+\curveto(465.2,278.6)(467.599,275)(468.599,271.8)
+\curveto(468.799,271)(468.999,270.2)(469.2,269.5)
+\curveto(469.3,268.7)(469.4,268)(469.4,267.3)
+\curveto(469.4,264.8)(468.799,262.6)(468.099,260.901)
+\curveto(464.7,251.5)(455.8,247.1)(445.9,247)
+\curveto(444.299,247)(442.599,247.1)(441,247.4)
+\curveto(438.3,248.9)(435.9,251.7)(435.4,255)
+\curveto(435.4,254.8)(435.4,254.8)(435.5,254.8)
+\closepath
+\moveto(436.1,245.8)
+\curveto(439.3,244.901)(442.6,244.5)(445.8,244.5)
+\lineto(445.901,244.5)
+\curveto(456.401,244.5)(466.401,249.4)(470.3,259.8)
+\curveto(470,250.5)(465.3,246.401)(458.901,243.1)
+\curveto(452.3,239.701)(444.001,237.6)(438.001,232.6)
+\curveto(433.201,228.6)(431.201,223.701)(431.201,218.8)
+\curveto(431.201,211.8)(435.1,204.8)(440.1,199)
+\curveto(405,220.5)(420.6,241.6)(436.1,245.8)
+\closepath
+\moveto(452.6,224.5)
+\curveto(439.8,220.2)(441.8,205.1)(443.201,199.1)
+\curveto(437.801,204.901)(433.701,212.1)(433.701,218.701)
+\curveto(433.701,222.901)(435.301,227.001)(439.6,230.6)
+\curveto(445,235.201)(453.1,237.3)(460,240.8)
+\curveto(466.9,244.3)(472.8,249.7)(472.8,260.401)
+\curveto(472.8,263.201)(472.401,266.3)(471.6,269.8)
+\curveto(470.701,275.8)(466.201,282.8)(453.8,289.401)
+\curveto(463.901,288.701)(482.7,284.201)(486,265.001)
+\curveto(489.7,243.8)(468.7,229.9)(452.6,224.5)
+\closepath
+\moveto(281.2,184.7)
+\curveto(276.6,183.599)(272,182.9)(267.3,182.8)
+\curveto(267.7,182.5)(268,182.2)(268.4,181.901)
+\curveto(270.7,179.6)(272.2,176.901)(272.3,174.1)
+\curveto(272.3,170.8)(272.1,164.1)(268.3,159)
+\curveto(270.5,156.8)(281.7,154.5)(281.7,154.5)
+\curveto(283.1,154.3)(284,154.4)(285,154.4)
+\curveto(288.3,154.4)(290.7,156.2)(292.5,159.099)
+\curveto(294.2,161.999)(295.1,165.999)(295.1,169.799)
+\curveto(295.1,170.799)(295,171.9)(294.9,172.9)
+\curveto(293.8,180.5)(289.1,184.9)(281.9,184.9)
+\curveto(281.6,184.7)(281.4,184.7)(281.2,184.7)
+\closepath
+\moveto(298.9,190.4)
+\curveto(295.1,189)(291.3,187.599)(287.4,186.4)
+\curveto(292.9,184.5)(296.6,179.599)(297.4,173)
+\curveto(297.5,171.9)(297.6,170.8)(297.6,169.6)
+\curveto(297.6,165.401)(296.6,161)(294.6,157.6)
+\curveto(293.7,156.1)(292.6,154.8)(291.3,153.8)
+\curveto(298.5,153.6)(305.7,154.3)(312.5,155.5)
+\lineto(312.5,155.5)
+\curveto(320.6,156.6)(325.2,166.3)(325.2,174.5)
+\curveto(325.2,175.6)(325.099,176.7)(324.9,177.7)
+\curveto(323.7,185.099)(316.599,193.3)(307.4,193.3)
+\curveto(304.7,192.5)(301.8,191.4)(298.9,190.4)
+\closepath
+\moveto(342.3,194)
+\curveto(337.901,196.9)(333.2,198)(328.3,198)
+\curveto(323.401,198)(318.2,196.9)(312.8,195.2)
+\curveto(320.8,192.7)(326.3,185.3)(327.5,178.3)
+\curveto(327.7,177.1)(327.8,175.901)(327.8,174.6)
+\curveto(327.8,168.701)(325.6,161.8)(321.3,157.5)
+\curveto(323.901,158.1)(326.3,158.8)(328.7,159.5)
+\curveto(337.9,162.2)(351.099,169)(351.8,178.4)
+\lineto(351.8,178.299)
+\curveto(351.8,178.699)(351.901,178.999)(351.901,179.4)
+\curveto(351.7,186.1)(346.1,191.3)(342.3,194)
+\closepath
+\moveto(124.6,372.3)
+\curveto(139.1,383.8)(159.7,393.3)(163.6,389.4)
+\curveto(167.5,385.5)(151.7,361.4)(135,344.7)
+\curveto(148.8,344.7)(163.4,347.4)(194.7,374.5)
+\curveto(198.5,380.2)(200,386.1)(200,392)
+\curveto(200.1,410.6)(184.6,429)(178.3,435.6)
+\curveto(170.3,436.8)(167.6,442.5)(167.5,442.8)
+\lineto(167.4,443.1)
+\lineto(167.3,443.4)
+\curveto(167.3,443.6)(166.4,448.1)(166.9,454.1)
+\curveto(145,449.2)(128.2,441.5)(121.7,436.1)
+\curveto(121.7,436.1)(123.6,433.7)(122.8,428.8)
+\curveto(126.4,427.3)(132.4,435.8)(140.9,432.2)
+\curveto(148.2,429)(154.9,422.4)(162.3,423.4)
+\lineto(163,420.3)
+\curveto(155,418)(147.7,426)(140.2,428.8)
+\curveto(132.4,431.8)(126.3,423.4)(122.1,425.9)
+\curveto(121.8,424.9)(121.3,423.7)(120.7,422.5)
+\curveto(121.3,418.1)(124.1,412.6)(128.3,409.3)
+\curveto(128.4,409.2)(128.5,409)(128.5,408.8)
+\curveto(128.5,408.6)(128.4,408.4)(128.3,408.3)
+\curveto(125.1,405.7)(106.6,392.3)(101.8,387.6)
+\curveto(102.1,387.4)(102.4,387.2)(102.8,387)
+\curveto(109.4,382.9)(117.4,378.9)(122.4,378.9)
+\lineto(123.3,378.9)
+\curveto(125.9,381)(147.7,395.5)(160.4,395.6)
+\curveto(164.4,395.6)(167.7,394)(168.7,389.9)
+\curveto(168.8,389.6)(168.6,389.2)(168.3,389.1)
+\curveto(168,389)(167.6,389.2)(167.5,389.5)
+\curveto(166.6,392.9)(164.1,394.2)(160.4,394.2)
+\curveto(148.2,394.3)(124.9,378.7)(124,377.7)
+\curveto(123.9,377.6)(123.8,377.5)(123.6,377.5)
+\curveto(123.2,377.5)(122.8,377.4)(122.4,377.4)
+\curveto(112.4,377.5)(94.5,390.6)(90.8,393.4)
+\curveto(93.6,385.4)(108,374.8)(124.6,372.3)
+\closepath
+\moveto(136,408.7)
+\curveto(126.6,410.2)(125.5,420.7)(125.5,420.7)
+\curveto(127.8,426.2)(141.1,427.3)(148.8,416.8)
+\curveto(148.8,416.8)(143.4,407.5)(136,408.7)
+\closepath
+\moveto(184.9,262.5)
+\curveto(180.7,260.4)(177.7,256.6)(177.7,251.9)
+\curveto(177.8,245.9)(181.7,239.599)(191.1,239.5)
+\curveto(193.1,239.5)(195.4,239.8)(198,240.5)
+\curveto(204.4,243.5)(206.2,250.2)(206.2,254.4)
+\curveto(206.2,255.2)(206.1,255.9)(206,256.4)
+\curveto(205.8,257.299)(205.6,258.2)(205.3,258.9)
+\curveto(198.4,263.9)(191.2,264.2)(184.9,262.5)
+\closepath
+\moveto(100.7,388.4)
+\curveto(105.3,392.9)(122.3,405.4)(126.8,408.8)
+\curveto(122.9,412.1)(120.4,416.5)(119.7,420.8)
+\curveto(119.4,420.2)(119,419.5)(118.5,418.9)
+\curveto(112.3,409.2)(98.6,401.4)(90.8,395)
+\curveto(91.5,394.5)(95.5,391.5)(100.6,388.2)
+\curveto(100.7,388.3)(100.7,388.4)(100.7,388.4)
+\closepath
+\moveto(208.7,392.9)
+\curveto(208.8,410.9)(194.2,430.5)(189,436.7)
+\curveto(188.5,436.6)(188.1,436.4)(187.6,436.3)
+\curveto(185.6,435.8)(183.7,435.6)(181.9,435.5)
+\curveto(189,427.6)(202.4,410.4)(202.5,392.1)
+\curveto(202.5,386)(201,379.9)(197.2,374)
+\curveto(198.3,373.6)(199.4,373.2)(200.4,372.8)
+\lineto(200.4,372.8)
+\curveto(206.5,378.7)(208.7,385.7)(208.7,392.9)
+\closepath
+\moveto(159.6,456.1)
+\curveto(157.3,460.5)(152.9,464.6)(140.5,471)
+\curveto(133.4,463.1)(132.9,454)(134.1,447)
+\curveto(141.3,450.6)(149.9,453.7)(159.6,456.1)
+\closepath
+\moveto(186.9,439.3)
+\curveto(196.7,441.7)(197.5,448.8)(197.5,448.8)
+\curveto(197.5,457.5)(198.9,461.8)(183.6,477.1)
+\curveto(165.7,466.7)(170.3,444.2)(170.3,444.2)
+\curveto(170.3,444.2)(174,436.1)(186.9,439.3)
+\closepath
+}
+}
+\end{pspicture}
+\end{document}
+%</xepersian-logo.tex>
+%\fi
+%
+% \typeout{*************************************************************}
+% \typeout{*}
+% \typeout{* To finish the installation you have to move the following}
+% \typeout{* file into a directory searched by TeX:}
+% \typeout{*}
+% \typeout{* \space\space\space all *.cls, *.sty and *.def files}
+% \typeout{*}
+% \typeout{* You also need to compile the *.map files with teckit_compile}
+% \typeout{* and place the resulting *.tec files under}
+% \typeout{* .../fonts/misc/xetex/fontmapping}
+% \typeout{*}
+% \typeout{*************************************************************}
+%
+\endinput
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins
new file mode 100644
index 00000000000..37d61f044b5
--- /dev/null
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins
@@ -0,0 +1,113 @@
+%%
+%% This is file `xepersian.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `batchfile')
+%%
+%% __________________________________________________
+%% 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.
+%%
+%%
+\input docstrip.tex
+\let\MetaPrefix\relax
+\keepsilent
+\preamble
+
+ __________________________________________________
+ 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.
+
+\endpreamble
+\askforoverwritefalse
+\let\MetaPrefix\DoubleperCent
+\generate{\file{algorithmic-xepersian.def}{\from{\jobname.dtx}{table,algorithmic-xepersian.def}}}
+\generate{\file{algorithm-xepersian.def}{\from{\jobname.dtx}{table,algorithm-xepersian.def}}}
+\generate{\file{amsart-xepersian.def}{\from{\jobname.dtx}{table,amsart-xepersian.def}}}
+\generate{\file{amsbook-xepersian.def}{\from{\jobname.dtx}{table,amsbook-xepersian.def}}}
+\generate{\file{appendix-xepersian.def}{\from{\jobname.dtx}{table,appendix-xepersian.def}}}
+\generate{\file{article-xepersian.def}{\from{\jobname.dtx}{table,article-xepersian.def}}}
+\generate{\file{artikel1-xepersian.def}{\from{\jobname.dtx}{table,artikel1-xepersian.def}}}
+\generate{\file{artikel2-xepersian.def}{\from{\jobname.dtx}{table,artikel2-xepersian.def}}}
+\generate{\file{artikel3-xepersian.def}{\from{\jobname.dtx}{table,artikel3-xepersian.def}}}
+\generate{\file{backref-xepersian.def}{\from{\jobname.dtx}{table,backref-xepersian.def}}}
+\generate{\file{bidituftesidenote-xepersian.def}{\from{\jobname.dtx}{table,bidituftesidenote-xepersian.def}}}
+\generate{\file{bidimoderncv-xepersian.def}{\from{\jobname.dtx}{table,bidimoderncv-xepersian.def}}}
+\generate{\file{boek3-xepersian.def}{\from{\jobname.dtx}{table,boek3-xepersian.def}}}
+\generate{\file{boek-xepersian.def}{\from{\jobname.dtx}{table,boek-xepersian.def}}}
+\generate{\file{bookest-xepersian.def}{\from{\jobname.dtx}{table,bookest-xepersian.def}}}
+\generate{\file{book-xepersian.def}{\from{\jobname.dtx}{table,book-xepersian.def}}}
+\generate{\file{breqn-xepersian.def}{\from{\jobname.dtx}{table,breqn-xepersian.def}}}
+\generate{\file{latex-localise-commands-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-commands-xepersian.def}}}
+\generate{\file{color-localise-xepersian.def}{\from{\jobname.dtx}{table,color-localise-xepersian.def}}}
+\generate{\file{xepersian-localise-commands-xepersian.def}{\from{\jobname.dtx}{table,xepersian-localise-commands-xepersian.def}}}
+\generate{\file{enumerate-xepersian.def}{\from{\jobname.dtx}{table,enumerate-xepersian.def}}}
+\generate{\file{enumitem-xepersian.def}{\from{\jobname.dtx}{table,enumitem-xepersian.def}}}
+\generate{\file{latex-localise-environments-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-environments-xepersian.def}}}
+\generate{\file{xepersian-localise-environments-xepersian.def}{\from{\jobname.dtx}{table,xepersian-localise-environments-xepersian.def}}}
+\generate{\file{extarticle-xepersian.def}{\from{\jobname.dtx}{table,extarticle-xepersian.def}}}
+\generate{\file{extbook-xepersian.def}{\from{\jobname.dtx}{table,extbook-xepersian.def}}}
+\generate{\file{extrafootnotefeatures-xepersian.def}{\from{\jobname.dtx}{table,extrafootnotefeatures-xepersian.def}}}
+\generate{\file{extreport-xepersian.def}{\from{\jobname.dtx}{table,extreport-xepersian.def}}}
+\generate{\file{fancyref-xepersian.def}{\from{\jobname.dtx}{table,fancyref-xepersian.def}}}
+\generate{\file{footnote-xepersian.def}{\from{\jobname.dtx}{table,footnote-xepersian.def}}}
+\generate{\file{framed-xepersian.def}{\from{\jobname.dtx}{table,framed-xepersian.def}}}
+\generate{\file{glossaries-xepersian.def}{\from{\jobname.dtx}{table,glossaries-xepersian.def}}}
+\generate{\file{hyperref-xepersian.def}{\from{\jobname.dtx}{table,hyperref-xepersian.def}}}
+\generate{\file{imsproc-xepersian.def}{\from{\jobname.dtx}{table,imsproc-xepersian.def}}}
+\generate{\file{kashida-xepersian.def}{\from{\jobname.dtx}{table,kashida-xepersian.def}}}
+\generate{\file{listings-xepersian.def}{\from{\jobname.dtx}{table,listings-xepersian.def}}}
+\generate{\file{loadingorder-xepersian.def}{\from{\jobname.dtx}{table,loadingorder-xepersian.def}}}
+\generate{\file{localise-xepersian.def}{\from{\jobname.dtx}{table,localise-xepersian.def}}}
+\generate{\file{memoir-xepersian.def}{\from{\jobname.dtx}{table,memoir-xepersian.def}}}
+\generate{\file{latex-localise-messages-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-messages-xepersian.def}}}
+\generate{\file{minitoc-xepersian.def}{\from{\jobname.dtx}{table,minitoc-xepersian.def}}}
+\generate{\file{latex-localise-misc-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-misc-xepersian.def}}}
+\generate{\file{natbib-xepersian.def}{\from{\jobname.dtx}{table,natbib-xepersian.def}}}
+\generate{\file{packages-localise-xepersian.def}{\from{\jobname.dtx}{table,packages-localise-xepersian.def}}}
+\def\MetaPrefix{;;}
+\def\mapping@postamble{%
+ \MetaPrefix ^^J%
+ \MetaPrefix\space End of file `\outFileName'.%
+}
+\usepostamble\mapping@postamble
+\generate{\file{persian-tex-text.map}{\from{\jobname.dtx}{persian-tex-text.map}}}
+\let\MetaPrefix\DoubleperCent
+\usepostamble\org@postamble
+\generate{\file{rapport1-xepersian.def}{\from{\jobname.dtx}{table,rapport1-xepersian.def}}}
+\generate{\file{rapport3-xepersian.def}{\from{\jobname.dtx}{table,rapport3-xepersian.def}}}
+\generate{\file{refrep-xepersian.def}{\from{\jobname.dtx}{table,refrep-xepersian.def}}}
+\generate{\file{report-xepersian.def}{\from{\jobname.dtx}{table,report-xepersian.def}}}
+\generate{\file{scrartcl-xepersian.def}{\from{\jobname.dtx}{table,scrartcl-xepersian.def}}}
+\generate{\file{scrbook-xepersian.def}{\from{\jobname.dtx}{table,scrbook-xepersian.def}}}
+\generate{\file{scrreprt-xepersian.def}{\from{\jobname.dtx}{table,scrreprt-xepersian.def}}}
+\generate{\file{soul-xepersian.def}{\from{\jobname.dtx}{table,soul-xepersian.def}}}
+\generate{\file{tikz.code-xepersian.def}{\from{\jobname.dtx}{table,tikz.code-xepersian.def}}}
+\generate{\file{tkz-linknodes-xepersian.def}{\from{\jobname.dtx}{table,tkz-linknodes-xepersian.def}}}
+\generate{\file{tocloft-xepersian.def}{\from{\jobname.dtx}{table,tocloft-xepersian.def}}}
+\generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}}
+\generate{\file{xepersian.sty}{\from{\jobname.dtx}{table,xepersian.sty}}}
+\generate{\file{xepersian-magazine.cls}{\from{\jobname.dtx}{table,xepersian-magazine.cls}}}
+\generate{\file{xepersian-mathsdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathsdigitspec.sty}}}
+\generate{\file{xepersian-multiplechoice.sty}{\from{\jobname.dtx}{table,xepersian-multiplechoice.sty}}}
+\generate{\file{xepersian-persiancal.sty}{\from{\jobname.dtx}{table,xepersian-persiancal.sty}}}
+\endbatchfile
+\endinput
+%%
+%% End of file `xepersian.ins'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
new file mode 100644
index 00000000000..1623969abe1
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
@@ -0,0 +1,44 @@
+%%
+%% This is file `algorithm-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,algorithm-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{algorithm-xepersian.def}[2010/07/25 v0.2 adaptations for algorithm package]
+\def\ALG@name{\if@RTL الگوریتم\else Algorithm\fi}
+\def\ALGS@name{الگوریتم‌ها}
+\def\listalgorithmname{\if@RTL فهرست \ALGS@name\else List of \ALG@name s\fi}
+\endinput
+%%
+%% End of file `algorithm-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
new file mode 100644
index 00000000000..493945967d6
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
@@ -0,0 +1,43 @@
+%%
+%% This is file `algorithmic-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,algorithmic-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{algorithmic-xepersian.def}[2010/07/25 v0.2 adaptations for algorithmic package]
+\def\algorithmicrequire{\if@RTL\textbf{ورودی:}\else\textbf{Require:}\fi}
+\def\algorithmicensure{\if@RTL\textbf{خروجی:}\else\textbf{Ensure:}\fi}
+\endinput
+%%
+%% End of file `algorithmic-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
new file mode 100644
index 00000000000..8d5070db14f
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `amsart-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,amsart-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{amsart-xepersian.def}[2017/02/04 v0.4 adaptations for amsart class]
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@harfi\c@section}}
+
+\endinput
+%%
+%% End of file `amsart-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
new file mode 100644
index 00000000000..c8678706397
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `amsbook-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,amsbook-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{amsbook-xepersian.def}[2017/02/04 v0.5 adaptations for amsbook class]
+\def\frontmatter{\cleardoublepage\pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par
+ \c@chapter\z@ \c@section\z@
+ \let\chaptername\appendixname
+ \def\thechapter{\@harfi\c@chapter}}
+
+\endinput
+%%
+%% End of file `amsbook-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
new file mode 100644
index 00000000000..3198e8b6878
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
@@ -0,0 +1,55 @@
+%%
+%% This is file `appendix-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,appendix-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{appendix-xepersian.def}[2015/02/01 v0.1 adaptations for appendix package]
+\renewcommand{\@resets@pp}{\par
+ \@ppsavesec
+ \stepcounter{@pps}
+ \setcounter{section}{0}%
+ \if@chapter@pp
+ \setcounter{chapter}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\@harfi\c@chapter}%
+ \else
+ \setcounter{subsection}{0}%
+ \renewcommand\thesection{\@harfi\c@section}%
+ \fi
+ \restoreapp
+}
+\endinput
+%%
+%% End of file `appendix-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
new file mode 100644
index 00000000000..d93f4688908
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `article-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,article-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{article-xepersian.def}[2010/07/25 v0.2 adaptations for standard article class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+\endinput
+%%
+%% End of file `article-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
new file mode 100644
index 00000000000..d12b87fdc81
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `artikel1-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,artikel1-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{artikel1-xepersian.def}[2010/07/25 v0.1 adaptations for artikel1 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+\endinput
+%%
+%% End of file `artikel1-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
new file mode 100644
index 00000000000..7ff2057c2d1
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `artikel2-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,artikel2-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{artikel2-xepersian.def}[2010/07/25 v0.1 adaptations for artikel2 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+\endinput
+%%
+%% End of file `artikel2-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
new file mode 100644
index 00000000000..9a8b298e9d5
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `artikel3-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,artikel3-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{artikel3-xepersian.def}[2010/07/25 v0.1 adaptations for artikel3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+\endinput
+%%
+%% End of file `artikel3-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
new file mode 100644
index 00000000000..cbe40567c91
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
@@ -0,0 +1,60 @@
+%%
+%% This is file `backref-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,backref-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{backref-xepersian.def}[2010/07/25 v0.1 adaptations for backref package]
+\def\backrefpagesname{\if@RTL صفحات\else pages\fi}
+\def\BR@Latincitex[#1]#2{%
+ \BRorg@Latincitex[{#1}]{#2}%
+ \ifBR@verbose
+ \PackageInfo{backref}{back Latin cite \string`#2\string'}%
+ \fi
+ \Hy@backout{#2}%
+}
+\AtBeginDocument{%
+ \@ifundefined{NAT@parse}{%
+ \global\let\BRorg@Latincitex\@Latincitex
+ \global\let\@Latincitex\BR@Latincitex
+ }{%
+ \@ifpackageloaded{hyperref}{}{%
+ \def\hyper@natlinkstart#1{\Hy@backout{#1}}%
+ }%
+ \PackageInfo{backref}{** backref set up for natbib **}%
+ }%
+}%
+\endinput
+%%
+%% End of file `backref-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
new file mode 100644
index 00000000000..17c01a51a0c
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
@@ -0,0 +1,42 @@
+%%
+%% This is file `bidimoderncv-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,bidimoderncv-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{bidimoderncv-xepersian.def}[2010/07/25 v0.1 adaptations for bidimoderncv class]
+\def\refname{\if@RTL تألیفات\else Publications\fi}
+\endinput
+%%
+%% End of file `bidimoderncv-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
new file mode 100644
index 00000000000..955d65a4497
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `bidituftesidenote-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,bidituftesidenote-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{bidituftesidenote-xepersian.def}[2017/02/04 v0.3 xepersian changes to bidituftesidenote package]
+
+\setLTRcitationfont{\resetlatinfont\footnotesize}
+
+\renewcommand*{\@bidituftesidenote@LTRmarginfont}{\resetlatinfont\footnotesize}
+
+\renewcommand*{\@bidituftesidenote@RTLmarginfont}{\setpersianfont\footnotesize}
+
+\endinput
+%%
+%% End of file `bidituftesidenote-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
new file mode 100644
index 00000000000..2a95fe5dffa
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
@@ -0,0 +1,51 @@
+%%
+%% This is file `boek-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,boek-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{boek-xepersian.def}[2010/07/25 v0.1 adaptations for boek class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+\endinput
+%%
+%% End of file `boek-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
new file mode 100644
index 00000000000..4c3554669e3
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
@@ -0,0 +1,51 @@
+%%
+%% This is file `boek3-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,boek3-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{boek3-xepersian.def}[2010/07/25 v0.1 adaptations for boek3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+\endinput
+%%
+%% End of file `boek3-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
new file mode 100644
index 00000000000..65238f0fbd2
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
@@ -0,0 +1,52 @@
+%%
+%% This is file `book-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,book-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{book-xepersian.def}[2010/07/25 v0.2 adaptations for standard book class]
+\renewcommand\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+\endinput
+%%
+%% End of file `book-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
new file mode 100644
index 00000000000..d8ea169cf85
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `bookest-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,bookest-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{bookest-xepersian.def}[2010/07/25 v0.1 adaptations for bookest class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+\endinput
+%%
+%% End of file `bookest-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
new file mode 100644
index 00000000000..3c10b3e2896
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
@@ -0,0 +1,80 @@
+%%
+%% This is file `breqn-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,breqn-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{breqn-xepersian.def}[2010/07/25 v0.1 adaptations for breqn package]
+\def\@dmath[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \everydisplay\expandafter{\the\everydisplay \display@setup}%
+ \if@noskipsec \leavevmode \fi
+ \if@inlabel \leavevmode \global\@inlabelfalse \fi
+ \if\eq@group\else\eq@prelim\fi
+ \setkeys{breqn}{#1}%
+ \the\eqstyle
+ \eq@setnumber
+ \begingroup
+ \eq@setup@a
+ \eq@startup
+}
+\def\@dgroup[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \let\eq@group\@True \global\let\eq@GRP@first@dmath\@True
+ \global\GRP@queue\@emptytoks \global\setbox\GRP@box\box\voidb@x
+ \global\let\GRP@label\@empty
+ \global\grp@wdL\z@\global\grp@wdR\z@\global\grp@wdT\z@
+ \global\grp@linewidth\z@\global\grp@wdNum\z@
+ \global\let\grp@eqs@numbered\@False
+ \global\let\grp@aligned\@True
+ \global\let\grp@shiftnumber\@False
+ \eq@prelim
+ \setkeys{breqn}{#1}%
+ \if\grp@hasNumber \grp@setnumber \fi
+}
+\def\@dseries[#1]{\if@RTL\@RTLfalse\addfontfeatures{Mapping=farsidigits}\fi%
+ \let\display@setup\dseries@display@setup
+ % Question: should this be the default for dseries???
+ \global\eq@wdCond\z@
+ \@dmath[layout={M},#1]%
+ \mathsurround\z@\@@math \penalty\@Mi
+ \let\endmath\ends@math
+ \def\premath{%
+ \ifdim\lastskip<.3em \unskip
+ \else\ifnum\lastpenalty<\@M \dquad\fi\fi
+}%
+ \def\postmath{\unpenalty\eq@addpunct \penalty\intermath@penalty \dquad \@ignoretrue}%
+\ignorespaces
+}
+\endinput
+%%
+%% End of file `breqn-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
new file mode 100644
index 00000000000..09fc8f0007f
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
@@ -0,0 +1,49 @@
+%%
+%% This is file `color-localise-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,color-localise-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\آماده‌سازی‌پرونده{color-localise-xepersian.def}[2011/03/01 v0.1 localising color package]
+\تعریف‌رنگ{سیاه}{rgb}{0,0,0}
+\تعریف‌رنگ{سفید}{rgb}{1,1,1}
+\تعریف‌رنگ{قرمز}{rgb}{1,0,0}
+\تعریف‌رنگ{سبز}{rgb}{0,1,0}
+\تعریف‌رنگ{آبی}{rgb}{0,0,1}
+\تعریف‌رنگ{آسمانی}{cmyk}{1,0,0,0}
+\تعریف‌رنگ{بنفش}{cmyk}{0,1,0,0}
+\تعریف‌رنگ{زرد}{cmyk}{0,0,1,0}
+\endinput
+%%
+%% End of file `color-localise-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
new file mode 100644
index 00000000000..9bf89092a87
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
@@ -0,0 +1,57 @@
+%%
+%% This is file `enumerate-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,enumerate-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{enumerate-xepersian.def}[2010/07/25 v0.1 adaptations for enumerate package]
+\def\@enloop@{%
+ \ifx ا\@entemp \def\@tempa{\@enLabel\harfi }\else
+ \ifx ی\@entemp \def\@tempa{\@enLabel\adadi }\else
+ \ifx ت\@entemp \def\@tempa{\@enLabel\tartibi }\else
+ \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
+ \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
+ \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
+ \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
+ \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
+ \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
+ \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
+ \ifx \@enum@\@entemp \let\@tempa\@gobble \else
+ \let\@tempa\@enOther
+ \@enhook
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \@tempa}
+\endinput
+%%
+%% End of file `enumerate-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
new file mode 100644
index 00000000000..2780fb9e13b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
@@ -0,0 +1,51 @@
+%%
+%% This is file `enumitem-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,enumitem-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{enumitem-xepersian.def}[2017/09/06 v0.1 adaptations for enumitem package]
+\AddEnumerateCounter*\tartibi\@tartibi{999999999}
+\AddEnumerateCounter*\adadi\@adadi{999999999}
+\AddEnumerateCounter\harfi\@harfi{گ}
+\AddEnumerateCounter\Abjad\@Abjad{ک}
+\AddEnumerateCounter\abjad\@abjad{غثکب}
+\SetEnumerateShortLabel{اول}{\tartibi*}
+\SetEnumerateShortLabel{یک}{\adadi*}
+\SetEnumerateShortLabel{آ}{\harfi*}
+\SetEnumerateShortLabel{ب}{\Abjad*}
+\SetEnumerateShortLabel{ج}{\abjad*}
+\endinput
+%%
+%% End of file `enumitem-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
new file mode 100644
index 00000000000..277d8107e64
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
@@ -0,0 +1,46 @@
+%%
+%% This is file `extarticle-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,extarticle-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{extarticle-xepersian.def}[2010/07/25 v0.1 adaptations for extarticle class]
+\renewcommand\thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}}
+\endinput
+%%
+%% End of file `extarticle-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
new file mode 100644
index 00000000000..a5156da682b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
@@ -0,0 +1,52 @@
+%%
+%% This is file `extbook-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,extbook-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{extbook-xepersian.def}[2010/07/25 v0.1 adaptations for extbook class]
+\renewcommand\frontmatter{%
+ \cleardoublepage
+ \@mainmatterfalse
+ \pagenumbering{harfi}}
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+\endinput
+%%
+%% End of file `extbook-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
new file mode 100644
index 00000000000..dd34e5d2b0b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
@@ -0,0 +1,44 @@
+%%
+%% This is file `extrafootnotefeatures-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,extrafootnotefeatures-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{extrafootnotefeatures-xepersian.def}[2012/01/01 v0.2 footnote macros for extrafootnotefeatures option of xepersian package]
+\renewcommand{\foottextfont}{\footnotesize\if@RTL@footnote\else\resetlatinfont\fi}
+\renewcommand{\LTRfoottextfont}{\footnotesize\resetlatinfont}
+\renewcommand{\RTLfoottextfont}{\footnotesize\setpersianfont}
+\endinput
+%%
+%% End of file `extrafootnotefeatures-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
new file mode 100644
index 00000000000..08707e80165
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
@@ -0,0 +1,47 @@
+%%
+%% This is file `extreport-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,extreport-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{extreport-xepersian.def}[2010/07/25 v0.1 adaptations for extreport class]
+\renewcommand\thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+\endinput
+%%
+%% End of file `extreport-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def
new file mode 100644
index 00000000000..c289c35b02b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def
@@ -0,0 +1,199 @@
+%%
+%% This is file `fancyref-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,fancyref-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{fancyref-xepersian.def}[2018/09/29 v0.1 bilingual captions for fancyref package]
+\renewcommand*{\Frefchapname}{\chaptername}
+\renewcommand*{\Frefenumname}{%
+ \if@RTL
+فقره%
+ \else
+ Item%
+ \fi
+}
+\renewcommand*{\Frefeqname}{%
+ \if@RTL
+معادله%
+ \else
+ Equation%
+ \fi
+}
+\renewcommand*{\Freffigname}{\figurename}
+\renewcommand*{\Freffnname}{%
+ \if@RTL
+زیرنویس%
+ \else
+ Footnote%
+ \fi
+}
+\renewcommand*{\Frefonname}{%
+ \if@RTL
+در%
+ \else
+ On%
+ \fi
+}
+\renewcommand*{\Frefpgname}{\pagename}
+\renewcommand*{\Frefsecname}{%
+ \if@RTL
+قسمت%
+ \else
+ Section%
+ \fi
+}
+\renewcommand*{\Frefseename}{%
+ \if@RTL
+ببینید%
+ \else
+ See%
+ \fi
+}
+\renewcommand*{\Freftabname}{\tablename}
+\renewcommand*{\Freffigshortname}{%
+ \if@RTL
+ \Freffigname
+ \else
+ Fig.%
+ \fi
+}
+\renewcommand*{\Frefpgshortname}{%
+ \if@RTL
+ \Frefpgname
+ \else
+ P.%
+ \fi
+}
+\renewcommand*{\Freftabshortname}{%
+ \if@RTL
+ \tablename
+ \else
+ Tab.%
+ \fi
+}
+\renewcommand*{\frefchapname}{%
+ \if@RTL
+ \Frefchapname
+ \else
+ \MakeLowercase{\Frefchapname}%
+\fi
+}
+\renewcommand*{\frefenumname}{%
+ \if@RTL
+ \Frefenumname
+ \else
+ \MakeLowercase{\Frefenumname}%
+ \fi
+}
+\renewcommand*{\frefeqname}{%
+ \if@RTL
+ \Frefeqname
+ \else
+ \MakeLowercase{\Frefeqname}%
+ \fi
+}
+\renewcommand*{\freffigname}{%
+ \if@RTL
+ \Freffigname
+ \else
+ \MakeLowercase{\Freffigname}%
+ \fi
+}
+\renewcommand*{\freffnname}{%
+ \if@RTL
+ \Freffnname
+ \else
+ \MakeLowercase{\Freffnname}%
+ \fi
+}
+\renewcommand*{\frefonname}{%
+ \if@RTL
+ \Frefonname
+ \else
+ \MakeLowercase{\Frefonname}%
+ \fi
+}
+\renewcommand*{\frefpgname}{%
+ \if@RTL
+ \Frefpgname
+ \else
+ \MakeLowercase{\Frefpgname}%
+ \fi
+}
+\renewcommand*{\frefsecname}{%
+ \if@RTL
+ \Frefsecname
+ \else
+ \MakeLowercase{\Frefsecname}%
+ \fi
+}
+\renewcommand*{\frefseename}{%
+ \if@RTL
+ \Frefseename
+ \else
+ \MakeLowercase{\Frefseename}%
+ \fi
+}
+\renewcommand*{\freftabname}{%
+ \if@RTL
+ \Freftabname
+ \else
+ \MakeLowercase{\Freftabname}%
+ \fi
+}
+\renewcommand*{\freffigshortname}{%
+ \if@RTL
+ \Freffigshortname
+ \else
+ \MakeLowercase{\Freffigshortname}%
+ \fi
+}
+\renewcommand*{\frefpgshortname}{%
+ \if@RTL
+ \Frefpgshortname
+ \else
+ \MakeLowercase{\Frefpgshortname}%
+ \fi
+}
+\renewcommand*{\freftabshortname}{%
+ \if@RTL
+ \Freftabshortname
+ \else
+ \MakeLowercase{\Freftabshortname}%
+ \fi
+}
+\endinput
+%%
+%% End of file `fancyref-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
new file mode 100644
index 00000000000..6226451f721
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `footnote-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,footnote-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{footnote-xepersian.def}[2017/08/09 v0.6 footnote macros for xepersian package]
+
+\renewcommand*{\bidi@@footnotetext@font}{\footnotesize\if@RTL@footnote\else\resetlatinfont\fi}
+
+\renewcommand*{\bidi@@LTRfootnotetext@font}{\footnotesize\resetlatinfont}
+
+\renewcommand*{\bidi@@RTLfootnotetext@font}{\footnotesize\setpersianfont}
+
+\endinput
+%%
+%% End of file `footnote-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
new file mode 100644
index 00000000000..57fa833aaab
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
@@ -0,0 +1,52 @@
+%%
+%% This is file `framed-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,framed-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{framed-xepersian.def}[2012/06/05 v0.1 xepersian adaptations for framed package for XeTeX engine]
+\renewenvironment{titled-frame}[1]{%
+ \def\FrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame{\textbf{#1}}}%
+ \def\FirstFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1}}}%
+ \def\MidFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1\ (\if@RTL ادامه\else cont\fi)}}}%
+ \def\LastFrameCommand{\fboxsep8pt\fboxrule2pt
+ \TitleBarFrame{\textbf{#1\ (\if@RTL ادامه\else cont\fi)}}}%
+ \MakeFramed{\advance\hsize-20pt \FrameRestore}}%
+ {\endMakeFramed}
+\endinput
+%%
+%% End of file `framed-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
new file mode 100644
index 00000000000..df0d28dc684
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
@@ -0,0 +1,44 @@
+%%
+%% This is file `glossaries-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,glossaries-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{glossaries-xepersian.def}[2014/09/04 v0.4 xepersian adaptations for glossaries package for XeTeX engine]
+\glsaddprotectedpagefmt{@harfi}
+\glsaddprotectedpagefmt{@tartibi}
+\glsaddprotectedpagefmt{@adadi}
+\endinput
+%%
+%% End of file `glossaries-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
new file mode 100644
index 00000000000..14fd3bab16c
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
@@ -0,0 +1,85 @@
+%%
+%% This is file `hyperref-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,hyperref-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{hyperref-xepersian.def}[2015/02/02 v0.6 bilingual captions for hyperref package]
+ \def\equationautorefname{\if@RTL معادله\else Equation\fi}%
+ \def\footnoteautorefname{\if@RTL زیرنویس\else footnote\fi}%
+ \def\itemautorefname{\if@RTL فقره\else item\fi}%
+ \def\figureautorefname{\if@RTL شکل\else Figure\fi}%
+ \def\tableautorefname{\if@RTL جدول\else Table\fi}%
+ \def\partautorefname{\if@RTL بخش\else Part\fi}%
+ \def\appendixautorefname{\if@RTL ضمیمه\else Appendix\fi}%
+ \def\chapterautorefname{\if@RTL فصل\else chapter\fi}%
+ \def\sectionautorefname{\if@RTL قسمت\else section\fi}%
+ \def\subsectionautorefname{\if@RTL زیرقسمت\else subsection\fi}%
+ \def\subsubsectionautorefname{\if@RTL زیرزیرقسمت\else subsubsection\fi}%
+ \def\paragraphautorefname{\if@RTL پاراگراف\else paragraph\fi}%
+ \def\subparagraphautorefname{\if@RTL زیرپاراگراف\else subparagraph\fi}%
+ \def\FancyVerbLineautorefname{\if@RTL سطر\else line\fi}%
+ \def\theoremautorefname{\if@RTL قضیه\else Theorem\fi}%
+ \def\pageautorefname{\if@RTL صفحه\else page\fi}%
+\AtBeginDocument{%
+\let\HyOrg@appendix\appendix
+\def\appendix{%
+ \ltx@IfUndefined{chapter}%
+ {\gdef\theHsection{\Alph{section}}}%
+ {\gdef\theHchapter{\Alph{chapter}}}%
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \HyOrg@appendix
+}
+}
+\pdfstringdefDisableCommands{%
+\let\lr\@firstofone
+\let\rl\@firstofone
+\def\XePersian{XePersian}
+}
+\ltx@IfUndefined{@resets@pp}{%
+}{%
+ \let\HyOrg@resets@pp\@resets@pp
+ \def\@resets@pp{%
+ \ltx@IfUndefined{chapter}{%
+ \gdef\theHsection{\Hy@AlphNoErr{section}}%
+ }{%
+ \gdef\theHchapter{\Hy@AlphNoErr{chapter}}%
+ }%
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \HyOrg@resets@pp
+ }%
+}
+\endinput
+%%
+%% End of file `hyperref-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
new file mode 100644
index 00000000000..14bb380ff21
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
@@ -0,0 +1,47 @@
+%%
+%% This is file `imsproc-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,imsproc-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{imsproc-xepersian.def}[2017/06/09 v0.5 xepersian adaptations for imsproc class for XeTeX engine]
+
+\renewcommand \thepart {\@tartibi\c@part}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@harfi\c@section}}
+
+\endinput
+%%
+%% End of file `imsproc-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
new file mode 100644
index 00000000000..4ff9c9e8c61
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
@@ -0,0 +1,97 @@
+%%
+%% This is file `kashida-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,kashida-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{kashida-xepersian.def}[2020/05/16 v0.8 implementation of Kashida for xepersian package]
+\chardef\xepersian@zwj="200D % zero-width joiner
+\chardef\xepersian@lrm="200E % left to right mark
+\chardef\xepersian@kashidachar="0640 % kashida
+
+\chardef\xepersian@D=10 % dual-joiner class
+\chardef\xepersian@L=11 % lam
+\chardef\xepersian@R=12 % right-joiner
+\chardef\xepersian@A=13 % alef
+\chardef\xepersian@V=4096 % vowel or other combining mark (to be ignored)
+\newif\if@Kashida@on
+\def\xepersian@kashida{%
+ \if@Kashida@on
+ \xepersian@zwj
+ \xepersian@lrm
+ \nobreak
+ \leaders\hrule height \XeTeXglyphbounds\tw@
+ \the\XeTeXcharglyph\xepersian@kashidachar
+ depth \XeTeXglyphbounds\f@ur
+ \the\XeTeXcharglyph\xepersian@kashidachar
+ \hskip0pt plus 0.5em
+ \xepersian@zwj
+ \fi
+}
+
+\def\setclass#1#2{\def\theclass{#1}\def\charlist{#2}%
+ \expandafter\dosetclass\charlist,\end}
+\def\dosetclass#1,#2\end{%
+ \def\test{#1}\def\charlist{#2}%
+ \ifx\test\empty\let\next\finishsetclass
+ \else \XeTeXcharclass "\test = \theclass
+ \let\next\dosetclass \fi
+ \expandafter\next\charlist,,\end}
+\def\finishsetclass#1,,\end{}
+
+\setclass \xepersian@A {0622,0623,0625,0627}
+\setclass \xepersian@R {0624,0629,062F,0630,0631,0632,0648,0698}
+\setclass \xepersian@D {0626,0628,062A,062B,062C,062D,062E}
+\setclass \xepersian@D {0633,0634,0635,0636,0637,0638,0639,063A}
+\setclass \xepersian@D {0640,0641,0642,0643,0645,0646,0647,0649,064A}
+\setclass \xepersian@D {067E,0686,06A9,06AF,06CC}
+\setclass \xepersian@L {0644}
+\setclass \xepersian@V {064B,064C,064D,064E,064F,0650,0651,0652}
+
+\XeTeXinterchartoks \xepersian@D \xepersian@D = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@D = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@D \xepersian@A = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@A = {}
+
+\newcommand{\KashidaOn}{\@Kashida@ontrue}
+\newcommand{\KashidaOff}{\@Kashida@onfalse}
+
+\KashidaOn
+\endinput
+%%
+%% End of file `kashida-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def
new file mode 100644
index 00000000000..006ea95c363
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def
@@ -0,0 +1,984 @@
+%%
+%% This is file `latex-localise-commands-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,latex-localise-commands-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{latex-localise-commands-xepersian.def}[2014/02/05 v0.3 Persian localisation of LaTeX2e commands]
+\eqcommand{شمع‌جدول}{@arstrut}
+\eqcommand{فوق}{above}
+\eqcommand{فاصله‌کوتاه‌بالای‌نمایش}{abovedisplayshortskip}
+\eqcommand{فاصله‌بالای‌نمایش}{abovedisplayskip}
+\eqcommand{عنوان‌چکیده}{abstractname}
+\eqcommand{اکسنت}{accent}
+\eqcommand{فعال}{active}
+\eqcommand{بیفزاسطرفهرست}{addcontentsline}
+\eqcommand{اضافه‌برجریمه}{addpenalty}
+\eqcommand{نشانی}{address}
+\eqcommand{بیفزابه‌فهرست}{addtocontents}
+\eqcommand{اضافه‌برشمارنده}{addtocounter}
+\eqcommand{اضافه‌بربعد}{addtolength}
+\eqcommand{بیفزافضای‌و}{addvspace}
+\eqcommand{تنظیم‌بدنمایی}{adjdemerits}
+\eqcommand{بیفزابر}{advance}
+\eqcommand{بعدازانتساب}{afterassignment}
+\eqcommand{بعدازگروه}{aftergroup}
+\eqcommand{الف}{aleph}
+\eqcommand{خصیصه‌مستعارقلم}{aliasfontfeature}
+\eqcommand{انتخاب‌خصیصه‌مستعارقلم}{aliasfontfeatureoption}
+\eqcommand{شکستنی}{allowbreak}
+\eqcommand{تخصی@}{alloc@}
+\eqcommand{تخصیص‌یافته}{allocationnumber}
+\eqcommand{شکست‌نمایش‌مجاز}{allowdisplaybreaks}
+\eqcommand{حروف‌بزرگ}{Alph}
+\eqcommand{حروف‌کوچک}{alph}
+\eqcommand{نام‌همچنین}{alsoname}
+\eqcommand{و}{and}
+\eqcommand{زاویه}{angle}
+\eqcommand{عنوان‌پیوست}{appendixname}
+\eqcommand{تقریب}{approx}
+\eqcommand{عربی}{arabic}
+\eqcommand{آرگ}{arg}
+\eqcommand{رنگ‌خط‌جدول}{arrayrulecolor}
+\eqcommand{فاصله‌ستونهای‌آرایه}{arraycolsep}
+\eqcommand{ضخامت‌خط‌جدول}{arrayrulewidth}
+\eqcommand{کشیدگی‌آرایه}{arraystretch}
+\eqcommand{درآغازنوشتار}{AtBeginDocument}
+\eqcommand{درپایان‌نوشتار}{AtEndDocument}
+\eqcommand{درانتهای‌طبقه}{AtEndOfClass}
+\eqcommand{درانتهای‌سبک}{AtEndOfPackage}
+\eqcommand{نویسنده}{author}
+\eqcommand{مطلب‌پشت}{backmatter}
+\eqcommand{شکاف‌پشت}{backslash}
+\eqcommand{بدنمایی}{badness}
+\eqcommand{میله}{bar}
+\eqcommand{فاصله‌کرسی}{baselineskip}
+\eqcommand{کشش‌فاصله‌کرسی}{baselinestretch}
+\eqcommand{پردازش‌دسته‌ای}{batchmode}
+\eqcommand{شروع}{begin}
+\eqcommand{شروع‌چپ}{beginL}
+\eqcommand{شروع‌راست}{beginR}
+\eqcommand{شروع‌گروه}{begingroup}
+\eqcommand{فاصله‌کوتاه‌پایین‌نمایش}{belowdisplayshortskip}
+\eqcommand{فاصله‌پایین‌نمایش}{belowdisplayskip}
+\eqcommand{سیاه}{bf}
+\eqcommand{پیش‌فرض‌سیاه}{bfdefault}
+\eqcommand{شمایل‌سیاه}{bfseries}
+\eqcommand{شرگروه}{bgroup}
+\eqcommand{مرجوع}{bibitem}
+\eqcommand{کتاب‌نامه}{bibliography}
+\eqcommand{سبک‌کتاب‌نامه}{bibliographystyle}
+\eqcommand{عنوان‌کتاب‌نامه}{bibname}
+\eqcommand{پرش‌بلند}{bigskip}
+\eqcommand{مقدارپرش‌بلند}{bigskipamount}
+\eqcommand{خط‌پایین‌شناور}{botfigrule}
+\eqcommand{علامت‌پایین}{botmark}
+\eqcommand{کادرتاپایین}{bottompageskip}
+\eqcommand{نسبت‌پایین}{bottomfraction}
+\eqcommand{کادر}{box}
+\eqcommand{حداکثرعمق‌کادر}{boxmaxdepth}
+\eqcommand{بشکن}{break}
+\eqcommand{گلوله}{bullet}
+\eqcommand{دوپن@پنج}{@cclv}
+\eqcommand{دوپن@شش}{@cclvi}
+\eqcommand{شرح}{caption}
+\eqcommand{کدرده}{catcode}
+\eqcommand{رونوشت}{cc}
+\eqcommand{نام‌رونوشت}{ccname}
+\eqcommand{نقطه‌وسط}{cdot}
+\eqcommand{نقاط‌وسط}{cdots}
+\eqcommand{تنظیم‌ازوسط}{centering}
+\eqcommand{خط‌وسط}{centerline}
+\eqcommand{چک@ن}{ch@ck}
+\eqcommand{فصل}{chapter}
+\eqcommand{عنوان‌فصل}{chaptername}
+\eqcommand{نویسه}{char}
+\eqcommand{تعریف‌نویسه}{chardef}
+\eqcommand{برسی‌فرمان}{CheckCommand}
+\eqcommand{مرجع}{cite}
+\eqcommand{خطای‌طبقه}{ClassError}
+\eqcommand{اطلاع‌طبقه}{ClassInfo}
+\eqcommand{هشدارطبقه}{ClassWarning}
+\eqcommand{هشدارطبقه‌بی‌سطر}{ClassWarningNoLine}
+\eqcommand{نشانگرمرکزی}{cleaders}
+\eqcommand{دوصفحه‌پاک}{cleardoublepage}
+\eqcommand{صفحه‌پاک}{clearpage}
+\eqcommand{خط‌ناپر}{cline}
+\eqcommand{ببندورودی}{closein}
+\eqcommand{ببندخروجی}{closeout}
+\eqcommand{بستن}{closing}
+\eqcommand{جریمه‌سربند}{clubpenalty}
+\eqcommand{خاج}{clubsuit}
+\eqcommand{علامت‌پایین‌ستون‌اول}{colbotmark}
+\eqcommand{علامت‌اول‌ستون‌اول}{colfirstmark}
+\eqcommand{رنگ}{color}
+\eqcommand{کادررنگ}{colorbox}
+\eqcommand{علامت‌بالای‌ستون‌اول}{coltopmark}
+\eqcommand{رنگ‌ستون}{columncolor}
+\eqcommand{بین‌ستون}{columnsep}
+\eqcommand{پهنای‌ستون}{columnwidth}
+\eqcommand{خط‌بین‌ستون}{columnseprule}
+\eqcommand{سطرفهرست}{contentsline}
+\eqcommand{عنوان‌فهرست‌مطالب}{contentsname}
+\eqcommand{کپی}{copy}
+\eqcommand{حق‌تالیف}{copyright}
+\eqcommand{شمار}{count}
+\eqcommand{شمار@}{count@}
+\eqcommand{تعریف‌شمار}{countdef}
+\eqcommand{سخ}{cr}
+\eqcommand{سخ‌سخ}{crcr}
+\eqcommand{نام‌فرمان}{csname}
+\eqcommand{گزینه‌جاری}{CurrentOption}
+\eqcommand{کادربینابین}{dashbox}
+\eqcommand{بینابین‌ع}{dashv}
+\eqcommand{@تاریخ}{@date}
+\eqcommand{تاریخ}{date}
+\eqcommand{روز}{day}
+\eqcommand{خط‌پایین‌شناورپهن}{dblbotfigrule}
+\eqcommand{نسبت‌پهن‌پایین}{dblbottomfraction}
+\eqcommand{خط‌بالای‌شناورپهن}{dblfigrule}
+\eqcommand{نسبت‌صفحه‌شناورپهن}{dblfloatpagefraction}
+\eqcommand{فاصله‌بین‌شناورپهن}{dblfloatsep}
+\eqcommand{کدمکان‌غیرهمانطور}{dblfntlocatecode}
+\eqcommand{فاصله‌متن‌وشناورپهن}{dbltextfloatsep}
+\eqcommand{نسبت‌پهن‌بالا}{dbltopfraction}
+\eqcommand{اعلان‌قلم‌ثابت}{DeclareFixedFont}
+\eqcommand{اعلان‌پسوندگرافیک}{DeclareGraphicsExtensions}
+\eqcommand{اعلان‌دستورگرافیک}{DeclareGraphicsRule}
+\eqcommand{اعلان‌فرمان‌قلم‌قدیمی}{DeclareOldFontCommand}
+\eqcommand{اعلان‌گزینه}{DeclareOption}
+\eqcommand{اعلان‌فرمان‌قوی}{DeclareRobustCommand}
+\eqcommand{اعلان‌قلم‌علائم}{DeclareSymbolFont}
+\eqcommand{دوربسته}{deadcycles}
+\eqcommand{تر}{def}
+\eqcommand{تعریف@کلید}{define@key}
+\eqcommand{تعریف‌رنگ}{definecolor}
+\eqcommand{درجه}{deg}
+\eqcommand{کدجداساز}{delcode}
+\eqcommand{جداساز}{delimiter}
+\eqcommand{ضریب‌جداساز}{delimiterfactor}
+\eqcommand{گودی}{depth}
+\eqcommand{خشت}{diamondsuit}
+\eqcommand{ابعاد}{dim}
+\eqcommand{بعد}{dimen}
+\eqcommand{بعد@}{dimen@}
+\eqcommand{بعد@یک}{dimen@i}
+\eqcommand{بعد@دو}{dimen@ii}
+\eqcommand{تعریف‌بعد}{dimendef}
+\eqcommand{تیره‌گذاری}{discretionary}
+\eqcommand{شکست‌نمایش}{displaybreak}
+\eqcommand{تورفتگی‌نمایش}{displayindent}
+\eqcommand{سبک‌نمایش}{displaystyle}
+\eqcommand{عرض‌نمایش}{displaywidth}
+\eqcommand{تقسیم}{divide}
+\eqcommand{طبقه‌نوشتار}{documentclass}
+\eqcommand{کن}{do}
+\eqcommand{تعویض‌کدها}{dospecials}
+\eqcommand{نقطه}{dot}
+\eqcommand{نقطه‌مساوی}{doteq}
+\eqcommand{پرنقطه‌ا}{dotfill}
+\eqcommand{نقاط}{dots}
+\eqcommand{کادردولا}{doublebox}
+\eqcommand{رنگ‌فاصله‌دوخط‌جدول}{doublerulesepcolor}
+\eqcommand{فاصله‌بین‌دوخط}{doublerulesep}
+\eqcommand{فلش‌پایین}{downarrow}
+\eqcommand{عمق}{dp}
+\eqcommand{تخلیه}{dump}
+\eqcommand{ترگ}{edef}
+\eqcommand{پاگروه}{egroup}
+\eqcommand{انتهای‌فاصله}{eject}
+\eqcommand{گرنه}{else}
+\eqcommand{تاکید}{em}
+\eqcommand{کشش‌لاجرم}{emergencystretch}
+\eqcommand{موکد}{emph}
+\eqcommand{@پوچ}{@empty}
+\eqcommand{پوچ}{empty}
+\eqcommand{مجموعه‌پوچ}{emptyset}
+\eqcommand{پایان}{end}
+\eqcommand{پایان‌چپ}{endL}
+\eqcommand{پایان‌راست}{endR}
+\eqcommand{پایان‌نام‌فرمان}{endcsname}
+\eqcommand{پایان‌اولین‌سر}{endfirsthead}
+\eqcommand{پایان‌پا}{endfoot}
+\eqcommand{ته‌بند}{endgraf}
+\eqcommand{پایان‌گروه}{endgroup}
+\eqcommand{پایان‌سر}{endhead}
+\eqcommand{پایان‌ورودی}{endinput}
+\eqcommand{پایان‌آخرین‌پا}{endlastfoot}
+\eqcommand{گسترش‌این‌صفحه}{enlargethispage}
+\eqcommand{ته‌سطر}{endline}
+\eqcommand{نویسه‌ته‌سطر}{endlinechar}
+\eqcommand{ان‌دوری}{enspace}
+\eqcommand{ان‌فاصله}{enskip}
+\eqcommand{فرمان‌جانشین}{eqcommand}
+\eqcommand{محیط‌جانشین}{eqenvironment}
+\eqcommand{ارجاع‌فر}{eqref}
+\eqcommand{کمک‌خطا}{errhelp}
+\eqcommand{پیام‌خطا}{errmessage}
+\eqcommand{سطرمتن‌خطا}{errorcontextlines}
+\eqcommand{پردازش‌توقف‌خطا}{errorstopmode}
+\eqcommand{نویسه‌ویژه}{escapechar}
+\eqcommand{یورو}{euro}
+\eqcommand{حاشیه‌زوج}{evensidemargin}
+\eqcommand{هرسخ}{everycr}
+\eqcommand{هرنمایش}{everydisplay}
+\eqcommand{هرکادرا}{everyhbox}
+\eqcommand{هرکار}{everyjob}
+\eqcommand{هرریاضی}{everymath}
+\eqcommand{هربند}{everypar}
+\eqcommand{هرکادرو}{everyvbox}
+\eqcommand{اجرای‌گزینه‌ها}{ExecuteOptions}
+\eqcommand{جریمه‌اضافی‌تیره‌بندی}{exhyphenpenalty}
+\eqcommand{بگسترپس‌از}{expandafter}
+\eqcommand{فاصله‌اضافی‌بین‌ستونها}{extracolsep}
+\eqcommand{@اولی‌ازیک}{@firstofone}
+\eqcommand{@اولی‌ازدو}{@firstoftwo}
+\eqcommand{چ@ار}{f@ur}
+\eqcommand{خانواده}{fam}
+\eqcommand{صفحه‌تجملی}{fancypage}
+\eqcommand{کادربا}{fbox}
+\eqcommand{ضخامت‌کادربا}{fboxrule}
+\eqcommand{حاشیه‌کادربا}{fboxsep}
+\eqcommand{کادربارنگ}{fcolorbox}
+\eqcommand{رگ}{fi}
+\eqcommand{عنوان‌شکل}{figurename}
+\eqcommand{پرشکن}{filbreak}
+\eqcommand{پر}{fill}
+\eqcommand{علامت‌اول}{firstmark}
+\eqcommand{پهن}{flat}
+\eqcommand{نسبت‌صفحه‌شناور}{floatpagefraction}
+\eqcommand{جریمه‌شناور}{floatingpenalty}
+\eqcommand{فاصله‌بین‌شناور}{floatsep}
+\eqcommand{تنظیم‌ازپایین}{flushbottom}
+\eqcommand{شکلبندی}{fmtname}
+\eqcommand{رده‌شکلبندی}{fmtversion}
+\eqcommand{نشانه}{fnsymbol}
+\eqcommand{قلم}{font}
+\eqcommand{بعدقلم}{fontdimen}
+\eqcommand{رمزینه‌قلم}{fontencoding}
+\eqcommand{فامیل‌قلم}{fontfamily}
+\eqcommand{نام‌قلم}{fontname}
+\eqcommand{شمایل‌قلم}{fontseries}
+\eqcommand{شکل‌قلم}{fontshape}
+\eqcommand{اندازه‌قلم}{fontsize}
+\eqcommand{بلندای‌پایین‌صفحه}{footheight}
+\eqcommand{درج‌زیرنویس}{footins}
+\eqcommand{زیرنویس}{footnote}
+\eqcommand{علامت‌زیرنویس}{footnotemark}
+\eqcommand{خط‌زیرنویس}{footnoterule}
+\eqcommand{فاصله‌تازیرنویس}{footnotesep}
+\eqcommand{اندازه‌زیرنویس}{footnotesize}
+\eqcommand{متن‌زیرنویس}{footnotetext}
+\eqcommand{فاصله‌تاپایین‌صفحه}{footskip}
+\eqcommand{فریم}{frame}
+\eqcommand{کادرباخط}{framebox}
+\eqcommand{فواصل‌یکنواخت‌لاتین}{frenchspacing}
+\eqcommand{مطلب‌پیش}{frontmatter}
+\eqcommand{بعدبگذار}{futurelet}
+\eqcommand{@خورحریصانه}{@gobble}
+\eqcommand{@خورحریصانه‌دو}{@gobbletwo}
+\eqcommand{@خورحریصانه‌چهار}{@gobblefour}
+\eqcommand{@عاقت‌آ}{@gtempa}
+\eqcommand{@عاقت‌ب}{@gtempb}
+\eqcommand{ترع}{gdef}
+\eqcommand{الگوی‌اطلاع}{GenericInfo}
+\eqcommand{الگوی‌هشدار}{GenericWarning}
+\eqcommand{الگوی‌خطا}{GenericError}
+\eqcommand{عام}{global}
+\eqcommand{تعاریف‌عام}{globaldefs}
+\eqcommand{لغت‌نامه}{glossary}
+\eqcommand{فقره‌فرهنگ}{glossaryentry}
+\eqcommand{خوش‌شکن}{goodbreak}
+\eqcommand{کاغذگراف}{graphpaper}
+\eqcommand{گیومه‌چپ}{guillemotleft}
+\eqcommand{گیومه‌راست}{guillemotright}
+\eqcommand{گیومه‌تکی‌چپ}{guilsinglleft}
+\eqcommand{گیومه‌تکی‌راست}{guilsinglright}
+\eqcommand{ردیف‌ا}{halign}
+\eqcommand{بروتو}{hang}
+\eqcommand{بعدازسطر}{hangafter}
+\eqcommand{تورفتگی‌ثابت}{hangindent}
+\eqcommand{بدنمایی‌ا}{hbadness}
+\eqcommand{کادرا}{hbox}
+\eqcommand{بلندای‌سرصفحه}{headheight}
+\eqcommand{فاصله‌ازسرصفحه}{headsep}
+\eqcommand{سربه‌نام}{headtoname}
+\eqcommand{دل}{heartsuit}
+\eqcommand{بلندا}{height}
+\eqcommand{پرا}{hfil}
+\eqcommand{پررا}{hfill}
+\eqcommand{رفع‌پرا}{hfilneg}
+\eqcommand{پرزافقی}{hfuzz}
+\eqcommand{فاصله‌مخفی}{hideskip}
+\eqcommand{عرض‌پنهان}{hidewidth}
+\bidi@csletcs{خط‌پر}{hline}% this is an exception
+\eqcommand{حاشیه‌ا}{hoffset}
+\eqcommand{حفظ‌درج}{holdinginserts}
+\eqcommand{فاصله‌اگرد}{hrboxsep}
+\eqcommand{خط‌ا}{hrule}
+\eqcommand{پرخط‌ا}{hrulefill}
+\eqcommand{طول‌سطر}{hsize}
+\eqcommand{فاصله‌ا}{hskip}
+\eqcommand{فضای‌ا}{hspace}
+\eqcommand{هردوا}{hss}
+\eqcommand{ارتفاع}{ht}
+\eqcommand{بزرگ}{huge}
+\eqcommand{بزرگ‌تر}{Huge}
+\eqcommand{ابرپیوند}{hyperlink}
+\eqcommand{بارگذاری‌ابر}{hypersetup}
+\eqcommand{هدف‌ابر}{hypertarget}
+\eqcommand{تیره‌بندی}{hyphenation}
+\eqcommand{نویسه‌تیره}{hyphenchar}
+\eqcommand{جریمه‌تیره‌بندی}{hyphenpenalty}
+\eqcommand{@گرکلاس‌فراخوانی‌شده}{@ifclassloaded}
+\eqcommand{@گرترشدنی}{@ifdefinable}
+\eqcommand{@گرنویسه‌بعدی}{@ifnextchar}
+\eqcommand{@گرسبک‌فراخوانی‌شده}{@ifpackageloaded}
+\eqcommand{@گرستاره}{@ifstar}
+\eqcommand{@گرتعریف‌نشده}{@ifundefined}
+\eqcommand{گر}{if}
+\eqcommand{گر@سواقت‌آ}{if@tempswa}
+\eqcommand{گرانواع}{ifcase}
+\eqcommand{گررده}{ifcat}
+\eqcommand{گرتعریف‌شده}{ifdefined}
+\eqcommand{گربعد}{ifdim}
+\eqcommand{گرته‌پرونده}{ifeof}
+\eqcommand{گرر}{iff}
+\eqcommand{گرنادرست}{iffalse}
+\eqcommand{گرپرونده‌موجود}{IfFileExists}
+\eqcommand{گرکادرا}{ifhbox}
+\eqcommand{گرحالت‌ا}{ifhmode}
+\eqcommand{گردرونی}{ifinner}
+\eqcommand{گرحالت‌ریاضی}{ifmmode}
+\eqcommand{گرعدد}{ifnum}
+\eqcommand{گرفرد}{ifodd}
+\eqcommand{گرآنگاه‌دیگر}{ifthenelse}
+\eqcommand{گردرست}{iftrue}
+\eqcommand{گرکادرو}{ifvbox}
+\eqcommand{گرحالت‌و}{ifvmode}
+\eqcommand{گرتهی}{ifvoid}
+\eqcommand{گرتام}{ifx}
+\eqcommand{فاصله‌خالی‌راندیده‌بگیر}{ignorespaces}
+\eqcommand{فوری}{immediate}
+\eqcommand{شامل}{include}
+\eqcommand{درج‌تصویر}{includegraphics}
+\eqcommand{مشمولین}{includeonly}
+\eqcommand{تورفتگی}{indent}
+\eqcommand{درنمایه}{index}
+\eqcommand{استعلام}{indexentry}
+\eqcommand{عنوان‌نمایه}{indexname}
+\eqcommand{فاصله‌رهنما}{indexspace}
+\eqcommand{ورودی}{input}
+\eqcommand{ورودپرونده‌گرموجود}{InputIfFileExists}
+\eqcommand{شماره‌سطرورودی}{inputlineno}
+\eqcommand{درج}{insert}
+\eqcommand{جریمه‌درج}{insertpenalties}
+\eqcommand{جریمه‌بین‌سطرهای‌زیرنویس}{interfootnotelinepenalty}
+\eqcommand{جریمه‌بین‌سطرهای‌نمایش}{interdisplaylinepenalty}
+\eqcommand{جریمه‌بین‌سطرها}{interlinepenalty}
+\eqcommand{متن‌داخلی}{intertext}
+\eqcommand{فاصله‌شناوردرمتن}{intertextsep}
+\eqcommand{مخفی}{invisible}
+\eqcommand{پیش‌فرض‌ای}{itdefault}
+\eqcommand{شکل‌ایتالیک}{itshape}
+\eqcommand{فقره}{item}
+\eqcommand{تورفتگی‌فقره}{itemindent}
+\eqcommand{فاصله‌فقره}{itemsep}
+\eqcommand{تکرارکن}{iterate}
+\eqcommand{شکل‌ای}{itshape}
+\eqcommand{نام‌کار}{jobname}
+\eqcommand{قلپ}{jot}
+\eqcommand{دوری}{kern}
+\eqcommand{الگو}{kill}
+\eqcommand{برچسب}{label}
+\eqcommand{برچسب‌شمارش‌یک}{labelenumi}
+\eqcommand{برچسب‌شمارش‌دو}{labelenumii}
+\eqcommand{برچسب‌شمارش‌سه}{labelenumiii}
+\eqcommand{برچسب‌شمارش‌چهار}{labelenumiv}
+\eqcommand{برچسب‌فقره‌یک}{labelitemi}
+\eqcommand{برچسب‌فقره‌دو}{labelitemii}
+\eqcommand{برچسب‌فقره‌سه}{labelitemiii}
+\eqcommand{برچسب‌فقره‌چهار}{labelitemiv}
+\eqcommand{فاصله‌ازبرچسب}{labelsep}
+\eqcommand{پهنای‌برچسب}{labelwidth}
+\eqcommand{زبان}{language}
+\eqcommand{درشت}{large}
+\eqcommand{درشت‌تر}{Large}
+\eqcommand{درشت‌درشت}{LARGE}
+\eqcommand{آخرین‌کادر}{lastbox}
+\eqcommand{آخرین‌دوری}{lastkern}
+\eqcommand{آخرین‌جریمه}{lastpenalty}
+\eqcommand{آخرین‌فاصله}{lastskip}
+\eqcommand{لاتک}{LaTeX}
+\eqcommand{لاتک‌ای}{LaTeXe}
+\eqcommand{کدکوچک}{lccode}
+\eqcommand{نقاط‌خ}{ldots}
+\eqcommand{نشانگر}{leaders}
+\eqcommand{ترک‌و}{leavevmode}
+\eqcommand{چپ}{left}
+\eqcommand{حاشیه‌چپ}{leftmargin}
+\eqcommand{حاشیه‌چپ‌یک}{leftmargini}
+\eqcommand{حاشیه‌چپ‌دو}{leftmarginii}
+\eqcommand{حاشیه‌چپ‌سه}{leftmarginiii}
+\eqcommand{حاشیه‌چپ‌چهار}{leftmarginiv}
+\eqcommand{حاشیه‌چپ‌پنج}{leftmarginv}
+\eqcommand{حاشیه‌چپ‌شش}{leftmarginvi}
+\eqcommand{علامت‌چپ}{leftmark}
+\eqcommand{کادرتاچپ}{leftpageskip}
+\eqcommand{فاصله‌ابتدای‌سطر}{leftskip}
+\eqcommand{بگذار}{let}
+\eqcommand{سطر}{line}
+\eqcommand{سطرشکن}{linebreak}
+\eqcommand{جریمه‌سطر}{linepenalty}
+\eqcommand{فاصله‌سطرها}{lineskip}
+\eqcommand{حدفاصله‌سطر}{lineskiplimit}
+\eqcommand{کشش‌فاصله‌سطر}{linespread}
+\eqcommand{ضخامت‌خط}{linethickness}
+\eqcommand{پهنای‌سطر}{linewidth}
+\eqcommand{عنوان‌فهرست‌اشکال}{listfigurename}
+\eqcommand{لیست‌پرونده‌ها}{listfiles}
+\eqcommand{فهرست‌اشکال}{listoffigures}
+\eqcommand{فهرست‌جداول}{listoftables}
+\eqcommand{تورفتگی‌بندلیست}{listparindent}
+\eqcommand{عنوان‌فهرست‌جداول}{listtablename}
+\eqcommand{بارکن‌طبقه}{LoadClass}
+\eqcommand{بارکن‌طبقه‌باگزینه}{LoadClassWithOptions}
+\eqcommand{مکان}{location}
+\eqcommand{بلند}{long}
+\eqcommand{گسیختگی}{looseness}
+\eqcommand{انتقال‌بپایین}{lower}
+\eqcommand{@دیگر}{@makeother}
+\eqcommand{@زار}{@m}
+\eqcommand{ده@زار}{@M}
+\eqcommand{ده@زاریک}{@Mi}
+\eqcommand{ده@زاردو}{@Mii}
+\eqcommand{ده@زارسه}{@Miii}
+\eqcommand{ده@زارچهار}{@Miv}
+\eqcommand{بیس@زار}{@MM}
+\eqcommand{من@ا}{m@ne}
+\eqcommand{بزرگ‌نمایی}{mag}
+\eqcommand{گام}{magstep}
+\eqcommand{نیم‌گام}{magstephalf}
+\eqcommand{مطلب‌اصلی}{mainmatter}
+\eqcommand{ات‌حرف}{makeatletter}
+\eqcommand{ات‌دیگر}{makeatother}
+\eqcommand{کادربی‌خط}{makebox}
+\eqcommand{ساخت‌فرهنگ}{makeglossary}
+\eqcommand{تهیه‌نمایه}{makeindex}
+\eqcommand{ساخت‌برچسب}{makelabel}
+\eqcommand{ساخت‌برچسب‌ها}{makelabels}
+\eqcommand{ساخت‌حروف‌کوچک}{MakeLowercase}
+\eqcommand{عنوان‌ساز}{maketitle}
+\eqcommand{ساخت‌حروف‌بزرگ}{MakeUppercase}
+\eqcommand{درحاشیه}{marginpar}
+\eqcommand{فاصله‌دوحاشیه}{marginparpush}
+\eqcommand{فاصله‌تاحاشیه}{marginparsep}
+\eqcommand{پهنای‌حاشیه}{marginparwidth}
+\eqcommand{علامت}{mark}
+\eqcommand{علامت‌دردوطرف}{markboth}
+\eqcommand{علامت‌درراست}{markright}
+\eqcommand{اعراب‌ریاضی}{mathaccent}
+\eqcommand{نویسه‌ریاضی}{mathchar}
+\eqcommand{تعریف‌نویسه‌ریاضی}{mathchardef}
+\eqcommand{کدریاضی}{mathcode}
+\eqcommand{ریاضی‌رومن}{mathrm}
+\eqcommand{حداکثرتکرار}{maxdeadcycles}
+\eqcommand{حداکثرعمق‌صفحه}{maxdepth}
+\eqcommand{بعدبیشین}{maxdimen}
+\eqcommand{کادربی}{mbox}
+\eqcommand{شمایل‌نازک}{mdseries}
+\eqcommand{معنا}{meaning}
+\eqcommand{نازک}{mediumseries}
+\eqcommand{فاصله‌متوسط‌ریاضی}{medmuskip}
+\eqcommand{پرش‌متوسط}{medskip}
+\eqcommand{مقدارپرش‌متوسط}{medskipamount}
+\eqcommand{فضای‌متوسط}{medspace}
+\eqcommand{پیام}{message}
+\eqcommand{پیام‌شکن}{MessageBreak}
+\eqcommand{حداقل‌فاصله‌ردیف}{minrowclearance}
+\eqcommand{دوری‌ریاضی}{mkern}
+\eqcommand{ماه}{month}
+\eqcommand{انتقال‌بچپ}{moveleft}
+\eqcommand{انتقال‌براست}{moveright}
+\eqcommand{فاصله‌ریاضی}{mskip}
+\eqcommand{ری@ضی}{m@th}
+\eqcommand{چندستونی}{multicolumn}
+\eqcommand{ضرب}{multiply}
+\eqcommand{چندادغام}{multispan}
+\eqcommand{میوفاصله}{muskip}
+\eqcommand{تعریف‌میوفاصله}{muskipdef}
+\eqcommand{@ترنام}{@namedef}
+\eqcommand{@کاربردنام}{@nameuse}
+\eqcommand{یک@}{@ne}
+\eqcommand{نام}{name}
+\eqcommand{طبیعی}{natural}
+\eqcommand{باریک}{nearrow}
+\eqcommand{باریکتر}{nearrower}
+\eqcommand{شکلبندی‌موردنیاز}{NeedsTeXFormat}
+\eqcommand{منفی}{neg}
+\eqcommand{فضای‌متوسط‌منفی}{negmedspace}
+\eqcommand{فضای‌ضخیم‌منفی}{negthickspace}
+\eqcommand{دوری‌کوچک‌منفی}{negthinspace}
+\eqcommand{بولی‌نو}{newboolean}
+\eqcommand{کادرجدید}{newbox}
+\eqcommand{فرمان‌نو}{newcommand}
+\eqcommand{شمارجدید}{newcount}
+\eqcommand{شمارنده‌جدید}{newcounter}
+\eqcommand{بعدجدید}{newdimen}
+\eqcommand{محیط‌نو}{newenvironment}
+\eqcommand{خانواده‌جدید}{newfam}
+\eqcommand{قلم‌نو}{newfont}
+\eqcommand{کمک‌جدید}{newhelp}
+\eqcommand{درج‌جدید}{newinsert}
+\eqcommand{برچسب‌جدید}{newlabel}
+\eqcommand{تعریف‌بعدجدید}{newlength}
+\eqcommand{سطرجدید}{newline}
+\eqcommand{نویسه‌سطرجدید}{newlinechar}
+\eqcommand{میوفاصله‌جدید}{newmuskip}
+\eqcommand{صفحه‌جدید}{newpage}
+\eqcommand{بخوان‌جدید}{newread}
+\eqcommand{تعریف‌کادرجدید}{newsavebox}
+\eqcommand{فاصله‌جدید}{newskip}
+\eqcommand{قضیه‌جدید}{newtheorem}
+\eqcommand{جزءجدید}{newtoks}
+\eqcommand{بنویس‌جدید}{newwrite}
+\eqcommand{بی‌ردیف}{noalign}
+\eqcommand{نشکن}{nobreak}
+\eqcommand{فاصله‌نشکستنی}{nobreakspace}
+\eqcommand{بدون‌سند}{nocite}
+\eqcommand{نگستر}{noexpand}
+\eqcommand{بدون‌پرونده}{nofiles}
+\eqcommand{بدون‌تورفتگی}{noindent}
+\eqcommand{بی‌فاصله‌سطر}{nointerlineskip}
+\eqcommand{بدون‌حد}{nolimits}
+\eqcommand{سطرنشکن}{nolinebreak}
+\eqcommand{پردازش‌بدون‌توقف}{nonstopmode}
+\eqcommand{فواصل‌متعارف‌لاتین}{nonfrenchspacing}
+\eqcommand{بدون‌شماره}{nonumber}
+\eqcommand{صفحه‌نشکن}{nopagebreak}
+\eqcommand{کرسیهای‌متعارف}{normalbaselines}
+\eqcommand{فاصله‌کرسی‌متعارف}{normalbaselineskip}
+\eqcommand{رنگ‌عادی}{normalcolor}
+\eqcommand{قلم‌عادی}{normalfont}
+\eqcommand{فاصله‌سطرمتعارف}{normallineskip}
+\eqcommand{حدفاصله‌سطرمتعارف}{normallineskiplimit}
+\eqcommand{درحاشیه‌عادی}{normalmarginpar}
+\eqcommand{اندازه‌عادی}{normalsize}
+\eqcommand{بدون‌اتیکت}{notag}
+\eqcommand{نول}{null}
+\eqcommand{قلم‌تهی}{nullfont}
+\eqcommand{عدد}{number}
+\eqcommand{سطرعددی}{numberline}
+\eqcommand{شماره‌مطابق}{numberwithin}
+\eqcommand{پایین‌صفحه‌زوج}{@evenfoot}
+\eqcommand{بالای‌صفحه‌زوج}{@evenhead}
+\eqcommand{پایین‌صفحه‌فرد}{@oddfoot}
+\eqcommand{بالای‌صفحه‌فرد}{@oddhead}
+\eqcommand{شماره‌بیرون‌درست}{@outeqntrue}
+\eqcommand{شماره‌بیرون‌نادرست}{@outeqnfalse}
+\eqcommand{سطربه‌سطر}{obeylines}
+\eqcommand{فضافعال}{obeyspaces}
+\eqcommand{حاشیه‌فرد}{oddsidemargin}
+\eqcommand{سطوربی‌فاصله}{offinterlineskip}
+\eqcommand{حذف}{omit}
+\eqcommand{@تنهادرپیش‌درآمد}{@onlypreamble}
+\eqcommand{یک‌ستون}{onecolumn}
+\eqcommand{تنها‌یادداشت‌ها}{onlynotes}
+\eqcommand{تنهااسلایدها}{onlyslides}
+\eqcommand{بازکن‌ورودی}{openin}
+\eqcommand{بازکن‌خروجی}{openout}
+\eqcommand{گزینه‌مصرف‌نشده}{OptionNotUsed}
+\eqcommand{یا}{or}
+\eqcommand{برونی}{outer}
+\eqcommand{صفحه‌بندی}{output}
+\eqcommand{جریمه‌صفحه‌بندی}{outputpenalty}
+\eqcommand{علامت‌سرریز}{overfullrule}
+\eqcommand{@فرمان‌های‌پیش‌درآمد}{@preamblecmds}
+\eqcommand{@پو}{p@}
+\eqcommand{خطای‌سبک}{PackageError}
+\eqcommand{اطلاع‌سبک}{PackageInfo}
+\eqcommand{هشدارسبک}{PackageWarning}
+\eqcommand{هشدارسبک‌بی‌سطر}{PackageWarningNoLine}
+\eqcommand{صفحه‌شکن}{pagebreak}
+\eqcommand{رنگ‌صفحه}{pagecolor}
+\eqcommand{عمق‌صفحه}{pagedepth}
+\eqcommand{کشش‌پرررصفحه}{pagefilllstretch}
+\eqcommand{کشش‌پررصفحه}{pagefillstretch}
+\eqcommand{کشش‌پرصفحه}{pagefilstretch}
+\eqcommand{غایت‌صفحه}{pagegoal}
+\eqcommand{نام‌صفحه}{pagename}
+\eqcommand{شماره‌گذاری‌صفحه}{pagenumbering}
+\eqcommand{رجوع‌صفحه}{pageref}
+\eqcommand{ضخامت‌خط‌صفحه}{pagerulewidth}
+\eqcommand{فشردگی‌صفحه}{pageshrink}
+\eqcommand{کشش‌صفحه}{pagestretch}
+\eqcommand{سبک‌صفحه}{pagestyle}
+\eqcommand{جمع‌صفحه}{pagetotal}
+\eqcommand{بلندای‌کاغذ}{paperheight}
+\eqcommand{پهنای‌کاغذ}{paperwidth}
+\bidi@csdefcs{بند}{par}% this is an exception since \par is redefined only in some circumstances
+\eqcommand{پاراگراف}{paragraph}
+\eqcommand{موازی}{parallel}
+\eqcommand{کادرپار}{parbox}
+\eqcommand{فاصله‌ته‌بند}{parfillskip}
+\eqcommand{تورفتگی‌سربند}{parindent}
+\eqcommand{فاصله‌بندلیست}{parsep}
+\eqcommand{شکل‌بند}{parshape}
+\eqcommand{فاصله‌بند}{parskip}
+\eqcommand{بخش}{part}
+\eqcommand{عنوان‌بخش}{partname}
+\eqcommand{فاصله‌بالای‌لیست‌بند}{partopsep}
+\eqcommand{ارسال‌گزینه‌به‌کلاس}{PassOptionToClass}
+\eqcommand{ارسال‌گزینه‌به‌پکیج}{PassOptionToPackage}
+\eqcommand{مسیر}{path}
+\eqcommand{الگوها}{patterns}
+\eqcommand{مکث}{pausing}
+\eqcommand{جریمه}{penalty}
+\eqcommand{غیب}{phantom}
+\eqcommand{الگوی‌قبلی}{poptabs}
+\eqcommand{جریمه‌پس‌نمایش}{postdisplaypenalty}
+\eqcommand{جهت‌پیش‌نمایش}{predisplaydirection}
+\eqcommand{جریمه‌پیش‌نمایش}{predisplaypenalty}
+\eqcommand{اندازه‌پیش‌نمایش}{predisplaysize}
+\eqcommand{پیش‌حدبدنمایی}{pretolerance}
+\eqcommand{عمق‌قبلی}{prevdepth}
+\eqcommand{بندقبلی}{prevgraf}
+\eqcommand{نمایه‌دراینجا}{printindex}
+\eqcommand{پردازش‌گزینه‌ها}{ProcessOptions}
+\eqcommand{تامین}{protect}
+\eqcommand{تهیه‌فرمان}{providecommand}
+\eqcommand{آماده‌سازی‌طبقه}{ProvidesClass}
+\eqcommand{آماده‌سازی‌پرونده}{ProvidesFile}
+\eqcommand{آماده‌سازی‌سبک}{ProvidesPackage}
+\eqcommand{ثبت‌الگو}{pushtabs}
+\eqcommand{کواد}{quad}
+\eqcommand{کوکواد}{qquad}
+\eqcommand{@بازآیی‌خروج‌صفحه}{@outputpagerestore}
+\eqcommand{رادیکال}{radical}
+\eqcommand{پایین‌بی‌تنظیم}{raggedbottom}
+\eqcommand{تنظیم‌ازراست}{raggedleft}
+\eqcommand{تنظیم‌ازچپ}{raggedright}
+\eqcommand{انتقال‌ببالا}{raise}
+\eqcommand{بالابر}{raisebox}
+\eqcommand{ترفیع‌اتیکت}{raisetag}
+\eqcommand{زاویه‌ر}{rangle}
+\eqcommand{سقف‌ر}{rceil}
+\eqcommand{بخوان}{read}
+\eqcommand{رجوع}{ref}
+\eqcommand{کادرقرینه}{reflectbox}
+\eqcommand{عنوان‌مراجع}{refname}
+\eqcommand{گام‌شمارنده‌مرجع}{refstepcounter}
+\eqcommand{راحت}{relax}
+\eqcommand{رفع‌آخرین‌فاصله}{removelastskip}
+\eqcommand{فرمان‌ازنو}{renewcommand}
+\eqcommand{محیط‌ازنو}{renewenvironment}
+\eqcommand{سبک‌موردنیاز}{RequirePackage}
+\eqcommand{سبک‌موردنیازباگزینه}{RequirePackageWithOptions}
+\eqcommand{کادرکشیده}{resizebox}
+\eqcommand{درحاشیه‌معکوس}{reversemarginpar}
+\eqcommand{کف‌ر}{rfloor}
+\eqcommand{راست}{right}
+\eqcommand{حاشیه‌راست}{rightmargin}
+\eqcommand{علامت‌راست}{rightmark}
+\eqcommand{کادرتاراست}{rightpageskip}
+\eqcommand{فاصله‌انتهای‌سطر}{rightskip}
+\eqcommand{رومن‌عادی}{rmdefault}
+\eqcommand{فامیل‌رومن}{rmfamily}
+\eqcommand{رومن‌بزرگ}{Roman}
+\eqcommand{رومن‌کوچک}{roman}
+\eqcommand{عددرومی}{romannumeral}
+\eqcommand{کادرچرخان}{rotatebox}
+\eqcommand{رنگ‌ردیف}{rowcolor}
+\eqcommand{خط}{rule}
+\eqcommand{@دومی‌ازدو}{@secondoftwo}
+\eqcommand{@فضاها}{@spaces}
+\eqcommand{همین‌صفحه}{samepage}
+\eqcommand{مقدارکادر}{savebox}
+\eqcommand{مقکادر}{sbox}
+\eqcommand{کادراندازه}{scalebox}
+\eqcommand{پیش‌فرض‌تمام‌بزرگ}{scdefault}
+\eqcommand{شکل‌تمام‌بزرگ}{scshape}
+\eqcommand{مقدارکلیدها}{setkeys}
+\eqcommand{قلم‌توان}{scriptfont}
+\eqcommand{قلم‌توان‌توان}{scriptscriptfont}
+\eqcommand{سبک‌ته‌نوشت‌ته‌نوشت}{scriptscriptstyle}
+\eqcommand{اندازه‌پانویس}{scriptsize}
+\eqcommand{سبک‌ته‌نوشت}{scripstyle}
+\eqcommand{پردازش‌گذری}{scrollmode}
+\eqcommand{قسمت}{section}
+\eqcommand{تعریف‌قسمت}{secdef}
+\eqcommand{ببینید}{see}
+\eqcommand{نیزببینید}{seealso}
+\eqcommand{نام‌ببینید}{seename}
+\eqcommand{قلم‌بردار}{selectfont}
+\eqcommand{تنظیم‌بولی}{setboolean}
+\eqcommand{درکادر}{setbox}
+\eqcommand{مقدارشمارنده}{setcounter}
+\eqcommand{مقداربعد}{setlength}
+\eqcommand{تنظیم‌منها}{setminus}
+\eqcommand{تعریف‌قلم‌علائم}{SetSymbolFont}
+\eqcommand{تنظیم‌به‌عمق}{settodepth}
+\eqcommand{تنظیم‌به‌ارتفاع}{settoheight}
+\eqcommand{مقداربعدبه‌اندازه}{settowidth}
+\eqcommand{کدضریب‌فاصله}{sfcode}
+\eqcommand{پیش‌فرض‌س‌ف}{sfdefault}
+\eqcommand{فامیل‌سن‌سریف}{sffamily}
+\eqcommand{کادرسایه‌دار}{shadowbox}
+\eqcommand{تیز}{sharp}
+\eqcommand{بفرست}{shipout}
+\eqcommand{پشته‌کوتاه}{shortstack}
+\eqcommand{نمایش‌بده}{show}
+\eqcommand{نمایش‌بده‌کادر}{showbox}
+\eqcommand{میزان‌نمایش‌کادر}{showboxbreadth}
+\eqcommand{عمق‌نمایش‌کادر}{showboxdepth}
+\eqcommand{نمایش‌بده‌لیستها}{showlists}
+\eqcommand{نمایش‌بده‌محتوای}{showthe}
+\eqcommand{حالت‌ساده‌قلم}{simplefontmode}
+\eqcommand{شانزد@}{sixt@@n}
+\eqcommand{نویسه‌اریب}{skewchar}
+\eqcommand{فاصله}{skip}
+\eqcommand{فاصل@}{skip@}
+\eqcommand{تعریف‌فاصله}{skipdef}
+\eqcommand{خوابیده}{sl}
+\eqcommand{پیش‌فرض‌خو}{sldefault}
+\eqcommand{شکل‌خوابیده}{slshape}
+\eqcommand{راحت‌چین}{sloppy}
+\eqcommand{شمایل‌خو}{slshape}
+\eqcommand{کوچک}{small}
+\eqcommand{پرش‌کوتاه}{smallskip}
+\eqcommand{مقدارپرش‌کوتاه}{smallskipamount}
+\eqcommand{کوب}{smash}
+\eqcommand{لبخند}{smile}
+\eqcommand{کدمکان‌همانطور}{snglfntlocatecode}
+\eqcommand{فضا}{space}
+\eqcommand{ضریب‌فاصله}{spacefactor}
+\eqcommand{فاصله‌کلمات}{spaceskip}
+\eqcommand{پیک}{spadesuit}
+\eqcommand{ادغام}{span}
+\eqcommand{ویژه}{special}
+\eqcommand{حداکثرعمق‌ستون}{splitmaxdepth}
+\eqcommand{فاصله‌بالای‌ستون}{splittopskip}
+\eqcommand{ستاره}{star}
+\eqcommand{گام‌شمارنده}{stepcounter}
+\eqcommand{کشی}{stretch}
+\eqcommand{رشته}{string}
+\eqcommand{شمع}{strut}
+\eqcommand{کادرشمع}{strutbox}
+\eqcommand{زیربند}{subitem}
+\eqcommand{زیرپاراگراف}{subparagraph}
+\eqcommand{زیرقسمت}{subsection}
+\eqcommand{زیرپشته}{substack}
+\eqcommand{زیرزیربند}{subsubitem}
+\eqcommand{زیرزیرقسمت}{subsubsection}
+\eqcommand{زیرمجموعه}{subset}
+\eqcommand{زیرمجموعه‌مس}{subseteq}
+\eqcommand{منتهای‌صفحه}{supereject}
+\eqcommand{حذف‌مکان‌شناور}{suppressfloats}
+\eqcommand{@موقت‌آ}{@tempa}
+\eqcommand{@موقت‌ب}{@tempb}
+\eqcommand{@موقت‌پ}{@tempc}
+\eqcommand{@موقت‌ت}{@tempd}
+\eqcommand{@موقت‌ث}{@tempe}
+\eqcommand{@کادرقت‌آ}{@tempboxa}
+\eqcommand{@شماقت‌آ}{@tempcnta}
+\eqcommand{@شماقت‌ب}{@tempcntb}
+\eqcommand{@بعدقت‌آ}{@tempdima}
+\eqcommand{@بعدقت‌ب}{@tempdimb}
+\eqcommand{@بعدقت‌پ}{@tempdimc}
+\eqcommand{@فاقت‌آ}{@tempskipa}
+\eqcommand{@فاقت‌ب}{@tempskipb}
+\eqcommand{@سواقت‌آنادرست}{@tempswafalse}
+\eqcommand{@سواقت‌آدرست}{@tempswatrue}
+\eqcommand{@جزقت‌آ}{@temptokena}
+\eqcommand{انگ‌زیرنویس}{@thefnmark}
+\eqcommand{@سومی‌ازسه}{@thirdofthree}
+\eqcommand{فاصله‌جاگذاری}{tabbingsep}
+\eqcommand{فاصله‌بین‌ستونها}{tabcolsep}
+\eqcommand{فهرست‌مطالب}{tableofcontents}
+\eqcommand{عنوان‌جدول}{tablename}
+\eqcommand{فاصله‌ستونها}{tabskip}
+\eqcommand{ته‌سطرجدول}{tabularnewline}
+\eqcommand{اتیکت}{tag}
+\eqcommand{تلفن}{telephone}
+\eqcommand{تک}{TeX}
+\eqcommand{متن}{text}
+\eqcommand{گلوله‌متنی}{textbullet}
+\eqcommand{قلم‌متن}{textfont}
+\eqcommand{ام‌دش‌متنی}{textemdash}
+\eqcommand{ان‌دش‌متنی}{textendash}
+\eqcommand{تعجب‌وارونه‌متنی}{textexclamdown}
+\eqcommand{نقطه‌وسط‌متنی}{textperiodcentered}
+\eqcommand{سوال‌وارونه‌متنی}{textquestiondown}
+\eqcommand{نقل‌چپ‌متنی‌دولا}{textquotedblleft}
+\eqcommand{نقل‌راست‌متنی‌دولا}{textquotedblright}
+\eqcommand{نقل‌متنی‌چپ}{textquoteleft}
+\eqcommand{نقل‌متنی‌راست}{textquoteright}
+\eqcommand{فضای‌نمایان‌متنی‌}{textvisiblespace}
+\eqcommand{شکافت‌پشت‌متنی}{textbackslash}
+\eqcommand{میله‌متنی}{textbar}
+\eqcommand{بزرگ‌تر‌متنی}{textgreater}
+\eqcommand{کمتر‌متنی}{textless}
+\eqcommand{متن‌سیاه}{textbf}
+\eqcommand{مدور‌متنی}{textcircled}
+\eqcommand{رنگ‌متن}{textcolor}
+\eqcommand{نشان‌کلمه‌مرکب‌متن}{textcompwordmark}
+\eqcommand{فاصله‌متن‌وشناور}{textfloatsep}
+\eqcommand{نسبت‌متن}{textfraction}
+\eqcommand{بلندای‌متن}{textheight}
+\eqcommand{متن‌تورفته}{textindent}
+\eqcommand{متن‌ایتالیک}{textit}
+\eqcommand{متن‌نازک}{textmd}
+\eqcommand{متن‌نرمال}{textnormal}
+\eqcommand{ثبتی‌متنی}{textregistered}
+\eqcommand{متن‌رومن}{textrm}
+\eqcommand{متن‌تمام‌بزرگ}{textsc}
+\eqcommand{متن‌سن‌سریف}{textsf}
+\eqcommand{متن‌خوابیده}{textsl}
+\eqcommand{سبک‌متنی}{textstyle}
+\eqcommand{بالانویس‌متنی}{textsuperscript}
+\eqcommand{علامت‌تجاری‌متنی}{texttrademark}
+\eqcommand{متن‌تایپ}{texttt}
+\eqcommand{متن‌ایستاده}{textup}
+\eqcommand{پهنای‌متن}{textwidth}
+\eqcommand{زیر‌نویس‌عنوان}{thanks}
+\eqcommand{محتوای}{the}
+\eqcommand{این‌زیرنویس}{thempfn}
+\eqcommand{خط‌هاضخیم}{thicklines}
+\eqcommand{فاصله‌زیادریاضی}{thickmuskip}
+\eqcommand{فاصله‌کم‌ریاضی}{thinmuskip}
+\eqcommand{فضاضخیم}{thickspace}
+\eqcommand{خط‌هانازک}{thinlines}
+\eqcommand{دوری‌کوچک}{thinspace}
+\eqcommand{این‌صفحه‌تجملی}{thisfancypage}
+\eqcommand{سبک‌این‌صفحه}{thispagestyle}
+\eqcommand{سه@}{thr@@}
+\eqcommand{مد}{tilde}
+\eqcommand{ظریف}{tiny}
+\eqcommand{زمان}{time}
+\eqcommand{ضرب‌در}{times}
+\eqcommand{عنوان}{title}
+\eqcommand{به}{to}
+\eqcommand{امروز}{today}
+\eqcommand{جزء}{toks}
+\eqcommand{تعریف‌جزء}{toksdef}
+\eqcommand{حدبدنمایی}{tolerance}
+\eqcommand{بالا}{top}
+\eqcommand{خط‌بالای‌شناور}{topfigrule}
+\eqcommand{نسبت‌بالا}{topfraction}
+\eqcommand{حاشیه‌بالا}{topmargin}
+\eqcommand{علامت‌بالا}{topmark}
+\eqcommand{کادرتابالا}{toppageskip}
+\eqcommand{فاصله‌بالای‌لیست}{topsep}
+\eqcommand{فاصله‌بالا}{topskip}
+\eqcommand{بلندای‌کل}{totalheight}
+\eqcommand{ردگیری‌کل}{tracingall}
+\eqcommand{ردگیری‌فرامین}{tracingcommands}
+\eqcommand{ردگیری‌حروف}{tracinglostchars}
+\eqcommand{ردگیری‌ماکروها}{tracingmacros}
+\eqcommand{ردگیری‌نمایشی}{tracingonline}
+\eqcommand{ردگیری‌صفحه‌بندی}{tracingoutput}
+\eqcommand{ردگیری‌صفحات}{tracingpages}
+\eqcommand{ردگیری‌بندها}{tracingparagraphs}
+\eqcommand{ردگیری‌بازگردانی}{tracingrestores}
+\eqcommand{ردگیری‌آمارها}{tracingstats}
+\eqcommand{مثلث}{triangle}
+\eqcommand{پیش‌فرض‌تایپ}{ttdefault}
+\eqcommand{فامیل‌تایپ}{ttfamily}
+\eqcommand{دو@}{tw@}
+\eqcommand{دوستون}{twocolumn}
+\eqcommand{درنویس}{typein}
+\eqcommand{برنویس}{typeout}
+\eqcommand{کدبزرگ}{uccode}
+\eqcommand{تیره‌بندی‌بزرگ}{uchyph}
+\eqcommand{زیرخط}{underline}
+\eqcommand{بی‌کادرا}{unhbox}
+\eqcommand{بی‌کپی‌ا}{unhcopy}
+\eqcommand{واحدطول}{unitlength}
+\eqcommand{برگشت‌دوری}{unkern}
+\eqcommand{برگشت‌جریمه}{unpenalty}
+\eqcommand{برگشت‌فاصله}{unskip}
+\eqcommand{بی‌کادرو}{unvbox}
+\eqcommand{بی‌کپی‌و}{unvcopy}
+\eqcommand{پیش‌فرض‌ایستاده}{updefault}
+\eqcommand{شکل‌ایستاده}{upshape}
+\eqcommand{ازکادر}{usebox}
+\eqcommand{باشمارشگر}{usecounter}
+\eqcommand{گزینش‌قلم}{usefont}
+\eqcommand{سبک‌لازم}{usepackage}
+\eqcommand{@فضاهای‌فعال}{@vobeyspaces}
+\eqcommand{@تهی}{@void}
+\eqcommand{تنظیم‌و}{vadjust}
+\eqcommand{ردیف‌و}{valign}
+\eqcommand{محتوای‌شمارنده}{value}
+\eqcommand{بدنمایی‌و}{vbadness}
+\eqcommand{کادرو}{vbox}
+\eqcommand{کادروسط}{vcenter}
+\eqcommand{همانطور}{verb}
+\eqcommand{پرو}{vfil}
+\eqcommand{پررو}{vfill}
+\eqcommand{رفع‌پرو}{vfilneg}
+\eqcommand{پرزعمودی}{vfuzz}
+\eqcommand{نمایان}{visible}
+\eqcommand{خط‌عمود}{vline}
+\eqcommand{حاشیه‌و}{voffset}
+\eqcommand{ک@درتهی}{voidb@x}
+\eqcommand{ارجاع‌صفحه‌ع}{vpageref}
+\eqcommand{فاصله‌وگرد}{vrboxsep}
+\eqcommand{ارجاع‌ع}{vref}
+\eqcommand{خط‌و}{vrule}
+\eqcommand{طول‌صفحه}{vsize}
+\eqcommand{فاصله‌و}{vskip}
+\eqcommand{فضای‌و}{vspace}
+\eqcommand{شکست‌و}{vsplit}
+\eqcommand{هردوو}{vss}
+\eqcommand{کادرگود}{vtop}
+\eqcommand{عرض}{wd}
+\eqcommand{مادام‌بکن}{whiledo}
+\eqcommand{کلاه‌پهن}{widehat}
+\eqcommand{مدپهن}{widetilde}
+\eqcommand{جریمه‌ته‌بند}{widowpenalty}
+\eqcommand{پهنا}{width}
+\eqcommand{درکارنامه}{wlog}
+\eqcommand{بنویس}{write}
+\eqcommand{@فضای‌لاتین}{@xobeysp}
+\eqcommand{سی@دو}{@xxxii}
+\eqcommand{ترگع}{xdef}
+\eqcommand{نشانگرگسترشی}{xleaders}
+\eqcommand{فاصله‌اضافی‌کلمات}{xspaceskip}
+\eqcommand{سال}{year}
+\eqcommand{@فر}{z@}
+\eqcommand{@فرفاصله}{z@skip}
+\endinput
+%%
+%% End of file `latex-localise-commands-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def
new file mode 100644
index 00000000000..3aada294b7e
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def
@@ -0,0 +1,83 @@
+%%
+%% This is file `latex-localise-environments-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,latex-localise-environments-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{latex-localise-environments-xepersian.def}[2010/07/25 v0.2 Persian localisation of LaTeX2e environments]
+\eqenvironment{چکیده}{abstract}
+\eqenvironment{پیوست}{appendix}
+\eqenvironment{آرایه}{array}
+\eqenvironment{وسط‌چین}{center}
+\eqenvironment{توضیح}{description}
+\eqenvironment{ریاضی‌نمایشی}{displaymath}
+\eqenvironment{نوشتار}{document}
+\eqenvironment{شمارش}{enumerate}
+\eqenvironment{شکل}{figure}
+\eqenvironment{شکل*}{figure*}
+\eqenvironment{محتوای‌پرونده}{filecontents}
+\eqenvironment{محتوای‌پرونده*}{filecontents*}
+\eqenvironment{چپ‌چین}{flushleft}
+\eqenvironment{راست‌چین}{flushright}
+\eqenvironment{فقرات}{itemize}
+\eqenvironment{نامه}{letter}
+\eqenvironment{لیست}{list}
+\eqenvironment{جدول‌دراز}{longtable}
+\eqenvironment{کادررچ}{lrbox}
+\eqenvironment{ریاضی}{math}
+\eqenvironment{ماتریس}{matrix}
+\eqenvironment{صفحه‌کوچک}{minipage}
+\eqenvironment{چندخطی}{multline}
+\eqenvironment{یادداشت}{note}
+\eqenvironment{انباشتن}{overlay}
+\eqenvironment{تصویر}{picture}
+\eqenvironment{اقتباس}{quotation}
+\eqenvironment{نقل}{quote}
+\eqenvironment{اسلاید}{slide}
+\eqenvironment{پارنامرتب}{sloppypar}
+\eqenvironment{شکافتن}{split}
+\eqenvironment{زیرآرایه}{subarray}
+\eqenvironment{جاگذاری}{tabbing}
+\eqenvironment{لوح}{table}
+\eqenvironment{لوح*}{table*}
+\eqenvironment{جدول}{tabular}
+\eqenvironment{جدول*}{tabular*}
+\eqenvironment{مراجع}{thebibliography}
+\eqenvironment{محتوای‌نمایه}{theindex}
+\eqenvironment{صفحه‌عنوان}{titlepage}
+\eqenvironment{لیست‌بدوی}{trivlist}
+\eqenvironment{شعر}{verse}
+\endinput
+%%
+%% End of file `latex-localise-environments-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def
new file mode 100644
index 00000000000..626b637601e
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def
@@ -0,0 +1,41 @@
+%%
+%% This is file `latex-localise-messages-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,latex-localise-messages-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\آماده‌سازی‌پرونده{latex-localise-messages-xepersian.def}[2011/03/01 v0.1 localising LaTeX2e messages]
+\endinput
+%%
+%% End of file `latex-localise-messages-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def
new file mode 100644
index 00000000000..1b2aaa9a5b3
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def
@@ -0,0 +1,408 @@
+%%
+%% This is file `latex-localise-misc-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,latex-localise-misc-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{latex-localise-misc-xepersian.def}[2012/01/01 v0.2 miscellaneous Persian localisation of LaTeX2e]
+\تر\گرجدید#1{%
+\شمار@\نویسه‌ویژه \نویسه‌ویژه\من@ا
+ \بگذار#1\گرنادرست
+\@گر#1\گردرست
+\@گر#1\گرنادرست
+\نویسه‌ویژه\شمار@}
+\تر\@گر#1#2{%
+\بگسترپس‌از\تر\نام‌فرمان\بگسترپس‌از\@خورحریصانه‌دو\رشته#1%
+\بگسترپس‌از\@خورحریصانه‌دو\رشته#2\پایان‌نام‌فرمان
+{\بگذار#1#2}}
+\بگذار\تعریف‌نشده\undefined
+
+\تر\حلقه#1\ازنو{\تر\تکرارکن{#1\راحت\بگسترپس‌از\تکرارکن\رگ}%
+ \تکرارکن \بگذار\تکرارکن\راحت}
+\بگذار\ازنو\رگ
+
+\بلند\تر \حلقه #1\ازنو{%
+ \تر\تکرارکن{#1\راحت % \راحت اضافی
+ \بگسترپس‌از\تکرارکن\رگ
+ }%
+ \تکرارکن
+ \بگذار\تکرارکن\راحت
+}
+\بگذار\ازنو=\رگ
+
+\@ifdefinitionfileloaded{latex-xetex-bidi}{%
+\def\@xfloat #1[#2]{%
+ \@nodocument
+ \def \@captype {#1}%
+ \def \@fps {#2}%
+ \@onelevel@sanitize \@fps
+ \def \reserved@b {!}%
+ \ifx \reserved@b \@fps
+ \@fpsadddefault
+ \else
+ \ifx \@fps \@empty
+ \@fpsadddefault
+ \fi
+ \fi
+ \ifhmode
+ \@bsphack
+ \@floatpenalty -\@Mii
+ \else
+ \@floatpenalty-\@Miii
+ \fi
+ \ifinner
+ \@parmoderr\@floatpenalty\z@
+ \else
+ \@next\@currbox\@freelist
+ {%
+ \@tempcnta \sixt@@n
+ \expandafter \@tfor \expandafter \reserved@a
+ \expandafter :\expandafter =\@fps
+ \do
+ {%
+ \if \reserved@a h%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a ا%
+ \ifodd \@tempcnta
+ \else
+ \advance \@tempcnta \@ne
+ \fi
+ \fi
+ \if \reserved@a t%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a ب%
+ \@setfpsbit \tw@
+ \fi
+ \if \reserved@a b%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a ز%
+ \@setfpsbit 4%
+ \fi
+ \if \reserved@a p%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a ص%
+ \@setfpsbit 8%
+ \fi
+ \if \reserved@a !%
+ \ifnum \@tempcnta>15
+ \advance\@tempcnta -\sixt@@n\relax
+ \fi
+ \fi
+ }%
+ \@tempcntb \csname ftype@\@captype \endcsname
+ \multiply \@tempcntb \@xxxii
+ \advance \@tempcnta \@tempcntb
+ \global \count\@currbox \@tempcnta
+ }%
+ \@fltovf
+ \fi
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox \bgroup
+ \hsize\columnwidth
+ \@parboxrestore
+ \@floatboxreset
+}
+\let\bm@و\bm@c
+\let\bm@چ\bm@l
+\let\bm@ر\bm@r
+\let\bm@ز\bm@b
+\let\bm@ب\bm@t
+\let\bm@ک\bm@s
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+ \leavevmode
+ \@pboxswfalse
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\else\if#1ز\@bidi@list@minipage@parboxtrue\else\if#1ب\@bidi@list@minipage@parboxtrue\fi\fi\fi\fi\fi
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \edef\@parboxto{to\the\@tempdimb}%
+ \fi
+ \if#1b\vbox
+ \else\if#1ز\vbox
+ \else\if #1t\vtop
+ \else\if #1ب\vtop
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue $\vcenter
+ \fi\fi\fi\fi\fi
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}%
+ \if@pboxsw \m@th$\fi
+ \@end@tempboxa}
+\def\@iiiminipage#1#2[#3]#4{%
+ \leavevmode
+ \@pboxswfalse
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\else\if#1ز\@bidi@list@minipage@parboxtrue\else\if#1ب\@bidi@list@minipage@parboxtrue\fi\fi\fi\fi\fi
+ \setlength\@tempdima{#4}%
+ \def\@mpargs{{#1}{#2}[#3]{#4}}%
+ \setbox\@tempboxa\vbox\bgroup
+ \color@begingroup
+ \hsize\@tempdima
+ \textwidth\hsize \columnwidth\hsize
+ \@parboxrestore
+ \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
+ \let\@footnotetext\@mpfootnotetext
+ \let\@LTRfootnotetext\@mpLTRfootnotetext
+ \let\@RTLfootnotetext\@mpRTLfootnotetext
+ \let\@listdepth\@mplistdepth \@mplistdepth\z@
+ \@minipagerestore
+ \@setminipage}
+\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
+ \ifnum \@lastchclass=3 5 \else
+ \z@ \if #1c\@chnum \z@ \else
+ \if #1و\@chnum \z@ \else
+ \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else
+ \if \if@RTLtab#1ر\else#1چ\fi\@chnum \@ne \else
+ \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else
+ \if \if@RTLtab#1چ\else#1ر\fi\@chnum \tw@ \else
+ \@chclass \if #1|\@ne \else
+ \if #1@\tw@ \else
+ \if #1p3 \else
+ \if #1پ3 \else \z@ \@preamerr 0\fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi
+\fi}%
+}{}
+\@ifdefinitionfileloaded{array-xetex-bidi}{%
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar پ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}%
+}{}
+\@ifdefinitionfileloaded{arydshln-xetex-bidi}{
+\ifadl@usingarypkg
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \let\@arrayrule\adl@arrayrule \else
+ \if\@nextchar :\@ne \let\@arrayrule\adl@arraydashrule \else
+ \if\@nextchar ;\@ne \let\@arrayrule\adl@argarraydashrule \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar پ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+
+\def\@classz{\@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble{\ifcase \@chnum
+ \hfil
+ \adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or
+ \hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or
+ \hfil\hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\or
+ \setbox\adl@box\hbox \adl@startmbox{\@nextchar}\insert@column
+ \adl@endmbox\or
+ \setbox\adl@box\vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \setbox\adl@box\vbox \@startpbox{\@nextchar}\insert@column \@endpbox
+ \fi}\prepnext@tok}
+\def\adl@class@start{4}
+\def\adl@class@iiiorvii{7}
+
+\else
+\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4\relax \else
+ \ifnum \@lastchclass=\thr@@ 5\relax \else
+ \z@ \if #1c\@chnum \z@ \else
+ \if #1و\@chnum\z@ \else
+ \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else
+ \if \if@RTLtab#1ر\else#1چ\fi\@chnum \@ne \else
+ \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else
+ \if \if@RTLtab#1چ\else#1ر\fi\@chnum \tw@ \else
+ \@chclass
+ \if #1|\@ne \let\@arrayrule\adl@arrayrule \else
+ \if #1:\@ne \let\@arrayrule\adl@arraydashrule \else
+ \if #1;\@ne \let\@arrayrule\adl@argarraydashrule \else
+ \if #1@\tw@ \else
+ \if #1p\thr@@ \else
+ \if #1پ\thr@@ \else\z@ \@preamerr 0\fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+
+\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+ \or \or \@addamp \or
+ \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+ \ifcase \@chnum
+ \hfil\adl@putlrc{$\relax\@sharp$}\hfil
+ \or \adl@putlrc{$\relax\@sharp$}\hfil
+ \or \hfil\adl@putlrc{$\relax\@sharp$}\fi}}
+\def\@tabclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+ \or \or \@addamp \or
+ \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+ \ifcase \@chnum
+ \hfil\adl@putlrc{\@sharp\unskip}\hfil
+ \or \adl@putlrc{\@sharp\unskip}\hfil
+ \or \hfil\hskip\z@ \adl@putlrc{\@sharp\unskip}\fi}}
+\def\adl@class@start{6}
+\def\adl@class@iiiorvii{3}
+\fi
+}{}
+\@ifdefinitionfileloaded{tabulary-xetex-bidi}{%
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar و\z@ \else
+ \if \@nextchar \if@RTLtab r\else l\fi\@ne \else
+ \if \@nextchar \if@RTLtab ر\else چ\fi\@ne \else
+ \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else
+ \if \@nextchar \if@RTLtab چ\else ر\fi\tw@ \else
+ \if \@nextchar C7 \else
+ \if \@nextchar س7 \else
+ \if \@nextchar L8 \else
+ \if \@nextchar ف8 \else
+ \if \@nextchar R9 \else
+ \if \@nextchar ا9 \else
+ \if \@nextchar J10 \else
+ \if \@nextchar ت10 \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar م\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextcharپ4 \else
+ \if \@nextchar b5 \else
+ \if \@nextchar ز5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi \fi \fi \fi \fi \fi \fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}%
+}{}
+\@ifdefinitionfileloaded{float-xetex-bidi}{%
+\let\@float@Hx\@xfloat
+\def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@ifnextchar{آ}{\@float@آآ{#1}[}{\@float@Hx{#1}[}}}
+\def\@float@HH#1[H]{%
+ \expandafter\let\csname end#1\endcsname\float@endH
+ \let\@currbox\float@box
+ \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+ \expandafter\ifx\csname fst@#1\endcsname\relax
+ \@flstylefalse\else\@flstyletrue\fi
+ \setbox\@currbox\color@vbox\normalcolor
+ \vbox\bgroup \hsize\columnwidth \@parboxrestore
+ \@floatboxreset \@setnobreak
+ \ignorespaces}
+\def\@float@آآ#1[آ]{%
+ \expandafter\let\csname end#1\endcsname\float@endH
+ \let\@currbox\float@box
+ \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+ \expandafter\ifx\csname fst@#1\endcsname\relax
+ \@flstylefalse\else\@flstyletrue\fi
+ \setbox\@currbox\color@vbox\normalcolor
+ \vbox\bgroup \hsize\columnwidth \@parboxrestore
+ \@floatboxreset \@setnobreak
+ \ignorespaces}
+}{}
+\begingroup \catcode `|=0 \catcode `[= 1
+\catcode`]=2 \catcode `\{=12 \catcode `\}=12
+\catcode`\\=12 |gdef|@x@xepersian@localize@verbatim#1\پایان{همانطورکه‌هست}[#1|پایان[همانطورکه‌هست]]
+|gdef|@sx@xepersian@localize@verbatim#1\پایان{همانطورکه‌هست*}[#1|پایان[همانطورکه‌هست*]]
+|endgroup
+\def\همانطورکه‌هست{\@verbatim \frenchspacing\@vobeyspaces \@x@xepersian@localize@verbatim}
+\def\endهمانطورکه‌هست{\if@newlist \leavevmode\fi\endtrivlist}
+\ExplSyntaxOn
+\AtBeginDocument{\@namedef{همانطورکه‌هست*}{\@verbatim \fontspec_print_visible_spaces: \@sx@xepersian@localize@verbatim}}
+\ExplSyntaxOff
+\expandafter\let\csname endهمانطورکه‌هست*\endcsname =\endهمانطورکه‌هست
+\endinput
+%%
+%% End of file `latex-localise-misc-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
new file mode 100644
index 00000000000..209155cbce6
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
@@ -0,0 +1,43 @@
+%%
+%% This is file `listings-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,listings-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{listings-xepersian.def}[2014/07/17 v0.3 bilingual captions for listings package]
+\def\lstlistingname{\if@RTL برنامهٔ\else Listing\fi}
+\def\lstlistlistingname{\if@RTL فهرست برنامه‌ها\else Listings\fi}
+\endinput
+%%
+%% End of file `listings-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
new file mode 100644
index 00000000000..6b4581e19ee
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
@@ -0,0 +1,79 @@
+%%
+%% This is file `loadingorder-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,loadingorder-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{loadingorder-xepersian.def}[2018/09/29 v0.5 making sure that xepersian is the last package loaded]
+\bidi@isloaded{algorithmic}
+\bidi@isloaded{algorithm}
+\bidi@isloaded{backref}
+\bidi@isloaded{enumerate}
+\bidi@isloaded{enumitem}
+\bidi@isloaded{fancyref}
+\bidi@isloaded{tocloft}
+\bidi@isloaded{url}
+\bidi@isloaded{varioref}
+\AtBeginDocument{
+ \if@bidi@algorithmicloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package algorithmic after xepersian package. Please load package algorithmic before xepersian package, and then try to run xelatex on your document again}{}]{algorithmic}
+ \fi%
+ \if@bidi@algorithmloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package algorithm after xepersian package. Please load package algorithm before xepersian package, and then try to run xelatex on your document again}{}]{algorithm}
+ \fi%
+ \if@bidi@backrefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package backref after xepersian package. Please load package backref before xepersian package, and then try to run xelatex on your document again}{}]{backref}
+ \fi%
+ \if@bidi@enumerateloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package enumerate after xepersian package. Please load package enumerate before xepersian package, and then try to run xelatex on your document again}{}]{enumerate}
+ \fi%
+ \if@bidi@enumitemloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package enumitem after xepersian package. Please load package enumitem before xepersian package, and then try to run xelatex on your document again}{}]{enumitem}
+ \fi%
+ \if@bidi@fancyrefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package fancyref after xepersian package. Please load package fancyref before xepersian package, and then try to run xelatex on your document again}{}]{fancyref}
+ \fi%
+ \if@bidi@tocloftloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package tocloft after xepersian package. Please load package tocloft before xepersian package, and then try to run xelatex on your document again}{}]{tocloft}
+ \fi%
+ \if@bidi@urlloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package url after xepersian package. Please load package url before xepersian package, and then try to run xelatex on your document again}{}]{url}
+ \fi%
+ \if@bidi@variorefloaded@\else
+ \bidi@isloaded[\PackageError{xepersian}{Oops! you have loaded package varioref after xepersian package. Please load package varioref before xepersian package, and then try to run xelatex on your document again}{}]{varioref}
+ \fi%
+}
+\endinput
+%%
+%% End of file `loadingorder-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
new file mode 100644
index 00000000000..2e3cdb14efb
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
@@ -0,0 +1,120 @@
+%%
+%% This is file `localise-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,localise-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{localise-xepersian.def}[2014/07/10 v0.2b Persian localisation of LaTeX2e]
+\newcommand{\makezwnjletter}{\catcode`‌=11\relax}
+\makezwnjletter
+\newcommand*{\eqcommand}[2]{\if@bidi@csprimitive{#2}{\bidi@csletcs{#1}{#2}}{\bidi@csdefcs{#1}{#2}}}
+\newcommand*{\eqenvironment}[2]{\newenvironment{#1}{\csname#2\endcsname}{\csname end#2\endcsname}}
+\@ifpackageloaded{keyval}{%
+\newcommand*\keyval@eq@alias@key[4][KV]{%
+ \bidi@csletcs{#1@#2@#3}{#1@#2@#4}%
+ \bidi@csletcs{#1@#2@#3@default}{#1@#2@#4@default}}%
+}{\@ifpackageloaded{xkeyval}{%
+\newcommand*\keyval@eq@alias@key[4][KV]{%
+ \bidi@csletcs{#1@#2@#3}{#1@#2@#4}%
+ \bidi@csletcs{#1@#2@#3@default}{#1@#2@#4@default}}%
+}{}}
+\input{latex-localise-commands-xepersian.def}
+\input{xepersian-localise-commands-xepersian.def}
+\input{latex-localise-environments-xepersian.def}
+\input{xepersian-localise-environments-xepersian.def}
+\input{latex-localise-messages-xepersian.def}
+\input{latex-localise-misc-xepersian.def}
+\input{packages-localise-xepersian.def}
+\aliasfontfeature{ExternalLocation}{مکان‌خارجی}
+\aliasfontfeature{Path}{مسیر}
+\aliasfontfeature{Renderer}{تحویل‌دهنده}
+\aliasfontfeature{BoldFont}{قلم‌سیاه}
+\aliasfontfeature{Language}{زبان}
+\aliasfontfeature{Script}{خط}
+\aliasfontfeature{UprightFont}{قلم‌عمودی}
+\aliasfontfeature{ItalicFont}{قلم‌ایتالیک}
+\aliasfontfeature{BoldItalicFont}{قلم‌ایتالیک‌سیاه}
+\aliasfontfeature{SlantedFont}{قلم‌خوابیده}
+\aliasfontfeature{BoldSlantedFont}{قلم‌خوابیده‌سیاه}
+\aliasfontfeature{SmallCapsFont}{قلم‌کلاه‌کوچک}
+\aliasfontfeature{UprightFeatures}{ویژگی‌های‌قلم‌عمودی}
+\aliasfontfeature{BoldFeatures}{ویژگی‌های‌قلم‌سیاه}
+\aliasfontfeature{ItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک}
+\aliasfontfeature{BoldItalicFeatures}{ویژگی‌های‌قلم‌ایتالیک‌سیاه}
+\aliasfontfeature{SlantedFeatures}{ویژگی‌های‌قلم‌خوابیده}
+\aliasfontfeature{BoldSlantedFeatures}{ویژگی‌های‌قلم‌خوابیده‌سیاه}
+\aliasfontfeature{SmallCapsFeatures}{ویژگی‌های‌قلم‌کلاه‌کوچک}
+\aliasfontfeature{SizeFeatures}{ویژگی‌های‌اندازه}
+\aliasfontfeature{Scale}{ضریب}
+\aliasfontfeature{WordSpace}{فضای‌کلمه}
+\aliasfontfeature{PunctuationSpace}{فضای‌نقطه‌گذاری}
+\aliasfontfeature{FontAdjustment}{تنظیم‌قلم}
+\aliasfontfeature{LetterSpace}{فضای‌حرف}
+\aliasfontfeature{HyphenChar}{نویسه‌تیره}
+\aliasfontfeature{Color}{رنگ}
+\aliasfontfeature{Opacity}{کدری}
+\aliasfontfeature{Mapping}{نگاشت}
+\aliasfontfeature{Weight}{سنگینی}
+\aliasfontfeature{Width}{پهنا}
+\aliasfontfeature{OpticalSize}{اندازه‌چشمی}
+\aliasfontfeature{FakeSlant}{خوابیده‌تقلبی}
+\aliasfontfeature{FakeStretch}{کشش‌تقلبی}
+\aliasfontfeature{FakeBold}{سیاه‌تقلبی}
+\aliasfontfeature{AutoFakeSlant}{خوابیده‌تقلبی‌خودکار}
+\aliasfontfeature{AutoFakeBold}{سیاه‌تقلبی‌خودکار}
+\aliasfontfeature{Ligatures}{دویاچندحرف‌متصل‌به‌هم}
+\aliasfontfeature{Alternate}{متناوب}
+\aliasfontfeature{Variant}{گوناگون}
+\aliasfontfeature{Variant}{مجموعه‌سبکی}
+\aliasfontfeature{CharacterVariant}{گوناگونی‌نویسه}
+\aliasfontfeature{Style}{سبک}
+\aliasfontfeature{Annotation}{یادداشت}
+\aliasfontfeature{RawFeature}{ویژگی‌های‌کال}
+\aliasfontfeature{CharacterWidth}{پهنای‌نویسه}
+\aliasfontfeature{Numbers}{ارقام}
+\aliasfontfeature{Contextuals}{متنی}
+\aliasfontfeature{Diacritics}{تفکیک‌کننده‌ها}
+\aliasfontfeature{Letters}{حروف}
+\aliasfontfeature{Kerning}{دوری}
+\aliasfontfeature{VerticalPosition}{موقعیت‌عمودی}
+\aliasfontfeature{Fractions}{کسر}
+\aliasfontfeatureoption{Language}{Default}{پیش‌فرض}
+\aliasfontfeatureoption{Language}{Persian}{پارسی}
+\aliasfontfeatureoption{Script}{Persian}{پارسی}
+\aliasfontfeatureoption{Script}{Latin}{لاتین}
+\aliasfontfeatureoption{Style}{MathScript}{اسکریپت‌ریاضی}
+\aliasfontfeatureoption{Style}{MathScriptScript}{اسکریپت‌اسکریپت‌ریاضی}
+\endinput
+%%
+%% End of file `localise-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
new file mode 100644
index 00000000000..cb2fa33347b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
@@ -0,0 +1,52 @@
+%%
+%% This is file `memoir-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,memoir-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{memoir-xepersian.def}[2010/07/25 v0.1 adaptations for memoir class]
+\renewcommand{\@memfront}{%
+ \@smemfront\pagenumbering{harfi}}
+\renewcommand{\setthesection}{\thechapter\@SepMark\harfi{section}}
+\renewcommand*{\thebook}{\@tartibi\c@book}
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand{\appendix}{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \anappendixtrue}
+\endinput
+%%
+%% End of file `memoir-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
new file mode 100644
index 00000000000..d149d2f8ff5
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
@@ -0,0 +1,50 @@
+%%
+%% This is file `minitoc-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,minitoc-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{minitoc-xepersian.def}[2010/07/25 v0.1 bilingual captions for minitoc package]
+\def\ptctitle{\if@RTL فهرست مطالب\else Table of Contents\fi}%
+\def\plftitle{\if@RTL فهرست تصاویر\else List of Figures\fi}%
+\def\plttitle{\if@RTL فهرست جداول\else List of Tables\fi}%
+\def\mtctitle{\if@RTL عناوین\else Contents\fi}%
+\def\mlftitle{\if@RTL اشکال\else Figures\fi}%
+\def\mlttitle{\if@RTL جداول\else Tables\fi}%
+\def\stctitle{\if@RTL عناوین\else Contents\fi}%
+\def\slftitle{\if@RTL اشکال\else Figures\fi}%
+\def\slttitle{\if@RTL جداول\else Tables\fi}%
+\endinput
+%%
+%% End of file `minitoc-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
new file mode 100644
index 00000000000..f4655c0b049
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
@@ -0,0 +1,255 @@
+%%
+%% This is file `natbib-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,natbib-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{natbib-xepersian.def}[2011/08/01 v0.1 adaptations for natbib package]
+\renewcommand\NAT@set@cites{%
+ \ifNAT@numbers
+ \ifNAT@super \let\@cite\NAT@citesuper
+ \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}%
+ \let\citeyearpar=\citeyear
+ \let\NAT@space\relax
+ \def\NAT@super@kern{\kern\p@}%
+ \else
+ \let\NAT@mbox=\mbox
+ \let\@cite\NAT@citenum
+ \let\NAT@space\NAT@spacechar
+ \let\NAT@super@kern\relax
+ \fi
+ \let\@citex\NAT@citexnum
+ \let\@Latincitex\NAT@Latin@citexnum
+ \let\@biblabel\NAT@biblabelnum
+ \let\@bibsetup\NAT@bibsetnum
+ \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}%
+ \def\natexlab##1{}%
+ \def\NAT@penalty{\penalty\@m}%
+ \else
+ \let\@cite\NAT@cite
+ \let\@citex\NAT@citex
+ \let\@Latincitex\NAT@Latin@citex
+ \let\@biblabel\NAT@biblabel
+ \let\@bibsetup\NAT@bibsetup
+ \let\NAT@space\NAT@spacechar
+ \let\NAT@penalty\@empty
+ \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}%
+ \def\natexlab##1{##1}%
+ \fi}
+\newcommand\NAT@Latin@citex{}
+\def\NAT@Latin@citex%
+ [#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\lr{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else\unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{%
+ \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb
+ }%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \def\NAT@temp{{?}}%
+ \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
+ {Multiple citation on page \thepage: same authors and
+ year\MessageBreak without distinguishing extra
+ letter,\MessageBreak appears as question mark}\fi
+ \NAT@hyper@{\NAT@exlab}%
+ \else
+ \unskip\NAT@spacechar
+ \NAT@hyper@{\NAT@date}%
+ \fi
+ \else
+ \@citea\NAT@hyper@{%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date
+ }%
+ \fi
+ \fi
+ \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
+ \or\@citea\NAT@hyper@{\NAT@date}%
+ \or\@citea\NAT@hyper@{\NAT@alias}%
+ \fi
+ \if\relax\NAT@date\relax
+ \NAT@def@citea
+ \else
+ \NAT@def@citea@close
+ \fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}}{#1}{#2}}
+\newcommand\NAT@Latin@citexnum{}
+\def\NAT@Latin@citexnum[#1][#2]#3{%
+ \NAT@reset@parser
+ \NAT@sort@cites{#3}%
+ \NAT@reset@citea
+ \@cite{\lr{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\@safe@activestrue
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \@safe@activesfalse
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries?}
+ \NAT@citeundefined\PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
+ \NAT@parse{\@citeb}%
+ \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
+ \let\NAT@name=\NAT@all@names
+ \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
+ \fi
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa
+ \@ifnum{\NAT@ctype>\@ne}{%
+ \@citea
+ \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}%
+ }{%
+ \@ifnum{\NAT@cmprs>\z@}{%
+ \NAT@ifcat@num\NAT@num
+ {\let\NAT@nm=\NAT@num}%
+ {\def\NAT@nm{-2}}%
+ \NAT@ifcat@num\NAT@last@num
+ {\@tempcnta=\NAT@last@num\relax}%
+ {\@tempcnta\m@ne}%
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}%
+ }{%
+ \advance\@tempcnta by\@ne
+ \@ifnum{\NAT@nm=\@tempcnta}{%
+ \ifx\NAT@last@yr\relax
+ \def@NAT@last@yr{\@citea}%
+ \else
+ \def@NAT@last@yr{--\NAT@penalty}%
+ \fi
+ }{%
+ \NAT@last@yr@mbox
+ }%
+ }%
+ }{%
+ \@tempswatrue
+ \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}%
+ \if@tempswa\NAT@citea@mbox\fi
+ }%
+ }%
+ \NAT@def@citea
+ \else
+ \ifcase\NAT@ctype
+ \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else
+ \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}%
+ \fi
+ \if*#1*\else#1\NAT@spacechar\fi
+ \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
+ \NAT@def@citea@box
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
+ \or
+ \NAT@hyper@citea@space\NAT@alias
+ \fi
+ \fi
+ }%
+ }%
+ \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}%
+ \ifNAT@swa\else
+ \@ifnum{\NAT@ctype=\z@}{%
+ \if*#2*\else\NAT@cmt#2\fi
+ }{}%
+ \NAT@mbox{\NAT@@close}%
+ \fi
+ }}{#1}{#2}%
+}%
+\AtBeginDocument{\NAT@set@cites}
+\DeclareRobustCommand\Latincite
+ {\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@Latin@cites}{\NAT@fullfalse\NAT@Latin@cites}}
+\newcommand\NAT@Latin@cites{\@ifnextchar [{\NAT@@Latin@@citetp}{%
+ \ifNAT@numbers\else
+ \NAT@swafalse
+ \fi
+ \NAT@@Latin@@citetp[]}}
+\newcommand\NAT@@Latin@@citetp{}
+\def\NAT@@Latin@@citetp[#1]{\@ifnextchar[{\@Latincitex[#1]}{\@Latincitex[][#1]}}
+\endinput
+%%
+%% End of file `natbib-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
new file mode 100644
index 00000000000..7dac309ba2d
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
@@ -0,0 +1,188 @@
+%%
+%% This is file `packages-localise-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,packages-localise-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\آماده‌سازی‌پرونده{packages-localise-xepersian.def}[2013/04/24 v0.2 localising LaTeX2e Packages]
+\@گرسبک‌فراخوانی‌شده{color}{\ورودی{color-localise-xepersian.def}}{}
+\@ifpackageloaded{multicol}{%
+\newenvironment{چندستونی‌ها}{\begin{multicols}}{\end{multicols}}%
+\newenvironment{چندستونی‌ها*}{\begin{multicols*}}{\end{multicols*}}%
+}{}
+\@ifpackageloaded{verbatim}{%
+\begingroup
+ \vrb@catcodes
+ \lccode`\!=`\\ \lccode`\[=`\{ \lccode`\]=`\}
+ \catcode`\~=\active \lccode`\~=`\^^M
+ \lccode`\C=`\C
+ \lowercase{\endgroup
+ \def\xepersian@localize@verbatim@start#1{%
+ \verbatim@startline
+ \if\noexpand#1\noexpand~%
+ \let\next\xepersian@localize@verbatim@
+ \else \def\next{\xepersian@localize@verbatim@#1}\fi
+ \next}%
+ \def\xepersian@localize@verbatim@#1~{\xepersian@localize@verbatim@@#1!پایان\@nil}%
+ \def\xepersian@localize@verbatim@@#1!پایان{%
+ \verbatim@addtoline{#1}%
+ \futurelet\next\xepersian@localize@verbatim@@@}%
+ \def\xepersian@localize@verbatim@@@#1\@nil{%
+ \ifx\next\@nil
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else
+ \def\@tempa##1!پایان\@nil{##1}%
+ \@temptokena{!پایان}%
+ \def\next{\expandafter\xepersian@localize@verbatim@test\@tempa#1\@nil~}%
+ \fi \next}%
+ \def\xepersian@localize@verbatim@test#1{%
+ \let\next\xepersian@localize@verbatim@test
+ \if\noexpand#1\noexpand~%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena}%
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else \if\noexpand#1
+ \@temptokena\expandafter{\the\@temptokena#1}%
+ \else \if\noexpand#1\noexpand[%
+ \let\@tempc\@empty
+ \let\next\xepersian@localize@verbatim@testend
+ \else
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena}%
+ \def\next{\xepersian@localize@verbatim@#1}%
+ \fi\fi\fi
+ \next}%
+ \def\xepersian@localize@verbatim@testend#1{%
+ \if\noexpand#1\noexpand~%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc}%
+ \verbatim@processline
+ \verbatim@startline
+ \let\next\xepersian@localize@verbatim@
+ \else\if\noexpand#1\noexpand]%
+ \let\next\xepersian@localize@verbatim@@testend
+ \else\if\noexpand#1\noexpand!%
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc}%
+ \def\next{\xepersian@localize@verbatim@!}%
+ \else \expandafter\def\expandafter\@tempc\expandafter
+ {\@tempc#1}\fi\fi\fi
+ \next}%
+ \def\xepersian@localize@verbatim@@testend{%
+ \ifx\@tempc\@currenvir
+ \verbatim@finish
+ \edef\next{\noexpand\end{\@currenvir}%
+ \noexpand\xepersian@localize@verbatim@rescan{\@currenvir}}%
+ \else
+ \expandafter\verbatim@addtoline
+ \expandafter{\the\@temptokena[}%
+ \expandafter\verbatim@addtoline
+ \expandafter{\@tempc]}%
+ \let\next\xepersian@localize@verbatim@
+ \fi
+ \next}%
+ \def\xepersian@localize@verbatim@rescan#1#2~{\if\noexpand~\noexpand#2~\else
+ \@warning{Characters dropped after `\string\end{#1}'}\fi}}%
+\def\همانطورکه‌هست{\begingroup\@verbatim \frenchspacing\@vobeyspaces
+ \xepersian@localize@verbatim@start}
+\@namedef{همانطورکه‌هست*}{\begingroup\@verbatim\xepersian@localize@verbatim@start}
+\def\endهمانطورکه‌هست{\endtrivlist\endgroup\@doendpe}
+\expandafter\let\csname endهمانطورکه‌هست*\endcsname =\endهمانطورکه‌هست
+}{}
+\ExplSyntaxOn
+\AtBeginDocument{
+ \xepersian_localize_patch_verbatim:
+}
+\cs_set:Npn \xepersian_localize_patch_verbatim: {
+ \@ifpackageloaded{verbatim}{
+ \cs_set:cpn {همانطورکه‌هست*} {
+ \group_begin: \@verbatim \fontspec_print_visible_spaces: \xepersian@localize@verbatim@start
+ }
+ }{
+ }
+}
+\ExplSyntaxOff
+\@ifpackageloaded{graphicx}{%
+\def\Gin@boolkey#1#2{%
+\expandafter\@ifdefinable \csname Gin@#2درست\endcsname{%
+\expandafter\let\csname Gin@#2درست\expandafter\endcsname\csname Gin@#2true\endcsname}%
+\expandafter\@ifdefinable \csname Gin@#2نادرست\endcsname{%
+\expandafter\let\csname Gin@#2نادرست\expandafter\endcsname\csname Gin@#2false\endcsname}%
+ \csname Gin@#2\ifx\relax#1\relax true\else#1\fi\endcsname}
+\define@key{Grot}{origin}[c]{%
+ \@tfor\@tempa:=#1\do{%
+ \if l\@tempa \Grot@x\z@\else
+ \if چ\@tempa \Grot@x\z@\else
+ \if r\@tempa \Grot@x\width\else
+ \if ر\@tempa \Grot@x\width\else
+ \if t\@tempa \Grot@y\height\else
+ \if ب\@tempa \Grot@y\height\else
+ \if b\@tempa \Grot@y-\depth\else
+ \if ز\@tempa \Grot@y-\depth\else
+ \if B\@tempa \Grot@y\z@\else
+ \if ک\@tempa \Grot@y\z@\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}}
+\معادل@کلید{Gin}{پیش‌نویس}{draft}
+\معادل@کلید{Gin}{مبدا}{origin}
+\معادل@کلید{Grot}{مبدا}{origin}
+\معادل@کلید{Gin}{بی‌اضافه}{clip}
+\معادل@کلید{Gin}{حفظ‌تناسب}{keepaspectratio}
+\معادل@کلید{Gin}{پهنای‌طبیعی}{natwidth}
+\معادل@کلید{Gin}{بلندای‌طبیعی}{natheight}
+\معادل@کلید{Gin}{مختصات}{bb}
+\معادل@کلید{Gin}{محدوده‌نمایش}{viewport}
+\معادل@کلید{Gin}{حذف‌اطراف}{trim}
+\معادل@کلید{Gin}{زاویه}{angle}
+\معادل@کلید{Gin}{پهنا}{width}
+\معادل@کلید{Gin}{بلندا}{height}
+\معادل@کلید{Gin}{بلندای‌کل}{totalheight}
+\معادل@کلید{Gin}{ضریب}{scale}
+\معادل@کلید{Gin}{نوع}{type}
+\معادل@کلید{Gin}{پسوند}{ext}
+\معادل@کلید{Gin}{خواندنی}{read}
+\معادل@کلید{Gin}{فرمان}{command}
+\معادل@کلید{Grot}{طول}{x}
+\معادل@کلید{Grot}{عرض}{y}
+\معادل@کلید{Grot}{واحد}{units}
+}{}
+\endinput
+%%
+%% End of file `packages-localise-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
new file mode 100644
index 00000000000..b7d3c79fa5b
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
@@ -0,0 +1,47 @@
+%%
+%% This is file `rapport1-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,rapport1-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{rapport1-xepersian.def}[2010/07/25 v0.1 adaptations for rapport1 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+\endinput
+%%
+%% End of file `rapport1-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
new file mode 100644
index 00000000000..5099776f4bd
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
@@ -0,0 +1,47 @@
+%%
+%% This is file `rapport3-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,rapport3-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{rapport3-xepersian.def}[2010/07/25 v0.2 adaptations for rapport3 class]
+\renewcommand*\thepart{\@tartibi\c@part}
+\renewcommand*\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}}
+\endinput
+%%
+%% End of file `rapport3-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
new file mode 100644
index 00000000000..11595413de6
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `refrep-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,refrep-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{refrep-xepersian.def}[2010/07/25 v0.2 adaptations for refrep class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+\endinput
+%%
+%% End of file `refrep-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
new file mode 100644
index 00000000000..7a417fba734
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
@@ -0,0 +1,48 @@
+%%
+%% This is file `report-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,report-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{report-xepersian.def}[2010/07/25 v0.2 adaptations for standard report class]
+\renewcommand \thepart {\@tartibi\c@part}
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}
+}%end appendix
+\endinput
+%%
+%% End of file `report-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
new file mode 100644
index 00000000000..a9576199e17
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
@@ -0,0 +1,69 @@
+%%
+%% This is file `scrartcl-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,scrartcl-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{scrartcl-xepersian.def}[2010/07/25 v0.2 adaptations for scrartcl class]
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@harfi\c@section}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+\endinput
+%%
+%% End of file `scrartcl-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
new file mode 100644
index 00000000000..f741cdca2dc
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
@@ -0,0 +1,74 @@
+%%
+%% This is file `scrbook-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,scrbook-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{scrbook-xepersian.def}[2010/07/25 v0.2 adaptations for scrbook class]
+\renewcommand*\frontmatter{%
+ \if@twoside\cleardoubleoddpage\else\clearpage\fi
+ \@mainmatterfalse\pagenumbering{harfi}%
+}
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+\endinput
+%%
+%% End of file `scrbook-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
new file mode 100644
index 00000000000..80f6867d81c
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
@@ -0,0 +1,70 @@
+%%
+%% This is file `scrreprt-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,scrreprt-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{scrreprt-xepersian.def}[2010/07/25 v0.2 adaptations for scrreprt class]
+\renewcommand*{\thepart}{\@tartibi\c@part}
+\renewcommand*\appendix{\par%
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@harfi\c@chapter}%
+ \csname appendixmore\endcsname
+}
+\renewcommand*{\@@maybeautodot}[1]{%
+ \ifx #1\@stop\let\@@maybeautodot\relax
+ \else
+ \ifx #1\harfi \@autodottrue\fi
+ \ifx #1\adadi \@autodottrue\fi
+ \ifx #1\tartibi \@autodottrue\fi
+ \ifx #1\Alph \@autodottrue\fi
+ \ifx #1\alph \@autodottrue\fi
+ \ifx #1\Roman \@autodottrue\fi
+ \ifx #1\roman \@autodottrue\fi
+ \ifx #1\@harfi \@autodottrue\fi
+ \ifx #1\@adadi \@autodottrue\fi
+ \ifx #1\@tartibi \@autodottrue\fi
+ \ifx #1\@Alph \@autodottrue\fi
+ \ifx #1\@alph \@autodottrue\fi
+ \ifx #1\@Roman \@autodottrue\fi
+ \ifx #1\@roman \@autodottrue\fi
+ \ifx #1\romannumeral \@autodottrue\fi
+ \fi
+ \@@maybeautodot
+}
+\endinput
+%%
+%% End of file `scrreprt-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
new file mode 100644
index 00000000000..46b6877607c
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
@@ -0,0 +1,58 @@
+%%
+%% This is file `soul-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,soul-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{soul-xepersian.def}[2018/12/12 v0.2 adaptations for soul package]
+\let\SOUL@tt@latin\SOUL@tt
+\newfontface{\SOUL@tt@nonlatin}{Times New Roman}
+\def\SOUL@tt{%
+ \if@nonlatin
+ \SOUL@tt@nonlatin
+ \else
+ \SOUL@tt@latin
+ \fi
+}
+\bidi@appto\resetlatinfont{%
+ \setbox\z@\hbox{\SOUL@tt-}%
+ \SOUL@ttwidth\wd\z@
+}
+\bidi@appto\setpersianfont{%
+ \setbox\z@\hbox{\SOUL@tt-}%
+ \SOUL@ttwidth\wd\z@
+}
+\endinput
+%%
+%% End of file `soul-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def
new file mode 100644
index 00000000000..fb411a36cd1
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def
@@ -0,0 +1,49 @@
+%%
+%% This is file `tikz.code-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,tikz.code-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{tikz.code-xepersian.def}[2018/12/11 v0.1 adaptations for tikz.code.tex file]
+\bidi@patchcmd\tikz@finish{%
+ \begingroup
+ \tikz@options
+}{%
+ \begingroup
+ \@@textdigitfont@onfalse
+ \tikz@options
+}{}{}
+\endinput
+%%
+%% End of file `tikz.code-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
new file mode 100644
index 00000000000..3d5c664f315
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
@@ -0,0 +1,60 @@
+%%
+%% This is file `tkz-linknodes-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,tkz-linknodes-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{tkz-linknodes-xepersian.def}[2012/06/13 v0.1 adaptations for tkz-linknodes package]
+\renewcommand*{\@SetTab}{%
+ \let\@alph\@latinalph%
+ \ifnum \value{C@NumTab}>25\relax%
+ \setcounter{C@NumTab}{1}%
+ \else%
+ \stepcounter{C@NumTab}%
+ \fi%
+ \setcounter{C@NumGroup}{0}%
+ \newcommand*{\PrefixCurrentTab}{\alph{C@NumTab}}
+ \setboolean{B@FirstLink}{true}
+ \setboolean{B@NewGroup}{false}
+ \setcounter{C@NumGroup}{0}
+ \setcounter{C@CurrentGroup}{0}
+ \setcounter{NumC@Node}{0}
+ \setcounter{NumC@Stop}{0}
+ \setcounter{C@NextNode}{0}
+ \setcounter{C@CurrentStop}{0}
+ \setcounter{C@CurrentNode}{0}
+}%
+\endinput
+%%
+%% End of file `tkz-linknodes-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
new file mode 100644
index 00000000000..2f4456cc4e7
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
@@ -0,0 +1,51 @@
+%%
+%% This is file `tocloft-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,tocloft-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{tocloft-xepersian.def}[2010/07/25 v0.1 bilingual captions for tocloft package]
+\renewcommand*{\cftchapname}{\if@RTL فصل\else chapter\fi}
+\renewcommand*{\cftsecname}{\if@RTL قسمت\else section\fi}
+\renewcommand*{\cftsubsecname}{\if@RTL زیرقسمت\else subsection\fi}
+\renewcommand*{\cftsubsubsecname}{\if@RTL زیرزیرقسمت\else subsubsection\fi}
+\renewcommand*{\cftparaname}{\if@RTL پاراگراف\else paragraph\fi}
+\renewcommand*{\cftsubparaname}{\if@RTL زیرپاراگراف\else subparagraph\fi}
+\renewcommand*{\cftfigname}{\if@RTL شکل\else figure\fi}
+\renewcommand*{\cftsubfigname}{\if@RTL زیرشکل\else subfigure\fi}
+\renewcommand*{\cfttabname}{\if@RTL جدول\else table\fi}
+\renewcommand*{\cftsubtabname}{\if@RTL زیرجدول\else subtable\fi}
+\endinput
+%%
+%% End of file `tocloft-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def
new file mode 100644
index 00000000000..6c1a6181f6e
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def
@@ -0,0 +1,104 @@
+%%
+%% This is file `varioref-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,varioref-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{varioref-xepersian.def}[2018/09/29 v0.1 bilingual captions for varioref package]
+\def\reftextfaceafter{%
+ \if@RTL
+در صفحه
+\reftextvario{مقابل}{بعد}%
+ \else
+ on the \reftextvario{facing}{next} page%
+ \fi
+}
+\def\reftextfacebefore{%
+ \if@RTL
+در صفحه
+\reftextvario{مقابل}{قبل}%
+ \else
+ on the \reftextvario{facing}{preceding} page%
+ \fi
+}
+\def\reftextafter{%
+ \if@RTL
+در صفحه
+\reftextvario{بعد}{بعد}%
+ \else
+ on the \reftextvario{following}{next} page%
+ \fi
+}
+\def\reftextbefore{%
+ \if@RTL
+در صفحه
+\reftextvario{قبل}{قبل}%
+ \else
+ on the \reftextvario{preceding}{previous} page%
+ \fi
+}
+\def\reftextcurrent{%
+ \if@RTL
+در
+\reftextvario{همین صفحه}{صفحه جاری}%
+ \else
+ on \reftextvario{this}{the current} page%
+ \fi
+}
+\def\reftextfaraway#1{%
+ \if@RTL
+در صفحه%
+~\pageref{#1}%
+ \else
+ on page~\pageref{#1}%
+ \fi
+}
+\def\reftextpagerange#1#2{%
+ \if@RTL
+در صفحه‌های%
+~\pageref{#1}--\pageref{#2}%
+ \else
+ on pages~\pageref{#1}--\pageref{#2}%
+ \fi
+}
+\def\reftextlabelrange#1#2{%
+ \if@RTL
+ \ref{#1} تا~\ref{#2}%
+ \else
+ \ref{#1} to~\ref{#2}%
+ \fi
+}
+\endinput
+%%
+%% End of file `varioref-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def
new file mode 100644
index 00000000000..43242f070f3
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def
@@ -0,0 +1,100 @@
+%%
+%% This is file `xepersian-localise-commands-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-localise-commands-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{xepersian-localise-commands-xepersian.def}[2012/07/25 v0.2 Persian localisation of XePersian commands]
+\eqcommand{خط‌زیرنویس‌خودکار}{autofootnoterule}
+\eqcommand{اعدادفرمولهاخودکار}{AutoMathsDigits}
+\eqcommand{اعدادفرمولهالاتین}{DefaultMathsDigits}
+\eqcommand{معادل@کلید}{keyval@eq@alias@key}
+\eqcommand{تعریف‌قلم‌لاتین}{deflatinfont}
+\eqcommand{تعریف‌قلم‌پارسی}{defpersianfont}
+\eqcommand{کادراچپ}{hboxL}
+\eqcommand{کادراست}{hboxR}
+\eqcommand{مرجع‌لاتین}{Latincite}
+\eqcommand{قلم‌لاتین}{latinfont}
+\eqcommand{امروزلاتین}{latintoday}
+\eqcommand{خط‌زیرنویس‌چپ}{leftfootnoterule}
+\eqcommand{متن‌لاتین}{lr}
+\eqcommand{چپ‌براست}{LRE}
+\eqcommand{دوستونی‌چپ}{LTRdblcol}
+\eqcommand{پانویس}{LTRfootnote}
+\eqcommand{متن‌پانویس}{LTRfootnotetext}
+\eqcommand{پانویس‌عنوان}{LTRthanks}
+\eqcommand{روزپارسی}{persianday}
+\eqcommand{قلم‌پارسی}{persianfont}
+\eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits}
+\eqcommand{ماه‌پارسی}{persianmonth}
+\eqcommand{سال‌پارسی}{persianyear}
+\eqcommand{علامت‌چپ‌نقل‌قول‌پارسی}{plq}
+\eqcommand{علامت‌راست‌نقل‌قول‌پارسی}{prq}
+\eqcommand{خط‌زیرنویس‌راست}{rightfootnoterule}
+\eqcommand{متن‌پارسی}{rl}
+\eqcommand{راست‌بچپ}{RLE}
+\eqcommand{دوستونی‌راست}{RTLdblcol}
+\eqcommand{پانوشت}{RTLfootnote}
+\eqcommand{متن‌پانوشت}{RTLfootnotetext}
+\eqcommand{پانوشت‌عنوان}{RTLthanks}
+\eqcommand{@علامت‌بین}{@SepMark}
+\eqcommand{علامت‌بین}{SepMark}
+\eqcommand{بگذارمرجوعات‌عادی}{setdefaultbibitems}
+\eqcommand{بگذاردرحاشیه‌عادی}{setdefaultmarginpar}
+\eqcommand{گزینش‌قلم‌اعدادفرمولها}{setmathdigitfont}
+\eqcommand{بگذارزیرنویس‌چپ}{setfootnoteLR}
+\eqcommand{بگذارزیرنویس‌راست}{setfootnoteRL}
+\eqcommand{گزینش‌قلم‌لاتین‌متن}{setlatintextfont}
+\eqcommand{بگذارمتن‌چپ}{setLTR}
+\eqcommand{بگذارمرجوعات‌چپ}{setLTRbibitems}
+\eqcommand{بگذاردرحاشیه‌چپ}{setLTRmarginpar}
+\eqcommand{بگذارمتن‌راست}{setRTL}
+\eqcommand{بگذارمرجوعات‌راست}{setRTLbibitems}
+\eqcommand{بگذاردرحاشیه‌راست}{setRTLmarginpar}
+\eqcommand{گزینش‌قلم‌متن}{settextfont}
+\eqcommand{خط‌زیرنویس‌پهنای‌متن}{textwidthfootnoterule}
+\eqcommand{فهرست‌مطالب‌دوستونی}{twocolumnstableofcontents}
+\eqcommand{نگذارزیرنویس‌راست}{unsetfootnoteRL}
+\eqcommand{نگذارمتن‌چپ}{unsetLTR}
+\eqcommand{نگذارمتن‌راست}{unsetRTL}
+\eqcommand{کادروازچپ}{vboxL}
+\eqcommand{کادروازراست}{vboxR}
+\eqcommand{زی‌لاتک}{XeLaTeX}
+\eqcommand{زی‌پرشین}{XePersian}
+\eqcommand{گونه‌زی‌پرشین}{xepersianversion}
+\eqcommand{تاریخ‌گونه‌زی‌پرشین}{xepersiandate}
+\eqcommand{زی‌تک}{XeTeX}
+\endinput
+%%
+%% End of file `xepersian-localise-commands-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def
new file mode 100644
index 00000000000..b1332fe2f60
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def
@@ -0,0 +1,51 @@
+%%
+%% This is file `xepersian-localise-environments-xepersian.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-localise-environments-xepersian.def')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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 \~}
+%%
+\ProvidesFile{xepersian-localise-environments-xepersian.def}[2010/07/25 v0.1 Persian localisation of XePersian and bidi environments]
+\eqenvironment{لاتین}{latin}
+\eqenvironment{متن‌چپ}{LTR}
+\eqenvironment{دسته‌بندی‌چپ}{LTRitems}
+\eqenvironment{شعرنو}{modernpoem}
+\eqenvironment{شعرنو*}{modernpoem*}
+\eqenvironment{پارسی}{persian}
+\eqenvironment{متن‌راست}{RTL}
+\eqenvironment{دسته‌بندی‌راست}{RTLitems}
+\eqenvironment{شعرسنتی}{traditionalpoem}
+\eqenvironment{شعرسنتی*}{traditionalpoem*}
+\endinput
+%%
+%% End of file `xepersian-localise-environments-xepersian.def'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-logo.pdf b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-logo.pdf
new file mode 100644
index 00000000000..b52b3e0e9a1
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
new file mode 100644
index 00000000000..67474dff839
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
@@ -0,0 +1,909 @@
+%%
+%% This is file `xepersian-magazine.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-magazine.cls')
+%%
+%% __________________________________________________
+%% 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{10884}
+%% \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}
+\ProvidesClass{xepersian-magazine}[2010/07/25 v0.2 Typesetting Persian magazines in XeLaTeX]
+\RequirePackage{ifthen}
+\newlength{\xepersian@imgsize}
+\newlength{\xepersian@coltitsize}
+\newlength{\xepersian@pageneed}
+\newlength{\xepersian@pageleft}
+\newlength{\xepersian@indexwidth}
+\newcommand{\xepersian@ncolumns}{0}
+\newlength{\columnlines}
+\setlength{\columnlines}{0 pt} % no lines by default
+\newboolean{xepersian@hyphenatedtitles}
+\setboolean{xepersian@hyphenatedtitles}{true}
+\newboolean{xepersian@ninepoints}
+\setboolean{xepersian@ninepoints}{false}
+\newboolean{xepersian@showgrid}
+\setboolean{xepersian@showgrid}{false}
+\newboolean{xepersian@a3paper}
+\setboolean{xepersian@a3paper}{false}
+\newboolean{xepersian@insidefrontpage}
+\setboolean{xepersian@insidefrontpage}{false}
+\newboolean{xepersian@insideweather}
+\setboolean{xepersian@insideweather}{false}
+\newboolean{xepersian@insideindex}
+\setboolean{xepersian@insideindex}{false}
+\newcount\xepersian@gridrows
+\newcount\xepersian@gridcolumns
+\xepersian@gridrows=40
+\xepersian@gridcolumns=50
+\newcount\minraggedcols
+\minraggedcols=5
+\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}}
+\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}}
+\DeclareOption{12pt}{\PassOptionsToClass{12pt}{article}}
+\DeclareOption{twocolumn}%
+{\ClassWarning{xepersian-magazine}{Option 'twocolumn' not available for xepersian-magazine.}}
+\DeclareOption{notitlepage}%
+{\ClassWarning{xepersian-magazine}{Option 'notitlepage' not available for xepersian-magazine.}}
+\DeclareOption{twoside}%
+{\ClassWarning{xepersian-magazine}{Option 'twoside' not available for xepersian-magazine.}}
+\DeclareOption{9pt}{\setboolean{xepersian@ninepoints}{true}}
+\DeclareOption{hyphenatedtitles}{\setboolean{xepersian@hyphenatedtitles}{false}}
+\DeclareOption{columnlines}{\setlength{\columnlines}{0.1 pt}}
+\DeclareOption{showgrid}{\setboolean{xepersian@showgrid}{true}}
+\DeclareOption{a3paper}{\setboolean{xepersian@a3paper}{true}}
+\ProcessOptions\relax
+\LoadClass[10pt, onecolumn, titlepage, a4paper]{article}
+\RequirePackage{ifxetex}
+\RequirePackage{multido}
+\RequirePackage{datetime}
+\RequirePackage{multicol}
+\RequirePackage{fancyhdr}
+\RequirePackage{fancybox}
+\ifthenelse{\boolean{xepersian@a3paper}}{%
+\RequirePackage[a3paper,headsep=0.5cm,vmargin={2cm,2cm},hmargin={1.5cm,1.5cm}]{geometry}
+}{
+\RequirePackage[headsep=0.5cm,vmargin={2cm,2cm},hmargin={1.5cm,1.5cm}]{geometry}
+}
+\RequirePackage[absolute]{textpos} % absoulte positioning
+\RequirePackage{hyphenat} % when hyphenate
+\RequirePackage{lastpage} % to know the last page number
+\RequirePackage{setspace} % set space between lines
+\RequirePackage{ragged2e}
+\newcommand{\raggedFormat}{\RaggedLeft}
+\AtEndOfClass{\xepersianInit}
+\ifthenelse{\boolean{xepersian@showgrid}}{%
+\AtBeginDocument{
+\grid[show]{\xepersian@gridrows}{\xepersian@gridcolumns}}
+\advance\minraggedcols by -1
+}{%
+\AtBeginDocument{
+\grid[]{\xepersian@gridrows}{\xepersian@gridcolumns}}
+\advance\minraggedcols by -1
+}
+\ifthenelse{\boolean{xepersian@ninepoints}}{
+\renewcommand{\normalsize}{%
+ \@setfontsize{\normalsize}{9pt}{10pt}%
+ \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}}
+
+\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}}
+
+\renewcommand{\small}{%
+ \@setfontsize{\small}{8pt}{9pt}%
+ \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\footnotesize}{%
+ \@setfontsize{\footnotesize}{8pt}{9pt}%
+ \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
+ \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
+
+\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}}
+\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}}
+\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}}
+\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}}
+\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}}
+}{}
+\def\customwwwTxt#1{\gdef\@customwwwTxt{\lr{#1}}}
+\newcommand{\xepersian@wwwFormat}{\sffamily}
+\newcommand{\xepersian@www}{%
+\raisebox{-3pt}{{\xepersian@wwwFormat\@customwwwTxt}}
+}
+\newcommand{\xepersian@edition}{ویرایش من}
+\newcommand{\editionFormat}{\large\bfseries\texttt}
+\newcommand{\xepersian@editionLogo}{%
+\raisebox{-3pt}{%
+{\editionFormat\xepersian@edition}%
+}%
+}
+\newcommand{\indexFormat}{\large\bfseries}
+\newcommand{\xepersian@indexFrameTitle}[1]
+{\begin{flushright}{{\indexFormat #1}}\end{flushright}}
+
+\newcommand{\indexEntryFormat}{\normalsize}
+\newcommand{\xepersian@indexEntry}[1]{\begin{minipage}{13\TPHorizModule}%
+{\indexEntryFormat\noindent\ignorespaces{#1}}%
+\end{minipage}}
+\newcommand{\indexEntrySeparator}{\rule{\xepersian@indexwidth}{.1pt}}
+\newcommand{\indexEntryPageTxt}{صفحهٔ}
+\newcommand{\indexEntryPageFormat}{\footnotesize}
+\newcommand{\xepersian@indexEntryPage}[1]{%
+{\indexEntryPageFormat{\indexEntryPageTxt{}~#1}}%
+}
+\newcommand{\headDateTimeFormat}{}
+\newcommand{\xepersian@headDateTime}{%
+\headDateTimeFormat\date\hspace{5pt}$\parallel$\hspace{5pt}%
+\currenttime %
+}
+\newcommand{\weatherFormat}{\bfseries}
+\newcommand{\xepersian@weather}[1]{%
+\noindent{\weatherFormat #1}%
+}
+\newcommand{\weatherTempFormat}{\small}
+\newcommand{\weatherUnits}{\textdegree{}C}
+\newcommand{\xepersian@section}[0]{صفحهٔ جلو}
+\newcommand{\xepersian@headleft}{%
+{\small\bfseries \@custommagazinename}، \date
+}
+\newcommand{\xepersian@headcenter}{%
+\xepersian@section{}
+}
+\newcommand{\xepersian@headright}{%
+\small\xepersian@edition%
+\hspace*{5pt}\beginL\thepage\ / \pageref{LastPage}\endL
+}
+
+\newcommand{\heading}[3]{%
+\renewcommand{\xepersian@headleft}{\beginR#1\endR}%
+\renewcommand{\xepersian@headcenter}{\beginR#2\endR}%
+\renewcommand{\xepersian@headright}{\beginR#3\endR}%
+}
+\newcommand{\xepersian@footright}{%
+{\footnotesize\lr{\copyright\ \@customwwwTxt{}}---تهیه‌شده توسط \lr{\XePersian}}%
+}
+\newcommand{\xepersian@footcenter}{%
+}
+\newcommand{\xepersian@footleft}{%
+}
+
+\newcommand{\foot}[3]{%
+\renewcommand{\xepersian@footleft}{\beginR#1\endR}%
+\renewcommand{\xepersian@footcenter}{\beginR#2\endR}%
+\renewcommand{\xepersian@footright}{\beginR#3\endR}%
+}
+\newcommand{\firstTitleFormat}{\Huge\bfseries\flushright}
+\newcommand{\xepersian@firstTitle}[1]{%
+{%
+\begin{spacing}{2.0}{%
+\noindent\ignorespaces
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\firstTitleFormat #1}}%
+{{\firstTitleFormat #1}}%
+}%
+\end{spacing}%
+}%
+}
+\newcommand{\firstTextFormat}{}
+\newcommand{\xepersian@firstText}[1]{%
+{\noindent\ignorespaces\firstTextFormat #1}%
+}
+\newcommand{\secondTitleFormat}{\LARGE\bfseries}
+\newcommand{\xepersian@secondTitle}[1]{%
+\begin{spacing}{1.5}{%
+\noindent\ignorespaces\flushright
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\secondTitleFormat #1}}%
+{{\secondTitleFormat #1}}%
+}\end{spacing}%
+}
+\newcommand{\secondSubtitleFormat}{\large}
+\newcommand{\xepersian@secondSubtitle}[1]{%
+{\noindent\ignorespaces{\secondSubtitleFormat #1}}%
+}
+\newcommand{\secondTextFormat}{}
+\newcommand{\xepersian@secondText}[1]{%
+\begin{multicols}{2}
+{\noindent\ignorespaces\secondTextFormat #1}
+\end{multicols}
+}
+\newcommand{\thirdTitleFormat}{\Large\bfseries}
+\newcommand{\xepersian@thirdTitle}[1]{%
+\begin{spacing}{1.5}{%
+\noindent\ignorespaces\flushright
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\thirdTitleFormat #1}}%
+{{\thirdTitleFormat #1}}%
+}\end{spacing}%
+}
+\newcommand{\thirdSubtitleFormat}{\large}
+\newcommand{\xepersian@thirdSubtitle}[1]%
+{{\noindent\ignorespaces\thirdSubtitleFormat #1}}
+\newcommand{\thirdTextFormat}{}
+\newcommand{\xepersian@thirdText}[1]{{\thirdTextFormat #1}}
+\newcommand{\pictureCaptionFormat}{\small\bfseries}
+\newcommand{\xepersian@pictureCaption}[1]{%
+{\noindent\pictureCaptionFormat #1}%
+}
+\newcommand{\pagesFormat}{\bfseries\footnotesize}
+\newcommand{\xepersian@pages}[1]%
+{\noindent{\pagesFormat\MakeUppercase{#1}}}
+\newcommand{\innerTitleFormat}{\Huge}
+\newcommand{\xepersian@innerTitle}[1]{%
+\begin{flushright}{%
+\noindent
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}%
+{\nohyphens{\innerTitleFormat #1}}%
+{{\innerTitleFormat #1}}%
+}%
+\\%
+\end{flushright}%
+}
+\newcommand{\innerSubtitleFormat}{\large}
+\newcommand{\xepersian@innerSubtitle}[1]{{\innerSubtitleFormat #1}}
+\newcommand{\timestampTxt}{}
+\newcommand{\timestampSeparator}{|}
+\newcommand{\timestampFormat}{\small}
+\newcommand{\timestamp}[1]{%
+{\timestampFormat%
+#1~\timestampTxt{}%
+}~\timestampSeparator{}%
+}
+\newcommand{\innerAuthorFormat}{\footnotesize}
+\newcommand{\innerPlaceFormat}{\footnotesize\bfseries}
+\newcommand{\innerTextFinalMark}{\rule{0.65em}{0.65em}}
+\newcommand{\editorialTitleFormat}{\LARGE\textit}
+\newcommand{\xepersian@editorialTitle}[1]{\editorialTitleFormat{#1}}
+\newcommand{\editorialAuthorFormat}{\textsc}
+\newcommand{\shortarticleTitleFormat}{\LARGE\bfseries}
+\newcommand{\xepersian@shortarticleTitle}[1]{{\shortarticleTitleFormat #1}}
+\newcommand{\shortarticleSubtitleFormat}{\Large}
+\newcommand{\xepersian@shortarticleSubtitle}[1]{{\shortarticleSubtitleFormat #1}}
+\newcommand{\shortarticleItemTitleFormat}{\large\bfseries}
+\newcommand{\xepersian@shortarticleItemTitle}[1]{{\shortarticleItemTitleFormat #1}}
+\renewcommand{\maketitle}{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 1em%
+ {\LARGE «\xepersian@edition» \par}%
+ \vskip 3em%
+ {\large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}%
+ \end{center}\par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+\newcommand{\xepersian@say}[1]{\typeout{#1}}
+\newsavebox{\xepersian@fmbox}
+\newenvironment{xepersian@fmpage}[1]
+ {\begin{lrbox}{\xepersian@fmbox}\begin{minipage}{#1}}
+ {\end{minipage}\end{lrbox}\fbox{\usebox{\xepersian@fmbox}}}
+\newcommand{\image}[2]{
+\vspace{5pt}
+\setlength{\fboxsep}{1pt}
+\addtolength{\xepersian@imgsize}{\columnwidth}
+\addtolength{\xepersian@imgsize}{-1\columnsep}
+\ifxetex
+\setlength{\xepersian@pageneed}{1.5\xepersian@imgsize}
+\addtolength{\xepersian@pageneed}{50pt}
+\ClassWarning{xepersian-magazine}{%
+Image #1 needs: \the\xepersian@pageneed \space %
+and there is left: \the\page@free\space%
+}
+\ifdim \xepersian@pageneed < \page@free
+
+{\centering\fbox{%
+\includegraphics[width = \xepersian@imgsize,
+height = \xepersian@imgsize,
+keepaspectratio ]{#1}}}
+\xepersian@pictureCaption{#2}
+
+\vspace{5pt}
+\else
+\ClassWarning{Image #1 needs more space!%
+ It was not inserted!}
+\fi
+\fi
+}
+\textblockorigin{1cm}{1cm}
+\newdimen\xepersian@dx
+\newdimen\xepersian@dy
+\newcount\xepersian@cx
+\newcount\xepersian@cy
+\newcommand{\grid}[3][]{
+\xepersian@dx=\textwidth%
+\xepersian@dy=\textheight%
+\xepersian@cx=#3% %columns
+\xepersian@cy=#2% %rows
+
+\count1=#3%
+\advance\count1 by 1
+
+\count2=#2%
+\advance\count2 by 1
+
+\divide\xepersian@dx by #3
+\divide\xepersian@dy by #2
+
+\setlength{\TPHorizModule}{\xepersian@dx}
+\setlength{\TPVertModule}{\xepersian@dy}
+
+\ifthenelse{\equal{#1}{show}}{
+\multido{\xepersian@nrow=0+1}{\count2}{
+\begin{textblock}{\xepersian@cx}(0,\xepersian@nrow)
+\rule[0pt]{\textwidth}{.1pt}
+\end{textblock}
+}
+
+\multido{\xepersian@ncol=0+1}{\count1}{
+\begin{textblock}{\xepersian@cy}(\xepersian@ncol,0)
+\rule[0pt]{.1pt}{\textheight}
+\end{textblock}
+}
+}{}
+}
+\newcommand{\xepersianInit}{
+\setlength{\headheight}{14pt}
+\renewcommand{\headrulewidth}{0.4pt}
+
+\pagestyle{fancy}
+
+\setlength{\columnseprule}{\columnlines}
+\setlength{\fboxrule}{0.1 pt}
+
+}
+
+\def\customlogo#1{\gdef\@customlogo{\beginR#1\endR}}
+\def\customminilogo#1{\gdef\@customminilogo{\beginR#1\endR}}
+\def\custommagazinename#1{\gdef\@custommagazinename{\beginR#1\endR}}
+\newcommand{\logo}[0]{
+%% Heading %%
+\noindent\hrulefill\hspace{10pt}\xepersian@editionLogo\hspace{5pt}\xepersian@www
+
+\vspace*{-3pt}
+
+{\Large\bfseries \@customlogo}
+\hrulefill
+\hspace{10pt}\xepersian@headDateTime
+
+}
+\newcommand{\minilogo}[0]{
+{\large\bfseries \@customminilogo}
+
+\vspace*{5pt}
+}
+\newcommand{\mylogo}[1]{
+{\beginR#1\endR}
+
+\noindent
+\xepersian@editionLogo\hspace{5pt}
+\hrulefill
+\hspace{5pt}\xepersian@headDateTime
+}
+\newcommand{\edition}[1]{\renewcommand{\xepersian@edition}{#1}}
+\newenvironment{frontpage}[0]
+{
+\setboolean{xepersian@insidefrontpage}{true}
+\thispagestyle{empty}
+\logo
+
+}%
+{
+\thispagestyle{empty}
+\clearpage
+\newpage
+\fancyhead{}
+ \fancyfoot{}
+\fancyhead[RO,LE]{\beginR\xepersian@headright\endR}
+\fancyhead[LO,RE]{\beginR\xepersian@headleft\endR}
+ \fancyhead[C]{\beginR\xepersian@headcenter\endR}
+ \fancyfoot[RO,LE]{\beginR\xepersian@footright\endR}
+ \fancyfoot[LO,RE]{\beginR\xepersian@footleft\endR}
+\fancyfoot[C]{\beginR\xepersian@footcenter\endR}
+\renewcommand{\headrulewidth}{0.4pt}
+\setboolean{xepersian@insidefrontpage}{false}
+
+}
+\newcommand{\firstarticle}[3]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\ifthenelse{\boolean{xepersian@hyphenatedtitles}}{%
+\begin{textblock}{24}(22,5)
+}
+{
+\begin{textblock}{28}(22,5)
+}
+\vspace{-7pt}
+\xepersian@firstTitle{#1}
+\end{textblock}
+\begin{textblock}{29}(22,10)
+\vspace{5pt plus 2pt minus 2pt}
+
+\xepersian@firstText{\timestamp{#3}~#2}
+
+\end{textblock}
+
+\begin{textblock}{50}(0,15)
+\rule{50\TPHorizModule}{.3pt}
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\firstarticle\space in a wrong place.\MessageBreak
+\protect\firstarticle\space may only appear inside frontpage environment.
+}{%
+\protect\firstarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\secondarticle}[5]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{33}(2,16)
+\xepersian@pages{#4}
+\vspace{-5pt}
+\xepersian@secondTitle{#1}
+
+\vspace*{5pt}
+
+\xepersian@secondSubtitle{#2}
+
+\vspace*{-7pt}
+
+\xepersian@secondText{\timestamp{#5}~#3}
+
+\end{textblock}
+
+\begin{textblock}{33}(2,25)
+\vspace{5pt plus 2pt minus 2pt}
+
+\noindent\ignorespaces\rule{33\TPHorizModule}{.3pt}
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\secondarticle\space in a wrong place.\MessageBreak
+\protect\secondarticle\space may only appear inside frontpage environment.
+}{%
+\protect\secondarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\thirdarticle}[6]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{32}(2,26)
+\xepersian@pages{#5}
+\vspace{-5pt}
+\setlength{\fboxsep}{1pt}
+\xepersian@thirdTitle{#1}
+
+\vspace*{5pt}
+
+\xepersian@thirdSubtitle{#2}
+
+\vspace*{5pt}
+
+{\noindent\ignorespaces %
+\ifthenelse{\equal{#4}{}}{}
+
+\xepersian@thirdText{\timestamp{#6}~#3}
+
+}
+
+\vspace*{5pt}
+
+\end{textblock}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\thirdarticle\space in a wrong place.\MessageBreak
+\protect\thirdarticle\space may only appear inside frontpage environment.
+}{%
+\protect\thirdarticle\space may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\firstimage}[2]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{18}(2,5)
+\setlength{\fboxsep}{1pt}
+\ifxetex % only in PDF
+\noindent\fbox{\includegraphics[width = 18\TPHorizModule ]{#1}}
+\fi
+
+\xepersian@pictureCaption{#2}
+\end{textblock}%
+}
+{\ClassError{xepersian-magazine}{%
+\protect\firstimage\space in a wrong place.\MessageBreak
+\protect\firstimage\space may only appear inside frontpage environment.
+}{%
+\protect\firstimage\space may only appear inside frontpage environment.
+}}
+}%
+\newcommand{\weatheritem}[5]{%
+\ifthenelse{\boolean{xepersian@insideweather}}{
+\begin{minipage}{45pt}
+\ifxetex
+\includegraphics[width=40pt]{#1}
+\fi
+\end{minipage}
+\begin{minipage}{50pt}
+\weatherTempFormat
+#2\\
+\beginL#3 $\|$ #4 \lr{\weatherUnits{}}\endL\\
+#5
+\end{minipage}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\weatheritem\space in a wrong place.\MessageBreak
+\protect\weatheritem\space may only appear inside weatherblock environment.
+}{%
+\protect\weatheritem\space may only appear inside weatherblock environment.\MessageBreak
+weatherblock environment may only appear inside frontpage environment.
+}%
+}
+}
+\newenvironment{weatherblock}[1]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\setboolean{xepersian@insideweather}{true}
+\begin{textblock}{32}(2,38)
+\vspace*{-15pt}
+
+\xepersian@weather{\beginR#1\endR}
+
+\vspace*{5pt}
+
+\noindent\begin{xepersian@fmpage}{32\TPHorizModule}
+\begin{minipage}{32\TPHorizModule}
+\hspace{5pt}
+
+}{%
+\ClassError{xepersian-magazine}{%
+weatherblock in a wrong place.\MessageBreak
+weatherblock may only appear inside frontpage environment.
+}{%
+weatherblock may only appear inside frontpage environment.
+}
+}
+}%
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+\setboolean{xepersian@insideweather}{false}
+}
+\newenvironment{authorblock}[0]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\begin{textblock}{15}(36,35)
+\setlength{\fboxsep}{5pt}
+\begin{xepersian@fmpage}{13\TPHorizModule}
+\begin{minipage}{13\TPHorizModule}
+\centering
+\minilogo
+
+}{%else
+\ClassError{xepersian-magazine}{%
+authorblock in a wrong place.\MessageBreak
+authorblock may only appear inside frontpage environment.
+}{%
+authorblock may only appear inside frontpage environment.
+}
+}
+}
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+}
+\newenvironment{indexblock}[1]
+{
+\ifthenelse{\boolean{xepersian@insidefrontpage}}{%
+\setboolean{xepersian@insideindex}{true}%let's in
+\begin{textblock}{15}(36,16)
+\setlength{\xepersian@indexwidth}{13\TPHorizModule}
+\xepersian@indexFrameTitle{#1}
+
+\setlength{\fboxsep}{5pt} %espacio entre el frame y la imagen
+\begin{xepersian@fmpage}{\xepersian@indexwidth}
+\begin{minipage}{\xepersian@indexwidth}
+\vspace*{10pt}
+}{%else
+\ClassError{xepersian-magazine}{%
+indexblock in a wrong place.\MessageBreak
+indexblock may only appear inside frontpage environment.
+}{%
+indexblock may only appear inside frontpage environment.
+}
+}
+}%
+{
+\end{minipage}
+\end{xepersian@fmpage}
+\end{textblock}
+\setboolean{xepersian@insideindex}{false}%let's out
+}
+\newcommand{\indexitem}[2]
+{
+\ifthenelse{\boolean{xepersian@insideindex}}{
+\xepersian@indexEntry{#1، \xepersian@indexEntryPage{\pageref{#2}}}
+
+\vspace{0.5cm}
+
+\noindent\ignorespaces\indexEntrySeparator{}
+}{%else
+\ClassError{xepersian-magazine}{%
+\protect\indexitem\space in a wrong place.\MessageBreak
+\protect\indexitem\space may only appear inside indexblock environment.
+}{%
+\protect\indexitem\space may only appear inside indexblock environment.\MessageBreak
+indexblock environment may only appear inside frontpage environment.
+}%
+}
+}
+\newcommand{\xepersian@inexpandedtitle}[1]{
+\begin{minipage}{.95\textwidth}
+\begin{center}
+\noindent\Large\textbf{\beginR#1\endR}
+\end{center}
+\end{minipage}
+}
+\newcommand{\expandedtitle}[2]{
+\end{multicols}
+
+\begin{center}
+\setlength{\fboxsep}{5pt}
+\setlength{\shadowsize}{2pt}
+\ifthenelse{\equal{#1}{shadowbox}}{%
+\shadowbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{doublebox}}{%
+\doublebox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{ovalbox}}{%
+\ovalbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{Ovalbox}}{%
+\Ovalbox{%
+\xepersian@inexpandedtitle{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{lines}}{
+\hrule
+\vspace*{8pt}
+\begin{center}
+\noindent\Large\textbf{#2}
+\end{center}
+\vspace*{8pt}
+\hrule
+}{}
+\end{center}
+
+\begin{multicols}{\xepersian@ncolumns{}}
+\ifnum \xepersian@ncolumns > \minraggedcols
+\raggedFormat
+\fi
+}
+\newcommand{\xepersian@incolumntitle}[2]{
+\begin{minipage}{#1}
+\begin{center}
+\noindent\normalsize\textbf{#2}
+\end{center}
+\end{minipage}
+}
+
+\newcommand{\columntitle}[2]{
+\vspace*{5pt}
+\begin{center}
+\setlength{\fboxsep}{5pt}
+\setlength{\shadowsize}{2pt}
+\addtolength{\xepersian@coltitsize}{\columnwidth}
+\addtolength{\xepersian@coltitsize}{-1\columnsep}
+\addtolength{\xepersian@coltitsize}{-5pt}
+\addtolength{\xepersian@coltitsize}{-1\shadowsize}
+\ifthenelse{\equal{#1}{shadowbox}}{%
+\shadowbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{doublebox}}{%
+\doublebox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{ovalbox}}{%
+\ovalbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{Ovalbox}}{%
+\Ovalbox{%
+\xepersian@incolumntitle{\xepersian@coltitsize}{#2}%
+}%
+}{}
+\ifthenelse{\equal{#1}{lines}}{
+\hrule
+\vspace*{5pt}
+\begin{center}
+\noindent\normalsize\textbf{#2}
+\end{center}
+\vspace*{5pt}
+\hrule
+}{}
+\end{center}
+}
+\renewcommand{\date}{%
+\longdate{\today}%
+}
+\newcommand{\authorandplace}[2]{%
+\rightline{%
+{\innerAuthorFormat #1},\space{}{\innerPlaceFormat #2}%
+}%
+\par %
+}
+\newcommand{\newsection}[1]{
+\renewcommand{\xepersian@section}{#1}
+}
+\newenvironment{article}[5]
+{
+\xepersian@say{Adding a new piece of article}
+\renewcommand{\xepersian@ncolumns}{#1}
+\begin{multicols}{#1}[
+\xepersian@pages{#4}
+\xepersian@innerTitle{#2}%
+\xepersian@innerSubtitle{#3}%
+][4cm]%
+\label{#5}
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{~\innerTextFinalMark{}
+\end{multicols}
+}
+\newcommand{\articlesep}{%
+\setlength{\xepersian@pageneed}{16000pt}
+\setlength\xepersian@pageleft{\pagegoal}
+\addtolength\xepersian@pageleft{-\pagetotal}
+
+\xepersian@say{How much left \the\xepersian@pageleft}
+
+\ifdim \xepersian@pageneed < \xepersian@pageleft
+\xepersian@say{Not enough space}
+\else
+\xepersian@say{Adding sep line between articles}
+\vspace*{10pt plus 10pt minus 5pt}
+\hrule
+\vspace*{10pt plus 5pt minus 5pt}
+\fi
+
+}
+\newcommand{\xepersian@editorialTit}[2]{
+\setlength{\arrayrulewidth}{.1pt}
+\begin{center}
+\begin{tabular}{c}
+\noindent
+\xepersian@editorialTitle{#1}
+\vspace{2pt plus 1pt minus 1pt}
+\\
+\hline
+\vspace{2pt plus 1pt minus 1pt}
+\\
+\editorialAuthorFormat{#2}
+\end{tabular}
+\end{center}
+}
+\newenvironment{editorial}[4]
+{
+\xepersian@say{Adding a new editorial}
+\begin{multicols}{#1}[%
+\xepersian@editorialTit{#2}{#3}%
+][4cm]
+\label{#4}
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{
+\end{multicols}
+}
+\newcommand{\xepersian@shortarticleTit}[2]{
+\begin{center}
+\vbox{%
+\noindent
+\xepersian@shortarticleTitle{#1}
+\vspace{4pt plus 2pt minus 2pt}
+\hrule
+\vspace{4pt plus 2pt minus 2pt}
+\xepersian@shortarticleSubtitle{#2}
+}
+\end{center}
+}
+\newenvironment{shortarticle}[4]
+{
+\xepersian@say{Adding a short article block}
+\begin{multicols}{#1}[\xepersian@shortarticleTit{#2}{#3}][4cm] %
+ \label{#4}
+\par %
+\ifnum #1 > \minraggedcols
+\raggedFormat
+\fi
+}
+{
+\end{multicols}
+}
+\newcommand{\shortarticleitem}[2]{
+\goodbreak
+\vspace{5pt plus 3pt minus 3pt}
+{\vbox{\noindent\xepersian@shortarticleItemTitle{#1}}}
+\vspace{5pt plus 3pt minus 3pt}
+{\noindent #2}\\
+}
+\endinput
+%%
+%% End of file `xepersian-magazine.cls'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty
new file mode 100644
index 00000000000..6e4abdae547
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty
@@ -0,0 +1,362 @@
+%%
+%% This is file `xepersian-mathsdigitspec.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-mathsdigitspec.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{10884}
+%% \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}
+\ProvidesPackage{xepersian-mathsdigitspec}
+ [2018/12/16 v1.1.7 Unicode Persian maths digits in XeLaTeX]
+\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
+\let\newfam\new@mathgroup
+\def\select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+ \ifnum\csname c@mv@\math@version\endcsname<\@cclvi
+ \begingroup
+ \escapechar\m@ne
+ \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+ \globaldefs\@ne \math@fonts
+ \endgroup
+ \init@restore@version
+ \xdef#1{\noexpand\use@mathgroup\noexpand#2%
+ {\number\csname c@mv@\math@version\endcsname}}%
+ \global\advance\csname c@mv@\math@version\endcsname\@ne
+ \else
+ \let#1\relax
+ \@latex@error{Too many math alphabets used in
+ version \math@version}%
+ \@eha
+ \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\def\document@select@group#1#2#3#4{%
+ \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
+ {%
+ \ifmmode
+ \ifnum\csname c@mv@\math@version\endcsname<\@cclvi
+ \begingroup
+ \escapechar\m@ne
+ \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
+ \globaldefs\@ne \math@fonts
+ \endgroup
+ \expandafter\extract@alph@from@version
+ \csname mv@\math@version\expandafter\endcsname
+ \expandafter{\number\csname
+ c@mv@\math@version\endcsname}%
+ #1%
+ \global\advance\csname c@mv@\math@version\endcsname\@ne
+ \else
+ \let#1\relax
+ \@latex@error{Too many math alphabets used
+ in version \math@version}%
+ \@eha
+ \fi
+ \else \expandafter\non@alpherr\fi
+ #1{#4}%
+ }%
+}
+\ExplSyntaxOn
+\bool_set_false:N \g__fontspec_math_bool
+\tl_map_inline:nn
+ {
+ \new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes
+ \@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@
+ \DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion
+ \version@list\version@elt\alpha@list\alpha@elt
+ \restore@mathversion\init@restore@version\dorestore@version\process@table
+ \new@mathversion\DeclareSymbolFont\group@list\group@elt
+ \new@symbolfont\SetSymbolFont\SetSymbolFont@\get@cdp
+ \DeclareMathAlphabet\new@mathalphabet\SetMathAlphabet\SetMathAlphabet@
+ \DeclareMathAccent\set@mathaccent\DeclareMathSymbol\set@mathchar
+ \set@mathsymbol\DeclareMathDelimiter\@xxDeclareMathDelimiter
+ \@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter
+ \set@@mathdelimiter\DeclareMathRadical\mathchar@type
+ \DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@
+ }
+ {
+ \tl_remove_once:Nn \@preamblecmds {\do#1}
+ }
+\ExplSyntaxOff
+\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}}
+\newcommand\SetMathCode[4]{%
+ \Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax}
+\newcommand\SetMathCharDef[4]{%
+ \Umathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax}
+\ExplSyntaxOn
+\cs_new_eq:NN \orig_mathbf:n \mathbf
+\cs_new_eq:NN \orig_mathit:n \mathit
+\cs_new_eq:NN \orig_mathrm:n \mathrm
+\cs_new_eq:NN \orig_mathsf:n \mathsf
+\cs_new_eq:NN \orig_mathtt:n \mathtt
+\NewDocumentCommand \new@mathbf { m } {
+ \orig_mathbf:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathbf@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathit { m } {
+ \orig_mathit:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathit@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathrm { m } {
+ \orig_mathrm:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathrm@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathsf{ m } {
+ \orig_mathsf:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathsf@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+\NewDocumentCommand \new@mathtt{ m } {
+ \orig_mathtt:n {
+ \int_step_inline:nnnn { `0 } { \c_one } { `9 } {
+ \mathcode ##1 = \numexpr "100 * \symnew@mathtt@font@digits + ##1 \relax
+ }
+ #1
+ }
+}
+
+\cs_new:Npn \__xepersian_mathsdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathsdigitspec} }
+\cs_new:Nn \__xepersian_mathsdigitspec_msg_new:nnnn
+ { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } }
+\char_set_catcode_space:n {32}
+\__xepersian_mathsdigitspec_msg_new:nnnn {xepersian-mathsdigitspec} {char-not-exist}
+ {
+ The font "#1" does not contain U+#2.
+ }
+ {
+ Select another font and rerun xelatex.
+ }
+\char_set_catcode_ignore:n {32}
+
+\prg_new_conditional:Nnn \__xepersian_mathsdigitspec_primitive_font_char_if_exist:n {p,TF,T,F}
+ {
+ \etex_iffontchar:D \l_fontspec_font "#1 \scan_stop:
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+
+\clist_new:N \l_xepersian_mathsdigitspec_char_clist
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_set_not_exist_error:nn
+ {
+ \clist_set:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_prepend_not_exist_error:nn
+ {
+ \clist_put_left:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_append_not_exist_error:nn
+ {
+ \clist_put_right:Nn \l_xepersian_mathsdigitspec_char_clist { #1 }
+ \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist {
+ \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } }
+ }
+ }
+
+\cs_new:Nn \__xepersian_mathsdigitspec_char_not_exist_error:n
+ {
+ \__xepersian_mathsdigitspec_char_set_not_exist_error:nn {
+ 06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 ,
+ 06F9 , 066A , 066B
+ } { #1 }
+ }
+
+\DeclareDocumentCommand \setmathdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathdigitfont:nn
+ {
+ \let\glb@currsize\relax
+ \fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathdigitfont_hook:nn {#1} {#2}
+ \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}
+ \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n}
+ \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n}
+ \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it}
+ \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathsdigits{%
+ \SetMathCode{`0}{\mathalpha}{OPERATORS}{`0}
+ \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1}
+ \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2}
+ \SetMathCode{`3}{\mathalpha}{OPERATORS}{`3}
+ \SetMathCode{`4}{\mathalpha}{OPERATORS}{`4}
+ \SetMathCode{`5}{\mathalpha}{OPERATORS}{`5}
+ \SetMathCode{`6}{\mathalpha}{OPERATORS}{`6}
+ \SetMathCode{`7}{\mathalpha}{OPERATORS}{`7}
+ \SetMathCode{`8}{\mathalpha}{OPERATORS}{`8}
+ \SetMathCode{`9}{\mathalpha}{OPERATORS}{`9}
+ \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}
+ \SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B}
+ \tl_set_eq:NN \mathbf \new@mathbf
+ \tl_set_eq:NN \mathit \new@mathit
+ \tl_set_eq:NN \mathrm \new@mathrm}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathdigitfont_hook:nn \use_none:nn
+
+\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathsfdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathsfdigitfont:nn
+ {
+ \fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathsfdigitfont_hook:nn {#1} {#2}
+ \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathsfdigitfont_hook:nn \use_none:nn
+
+\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} }
+ {
+ \__xepersian_main_setmathttdigitfont:nn {#1,#3} {#2}
+ }
+\cs_new:Nn \__xepersian_main_setmathttdigitfont:nn
+ {
+ \fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2}
+ \__xepersian_setmathttdigitfont_hook:nn {#1} {#2}
+ \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n}
+ \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 }
+ \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt}
+ }
+
+\cs_set_eq:NN \__xepersian_setmathttdigitfont_hook:nn \use_none:nn
+
+\ExplSyntaxOff
+\ifx\newcommand\undefined\else
+ \newcommand{\ZifferAn}{}
+\fi
+\mathchardef\ziffer@DotOri="013A
+{\ZifferAn
+ \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}}
+\def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri}
+\def\ziffer@check#1#2{%
+ \ifx\n1\endgroup#1\else
+ \ifx\n2\endgroup#1\else
+ \ifx\n3\endgroup#1\else
+ \ifx\n4\endgroup#1\else
+ \ifx\n5\endgroup#1\else
+ \ifx\n6\endgroup#1\else
+ \ifx\n7\endgroup#1\else
+ \ifx\n8\endgroup#1\else
+ \ifx\n9\endgroup#1\else
+ \ifx\n0\endgroup#1\else
+ \ifx\n\overline\endgroup#1\else
+ \endgroup#2%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+\mathcode`.="8000\relax
+\def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi}
+\def\DefaultInlineMathsDigits{\def\SetInlineMathsDigits{}}
+\def\DefaultDisplayMathsDigits{\def\SetDisplayMathsDigits{}}
+\def\DefaultMathsDigits{%
+ \DefaultInlineMathsDigits%
+ \DefaultDisplayMathsDigits%
+}
+\def\PersianInlineMathsDigits{\def\SetInlineMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
+\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
+\def\PersianDisplayMathsDigits{\def\SetDisplayMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi%
+\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi%
+\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}}
+\def\PersianMathsDigits{%
+ \PersianInlineMathsDigits%
+ \PersianDisplayMathsDigits%
+}
+\def\AutoInlineMathsDigits{\def\SetInlineMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
+\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
+\def\AutoDisplayMathsDigits{\def\SetDisplayMathsDigits{%
+\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi%
+\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi%
+\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}}
+\def\AutoMathsDigits{%
+ \AutoInlineMathsDigits%
+ \AutoDisplayMathsDigits%
+}
+\AutoMathsDigits
+\everymath\expandafter{\the\everymath\SetInlineMathsDigits%
+ \let\SetDisplayMathsDigits\relax%
+}
+\everydisplay\expandafter{%
+ \the\everydisplay\SetDisplayMathsDigits%
+ \let\SetInlineMathsDigits\relax%
+}
+\endinput
+%%
+%% End of file `xepersian-mathsdigitspec.sty'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
new file mode 100644
index 00000000000..2968eb02f80
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
@@ -0,0 +1,177 @@
+%%
+%% This is file `xepersian-multiplechoice.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-multiplechoice.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{10884}
+%% \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}
+\ProvidesPackage{xepersian-multiplechoice}[2010/07/25 v0.2
+ Multiple Choice Questionnaire class for Persian in XeLaTeX]
+\RequirePackage{pifont}
+\RequirePackage{fullpage}
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\RequirePackage{verbatim}
+\RequirePackage{tabularx}
+\def\@headerfont{\bfseries}
+\newcommand\headerfont[1]{\gdef\@headerfont{#1}}
+\def\@X{X}
+\newcommand\X[1]{\gdef\@X{#1}}
+\def\pbs#1{\let\tmp=\\#1\let\\=\tmp}
+\newcolumntype{D}{>{\pbs\centering}X}
+\newcolumntype{Q}{>{\@headerfont}X}
+
+\renewcommand\tabularxcolumn[1]{m{#1}}
+\newcommand\makeform@nocorrection{%
+ \addtocontents{frm}{\protect\end{tabularx}}
+ \@starttoc{frm}}
+\newcommand\makeform@correction{%
+ \addtocontents{frm}{\protect\end{tabularx}}}
+\newcommand\makemask@nocorrection{%
+ \addtocontents{msk}{\protect\end{tabularx}}
+ \@starttoc{msk}}
+\newcommand\makemask@correction{%
+ \addtocontents{msk}{\protect\end{tabularx}}}
+\newlength\questionspace
+\setlength\questionspace{0pt}
+\newcommand\answerstitle[1]{\gdef\@answerstitle{#1}}
+\def\@answerstitlefont{\bfseries}
+\newcommand\answerstitlefont[1]{\gdef\@answerstitlefont{#1}}
+\def\@answernumberfont{\bfseries}
+\newcommand\answernumberfont[1]{\gdef\@answernumberfont{#1}}
+\newcounter{question}\stepcounter{question}
+\newcounter{@choice}
+\def\@initorcheck{%
+ \xdef\@choices{\the@choice}%
+ \setcounter{@choice}{1}%
+ \gdef\@arraydesc{|Q||}%
+ \gdef\@headerline{}%
+ \whiledo{\not{\value{@choice}>\@choices}}{
+ \xdef\@arraydesc{\@arraydesc D|}
+ \def\@appendheader{\g@addto@macro\@headerline}
+ \@appendheader{&\protect\@headerfont}
+ \edef\@the@choice{{\alph{@choice}}}
+ \expandafter\@appendheader\@the@choice
+ \stepcounter{@choice}}%
+ \addtocontents{frm}{%
+ \protect\begin{tabularx}{\protect\linewidth}{\@arraydesc}
+ \protect\hline
+ \@headerline\protect\\\protect\hline\protect\hline}%
+ \addtocontents{msk}{%
+ \protect\begin{tabularx}{\protect\linewidth}{\@arraydesc}
+ \protect\hline
+ \@headerline\protect\\\protect\hline\protect\hline}%
+ \gdef\@initorcheck{%
+ \ifthenelse{\value{@choice} = \@choices}{}{%
+ \ClassError{xepersian-multiplechoice}{Question \thequestion: wrong number of choices
+ (\the@choice\space instead of \@choices)}{%
+ Questions must all have the same number of proposed answers.%
+ \MessageBreak
+ Type X <return> to quit, fix your MCQ (multiple choice question) and rerun XeLaTeX.}}}}
+\newenvironment{question}[1]{%
+ %% \begin{question}
+ \begin{minipage}{\textwidth}
+ \xdef\@formanswerline{\@questionheader}%
+ \xdef\@maskanswerline{\@questionheader}%
+ \fbox{\parbox[c]{\linewidth}{#1}}
+ \vspace\questionspace\par
+ {\@answerstitlefont\@answerstitle}
+ \begin{list}{\@answernumberfont\alph{@choice})~}{\usecounter{@choice}}}{%
+ %% \end{question}
+ \end{list}
+ \@initorcheck%
+ \addtocontents{frm}{\@formanswerline\protect\\\protect\hline}%
+ \addtocontents{msk}{\@maskanswerline\protect\\\protect\hline}%
+ \end{minipage}
+ \stepcounter{question}}
+\def\@truesymbol{\ding{52}~}
+\def\@falsesymbol{\ding{56}~}
+\newcommand\truesymbol[1]{\gdef\@truesymbol{#1}}
+\newcommand\falsesymbol[1]{\gdef\@falsesymbol{#1}}
+\def\@true@nocorrection{\item}
+\def\@false@nocorrection{\item}
+\def\@true@correction{\item[\@truesymbol\refstepcounter{@choice}]}
+\def\@false@correction{\item[\@falsesymbol\refstepcounter{@choice}]}
+\newcommand\true{%
+ \xdef\@formanswerline{\@formanswerline&}%
+ \xdef\@maskanswerline{\@maskanswerline&\@X}%
+ \@true}%
+\newcommand\false{%
+ \xdef\@formanswerline{\@formanswerline&}%
+ \xdef\@maskanswerline{\@maskanswerline&}%
+ \@false}%
+\def\@correctionstyle{\itshape}
+\newcommand\correctionstyle[1]{\gdef\@correctionstyle{#1}}
+\newenvironment{@correction}{\@correctionstyle}{}
+ \def\@questionheader{سؤال \thequestion}
+ \answerstitle{جوابهای ممکن:}
+\DeclareOption{nocorrection}{%
+ \let\@true\@true@nocorrection
+ \let\@false\@false@nocorrection
+ \let\correction\comment
+ \let\endcorrection\endcomment
+ \def\makeform{\makeform@nocorrection}
+ \def\makemask{\makemask@nocorrection}}
+\DeclareOption{correction}{%
+ \let\@true\@true@correction
+ \let\@false\@false@correction
+ \let\correction\@correction
+ \let\endcorrection\end@correction
+ \def\makeform{\makeform@correction}
+ \def\makemask{\makemask@correction}}
+\ExecuteOptions{nocorrection}
+\newcommand\questiontitle[1]{\gdef\@questiontitle{#1}}
+\def\@questiontitlefont{\bfseries}
+\newcommand\questiontitlefont[1]{\gdef\@questiontitlefont{#1}}
+\newlength\questiontitlespace
+\setlength\questiontitlespace{5pt}
+\newlength\questionsepspace
+\setlength\questionsepspace{20pt}
+\gdef\@questionsepspace{0pt}
+\let\old@question\question
+\let\old@endquestion\endquestion
+\renewenvironment{question}[1]{%
+ %% \begin{question}
+ \vspace\@questionsepspace
+ \fbox{\parbox[c]{0.25\linewidth}{\@questiontitlefont\@questiontitle}}
+ \nopagebreak\vspace\questiontitlespace\par
+ \old@question{#1}}{%
+ %% \end{question}
+ \old@endquestion
+ \gdef\@questionsepspace{\questionsepspace}}
+ \questiontitle{سؤال \thequestion:}
+\ProcessOptions
+\endinput
+%%
+%% End of file `xepersian-multiplechoice.sty'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
new file mode 100644
index 00000000000..09be644135a
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
@@ -0,0 +1,211 @@
+%%
+%% This is file `xepersian-persiancal.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xepersian.dtx (with options: `table,xepersian-persiancal.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{10884}
+%% \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}
+\ProvidesPackage{xepersian-persiancal}[2012/07/25 v0.2 provides Persian calendar]
+
+\newif\ifXePersian@leap \newif\ifXePersian@kabiseh
+\newcount\XePersian@i \newcount\XePersian@y \newcount\XePersian@m \newcount\XePersian@d
+\newcount\XePersian@latini \newcount\XePersian@persiani
+\newcount\XePersian@latinii \newcount\XePersian@persianii
+\newcount\XePersian@latiniii \newcount\XePersian@persianiii
+\newcount\XePersian@latiniv \newcount\XePersian@persianiv
+\newcount\XePersian@latinv \newcount\XePersian@persianv
+\newcount\XePersian@latinvi \newcount\XePersian@persianvi
+\newcount\XePersian@latinvii \newcount\XePersian@persianvii
+\newcount\XePersian@latinviii \newcount\XePersian@persianviii
+\newcount\XePersian@latinix \newcount\XePersian@persianix
+\newcount\XePersian@latinx \newcount\XePersian@persianx
+\newcount\XePersian@latinxi \newcount\XePersian@persianxi
+\newcount\XePersian@latinxii \newcount\XePersian@persianxii
+ \newcount\XePersian@persianxiii
+
+\newcount\XePersian@temp
+\newcount\XePersian@temptwo
+\newcount\XePersian@tempthree
+\newcount\XePersian@yModHundred
+\newcount\XePersian@thirtytwo
+\newcount\XePersian@dn
+\newcount\XePersian@sn
+\newcount\XePersian@mminusone
+
+\XePersian@y=\year \XePersian@m=\month \XePersian@d=\day
+\XePersian@temp=\XePersian@y
+\divide\XePersian@temp by 100\relax
+\multiply\XePersian@temp by 100\relax
+\XePersian@yModHundred=\XePersian@y
+\advance\XePersian@yModHundred by -\XePersian@temp\relax
+\ifodd\XePersian@yModHundred
+ \XePersian@leapfalse
+\else
+ \XePersian@temp=\XePersian@yModHundred
+ \divide\XePersian@temp by 2\relax
+ \ifodd\XePersian@temp\XePersian@leapfalse
+ \else
+ \ifnum\XePersian@yModHundred=0%
+ \XePersian@temp=\XePersian@y
+ \divide\XePersian@temp by 400\relax
+ \multiply\XePersian@temp by 400\relax
+ \ifnum\XePersian@y=\XePersian@temp\XePersian@leaptrue\else\XePersian@leapfalse\fi
+ \else\XePersian@leaptrue
+ \fi
+ \fi
+\fi
+\XePersian@latini=31\relax
+\ifXePersian@leap
+ \XePersian@latinii = 29\relax
+\else
+ \XePersian@latinii = 28\relax
+\fi
+\XePersian@latiniii = 31\relax
+\XePersian@latiniv = 30\relax
+\XePersian@latinv = 31\relax
+\XePersian@latinvi = 30\relax
+\XePersian@latinvii = 31\relax
+\XePersian@latinviii = 31\relax
+\XePersian@latinix = 30\relax
+\XePersian@latinx = 31\relax
+\XePersian@latinxi = 30\relax
+\XePersian@latinxii = 31\relax
+\XePersian@thirtytwo=32\relax
+\XePersian@temp=\XePersian@y
+\advance\XePersian@temp by -17\relax
+\XePersian@temptwo=\XePersian@temp
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 33\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\ifnum\XePersian@temp=\XePersian@thirtytwo\XePersian@kabisehfalse
+\else
+ \XePersian@temptwo=\XePersian@temp
+ \divide\XePersian@temptwo by 4\relax
+ \multiply\XePersian@temptwo by 4\relax
+ \advance\XePersian@temp by -\XePersian@temptwo
+ \ifnum\XePersian@temp=\z@\XePersian@kabisehtrue\else\XePersian@kabisehfalse\fi
+\fi
+\XePersian@tempthree=\XePersian@y % Number of Leap years
+\advance\XePersian@tempthree by -1
+\XePersian@temp=\XePersian@tempthree % T := (MY-1) div 4
+\divide\XePersian@temp by 4\relax
+\XePersian@temptwo=\XePersian@tempthree % T := T - ((MY-1) div 100)
+\divide\XePersian@temptwo by 100\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\XePersian@temptwo=\XePersian@tempthree % T := T + ((MY-1) div 400)
+\divide\XePersian@temptwo by 400\relax
+\advance\XePersian@temp by \XePersian@temptwo
+\advance\XePersian@tempthree by -611 % Number of Kabise years
+\XePersian@temptwo=\XePersian@tempthree % T := T - ((SY+10) div 33) * 8
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 8\relax
+\advance\XePersian@temp by -\XePersian@temptwo
+\XePersian@temptwo=\XePersian@tempthree %
+\divide\XePersian@temptwo by 33\relax
+\multiply\XePersian@temptwo by 33\relax
+\advance\XePersian@tempthree by -\XePersian@temptwo
+\ifnum\XePersian@tempthree=32\advance\XePersian@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T);
+\divide\XePersian@tempthree by 4\relax % T := T - ((SY+10) mod 33) div 4
+\advance\XePersian@temp by -\XePersian@tempthree
+\advance\XePersian@temp by -137 % T := T - 137 Adjust the value
+\XePersian@persiani=31
+\advance\XePersian@persiani by -\XePersian@temp % now 31 - T is the persiani
+\XePersian@persianii = 30\relax
+\ifXePersian@kabiseh
+ \XePersian@persianiii = 30\relax
+\else
+ \XePersian@persianiii = 29\relax
+\fi
+\XePersian@persianiv = 31\relax
+\XePersian@persianv = 31\relax
+\XePersian@persianvi = 31\relax
+\XePersian@persianvii = 31\relax
+\XePersian@persianviii= 31\relax
+\XePersian@persianix = 31\relax
+\XePersian@persianx = 30\relax
+\XePersian@persianxi = 30\relax
+\XePersian@persianxii = 30\relax
+\XePersian@persianxiii= 30\relax
+\XePersian@dn= 0\relax
+\XePersian@sn= 0\relax
+\XePersian@mminusone=\XePersian@m
+\advance\XePersian@mminusone by -1\relax
+\XePersian@i=0\relax
+\ifnum\XePersian@i < \XePersian@mminusone
+\loop
+\advance \XePersian@i by 1\relax
+\advance\XePersian@dn by \csname XePersian@latin\romannumeral\the\XePersian@i\endcsname
+\ifnum\XePersian@i<\XePersian@mminusone \repeat
+\fi
+\advance \XePersian@dn by \XePersian@d
+\XePersian@i=1\relax
+\XePersian@sn = \XePersian@persiani
+\ifnum \XePersian@sn<\XePersian@dn
+\loop
+\advance \XePersian@i by 1\relax
+\advance\XePersian@sn by \csname XePersian@persian\romannumeral\the\XePersian@i\endcsname
+\ifnum \XePersian@sn<\XePersian@dn \repeat
+\fi
+\ifnum \XePersian@i < 4
+ \XePersian@m = 9 \advance\XePersian@m by \XePersian@i
+ \advance \XePersian@y by -622\relax
+\else
+ \XePersian@m = \XePersian@i \advance \XePersian@m by -3\relax
+ \advance \XePersian@y by -621\relax
+\fi
+\advance\XePersian@sn by -\csname XePersian@persian\romannumeral\the\XePersian@i%
+\endcsname
+\ifnum\XePersian@i = 1
+ \XePersian@d = \XePersian@dn \advance \XePersian@d by 30 \advance\XePersian@d by -\XePersian@persiani
+\else
+ \XePersian@d = \XePersian@dn \advance \XePersian@d by -\XePersian@sn
+\fi
+\newcommand*{\persiantoday}{%
+\number\XePersian@d\space%
+\XePersian@persian@month{\XePersian@m}\space\number\XePersian@y%
+}
+\let\persianyear\XePersian@y
+\let\persianmonth\XePersian@m
+\let\persianday\XePersian@d
+\def\XePersian@persian@month#1{\ifcase#1\or فروردین\or
+اردیبهشت\or
+خرداد\or تیر\or
+مرداد\or
+شهریور\or مهر\or
+آبان\or آذر\or
+دی\or بهمن\or
+اسفند\fi}
+\endinput
+%%
+%% End of file `xepersian-persiancal.sty'.
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
new file mode 100644
index 00000000000..9c346910b81
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
@@ -0,0 +1,1538 @@
+%%
+%% 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{10884}
+%% \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{23.0}
+\def\xepersiandate{2020/05/16}
+\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 16, 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}
+
+\ExecuteOptionsX{%
+ 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
+
+\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'.