summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-02-04 00:25:03 +0000
committerKarl Berry <karl@freefriends.org>2017-02-04 00:25:03 +0000
commite30bd4d032a3afc8a0fc52c683bf43801d78a709 (patch)
tree7927ee6482e58f69e98010e1a6003ce4dc0b2d91
parent8066d488b928d94698e8367244c096c3b67dfb46 (diff)
xepersian (3feb17)
git-svn-id: svn://tug.org/texlive/trunk@43135 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/README4
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdfbin947194 -> 943933 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx225
-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/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.def2
-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.sty42
-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.sty171
61 files changed, 320 insertions, 234 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README
index ed4c94a6833..d88571f3286 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian/README
+++ b/Master/texmf-dist/doc/xelatex/xepersian/README
@@ -1,6 +1,6 @@
____________________
The XePersian package
-v17.2
+v17.3
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: 2017/01/16
+Current version release date: 2017/02/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 f246257bc73..b795cba9fa0 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 a0ad1d4627b..5f4c77d24c4 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
-v17.2
+v17.3
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: 2017/01/16
+Current version release date: 2017/02/04
______________
Vafa Khalighi
persian-tex@tug.org
@@ -272,7 +272,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 17.2}}
+%\large Documentation for \textcolor{blue!65!black}{version 17.3}}
% \author{Vafa Khalighi\\
% \url{persian-tex@tug.org}}
%\setcounter{page}{0}
@@ -283,7 +283,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Documentation for \textcolor{blue!65!black}{version 17.2}}
+%Documentation for \textcolor{blue!65!black}{version 17.3}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -338,7 +338,7 @@ by Vafa Khalighi.
%*
%* Copyright (c) 2008--2017 Vafa Khalighi
%*
-%* v17.2, 2017/01/16
+%* v17.3, 2017/02/04
%*
%* License: LaTeX Project Public License, version
%* 1.3c or higher (your choice)
@@ -2359,7 +2359,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10207}
+%% \CheckSum{10291}
%% \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
@@ -5676,8 +5676,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \subsection{\textsf{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersianversion{v17.2}
-\def\xepersiandate{2017/01/16}
+\def\xepersianversion{v17.3}
+\def\xepersiandate{2017/02/04}
\ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -5757,74 +5757,72 @@ Persian typesetting in XeLaTeX]
\newfontscript{Parsi}{arab}
\newfontlanguage{Parsi}{FAR}
\ExplSyntaxOn
-\DeclareDocumentCommand \settextfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_settextfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_settextfont:nn
+\DeclareDocumentCommand \settextfont { O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N \persianfont _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1} {#2}
- \use:x
+ \fontspec_set_family:Nnn \g__xepersian_persianfont_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__xepersian_persianfont_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
{
- \exp_not:N \DeclareRobustCommand \exp_not:N \persianfont
- {
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N \persianfont _family} }
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persianfont_family }
+ \exp_not:N \selectfont
}
- \cs_set_eq:NN \rmdefault \l_fontspec_family_tl
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
+ \ignorespaces
}
-\DeclareDocumentCommand \setlatintextfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setlatintextfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setlatintextfont:nn
+\DeclareDocumentCommand \setlatintextfont { O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N \latinfont _family } {Mapping=tex-text,#1} {#2}
- \use:x
+ \fontspec_set_family:Nnn \g__xepersian_latinfont_family {Mapping=tex-text,#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__xepersian_latinfont_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \latinfont }
{
- \exp_not:N \DeclareRobustCommand \exp_not:N \latinfont
- {
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N \latinfont _family} }
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_latinfont_family }
+ \exp_not:N \selectfont
}
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
}
-\cs_set_eq:NN \setlatinsansfont \setsansfont
-\cs_set_eq:NN \setlatinmonofont \setmonofont
-\DeclareDocumentCommand \defpersianfont { m o m }
- { \__fontspec_pass_args:nnn { \__xepersian_defpersianfont:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xepersian_defpersianfont:Nnn
+\tl_set_eq:NN \setlatinsansfont \setsansfont
+\tl_set_eq:NN \setlatinmonofont \setmonofont
+
+\DeclareDocumentCommand \defpersianfont { m O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N #1 _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#2} {#3}
+ \fontspec_set_family:cnn { g__xepersian_ \cs_to_str:N #1 _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#2,#4} {#3}
\use:x
{
\exp_not:N \DeclareRobustCommand \exp_not:N #1
{
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N #1 _family} }
+ \exp_not:N \fontfamily { \use:c {g__xepersian_ \cs_to_str:N #1 _family} }
\exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
\exp_not:N \selectfont
}
}
}
-\DeclareDocumentCommand \deflatinfont { m o m }
- { \__fontspec_pass_args:nnn { \__xepersian_deflatinfont:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xepersian_deflatinfont:Nnn
+\DeclareDocumentCommand \deflatinfont { m O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N #1 _family } {Mapping=tex-text,#2} {#3}
+ \fontspec_set_family:cnn { g__xepersian_ \cs_to_str:N #1 _family } {Mapping=tex-text,#2,#4} {#3}
\use:x
{
\exp_not:N \DeclareRobustCommand \exp_not:N #1
{
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N #1 _family} }
+ \exp_not:N \fontfamily { \use:c {g__xepersian_ \cs_to_str:N #1 _family} }
\exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
\exp_not:N \selectfont
}
}
}
+
\newcommand\persiansfdefault{}
\newcommand\persianttdefault{}
\newcommand\iranicdefault{}
@@ -5855,60 +5853,110 @@ Persian typesetting in XeLaTeX]
\DeclareTextFontCommand{\textnavar}{\navarfamily}
\DeclareTextFontCommand{\textpook}{\pookfamily}
\DeclareTextFontCommand{\textsayeh}{\sayehfamily}
-\DeclareDocumentCommand \setpersiansansfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpersiansansfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpersiansansfont:nn
+\DeclareDocumentCommand \setpersiansansfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \persiansfdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_persiansffamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \persiansfdefault \g__xepersian_persiansffamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persiansffamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\persiansfdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setpersianmonofont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpersianmonofont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpersianmonofont:nn
+\DeclareDocumentCommand \setpersianmonofont { O{} m O{} }
{
- \fontspec_set_family:Nnn \persianttdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_persianttfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \persianttdefault \g__xepersian_persianttfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persianttfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\persianttdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setnavarfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setnavarfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setnavarfont:nn
+\DeclareDocumentCommand \setnavarfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \navardefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_navarfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \navardefault \g__xepersian_navarfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_navarfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\navardefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setpookfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpookfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpookfont:nn
+\DeclareDocumentCommand \setpookfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \pookdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_pookfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \pookdefault \g__xepersian_pookfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_pookfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\pookdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setsayehfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setsayehfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setsayehfont:nn
+\DeclareDocumentCommand \setsayehfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \sayehdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_sayehfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \sayehdefault \g__xepersian_sayehfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_sayehfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\sayehdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setiranicfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setiranicfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setiranicfont:nn
+\DeclareDocumentCommand \setiranicfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \iranicdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_iranicfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \iranicdefault \g__xepersian_iranicfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_iranicfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\iranicdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
+
+
\ExplSyntaxOff
\def\resetlatinfont{%
\let\normalfont\latinfont%
@@ -7533,18 +7581,15 @@ indexblock environment may only appear inside frontpage environment.
#1
}
}
-\DeclareDocumentCommand \setdigitfont { o m }{%
- \let\glb@currsize\relax
- \__fontspec_pass_args:nnn \__xepersian_setdigitfont:nn {#1} {#2} }
-
-\cs_new:Nn \__xepersian_setdigitfont:nn
+\DeclareDocumentCommand \setdigitfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \xepersian@digits@family {Mapping=parsidigits,#1} {#2}
+ \let\glb@currsize\relax
+ \fontspec_set_family:Nnn \g__xepersian_digitsfamily_family {Mapping=parsidigits,#1} {#2}
\xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}
- \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\xepersian@digits@family} {m}{n}
- \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{bx}{n}
- \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{m}{it}
- \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{m}{n}
+ \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family} {m}{n}
+ \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{bx}{n}
+ \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{m}{it}
+ \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{m}{n}
\def\persianmathsdigits{%
\SetMathCode{`0}{\mathalpha}{OPERATORS}{`0}
\SetMathCode{`1}{\mathalpha}{OPERATORS}{`1}
@@ -7561,28 +7606,28 @@ indexblock environment may only appear inside frontpage environment.
%\changes{v13.5}{2013/10/21}{Fixed the extra space after Persian decimal separator.}
% \begin{macrocode}
\SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B}
- \cs_set_eq:NN \mathbf \new@mathbf
- \cs_set_eq:NN \mathit \new@mathit
- \cs_set_eq:NN \mathrm \new@mathrm}
+ \tl_set_eq:NN \mathbf \new@mathbf
+ \tl_set_eq:NN \mathit \new@mathit
+ \tl_set_eq:NN \mathrm \new@mathrm}
}
-\DeclareDocumentCommand \setmathsfdigitfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setmathsfdigitfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setmathsfdigitfont:nn
+
+\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} }
{
\fontspec_set_family:Nnn \g__fontspec_mathsf_tl {Mapping=parsidigits,#1} {#2}
- \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathsf_tl}{m}{n}
- \def\persianmathsfdigits{\cs_set_eq:NN \mathsf \new@mathsf}
+ \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathsf_tl}{m}{n}
+ \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf}
}
-\DeclareDocumentCommand \setmathttdigitfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setmathttdigitfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setmathttdigitfont:nn
+
+
+\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} }
{
\fontspec_set_family:Nnn \g__fontspec_mathtt_tl {Mapping=parsidigits,#1} {#2}
- \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathtt_tl}{m}{n}
- \def\persianmathttdigits{\cs_set_eq:NN \mathtt \new@mathtt}
+ \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathtt_tl}{m}{n}
+ \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt}
}
+
\ExplSyntaxOff
\ifx\newcommand\undefined\else
\newcommand{\ZifferAn}{}
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
index 02aedf6e8af..fdf9b08d98e 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{10207}
+%% \CheckSum{10291}
%% \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 1d4a62e8808..f5363a33fe2 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{10207}
+%% \CheckSum{10291}
%% \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 694cd9f4f55..d58ecfda149 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{10207}
+%% \CheckSum{10291}
%% \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 d7fce277958..b13385bd831 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{10207}
+%% \CheckSum{10291}
%% \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 c946780da44..85b64720736 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{10207}
+%% \CheckSum{10291}
%% \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 b34ae27b95d..ac41726fc76 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{10207}
+%% \CheckSum{10291}
%% \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 13d9886e6af..8f2e23cd559 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{10207}
+%% \CheckSum{10291}
%% \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 69c30d24d82..a7397885c01 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{10207}
+%% \CheckSum{10291}
%% \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 afe8f23f9e0..ee4e918b220 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{10207}
+%% \CheckSum{10291}
%% \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 fb626e5550a..290450b487a 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{10207}
+%% \CheckSum{10291}
%% \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 3ee69ca121d..a378574c2e8 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{10207}
+%% \CheckSum{10291}
%% \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 9bbeef485ba..6a997477dd1 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{10207}
+%% \CheckSum{10291}
%% \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 cc26a847192..fbbddc28e87 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{10207}
+%% \CheckSum{10291}
%% \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 13d5b8a6de7..affd23df3ed 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{10207}
+%% \CheckSum{10291}
%% \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 6878882723f..78e0f51cecc 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{10207}
+%% \CheckSum{10291}
%% \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 24ff8278e26..8657729ef73 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{10207}
+%% \CheckSum{10291}
%% \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 aedc9b9104b..e6dab07fe66 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{10207}
+%% \CheckSum{10291}
%% \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 546d298b2ef..fd818f0b8d3 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{10207}
+%% \CheckSum{10291}
%% \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 96ba6c5c999..b5cd40cd4af 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{10207}
+%% \CheckSum{10291}
%% \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 fe30fb7571d..011791331e6 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{10207}
+%% \CheckSum{10291}
%% \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 220f36bba02..b1615389686 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{10207}
+%% \CheckSum{10291}
%% \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 9e899212a6e..9583efdad4b 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{10207}
+%% \CheckSum{10291}
%% \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 7b3c8798932..79d5c3e61ec 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{10207}
+%% \CheckSum{10291}
%% \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 01aeb54fb18..af4ce6f5b23 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{10207}
+%% \CheckSum{10291}
%% \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 9c82bc3d822..1029555e206 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{10207}
+%% \CheckSum{10291}
%% \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 afff539ec7e..69c2bef9715 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{10207}
+%% \CheckSum{10291}
%% \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 f3c61636994..1acbbcb0ea7 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{10207}
+%% \CheckSum{10291}
%% \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 cf30737b6bf..e57b170f4c7 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{10207}
+%% \CheckSum{10291}
%% \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 3d0a600ad04..af807de99f5 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{10207}
+%% \CheckSum{10291}
%% \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 c8c89db9bf8..9584c0d1ce6 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{10207}
+%% \CheckSum{10291}
%% \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-commands-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/latex-localise-commands-xepersian.def
index 5d4c8b43987..8e8e0298483 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{10207}
+%% \CheckSum{10291}
%% \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 af504fc08f1..bdc4d97f0d9 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{10207}
+%% \CheckSum{10291}
%% \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 90d6a66a119..bd87d2e35c9 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{10207}
+%% \CheckSum{10291}
%% \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 11d4b2fcfd0..dec7ca35d42 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{10207}
+%% \CheckSum{10291}
%% \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 5494f9cbbdb..d1e97051c16 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{10207}
+%% \CheckSum{10291}
%% \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 f05e7bfc982..6446ce34c90 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{10207}
+%% \CheckSum{10291}
%% \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 5157b53f809..14190f6d4d2 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{10207}
+%% \CheckSum{10291}
%% \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 8561ae8244a..73573e9ca06 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{10207}
+%% \CheckSum{10291}
%% \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 02d546f371e..d1e853fe536 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{10207}
+%% \CheckSum{10291}
%% \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 bb9984232f6..2e50c85b745 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{10207}
+%% \CheckSum{10291}
%% \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 d3ad467c885..299522fec49 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{10207}
+%% \CheckSum{10291}
%% \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 e8c9748ad2d..8a613b58ec7 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{10207}
+%% \CheckSum{10291}
%% \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 2422454cf39..c62a9ccb727 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{10207}
+%% \CheckSum{10291}
%% \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 b9d1d6bb5ee..5db5a8fdd55 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{10207}
+%% \CheckSum{10291}
%% \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 54d7bccccda..71f812b5ec4 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{10207}
+%% \CheckSum{10291}
%% \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 42be4e16e2f..b8772f4c075 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{10207}
+%% \CheckSum{10291}
%% \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 be67939363d..7878ff348ed 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{10207}
+%% \CheckSum{10291}
%% \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 c59aa81ae7c..c994d911687 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{10207}
+%% \CheckSum{10291}
%% \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 26f57039fea..d6f5477cf8b 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{10207}
+%% \CheckSum{10291}
%% \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 54290b50f1c..d4f9836ccf2 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{10207}
+%% \CheckSum{10291}
%% \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 c7f7c3c8b4c..337102d25e2 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{10207}
+%% \CheckSum{10291}
%% \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 0a8a1265e41..0a0af629190 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{10207}
+%% \CheckSum{10291}
%% \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 209428d816b..dcd4f6c580a 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{10207}
+%% \CheckSum{10291}
%% \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 7cd761cf11a..b386231267f 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{10207}
+%% \CheckSum{10291}
%% \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 51ca9af6dd5..9257b1fd8dd 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{10207}
+%% \CheckSum{10291}
%% \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
@@ -162,18 +162,15 @@
#1
}
}
-\DeclareDocumentCommand \setdigitfont { o m }{%
- \let\glb@currsize\relax
- \__fontspec_pass_args:nnn \__xepersian_setdigitfont:nn {#1} {#2} }
-
-\cs_new:Nn \__xepersian_setdigitfont:nn
+\DeclareDocumentCommand \setdigitfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \xepersian@digits@family {Mapping=parsidigits,#1} {#2}
+ \let\glb@currsize\relax
+ \fontspec_set_family:Nnn \g__xepersian_digitsfamily_family {Mapping=parsidigits,#1} {#2}
\xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}
- \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\xepersian@digits@family} {m}{n}
- \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{bx}{n}
- \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{m}{it}
- \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\xepersian@digits@family}{m}{n}
+ \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family} {m}{n}
+ \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{bx}{n}
+ \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{m}{it}
+ \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_digitsfamily_family}{m}{n}
\def\persianmathsdigits{%
\SetMathCode{`0}{\mathalpha}{OPERATORS}{`0}
\SetMathCode{`1}{\mathalpha}{OPERATORS}{`1}
@@ -187,28 +184,25 @@
\SetMathCode{`9}{\mathalpha}{OPERATORS}{`9}
\SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}
\SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B}
- \cs_set_eq:NN \mathbf \new@mathbf
- \cs_set_eq:NN \mathit \new@mathit
- \cs_set_eq:NN \mathrm \new@mathrm}
+ \tl_set_eq:NN \mathbf \new@mathbf
+ \tl_set_eq:NN \mathit \new@mathit
+ \tl_set_eq:NN \mathrm \new@mathrm}
}
-\DeclareDocumentCommand \setmathsfdigitfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setmathsfdigitfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setmathsfdigitfont:nn
+\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} }
{
\fontspec_set_family:Nnn \g__fontspec_mathsf_tl {Mapping=parsidigits,#1} {#2}
- \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathsf_tl}{m}{n}
- \def\persianmathsfdigits{\cs_set_eq:NN \mathsf \new@mathsf}
+ \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathsf_tl}{m}{n}
+ \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf}
}
-\DeclareDocumentCommand \setmathttdigitfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setmathttdigitfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setmathttdigitfont:nn
+\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} }
{
\fontspec_set_family:Nnn \g__fontspec_mathtt_tl {Mapping=parsidigits,#1} {#2}
- \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathtt_tl}{m}{n}
- \def\persianmathttdigits{\cs_set_eq:NN \mathtt \new@mathtt}
+ \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__fontspec_mathtt_tl}{m}{n}
+ \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt}
}
+
\ExplSyntaxOff
\ifx\newcommand\undefined\else
\newcommand{\ZifferAn}{}
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
index 356b355a67a..8bc900407a5 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{10207}
+%% \CheckSum{10291}
%% \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 42196389bd7..13e27ae7a1c 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{10207}
+%% \CheckSum{10291}
%% \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 9b147193c61..3711c5bd7b1 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{10207}
+%% \CheckSum{10291}
%% \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{v17.2}
-\def\xepersiandate{2017/01/16}
+\def\xepersianversion{v17.3}
+\def\xepersiandate{2017/02/04}
\ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -116,74 +116,72 @@ Persian typesetting in XeLaTeX]
\newfontscript{Parsi}{arab}
\newfontlanguage{Parsi}{FAR}
\ExplSyntaxOn
-\DeclareDocumentCommand \settextfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_settextfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_settextfont:nn
+\DeclareDocumentCommand \settextfont { O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N \persianfont _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1} {#2}
- \use:x
+ \fontspec_set_family:Nnn \g__xepersian_persianfont_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__xepersian_persianfont_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
{
- \exp_not:N \DeclareRobustCommand \exp_not:N \persianfont
- {
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N \persianfont _family} }
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persianfont_family }
+ \exp_not:N \selectfont
}
- \cs_set_eq:NN \rmdefault \l_fontspec_family_tl
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
+ \ignorespaces
}
-\DeclareDocumentCommand \setlatintextfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setlatintextfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setlatintextfont:nn
+\DeclareDocumentCommand \setlatintextfont { O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N \latinfont _family } {Mapping=tex-text,#1} {#2}
- \use:x
+ \fontspec_set_family:Nnn \g__xepersian_latinfont_family {Mapping=tex-text,#1,#3} {#2}
+ \tl_set_eq:NN \rmdefault \g__xepersian_latinfont_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \latinfont }
{
- \exp_not:N \DeclareRobustCommand \exp_not:N \latinfont
- {
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N \latinfont _family} }
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
- \exp_not:N \selectfont
- }
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_latinfont_family }
+ \exp_not:N \selectfont
}
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ \normalfont
+ \ignorespaces
}
-\cs_set_eq:NN \setlatinsansfont \setsansfont
-\cs_set_eq:NN \setlatinmonofont \setmonofont
-\DeclareDocumentCommand \defpersianfont { m o m }
- { \__fontspec_pass_args:nnn { \__xepersian_defpersianfont:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xepersian_defpersianfont:Nnn
+\tl_set_eq:NN \setlatinsansfont \setsansfont
+\tl_set_eq:NN \setlatinmonofont \setmonofont
+
+\DeclareDocumentCommand \defpersianfont { m O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N #1 _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#2} {#3}
+ \fontspec_set_family:cnn { g__xepersian_ \cs_to_str:N #1 _family } {Script=Parsi,Language=Parsi,Mapping=parsidigits,#2,#4} {#3}
\use:x
{
\exp_not:N \DeclareRobustCommand \exp_not:N #1
{
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N #1 _family} }
+ \exp_not:N \fontfamily { \use:c {g__xepersian_ \cs_to_str:N #1 _family} }
\exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
\exp_not:N \selectfont
}
}
}
-\DeclareDocumentCommand \deflatinfont { m o m }
- { \__fontspec_pass_args:nnn { \__xepersian_deflatinfont:Nnn #1 } {#2} {#3} }
-\cs_new:Nn \__xepersian_deflatinfont:Nnn
+\DeclareDocumentCommand \deflatinfont { m O{} m O{} }
{
- \fontspec_set_family:cnn { g__fontspec_ \cs_to_str:N #1 _family } {Mapping=tex-text,#2} {#3}
+ \fontspec_set_family:cnn { g__xepersian_ \cs_to_str:N #1 _family } {Mapping=tex-text,#2,#4} {#3}
\use:x
{
\exp_not:N \DeclareRobustCommand \exp_not:N #1
{
- \exp_not:N \fontfamily { \use:c {g__fontspec_ \cs_to_str:N #1 _family} }
+ \exp_not:N \fontfamily { \use:c {g__xepersian_ \cs_to_str:N #1 _family} }
\exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
\exp_not:N \selectfont
}
}
}
+
\newcommand\persiansfdefault{}
\newcommand\persianttdefault{}
\newcommand\iranicdefault{}
@@ -214,60 +212,109 @@ Persian typesetting in XeLaTeX]
\DeclareTextFontCommand{\textnavar}{\navarfamily}
\DeclareTextFontCommand{\textpook}{\pookfamily}
\DeclareTextFontCommand{\textsayeh}{\sayehfamily}
-\DeclareDocumentCommand \setpersiansansfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpersiansansfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpersiansansfont:nn
+\DeclareDocumentCommand \setpersiansansfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \persiansfdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_persiansffamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \persiansfdefault \g__xepersian_persiansffamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persiansffamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\persiansfdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setpersianmonofont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpersianmonofont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpersianmonofont:nn
+\DeclareDocumentCommand \setpersianmonofont { O{} m O{} }
{
- \fontspec_set_family:Nnn \persianttdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_persianttfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \persianttdefault \g__xepersian_persianttfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_persianttfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\persianttdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setnavarfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setnavarfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setnavarfont:nn
+\DeclareDocumentCommand \setnavarfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \navardefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_navarfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \navardefault \g__xepersian_navarfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_navarfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\navardefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setpookfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setpookfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setpookfont:nn
+\DeclareDocumentCommand \setpookfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \pookdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_pookfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \pookdefault \g__xepersian_pookfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_pookfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\pookdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setsayehfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setsayehfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setsayehfont:nn
+\DeclareDocumentCommand \setsayehfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \sayehdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_sayehfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \sayehdefault \g__xepersian_sayehfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_sayehfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\sayehdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
-\DeclareDocumentCommand \setiranicfont { o m }
- { \__fontspec_pass_args:nnn \__xepersian_setiranicfont:nn {#1} {#2} }
-\cs_new:Nn \__xepersian_setiranicfont:nn
+\DeclareDocumentCommand \setiranicfont { O{} m O{} }
{
- \fontspec_set_family:Nnn \iranicdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2}
+ \fontspec_set_family:Nnn \g__xepersian_iranicfamily_family {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1,#3} {#2}
+ \tl_set_eq:NN \iranicdefault \g__xepersian_iranicfamily_family
+ \use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
+ {
+ \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \g__xepersian_iranicfamily_family }
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\iranicdefault}
+ { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
+
\ExplSyntaxOff
\def\resetlatinfont{%
\let\normalfont\latinfont%