summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex307
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def148
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def88
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def98
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def149
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def177
9 files changed, 453 insertions, 520 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 08d62f4eab5..7a09140568e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -62,7 +62,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/12/05}%
+\def\ExplFileDate{2017/12/16}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -2687,6 +2687,8 @@
\exp_after:wN #1
\tl_to_str:n {#2} , \scan_stop: , \q_recursion_stop
}
+\cs_new_protected:Npn \cs_generate_variant:cn
+ { \exp_args:Nc \cs_generate_variant:Nn }
\cs_new_protected:Npx \__cs_generate_variant:N #1
{
\exp_not:N \exp_after:wN \exp_not:N \if_meaning:w
@@ -2897,6 +2899,46 @@
\exp_after:wN \exp_not:N \cs:w :: #1 \cs_end:
\__cs_generate_internal_variant_loop:n
}
+\cs_new_protected:Npn \prg_generate_conditional_variant:Nnn #1
+ { \__cs_split_function:NN #1 \__cs_generate_variant:nnNnn }
+\cs_new_protected:Npn \__cs_generate_variant:nnNnn #1#2#3#4#5
+ {
+ \if_meaning:w \c_false_bool #3
+ \__msg_kernel_error:nnx { kernel } { missing-colon }
+ { \token_to_str:c {#1} }
+ \use_i_delimit_by_q_stop:nw
+ \fi:
+ \exp_after:wN \__cs_generate_variant:w
+ \tl_to_str:n {#5} , \scan_stop: , \q_recursion_stop
+ \use_none_delimit_by_q_stop:w \q_mark {#1} {#2} {#4} \q_stop
+ }
+\cs_new_protected:Npn \__cs_generate_variant:w
+ #1 , #2 \q_mark #3#4#5
+ {
+ \if_meaning:w \scan_stop: #1 \scan_stop:
+ \if_meaning:w \q_nil #1 \q_nil
+ \use_i:nnn
+ \fi:
+ \exp_after:wN \use_none_delimit_by_q_recursion_stop:w
+ \else:
+ \cs_if_exist_use:cTF { __cs_generate_variant_#1_form:nnn }
+ { {#3} {#4} {#5} }
+ {
+ \__msg_kernel_error:nnxx
+ { kernel } { conditional-form-unknown }
+ {#1} { \token_to_str:c { #3 : #4 } }
+ }
+ \fi:
+ \__cs_generate_variant:w #2 \q_mark {#3} {#4} {#5}
+ }
+\cs_new_protected:Npn \__cs_generate_variant_p_form:nnn #1#2
+ { \cs_generate_variant:cn { #1 _p : #2 } }
+\cs_new_protected:Npn \__cs_generate_variant_T_form:nnn #1#2
+ { \cs_generate_variant:cn { #1 : #2 T } }
+\cs_new_protected:Npn \__cs_generate_variant_F_form:nnn #1#2
+ { \cs_generate_variant:cn { #1 : #2 F } }
+\cs_new_protected:Npn \__cs_generate_variant_TF_form:nnn #1#2
+ { \cs_generate_variant:cn { #1 : #2 TF } }
%% File: l3tl.dtx Copyright (C) 1990-2017 The LaTeX3 Project
\cs_new_protected:Npn \tl_new:N #1
{
@@ -3255,14 +3297,8 @@
\cs_generate_variant:Nn \tl_gremove_all:Nn { c }
\prg_new_conditional:Npnn \tl_if_blank:n #1 { p , T , F , TF }
{ \__tl_if_empty_return:o { \use_none:n #1 ? } }
-\cs_generate_variant:Nn \tl_if_blank_p:n { V }
-\cs_generate_variant:Nn \tl_if_blank:nT { V }
-\cs_generate_variant:Nn \tl_if_blank:nF { V }
-\cs_generate_variant:Nn \tl_if_blank:nTF { V }
-\cs_generate_variant:Nn \tl_if_blank_p:n { o }
-\cs_generate_variant:Nn \tl_if_blank:nT { o }
-\cs_generate_variant:Nn \tl_if_blank:nF { o }
-\cs_generate_variant:Nn \tl_if_blank:nTF { o }
+\prg_generate_conditional_variant:Nnn \tl_if_blank:n
+ { V , o } { p , T , F , TF }
\prg_new_conditional:Npnn \tl_if_empty:N #1 { p , T , F , TF }
{
\if_meaning:w #1 \c_empty_tl
@@ -3271,10 +3307,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \tl_if_empty_p:N { c }
-\cs_generate_variant:Nn \tl_if_empty:NT { c }
-\cs_generate_variant:Nn \tl_if_empty:NF { c }
-\cs_generate_variant:Nn \tl_if_empty:NTF { c }
+\prg_generate_conditional_variant:Nnn \tl_if_empty:N
+ { c } { p , T , F , TF }
\prg_new_conditional:Npnn \tl_if_empty:n #1 { p , TF , T , F }
{
\exp_after:wN \if_meaning:w \exp_after:wN \q_nil
@@ -3284,10 +3318,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \tl_if_empty_p:n { V }
-\cs_generate_variant:Nn \tl_if_empty:nTF { V }
-\cs_generate_variant:Nn \tl_if_empty:nT { V }
-\cs_generate_variant:Nn \tl_if_empty:nF { V }
+\prg_generate_conditional_variant:Nnn \tl_if_empty:n
+ { V } { p , TF , T , F }
\cs_new:Npn \__tl_if_empty_return:o #1
{
\exp_after:wN \if_meaning:w \exp_after:wN \q_nil
@@ -3307,10 +3339,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \tl_if_eq_p:NN { Nc , c , cc }
-\cs_generate_variant:Nn \tl_if_eq:NNTF { Nc , c , cc }
-\cs_generate_variant:Nn \tl_if_eq:NNT { Nc , c , cc }
-\cs_generate_variant:Nn \tl_if_eq:NNF { Nc , c , cc }
+\prg_generate_conditional_variant:Nnn \tl_if_eq:NN
+ { Nc , c , cc } { p , TF , T , F }
\prg_new_protected_conditional:Npnn \tl_if_eq:nn #1#2 { T , F , TF }
{
\group_begin:
@@ -3329,9 +3359,8 @@
\cs_new_protected:Npn \tl_if_in:NnT { \exp_args:No \tl_if_in:nnT }
\cs_new_protected:Npn \tl_if_in:NnF { \exp_args:No \tl_if_in:nnF }
\cs_new_protected:Npn \tl_if_in:NnTF { \exp_args:No \tl_if_in:nnTF }
-\cs_generate_variant:Nn \tl_if_in:NnT { c }
-\cs_generate_variant:Nn \tl_if_in:NnF { c }
-\cs_generate_variant:Nn \tl_if_in:NnTF { c }
+\prg_generate_conditional_variant:Nnn \tl_if_in:Nn
+ { c } { T , F , TF }
\prg_new_protected_conditional:Npnn \tl_if_in:nn #1#2 { T , F , TF }
{
\if_false: { \fi:
@@ -3340,13 +3369,12 @@
{ \prg_return_false: } { \prg_return_true: }
\if_false: } \fi:
}
-\cs_generate_variant:Nn \tl_if_in:nnT { V , o , no }
-\cs_generate_variant:Nn \tl_if_in:nnF { V , o , no }
-\cs_generate_variant:Nn \tl_if_in:nnTF { V , o , no }
+\prg_generate_conditional_variant:Nnn \tl_if_in:nn
+ { V , o , no } { T , F , TF }
\use:x
{
\prg_new_conditional:Npnn \exp_not:N \tl_if_novalue:n ##1
- { T , F , TF }
+ { p , T , F , TF }
{
\exp_not:N \str_if_eq:onTF
{
@@ -3403,9 +3431,8 @@
{ \__tl_case:Nw #1 }
}
\cs_generate_variant:Nn \tl_case:Nn { c }
-\cs_generate_variant:Nn \tl_case:NnT { c }
-\cs_generate_variant:Nn \tl_case:NnF { c }
-\cs_generate_variant:Nn \tl_case:NnTF { c }
+\prg_generate_conditional_variant:Nnn \tl_case:Nn
+ { c } { T , F , TF }
\cs_new:Npn \__prg_case_end:nw #1#2#3 \q_mark #4#5 \q_stop
{ \exp_end: #1 #4 }
\cs_new_eq:NN \__tl_case_end:nw \__prg_case_end:nw
@@ -3664,10 +3691,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \tl_if_head_eq_charcode_p:nN { f }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNTF { f }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNT { f }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF { f }
+\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN
+ { f } { p , TF , T , F }
\prg_new_conditional:Npnn \tl_if_head_eq_catcode:nN #1 #2 { p , T , F , TF }
{
\if_catcode:w
@@ -3961,14 +3986,8 @@
= 0 \exp_stop_f:
\prg_return_true: \else: \prg_return_false: \fi:
}
-\cs_generate_variant:Nn \str_if_eq_p:nn { V , o }
-\cs_generate_variant:Nn \str_if_eq_p:nn { nV , no , VV }
-\cs_generate_variant:Nn \str_if_eq:nnT { V , o }
-\cs_generate_variant:Nn \str_if_eq:nnT { nV , no , VV }
-\cs_generate_variant:Nn \str_if_eq:nnF { V , o }
-\cs_generate_variant:Nn \str_if_eq:nnF { nV , no , VV }
-\cs_generate_variant:Nn \str_if_eq:nnTF { V , o }
-\cs_generate_variant:Nn \str_if_eq:nnTF { nV , no , VV }
+\prg_generate_conditional_variant:Nnn \str_if_eq:nn
+ { V , o , nV , no , VV } { p , T , F , TF }
\prg_new_conditional:Npnn \str_if_eq_x:nn #1#2 { p , T , F , TF }
{
\if_int_compare:w \__str_if_eq_x:nn {#1} {#2} = 0 \exp_stop_f:
@@ -3979,19 +3998,16 @@
\if_int_compare:w \__str_if_eq_x:nn { \tl_to_str:N #1 } { \tl_to_str:N #2 }
= 0 \exp_stop_f: \prg_return_true: \else: \prg_return_false: \fi:
}
-\cs_generate_variant:Nn \str_if_eq:NNT { c , Nc , cc }
-\cs_generate_variant:Nn \str_if_eq:NNF { c , Nc , cc }
-\cs_generate_variant:Nn \str_if_eq:NNTF { c , Nc , cc }
-\cs_generate_variant:Nn \str_if_eq_p:NN { c , Nc , cc }
+\prg_generate_conditional_variant:Nnn \str_if_eq:NN
+ { c , Nc , cc } { T , F , TF , p }
\prg_new_protected_conditional:Npnn \str_if_in:Nn #1#2 { T , F , TF }
{
\use:x
{ \tl_if_in:nnTF { \tl_to_str:N #1 } { \tl_to_str:n {#2} } }
{ \prg_return_true: } { \prg_return_false: }
}
-\cs_generate_variant:Nn \str_if_in:NnT { c }
-\cs_generate_variant:Nn \str_if_in:NnF { c }
-\cs_generate_variant:Nn \str_if_in:NnTF { c }
+\prg_generate_conditional_variant:Nnn \str_if_in:Nn
+ { c } { T , F , TF }
\prg_new_protected_conditional:Npnn \str_if_in:nn #1#2 { T , F , TF }
{
\use:x
@@ -4021,9 +4037,8 @@
\cs_new:Npn \__str_case:nnTF #1#2#3#4
{ \__str_case:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop }
\cs_generate_variant:Nn \str_case:nn { o , nV , nv }
-\cs_generate_variant:Nn \str_case:nnT { o , nV , nv }
-\cs_generate_variant:Nn \str_case:nnF { o , nV , nv }
-\cs_generate_variant:Nn \str_case:nnTF { o , nV , nv }
+\prg_generate_conditional_variant:Nnn \str_case:nn
+ { o , nV , nv } { T , F , TF }
\cs_new:Npn \__str_case:nw #1#2#3
{
\str_if_eq:nnTF {#1} {#2}
@@ -4814,10 +4829,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \seq_if_empty_p:N { c }
-\cs_generate_variant:Nn \seq_if_empty:NT { c }
-\cs_generate_variant:Nn \seq_if_empty:NF { c }
-\cs_generate_variant:Nn \seq_if_empty:NTF { c }
+\prg_generate_conditional_variant:Nnn \seq_if_empty:N
+ { c } { p , T , F , TF }
\prg_new_protected_conditional:Npnn \seq_if_in:Nn #1#2
{ T , F , TF }
{
@@ -4837,12 +4850,8 @@
}
\cs_new:Npn \__seq_if_in:
{ \__prg_break:n { \group_end: \prg_return_true: } }
-\cs_generate_variant:Nn \seq_if_in:NnT { NV , Nv , No , Nx }
-\cs_generate_variant:Nn \seq_if_in:NnT { c , cV , cv , co , cx }
-\cs_generate_variant:Nn \seq_if_in:NnF { NV , Nv , No , Nx }
-\cs_generate_variant:Nn \seq_if_in:NnF { c , cV , cv , co , cx }
-\cs_generate_variant:Nn \seq_if_in:NnTF { NV , Nv , No , Nx }
-\cs_generate_variant:Nn \seq_if_in:NnTF { c , cV , cv , co , cx }
+\prg_generate_conditional_variant:Nnn \seq_if_in:Nn
+ { NV , Nv , No , Nx , c , cV , cv , co , cx } { T , F , TF }
\cs_new_protected:Npn \__seq_pop:NNNN #1#2#3#4
{
\if_meaning:w #3 \c_empty_seq
@@ -4932,12 +4941,10 @@
{ \__seq_pop_TF:NNNN \prg_do_nothing: \seq_get_left:NN #1#2 }
\prg_new_protected_conditional:Npnn \seq_get_right:NN #1#2 { T , F , TF }
{ \__seq_pop_TF:NNNN \prg_do_nothing: \seq_get_right:NN #1#2 }
-\cs_generate_variant:Nn \seq_get_left:NNT { c }
-\cs_generate_variant:Nn \seq_get_left:NNF { c }
-\cs_generate_variant:Nn \seq_get_left:NNTF { c }
-\cs_generate_variant:Nn \seq_get_right:NNT { c }
-\cs_generate_variant:Nn \seq_get_right:NNF { c }
-\cs_generate_variant:Nn \seq_get_right:NNTF { c }
+\prg_generate_conditional_variant:Nnn \seq_get_left:NN
+ { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \seq_get_right:NN
+ { c } { T , F , TF }
\prg_new_protected_conditional:Npnn \seq_pop_left:NN #1#2 { T , F , TF }
{ \__seq_pop_TF:NNNN \__seq_pop_left:NNN \tl_set:Nn #1 #2 }
\prg_new_protected_conditional:Npnn \seq_gpop_left:NN #1#2 { T , F , TF }
@@ -4946,18 +4953,10 @@
{ \__seq_pop_TF:NNNN \__seq_pop_right:NNN \tl_set:Nx #1 #2 }
\prg_new_protected_conditional:Npnn \seq_gpop_right:NN #1#2 { T , F , TF }
{ \__seq_pop_TF:NNNN \__seq_pop_right:NNN \tl_gset:Nx #1 #2 }
-\cs_generate_variant:Nn \seq_pop_left:NNT { c }
-\cs_generate_variant:Nn \seq_pop_left:NNF { c }
-\cs_generate_variant:Nn \seq_pop_left:NNTF { c }
-\cs_generate_variant:Nn \seq_gpop_left:NNT { c }
-\cs_generate_variant:Nn \seq_gpop_left:NNF { c }
-\cs_generate_variant:Nn \seq_gpop_left:NNTF { c }
-\cs_generate_variant:Nn \seq_pop_right:NNT { c }
-\cs_generate_variant:Nn \seq_pop_right:NNF { c }
-\cs_generate_variant:Nn \seq_pop_right:NNTF { c }
-\cs_generate_variant:Nn \seq_gpop_right:NNT { c }
-\cs_generate_variant:Nn \seq_gpop_right:NNF { c }
-\cs_generate_variant:Nn \seq_gpop_right:NNTF { c }
+\prg_generate_conditional_variant:Nnn \seq_pop_left:NN { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \seq_gpop_left:NN { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \seq_pop_right:NN { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \seq_gpop_right:NN { c } { T , F , TF }
\cs_new:Npn \seq_item:Nn #1
{ \exp_after:wN \__seq_item:wNn #1 \q_stop #1 }
\cs_new:Npn \__seq_item:wNn \s__seq #1 \q_stop #2#3
@@ -5297,12 +5296,10 @@
\cs_generate_variant:Nn \int_gzero_new:N { c }
\__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { }
\cs_new_protected:Npn \int_set_eq:NN #1#2 { #1 = #2 }
-\cs_generate_variant:Nn \int_set_eq:NN { c }
-\cs_generate_variant:Nn \int_set_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \int_set_eq:NN { c , Nc , cc }
\__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { }
\cs_new_protected:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
-\cs_generate_variant:Nn \int_gset_eq:NN { c }
-\cs_generate_variant:Nn \int_gset_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \int_gset_eq:NN { c , Nc , cc }
\prg_new_eq_conditional:NNn \int_if_exist:N \cs_if_exist:N
{ TF , T , F , p }
\prg_new_eq_conditional:NNn \int_if_exist:c \cs_if_exist:c
@@ -6217,10 +6214,8 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \quark_if_no_value_p:N { c }
-\cs_generate_variant:Nn \quark_if_no_value:NT { c }
-\cs_generate_variant:Nn \quark_if_no_value:NF { c }
-\cs_generate_variant:Nn \quark_if_no_value:NTF { c }
+\prg_generate_conditional_variant:Nnn \quark_if_no_value:N
+ { c } { p , T , F , TF }
\prg_new_conditional:Npnn \quark_if_nil:n #1 { p, T , F , TF }
{
\__tl_if_empty_return:o
@@ -6233,10 +6228,8 @@
{ \__quark_if_no_value:w {} #1 {} ? ! \q_no_value ? ? ! }
}
\cs_new:Npn \__quark_if_no_value:w #1 \q_no_value #2 ? #3 ? ! { #1 #2 }
-\cs_generate_variant:Nn \quark_if_nil_p:n { V , o }
-\cs_generate_variant:Nn \quark_if_nil:nTF { V , o }
-\cs_generate_variant:Nn \quark_if_nil:nT { V , o }
-\cs_generate_variant:Nn \quark_if_nil:nF { V , o }
+\prg_generate_conditional_variant:Nnn \quark_if_nil:n
+ { V , o } { p , TF , T , F }
\quark_new:N \q__tl_act_mark
\quark_new:N \q__tl_act_stop
\tl_new:N \g__scan_marks_tl
@@ -6296,10 +6289,7 @@
\prg_return_false:
\fi:
}
-\cs_generate_variant:Nn \bool_if_p:N { c }
-\cs_generate_variant:Nn \bool_if:NT { c }
-\cs_generate_variant:Nn \bool_if:NF { c }
-\cs_generate_variant:Nn \bool_if:NTF { c }
+\prg_generate_conditional_variant:Nnn \bool_if:N { c } { p , T , F , TF }
\cs_new_protected:Npn \bool_show:n
{ \msg_show_eval:Nn \__bool_to_str:n }
\cs_new_protected:Npn \bool_log:n
@@ -6692,9 +6682,7 @@
\prg_return_true:
\fi:
}
-\cs_generate_variant:Nn \clist_get:NNT { c }
-\cs_generate_variant:Nn \clist_get:NNF { c }
-\cs_generate_variant:Nn \clist_get:NNTF { c }
+\prg_generate_conditional_variant:Nnn \clist_get:NN { c } { T , F , TF }
\prg_new_protected_conditional:Npnn \clist_pop:NN #1#2 { T , F , TF }
{ \__clist_pop_TF:NNN \tl_set:Nx #1 #2 }
\prg_new_protected_conditional:Npnn \clist_gpop:NN #1#2 { T , F , TF }
@@ -6708,12 +6696,8 @@
\prg_return_true:
\fi:
}
-\cs_generate_variant:Nn \clist_pop:NNT { c }
-\cs_generate_variant:Nn \clist_pop:NNF { c }
-\cs_generate_variant:Nn \clist_pop:NNTF { c }
-\cs_generate_variant:Nn \clist_gpop:NNT { c }
-\cs_generate_variant:Nn \clist_gpop:NNF { c }
-\cs_generate_variant:Nn \clist_gpop:NNTF { c }
+\prg_generate_conditional_variant:Nnn \clist_pop:NN { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \clist_gpop:NN { c } { T , F , TF }
\cs_new_eq:NN \clist_push:Nn \clist_put_left:Nn
\cs_new_eq:NN \clist_push:NV \clist_put_left:NV
\cs_new_eq:NN \clist_push:No \clist_put_left:No
@@ -6830,15 +6814,10 @@
{ \__clist_tmp:w ,#1, {} {} ,#2, }
{ \prg_return_false: } { \prg_return_true: }
}
-\cs_generate_variant:Nn \clist_if_in:NnT { NV , No }
-\cs_generate_variant:Nn \clist_if_in:NnT { c , cV , co }
-\cs_generate_variant:Nn \clist_if_in:NnF { NV , No }
-\cs_generate_variant:Nn \clist_if_in:NnF { c , cV , co }
-\cs_generate_variant:Nn \clist_if_in:NnTF { NV , No }
-\cs_generate_variant:Nn \clist_if_in:NnTF { c , cV , co }
-\cs_generate_variant:Nn \clist_if_in:nnT { nV , no }
-\cs_generate_variant:Nn \clist_if_in:nnF { nV , no }
-\cs_generate_variant:Nn \clist_if_in:nnTF { nV , no }
+\prg_generate_conditional_variant:Nnn \clist_if_in:Nn
+ { NV , No , c , cV , co } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \clist_if_in:nn
+ { nV , no } { T , F , TF }
\cs_new:Npn \clist_map_function:NN #1#2
{
\clist_if_empty:NF #1
@@ -7945,12 +7924,8 @@
}
{ \prg_return_false: }
}
-\cs_generate_variant:Nn \prop_pop:NnNT { c }
-\cs_generate_variant:Nn \prop_pop:NnNF { c }
-\cs_generate_variant:Nn \prop_pop:NnNTF { c }
-\cs_generate_variant:Nn \prop_gpop:NnNT { c }
-\cs_generate_variant:Nn \prop_gpop:NnNF { c }
-\cs_generate_variant:Nn \prop_gpop:NnNTF { c }
+\prg_generate_conditional_variant:Nnn \prop_pop:NnN { c } { T , F , TF }
+\prg_generate_conditional_variant:Nnn \prop_gpop:NnN { c } { T , F , TF }
\cs_new_protected:Npn \prop_put:Nnn { \__prop_put:NNnn \tl_set:Nx }
\cs_new_protected:Npn \prop_gput:Nnn { \__prop_put:NNnn \tl_gset:Nx }
\cs_new_protected:Npn \__prop_put:NNnn #1#2#3#4
@@ -7998,10 +7973,8 @@
\tl_if_eq:NNTF #1 \c_empty_prop
\prg_return_true: \prg_return_false:
}
-\cs_generate_variant:Nn \prop_if_empty_p:N { c }
-\cs_generate_variant:Nn \prop_if_empty:NT { c }
-\cs_generate_variant:Nn \prop_if_empty:NF { c }
-\cs_generate_variant:Nn \prop_if_empty:NTF { c }
+\prg_generate_conditional_variant:Nnn \prop_if_empty:N
+ { c } { p , T , F , TF }
\prg_new_conditional:Npnn \prop_if_in:Nn #1#2 { p , T , F , TF }
{
\exp_last_unbraced:Noo \__prop_if_in:nwwn { \tl_to_str:n {#2} } #1
@@ -8024,14 +7997,8 @@
\fi:
\__prg_break:
}
-\cs_generate_variant:Nn \prop_if_in_p:Nn { NV , No }
-\cs_generate_variant:Nn \prop_if_in_p:Nn { c , cV , co }
-\cs_generate_variant:Nn \prop_if_in:NnT { NV , No }
-\cs_generate_variant:Nn \prop_if_in:NnT { c , cV , co }
-\cs_generate_variant:Nn \prop_if_in:NnF { NV , No }
-\cs_generate_variant:Nn \prop_if_in:NnF { c , cV , co }
-\cs_generate_variant:Nn \prop_if_in:NnTF { NV , No }
-\cs_generate_variant:Nn \prop_if_in:NnTF { c , cV , co }
+\prg_generate_conditional_variant:Nnn \prop_if_in:Nn
+ { NV , No , c , cV , co } { p , T , F , TF }
\prg_new_protected_conditional:Npnn \prop_get:NnN #1#2#3 { T , F , TF }
{
\__prop_split:NnTF #1 {#2}
@@ -8041,12 +8008,8 @@
}
{ \prg_return_false: }
}
-\cs_generate_variant:Nn \prop_get:NnNT { NV , No }
-\cs_generate_variant:Nn \prop_get:NnNF { NV , No }
-\cs_generate_variant:Nn \prop_get:NnNTF { NV , No }
-\cs_generate_variant:Nn \prop_get:NnNT { c , cV , co }
-\cs_generate_variant:Nn \prop_get:NnNF { c , cV , co }
-\cs_generate_variant:Nn \prop_get:NnNTF { c , cV , co }
+\prg_generate_conditional_variant:Nnn \prop_get:NnN
+ { NV , No , c , cV , co } { T , F , TF }
\cs_new:Npn \prop_map_function:NN #1#2
{
\exp_last_unbraced:NNo \__prop_map_function:Nwwn #2 #1
@@ -8061,8 +8024,7 @@
#1 {#3} {#4}
\__prop_map_function:Nwwn #1
}
-\cs_generate_variant:Nn \prop_map_function:NN { Nc }
-\cs_generate_variant:Nn \prop_map_function:NN { c , cc }
+\cs_generate_variant:Nn \prop_map_function:NN { Nc , c , cc }
\cs_new_protected:Npn \prop_map_inline:Nn #1#2
{
\cs_gset_eq:cN
@@ -9146,6 +9108,8 @@
}
\cs_new_protected:Npn \ior_new:N #1 { \cs_new_eq:NN #1 \c_term_ior }
\cs_generate_variant:Nn \ior_new:N { c }
+\ior_new:N \g_tmpa_ior
+\ior_new:N \g_tmpb_ior
\cs_new_protected:Npn \ior_open:Nn #1#2
{ \ior_open:NnF #1 {#2} { \__file_missing:n {#2} } }
\cs_generate_variant:Nn \ior_open:Nn { c }
@@ -9159,9 +9123,7 @@
\prg_return_true:
}
}
-\cs_generate_variant:Nn \ior_open:NnT { c }
-\cs_generate_variant:Nn \ior_open:NnF { c }
-\cs_generate_variant:Nn \ior_open:NnTF { c }
+\prg_generate_conditional_variant:Nnn \ior_open:Nn { c } { T , F , TF }
\exp_args:NNf \cs_new_protected:Npn \__ior_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newread } }
\cs_new_protected:Npn \__ior_open:Nn #1#2
@@ -9296,6 +9258,8 @@
}
\cs_new_protected:Npn \iow_new:N #1 { \cs_new_eq:NN #1 \c_term_iow }
\cs_generate_variant:Nn \iow_new:N { c }
+\iow_new:N \g_tmpa_iow
+\iow_new:N \g_tmpb_iow
\exp_args:NNf \cs_new_protected:Npn \__iow_new:N
{ \exp_args:NNc \exp_after:wN \exp_stop_f: { newwrite } }
\cs_new_protected:Npn \iow_open:Nn #1#2
@@ -9802,13 +9766,11 @@
\__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { }
\cs_new_protected:Npn \dim_set_eq:NN #1#2
{ #1 = #2 \scan_stop: }
-\cs_generate_variant:Nn \dim_set_eq:NN { c }
-\cs_generate_variant:Nn \dim_set_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \dim_set_eq:NN { c , Nc , cc }
\__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { }
\cs_new_protected:Npn \dim_gset_eq:NN #1#2
{ \tex_global:D #1 = #2 \scan_stop: }
-\cs_generate_variant:Nn \dim_gset_eq:NN { c }
-\cs_generate_variant:Nn \dim_gset_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \dim_gset_eq:NN { c , Nc , cc }
\__dim_tmp:w \__debug_chk_var_local:N
\cs_new_protected:Npn \dim_add:Nn #1#2
{ \tex_advance:D #1 by \__dim_eval:w #2 \__dim_eval_end: \scan_stop: }
@@ -10102,11 +10064,9 @@
\cs_generate_variant:Nn \skip_set:Nn { c }
\cs_generate_variant:Nn \skip_gset:Nn { c }
\cs_new_protected:Npn \skip_set_eq:NN #1#2 { #1 = #2 }
-\cs_generate_variant:Nn \skip_set_eq:NN { c }
-\cs_generate_variant:Nn \skip_set_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \skip_set_eq:NN { c , Nc , cc }
\cs_new_protected:Npn \skip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
-\cs_generate_variant:Nn \skip_gset_eq:NN { c }
-\cs_generate_variant:Nn \skip_gset_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \skip_gset_eq:NN { c , Nc , cc }
\__dim_tmp:w \__debug_chk_var_local:N
\cs_new_protected:Npn \skip_add:Nn #1#2
{ \tex_advance:D #1 by \etex_glueexpr:D #2 \scan_stop: }
@@ -10238,12 +10198,10 @@
\cs_generate_variant:Nn \muskip_gset:Nn { c }
\__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { }
\cs_new_protected:Npn \muskip_set_eq:NN #1#2 { #1 = #2 }
-\cs_generate_variant:Nn \muskip_set_eq:NN { c }
-\cs_generate_variant:Nn \muskip_set_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \muskip_set_eq:NN { c , Nc , cc }
\__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { }
\cs_new_protected:Npn \muskip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
-\cs_generate_variant:Nn \muskip_gset_eq:NN { c }
-\cs_generate_variant:Nn \muskip_gset_eq:NN { Nc , cc }
+\cs_generate_variant:Nn \muskip_gset_eq:NN { c , Nc , cc }
\__dim_tmp:w \__debug_chk_var_local:N
\cs_new_protected:Npn \muskip_add:Nn #1#2
{ \tex_advance:D #1 by \etex_muexpr:D #2 \scan_stop: }
@@ -20043,6 +20001,10 @@
}
\cs_new_protected:Npn \regex_new:N #1
{ \cs_new_eq:NN #1 \c__regex_no_match_regex }
+\regex_new:N \l_tmpa_regex
+\regex_new:N \l_tmpb_regex
+\regex_new:N \g_tmpa_regex
+\regex_new:N \g_tmpb_regex
\cs_new_protected:Npn \regex_set:Nn #1#2
{
\__regex_compile:n {#2}
@@ -20749,20 +20711,14 @@
{ \if_hbox:N #1 \prg_return_true: \else: \prg_return_false: \fi: }
\prg_new_conditional:Npnn \box_if_vertical:N #1 { p , T , F , TF }
{ \if_vbox:N #1 \prg_return_true: \else: \prg_return_false: \fi: }
-\cs_generate_variant:Nn \box_if_horizontal_p:N { c }
-\cs_generate_variant:Nn \box_if_horizontal:NT { c }
-\cs_generate_variant:Nn \box_if_horizontal:NF { c }
-\cs_generate_variant:Nn \box_if_horizontal:NTF { c }
-\cs_generate_variant:Nn \box_if_vertical_p:N { c }
-\cs_generate_variant:Nn \box_if_vertical:NT { c }
-\cs_generate_variant:Nn \box_if_vertical:NF { c }
-\cs_generate_variant:Nn \box_if_vertical:NTF { c }
+\prg_generate_conditional_variant:Nnn \box_if_horizontal:N
+ { c } { p , T , F , TF }
+\prg_generate_conditional_variant:Nnn \box_if_vertical:N
+ { c } { p , T , F , TF }
\prg_new_conditional:Npnn \box_if_empty:N #1 { p , T , F , TF }
{ \if_box_empty:N #1 \prg_return_true: \else: \prg_return_false: \fi: }
-\cs_generate_variant:Nn \box_if_empty_p:N { c }
-\cs_generate_variant:Nn \box_if_empty:NT { c }
-\cs_generate_variant:Nn \box_if_empty:NF { c }
-\cs_generate_variant:Nn \box_if_empty:NTF { c }
+\prg_generate_conditional_variant:Nnn \box_if_empty:N
+ { c } { p , T , F , TF }
\__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { }
\cs_new_protected:Npn \box_set_to_last:N #1
{ \tex_setbox:D #1 \tex_lastbox:D }
@@ -21036,7 +20992,7 @@
\tex_kern:D -\l__box_left_new_dim
\hbox:n
{
- \__driver_box_use_rotate:Nn
+ \driver_box_use_rotate:Nn
\l__box_internal_box
\l__box_angle_fp
}
@@ -21257,7 +21213,7 @@
{
\hbox_set:Nn \l__box_internal_box
{
- \__driver_box_use_scale:Nnn
+ \driver_box_use_scale:Nnn
#1
\l__box_scale_x_fp
\l__box_scale_y_fp
@@ -21348,10 +21304,8 @@
}
{ \prg_return_false: }
}
-\cs_generate_variant:Nn \coffin_if_exist_p:N { c }
-\cs_generate_variant:Nn \coffin_if_exist:NT { c }
-\cs_generate_variant:Nn \coffin_if_exist:NF { c }
-\cs_generate_variant:Nn \coffin_if_exist:NTF { c }
+\prg_generate_conditional_variant:Nnn \coffin_if_exist:N
+ { c } { p , T , F , TF }
\cs_new_protected:Npn \__coffin_if_exist:NT #1#2
{
\coffin_if_exist:NTF #1
@@ -22280,7 +22234,7 @@
}
}
\cs_new_protected:Npn \box_clip:N #1
- { \hbox_set:Nn #1 { \__driver_box_use_clip:N #1 } }
+ { \hbox_set:Nn #1 { \driver_box_use_clip:N #1 } }
\cs_generate_variant:Nn \box_clip:N { c }
\cs_new_protected:Npn \box_trim:Nnnnn #1#2#3#4#5
{
@@ -22886,8 +22840,7 @@
#1 {#3} {#6}
\__seq_mapthread_function:Nnnwnn #1 #4 \q_stop
}
-\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc }
-\cs_generate_variant:Nn \seq_mapthread_function:NNN { c , cc }
+\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc , c , cc }
\cs_new_protected:Npn \seq_set_filter:NNn
{ \__seq_set_filter:NNNn \tl_set:Nx }
\cs_new_protected:Npn \seq_gset_filter:NNn
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 9ff1d71bc63..6dad32cd813 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/12/05}%
+\def\ExplFileDate{2017/12/16}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index df455795330..fe60630658f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/12/05}%
+\def\ExplFileDate{2017/12/16}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index d03dd25b8ea..ecf9682900c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx Copyright (C) 1990-2017 The LaTeX3 project
\RequirePackage{expl3,xparse,calc}
-\ProvidesExplClass{l3doc}{2017/12/05}{}
+\ProvidesExplClass{l3doc}{2017/12/16}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 5d3c33f35d6..49851740957 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -69,7 +69,7 @@
{ \tex_special:D { x:gsave } }
\cs_new_protected:Npn \__driver_scope_end:
{ \tex_special:D { x:grestore } }
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
+\cs_new_protected:Npn \driver_box_use_clip:N #1
{
\__driver_scope_begin:
\__driver_literal:n
@@ -84,7 +84,7 @@
\__driver_scope_end:
\skip_horizontal:n { \box_wd:N #1 }
}
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
+\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
\tex_special:D
@@ -97,7 +97,7 @@
\box_use:N #1
\__driver_scope_end:
}
-\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
+\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
\tex_special:D
@@ -109,19 +109,19 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
-\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n
+\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n
\cs_new_protected:Npn \__driver_image_getbb_jpg:n #1
{
- \int_zero:N \l__image_page_int
- \tl_clear:N \l__image_pagebox_tl
- \__image_extract_bb:n {#1}
+ \int_zero:N \l_image_page_int
+ \tl_clear:N \l_image_pagebox_tl
+ \image_extract_bb:n {#1}
}
\cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n
\cs_new_protected:Npn \__driver_image_getbb_pdf:n #1
{
- \tl_clear:N \l__image_decode_tl
- \bool_set_false:N \l__image_interpolate_bool
- \__image_extract_bb:n {#1}
+ \tl_clear:N \l_image_decode_tl
+ \bool_set_false:N \l_image_interpolate_bool
+ \image_extract_bb:n {#1}
}
\int_new:N \g__driver_image_int
\cs_new_protected:Npn \__driver_image_include_eps:n #1
@@ -137,23 +137,23 @@
{
\__driver_image_include_auxii:xnn
{
- \tl_if_empty:NF \l__image_pagebox_tl
- { : \l__image_pagebox_tl }
- \int_compare:nNnT \l__image_page_int > 1
- { :P \int_use:N \l__image_page_int }
- \tl_if_empty:NF \l__image_decode_tl
- { :D \l__image_decode_tl }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_pagebox_tl
+ { : \l_image_pagebox_tl }
+ \int_compare:nNnT \l_image_page_int > 1
+ { :P \int_use:N \l_image_page_int }
+ \tl_if_empty:NF \l_image_decode_tl
+ { :D \l_image_decodearray_tl }
+ \bool_if:NT \l_image_interpolate_bool
{ :I }
}
{#1} {#2}
}
\cs_new_protected:Npn \__driver_image_include_auxii:nnn #1#2#3
{
- \int_if_exist:cTF { c__image_ #2#1 _int }
+ \int_if_exist:cTF { c__driver_image_ #2#1 _int }
{
\tex_special:D
- { pdf:usexobj~@image \int_use:c { c__image_ #2#1 _int } }
+ { pdf:usexobj~@image \int_use:c { c__driver_image_ #2#1 _int } }
}
{ \__driver_image_include_auxiii:nn {#2} {#1} {#3} }
}
@@ -161,31 +161,31 @@
\cs_new_protected:Npn \__driver_image_include_auxiii:nnn #1#2#3
{
\int_gincr:N \g__driver_image_int
- \int_const:cn { c__image_ #1#2 _int } { \g__driver_image_int }
+ \int_const:cn { c__driver_image_ #1#2 _int } { \g__driver_image_int }
\tex_special:D
{
pdf:#3~
- @image \int_use:c { c__image_ #1#2 _int }
- \int_compare:nNnT \l__image_page_int > 1
- { page ~ \int_use:N \l__image_page_int \c_space_tl }
- \tl_if_empty:NF \l__image_pagebox_tl
+ @image \int_use:c { c__driver_image_ #1#2 _int }
+ \int_compare:nNnT \l_image_page_int > 1
+ { page ~ \int_use:N \l_image_page_int \c_space_tl }
+ \tl_if_empty:NF \l_image_pagebox_tl
{
- pagebox ~ \l__image_pagebox_tl \c_space_tl
+ pagebox ~ \l_image_pagebox_tl \c_space_tl
bbox ~
- \dim_to_decimal_in_bp:n \l__image_llx_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_lly_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_urx_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_ury_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_llx_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_lly_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_urx_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_ury_dim \c_space_tl
}
(#1)
\bool_lazy_or:nnT
- { \l__image_interpolate_bool }
- { ! \tl_if_empty_p:N \l__image_decode_tl }
+ { \l_image_interpolate_bool }
+ { ! \tl_if_empty_p:N \l_image_decodearray_tl }
{
<<
- \tl_if_empty:NF \l__image_decode_tl
- { /Decode~[ \l__image_decode_tl ] }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_decode_tl
+ { /Decode~[ \l_image_decodearray_tl ] }
+ \bool_if:NT \l_image_interpolate_bool
{ /Interpolate~true> }
>>
}
@@ -193,25 +193,25 @@
}
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \__driver_draw_begin:
- { \__driver_draw_scope_begin: }
-\cs_new_protected:Npn \__driver_draw_end:
- { \__driver_draw_scope_end: }
-\cs_new_protected:Npn \__driver_draw_scope_begin:
+\cs_new_protected:Npn \driver_draw_begin:
+ { \driver_draw_scope_begin: }
+\cs_new_protected:Npn \driver_draw_end:
+ { \driver_draw_scope_end: }
+\cs_new_protected:Npn \driver_draw_scope_begin:
{ \__driver_draw_literal:n { q } }
-\cs_new_protected:Npn \__driver_draw_scope_end:
+\cs_new_protected:Npn \driver_draw_scope_end:
{ \__driver_draw_literal:n { Q } }
-\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2
+\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m }
}
-\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2
+\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l }
}
-\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -221,7 +221,7 @@
c
}
}
-\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -230,35 +230,35 @@
re
}
}
-\cs_new_protected:Npn \__driver_draw_evenodd_rule:
+\cs_new_protected:Npn \driver_draw_evenodd_rule:
{ \bool_gset_true:N \g__driver_draw_eor_bool }
-\cs_new_protected:Npn \__driver_draw_nonzero_rule:
+\cs_new_protected:Npn \driver_draw_nonzero_rule:
{ \bool_gset_false:N \g__driver_draw_eor_bool }
\bool_new:N \g__driver_draw_eor_bool
-\cs_new_protected:Npn \__driver_draw_closepath:
+\cs_new_protected:Npn \driver_draw_closepath:
{ \__driver_draw_literal:n { h } }
-\cs_new_protected:Npn \__driver_draw_stroke:
+\cs_new_protected:Npn \driver_draw_stroke:
{ \__driver_draw_literal:n { S } }
-\cs_new_protected:Npn \__driver_draw_closestroke:
+\cs_new_protected:Npn \driver_draw_closestroke:
{ \__driver_draw_literal:n { s } }
-\cs_new_protected:Npn \__driver_draw_fill:
+\cs_new_protected:Npn \driver_draw_fill:
{
\__driver_draw_literal:x
{ f \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_fillstroke:
+\cs_new_protected:Npn \driver_draw_fillstroke:
{
\__driver_draw_literal:x
{ B \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_clip:
+\cs_new_protected:Npn \driver_draw_clip:
{
\__driver_draw_literal:x
{ W \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_discardpath:
+\cs_new_protected:Npn \driver_draw_discardpath:
{ \__driver_draw_literal:n { n } }
-\cs_new_protected:Npn \__driver_draw_dash:nn #1#2
+\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2
{
\__driver_draw_literal:x
{
@@ -270,26 +270,26 @@
}
\cs_new:Npn \__driver_draw_dash:n #1
{ \dim_to_decimal_in_bp:n {#1} ~ }
-\cs_new_protected:Npn \__driver_draw_linewidth:n #1
+\cs_new_protected:Npn \driver_draw_linewidth:n #1
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
-\cs_new_protected:Npn \__driver_draw_miterlimit:n #1
+\cs_new_protected:Npn \driver_draw_miterlimit:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } }
-\cs_new_protected:Npn \__driver_draw_cap_butt:
+\cs_new_protected:Npn \driver_draw_cap_butt:
{ \__driver_draw_literal:n { 0 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_round:
+\cs_new_protected:Npn \driver_draw_cap_round:
{ \__driver_draw_literal:n { 1 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_rectangle:
+\cs_new_protected:Npn \driver_draw_cap_rectangle:
{ \__driver_draw_literal:n { 2 ~ J } }
-\cs_new_protected:Npn \__driver_draw_join_miter:
+\cs_new_protected:Npn \driver_draw_join_miter:
{ \__driver_draw_literal:n { 0 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_round:
+\cs_new_protected:Npn \driver_draw_join_round:
{ \__driver_draw_literal:n { 1 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_bevel:
+\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
{
\use:x
{
@@ -305,7 +305,7 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -314,7 +314,7 @@
k
}
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -323,7 +323,7 @@
K
}
}
-\cs_new_protected:Npn \__driver_draw_color_gray:n #1
+\cs_new_protected:Npn \driver_draw_color_gray:n #1
{
\use:x
{ \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } }
@@ -332,11 +332,11 @@
{
\__driver_draw_literal:n { #1 ~ g ~ #1 ~ G }
}
-\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1
+\cs_new_protected:Npn \driver_draw_fill_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } }
-\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1
+\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
{
\use:x
{
@@ -351,17 +351,17 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -371,13 +371,13 @@
cm
}
}
-\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\hbox_set:Nn \l__driver_tmp_box
{
\tex_kern:D \__dim_eval:n {#6}
\__driver_scope_begin:
- \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
+ \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
{ 0pt } { 0pt }
\box_move_up:nn {#7} { \box_use:N #1 }
\__driver_scope_end:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index 3b47c20fcb5..384008e0540 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -86,7 +86,7 @@
#1 ~
setmatrix
}
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
+\cs_new_protected:Npn \driver_box_use_clip:N #1
{
\__driver_scope_begin:
\__driver_literal:n
@@ -104,7 +104,7 @@
\__driver_scope_end:
\skip_horizontal:n { \box_wd:N #1 }
}
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
+\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
\__driver_literal:n
@@ -117,7 +117,7 @@
\box_use:N #1
\__driver_scope_end:
}
-\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
+\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
\__driver_literal:n
@@ -129,7 +129,7 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
-\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n
+\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n
\cs_new_protected:Npn \__driver_image_include_eps:n #1
{
\tex_special:D { PSfile = #1 }
@@ -137,34 +137,34 @@
\cs_new_protected:Npn \__driver_draw_literal:n #1
{ \tex_special:D { ps:: ~ #1 } }
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \__driver_draw_begin:
+\cs_new_protected:Npn \driver_draw_begin:
{
\tex_special:D { ps::[begin] }
\tex_special:D { ps::~save }
\tex_special:D { ps::~/l3x~currentpoint~/l3y~exch~def~def }
\tex_special:D { ps::~@beginspecial }
}
-\cs_new_protected:Npn \__driver_draw_end:
+\cs_new_protected:Npn \driver_draw_end:
{
\tex_special:D { ps::~@endspecial }
\tex_special:D { ps::~restore }
\tex_special:D { ps::[end] }
}
-\cs_new_protected:Npn \__driver_draw_scope_begin:
+\cs_new_protected:Npn \driver_draw_scope_begin:
{ \__driver_draw_literal:n { save } }
-\cs_new_protected:Npn \__driver_draw_scope_end:
+\cs_new_protected:Npn \driver_draw_scope_end:
{ \__driver_draw_literal:n { restore } }
-\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2
+\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ moveto }
}
-\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2
+\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ lineto }
}
-\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -173,7 +173,7 @@
moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath
}
}
-\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -183,14 +183,14 @@
curveto
}
}
-\cs_new_protected:Npn \__driver_draw_evenodd_rule:
+\cs_new_protected:Npn \driver_draw_evenodd_rule:
{ \bool_gset_true:N \g__driver_draw_eor_bool }
-\cs_new_protected:Npn \__driver_draw_nonzero_rule:
+\cs_new_protected:Npn \driver_draw_nonzero_rule:
{ \bool_gset_false:N \g__driver_draw_eor_bool }
\bool_new:N \g__driver_draw_eor_bool
-\cs_new_protected:Npn \__driver_draw_closepath:
+\cs_new_protected:Npn \driver_draw_closepath:
{ \__driver_draw_literal:n { closepath } }
-\cs_new_protected:Npn \__driver_draw_stroke:
+\cs_new_protected:Npn \driver_draw_stroke:
{
\__driver_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if }
\__driver_draw_literal:n { stroke }
@@ -206,12 +206,12 @@
\__driver_draw_literal:n { newpath }
\bool_gset_false:N \g__driver_draw_clip_bool
}
-\cs_new_protected:Npn \__driver_draw_closestroke:
+\cs_new_protected:Npn \driver_draw_closestroke:
{
- \__driver_draw_closepath:
- \__driver_draw_stroke:
+ \driver_draw_closepath:
+ \driver_draw_stroke:
}
-\cs_new_protected:Npn \__driver_draw_fill:
+\cs_new_protected:Npn \driver_draw_fill:
{
\__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
\__driver_draw_literal:x
@@ -231,7 +231,7 @@
\__driver_draw_literal:n { newpath }
\bool_gset_false:N \g__driver_draw_clip_bool
}
-\cs_new_protected:Npn \__driver_draw_fillstroke:
+\cs_new_protected:Npn \driver_draw_fillstroke:
{
\__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
\__driver_draw_literal:x
@@ -254,10 +254,10 @@
\__driver_draw_literal:n { newpath }
\bool_gset_false:N \g__driver_draw_clip_bool
}
-\cs_new_protected:Npn \__driver_draw_clip:
+\cs_new_protected:Npn \driver_draw_clip:
{ \bool_gset_true:N \g__driver_draw_clip_bool }
\bool_new:N \g__driver_draw_clip_bool
-\cs_new_protected:Npn \__driver_draw_discardpath:
+\cs_new_protected:Npn \driver_draw_discardpath:
{
\bool_if:NT \g__driver_draw_clip_bool
{
@@ -270,7 +270,7 @@
\__driver_draw_literal:n { newpath }
\bool_gset_false:N \g__driver_draw_clip_bool
}
-\cs_new_protected:Npn \__driver_draw_dash:nn #1#2
+\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2
{
\__driver_draw_literal:x
{
@@ -282,31 +282,31 @@
}
\cs_new:Npn \__driver_draw_dash:n #1
{ \dim_to_decimal_in_bp:n {#1} ~ }
-\cs_new_protected:Npn \__driver_draw_linewidth:n #1
+\cs_new_protected:Npn \driver_draw_linewidth:n #1
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ setlinewidth }
}
-\cs_new_protected:Npn \__driver_draw_miterlimit:n #1
+\cs_new_protected:Npn \driver_draw_miterlimit:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ setmiterlimit } }
-\cs_new_protected:Npn \__driver_draw_cap_butt:
+\cs_new_protected:Npn \driver_draw_cap_butt:
{ \__driver_draw_literal:n { 0 ~ setlinecap } }
-\cs_new_protected:Npn \__driver_draw_cap_round:
+\cs_new_protected:Npn \driver_draw_cap_round:
{ \__driver_draw_literal:n { 1 ~ setlinecap } }
-\cs_new_protected:Npn \__driver_draw_cap_rectangle:
+\cs_new_protected:Npn \driver_draw_cap_rectangle:
{ \__driver_draw_literal:n { 2 ~ setlinecap } }
-\cs_new_protected:Npn \__driver_draw_join_miter:
+\cs_new_protected:Npn \driver_draw_join_miter:
{ \__driver_draw_literal:n { 0 ~ setlinejoin } }
-\cs_new_protected:Npn \__driver_draw_join_round:
+\cs_new_protected:Npn \driver_draw_join_round:
{ \__driver_draw_literal:n { 1 ~ setlinejoin } }
-\cs_new_protected:Npn \__driver_draw_join_bevel:
+\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ setlinejoin } }
\cs_new_protected:Npn \__driver_draw_color_reset:
{
\__driver_draw_literal:n { currentdic~/l3fc~known~{ /l3fc~ { } ~def }~if }
\__driver_draw_literal:n { currentdic~/l3sc~known~{ /l3sc~ { } ~def }~if }
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -316,7 +316,7 @@
}
\__driver_draw_color_reset:
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -329,7 +329,7 @@
def
}
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -342,16 +342,16 @@
def
}
}
-\cs_new_protected:Npn \__driver_draw_color_gray:n #1
+\cs_new_protected:Npn \driver_draw_color_gray:n #1
{
\__driver_draw_literal:x { fp_eval:n {#1} ~ setgray }
\__driver_draw_color_reset:
}
-\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1
+\cs_new_protected:Npn \driver_draw_fill_gray:n #1
{ \__driver_draw_literal:x { /l3fc ~ { \fp_eval:n {#1} ~ setgray } ~ def } }
-\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1
+\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
{ \__driver_draw_literal:x { /l3sc ~ { \fp_eval:n {#1} ~ setgray } ~ def } }
-\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{
@@ -360,7 +360,7 @@
}
\__driver_draw_color_reset:
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{
@@ -372,7 +372,7 @@
def
}
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{
@@ -384,7 +384,7 @@
def
}
}
-\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -396,11 +396,11 @@
concat
}
}
-\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\__driver_scope_begin:
\tex_special:D { ps::[end] }
- \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
+ \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
\tex_special:D { ps::~72~Resolution~div~72~VResolution~div~neg~scale }
\tex_special:D { ps::~magscale~{1~DVImag~div~dup~scale}~if }
\tex_special:D { ps::~l3x~neg~l3y~neg~translate }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
index 24b83d7a834..89dfe25c2ab 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
@@ -71,7 +71,7 @@
{ \__driver_literal:n { </g> } }
\cs_new_protected:Npn \__driver_scope_begin:n #1
{ \__driver_literal:n { <g~ #1 > } }
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
+\cs_new_protected:Npn \driver_box_use_clip:N #1
{
\int_gincr:N \g__driver_clip_path_int
\__driver_literal:n
@@ -122,7 +122,7 @@
\__driver_scope_end:
}
\int_new:N \g__driver_clip_path_int
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
+\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:n
{
@@ -135,7 +135,7 @@
\box_use:N #1
\__driver_scope_end:
}
-\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
+\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:n
{
@@ -154,15 +154,15 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
-\cs_new_eq:NN \__driver_image_getbb_png:n \__image_extract_bb:n
-\cs_new_eq:NN \__driver_image_getbb_jpg:n \__image_extract_bb:n
+\cs_new_eq:NN \__driver_image_getbb_png:n \image_extract_bb:n
+\cs_new_eq:NN \__driver_image_getbb_jpg:n \image_extract_bb:n
\cs_new_protected:Npn \__driver_image_include_png:n #1
{
\tex_special:D
{
dvisvgm:img~
- \dim_to_decimal:n { \l__image_ury_dim } ~
- \dim_to_decimal:n { \l__image_ury_dim } ~
+ \dim_to_decimal:n { \l_image_ury_dim } ~
+ \dim_to_decimal:n { \l_image_ury_dim } ~
\__driver_image_include_bitmap_quote:w #1 " " \q_stop
}
}
@@ -170,14 +170,14 @@
\cs_new:Npn \__driver_image_include_bitmap_quote:w #1 " #2 " #3 \q_stop { #1#2 }
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \__driver_draw_begin:
+\cs_new_protected:Npn \driver_draw_begin:
{
- \__driver_draw_scope_begin:
+ \driver_draw_scope_begin:
\__driver_draw_scope:n { transform="translate({?x},{?y})~scale(1,-1)" }
}
-\cs_new_protected:Npn \__driver_draw_end:
- { \__driver_draw_scope_end: }
-\cs_new_protected:Npn \__driver_draw_scope_begin:
+\cs_new_protected:Npn \driver_draw_end:
+ { \driver_draw_scope_end: }
+\cs_new_protected:Npn \driver_draw_scope_begin:
{
\int_set_eq:NN
\l__driver_draw_scope_int
@@ -185,7 +185,7 @@
\group_begin:
\int_gzero:N \g__driver_draw_scope_int
}
-\cs_new_protected:Npn \__driver_draw_scope_end:
+\cs_new_protected:Npn \driver_draw_scope_end:
{
\prg_replicate:nn
{ \g__driver_draw_scope_int }
@@ -203,17 +203,17 @@
\cs_generate_variant:Nn \__driver_draw_scope:n { x }
\int_new:N \g__driver_draw_scope_int
\int_new:N \l__driver_draw_scope_int
-\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2
+\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
{
\__driver_draw_add_to_path:n
{ M ~ \dim_to_decimal:n {#1} ~ \dim_to_decimal:n {#2} }
}
-\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2
+\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
{
\__driver_draw_add_to_path:n
{ L ~ \dim_to_decimal:n {#1} ~ \dim_to_decimal:n {#2} }
}
-\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
{
\__driver_draw_add_to_path:n
{
@@ -224,7 +224,7 @@
Z
}
}
-\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_add_to_path:n
{
@@ -244,11 +244,11 @@
}
}
\tl_new:N \g__driver_draw_path_tl
-\cs_new_protected:Npn \__driver_draw_evenodd_rule:
+\cs_new_protected:Npn \driver_draw_evenodd_rule:
{ \__driver_draw_scope:n { fill-rule="evenodd" } }
-\cs_new_protected:Npn \__driver_draw_nonzero_rule:
+\cs_new_protected:Npn \driver_draw_nonzero_rule:
{ \__driver_draw_scope:n { fill-rule="nonzero" } }
-\cs_new_protected:Npn \__driver_draw_closepath:
+\cs_new_protected:Npn \driver_draw_closepath:
{ \__driver_draw_add_to_path:n { Z } }
\cs_new_protected:Npn \__driver_draw_path:n #1
{
@@ -281,21 +281,21 @@
\bool_gset_false:N \g__driver_draw_clip_bool
}
\int_new:N \g__driver_path_int
-\cs_new_protected:Npn \__driver_draw_stroke:
+\cs_new_protected:Npn \driver_draw_stroke:
{ \__driver_draw_path:n { style="fill:none" } }
-\cs_new_protected:Npn \__driver_draw_closestroke:
+\cs_new_protected:Npn \driver_draw_closestroke:
{
- \__driver_draw_closepath:
- \__driver_draw_stroke:
+ \driver_draw_closepath:
+ \driver_draw_stroke:
}
-\cs_new_protected:Npn \__driver_draw_fill:
+\cs_new_protected:Npn \driver_draw_fill:
{ \__driver_draw_path:n { style="stroke:none" } }
-\cs_new_protected:Npn \__driver_draw_fillstroke:
+\cs_new_protected:Npn \driver_draw_fillstroke:
{ \__driver_draw_path:n { } }
-\cs_new_protected:Npn \__driver_draw_clip:
+\cs_new_protected:Npn \driver_draw_clip:
{ \bool_gset_true:N \g__driver_draw_clip_bool }
\bool_new:N \g__driver_draw_clip_bool
-\cs_new_protected:Npn \__driver_draw_discardpath:
+\cs_new_protected:Npn \driver_draw_discardpath:
{
\bool_if:NT \g__driver_draw_clip_bool
{
@@ -316,7 +316,7 @@
\tl_gclear:N \g__driver_draw_path_tl
\bool_gset_false:N \g__driver_draw_clip_bool
}
-\cs_new_protected:Npn \__driver_draw_dash:nn #1#2
+\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2
{
\use:x
{
@@ -340,21 +340,21 @@
stroke-offset=" #2 "
}
}
-\cs_new_protected:Npn \__driver_draw_linewidth:n #1
+\cs_new_protected:Npn \driver_draw_linewidth:n #1
{ \__driver_draw_scope:x { stroke-width=" \dim_to_decimal:n {#1} " } }
-\cs_new_protected:Npn \__driver_draw_miterlimit:n #1
+\cs_new_protected:Npn \driver_draw_miterlimit:n #1
{ \__driver_draw_scope:x { stroke-miterlimit=" \fp_eval:n {#1} " } }
-\cs_new_protected:Npn \__driver_draw_cap_butt:
+\cs_new_protected:Npn \driver_draw_cap_butt:
{ \__driver_draw_scope:n { stroke-linecap="butt" } }
-\cs_new_protected:Npn \__driver_draw_cap_round:
+\cs_new_protected:Npn \driver_draw_cap_round:
{ \__driver_draw_scope:n { stroke-linecap="round" } }
-\cs_new_protected:Npn \__driver_draw_cap_rectangle:
+\cs_new_protected:Npn \driver_draw_cap_rectangle:
{ \__driver_draw_scope:n { stroke-linecap="square" } }
-\cs_new_protected:Npn \__driver_draw_join_miter:
+\cs_new_protected:Npn \driver_draw_join_miter:
{ \__driver_draw_scope:n { stroke-linejoin="miter" } }
-\cs_new_protected:Npn \__driver_draw_join_round:
+\cs_new_protected:Npn \driver_draw_join_round:
{ \__driver_draw_scope:n { stroke-linejoin="round" } }
-\cs_new_protected:Npn \__driver_draw_join_bevel:
+\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_scope:n { stroke-linejoin="bevel" } }
\cs_new_protected:Npn \__driver_draw_color_cmyk_aux:NNnnnnn #1#2#3#4#5#6
{
@@ -367,11 +367,11 @@
}
#1 #2
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn
+\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn
{ \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn
+\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn
{ \__driver_draw_color_cmyk_aux:NNnnnnn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn
+\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn
{ \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_false_bool }
\cs_new_protected:Npn \__driver_draw_color_gray_aux:NNn #1#2#3
{
@@ -385,11 +385,11 @@
\cs_new_protected:Npn \__driver_draw_color_gray_aux:nNN #1
{ \__driver_draw_color_rgb_auxii:nnnNN {#1} {#1} {#1} }
\cs_generate_variant:Nn \__driver_draw_color_gray_aux:nNN { x }
-\cs_new_protected:Npn \__driver_draw_color_gray:n
+\cs_new_protected:Npn \driver_draw_color_gray:n
{ \__driver_draw_color_gray_aux:NNn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_gray_fill:n
+\cs_new_protected:Npn \driver_draw_fill_gray:n
{ \__driver_draw_color_gray_aux:NNn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n
+\cs_new_protected:Npn \driver_draw_stroke_gray:n
{ \__driver_draw_color_gray_aux:NNn \c_true_bool \c_false_bool }
\cs_new_protected:Npn \__driver_draw_color_rgb_auxi:NNnnn #1#2#3#4#5
{
@@ -433,13 +433,13 @@
}
}
}
-\cs_new_protected:Npn \__driver_draw_color_rgb:nnn
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn
{ \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn
+\cs_new_protected:Npn \driver_draw_fill_rgb:nnn
{ \__driver_draw_color_rgb_auxi:NNnnn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn
+\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn
{ \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_false_bool }
-\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_scope:x
{
@@ -454,10 +454,10 @@
"
}
}
-\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\__driver_scope_begin:
- \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
+ \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
\__driver_literal:n
{
< g~
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index d218e1f3741..6441a44a021 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -117,7 +117,7 @@
{ \pdftex_pdfsetmatrix:D }
{#1}
}
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
+\cs_new_protected:Npn \driver_box_use_clip:N #1
{
\__driver_scope_begin:
\__driver_literal:n
@@ -132,7 +132,7 @@
\__driver_scope_end:
\skip_horizontal:n { \box_wd:N #1 }
}
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
+\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
\box_set_wd:Nn #1 { 0pt }
@@ -158,7 +158,7 @@
}
\fp_new:N \l__driver_cos_fp
\fp_new:N \l__driver_sin_fp
-\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
+\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
\__driver_matrix:n
@@ -173,13 +173,13 @@
\tl_new:N \l__driver_image_attr_tl
\cs_new_protected:Npn \__driver_image_getbb_jpg:n #1
{
- \int_zero:N \l__image_page_int
- \tl_clear:N \l__image_pagebox_tl
+ \int_zero:N \l_image_page_int
+ \tl_clear:N \l_image_pagebox_tl
\tl_set:Nx \l__driver_image_attr_tl
{
- \tl_if_empty:NF \l__image_decode_tl
- { :D \l__image_decode_tl }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_decode_tl
+ { :D \l_image_decodearray_tl }
+ \bool_if:NT \l_image_interpolate_bool
{ :I }
}
\tl_clear:N \l__driver_image_attr_tl
@@ -188,88 +188,77 @@
\cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n
\cs_new_protected:Npn \__driver_image_getbb_pdf:n #1
{
- \tl_clear:N \l__image_decode_tl
- \bool_set_false:N \l__image_interpolate_bool
+ \tl_clear:N \l_image_decode_tl
+ \bool_set_false:N \l_image_interpolate_bool
\tl_set:Nx \l__driver_image_attr_tl
{
- : \l__image_pagebox_tl
- \int_compare:nNnT \l__image_page_int > 1
- { :P \int_use:N \l__image_page_int }
+ : \l_image_pagebox_tl
+ \int_compare:nNnT \l_image_page_int > 1
+ { :P \int_use:N \l_image_page_int }
}
\__driver_image_getbb_auxi:n {#1}
}
\cs_new_protected:Npn \__driver_image_getbb_auxi:n #1
{
- \dim_zero:N \l__image_llx_dim
- \dim_zero:N \l__image_lly_dim
- \dim_if_exist:cTF { c__image_ #1 \l__driver_image_attr_tl _urx_dim }
- {
- \dim_set_eq:Nc \l__image_urx_dim
- { c__image_ #1 \l__driver_image_attr_tl _urx_dim }
- \dim_set_eq:Nc \l__image_ury_dim
- { c__image_ #1 \l__driver_image_attr_tl _ury_dim }
- }
+ \image_bb_restore:xF { #1 \l__driver_image_attr_tl }
{ \__driver_image_getbb_auxii:n {#1} }
}
\cs_new_protected:Npn \__driver_image_getbb_auxii:n #1
{
\tex_immediate:D \pdftex_pdfximage:D
\bool_lazy_or:nnT
- { \l__image_interpolate_bool }
- { ! \tl_if_empty_p:N \l__image_decode_tl }
+ { \l_image_interpolate_bool }
+ { ! \tl_if_empty_p:N \l_image_decodearray_tl }
{
attr ~
{
- \tl_if_empty:NF \l__image_decode_tl
- { /Decode~[ \l__image_decode_tl ] }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_decode_tl
+ { /Decode~[ \l_image_decodearray_tl ] }
+ \bool_if:NT \l_image_interpolate_bool
{ /Interpolate~true }
}
}
- \int_compare:nNnT \l__image_page_int > 0
- { page ~ \int_use:N \l__image_page_int }
- \tl_if_empty:NF \l__image_pagebox_tl
- { \l__image_pagebox_tl }
+ \int_compare:nNnT \l_image_page_int > 0
+ { page ~ \int_use:N \l_image_page_int }
+ \tl_if_empty:NF \l_image_pagebox_tl
+ { \l_image_pagebox_tl }
{#1}
- \hbox_set:Nn \l__image_tmp_box
+ \hbox_set:Nn \l__driver_tmp_box
{ \pdftex_pdfrefximage:D \pdftex_pdflastximage:D }
- \dim_set:Nn \l__image_urx_dim { \box_wd:N \l__image_tmp_box }
- \dim_set:Nn \l__image_ury_dim { \box_ht:N \l__image_tmp_box }
- \int_const:cn { c__image_ #1 \l__driver_image_attr_tl _int }
+ \dim_set:Nn \l_image_urx_dim { \box_wd:N \l__driver_tmp_box }
+ \dim_set:Nn \l_image_ury_dim { \box_ht:N \l__driver_tmp_box }
+ \int_const:cn { c__driver_image_ #1 \l__driver_image_attr_tl _int }
{ \tex_the:D \pdftex_pdflastximage:D }
- \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _urx_dim }
- { \l__image_urx_dim }
- \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _ury_dim }
- { \l__image_ury_dim }
+ \image_bb_save:x { #1 \l__driver_image_attr_tl }
}
\cs_new_protected:Npn \__driver_image_include_jpg:n #1
{
\pdftex_pdfrefximage:D
- \int_use:c { c__image_ #1 \l__driver_image_attr_tl _int }
+ \int_use:c { c__driver_image_ #1 \l__driver_image_attr_tl _int }
}
\cs_new_eq:NN \__driver_image_include_pdf:n \__driver_image_include_jpg:n
\cs_new_eq:NN \__driver_image_include_png:n \__driver_image_include_jpg:n
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \__driver_draw_begin:
- { \__driver_draw_scope_begin: }
-\cs_new_protected:Npn \__driver_draw_end:
- { \__driver_draw_scope_end: }
-\cs_new_protected:Npn \__driver_draw_scope_begin:
+\cs_new_protected:Npn \driver_draw_begin:
+ { \driver_draw_scope_begin: }
+\cs_new_protected:Npn \driver_draw_end:
+ { \driver_draw_scope_end: }
+\cs_new_protected:Npn \driver_draw_scope_begin:
{ \__driver_draw_literal:n { q } }
-\cs_new_protected:Npn \__driver_draw_scope_end:
+\cs_new_protected:Npn \driver_draw_scope_end:
{ \__driver_draw_literal:n { Q } }
-\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2
+\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m }
}
-\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2
+\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l }
}
-\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -279,7 +268,7 @@
c
}
}
-\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -288,35 +277,35 @@
re
}
}
-\cs_new_protected:Npn \__driver_draw_evenodd_rule:
+\cs_new_protected:Npn \driver_draw_evenodd_rule:
{ \bool_gset_true:N \g__driver_draw_eor_bool }
-\cs_new_protected:Npn \__driver_draw_nonzero_rule:
+\cs_new_protected:Npn \driver_draw_nonzero_rule:
{ \bool_gset_false:N \g__driver_draw_eor_bool }
\bool_new:N \g__driver_draw_eor_bool
-\cs_new_protected:Npn \__driver_draw_closepath:
+\cs_new_protected:Npn \driver_draw_closepath:
{ \__driver_draw_literal:n { h } }
-\cs_new_protected:Npn \__driver_draw_stroke:
+\cs_new_protected:Npn \driver_draw_stroke:
{ \__driver_draw_literal:n { S } }
-\cs_new_protected:Npn \__driver_draw_closestroke:
+\cs_new_protected:Npn \driver_draw_closestroke:
{ \__driver_draw_literal:n { s } }
-\cs_new_protected:Npn \__driver_draw_fill:
+\cs_new_protected:Npn \driver_draw_fill:
{
\__driver_draw_literal:x
{ f \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_fillstroke:
+\cs_new_protected:Npn \driver_draw_fillstroke:
{
\__driver_draw_literal:x
{ B \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_clip:
+\cs_new_protected:Npn \driver_draw_clip:
{
\__driver_draw_literal:x
{ W \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_discardpath:
+\cs_new_protected:Npn \driver_draw_discardpath:
{ \__driver_draw_literal:n { n } }
-\cs_new_protected:Npn \__driver_draw_dash:nn #1#2
+\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2
{
\__driver_draw_literal:x
{
@@ -328,26 +317,26 @@
}
\cs_new:Npn \__driver_draw_dash:n #1
{ \dim_to_decimal_in_bp:n {#1} ~ }
-\cs_new_protected:Npn \__driver_draw_linewidth:n #1
+\cs_new_protected:Npn \driver_draw_linewidth:n #1
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
-\cs_new_protected:Npn \__driver_draw_miterlimit:n #1
+\cs_new_protected:Npn \driver_draw_miterlimit:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } }
-\cs_new_protected:Npn \__driver_draw_cap_butt:
+\cs_new_protected:Npn \driver_draw_cap_butt:
{ \__driver_draw_literal:n { 0 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_round:
+\cs_new_protected:Npn \driver_draw_cap_round:
{ \__driver_draw_literal:n { 1 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_rectangle:
+\cs_new_protected:Npn \driver_draw_cap_rectangle:
{ \__driver_draw_literal:n { 2 ~ J } }
-\cs_new_protected:Npn \__driver_draw_join_miter:
+\cs_new_protected:Npn \driver_draw_join_miter:
{ \__driver_draw_literal:n { 0 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_round:
+\cs_new_protected:Npn \driver_draw_join_round:
{ \__driver_draw_literal:n { 1 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_bevel:
+\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
{
\use:x
{
@@ -363,7 +352,7 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -372,7 +361,7 @@
k
}
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -381,7 +370,7 @@
K
}
}
-\cs_new_protected:Npn \__driver_draw_color_gray:n #1
+\cs_new_protected:Npn \driver_draw_color_gray:n #1
{
\use:x
{ \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } }
@@ -390,11 +379,11 @@
{
\__driver_draw_literal:n { #1 ~ g ~ #1 ~ G }
}
-\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1
+\cs_new_protected:Npn \driver_draw_fill_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } }
-\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1
+\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
{
\use:x
{
@@ -409,17 +398,17 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -429,13 +418,13 @@
cm
}
}
-\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\hbox_set:Nn \l__driver_tmp_box
{
\tex_kern:D \__dim_eval:n {#6}
\__driver_scope_begin:
- \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
+ \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
{ 0pt } { 0pt }
\box_move_up:nn {#7} { \box_use:N #1 }
\__driver_scope_end:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index 80962a52608..0b0b7a183bb 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -69,7 +69,7 @@
{ \tex_special:D { x:gsave } }
\cs_new_protected:Npn \__driver_scope_end:
{ \tex_special:D { x:grestore } }
-\cs_new_protected:Npn \__driver_box_use_clip:N #1
+\cs_new_protected:Npn \driver_box_use_clip:N #1
{
\__driver_scope_begin:
\__driver_literal:n
@@ -84,7 +84,7 @@
\__driver_scope_end:
\skip_horizontal:n { \box_wd:N #1 }
}
-\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
+\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
\tex_special:D
@@ -97,7 +97,7 @@
\box_use:N #1
\__driver_scope_end:
}
-\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
+\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
\tex_special:D
@@ -109,7 +109,7 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
-\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n
+\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n
\int_new:N \g__driver_image_int
\cs_new_protected:Npn \__driver_image_include_eps:n #1
{
@@ -122,23 +122,23 @@
{
\__driver_image_include_auxii:xnn
{
- \tl_if_empty:NF \l__image_pagebox_tl
- { : \l__image_pagebox_tl }
- \int_compare:nNnT \l__image_page_int > 1
- { :P \int_use:N \l__image_page_int }
- \tl_if_empty:NF \l__image_decode_tl
- { :D \l__image_decode_tl }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_pagebox_tl
+ { : \l_image_pagebox_tl }
+ \int_compare:nNnT \l_image_page_int > 1
+ { :P \int_use:N \l_image_page_int }
+ \tl_if_empty:NF \l_image_decode_tl
+ { :D \l_image_decodearray_tl }
+ \bool_if:NT \l_image_interpolate_bool
{ :I }
}
{#1} {#2}
}
\cs_new_protected:Npn \__driver_image_include_auxii:nnn #1#2#3
{
- \int_if_exist:cTF { c__image_ #2#1 _int }
+ \int_if_exist:cTF { c__driver_image_ #2#1 _int }
{
\tex_special:D
- { pdf:usexobj~@image \int_use:c { c__image_ #2#1 _int } }
+ { pdf:usexobj~@image \int_use:c { c__driver_image_ #2#1 _int } }
}
{ \__driver_image_include_auxiii:nn {#2} {#1} {#3} }
}
@@ -146,31 +146,31 @@
\cs_new_protected:Npn \__driver_image_include_auxiii:nnn #1#2#3
{
\int_gincr:N \g__driver_image_int
- \int_const:cn { c__image_ #1#2 _int } { \g__driver_image_int }
+ \int_const:cn { c__driver_image_ #1#2 _int } { \g__driver_image_int }
\tex_special:D
{
pdf:#3~
- @image \int_use:c { c__image_ #1#2 _int }
- \int_compare:nNnT \l__image_page_int > 1
- { page ~ \int_use:N \l__image_page_int \c_space_tl }
- \tl_if_empty:NF \l__image_pagebox_tl
+ @image \int_use:c { c__driver_image_ #1#2 _int }
+ \int_compare:nNnT \l_image_page_int > 1
+ { page ~ \int_use:N \l_image_page_int \c_space_tl }
+ \tl_if_empty:NF \l_image_pagebox_tl
{
- pagebox ~ \l__image_pagebox_tl \c_space_tl
+ pagebox ~ \l_image_pagebox_tl \c_space_tl
bbox ~
- \dim_to_decimal_in_bp:n \l__image_llx_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_lly_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_urx_dim \c_space_tl
- \dim_to_decimal_in_bp:n \l__image_ury_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_llx_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_lly_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_urx_dim \c_space_tl
+ \dim_to_decimal_in_bp:n \l_image_ury_dim \c_space_tl
}
(#1)
\bool_lazy_or:nnT
- { \l__image_interpolate_bool }
- { ! \tl_if_empty_p:N \l__image_decode_tl }
+ { \l_image_interpolate_bool }
+ { ! \tl_if_empty_p:N \l_image_decodearray_tl }
{
<<
- \tl_if_empty:NF \l__image_decode_tl
- { /Decode~[ \l__image_decode_tl ] }
- \bool_if:NT \l__image_interpolate_bool
+ \tl_if_empty:NF \l_image_decode_tl
+ { /Decode~[ \l_image_decodearray_tl ] }
+ \bool_if:NT \l_image_interpolate_bool
{ /Interpolate~true> }
>>
}
@@ -178,21 +178,21 @@
}
\cs_new_protected:Npn \__driver_image_getbb_jpg:n #1
{
- \int_zero:N \l__image_page_int
- \tl_clear:N \l__image_pagebox_tl
+ \int_zero:N \l_image_page_int
+ \tl_clear:N \l_image_pagebox_tl
\__driver_image_getbb_auxi:nN {#1} \xetex_picfile:D
}
\cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n
\cs_new_protected:Npn \__driver_image_getbb_pdf:n #1
{
- \tl_clear:N \l__image_decode_tl
- \bool_set_false:N \l__image_interpolate_bool
+ \tl_clear:N \l_image_decode_tl
+ \bool_set_false:N \l_image_interpolate_bool
\__driver_image_getbb_auxi:nN {#1} \xetex_pdffile:D
}
\cs_new_protected:Npn \__driver_image_getbb_auxi:nN #1#2
{
- \int_compare:nNnTF \l__image_page_int > 1
- { \__driver_image_getbb_auxii:VnN \l__image_page_int {#1} #2 }
+ \int_compare:nNnTF \l_image_page_int > 1
+ { \__driver_image_getbb_auxii:VnN \l_image_page_int {#1} #2 }
{ \__driver_image_getbb_auxiii:nNnn {#1} #2 }
}
\cs_new_protected:Npn \__driver_image_getbb_auxii:nnN #1#2#3
@@ -200,8 +200,8 @@
\cs_generate_variant:Nn \__driver_image_getbb_auxii:nnN { V }
\cs_new_protected:Npn \__driver_image_getbb_auxiii:nNnn #1#2#3#4
{
- \tl_if_empty:NTF \l__image_pagebox_tl
- { \__driver_image_getbb_auxiv:VnNnn \l__image_pagebox_tl }
+ \tl_if_empty:NTF \l_image_pagebox_tl
+ { \__driver_image_getbb_auxiv:VnNnn \l_image_pagebox_tl }
{ \__driver_image_getbb_auxv:nNnn }
{#1} #2 {#3} {#4}
}
@@ -216,54 +216,45 @@
\cs_generate_variant:Nn \__driver_image_getbb_auxiv:nnNnn { V }
\cs_new_protected:Npn \__driver_image_getbb_auxv:nNnn #1#2#3#4
{
- \dim_zero:N \l__image_llx_dim
- \dim_zero:N \l__image_lly_dim
- \dim_if_exist:cTF { c__image_ #1#3 _urx_dim }
- {
- \dim_set_eq:Nc \l__image_urx_dim { c__image_ #1#3 _urx_dim }
- \dim_set_eq:Nc \l__image_ury_dim { c__image_ #1#3 _ury_dim }
- }
+ \image_bb_restore:nF {#1#3}
{ \__driver_image_getbb_auxvi:nNnn {#1} #2 {#3} {#4} }
}
\cs_new_protected:Npn \__driver_image_getbb_auxvi:nNnn #1#2#3#4
{
- \hbox_set:Nn \l__image_tmp_box { #2 #1 ~ #4 }
- \dim_set:Nn \l__image_utx_dim { \box_wd:N \l__image_tmp_box }
- \dim_set:Nn \l__image_ury_dim { \box_ht:N \l__image_tmp_box }
- \dim_const:cn { c__image_ #1#3 _urx_dim }
- { \l__image_urx_dim }
- \dim_const:cn { c__image_ #1#3 _ury_dim }
- { \l__image_ury_dim }
+ \hbox_set:Nn \l__driver_tmp_box { #2 #1 ~ #4 }
+ \dim_set:Nn \l_image_utx_dim { \box_wd:N \l__driver_tmp_box }
+ \dim_set:Nn \l_image_ury_dim { \box_ht:N \l__driver_tmp_box }
+ \image_bb_save:n {#1#3}
}
\cs_new:Npn \__driver_image_getbb_pagebox:w #1 box {#1}
\cs_new_protected:Npn \__driver_image_include_pdf:n #1
{
\xetex_pdffile:D "#1" ~
- \int_compare:nNnT \l__image_page_int > 0
- { page~ \int_use:N \l__image_page_int }
- \__driver_image_getbb_auxiv:VnNnn \l__image_pagebox_tl
+ \int_compare:nNnT \l_image_page_int > 0
+ { page~ \int_use:N \l_image_page_int }
+ \__driver_image_getbb_auxiv:VnNnn \l_image_pagebox_tl
}
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
-\cs_new_protected:Npn \__driver_draw_begin:
- { \__driver_draw_scope_begin: }
-\cs_new_protected:Npn \__driver_draw_end:
- { \__driver_draw_scope_end: }
-\cs_new_protected:Npn \__driver_draw_scope_begin:
+\cs_new_protected:Npn \driver_draw_begin:
+ { \driver_draw_scope_begin: }
+\cs_new_protected:Npn \driver_draw_end:
+ { \driver_draw_scope_end: }
+\cs_new_protected:Npn \driver_draw_scope_begin:
{ \__driver_draw_literal:n { q } }
-\cs_new_protected:Npn \__driver_draw_scope_end:
+\cs_new_protected:Npn \driver_draw_scope_end:
{ \__driver_draw_literal:n { Q } }
-\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2
+\cs_new_protected:Npn \driver_draw_moveto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m }
}
-\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2
+\cs_new_protected:Npn \driver_draw_lineto:nn #1#2
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l }
}
-\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -273,7 +264,7 @@
c
}
}
-\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -282,35 +273,35 @@
re
}
}
-\cs_new_protected:Npn \__driver_draw_evenodd_rule:
+\cs_new_protected:Npn \driver_draw_evenodd_rule:
{ \bool_gset_true:N \g__driver_draw_eor_bool }
-\cs_new_protected:Npn \__driver_draw_nonzero_rule:
+\cs_new_protected:Npn \driver_draw_nonzero_rule:
{ \bool_gset_false:N \g__driver_draw_eor_bool }
\bool_new:N \g__driver_draw_eor_bool
-\cs_new_protected:Npn \__driver_draw_closepath:
+\cs_new_protected:Npn \driver_draw_closepath:
{ \__driver_draw_literal:n { h } }
-\cs_new_protected:Npn \__driver_draw_stroke:
+\cs_new_protected:Npn \driver_draw_stroke:
{ \__driver_draw_literal:n { S } }
-\cs_new_protected:Npn \__driver_draw_closestroke:
+\cs_new_protected:Npn \driver_draw_closestroke:
{ \__driver_draw_literal:n { s } }
-\cs_new_protected:Npn \__driver_draw_fill:
+\cs_new_protected:Npn \driver_draw_fill:
{
\__driver_draw_literal:x
{ f \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_fillstroke:
+\cs_new_protected:Npn \driver_draw_fillstroke:
{
\__driver_draw_literal:x
{ B \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_clip:
+\cs_new_protected:Npn \driver_draw_clip:
{
\__driver_draw_literal:x
{ W \bool_if:NT \g__driver_draw_eor_bool * }
}
-\cs_new_protected:Npn \__driver_draw_discardpath:
+\cs_new_protected:Npn \driver_draw_discardpath:
{ \__driver_draw_literal:n { n } }
-\cs_new_protected:Npn \__driver_draw_dash:nn #1#2
+\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2
{
\__driver_draw_literal:x
{
@@ -322,26 +313,26 @@
}
\cs_new:Npn \__driver_draw_dash:n #1
{ \dim_to_decimal_in_bp:n {#1} ~ }
-\cs_new_protected:Npn \__driver_draw_linewidth:n #1
+\cs_new_protected:Npn \driver_draw_linewidth:n #1
{
\__driver_draw_literal:x
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
-\cs_new_protected:Npn \__driver_draw_miterlimit:n #1
+\cs_new_protected:Npn \driver_draw_miterlimit:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } }
-\cs_new_protected:Npn \__driver_draw_cap_butt:
+\cs_new_protected:Npn \driver_draw_cap_butt:
{ \__driver_draw_literal:n { 0 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_round:
+\cs_new_protected:Npn \driver_draw_cap_round:
{ \__driver_draw_literal:n { 1 ~ J } }
-\cs_new_protected:Npn \__driver_draw_cap_rectangle:
+\cs_new_protected:Npn \driver_draw_cap_rectangle:
{ \__driver_draw_literal:n { 2 ~ J } }
-\cs_new_protected:Npn \__driver_draw_join_miter:
+\cs_new_protected:Npn \driver_draw_join_miter:
{ \__driver_draw_literal:n { 0 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_round:
+\cs_new_protected:Npn \driver_draw_join_round:
{ \__driver_draw_literal:n { 1 ~ j } }
-\cs_new_protected:Npn \__driver_draw_join_bevel:
+\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
{
\use:x
{
@@ -357,7 +348,7 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -366,7 +357,7 @@
k
}
}
-\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
{
\__driver_draw_literal:x
{
@@ -375,7 +366,7 @@
K
}
}
-\cs_new_protected:Npn \__driver_draw_color_gray:n #1
+\cs_new_protected:Npn \driver_draw_color_gray:n #1
{
\use:x
{ \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } }
@@ -384,11 +375,11 @@
{
\__driver_draw_literal:n { #1 ~ g ~ #1 ~ G }
}
-\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1
+\cs_new_protected:Npn \driver_draw_fill_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } }
-\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1
+\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
{ \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
{
\use:x
{
@@ -403,17 +394,17 @@
\__driver_draw_literal:n
{ #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3
+\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
{
\__driver_draw_literal:x
{ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
}
-\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
{
\__driver_draw_literal:x
{
@@ -423,13 +414,13 @@
cm
}
}
-\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\hbox_set:Nn \l__driver_tmp_box
{
\tex_kern:D \__dim_eval:n {#6}
\__driver_scope_begin:
- \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
+ \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
{ 0pt } { 0pt }
\box_move_up:nn {#7} { \box_use:N #1 }
\__driver_scope_end: