summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/README4
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdfbin950309 -> 954094 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/flowfram-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def23
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty14
62 files changed, 122 insertions, 79 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README
index 9f6c1d0b7ad..56e04ada1a3 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian/README
+++ b/Master/texmf-dist/doc/xelatex/xepersian/README
@@ -1,6 +1,6 @@
____________________
The XePersian package
-v20.3
+v20.5
XePersian is a package written for XeLaTeX that allows users to typeset
Persian easily.
@@ -20,7 +20,7 @@ In doing so, please always explain your issue well enough, always include
a minimal working example showing the issue, and always choose the appropriate
label for your query (i.e. if you are reporting any bugs, choose `Bug' label).
-Current version release date: 2018/01/03
+Current version release date: 2018/01/04
______________
Vafa Khalighi
persian-tex@tug.org
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
index 49bac999779..47c299c0a7c 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
+++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
index 2c63453d0a7..5c16312ebda 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
@@ -5,7 +5,7 @@
%<*readme>
____________________
The XePersian package
-v20.3
+v20.5
XePersian is a package written for XeLaTeX that allows users to typeset
Persian easily.
@@ -28,7 +28,7 @@ a minimal working example showing the issue, and always choose the appropriate
label for your query (i.e. if you are reporting any bugs, choose `Bug' label).
-Current version release date: 2018/01/03
+Current version release date: 2018/01/04
______________
Vafa Khalighi
persian-tex@tug.org
@@ -273,7 +273,7 @@ by Vafa Khalighi.
%\changes{v13.1}{2013/09/23}{Added implementation of the package.}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-%\large Documentation for \textcolor{blue!65!black}{version 20.3}}
+%\large Documentation for \textcolor{blue!65!black}{version 20.5}}
% \author{Vafa Khalighi\\
% \url{persian-tex@tug.org}}
%\setcounter{page}{0}
@@ -284,7 +284,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Documentation for \textcolor{blue!65!black}{version 20.3}}
+%Documentation for \textcolor{blue!65!black}{version 20.5}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -339,7 +339,7 @@ by Vafa Khalighi.
%*
%* Copyright (c) 2008--2018 Vafa Khalighi
%*
-%* v20.3, 2018/01/03
+%* v20.5, 2018/01/04
%*
%* License: LaTeX Project Public License, version
%* 1.3c or higher (your choice)
@@ -2361,7 +2361,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
@@ -4030,20 +4030,23 @@ by Vafa Khalighi.
%\fi
% \subsection{\textsf{kashida-xepersian.def}}
% \begin{macrocode}
-\ProvidesFile{kashida-xepersian.def}[2018/01/03 v0.6 implementation of Kashida for xepersian package]
+\ProvidesFile{kashida-xepersian.def}[2018/01/04 v0.6 implementation of Kashida for xepersian package]
+\chardef\xepersian@zwj="200D % zero-width joiner
\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@H=14 % heh
\chardef\xepersian@V=4096 % vowel or other combining mark (to be ignored)
% \end{macrocode}
%\changes{v13.6}{2013/11/15}{Used \cs{XeTeXglyphbounds} to find the true height and depth of the Kashida character.}
% \begin{macrocode}
\newif\if@Kashida@on
-\def\xepersian@kashida{\if@Kashida@on\xepersian@kashidachar\nobreak%
- \leaders\hrule height \XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@kashidachar depth \XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@kashidachar \hskip0pt plus 0.5em \xepersian@kashidachar\relax\fi}
+\newif\if@Kashida@XB@fix
+\def\xepersian@kashida{\if@Kashida@on\xepersian@zwj\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}
@@ -4059,22 +4062,33 @@ by Vafa Khalighi.
\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 {0640,0641,0642,0643,0645,0646,0647,0649,064A}
+\setclass \xepersian@D {0640,0641,0642,0643,0645,0646,0649,064A}
+\XeTeXcharclass "0647 \xepersian@H
\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@H \xepersian@D = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
+\XeTeXinterchartoks \xepersian@D \xepersian@H = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@L \xepersian@D = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@D \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@H = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@L = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@L \xepersian@L = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@D \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@R = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@D \xepersian@A = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@A = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@L \xepersian@R = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@L \xepersian@A = {}
\newcommand{\KashidaOn}{\@Kashida@ontrue}
\newcommand{\KashidaOff}{\@Kashida@onfalse}
+
+\newcommand{\KashidaXBFixOn}{\@Kashida@XB@fixtrue}
+\newcommand{\KashidaXBFixOff}{\@Kashida@XB@fixfalse}
\KashidaOn
% \end{macrocode}
% \iffalse
@@ -5289,8 +5303,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \subsection{\textsf{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersianversion{v20.3}
-\def\xepersiandate{2018/01/03}
+\def\xepersianversion{v20.5}
+\def\xepersiandate{2018/01/04}
\ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -5424,6 +5438,8 @@ Persian typesetting in XeLaTeX]
\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}
+ \XeTeXinterchartoks \xepersian@H \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
+ \XeTeXinterchartoks \bidi@digits@charclass \xepersian@H = {\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}
@@ -6493,6 +6509,12 @@ number is 999,999,999.}%
\ifcase\xepersian@tempb\relax
\input{kashida-xepersian.def}
\fi}
+\define@choicekey{xepersian.sty}{KashidaXBFix}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
+ \ifcase\xepersian@tempb\relax
+ \@Kashida@XB@fixtrue
+ \or
+ \@Kashida@XB@fixfalse
+ \fi}
\define@choicekey{xepersian.sty}{localise}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
\ifcase\xepersian@tempb\relax
\input{localise-xepersian.def}
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
index 8d70a402f9d..c43ed4179bd 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
index 1af09bef7a5..55d5541abd1 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
index 55b89111c38..509d71b4ff2 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
index 8444922c619..177a3341527 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
index a448b767497..d682046d1e7 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
index 62a62dfb58a..5ecc35e73f4 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
index 268b953ba8a..2e8eae5141d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
index aae96c953c5..85d00466ec4 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
index 0aecdffae55..900b3662c0d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
index ad0a59e0fd3..3dadeb248c7 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
index 7ae56974298..da3774b61a5 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
index 06963bab88e..f34eda08731 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
index 890bb4bbe64..103c2771442 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
index 94235f3fa08..ef62ff3627a 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
index d8c9ecc6767..24b59274c1e 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
index 9bf42d3b0cb..2a298d70d29 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
index cf6ecad7a35..46a63490423 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
index 85e05086744..a4f6a1691c8 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
index ced86704ed0..8340534c68b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
index 1d0021e4ab0..5abe49bd74b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
index 9a7439a6654..998a52cc9d7 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
index 9b45649949d..fdb0e66e099 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
index fbd430b8370..b82d82a6870 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
index 40ad77dc9d1..43d110ca80d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/flowfram-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/flowfram-xepersian.def
index 233adb7ce90..6353f0a1b1f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/flowfram-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/flowfram-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
index ab4d000b528..9bf4aff805c 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
index 9a25f716d3a..289a88a8816 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
index a958bd32431..c5dd0b6362f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
index 5387d257468..82e934daf27 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
index ee11181afe5..8fe0b6ade95 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
index 8b95e1f74db..443b502f090 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
@@ -34,17 +34,20 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
-\ProvidesFile{kashida-xepersian.def}[2018/01/03 v0.6 implementation of Kashida for xepersian package]
+\ProvidesFile{kashida-xepersian.def}[2018/01/04 v0.6 implementation of Kashida for xepersian package]
+\chardef\xepersian@zwj="200D % zero-width joiner
\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@H=14 % heh
\chardef\xepersian@V=4096 % vowel or other combining mark (to be ignored)
\newif\if@Kashida@on
-\def\xepersian@kashida{\if@Kashida@on\xepersian@kashidachar\nobreak%
- \leaders\hrule height \XeTeXglyphbounds\tw@ \the\XeTeXcharglyph\xepersian@kashidachar depth \XeTeXglyphbounds\f@ur \the\XeTeXcharglyph\xepersian@kashidachar \hskip0pt plus 0.5em \xepersian@kashidachar\relax\fi}
+\newif\if@Kashida@XB@fix
+\def\xepersian@kashida{\if@Kashida@on\xepersian@zwj\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}
@@ -60,22 +63,32 @@
\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 {0640,0641,0642,0643,0645,0646,0649,064A}
+\XeTeXcharclass "0647 \xepersian@H
\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@H \xepersian@D = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
+\XeTeXinterchartoks \xepersian@D \xepersian@H = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@L \xepersian@D = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@D \xepersian@L = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@L \xepersian@H = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@L = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@L \xepersian@L = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@D \xepersian@R = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@R = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@D \xepersian@A = {\xepersian@kashida}
+\XeTeXinterchartoks \xepersian@H \xepersian@A = {\if@Kashida@XB@fix\else\xepersian@kashida\fi}
\XeTeXinterchartoks \xepersian@L \xepersian@R = {\xepersian@kashida}
\XeTeXinterchartoks \xepersian@L \xepersian@A = {}
\newcommand{\KashidaOn}{\@Kashida@ontrue}
\newcommand{\KashidaOff}{\@Kashida@onfalse}
+
+\newcommand{\KashidaXBFixOn}{\@Kashida@XB@fixtrue}
+\newcommand{\KashidaXBFixOff}{\@Kashida@XB@fixfalse}
\KashidaOn
\endinput
%%
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
index f3f42a0f72f..6300b9a0f08 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
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
index 2dd3854e9af..4b161b1ffc2 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-environments-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
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
index 44302f22047..b738f7390bb 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-messages-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
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
index ae79c7e8379..004187e249d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-misc-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
index 0893ed41ccd..5ce0de74b0c 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
index 401dd5b6a1e..51e1161a384 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
index 7fa3a05d12f..da4d0f9026a 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
index fd185ac2226..2fa204de987 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
index d1b8c1a6111..46a2b5d27dd 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
index 1534ba3a615..bcc4dfd9f88 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
index d3545fe461a..cf33efca7f0 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
index 2fb06ab533a..5037502bd84 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
index 6cd28d47011..656787cba51 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
index 70daf93a31a..546519b236a 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
index 0f63f40cf3c..013d28e43ab 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
index a92107b8169..988c421fa94 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
index 72c3e9c1967..ea5526c0338 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
index a728d13fb32..144c258d251 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
index 80d8073d138..4a37ea39c43 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
index 62f92c0cdab..9b4bf932e60 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
index d674560f146..a253a53788f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
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
index 9d2d1d64995..0322a743bd0 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-commands-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
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
index 47e48aadcb2..a9016ad1a0f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-localise-environments-xepersian.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
index 37025ae6c15..e50c299eb0b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty
index 77d460f22f1..990a89819a9 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
index 7240d3cac83..f18016e0ef0 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
index e280638c469..2f465f362a8 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
index 69bbfb5a41c..1cbc58ae993 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10452}
+%% \CheckSum{10521}
%% \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
@@ -35,8 +35,8 @@
%% Right brace \} Tilde \~}
%%
\NeedsTeXFormat{LaTeX2e}
-\def\xepersianversion{v20.3}
-\def\xepersiandate{2018/01/03}
+\def\xepersianversion{v20.5}
+\def\xepersiandate{2018/01/04}
\ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -170,6 +170,8 @@ Persian typesetting in XeLaTeX]
\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}
+ \XeTeXinterchartoks \xepersian@H \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont}
+ \XeTeXinterchartoks \bidi@digits@charclass \xepersian@H = {\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}
@@ -1226,6 +1228,12 @@ number is 999,999,999.}%
\ifcase\xepersian@tempb\relax
\input{kashida-xepersian.def}
\fi}
+\define@choicekey{xepersian.sty}{KashidaXBFix}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
+ \ifcase\xepersian@tempb\relax
+ \@Kashida@XB@fixtrue
+ \or
+ \@Kashida@XB@fixfalse
+ \fi}
\define@choicekey{xepersian.sty}{localise}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{%
\ifcase\xepersian@tempb\relax
\input{localise-xepersian.def}