diff options
author | Karl Berry <karl@freefriends.org> | 2018-01-01 22:07:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-01-01 22:07:01 +0000 |
commit | 3992bdafaa741b02f032e705d0aab10224c5c052 (patch) | |
tree | 33cbc41b91c8edc6709b7952eac3122f6717ca0d /Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty | |
parent | 624d6f5858161c524748b4b9377811feef1bb79e (diff) |
xepersian (1jan18)
git-svn-id: svn://tug.org/texlive/trunk@46188 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty | 69 |
1 files changed, 64 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty index c964a16a928..50b90fe18eb 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty @@ -7,7 +7,7 @@ %% xepersian.dtx (with options: `table,xepersian.sty') %% %% __________________________________________________ -%% Copyright (c) 2008--2017 Vafa Khalighi <persian-tex@tug.org> +%% Copyright (c) 2008--2018 Vafa Khalighi <persian-tex@tug.org> %% %% It may be distributed and/or modified under the LaTeX Project Public License, %% version 1.3c or higher (your choice). The latest version of @@ -17,7 +17,7 @@ %% by Vafa Khalighi. %% %% -%% \CheckSum{10317} +%% \CheckSum{10449} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -35,8 +35,8 @@ %% Right brace \} Tilde \~} %% \NeedsTeXFormat{LaTeX2e} -\def\xepersianversion{v20.0} -\def\xepersiandate{2017/12/28} +\def\xepersianversion{v20.2} +\def\xepersiandate{2018/01/02} \ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} @@ -51,7 +51,7 @@ Persian typesetting in XeLaTeX] * typesetting, using fonts provided in the^^J% * distribution.^^J% * ^^J% -* Copyright (c) 2008--2017 Vafa Khalighi^^J% +* Copyright (c) 2008--2018 Vafa Khalighi^^J% * ^^J% * \xepersianversion, \xepersiandate^^J% * ^^J% @@ -139,6 +139,48 @@ Persian typesetting in XeLaTeX] \ignorespaces } +\DeclareDocumentCommand \settextdigitfont { O{} m O{} } + { + \__xepersian_main_settextdigitfont:nnn {#1} {#2} {#3} + } +\cs_set:Nn \__xepersian_main_settextdigitfont:nnn + { + \fontspec_set_family:Nnn \g__xepersian_textdigitfont_family {Mapping=parsidigits,#1,#3} {#2} + \use:x + { + \exp_not:n { \DeclareRobustCommand \xepersian@textdigitfont } + { + \exp_not:N \fontfamily { \g__xepersian_textdigitfont_family } + \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl } + \exp_not:N \selectfont + } + } + \XeTeXinterchartoks \e@alloc@intercharclass@top \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \e@alloc@intercharclass@top = {\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \z@ \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \z@ = {\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \bidi@sepmark@charclass = {\DigitsDotDashInterCharToks\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks\xepersian@@start@switch@textdigitfont} + \if@bidi@csundef{xepersian@D}{}{% + \XeTeXinterchartoks \xepersian@D \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \xepersian@D = {\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \xepersian@L \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \xepersian@L = {\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \xepersian@A \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \xepersian@A = {\xepersian@@stop@switch@textdigitfont} + \XeTeXinterchartoks \xepersian@R \bidi@digits@charclass = {\xepersian@@start@switch@textdigitfont} + \XeTeXinterchartoks \bidi@digits@charclass \xepersian@R = {\xepersian@@stop@switch@textdigitfont} + } + \newcommand*{\xepersian@@start@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\bgroup\xepersian@textdigitfont\else\fi\fi\fi} + \newcommand*{\xepersian@@stop@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\egroup\else\fi\fi\fi} + } + +\DeclareDocumentCommand \setdigitfont { O{} m O{} } + { + \__xepersian_main_settextdigitfont:nnn {#1} {#2} {#3} + \__xepersian_main_setmathdigitfont:nnn {#1} {#2} {#3} + } + \DeclareDocumentCommand \setlatintextfont { O{} m O{} } { \__xepersian_main_setlatintextfont:nnn {#1} {#2} {#3} @@ -463,6 +505,13 @@ Persian typesetting in XeLaTeX] \advance\xepersian@strutilg\xepersian@ilg } +\newif\if@@textdigitfont@on + +\newcommand{\TextDigitFontOn}{\@@textdigitfont@ontrue} +\newcommand{\TextDigitFontOff}{\@@textdigitfont@onfalse} + +\TextDigitFontOn + \newcommand*\xepersian@setlength[4]{% \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi @@ -1287,6 +1336,16 @@ number is 999,999,999.}% \let\bidi@lastcolumn@status@write\relax \fi} +\define@choicekey{xepersian.sty}{debugtextdigitfont}[\xepersian@tempa\xepersian@tempb]{on,off}[on]{% + \ifcase\xepersian@tempb\relax + \bidi@AtEndPreamble{% + \bidi@patchcmd{\xepersian@@start@switch@textdigitfont}% + {\xepersian@textdigitfont}{\addfontfeature{Color=C71585}}{}{}% + } + \or + \relax + \fi} + \ExecuteOptionsX{% documentdirection=righttoleft, tabledirection=righttoleft, |