summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-02-19 21:21:30 +0000
committerKarl Berry <karl@freefriends.org>2022-02-19 21:21:30 +0000
commit993b75e2da07b5873229ab97c198a17c178908a0 (patch)
treec75ace5325d59b1315030d2cad19b2e4a12781bd
parent7c9cb4484ce483546a0c249f172ac5588da7b35f (diff)
xepersian (19feb22)
git-svn-id: svn://tug.org/texlive/trunk@62087 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-doc.pdfbin246669 -> 246573 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdfbin766214 -> 782344 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx2
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx4
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx2
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx222
-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/fancyref-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/url-xepersian.def2
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/varioref-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-mathdigitspec.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.sty211
68 files changed, 470 insertions, 95 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README
index 9cf27617108..679a271a2cd 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian/README
+++ b/Master/texmf-dist/doc/xelatex/xepersian/README
@@ -1,6 +1,6 @@
____________________
The XePersian package
-v23.4
+v23.6
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -25,7 +25,7 @@ The announcements for the new releases of the package will
also appear in the Discussions space under the Announcements
category.
-Current version release date: 2022/02/18
+Current version release date: 2022/02/20
___________________________________________
Vafa Khalighi
tex-persian@vafa.ac
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf
index 9b78599bff8..0e82459e23e 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf
+++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf
index 0d96bb5f82d..7dc37159954 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-doc-intro.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
index 7f50f38b2b4..66085aecce5 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
@@ -25,7 +25,7 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th
* Copyright (c) 2008--2022 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v23.4, 2022/02/18
+* v23.6, 2022/02/20
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
index 013d8490a6d..878e0abcb1d 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-\large User documentation for \textcolor{blue!65!black}{version 23.4}}
+\large User documentation for \textcolor{blue!65!black}{version 23.6}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
\url{tex-persian@vafa.ac}}
\setcounter{page}{0}
@@ -14,7 +14,7 @@
\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
\Large
-User documentation for \textcolor{blue!65!black}{version 23.4}}
+User documentation for \textcolor{blue!65!black}{version 23.6}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
index ca23adc8207..367860baf5c 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 23.4 of the XePersian
+ pdftitle={User documentation for version 23.6 of the XePersian
package}%
}
\begin{document}
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
index 1142e5a0d71..33dccc8412f 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
-v23.4
+v23.6
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -31,7 +31,7 @@ also appear in the Discussions space under the Announcements
category.
-Current version release date: 2022/02/18
+Current version release date: 2022/02/20
___________________________________________
Vafa Khalighi
tex-persian@vafa.ac
@@ -168,7 +168,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 23.4 of the XePersian
+ pdftitle={Source documentation for version 23.6 of the XePersian
package}%
}
\EnableCrossrefs
@@ -187,7 +187,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-%\large Source documentation for \textcolor{blue!65!black}{version 23.4}}
+%\large Source documentation for \textcolor{blue!65!black}{version 23.6}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}\\
% \url{tex-persian@vafa.ac}}
%\setcounter{page}{0}
@@ -198,7 +198,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{blue!65!black}{version 23.4}}
+%Source documentation for \textcolor{blue!65!black}{version 23.6}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -246,7 +246,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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
@@ -3477,8 +3477,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \section{File \texttt{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{23.4}
-\def\xepersiandate{2022/02/18}
+\def\xepersian@version{23.6}
+\def\xepersiandate{2022/02/20}
\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -3566,6 +3566,194 @@ Persian typesetting in XeLaTeX]
\newfontlanguage{Persian}{FAR}
\ExplSyntaxOn
+\cs_new:Nn \xepersian_set_family:Nnn { \__xepersian_set_family:NnnN #1 {#2} {#3} \tl_set_eq:NN }
+\cs_generate_variant:Nn \xepersian_set_family:Nnn {c}
+
+\cs_new_protected:Nn \__xepersian_select_font_family:nn
+ {
+ \group_begin:
+ \__fontspec_font_suppress_not_found_error:
+ \__fontspec_init:
+
+ \__fontspec_sanitise_fontname:Nn \l_fontspec_fontname_tl {#2}
+ \__fontspec_sanitise_fontname:Nn \l__fontspec_fontname_up_tl {#2}
+ \__fontspec_sanitise_fontname:Nn \l__fontspec_basename_tl {#2}
+
+ \__fontspec_if_detect_external:nT {#2}
+ { \keys_set:nn {fontspec-preparse-external} {Path} }
+
+ \keys_set_known:nn {fontspec-preparse-cfg} {#1}
+
+ \__fontspec_init_ttc:n {#2}
+ \__fontspec_load_external_fontoptions:N \l_fontspec_fontname_tl
+
+ \__fontspec_extract_all_features:n {#1}
+ \tl_set:Nx \l__fontspec_fontid_tl { \tl_to_str:N \l_fontspec_fontname_tl-:-\tl_to_str:N \l__fontspec_all_features_clist }
+
+
+ \__fontspec_preparse_features:
+ \__fontspec_load_font:
+ \__fontspec_set_scriptlang:
+ \__xepersian_get_features:n {}
+ \bool_set_false:N \l__fontspec_firsttime_bool
+
+ \__fontspec_save_family_needed:nTF {#2}
+ {
+ \__xepersian_save_family:nn {#1} {#2}
+ }
+ {
+ }
+ \group_end:
+
+ \tl_set_eq:NN \l_fontspec_family_tl \g__fontspec_nfss_family_tl
+ }
+
+\cs_new:Nn \__xepersian_set_family:NnnN
+ {
+ \tl_set:Nn \l__fontspec_fontface_cs_tl {\l_fontspec_font} % reset
+ \tl_set:Nn \l__fontspec_family_label_tl {#1}
+ \__xepersian_select_font_family:nn {#2} {#3}
+ \__fontspec_tl_new_if_free:N #1
+ #4 #1 \l_fontspec_family_tl
+ \tl_set:Nn \l__fontspec_fontface_cs_tl {\l_fontspec_font} % reset
+ }
+
+\cs_new:Nn \__xepersian_setup_nfss:Nnnn
+ {
+
+ \__xepersian_get_features:n { #2 , #3 , #4 }
+
+ \tl_if_empty:NF \l__fontspec_scale_tl
+ {
+ \tl_set:Nx \l__fontspec_scale_tl { s*[\l__fontspec_scale_tl] }
+ }
+
+ \tl_build_put_right:Nx #1
+ {
+ <\l__fontspec_size_tl> \l__fontspec_scale_tl
+ \__fontspec_construct_font_call:nn { \l_fontspec_fontname_tl }
+ { \l__fontspec_pre_feat_sclist \g__fontspec_rawfeatures_sclist }
+ }
+ }
+
+\cs_new:Nn \__xepersian_setup_single_size:nn
+ {
+ \tl_clear:N \l__fontspec_size_tl
+ \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
+
+ \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 }
+ \l__fontspec_sizing_leftover_clist
+ \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
+
+ % "normal"
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl}
+ \__xepersian_setup_nfss:Nnnn \l__fontspec_nfss_tl {#1} {\l__fontspec_sizing_leftover_clist} {}
+
+ % small caps
+ \clist_set_eq:NN \l__fontspec_fontfeat_curr_clist \l__fontspec_fontfeat_sc_clist
+
+ \bool_if:NF \l__fontspec_nosc_bool
+ {
+ \tl_if_empty:NTF \l__fontspec_fontname_sc_tl
+ {
+ \__fontspec_make_smallcaps:TF
+ {
+ \clist_put_left:Nn \l__fontspec_fontfeat_curr_clist {Letters=SmallCaps}
+ }
+ {
+ \bool_set_true:N \l__fontspec_nosc_bool
+ }
+ }
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_fontname_sc_tl} }% local for each size
+ }
+
+ \bool_if:NF \l__fontspec_nosc_bool
+ {
+ \__fontspec_setup_nfss:Nnnn \l__fontspec_nfss_sc_tl
+ {#1} {\l__fontspec_sizing_leftover_clist} {\l__fontspec_fontfeat_curr_clist}
+ }
+ }
+
+\cs_new:Nn \__xepersian_declare_shape:nnnn
+ {
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
+ \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
+
+ \exp_args:Nx \clist_map_inline:nn {#4} { \__xepersian_setup_single_size:nn {#3} {##1} }
+
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
+ \__fontspec_declare_shapes_normal:nn {#1} {#2}
+ \__fontspec_declare_shapes_smcaps:nn {#1} {#2}
+ \__fontspec_declare_shape_slanted:nn {#1} {#2}
+ \__fontspec_declare_shapes_bx:nn {#1} {#2}
+ \__fontspec_declare_shape_loginfo:nn {#1} {#2}
+ }
+\cs_generate_variant:Nn \__xepersian_declare_shape:nnnn {nnxx}
+
+\cs_new:Nn \__xepersian_make_font_shapes:Nnnnn
+ {
+ \group_begin:
+ \__fontspec_keys_set_known:nxN {fontspec-preparse-external} { #4 } \l__fontspec_leftover_clist
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {#1}
+ \__xepersian_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, \l__fontspec_leftover_clist } {#5}
+ \group_end:
+ }
+
+\cs_new:Nn \__xepersian_set_faces_aux:nnnnn
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_curr_fontname_tl {#3}
+ \__xepersian_make_font_shapes:Nnnnn \l__fontspec_curr_fontname_tl {#1} {#2} {#4} {#5}
+ }
+
+\cs_new:Nn \__xepersian_set_faces:
+ {
+ \__fontspec_add_nfssfont:nnnn \mddefault \shapedefault \l_fontspec_fontname_tl \l__fontspec_fontfeat_up_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \shapedefault \l__fontspec_fontname_bf_tl \l__fontspec_fontfeat_bf_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \itdefault \l__fontspec_fontname_it_tl \l__fontspec_fontfeat_it_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \sldefault \l__fontspec_fontname_sl_tl \l__fontspec_fontfeat_sl_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \swdefault \l__fontspec_fontname_sw_tl \l__fontspec_fontfeat_sw_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \itdefault \l__fontspec_fontname_bfit_tl \l__fontspec_fontfeat_bfit_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \sldefault \l__fontspec_fontname_bfsl_tl \l__fontspec_fontfeat_bfsl_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \swdefault \l__fontspec_fontname_bfsw_tl \l__fontspec_fontfeat_bfsw_clist
+ \prop_map_inline:Nn \l__fontspec_nfssfont_prop { \__xepersian_set_faces_aux:nnnnn ##2 }
+ }
+
+\cs_new:Nn \__xepersian_save_family:nn
+ {
+ \__fontspec_save_fontinfo:n {#2}
+ \__fontspec_find_autofonts:
+ \DeclareFontFamily{\g__fontspec_nfss_enc_tl}{\g__fontspec_nfss_family_tl}{}
+ \__xepersian_set_faces:
+ \__fontspec_info:nxx {defining-font} {#1} {#2}
+ }
+
+\cs_new:Nn \__xepersian_get_features:n
+ {
+ \__fontspec_init_fontface:
+ \__fontspec_keys_set_known:nxN {fontspec-renderer} {\l__fontspec_fontfeat_clist,#1}
+ \l__fontspec_keys_leftover_clist
+ \__fontspec_keys_set_known:nxN {fontspec} {\l__fontspec_keys_leftover_clist} \l__fontspec_keys_leftover_clist
+ \bool_if:NTF \l__fontspec_ot_bool
+ {
+ \keys_set:nV {fontspec-opentype} \l__fontspec_keys_leftover_clist
+ }
+ {
+ \bool_if:nT { \l__fontspec_atsui_bool || \l__fontspec_graphite_bool }
+ { \keys_set:nV {fontspec-aat} \l__fontspec_keys_leftover_clist }
+ }
+ \__fontspec_update_featstr:n { script = arab }
+
+ \tl_if_empty:NF \l__fontspec_mapping_tl
+ { \__fontspec_update_featstr:n { mapping = \l__fontspec_mapping_tl } }
+
+ \str_if_eq:eeF { \l__fontspec_hexcol_tl \l__fontspec_opacity_tl }
+ { \c__fontspec_hexcol_tl \c__fontspec_opacity_tl }
+ { \__fontspec_update_featstr:n { color = \l__fontspec_hexcol_tl\l__fontspec_opacity_tl } }
+ }
+
\keys_define:nn {fontspec-opentype}
{
Ligatures / PersianTeX .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text} },
@@ -3603,7 +3791,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_settextfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persianfont_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \rmdefault \l__xepersian_persianfont_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
{
@@ -3707,7 +3895,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_defpersianfont:NnnN
{
- \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=PersianTeX,#2} {#3}
+ \xepersian_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=PersianTeX,#2} {#3}
\use:x
{
\exp_not:N #4 \exp_not:N #1 {}
@@ -3781,7 +3969,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersiansansfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persiansfdefault \l__xepersian_persiansffamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
{
@@ -3805,7 +3993,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersianmonofont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persianttdefault \l__xepersian_persianttfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
{
@@ -3829,7 +4017,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setnavarfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_navarfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \navardefault \l__xepersian_navarfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
{
@@ -3853,7 +4041,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpookfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_pookfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \pookdefault \l__xepersian_pookfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
{
@@ -3877,7 +4065,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setsayehfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \sayehdefault \l__xepersian_sayehfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
{
@@ -3901,7 +4089,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setiranicfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \iranicdefault \l__xepersian_iranicfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
{
@@ -4329,7 +4517,7 @@ Persian typesetting in XeLaTeX]
\newcommand*{\@xepersian@pdfcustomproperties}{%
This is the xepersian package, Version \xepersian@version,
- Released February 18, 2022.
+ Released February 20, 2022.
}
\newcommand\twocolumnstableofcontents{%
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
index f8f65cb8907..30102fac903 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 62fd4951dea..46e4f1a80cc 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/algorithmic-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 5e46d268659..3b87c7f0eb3 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsart-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 a590293ad06..e87dc805453 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/amsbook-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 e76a0397aef..11640be5aab 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/appendix-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 2f0a95bc5d8..47fd5f7d68b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/article-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 bdb14ffaf60..b33002e5cb5 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel1-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 53e0578c131..7e2349465ca 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel2-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 62a16ac2eaf..c0b998d6b07 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/artikel3-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 ce64e44bd6c..dcb94136352 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 0409fda63da..e938932d97e 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidimoderncv-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 83735a0db25..21970204f4f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bidituftesidenote-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 408171f4518..5a7f3775901 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 c9e184f39b2..c44b7ced7d4 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/boek3-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 a826f1c4b18..41f6c5eaa49 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/book-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 4bf072b3379..69e9bc5852f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/bookest-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 31328dbc420..bfb543137e8 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/breqn-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 9f248dd7c97..9231b97de0b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/color-localise-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 ab5b3fcec35..d2653f8f951 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumerate-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 8c0eea96a62..dd01f07841e 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/enumitem-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 52e885367f4..1965dadc797 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extarticle-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 e778856edc3..cf35c368fbc 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extbook-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 2f8bc99239e..68099b03b59 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extrafootnotefeatures-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 38556a95489..2d7a1fd8b51 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/extreport-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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/fancyref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def
index 83a4c535c7c..42dcaf26730 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/fancyref-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 32f3d163666..b8694432ff6 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/footnote-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 9c2f1b2e1d1..5afb2582e2b 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/framed-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 b5a96f5f234..43f0a5fce7d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/glossaries-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 482ad4bf238..995fb3009f9 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/hyperref-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 de39c52f171..9de1963ad2a 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/imsproc-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 24f1ec178dc..fbea11e26a7 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 6e67f52cbce..7a2afe4890a 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 24c29071bde..9e503f9c373 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 1d56b49fcd7..555b4754af3 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 072a6650fcf..9df9cb008c7 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 83c9d23f7aa..00eebd3f7fb 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/listings-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 d48c1404fe3..210d7356f7a 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/loadingorder-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 55b8b518b9b..12656023693 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/localise-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 5a1d96b0310..24b125ad58d 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/memoir-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 f945bdbac95..50d2ff0efcc 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/minitoc-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 2a1ed555c84..0e3c26d0321 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/natbib-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 6c542838de8..d460690c20c 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 5bbce83d046..8cff5cc9f92 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport1-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 0df1a816073..6231b616f70 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/rapport3-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 4b5527fbd78..e6a3c2891a2 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/refrep-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 1b2196a56ee..31b60faafe5 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/report-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 7653d4af789..eb3a26de172 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrartcl-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 c74acc4522e..b102ecd58d8 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrbook-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 53919dca145..5a3142ad904 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/scrreprt-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 afd7cc44316..68ab3a74f92 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/soul-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 ae80e187fa6..bf042014726 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tkz-linknodes-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 1292eada827..188e7b7cd88 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/tocloft-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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/url-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/url-xepersian.def
index bfc70016a2f..79052524e81 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/url-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/url-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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/varioref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def
index 2005c85e19b..219c7c7f743 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian/varioref-xepersian.def
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 a46be25403f..d96c9d08d33 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 4c5fc5a0c1f..470009809e0 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
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 ae0998cdd97..530d864863e 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-magazine.cls
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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-mathdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathdigitspec.sty
index 850d96d4290..9a9ecf18246 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathdigitspec.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathdigitspec.sty
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 4821e0a3c8f..a313d44306e 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 0683e88d6d0..2b9bbe64528 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-persiancal.sty
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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 ec64e1e6388..2b19760b575 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty
@@ -21,7 +21,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{10978}
+%% \CheckSum{11214}
%% \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
@@ -39,8 +39,8 @@
%% Right brace \} Tilde \~}
%%
\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{23.4}
-\def\xepersiandate{2022/02/18}
+\def\xepersian@version{23.6}
+\def\xepersiandate{2022/02/20}
\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -128,6 +128,193 @@ Persian typesetting in XeLaTeX]
\newfontlanguage{Persian}{FAR}
\ExplSyntaxOn
+\cs_new:Nn \xepersian_set_family:Nnn { \__xepersian_set_family:NnnN #1 {#2} {#3} \tl_set_eq:NN }
+\cs_generate_variant:Nn \xepersian_set_family:Nnn {c}
+
+\cs_new_protected:Nn \__xepersian_select_font_family:nn
+ {
+ \group_begin:
+ \__fontspec_font_suppress_not_found_error:
+ \__fontspec_init:
+
+ \__fontspec_sanitise_fontname:Nn \l_fontspec_fontname_tl {#2}
+ \__fontspec_sanitise_fontname:Nn \l__fontspec_fontname_up_tl {#2}
+ \__fontspec_sanitise_fontname:Nn \l__fontspec_basename_tl {#2}
+
+ \__fontspec_if_detect_external:nT {#2}
+ { \keys_set:nn {fontspec-preparse-external} {Path} }
+
+ \keys_set_known:nn {fontspec-preparse-cfg} {#1}
+
+ \__fontspec_init_ttc:n {#2}
+ \__fontspec_load_external_fontoptions:N \l_fontspec_fontname_tl
+
+ \__fontspec_extract_all_features:n {#1}
+ \tl_set:Nx \l__fontspec_fontid_tl { \tl_to_str:N \l_fontspec_fontname_tl-:-\tl_to_str:N \l__fontspec_all_features_clist }
+
+ \__fontspec_preparse_features:
+ \__fontspec_load_font:
+ \__fontspec_set_scriptlang:
+ \__xepersian_get_features:n {}
+ \bool_set_false:N \l__fontspec_firsttime_bool
+
+ \__fontspec_save_family_needed:nTF {#2}
+ {
+ \__xepersian_save_family:nn {#1} {#2}
+ }
+ {
+ }
+ \group_end:
+
+ \tl_set_eq:NN \l_fontspec_family_tl \g__fontspec_nfss_family_tl
+ }
+
+\cs_new:Nn \__xepersian_set_family:NnnN
+ {
+ \tl_set:Nn \l__fontspec_fontface_cs_tl {\l_fontspec_font} % reset
+ \tl_set:Nn \l__fontspec_family_label_tl {#1}
+ \__xepersian_select_font_family:nn {#2} {#3}
+ \__fontspec_tl_new_if_free:N #1
+ #4 #1 \l_fontspec_family_tl
+ \tl_set:Nn \l__fontspec_fontface_cs_tl {\l_fontspec_font} % reset
+ }
+
+\cs_new:Nn \__xepersian_setup_nfss:Nnnn
+ {
+
+ \__xepersian_get_features:n { #2 , #3 , #4 }
+
+ \tl_if_empty:NF \l__fontspec_scale_tl
+ {
+ \tl_set:Nx \l__fontspec_scale_tl { s*[\l__fontspec_scale_tl] }
+ }
+
+ \tl_build_put_right:Nx #1
+ {
+ <\l__fontspec_size_tl> \l__fontspec_scale_tl
+ \__fontspec_construct_font_call:nn { \l_fontspec_fontname_tl }
+ { \l__fontspec_pre_feat_sclist \g__fontspec_rawfeatures_sclist }
+ }
+ }
+
+\cs_new:Nn \__xepersian_setup_single_size:nn
+ {
+ \tl_clear:N \l__fontspec_size_tl
+ \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed
+
+ \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 }
+ \l__fontspec_sizing_leftover_clist
+ \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
+
+ % "normal"
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl}
+ \__xepersian_setup_nfss:Nnnn \l__fontspec_nfss_tl {#1} {\l__fontspec_sizing_leftover_clist} {}
+
+ % small caps
+ \clist_set_eq:NN \l__fontspec_fontfeat_curr_clist \l__fontspec_fontfeat_sc_clist
+
+ \bool_if:NF \l__fontspec_nosc_bool
+ {
+ \tl_if_empty:NTF \l__fontspec_fontname_sc_tl
+ {
+ \__fontspec_make_smallcaps:TF
+ {
+ \clist_put_left:Nn \l__fontspec_fontfeat_curr_clist {Letters=SmallCaps}
+ }
+ {
+ \bool_set_true:N \l__fontspec_nosc_bool
+ }
+ }
+ { \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_fontname_sc_tl} }% local for each size
+ }
+
+ \bool_if:NF \l__fontspec_nosc_bool
+ {
+ \__fontspec_setup_nfss:Nnnn \l__fontspec_nfss_sc_tl
+ {#1} {\l__fontspec_sizing_leftover_clist} {\l__fontspec_fontfeat_curr_clist}
+ }
+ }
+
+\cs_new:Nn \__xepersian_declare_shape:nnnn
+ {
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
+ \tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
+
+ \exp_args:Nx \clist_map_inline:nn {#4} { \__xepersian_setup_single_size:nn {#3} {##1} }
+
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
+ \__fontspec_declare_shapes_normal:nn {#1} {#2}
+ \__fontspec_declare_shapes_smcaps:nn {#1} {#2}
+ \__fontspec_declare_shape_slanted:nn {#1} {#2}
+ \__fontspec_declare_shapes_bx:nn {#1} {#2}
+ \__fontspec_declare_shape_loginfo:nn {#1} {#2}
+ }
+\cs_generate_variant:Nn \__xepersian_declare_shape:nnnn {nnxx}
+
+\cs_new:Nn \__xepersian_make_font_shapes:Nnnnn
+ {
+ \group_begin:
+ \__fontspec_keys_set_known:nxN {fontspec-preparse-external} { #4 } \l__fontspec_leftover_clist
+ \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {#1}
+ \__xepersian_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, \l__fontspec_leftover_clist } {#5}
+ \group_end:
+ }
+
+\cs_new:Nn \__xepersian_set_faces_aux:nnnnn
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_curr_fontname_tl {#3}
+ \__xepersian_make_font_shapes:Nnnnn \l__fontspec_curr_fontname_tl {#1} {#2} {#4} {#5}
+ }
+
+\cs_new:Nn \__xepersian_set_faces:
+ {
+ \__fontspec_add_nfssfont:nnnn \mddefault \shapedefault \l_fontspec_fontname_tl \l__fontspec_fontfeat_up_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \shapedefault \l__fontspec_fontname_bf_tl \l__fontspec_fontfeat_bf_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \itdefault \l__fontspec_fontname_it_tl \l__fontspec_fontfeat_it_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \sldefault \l__fontspec_fontname_sl_tl \l__fontspec_fontfeat_sl_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \swdefault \l__fontspec_fontname_sw_tl \l__fontspec_fontfeat_sw_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \itdefault \l__fontspec_fontname_bfit_tl \l__fontspec_fontfeat_bfit_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \sldefault \l__fontspec_fontname_bfsl_tl \l__fontspec_fontfeat_bfsl_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \swdefault \l__fontspec_fontname_bfsw_tl \l__fontspec_fontfeat_bfsw_clist
+ \prop_map_inline:Nn \l__fontspec_nfssfont_prop { \__xepersian_set_faces_aux:nnnnn ##2 }
+ }
+
+\cs_new:Nn \__xepersian_save_family:nn
+ {
+ \__fontspec_save_fontinfo:n {#2}
+ \__fontspec_find_autofonts:
+ \DeclareFontFamily{\g__fontspec_nfss_enc_tl}{\g__fontspec_nfss_family_tl}{}
+ \__xepersian_set_faces:
+ \__fontspec_info:nxx {defining-font} {#1} {#2}
+ }
+
+\cs_new:Nn \__xepersian_get_features:n
+ {
+ \__fontspec_init_fontface:
+ \__fontspec_keys_set_known:nxN {fontspec-renderer} {\l__fontspec_fontfeat_clist,#1}
+ \l__fontspec_keys_leftover_clist
+ \__fontspec_keys_set_known:nxN {fontspec} {\l__fontspec_keys_leftover_clist} \l__fontspec_keys_leftover_clist
+ \bool_if:NTF \l__fontspec_ot_bool
+ {
+ \keys_set:nV {fontspec-opentype} \l__fontspec_keys_leftover_clist
+ }
+ {
+ \bool_if:nT { \l__fontspec_atsui_bool || \l__fontspec_graphite_bool }
+ { \keys_set:nV {fontspec-aat} \l__fontspec_keys_leftover_clist }
+ }
+ \__fontspec_update_featstr:n { script = arab }
+
+ \tl_if_empty:NF \l__fontspec_mapping_tl
+ { \__fontspec_update_featstr:n { mapping = \l__fontspec_mapping_tl } }
+
+ \str_if_eq:eeF { \l__fontspec_hexcol_tl \l__fontspec_opacity_tl }
+ { \c__fontspec_hexcol_tl \c__fontspec_opacity_tl }
+ { \__fontspec_update_featstr:n { color = \l__fontspec_hexcol_tl\l__fontspec_opacity_tl } }
+ }
+
\keys_define:nn {fontspec-opentype}
{
Ligatures / PersianTeX .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text} },
@@ -165,7 +352,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_settextfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persianfont_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \rmdefault \l__xepersian_persianfont_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianfont }
{
@@ -268,7 +455,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_defpersianfont:NnnN
{
- \fontspec_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=PersianTeX,#2} {#3}
+ \xepersian_set_family:cnn { l__xepersian_ \cs_to_str:N #1 _family_tl } {Ligatures=PersianTeX,#2} {#3}
\use:x
{
\exp_not:N #4 \exp_not:N #1 {}
@@ -342,7 +529,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersiansansfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persiansfdefault \l__xepersian_persiansffamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persiansffamily }
{
@@ -366,7 +553,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpersianmonofont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \persianttdefault \l__xepersian_persianttfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \persianttfamily }
{
@@ -390,7 +577,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setnavarfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_navarfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \navardefault \l__xepersian_navarfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \navarfamily }
{
@@ -414,7 +601,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setpookfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_pookfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \pookdefault \l__xepersian_pookfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \pookfamily }
{
@@ -438,7 +625,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setsayehfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \sayehdefault \l__xepersian_sayehfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \sayehfamily }
{
@@ -462,7 +649,7 @@ Persian typesetting in XeLaTeX]
}
\cs_new:Nn \__xepersian_main_setiranicfont:nn
{
- \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
+ \xepersian_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Ligatures=PersianTeX,#1} {#2}
\tl_set_eq:NN \iranicdefault \l__xepersian_iranicfamily_family_tl
\use:x { \exp_not:n { \DeclareRobustCommand \iranicfamily }
{
@@ -884,7 +1071,7 @@ Persian typesetting in XeLaTeX]
\newcommand*{\@xepersian@pdfcustomproperties}{%
This is the xepersian package, Version \xepersian@version,
- Released February 18, 2022.
+ Released February 20, 2022.
}
\newcommand\twocolumnstableofcontents{%