diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx index b042bd04e50..da7dc7516e8 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-03-30} +% \date{Released 2023-04-19} % % \maketitle % @@ -68,7 +68,7 @@ \cs_if_exist:NTF \hook_gput_code:nnn { \hook_gput_code:nnn - { file / l3graphics.sty / after } + { package / l3graphics / after } { backend } {#1} } @@ -148,7 +148,7 @@ % \end{macrocode} % \end{variable} % -% \begin{variable}{\l_@@_graphics_attr_tl} +% \begin{variable}{\l_@@_attr_tl} % In PDF mode, additional attributes of an graphic (such as page number) are % needed both to obtain the bounding box and when inserting the graphic: this % occurs as the graphic dictionary approach means they are read as part of @@ -156,7 +156,7 @@ % attributes using a dedicated |tl| rather than build up the same data % twice. % \begin{macrocode} -\tl_new:N \l_@@_graphics_attr_tl +\tl_new:N \l_@@_attr_tl % \end{macrocode} % \end{variable} % @@ -185,14 +185,15 @@ { \int_zero:N \l_@@_page_int \tl_clear:N \l_@@_pagebox_tl - \tl_set:Nx \l_@@_graphics_attr_tl + \tl_set:Nx \l_@@_attr_tl { \tl_if_empty:NF \l_@@_decodearray_str { :D \l_@@_decodearray_str } \bool_if:NT \l_@@_interpolate_bool { :I } + \str_if_empty:NF \l_@@_pdf_str + { :X \l_@@_pdf_str } } - \tl_clear:N \l_@@_graphics_attr_tl \@@_backend_getbb_auxi:n {#1} } \cs_new_eq:NN \@@_backend_getbb_jpeg:n \@@_backend_getbb_jpg:n @@ -201,17 +202,19 @@ { \tl_clear:N \l_@@_decodearray_str \bool_set_false:N \l_@@_interpolate_bool - \tl_set:Nx \l_@@_graphics_attr_tl + \tl_set:Nx \l_@@_attr_tl { : \l_@@_pagebox_tl \int_compare:nNnT \l_@@_page_int > 1 { :P \int_use:N \l_@@_page_int } + \str_if_empty:NF \l_@@_pdf_str + { :X \l_@@_pdf_str } } \@@_backend_getbb_auxi:n {#1} } \cs_new_protected:Npn \@@_backend_getbb_auxi:n #1 { - \@@_bb_restore:xF { #1 \l_@@_graphics_attr_tl } + \@@_bb_restore:xF { #1 \l_@@_attr_tl } { \@@_backend_getbb_auxii:n {#1} } } % \end{macrocode} @@ -225,16 +228,19 @@ { \exp_args:Ne \@@_backend_getbb_auxiii:n { \@@_backend_dequote:w #1 " #1 " \s_@@_stop } - \int_const:cn { c_@@_ #1 \l_@@_graphics_attr_tl _int } + \int_const:cn { c_@@_ #1 \l_@@_attr_tl _int } { \tex_the:D \tex_pdflastximage:D } - \@@_bb_save:x { #1 \l_@@_graphics_attr_tl } + \@@_bb_save:x { #1 \l_@@_attr_tl } } \cs_new_protected:Npn \@@_backend_getbb_auxiii:n #1 { \tex_immediate:D \tex_pdfximage:D - \bool_lazy_or:nnT - { \l_@@_interpolate_bool } - { ! \tl_if_empty_p:N \l_@@_decodearray_str } + \bool_lazy_any:nT + { + { \l_@@_interpolate_bool } + { ! \tl_if_empty_p:N \l_@@_decodearray_str } + { ! \str_if_empty_p:N \l_@@_pdf_str } + } { attr ~ { @@ -242,6 +248,7 @@ { /Decode~[ \l_@@_decodearray_str ] } \bool_if:NT \l_@@_interpolate_bool { /Interpolate~true } + \l_@@_pdf_str } } \int_compare:nNnT \l_@@_page_int > 0 @@ -274,7 +281,7 @@ \cs_new_protected:Npn \@@_backend_include_jpg:n #1 { \tex_pdfrefximage:D - \int_use:c { c_@@_ #1 \l_@@_graphics_attr_tl _int } + \int_use:c { c_@@_ #1 \l_@@_attr_tl _int } } \cs_new_eq:NN \@@_backend_include_jpeg:n \@@_backend_include_jpg:n \cs_new_eq:NN \@@_backend_include_pdf:n \@@_backend_include_jpg:n @@ -522,7 +529,7 @@ \tl_if_empty:NF \l_@@_decodearray_str { /Decode~[ \l_@@_decodearray_str ] } \bool_if:NT \l_@@_interpolate_bool - { /Interpolate~true> } + { /Interpolate~true } >> } } |