From a530e59860a2d4cb348c5c8f8d51542b1a8f55e3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 4 Feb 2022 22:28:13 +0000 Subject: xepersian (4feb22) git-svn-id: svn://tug.org/texlive/trunk@61882 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/xepersian/README | 13 +- .../doc/xelatex/xepersian/xepersian-doc.pdf | Bin 242527 -> 246658 bytes .../texmf-dist/doc/xelatex/xepersian/xepersian.pdf | Bin 757400 -> 765803 bytes .../xepersian/persian-tex-text-nonumbers.map | 51 +++ .../xepersian/persian-tex-text-nonumbers.tec | Bin 0 -> 468 bytes .../xelatex/xepersian/xepersian-doc-basics.ltx | 6 +- .../xelatex/xepersian/xepersian-doc-envcs.ltx | 8 +- .../xelatex/xepersian/xepersian-doc-intro.ltx | 4 +- .../xelatex/xepersian/xepersian-doc-pkgs.ltx | 2 +- .../xelatex/xepersian/xepersian-doc-title.ltx | 16 +- .../source/xelatex/xepersian/xepersian-doc.ltx | 2 +- .../source/xelatex/xepersian/xepersian.dtx | 279 ++++++++++----- .../source/xelatex/xepersian/xepersian.ins | 3 +- .../tex/xelatex/xepersian/algorithm-xepersian.def | 2 +- .../xelatex/xepersian/algorithmic-xepersian.def | 2 +- .../tex/xelatex/xepersian/amsart-xepersian.def | 2 +- .../tex/xelatex/xepersian/amsbook-xepersian.def | 2 +- .../tex/xelatex/xepersian/appendix-xepersian.def | 2 +- .../tex/xelatex/xepersian/article-xepersian.def | 2 +- .../tex/xelatex/xepersian/artikel1-xepersian.def | 2 +- .../tex/xelatex/xepersian/artikel2-xepersian.def | 2 +- .../tex/xelatex/xepersian/artikel3-xepersian.def | 2 +- .../tex/xelatex/xepersian/backref-xepersian.def | 2 +- .../xelatex/xepersian/bidimoderncv-xepersian.def | 2 +- .../xepersian/bidituftesidenote-xepersian.def | 2 +- .../tex/xelatex/xepersian/boek-xepersian.def | 2 +- .../tex/xelatex/xepersian/boek3-xepersian.def | 2 +- .../tex/xelatex/xepersian/book-xepersian.def | 2 +- .../tex/xelatex/xepersian/bookest-xepersian.def | 2 +- .../tex/xelatex/xepersian/breqn-xepersian.def | 2 +- .../xelatex/xepersian/color-localise-xepersian.def | 2 +- .../tex/xelatex/xepersian/enumerate-xepersian.def | 2 +- .../tex/xelatex/xepersian/enumitem-xepersian.def | 2 +- .../tex/xelatex/xepersian/extarticle-xepersian.def | 2 +- .../tex/xelatex/xepersian/extbook-xepersian.def | 2 +- .../xepersian/extrafootnotefeatures-xepersian.def | 2 +- .../tex/xelatex/xepersian/extreport-xepersian.def | 2 +- .../tex/xelatex/xepersian/fancyref-xepersian.def | 2 +- .../tex/xelatex/xepersian/footnote-xepersian.def | 2 +- .../tex/xelatex/xepersian/framed-xepersian.def | 2 +- .../tex/xelatex/xepersian/glossaries-xepersian.def | 2 +- .../tex/xelatex/xepersian/hyperref-xepersian.def | 2 +- .../tex/xelatex/xepersian/imsproc-xepersian.def | 2 +- .../tex/xelatex/xepersian/kashida-xepersian.def | 2 +- .../latex-localise-commands-xepersian.def | 2 +- .../latex-localise-environments-xepersian.def | 2 +- .../latex-localise-messages-xepersian.def | 2 +- .../xepersian/latex-localise-misc-xepersian.def | 2 +- .../tex/xelatex/xepersian/listings-xepersian.def | 2 +- .../xelatex/xepersian/loadingorder-xepersian.def | 2 +- .../tex/xelatex/xepersian/localise-xepersian.def | 2 +- .../tex/xelatex/xepersian/memoir-xepersian.def | 2 +- .../tex/xelatex/xepersian/minitoc-xepersian.def | 2 +- .../tex/xelatex/xepersian/natbib-xepersian.def | 2 +- .../xepersian/packages-localise-xepersian.def | 2 +- .../tex/xelatex/xepersian/rapport1-xepersian.def | 2 +- .../tex/xelatex/xepersian/rapport3-xepersian.def | 2 +- .../tex/xelatex/xepersian/refrep-xepersian.def | 2 +- .../tex/xelatex/xepersian/report-xepersian.def | 2 +- .../tex/xelatex/xepersian/scrartcl-xepersian.def | 2 +- .../tex/xelatex/xepersian/scrbook-xepersian.def | 2 +- .../tex/xelatex/xepersian/scrreprt-xepersian.def | 2 +- .../tex/xelatex/xepersian/soul-xepersian.def | 2 +- .../tex/xelatex/xepersian/tikz.code-xepersian.def | 2 +- .../xelatex/xepersian/tkz-linknodes-xepersian.def | 2 +- .../tex/xelatex/xepersian/tocloft-xepersian.def | 2 +- .../tex/xelatex/xepersian/varioref-xepersian.def | 2 +- .../xepersian-localise-commands-xepersian.def | 8 +- .../xepersian-localise-environments-xepersian.def | 2 +- .../tex/xelatex/xepersian/xepersian-magazine.cls | 2 +- .../xelatex/xepersian/xepersian-mathdigitspec.sty | 396 +++++++++++++++++++++ .../xelatex/xepersian/xepersian-mathsdigitspec.sty | 365 ------------------- .../xelatex/xepersian/xepersian-multiplechoice.sty | 2 +- .../tex/xelatex/xepersian/xepersian-persiancal.sty | 2 +- .../texmf-dist/tex/xelatex/xepersian/xepersian.sty | 63 ++-- 75 files changed, 779 insertions(+), 553 deletions(-) create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.map create mode 100644 Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.tec create mode 100644 Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathdigitspec.sty delete mode 100644 Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README index 07503c065c6..6bcea9c873f 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.2 +v23.3 The xepersian package provides a convenient interface for typesetting Persian and English texts in LaTeX, using XeTeX @@ -16,7 +16,16 @@ please use the issue tracker: In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. -Current version release date: 2022/02/01 +You may also have conversations, ask questions and post answers +without opening issues using the Discussions space: + + + +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/04 ___________________________________________ 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 1f79bb23061..650074eee7b 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf and b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-doc.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf index 3f50a1e4f2a..a85b2855154 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf and b/Master/texmf-dist/doc/xelatex/xepersian/xepersian.pdf differ diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.map new file mode 100644 index 00000000000..908fca5f071 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.map @@ -0,0 +1,51 @@ +;; +;; This is file `persian-tex-text-nonumbers.map', +;; generated with the docstrip utility. +;; +;; The original source files were: +;; +;; xepersian.dtx (with options: `persian-tex-text-nonumbers.map') +;; +;; __________________________________________________ +;; Vafa Khalighi +;; tex-persian@vafa.ac +;; +;; Copyright (c) 2008--2022 Vafa Khalighi +;; Copyright (c) 2018--2020 bidi-tex GitHub Organization +;; +;; It may be distributed and/or modified under the LaTeX Project Public License, +;; version 1.3c or higher (your choice). The latest version of +;; this license is at: http://www.latex-project.org/lppl.txt +;; +;; This work is “author-maintained” (as per LPPL maintenance status) +;; by Vafa Khalighi. +;; +;; +LHSName "persian-TeX-text-nonumbers" +RHSName "Unicode" + +pass(Unicode) +U+002C <> U+060C ; comma ­> arabic comma +U+003F <> U+061F ; question mark -> arabic qm +U+003B <> U+061B ; semicolon -> arabic semicolon + +; ligatures from Knuth's original CMR fonts +U+002D U+002D <> U+2013 ; -- -> en dash +U+002D U+002D U+002D <> U+2014 ; --- -> em dash + +U+0027 <> U+2019 ; ' -> right single quote +U+0027 U+0027 <> U+201D ; '' -> right double quote +U+0022 > U+201D ; " -> right double quote + +U+0060 <> U+2018 ; ` -> left single quote +U+0060 U+0060 <> U+201C ; `` -> left double quote + +U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam +U+003F U+0060 <> U+00BF ; ?` -> inverted question + +; additions supported in T1 encoding +U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK +U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET +U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET +;; +;; End of file `persian-tex-text-nonumbers.map'. diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.tec new file mode 100644 index 00000000000..7b2bfe2a9a9 Binary files /dev/null and b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/persian-tex-text-nonumbers.tec differ diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx index 9e9ec6cce08..44452ea4073 100644 --- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx +++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-basics.ltx @@ -1077,8 +1077,8 @@ However there is more; you can localise any other commands/environments you want \tablelasttail{\hline} \begin{supertabular}{lr} \bicsintabular{خط‌زیرنویس‌خودکار}{autofootnoterule} -\bicsintabular{اعدادفرمولهاخودکار}{AutoMathsDigits} -\bicsintabular{اعدادفرمولهالاتین}{DefaultMathsDigits} +\bicsintabular{اعدادفرمولهاخودکار}{AutoMathDigits} +\bicsintabular{اعدادفرمولهالاتین}{DefaultMathDigits} \bicsintabular{تعریف‌قلم‌لاتین}{deflatinfont} \bicsintabular{تعریف‌قلم‌پارسی}{defpersianfont} \bicsintabular{کادراچپ}{hboxL} @@ -1096,7 +1096,7 @@ However there is more; you can localise any other commands/environments you want \bicsintabular{پانویس‌عنوان}{LTRthanks} \bicsintabular{روزپارسی}{persianday} \bicsintabular{قلم‌پارسی}{persianfont} -\bicsintabular{اعدادفرمولهاپارسی}{PersianMathsDigits} +\bicsintabular{اعدادفرمولهاپارسی}{PersianMathDigits} \bicsintabular{ماه‌پارسی}{persianmonth} \bicsintabular{سال‌پارسی}{persianyear} \bicsintabular{علامت‌چپ‌نقل‌قول‌پارسی‌}{plq} diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx index 002d8f380cf..0712b5929e9 100644 --- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx +++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-envcs.ltx @@ -74,7 +74,7 @@ \end{itemize} \subsection{Things To Know About \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}} \begin{BDef} -\Lcs{DefaultMathsDigits}\quad\Lcs{PersianMathsDigits}\quad\Lcs{AutoMathsDigits} +\Lcs{DefaultMathDigits}\quad\Lcs{PersianMathDigits}\quad\Lcs{AutoMathDigits} \end{BDef} \begin{itemize} \item As we discussed before, \Lcs{setmathdigitfont} will choose the Persian font for digits in math mode. By default, digits in math mode will appear in Persian form. @@ -82,9 +82,9 @@ If you use \Lcs{setmathdigitfont}, \Lcs{setmathsfdigitfont}, and \Lcs{setmathttdigitfont}, then you should know that: \begin{itemize} -\item By default, \Lcs{AutoMathsDigits} is active, which means that in Persian mode, you get Persian digits in math mode and in Latin mode, you get \TeX's default font and digits in math mode. -\item If you use \Lcs{PersianMathsDigits} anywhere, you will overwrite \XePersian's default behaviour and you will always get Persian digits in math mode. -\item If you use \Lcs{DefaultMathsDigits} anywhere, again you will overwrite \XePersian's default behaviour and you will always get \TeX's default font and digits in math mode. +\item By default, \Lcs{AutoMathDigits} is active, which means that in Persian mode, you get Persian digits in math mode and in Latin mode, you get \TeX's default font and digits in math mode. +\item If you use \Lcs{PersianMathDigits} anywhere, you will overwrite \XePersian's default behaviour and you will always get Persian digits in math mode. +\item If you use \Lcs{DefaultMathDigits} anywhere, again you will overwrite \XePersian's default behaviour and you will always get \TeX's default font and digits in math mode. \end{itemize} \end{itemize} \end{document} \ No newline at end of file diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx index 0f4f2194728..e6421f36bc3 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.2, 2022/02/01 +* v23.3, 2022/02/04 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) @@ -34,6 +34,8 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th * * Issue tracker: https://github.com/tex-persian/xepersian/issues * +* Discussions: https://github.com/tex-persian/xepersian/discussions +* * Support Email: tex-persian@vafa.ac * * Primary author of xepersian package: Vafa Khalighi. diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx index 2df22a0ad2c..328d53d6177 100644 --- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx +++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-pkgs.ltx @@ -6,7 +6,7 @@ \subsubsection{Introduction} \textsf{xepersian-magazine} class allows you to create magazines, newspapers and any other types of papers. The output document has a front page and as many inner pages as desired. Articles appear one after another, telling the type, number of columns, heading, subheading, images, author and so forth. It is possible to change the aspect of (almost) everything therefore it is highly customisable. Commands to add different titles, headings and footers are also provided. \subsubsection{Usage} -To create\footnote{For a sample file, please look at \texttt{magazine-sample.tex} in the \textsf{doc} folder} a magazine just load the class as usual\footnote{You also need to load \textsf{graphicx}, \textsf{xunicode} and \textsf{xepersian} packages respectively, after loading the document class and choose fonts for the main text, Latin text and digits in maths formulas. For more detail see \autoref{basics} of the documentation.}, with +To create\footnote{For a sample file, please look at \texttt{magazine-sample.tex} in the \textsf{doc} folder} a magazine just load the class as usual\footnote{You also need to load \textsf{graphicx}, \textsf{xunicode} and \textsf{xepersian} packages respectively, after loading the document class and choose fonts for the main text, Latin text and digits in math formulas. For more detail see \autoref{basics} of the documentation.}, with \begin{BDef} \Lcs{documentclass}\OptArgs\Largb{xepersian-magazine} \end{BDef} 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 51011e39b96..3cfd1346faf 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.2}} +\large User documentation for \textcolor{blue!65!black}{version 23.3}} \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.2}} +User documentation for \textcolor{blue!65!black}{version 23.3}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -30,6 +30,18 @@ or ask for any new features, or suggest any improvements, or ask any questions a \medskip In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. + +\bigskip +You may also have conversations, ask questions and post answers +without opening issues using the Discussions space: + +\medskip + \centerline{\url{https://github.com/tex-persian/xepersian/discussions}} + +\medskip +The announcements for the new releases of the package will +also appear in the Discussions space under the Announcements +category. \end{minipage} }} diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx index 5cd43a84e76..e1058567dba 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.2 of the XePersian + pdftitle={User documentation for version 23.3 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 fb740c00a5b..cef2486b84e 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.2 +v23.3 The xepersian package provides a convenient interface for typesetting Persian and English texts in LaTeX, using XeTeX @@ -20,9 +20,18 @@ please use the issue tracker: In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. - -Current version release date: 2022/02/01 +You may also have conversations, ask questions and post answers +without opening issues using the Discussions space: + + + +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/04 ___________________________________________ Vafa Khalighi tex-persian@vafa.ac @@ -117,6 +126,7 @@ by Vafa Khalighi. } \usepostamble\mapping@postamble \generate{\file{persian-tex-text.map}{\from{\jobname.dtx}{persian-tex-text.map}}} +\generate{\file{persian-tex-text-nonumbers.map}{\from{\jobname.dtx}{persian-tex-text-nonumbers.map}}} \let\MetaPrefix\DoubleperCent \usepostamble\org@postamble \generate{\file{rapport1-xepersian.def}{\from{\jobname.dtx}{table,rapport1-xepersian.def}}} @@ -133,7 +143,7 @@ by Vafa Khalighi. \generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}} \generate{\file{xepersian.sty}{\from{\jobname.dtx}{table,xepersian.sty}}} \generate{\file{xepersian-magazine.cls}{\from{\jobname.dtx}{table,xepersian-magazine.cls}}} -\generate{\file{xepersian-mathsdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathsdigitspec.sty}}} +\generate{\file{xepersian-mathdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathdigitspec.sty}}} \generate{\file{xepersian-multiplechoice.sty}{\from{\jobname.dtx}{table,xepersian-multiplechoice.sty}}} \generate{\file{xepersian-persiancal.sty}{\from{\jobname.dtx}{table,xepersian-persiancal.sty}}} % @@ -158,7 +168,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{xepersian-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 23.2 of the XePersian + pdftitle={Source documentation for version 23.3 of the XePersian package}% } \EnableCrossrefs @@ -177,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.2}} +%\large Source documentation for \textcolor{blue!65!black}{version 23.3}} % \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} @@ -188,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.2}} +%Source documentation for \textcolor{blue!65!black}{version 23.3}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -204,6 +214,18 @@ by Vafa Khalighi. %\medskip %In doing so, please always explain your issue well enough, and always include %a minimal working example showing the issue. +% +%\bigskip +%You may also have conversations, ask questions and post answers +%without opening issues using the Discussions space: +% +%\medskip +% \centerline{\url{https://github.com/tex-persian/xepersian/discussions}} +% +%\medskip +%The announcements for the new releases of the package will +%also appear in the Discussions space under the Announcements +%category. %\end{minipage} %}} % @@ -224,7 +246,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{10887} +%% \CheckSum{10959} %% \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 @@ -1512,8 +1534,8 @@ by Vafa Khalighi. % \begin{macrocode} \ProvidesFile{xepersian-localise-commands-xepersian.def}[2012/07/25 v0.2 Persian localisation of XePersian commands] \eqcommand{خط‌زیرنویس‌خودکار}{autofootnoterule} -\eqcommand{اعدادفرمولهاخودکار}{AutoMathsDigits} -\eqcommand{اعدادفرمولهالاتین}{DefaultMathsDigits} +\eqcommand{اعدادفرمولهاخودکار}{AutoMathDigits} +\eqcommand{اعدادفرمولهالاتین}{DefaultMathDigits} \eqcommand{معادل@کلید}{keyval@eq@alias@key} \eqcommand{تعریف‌قلم‌لاتین}{deflatinfont} \eqcommand{تعریف‌قلم‌پارسی}{defpersianfont} @@ -1531,7 +1553,7 @@ by Vafa Khalighi. \eqcommand{پانویس‌عنوان}{LTRthanks} \eqcommand{روزپارسی}{persianday} \eqcommand{قلم‌پارسی}{persianfont} -\eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits} +\eqcommand{اعدادفرمولهاپارسی}{PersianMathDigits} \eqcommand{ماه‌پارسی}{persianmonth} \eqcommand{سال‌پارسی}{persianyear} \eqcommand{علامت‌چپ‌نقل‌قول‌پارسی}{plq} @@ -3091,6 +3113,39 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET % \end{macrocode} % \iffalse % +%<*persian-tex-text-nonumbers.map> +%\fi +% \section{File \texttt{persian-tex-text-nonumbers.map}} +% \begin{macrocode} +LHSName "persian-TeX-text-nonumbers" +RHSName "Unicode" + +pass(Unicode) +U+002C <> U+060C ; comma ­> arabic comma +U+003F <> U+061F ; question mark -> arabic qm +U+003B <> U+061B ; semicolon -> arabic semicolon + +; ligatures from Knuth's original CMR fonts +U+002D U+002D <> U+2013 ; -- -> en dash +U+002D U+002D U+002D <> U+2014 ; --- -> em dash + +U+0027 <> U+2019 ; ' -> right single quote +U+0027 U+0027 <> U+201D ; '' -> right double quote +U+0022 > U+201D ; " -> right double quote + +U+0060 <> U+2018 ; ` -> left single quote +U+0060 U+0060 <> U+201C ; `` -> left double quote + +U+0021 U+0060 <> U+00A1 ; !` -> inverted exclam +U+003F U+0060 <> U+00BF ; ?` -> inverted question + +; additions supported in T1 encoding +U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK +U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET +U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET +% \end{macrocode} +% \iffalse +% %<*rapport1-xepersian.def> %\fi % \section{File \texttt{rapport1-xepersian.def}} @@ -3423,13 +3478,13 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET % \section{File \texttt{xepersian.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\xepersian@version{23.2} -\def\xepersiandate{2022/02/01} +\def\xepersian@version{23.3} +\def\xepersiandate{2022/02/04} \ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} \RequirePackage{xepersian-persiancal} -\RequirePackage{xepersian-mathsdigitspec} +\RequirePackage{xepersian-mathdigitspec} \RequirePackage{bidi} \edef\@xepersian@info{****************************************************^^J% * ^^J% @@ -3451,6 +3506,8 @@ Persian typesetting in XeLaTeX] * ^^J% * Issue tracker: https://github.com/tex-persian/xepersian/issues^^J% * ^^J% +* Discussions: https://github.com/tex-persian/xepersian/discussions^^J% +* ^^J% * Support Email: tex-persian@vafa.ac^^J% * ^^J% * Primary author of xepersian package: Vafa Khalighi.^^J% @@ -3524,6 +3581,21 @@ Persian typesetting in XeLaTeX] \tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text } } } + +\keys_define:nn {fontspec-opentype} + { + Ligatures / PersianTeXNoNumbers .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text-nonumbers} }, + Ligatures / PersianTeXNoNumbersOff .code:n = { \tl_clear:N \l__fontspec_mapping_tl }, + Ligatures / PersianTeXNoNumbersReset .code:n = { \tl_clear:N \l__fontspec_mapping_tl }, + } + +\keys_define:nn {fontspec-aat} + { + Ligatures / PersianTeXNoNumbers .code:n = + { + \tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text-nonumbers } + } + } \DeclareDocumentCommand \settextfont { O{} m O{} } { @@ -3532,7 +3604,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_settextfont:nn { - \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3556,7 +3628,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_settextdigitfont:nn { - \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Ligatures=PersianTeX,#1} {#2} \use:x { \exp_not:n { \DeclareRobustCommand \xepersian@textdigitfont } @@ -3636,7 +3708,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 } {Script=Persian,Ligatures=PersianTeX,#2} {#3} + \fontspec_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 {} @@ -3710,7 +3782,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpersiansansfont:nn { - \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3734,7 +3806,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpersianmonofont:nn { - \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3758,7 +3830,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setnavarfont:nn { - \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3782,7 +3854,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpookfont:nn { - \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3806,7 +3878,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setsayehfont:nn { - \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -3830,7 +3902,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setiranicfont:nn { - \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -4258,7 +4330,7 @@ Persian typesetting in XeLaTeX] \newcommand*{\@xepersian@pdfcustomproperties}{% This is the xepersian package, Version \xepersian@version, - Released February 1, 2022. + Released February 27, 2022. } \newcommand\twocolumnstableofcontents{% @@ -4632,27 +4704,27 @@ number is 999,999,999.}% \define@choicekey{xepersian.sty}{mathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoMathsDigits + \AutoMathDigits \or - \DefaultMathsDigits + \DefaultMathDigits \or - \PersianMathsDigits + \PersianMathDigits \fi} \define@choicekey{xepersian.sty}{inlinemathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoInlineMathsDigits + \AutoInlineMathDigits \or - \DefaultInlineMathsDigits + \DefaultInlineMathDigits \or - \PersianInlineMathsDigits + \PersianInlineMathDigits \fi} \define@choicekey{xepersian.sty}{displaymathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoDisplayMathsDigits + \AutoDisplayMathDigits \or - \DefaultDisplayMathsDigits + \DefaultDisplayMathDigits \or - \PersianDisplayMathsDigits + \PersianDisplayMathDigits \fi} \define@choicekey{xepersian.sty}{RTLdocument}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{% \ifcase\xepersian@tempb\relax @@ -5815,13 +5887,13 @@ indexblock environment may only appear inside frontpage environment. % \end{macrocode} % \iffalse % -%<*xepersian-mathsdigitspec.sty> +%<*xepersian-mathdigitspec.sty> %\fi -% \section{File \texttt{xepersian-mathsdigitspec.sty}} +% \section{File \texttt{xepersian-mathdigitspec.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xepersian-mathsdigitspec} - [2022/02/01 v1.1.8 Unicode Persian maths digits in XeLaTeX] +\ProvidesPackage{xepersian-mathdigitspec} + [2022/02/04 v1.1.9 Unicode Persian math digits in XeLaTeX] \def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi} \let\newfam\new@mathgroup \def\select@group#1#2#3#4{% @@ -5896,7 +5968,7 @@ indexblock environment may only appear inside frontpage environment. \tl_remove_once:Nn \@preamblecmds {\do#1} } \ExplSyntaxOff -\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}} +\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathdigitspec}{#1}} \newcommand\SetMathCode[4]{% \Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} \newcommand\SetMathCharDef[4]{% @@ -5949,11 +6021,11 @@ indexblock environment may only appear inside frontpage environment. } } -\cs_new:Npn \__xepersian_mathsdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathsdigitspec} } -\cs_new:Nn \__xepersian_mathsdigitspec_msg_new:nnnn +\cs_new:Npn \__xepersian_mathdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathdigitspec} } +\cs_new:Nn \__xepersian_mathdigitspec_msg_new:nnnn { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } } \char_set_catcode_space:n {32} -\__xepersian_mathsdigitspec_msg_new:nnnn {xepersian-mathsdigitspec} {char-not-exist} +\__xepersian_mathdigitspec_msg_new:nnnn {xepersian-mathdigitspec} {char-not-exist} { The font "#1" does not contain U+#2. } @@ -5963,7 +6035,7 @@ indexblock environment may only appear inside frontpage environment. \char_set_catcode_ignore:n {32} %\__kernel_primitive:NN \iffontchar \tex_iffontchar:D -\prg_new_conditional:Nnn \__xepersian_mathsdigitspec_primitive_font_char_if_exist:n {p,TF,T,F} +\prg_new_conditional:Nnn \__xepersian_mathdigitspec_primitive_font_char_if_exist:n {p,TF,T,F} { \tex_iffontchar:D \l_fontspec_font "#1 \scan_stop: \prg_return_true: @@ -5972,35 +6044,35 @@ indexblock environment may only appear inside frontpage environment. \fi: } -\clist_new:N \l_xepersian_mathsdigitspec_char_clist +\clist_new:N \l_xepersian_mathdigitspec_char_clist -\cs_new:Nn \__xepersian_mathsdigitspec_char_set_not_exist_error:nn +\cs_new:Nn \__xepersian_mathdigitspec_char_set_not_exist_error:nn { - \clist_set:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + \clist_set:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } } } -\cs_new:Nn \__xepersian_mathsdigitspec_char_prepend_not_exist_error:nn +\cs_new:Nn \__xepersian_mathdigitspec_char_prepend_not_exist_error:nn { - \clist_put_left:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + \clist_put_left:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } } } -\cs_new:Nn \__xepersian_mathsdigitspec_char_append_not_exist_error:nn +\cs_new:Nn \__xepersian_mathdigitspec_char_append_not_exist_error:nn { - \clist_put_right:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + \clist_put_right:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } } } -\cs_new:Nn \__xepersian_mathsdigitspec_char_not_exist_error:n +\cs_new:Nn \__xepersian_mathdigitspec_char_not_exist_error:n { - \__xepersian_mathsdigitspec_char_set_not_exist_error:nn { + \__xepersian_mathdigitspec_char_set_not_exist_error:nn { 06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 , 06F9 , 066A , 066B } { #1 } @@ -6015,13 +6087,13 @@ indexblock environment may only appear inside frontpage environment. \let\glb@currsize\relax \fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2} \__xepersian_setmathdigitfont_hook:nn {#1} {#2} - \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'} + \xepersian@PackageInfo{Defining the default Persian math digits font as '#2'} \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n} \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n} \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it} \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } - \def\persianmathsdigits{% + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } + \def\persianmathdigits{% \SetMathCode{`0}{\mathalpha}{OPERATORS}{`0} \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1} \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2} @@ -6050,7 +6122,7 @@ indexblock environment may only appear inside frontpage environment. \fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} \__xepersian_setmathsfdigitfont_hook:nn {#1} {#2} \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf} } @@ -6065,7 +6137,7 @@ indexblock environment may only appear inside frontpage environment. \fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} \__xepersian_setmathttdigitfont_hook:nn {#1} {#2} \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt} } @@ -6105,47 +6177,78 @@ indexblock environment may only appear inside frontpage environment. \fi} \mathcode`.="8000\relax \def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi} -\def\DefaultInlineMathsDigits{\def\SetInlineMathsDigits{}} -\def\DefaultDisplayMathsDigits{\def\SetDisplayMathsDigits{}} -\def\DefaultMathsDigits{% - \DefaultInlineMathsDigits% - \DefaultDisplayMathsDigits% -} -\def\PersianInlineMathsDigits{\def\SetInlineMathsDigits{% -\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi% +\def\DefaultZifferLeer{.} +\def\DefaultInlineMathDigits{\def\SetInlineMathDigits{}} +\def\DefaultDisplayMathDigits{\def\SetDisplayMathDigits{}} +\def\DefaultMathDigits{% + \DefaultInlineMathDigits% + \DefaultDisplayMathDigits% +} +\def\PersianInlineMathDigits{\def\SetInlineMathDigits{% +\ifx\persianmathdigits\undefined\else\persianmathdigits\fi% \ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% \ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} -\def\PersianDisplayMathsDigits{\def\SetDisplayMathsDigits{% -\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi% +\def\PersianDisplayMathDigits{\def\SetDisplayMathDigits{% +\ifx\persianmathdigits\undefined\else\persianmathdigits\fi% \ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% \ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} -\def\PersianMathsDigits{% - \PersianInlineMathsDigits% - \PersianDisplayMathsDigits% +\def\PersianMathDigits{% + \PersianInlineMathDigits% + \PersianDisplayMathDigits% } -\def\AutoInlineMathsDigits{\def\SetInlineMathsDigits{% -\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi% +\def\AutoInlineMathDigits{\def\SetInlineMathDigits{% +\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi% \ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% \ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} -\def\AutoDisplayMathsDigits{\def\SetDisplayMathsDigits{% -\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi% +\def\AutoDisplayMathDigits{\def\SetDisplayMathDigits{% +\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi% \ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% \ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} -\def\AutoMathsDigits{% - \AutoInlineMathsDigits% - \AutoDisplayMathsDigits% +\def\AutoMathDigits{% + \AutoInlineMathDigits% + \AutoDisplayMathDigits% } -\AutoMathsDigits -\everymath\expandafter{\the\everymath\SetInlineMathsDigits% - \let\SetDisplayMathsDigits\relax% +\AutoMathDigits +\everymath\expandafter{\the\everymath\SetInlineMathDigits% + \let\SetDisplayMathDigits\relax% } \everydisplay\expandafter{% - \the\everydisplay\SetDisplayMathsDigits% - \let\SetInlineMathsDigits\relax% + \the\everydisplay\SetDisplayMathDigits% + \let\SetInlineMathDigits\relax% } + +\ExplSyntaxOn +\cs_new_eq:NN \orig_ZifferLeer \ZifferLeer + +\NewDocumentCommand \SwitchToDefaultMathDigits { } { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \SetMathCode{##1}{\mathalpha}{operators}{##1} + } + \SetMathCode{`\%}{\mathbin}{operators}{`\%} + \tl_set_eq:NN \ZifferLeer \DefaultZifferLeer + \tl_set_eq:NN \mathbf \orig_mathbf:n + \tl_set_eq:NN \mathit \orig_mathit:n + \tl_set_eq:NN \mathrm \orig_mathrm:n + \tl_set_eq:NN \mathsf \orig_mathsf:n + \tl_set_eq:NN \mathtt \orig_mathtt:n +} + +\NewDocumentCommand \SwitchToPersianMathDigits { } { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \SetMathCode{##1}{\mathalpha}{OPERATORS}{##1} + } + \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪} + \tl_set_eq:NN \ZifferLeer \orig_ZifferLeer + \tl_set_eq:NN \mathbf \new@mathbf + \tl_set_eq:NN \mathit \new@mathit + \tl_set_eq:NN \mathrm \new@mathrm + \tl_set_eq:NN \mathsf \new@mathsf + \tl_set_eq:NN \mathtt \new@mathtt +} +\ExplSyntaxOff % \end{macrocode} % \iffalse -% +% %<*xepersian-multiplechoice.sty> %\fi % \section{File \texttt{xepersian-multiplechoice.sty}} diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins index 171544287af..81c5b82cf4b 100644 --- a/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins +++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins @@ -94,6 +94,7 @@ } \usepostamble\mapping@postamble \generate{\file{persian-tex-text.map}{\from{\jobname.dtx}{persian-tex-text.map}}} +\generate{\file{persian-tex-text-nonumbers.map}{\from{\jobname.dtx}{persian-tex-text-nonumbers.map}}} \let\MetaPrefix\DoubleperCent \usepostamble\org@postamble \generate{\file{rapport1-xepersian.def}{\from{\jobname.dtx}{table,rapport1-xepersian.def}}} @@ -110,7 +111,7 @@ \generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}} \generate{\file{xepersian.sty}{\from{\jobname.dtx}{table,xepersian.sty}}} \generate{\file{xepersian-magazine.cls}{\from{\jobname.dtx}{table,xepersian-magazine.cls}}} -\generate{\file{xepersian-mathsdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathsdigitspec.sty}}} +\generate{\file{xepersian-mathdigitspec.sty}{\from{\jobname.dtx}{table,xepersian-mathdigitspec.sty}}} \generate{\file{xepersian-multiplechoice.sty}{\from{\jobname.dtx}{table,xepersian-multiplechoice.sty}}} \generate{\file{xepersian-persiancal.sty}{\from{\jobname.dtx}{table,xepersian-persiancal.sty}}} \endbatchfile diff --git a/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/algorithm-xepersian.def index 66d1f7230ea..2b3b00f8c56 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{10887} +%% \CheckSum{10959} %% \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 2a9e62689e7..8a967b84911 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{10887} +%% \CheckSum{10959} %% \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 594f7070191..821991455f2 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{10887} +%% \CheckSum{10959} %% \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 607daaa6984..501cbef6027 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{10887} +%% \CheckSum{10959} %% \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 fa712c6ac1e..2934c2eab5b 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{10887} +%% \CheckSum{10959} %% \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 d3f887ee42a..8ed34c29c77 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{10887} +%% \CheckSum{10959} %% \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 cf8b30d70d2..dc62b7ebdf3 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{10887} +%% \CheckSum{10959} %% \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 0bd06b997b0..57740d6f757 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{10887} +%% \CheckSum{10959} %% \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 988df29a94f..e405806a992 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{10887} +%% \CheckSum{10959} %% \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 58ac23e413c..19e7e062bcf 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{10887} +%% \CheckSum{10959} %% \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 30ea00b5e77..ded0b6c8143 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{10887} +%% \CheckSum{10959} %% \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 0df487874ad..163f2961e3e 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{10887} +%% \CheckSum{10959} %% \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 d92a3d0102f..e14672bb8e1 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{10887} +%% \CheckSum{10959} %% \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 8eb3ec6f5ab..4e3e000b08f 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{10887} +%% \CheckSum{10959} %% \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 afb76d5974c..2b8b1a9ce1e 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{10887} +%% \CheckSum{10959} %% \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 16d1a2b6478..777185bfcb6 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{10887} +%% \CheckSum{10959} %% \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 bb20ccc0819..42bf9680118 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{10887} +%% \CheckSum{10959} %% \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 a1d0e67c977..5e3b2a6deb5 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{10887} +%% \CheckSum{10959} %% \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 7f82e95c0eb..e4990d93977 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{10887} +%% \CheckSum{10959} %% \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 55d27a6798e..1b9663482ac 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{10887} +%% \CheckSum{10959} %% \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 564d9f125f1..33ab5d1c1d3 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{10887} +%% \CheckSum{10959} %% \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 14f62dc241d..69412498491 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{10887} +%% \CheckSum{10959} %% \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 29fe90ad773..2d1c65448f6 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{10887} +%% \CheckSum{10959} %% \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 ce295dc6e7a..b70fcb23df7 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{10887} +%% \CheckSum{10959} %% \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 b4c4afce66c..e36f9070f3e 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{10887} +%% \CheckSum{10959} %% \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 f730274f770..984da8d6de9 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{10887} +%% \CheckSum{10959} %% \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 1cd5547adac..34e450a8564 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{10887} +%% \CheckSum{10959} %% \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 57afe25ad93..b0f46d2f2c5 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{10887} +%% \CheckSum{10959} %% \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 0d7700473d2..73246c18deb 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{10887} +%% \CheckSum{10959} %% \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 4090113b2fa..4f4bcbacdb4 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{10887} +%% \CheckSum{10959} %% \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 488ede4ed6d..773e5a9a3cb 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{10887} +%% \CheckSum{10959} %% \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 8d929a20bf6..9c8b53e8af2 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{10887} +%% \CheckSum{10959} %% \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 989f3636816..c869c818fed 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{10887} +%% \CheckSum{10959} %% \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 126a999d99b..36da409bc4c 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{10887} +%% \CheckSum{10959} %% \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 d90bd3e4174..39c231a263e 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{10887} +%% \CheckSum{10959} %% \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 97cee869245..33d4c5c2be7 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{10887} +%% \CheckSum{10959} %% \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 9f540067197..f8cd5a216ce 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{10887} +%% \CheckSum{10959} %% \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 b3e339e2329..e8c056b6b83 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{10887} +%% \CheckSum{10959} %% \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 c984f8d883f..093719ed100 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{10887} +%% \CheckSum{10959} %% \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 02cc77f3bfd..2796c4d9e82 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{10887} +%% \CheckSum{10959} %% \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 cd4bf15c1bf..221c4c27e1b 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{10887} +%% \CheckSum{10959} %% \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 2102b4f3a6c..1088cfd984f 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{10887} +%% \CheckSum{10959} %% \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 68c561d0347..246eb2e4de8 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{10887} +%% \CheckSum{10959} %% \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 51dc435c5b2..328c9037ef5 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{10887} +%% \CheckSum{10959} %% \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 5eabe0378ef..832cc811313 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{10887} +%% \CheckSum{10959} %% \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 738b9900f3d..d4ea4a2dbbc 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{10887} +%% \CheckSum{10959} %% \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 40ce01743cd..745d4002c14 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{10887} +%% \CheckSum{10959} %% \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 bb7464b8b43..b02e92e0819 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{10887} +%% \CheckSum{10959} %% \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 1148551a537..86b06f4658d 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{10887} +%% \CheckSum{10959} %% \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 a30552688a0..bd66e836699 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{10887} +%% \CheckSum{10959} %% \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/tikz.code-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def index af0287b0706..b021987282a 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/tikz.code-xepersian.def @@ -21,7 +21,7 @@ %% by Vafa Khalighi. %% %% -%% \CheckSum{10887} +%% \CheckSum{10959} %% \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 b654a5ac075..336d1b80416 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{10887} +%% \CheckSum{10959} %% \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 b80d7d4bdc3..2202ae766c1 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{10887} +%% \CheckSum{10959} %% \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 6ae4c935f93..2982eac55c4 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{10887} +%% \CheckSum{10959} %% \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 ad8ad61ed8f..e00a0f0aefc 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{10887} +%% \CheckSum{10959} %% \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 @@ -40,8 +40,8 @@ %% \ProvidesFile{xepersian-localise-commands-xepersian.def}[2012/07/25 v0.2 Persian localisation of XePersian commands] \eqcommand{خط‌زیرنویس‌خودکار}{autofootnoterule} -\eqcommand{اعدادفرمولهاخودکار}{AutoMathsDigits} -\eqcommand{اعدادفرمولهالاتین}{DefaultMathsDigits} +\eqcommand{اعدادفرمولهاخودکار}{AutoMathDigits} +\eqcommand{اعدادفرمولهالاتین}{DefaultMathDigits} \eqcommand{معادل@کلید}{keyval@eq@alias@key} \eqcommand{تعریف‌قلم‌لاتین}{deflatinfont} \eqcommand{تعریف‌قلم‌پارسی}{defpersianfont} @@ -59,7 +59,7 @@ \eqcommand{پانویس‌عنوان}{LTRthanks} \eqcommand{روزپارسی}{persianday} \eqcommand{قلم‌پارسی}{persianfont} -\eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits} +\eqcommand{اعدادفرمولهاپارسی}{PersianMathDigits} \eqcommand{ماه‌پارسی}{persianmonth} \eqcommand{سال‌پارسی}{persianyear} \eqcommand{علامت‌چپ‌نقل‌قول‌پارسی}{plq} 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 3db93464e29..4134ec0637b 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{10887} +%% \CheckSum{10959} %% \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 fb7e1784dad..92f88915d19 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{10887} +%% \CheckSum{10959} %% \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 new file mode 100644 index 00000000000..be4938f6864 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathdigitspec.sty @@ -0,0 +1,396 @@ +%% +%% This is file `xepersian-mathdigitspec.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xepersian.dtx (with options: `table,xepersian-mathdigitspec.sty') +%% +%% __________________________________________________ +%% Vafa Khalighi +%% tex-persian@vafa.ac +%% +%% Copyright (c) 2008--2022 Vafa Khalighi +%% Copyright (c) 2018--2020 bidi-tex GitHub Organization +%% +%% It may be distributed and/or modified under the LaTeX Project Public License, +%% version 1.3c or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +%% This work is “author-maintained” (as per LPPL maintenance status) +%% by Vafa Khalighi. +%% +%% +%% \CheckSum{10959} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xepersian-mathdigitspec} + [2022/02/04 v1.1.9 Unicode Persian math digits in XeLaTeX] +\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi} +\let\newfam\new@mathgroup +\def\select@group#1#2#3#4{% + \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi + {% + \ifmmode + \ifnum\csname c@mv@\math@version\endcsname<\@cclvi + \begingroup + \escapechar\m@ne + \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% + \globaldefs\@ne \math@fonts + \endgroup + \init@restore@version + \xdef#1{\noexpand\use@mathgroup\noexpand#2% + {\number\csname c@mv@\math@version\endcsname}}% + \global\advance\csname c@mv@\math@version\endcsname\@ne + \else + \let#1\relax + \@latex@error{Too many math alphabets used in + version \math@version}% + \@eha + \fi + \else \expandafter\non@alpherr\fi + #1{#4}% + }% +} +\def\document@select@group#1#2#3#4{% + \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi + {% + \ifmmode + \ifnum\csname c@mv@\math@version\endcsname<\@cclvi + \begingroup + \escapechar\m@ne + \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% + \globaldefs\@ne \math@fonts + \endgroup + \expandafter\extract@alph@from@version + \csname mv@\math@version\expandafter\endcsname + \expandafter{\number\csname + c@mv@\math@version\endcsname}% + #1% + \global\advance\csname c@mv@\math@version\endcsname\@ne + \else + \let#1\relax + \@latex@error{Too many math alphabets used + in version \math@version}% + \@eha + \fi + \else \expandafter\non@alpherr\fi + #1{#4}% + }% +} +\ExplSyntaxOn +\bool_set_false:N \g__fontspec_math_bool +\tl_map_inline:nn + { + \new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes + \@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@ + \DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion + \version@list\version@elt\alpha@list\alpha@elt + \restore@mathversion\init@restore@version\dorestore@version\process@table + \new@mathversion\DeclareSymbolFont\group@list\group@elt + \new@symbolfont\SetSymbolFont\SetSymbolFont@\get@cdp + \DeclareMathAlphabet\new@mathalphabet\SetMathAlphabet\SetMathAlphabet@ + \DeclareMathAccent\set@mathaccent\DeclareMathSymbol\set@mathchar + \set@mathsymbol\DeclareMathDelimiter\@xxDeclareMathDelimiter + \@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter + \set@@mathdelimiter\DeclareMathRadical\mathchar@type + \DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@ + } + { + \tl_remove_once:Nn \@preamblecmds {\do#1} + } +\ExplSyntaxOff +\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathdigitspec}{#1}} +\newcommand\SetMathCode[4]{% + \Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} +\newcommand\SetMathCharDef[4]{% + \Umathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} +\ExplSyntaxOn +\cs_new_eq:NN \orig_mathbf:n \mathbf +\cs_new_eq:NN \orig_mathit:n \mathit +\cs_new_eq:NN \orig_mathrm:n \mathrm +\cs_new_eq:NN \orig_mathsf:n \mathsf +\cs_new_eq:NN \orig_mathtt:n \mathtt +\NewDocumentCommand \new@mathbf { m } { + \orig_mathbf:n { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathbf@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathit { m } { + \orig_mathit:n { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathit@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathrm { m } { + \orig_mathrm:n { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathrm@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathsf{ m } { + \orig_mathsf:n { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathsf@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathtt{ m } { + \orig_mathtt:n { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathtt@font@digits + ##1 \relax + } + #1 + } +} + +\cs_new:Npn \__xepersian_mathdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathdigitspec} } +\cs_new:Nn \__xepersian_mathdigitspec_msg_new:nnnn + { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } } +\char_set_catcode_space:n {32} +\__xepersian_mathdigitspec_msg_new:nnnn {xepersian-mathdigitspec} {char-not-exist} + { + The font "#1" does not contain U+#2. + } + { + Select another font and rerun xelatex. + } +\char_set_catcode_ignore:n {32} + +\prg_new_conditional:Nnn \__xepersian_mathdigitspec_primitive_font_char_if_exist:n {p,TF,T,F} + { + \tex_iffontchar:D \l_fontspec_font "#1 \scan_stop: + \prg_return_true: + \else: + \prg_return_false: + \fi: + } + +\clist_new:N \l_xepersian_mathdigitspec_char_clist + +\cs_new:Nn \__xepersian_mathdigitspec_char_set_not_exist_error:nn + { + \clist_set:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + } + } + +\cs_new:Nn \__xepersian_mathdigitspec_char_prepend_not_exist_error:nn + { + \clist_put_left:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + } + } + +\cs_new:Nn \__xepersian_mathdigitspec_char_append_not_exist_error:nn + { + \clist_put_right:Nn \l_xepersian_mathdigitspec_char_clist { #1 } + \clist_map_inline:Nn \l_xepersian_mathdigitspec_char_clist { + \__xepersian_mathdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } + } + } + +\cs_new:Nn \__xepersian_mathdigitspec_char_not_exist_error:n + { + \__xepersian_mathdigitspec_char_set_not_exist_error:nn { + 06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 , + 06F9 , 066A , 066B + } { #1 } + } + +\DeclareDocumentCommand \setmathdigitfont { O{} m O{} } + { + \__xepersian_main_setmathdigitfont:nn {#1,#3} {#2} + } +\cs_new:Nn \__xepersian_main_setmathdigitfont:nn + { + \let\glb@currsize\relax + \fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2} + \__xepersian_setmathdigitfont_hook:nn {#1} {#2} + \xepersian@PackageInfo{Defining the default Persian math digits font as '#2'} + \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n} + \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n} + \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it} + \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n} + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } + \def\persianmathdigits{% + \SetMathCode{`0}{\mathalpha}{OPERATORS}{`0} + \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1} + \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2} + \SetMathCode{`3}{\mathalpha}{OPERATORS}{`3} + \SetMathCode{`4}{\mathalpha}{OPERATORS}{`4} + \SetMathCode{`5}{\mathalpha}{OPERATORS}{`5} + \SetMathCode{`6}{\mathalpha}{OPERATORS}{`6} + \SetMathCode{`7}{\mathalpha}{OPERATORS}{`7} + \SetMathCode{`8}{\mathalpha}{OPERATORS}{`8} + \SetMathCode{`9}{\mathalpha}{OPERATORS}{`9} + \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪} + \SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B} + \tl_set_eq:NN \mathbf \new@mathbf + \tl_set_eq:NN \mathit \new@mathit + \tl_set_eq:NN \mathrm \new@mathrm} + } + +\cs_set_eq:NN \__xepersian_setmathdigitfont_hook:nn \use_none:nn + +\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} } + { + \__xepersian_main_setmathsfdigitfont:nn {#1,#3} {#2} + } +\cs_new:Nn \__xepersian_main_setmathsfdigitfont:nn + { + \fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} + \__xepersian_setmathsfdigitfont_hook:nn {#1} {#2} + \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n} + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } + \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf} + } + +\cs_set_eq:NN \__xepersian_setmathsfdigitfont_hook:nn \use_none:nn + +\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} } + { + \__xepersian_main_setmathttdigitfont:nn {#1,#3} {#2} + } +\cs_new:Nn \__xepersian_main_setmathttdigitfont:nn + { + \fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} + \__xepersian_setmathttdigitfont_hook:nn {#1} {#2} + \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n} + \__xepersian_mathdigitspec_char_not_exist_error:n { #2 } + \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt} + } + +\cs_set_eq:NN \__xepersian_setmathttdigitfont_hook:nn \use_none:nn + +\ExplSyntaxOff +\ifx\newcommand\undefined\else + \newcommand{\ZifferAn}{} +\fi +\mathchardef\ziffer@DotOri="013A +{\ZifferAn + \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}} +\def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri} +\def\ziffer@check#1#2{% + \ifx\n1\endgroup#1\else + \ifx\n2\endgroup#1\else + \ifx\n3\endgroup#1\else + \ifx\n4\endgroup#1\else + \ifx\n5\endgroup#1\else + \ifx\n6\endgroup#1\else + \ifx\n7\endgroup#1\else + \ifx\n8\endgroup#1\else + \ifx\n9\endgroup#1\else + \ifx\n0\endgroup#1\else + \ifx\n\overline\endgroup#1\else + \endgroup#2% + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi} +\mathcode`.="8000\relax +\def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi} +\def\DefaultZifferLeer{.} +\def\DefaultInlineMathDigits{\def\SetInlineMathDigits{}} +\def\DefaultDisplayMathDigits{\def\SetDisplayMathDigits{}} +\def\DefaultMathDigits{% + \DefaultInlineMathDigits% + \DefaultDisplayMathDigits% +} +\def\PersianInlineMathDigits{\def\SetInlineMathDigits{% +\ifx\persianmathdigits\undefined\else\persianmathdigits\fi% +\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% +\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} +\def\PersianDisplayMathDigits{\def\SetDisplayMathDigits{% +\ifx\persianmathdigits\undefined\else\persianmathdigits\fi% +\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% +\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} +\def\PersianMathDigits{% + \PersianInlineMathDigits% + \PersianDisplayMathDigits% +} +\def\AutoInlineMathDigits{\def\SetInlineMathDigits{% +\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi% +\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% +\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} +\def\AutoDisplayMathDigits{\def\SetDisplayMathDigits{% +\ifx\persianmathdigits\undefined\else\if@nonlatin\persianmathdigits\fi\fi% +\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% +\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} +\def\AutoMathDigits{% + \AutoInlineMathDigits% + \AutoDisplayMathDigits% +} +\AutoMathDigits +\everymath\expandafter{\the\everymath\SetInlineMathDigits% + \let\SetDisplayMathDigits\relax% +} +\everydisplay\expandafter{% + \the\everydisplay\SetDisplayMathDigits% + \let\SetInlineMathDigits\relax% +} + +\ExplSyntaxOn +\cs_new_eq:NN \orig_ZifferLeer \ZifferLeer + +\NewDocumentCommand \SwitchToDefaultMathDigits { } { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \SetMathCode{##1}{\mathalpha}{operators}{##1} + } + \SetMathCode{`\%}{\mathbin}{operators}{`\%} + \tl_set_eq:NN \ZifferLeer \DefaultZifferLeer + \tl_set_eq:NN \mathbf \orig_mathbf:n + \tl_set_eq:NN \mathit \orig_mathit:n + \tl_set_eq:NN \mathrm \orig_mathrm:n + \tl_set_eq:NN \mathsf \orig_mathsf:n + \tl_set_eq:NN \mathtt \orig_mathtt:n +} + +\NewDocumentCommand \SwitchToPersianMathDigits { } { + \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { + \SetMathCode{##1}{\mathalpha}{OPERATORS}{##1} + } + \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪} + \tl_set_eq:NN \ZifferLeer \orig_ZifferLeer + \tl_set_eq:NN \mathbf \new@mathbf + \tl_set_eq:NN \mathit \new@mathit + \tl_set_eq:NN \mathrm \new@mathrm + \tl_set_eq:NN \mathsf \new@mathsf + \tl_set_eq:NN \mathtt \new@mathtt +} +\ExplSyntaxOff +\endinput +%% +%% End of file `xepersian-mathdigitspec.sty'. diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty deleted file mode 100644 index 3b33393661f..00000000000 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty +++ /dev/null @@ -1,365 +0,0 @@ -%% -%% This is file `xepersian-mathsdigitspec.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xepersian.dtx (with options: `table,xepersian-mathsdigitspec.sty') -%% -%% __________________________________________________ -%% Vafa Khalighi -%% tex-persian@vafa.ac -%% -%% Copyright (c) 2008--2022 Vafa Khalighi -%% Copyright (c) 2018--2020 bidi-tex GitHub Organization -%% -%% It may be distributed and/or modified under the LaTeX Project Public License, -%% version 1.3c or higher (your choice). The latest version of -%% this license is at: http://www.latex-project.org/lppl.txt -%% -%% This work is “author-maintained” (as per LPPL maintenance status) -%% by Vafa Khalighi. -%% -%% -%% \CheckSum{10887} -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xepersian-mathsdigitspec} - [2022/02/01 v1.1.8 Unicode Persian maths digits in XeLaTeX] -\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi} -\let\newfam\new@mathgroup -\def\select@group#1#2#3#4{% - \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi - {% - \ifmmode - \ifnum\csname c@mv@\math@version\endcsname<\@cclvi - \begingroup - \escapechar\m@ne - \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% - \globaldefs\@ne \math@fonts - \endgroup - \init@restore@version - \xdef#1{\noexpand\use@mathgroup\noexpand#2% - {\number\csname c@mv@\math@version\endcsname}}% - \global\advance\csname c@mv@\math@version\endcsname\@ne - \else - \let#1\relax - \@latex@error{Too many math alphabets used in - version \math@version}% - \@eha - \fi - \else \expandafter\non@alpherr\fi - #1{#4}% - }% -} -\def\document@select@group#1#2#3#4{% - \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi - {% - \ifmmode - \ifnum\csname c@mv@\math@version\endcsname<\@cclvi - \begingroup - \escapechar\m@ne - \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% - \globaldefs\@ne \math@fonts - \endgroup - \expandafter\extract@alph@from@version - \csname mv@\math@version\expandafter\endcsname - \expandafter{\number\csname - c@mv@\math@version\endcsname}% - #1% - \global\advance\csname c@mv@\math@version\endcsname\@ne - \else - \let#1\relax - \@latex@error{Too many math alphabets used - in version \math@version}% - \@eha - \fi - \else \expandafter\non@alpherr\fi - #1{#4}% - }% -} -\ExplSyntaxOn -\bool_set_false:N \g__fontspec_math_bool -\tl_map_inline:nn - { - \new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes - \@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@ - \DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion - \version@list\version@elt\alpha@list\alpha@elt - \restore@mathversion\init@restore@version\dorestore@version\process@table - \new@mathversion\DeclareSymbolFont\group@list\group@elt - \new@symbolfont\SetSymbolFont\SetSymbolFont@\get@cdp - \DeclareMathAlphabet\new@mathalphabet\SetMathAlphabet\SetMathAlphabet@ - \DeclareMathAccent\set@mathaccent\DeclareMathSymbol\set@mathchar - \set@mathsymbol\DeclareMathDelimiter\@xxDeclareMathDelimiter - \@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter - \set@@mathdelimiter\DeclareMathRadical\mathchar@type - \DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@ - } - { - \tl_remove_once:Nn \@preamblecmds {\do#1} - } -\ExplSyntaxOff -\newcommand\xepersian@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}} -\newcommand\SetMathCode[4]{% - \Umathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} -\newcommand\SetMathCharDef[4]{% - \Umathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} -\ExplSyntaxOn -\cs_new_eq:NN \orig_mathbf:n \mathbf -\cs_new_eq:NN \orig_mathit:n \mathit -\cs_new_eq:NN \orig_mathrm:n \mathrm -\cs_new_eq:NN \orig_mathsf:n \mathsf -\cs_new_eq:NN \orig_mathtt:n \mathtt -\NewDocumentCommand \new@mathbf { m } { - \orig_mathbf:n { - \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { - \mathcode ##1 = \numexpr "100 * \symnew@mathbf@font@digits + ##1 \relax - } - #1 - } -} -\NewDocumentCommand \new@mathit { m } { - \orig_mathit:n { - \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { - \mathcode ##1 = \numexpr "100 * \symnew@mathit@font@digits + ##1 \relax - } - #1 - } -} -\NewDocumentCommand \new@mathrm { m } { - \orig_mathrm:n { - \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { - \mathcode ##1 = \numexpr "100 * \symnew@mathrm@font@digits + ##1 \relax - } - #1 - } -} -\NewDocumentCommand \new@mathsf{ m } { - \orig_mathsf:n { - \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { - \mathcode ##1 = \numexpr "100 * \symnew@mathsf@font@digits + ##1 \relax - } - #1 - } -} -\NewDocumentCommand \new@mathtt{ m } { - \orig_mathtt:n { - \int_step_inline:nnnn { `0 } { \c_one_int } { `9 } { - \mathcode ##1 = \numexpr "100 * \symnew@mathtt@font@digits + ##1 \relax - } - #1 - } -} - -\cs_new:Npn \__xepersian_mathsdigitspec_error:nxx { \msg_error:nnxx {xepersian-mathsdigitspec} } -\cs_new:Nn \__xepersian_mathsdigitspec_msg_new:nnnn - { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } } -\char_set_catcode_space:n {32} -\__xepersian_mathsdigitspec_msg_new:nnnn {xepersian-mathsdigitspec} {char-not-exist} - { - The font "#1" does not contain U+#2. - } - { - Select another font and rerun xelatex. - } -\char_set_catcode_ignore:n {32} - -\prg_new_conditional:Nnn \__xepersian_mathsdigitspec_primitive_font_char_if_exist:n {p,TF,T,F} - { - \tex_iffontchar:D \l_fontspec_font "#1 \scan_stop: - \prg_return_true: - \else: - \prg_return_false: - \fi: - } - -\clist_new:N \l_xepersian_mathsdigitspec_char_clist - -\cs_new:Nn \__xepersian_mathsdigitspec_char_set_not_exist_error:nn - { - \clist_set:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } - } - } - -\cs_new:Nn \__xepersian_mathsdigitspec_char_prepend_not_exist_error:nn - { - \clist_put_left:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } - } - } - -\cs_new:Nn \__xepersian_mathsdigitspec_char_append_not_exist_error:nn - { - \clist_put_right:Nn \l_xepersian_mathsdigitspec_char_clist { #1 } - \clist_map_inline:Nn \l_xepersian_mathsdigitspec_char_clist { - \__xepersian_mathsdigitspec_primitive_font_char_if_exist:nF { ##1 }{ \__xepersian_mathsdigitspec_error:nxx {char-not-exist} { #2 } { ##1 } } - } - } - -\cs_new:Nn \__xepersian_mathsdigitspec_char_not_exist_error:n - { - \__xepersian_mathsdigitspec_char_set_not_exist_error:nn { - 06F0 , 06F1 , 06F2 , 06F3 , 06F4 , 06F5 , 06F6 , 06F7 , 06F8 , - 06F9 , 066A , 066B - } { #1 } - } - -\DeclareDocumentCommand \setmathdigitfont { O{} m O{} } - { - \__xepersian_main_setmathdigitfont:nn {#1,#3} {#2} - } -\cs_new:Nn \__xepersian_main_setmathdigitfont:nn - { - \let\glb@currsize\relax - \fontspec_set_family:Nnn \g__xepersian_mathdigitsfamily_tl {Ligatures=PersianTeX,#1} {#2} - \__xepersian_setmathdigitfont_hook:nn {#1} {#2} - \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'} - \DeclareSymbolFont{OPERATORS} {\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl} {m}{n} - \DeclareSymbolFont{new@mathbf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{bx}{n} - \DeclareSymbolFont{new@mathit@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{it} - \DeclareSymbolFont{new@mathrm@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathdigitsfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } - \def\persianmathsdigits{% - \SetMathCode{`0}{\mathalpha}{OPERATORS}{`0} - \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1} - \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2} - \SetMathCode{`3}{\mathalpha}{OPERATORS}{`3} - \SetMathCode{`4}{\mathalpha}{OPERATORS}{`4} - \SetMathCode{`5}{\mathalpha}{OPERATORS}{`5} - \SetMathCode{`6}{\mathalpha}{OPERATORS}{`6} - \SetMathCode{`7}{\mathalpha}{OPERATORS}{`7} - \SetMathCode{`8}{\mathalpha}{OPERATORS}{`8} - \SetMathCode{`9}{\mathalpha}{OPERATORS}{`9} - \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪} - \SetMathCharDef{\decimalseparator}{\mathord}{OPERATORS}{"066B} - \tl_set_eq:NN \mathbf \new@mathbf - \tl_set_eq:NN \mathit \new@mathit - \tl_set_eq:NN \mathrm \new@mathrm} - } - -\cs_set_eq:NN \__xepersian_setmathdigitfont_hook:nn \use_none:nn - -\DeclareDocumentCommand \setmathsfdigitfont { O{} m O{} } - { - \__xepersian_main_setmathsfdigitfont:nn {#1,#3} {#2} - } -\cs_new:Nn \__xepersian_main_setmathsfdigitfont:nn - { - \fontspec_set_family:Nnn \g__xepersian_mathsfdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} - \__xepersian_setmathsfdigitfont_hook:nn {#1} {#2} - \DeclareSymbolFont{new@mathsf@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathsfdigitfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } - \def\persianmathsfdigits{\tl_set_eq:NN \mathsf \new@mathsf} - } - -\cs_set_eq:NN \__xepersian_setmathsfdigitfont_hook:nn \use_none:nn - -\DeclareDocumentCommand \setmathttdigitfont { O{} m O{} } - { - \__xepersian_main_setmathttdigitfont:nn {#1,#3} {#2} - } -\cs_new:Nn \__xepersian_main_setmathttdigitfont:nn - { - \fontspec_set_family:Nnn \g__xepersian_mathttdigitfamily_tl {Ligatures=PersianTeX,#1} {#2} - \__xepersian_setmathttdigitfont_hook:nn {#1} {#2} - \DeclareSymbolFont{new@mathtt@font@digits}{\g_fontspec_encoding_tl}{\g__xepersian_mathttdigitfamily_tl}{m}{n} - \__xepersian_mathsdigitspec_char_not_exist_error:n { #2 } - \def\persianmathttdigits{\tl_set_eq:NN \mathtt \new@mathtt} - } - -\cs_set_eq:NN \__xepersian_setmathttdigitfont_hook:nn \use_none:nn - -\ExplSyntaxOff -\ifx\newcommand\undefined\else - \newcommand{\ZifferAn}{} -\fi -\mathchardef\ziffer@DotOri="013A -{\ZifferAn - \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}} -\def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri} -\def\ziffer@check#1#2{% - \ifx\n1\endgroup#1\else - \ifx\n2\endgroup#1\else - \ifx\n3\endgroup#1\else - \ifx\n4\endgroup#1\else - \ifx\n5\endgroup#1\else - \ifx\n6\endgroup#1\else - \ifx\n7\endgroup#1\else - \ifx\n8\endgroup#1\else - \ifx\n9\endgroup#1\else - \ifx\n0\endgroup#1\else - \ifx\n\overline\endgroup#1\else - \endgroup#2% - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi} -\mathcode`.="8000\relax -\def\ZifferLeer{\ifx\decimalseparator\undefined .\else \decimalseparator\fi} -\def\DefaultInlineMathsDigits{\def\SetInlineMathsDigits{}} -\def\DefaultDisplayMathsDigits{\def\SetDisplayMathsDigits{}} -\def\DefaultMathsDigits{% - \DefaultInlineMathsDigits% - \DefaultDisplayMathsDigits% -} -\def\PersianInlineMathsDigits{\def\SetInlineMathsDigits{% -\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi% -\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% -\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} -\def\PersianDisplayMathsDigits{\def\SetDisplayMathsDigits{% -\ifx\persianmathsdigits\undefined\else\persianmathsdigits\fi% -\ifx\persianmathsfdigits\undefined\else\persianmathsfdigits\fi% -\ifx\persianmathttdigits\undefined\else\persianmathttdigits\fi}} -\def\PersianMathsDigits{% - \PersianInlineMathsDigits% - \PersianDisplayMathsDigits% -} -\def\AutoInlineMathsDigits{\def\SetInlineMathsDigits{% -\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi% -\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% -\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} -\def\AutoDisplayMathsDigits{\def\SetDisplayMathsDigits{% -\ifx\persianmathsdigits\undefined\else\if@nonlatin\persianmathsdigits\fi\fi% -\ifx\persianmathsfdigits\undefined\else\if@nonlatin\persianmathsfdigits\fi\fi% -\ifx\persianmathttdigits\undefined\else\if@nonlatin\persianmathttdigits\fi\fi}} -\def\AutoMathsDigits{% - \AutoInlineMathsDigits% - \AutoDisplayMathsDigits% -} -\AutoMathsDigits -\everymath\expandafter{\the\everymath\SetInlineMathsDigits% - \let\SetDisplayMathsDigits\relax% -} -\everydisplay\expandafter{% - \the\everydisplay\SetDisplayMathsDigits% - \let\SetInlineMathsDigits\relax% -} -\endinput -%% -%% End of file `xepersian-mathsdigitspec.sty'. diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-multiplechoice.sty index 90d9322a8bb..ee8d822d4ad 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{10887} +%% \CheckSum{10959} %% \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 b0c5a59368a..cb8719083cd 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{10887} +%% \CheckSum{10959} %% \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 60e67749a92..25266dae255 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{10887} +%% \CheckSum{10959} %% \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,13 +39,13 @@ %% Right brace \} Tilde \~} %% \NeedsTeXFormat{LaTeX2e} -\def\xepersian@version{23.2} -\def\xepersiandate{2022/02/01} +\def\xepersian@version{23.3} +\def\xepersiandate{2022/02/04} \ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} \RequirePackage{xepersian-persiancal} -\RequirePackage{xepersian-mathsdigitspec} +\RequirePackage{xepersian-mathdigitspec} \RequirePackage{bidi} \edef\@xepersian@info{****************************************************^^J% * ^^J% @@ -67,6 +67,8 @@ Persian typesetting in XeLaTeX] * ^^J% * Issue tracker: https://github.com/tex-persian/xepersian/issues^^J% * ^^J% +* Discussions: https://github.com/tex-persian/xepersian/discussions^^J% +* ^^J% * Support Email: tex-persian@vafa.ac^^J% * ^^J% * Primary author of xepersian package: Vafa Khalighi.^^J% @@ -141,6 +143,21 @@ Persian typesetting in XeLaTeX] } } +\keys_define:nn {fontspec-opentype} + { + Ligatures / PersianTeXNoNumbers .code:n = { \tl_set:Nn \l__fontspec_mapping_tl {persian-tex-text-nonumbers} }, + Ligatures / PersianTeXNoNumbersOff .code:n = { \tl_clear:N \l__fontspec_mapping_tl }, + Ligatures / PersianTeXNoNumbersReset .code:n = { \tl_clear:N \l__fontspec_mapping_tl }, + } + +\keys_define:nn {fontspec-aat} + { + Ligatures / PersianTeXNoNumbers .code:n = + { + \tl_set:Nn \l__fontspec_mapping_tl { persian-tex-text-nonumbers } + } + } + \DeclareDocumentCommand \settextfont { O{} m O{} } { \__xepersian_main_settextfont:nn {#1,#3} {#2} @@ -148,7 +165,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_settextfont:nn { - \fontspec_set_family:Nnn \l__xepersian_persianfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -172,7 +189,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_settextdigitfont:nn { - \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_set_family:Nnn \l__xepersian_textdigitfont_family_tl {Ligatures=PersianTeX,#1} {#2} \use:x { \exp_not:n { \DeclareRobustCommand \xepersian@textdigitfont } @@ -251,7 +268,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 } {Script=Persian,Ligatures=PersianTeX,#2} {#3} + \fontspec_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 {} @@ -325,7 +342,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpersiansansfont:nn { - \fontspec_set_family:Nnn \l__xepersian_persiansffamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -349,7 +366,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpersianmonofont:nn { - \fontspec_set_family:Nnn \l__xepersian_persianttfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -373,7 +390,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setnavarfont:nn { - \fontspec_set_family:Nnn \l__xepersian_navarfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -397,7 +414,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setpookfont:nn { - \fontspec_set_family:Nnn \l__xepersian_pookfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -421,7 +438,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setsayehfont:nn { - \fontspec_set_family:Nnn \l__xepersian_sayehfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -445,7 +462,7 @@ Persian typesetting in XeLaTeX] } \cs_new:Nn \__xepersian_main_setiranicfont:nn { - \fontspec_set_family:Nnn \l__xepersian_iranicfamily_family_tl {Script=Persian,Ligatures=PersianTeX,#1} {#2} + \fontspec_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 } { @@ -867,7 +884,7 @@ Persian typesetting in XeLaTeX] \newcommand*{\@xepersian@pdfcustomproperties}{% This is the xepersian package, Version \xepersian@version, - Released February 1, 2022. + Released February 27, 2022. } \newcommand\twocolumnstableofcontents{% @@ -1240,27 +1257,27 @@ number is 999,999,999.}% \define@choicekey{xepersian.sty}{mathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoMathsDigits + \AutoMathDigits \or - \DefaultMathsDigits + \DefaultMathDigits \or - \PersianMathsDigits + \PersianMathDigits \fi} \define@choicekey{xepersian.sty}{inlinemathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoInlineMathsDigits + \AutoInlineMathDigits \or - \DefaultInlineMathsDigits + \DefaultInlineMathDigits \or - \PersianInlineMathsDigits + \PersianInlineMathDigits \fi} \define@choicekey{xepersian.sty}{displaymathdigits}[\xepersian@tempa\xepersian@tempb]{automatic,default,persian}{% \ifcase\xepersian@tempb\relax - \AutoDisplayMathsDigits + \AutoDisplayMathDigits \or - \DefaultDisplayMathsDigits + \DefaultDisplayMathDigits \or - \PersianDisplayMathsDigits + \PersianDisplayMathDigits \fi} \define@choicekey{xepersian.sty}{RTLdocument}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{% \ifcase\xepersian@tempb\relax -- cgit v1.2.3