From df866f6b2d273b1971fae4f638689b1afca486e7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 4 Aug 2022 20:33:16 +0000 Subject: media9 (4aug22) git-svn-id: svn://tug.org/texlive/trunk@64047 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/media9/media9.sty | 94 ++++--- Master/texmf-dist/tex/latex/media9/pdfbase.sty | 323 ++++++++++++++----------- 2 files changed, 251 insertions(+), 166 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/media9/media9.sty b/Master/texmf-dist/tex/latex/media9/media9.sty index 2c4db16dc2c..c1e00febb4e 100644 --- a/Master/texmf-dist/tex/latex/media9/media9.sty +++ b/Master/texmf-dist/tex/latex/media9/media9.sty @@ -39,26 +39,25 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{l3keys2e} +\def\g@mix@date@tl{2022/08/04} +\def\g@mix@version@tl{1.25} -\def\g@mix@date@tl{2022/03/18} -\def\g@mix@version@tl{1.24} - -\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} {acrobat-9/X~compatible~media} \tl_gset_eq:NN\g_mix_date_tl\g@mix@date@tl \tl_gset_eq:NN\g_mix_version_tl\g@mix@version@tl -%package options +% package options -%unknown package option error message \msg_set:nnnn{media9}{unknown~package~option}{Unknown~package~option~`#1'.}{ Package option~'#1'~is~unknown;\\ perhaps~it~is~spelled~incorrectly. } +\msg_set:nnn{media9}{generic~msg}{#1\\#2} + \bool_new:N\g_mix_pkgattach_bool \bool_new:N\g_mix_dvipdfmx_bool \bool_new:N\g_mix_pkgdraft_bool @@ -112,15 +111,23 @@ } \keys_define:nn{media9}{ - xetex .code:n = {}, %dummy + pdftex.code:n = {}, + pdftex.value_forbidden:n = true, + + luatex.code:n = {}, + luatex.value_forbidden:n = true, - dvipdfmx .choice:, - dvipdfmx / true .code:n = { - \bool_gset_true:N\g_mix_dvipdfmx_bool + xetex .code:n = {}, + xetex .value_forbidden:n = true, + + dvips.code:n = {}, + dvips.value_forbidden:n = true, + + dvipdfmx .code:n = { \PassOptionsToPackage{dvipdfmx}{pdfbase} + \PassOptionsToPackage{dvipdfmx}{ocgbase} }, - dvipdfmx / false .code:n = {\bool_gset_false:N\g_mix_dvipdfmx_bool}, - dvipdfmx .default:n = {true}, + dvipdfmx .value_forbidden:n = true, bigfiles .choice:, bigfiles / true .code:n = { @@ -290,11 +297,21 @@ \msg_error:nnx{media9}{unknown~package~option}{\l_keys_key_tl} } } -\ProcessKeysOptions{media9} -\sys_if_engine_xetex:T{\bool_gset_true:N\g_mix_dvipdfmx_bool} +\ProcessKeyOptions[media9] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{pdfbase} + +\bool_gset_eq:NN\g_mix_dvipdfmx_bool\g_pbs_dvipdfmx_bool + +\bool_if:NT\g_pbs_dvisvgm_bool{ + \msg_error:nnnn{media9}{generic~msg}{ + Package~`media9'~is~incompatible~with~the~`dvisvgm'~backend. + }{ + Use~package~`media4svg'~instead. + } +} + %aliases for commands from pdfbase.sty \cs_set_eq:NN\mix_pdfobj:nnn \pbs_pdfobj:nnn \cs_set_eq:NN\mix_pdfannot:nnnn\pbs_pdfannot:nnnn @@ -2429,26 +2446,25 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{l3keys2e} +\def\g@mix@date@tl{2022/08/04} +\def\g@mix@version@tl{1.25} -\def\g@mix@date@tl{2022/03/18} -\def\g@mix@version@tl{1.24} - -\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} {acrobat-9/X compatible media} \tl_gset_eq:NN\g_mix_date_tl\g@mix@date@tl \tl_gset_eq:NN\g_mix_version_tl\g@mix@version@tl -%package options +% package options -%unknown package option error message \msg_set:nnnn{media9}{unknown~package~option}{Unknown~package~option~`#1'.}{ Package option~'#1'~is~unknown;\\ perhaps~it~is~spelled~incorrectly. } +\msg_set:nnn{media9}{generic~msg}{#1\\#2} + \bool_new:N\g_mix_pkgattach_bool \bool_new:N\g_mix_dvipdfmx_bool \bool_new:N\g_mix_pkgdraft_bool @@ -2502,15 +2518,23 @@ } \keys_define:nn{media9}{ - xetex .code:n = {}, %dummy + pdftex.code:n = {}, + pdftex.value_forbidden:n = true, + + luatex.code:n = {}, + luatex.value_forbidden:n = true, - dvipdfmx .choice:, - dvipdfmx / true .code:n = { - \bool_gset_true:N\g_mix_dvipdfmx_bool + xetex .code:n = {}, + xetex .value_forbidden:n = true, + + dvips.code:n = {}, + dvips.value_forbidden:n = true, + + dvipdfmx .code:n = { \PassOptionsToPackage{dvipdfmx}{pdfbase} + \PassOptionsToPackage{dvipdfmx}{ocgbase} }, - dvipdfmx / false .code:n = {\bool_gset_false:N\g_mix_dvipdfmx_bool}, - dvipdfmx .default:n = {true}, + dvipdfmx .value_forbidden:n = true, bigfiles .choice:, bigfiles / true .code:n = { @@ -2680,11 +2704,21 @@ \msg_error:nnx{media9}{unknown~package~option}{\l_keys_key_tl} } } -\ProcessKeysOptions{media9} -\sys_if_engine_xetex:T{\bool_gset_true:N\g_mix_dvipdfmx_bool} +\ProcessKeyOptions[media9] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{pdfbase} + +\bool_gset_eq:NN\g_mix_dvipdfmx_bool\g_pbs_dvipdfmx_bool + +\bool_if:NT\g_pbs_dvisvgm_bool{ + \msg_error:nnnn{media9}{generic~msg}{ + Package~`media9'~is~incompatible~with~the~`dvisvgm'~backend. + }{ + Use~package~`media4svg'~instead. + } +} + %aliases for commands from pdfbase.sty \cs_set_eq:NN\mix_pdfobj:nnn \pbs_pdfobj:nnn \cs_set_eq:NN\mix_pdfannot:nnnn\pbs_pdfannot:nnnn diff --git a/Master/texmf-dist/tex/latex/media9/pdfbase.sty b/Master/texmf-dist/tex/latex/media9/pdfbase.sty index a5cc1dcb44e..67ff708ad51 100644 --- a/Master/texmf-dist/tex/latex/media9/pdfbase.sty +++ b/Master/texmf-dist/tex/latex/media9/pdfbase.sty @@ -156,15 +156,95 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{l3keys2e} +\def\g@pbs@date@tl{2022/08/04} +\def\g@pbs@version@tl{0.55} -\def\g@pbs@date@tl{2022/03/18} -\def\g@pbs@version@tl{0.54} - -\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} {driver~independent~access~to~low-level~PDF~features} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% package options +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{ + Package option~'#1'~is~unknown;\\ + perhaps~it~is~spelled~incorrectly. +} + +\bool_new:N\g_pbs_pkgbigfiles_bool +\bool_new:N\g_pbs_dvipdfmx_bool +\bool_new:N\g_pbs_dvisvgm_bool +\str_new:N\g_pbs_backend_str + +\keys_define:nn{pdfbase}{ + pdftex.code:n = {}, + pdftex.value_forbidden:n = true, + + luatex.code:n = {}, + luatex.value_forbidden:n = true, + + xetex.code:n = {}, + xetex.value_forbidden:n = true, + + dvips.code:n = {}, + dvips.value_forbidden:n = true, + + dvipdfmx .code:n = { + \str_gset:Nn\g_pbs_backend_str{dvipdfmx} + }, + dvipdfmx .value_forbidden:n = true, + + dvisvgm .code:n = { + \str_gset:Nn\g_pbs_backend_str{dvisvgm} + }, + dvisvgm .value_forbidden:n = true, + + bigfiles .bool_gset:N = \g_pbs_pkgbigfiles_bool, + + unknown .code:n = { + \msg_error:nnx{pdfbase}{unknown~package~option}{\l_keys_key_tl} + } +} +\ProcessKeyOptions[pdfbase] + +% ensure that backend code is loaded +% possible values for \c_sys_backend_str: pdftex, luatex, xetex, dvips, dvipdfmx, dvisvgm +\cs_if_exist:NF\c_sys_backend_str{\sys_load_backend:n{}} + +\sys_if_output_pdf:TF{ % this excludes dvipdfmx, dvisvgm + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool +}{ + \str_case_e:nnF{\g_pbs_backend_str}{ % pdfbase options have precedence + {dvipdfmx}{ + \bool_gset_true:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool + } + {dvisvgm}{ + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_true:N\g_pbs_dvisvgm_bool + } + }{ % otherwise let the L3 backend code decide + \str_case_e:nn{\c_sys_backend_str}{ + {dvisvgm}{ + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_true:N\g_pbs_dvisvgm_bool + } + {dvipdfmx}{ + \bool_gset_true:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool + } + } + } +} + +\sys_if_engine_xetex:T{ + \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \int_new:N\g_pbs_page_int %abs. page counter %creating global definitions @@ -172,8 +252,7 @@ \msg_set:nnn{pdfbase}{rerun}{Rerun~to~get~internal~references~right!} -%LaTeX2e wrapper -\cs_new_nopar:Npn\pbs@seq@push@cx#1#2{ +\cs_new_protected_nopar:Npn\pbs@seq@push@cx#1#2{ \seq_if_exist:cF{#1}{\seq_new:c{#1}} \seq_gput_right:cx{#1}{#2} } @@ -191,6 +270,8 @@ \seq_new:N\g_pbs_bop_seq \seq_new:N\g_pbs_eop_seq +\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env +\bool_new:N\g_pbs_ocgbase_loaded_bool \AtBeginDocument{ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@newkey[2]{} @@ -198,65 +279,14 @@ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@seq@push@cx[2]{} } -} - -%%%%%%%%%%%%%%%%% -%package options -%%%%%%%%%%%%%%%%% -%unknown package option error message -\msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{ - Package option~'#1'~is~unknown;\\ - perhaps~it~is~spelled~incorrectly. -} - -\bool_new:N\g_pbs_pkgbigfiles_bool -\bool_new:N\g_pbs_dvipdfmx_bool -\bool_new:N\g_pbs_dvisvgm_bool -\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env -\AtBeginDocument{ \cs_if_exist:NT\landscape{% \tl_put_right:Nn\landscape{\bool_gset_true:N\g_pbs_lscape_bool} \tl_put_left:Nn\endlandscape{\bool_gset_false:N\g_pbs_lscape_bool} } + \@ifpackageloaded{ocgbase}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool}{} } -\keys_define:nn{pdfbase}{ - xetex .code:n = {}, %dummy, we use engine test instead - - dvipdfmx .choice:, - dvipdfmx / true .code:n = { - \bool_gset_true:N\g_pbs_dvipdfmx_bool - \bool_gset_false:N\g_pbs_dvisvgm_bool - }, - dvipdfmx / false .code:n = {\bool_gset_false:N\g_pbs_dvipdfmx_bool}, - dvipdfmx .default:n = {true}, - - dvisvgm .choice:, - dvisvgm / true .code:n = { - \bool_gset_true:N\g_pbs_dvisvgm_bool - \bool_gset_false:N\g_pbs_dvipdfmx_bool - }, - dvisvgm / false .code:n = {\bool_gset_false:N\g_pbs_dvisvgm_bool}, - dvisvgm .default:n = {true}, - - bigfiles .bool_gset:N = \g_pbs_pkgbigfiles_bool, - - unknown .code:n = { - \msg_error:nnx{pdfbase}{unknown~package~option}{\l_keys_key_tl} - } -} -\ProcessKeysOptions{pdfbase} - -\sys_if_output_pdf:T{ - \bool_gset_false:N\g_pbs_dvipdfmx_bool - \bool_gset_false:N\g_pbs_dvisvgm_bool -} - -\sys_if_engine_xetex:T{ - \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} -} - -\cs_new_nopar:Nn\pbs_insert_properties_entry:{} +\cs_new_protected_nopar:Nn\pbs_insert_properties_entry:{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %commands for creating PDF objects, annots etc. @@ -281,7 +311,7 @@ \cs_set_protected:Npn\pdflastobj{\numexpr\pdffeedback~lastobj\relax} \cs_set_protected:Npn\pdflastannot{\numexpr\pdffeedback~lastannot\relax} \cs_set:Npn\pdfpageref{\pdffeedback~pageref} - \cs_set:Npx\pdfpageresources{\pdfvariable~pageresources} + \cs_set_protected:Npx\pdfpageresources{\pdfvariable~pageresources} \cs_set_eq:NN\pdfximage\saveimageresource \cs_set_eq:NN\pdfrefximage\useimageresource \cs_set_eq:NN\pdflastximage\lastsavedimageresourceindex @@ -462,7 +492,7 @@ \cs_new_protected_nopar:Nn\pbs_pdfemc:{\pdfliteral~page~{EMC}} %inserts /Properties <<...>> entry into page resources - \cs_gset:Nn\pbs_insert_properties_entry:{ + \cs_gset_protected:Nn\pbs_insert_properties_entry:{ \pbs_zap_properties: %purge those from previous page \tl_set:Nx\l_tmpa_tl{\seq_if_exist:cT{pbs@props@\int_use:N\g_pbs_page_int}{ \seq_use:cn{pbs@props@\int_use:N\g_pbs_page_int}{~}}} @@ -677,7 +707,7 @@ /Properties~<>>>} \int_gincr:N\g_pbs_oc_int } - \cs_new_nopar:Nn\pbs_pdfemc:{\special{pdf:code~EMC}} + \cs_new_protected_nopar:Nn\pbs_pdfemc:{\special{pdf:code~EMC}} }{ \bool_if:NTF\g_pbs_dvisvgm_bool{ \tl_gset:Nx\g_pbs_hash_tl{\token_to_str:N#} @@ -1242,7 +1272,7 @@ } } } - \cs_new_nopar:Nn\pbs_pdfemc:{\pbs_special:n{~mark~/EMC~pdfmark}} + \cs_new_protected_nopar:Nn\pbs_pdfemc:{\pbs_special:n{~mark~/EMC~pdfmark}} } } } @@ -1275,7 +1305,7 @@ %modify output routine for output box insertions \bool_new:N\l_pbs_is_vertical_bool \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage -\cs_set_nopar:Npn\@outputpage{ +\cs_set_protected_nopar:Npn\@outputpage{ \int_gincr:N\g_pbs_page_int \box_if_vertical:cTF{@outputbox}{ \bool_set_true:N\l_pbs_is_vertical_bool @@ -1295,10 +1325,6 @@ \pbs_outputpage_orig: } -\bool_new:N\g_pbs_ocgbase_loaded_bool -\AtBeginDocument{ - \@ifpackageloaded{ocgbase}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool}{} -} \AddToHook{shipout/foreground}{ %insert /Properties into current page's resources \put(0,0){\pbs_insert_properties_entry:} @@ -1513,15 +1539,95 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{l3keys2e} +\def\g@pbs@date@tl{2022/08/04} +\def\g@pbs@version@tl{0.55} -\def\g@pbs@date@tl{2022/03/18} -\def\g@pbs@version@tl{0.54} - -\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} {driver independent access to low-level PDF features} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% package options +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{ + Package option~'#1'~is~unknown;\\ + perhaps~it~is~spelled~incorrectly. +} + +\bool_new:N\g_pbs_pkgbigfiles_bool +\bool_new:N\g_pbs_dvipdfmx_bool +\bool_new:N\g_pbs_dvisvgm_bool +\str_new:N\g_pbs_backend_str + +\keys_define:nn{pdfbase}{ + pdftex.code:n = {}, + pdftex.value_forbidden:n = true, + + luatex.code:n = {}, + luatex.value_forbidden:n = true, + + xetex.code:n = {}, + xetex.value_forbidden:n = true, + + dvips.code:n = {}, + dvips.value_forbidden:n = true, + + dvipdfmx .code:n = { + \str_gset:Nn\g_pbs_backend_str{dvipdfmx} + }, + dvipdfmx .value_forbidden:n = true, + + dvisvgm .code:n = { + \str_gset:Nn\g_pbs_backend_str{dvisvgm} + }, + dvisvgm .value_forbidden:n = true, + + bigfiles .bool_gset:N = \g_pbs_pkgbigfiles_bool, + + unknown .code:n = { + \msg_error:nnx{pdfbase}{unknown~package~option}{\l_keys_key_tl} + } +} +\ProcessKeyOptions[pdfbase] + +% ensure that backend code is loaded +% possible values for \c_sys_backend_str: pdftex, luatex, xetex, dvips, dvipdfmx, dvisvgm +\cs_if_exist:NF\c_sys_backend_str{\sys_load_backend:n{}} + +\sys_if_output_pdf:TF{ % this excludes dvipdfmx, dvisvgm + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool +}{ + \str_case_e:nnF{\g_pbs_backend_str}{ % pdfbase options have precedence + {dvipdfmx}{ + \bool_gset_true:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool + } + {dvisvgm}{ + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_true:N\g_pbs_dvisvgm_bool + } + }{ % otherwise let the L3 backend code decide + \str_case_e:nn{\c_sys_backend_str}{ + {dvisvgm}{ + \bool_gset_false:N\g_pbs_dvipdfmx_bool + \bool_gset_true:N\g_pbs_dvisvgm_bool + } + {dvipdfmx}{ + \bool_gset_true:N\g_pbs_dvipdfmx_bool + \bool_gset_false:N\g_pbs_dvisvgm_bool + } + } + } +} + +\sys_if_engine_xetex:T{ + \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \int_new:N\g_pbs_page_int %abs. page counter %creating global definitions @@ -1529,8 +1635,7 @@ \msg_set:nnn{pdfbase}{rerun}{Rerun~to~get~internal~references~right!} -%LaTeX2e wrapper -\cs_new_nopar:Npn\pbs@seq@push@cx#1#2{ +\cs_new_protected_nopar:Npn\pbs@seq@push@cx#1#2{ \seq_if_exist:cF{#1}{\seq_new:c{#1}} \seq_gput_right:cx{#1}{#2} } @@ -1548,6 +1653,8 @@ \seq_new:N\g_pbs_bop_seq \seq_new:N\g_pbs_eop_seq +\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env +\bool_new:N\g_pbs_ocgbase_loaded_bool \AtBeginDocument{ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@newkey[2]{} @@ -1555,66 +1662,14 @@ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@seq@push@cx[2]{} } -} - -%%%%%%%%%%%%%%%%% -%package options -%%%%%%%%%%%%%%%%% -%unknown package option error message -\msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{ - Package option~'#1'~is~unknown;\\ - perhaps~it~is~spelled~incorrectly. -} - -\bool_new:N\g_pbs_pkgbigfiles_bool -\bool_new:N\g_pbs_dvipdfmx_bool -\bool_new:N\g_pbs_dvisvgm_bool -\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env -\AtBeginDocument{ \cs_if_exist:NT\landscape{% \tl_put_right:Nn\landscape{\bool_gset_true:N\g_pbs_lscape_bool} \tl_put_left:Nn\endlandscape{\bool_gset_false:N\g_pbs_lscape_bool} } + \@ifpackageloaded{ocgbase}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool}{} } -\keys_define:nn{pdfbase}{ - xetex .code:n = {}, %dummy, we use engine test instead - - dvipdfmx .choice:, - dvipdfmx / true .code:n = { - \bool_gset_true:N\g_pbs_dvipdfmx_bool - \bool_gset_false:N\g_pbs_dvisvgm_bool - }, - dvipdfmx / false .code:n = {\bool_gset_false:N\g_pbs_dvipdfmx_bool}, - dvipdfmx .default:n = {true}, - - dvisvgm .choice:, - dvisvgm / true .code:n = { - \bool_gset_true:N\g_pbs_dvisvgm_bool - \bool_gset_false:N\g_pbs_dvipdfmx_bool - }, - dvisvgm / false .code:n = {\bool_gset_false:N\g_pbs_dvisvgm_bool}, - dvisvgm .default:n = {true}, - - bigfiles .bool_gset:N = \g_pbs_pkgbigfiles_bool, - - unknown .code:n = { - \msg_error:nnx{pdfbase}{unknown~package~option}{\l_keys_key_tl} - } -} -\ProcessKeysOptions{pdfbase} - -\sys_if_output_pdf:T{ - \bool_gset_false:N\g_pbs_dvipdfmx_bool - \bool_gset_false:N\g_pbs_dvisvgm_bool -} - -\sys_if_engine_xetex:T{ - \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} -} - -% writing to core objects in the PDF, using the new -% pdfmanagement interface +% writing to core objects in the PDF, using the new pdfmanagement interface \cs_new_protected_nopar:Nn\pbs_appendtofields:n{ \pdfmanagement_add:nnx{Catalog/AcroForm}{Fields}{#1} } @@ -1629,7 +1684,6 @@ }{ !\int_compare_p:n{\luatexversion<95} }{ - \cs_set:Npx\pdfpageresources{\pdfvariable~pageresources} \cs_set_protected:Npn\pdfobj{\pdfextension~obj~} \cs_set_protected:Npn\pdfrefobj{\pdfextension~refobj~} \cs_set_protected:Npn\pdfannot{\pdfextension~annot~} @@ -1641,6 +1695,7 @@ \cs_set_protected:Npn\pdflastobj{\numexpr\pdffeedback~lastobj\relax} \cs_set_protected:Npn\pdflastannot{\numexpr\pdffeedback~lastannot\relax} \cs_set:Npn\pdfpageref{\pdffeedback~pageref} + \cs_set_protected:Npx\pdfpageresources{\pdfvariable~pageresources} \cs_set_eq:NN\pdfximage\saveimageresource \cs_set_eq:NN\pdfrefximage\useimageresource \cs_set_eq:NN\pdflastximage\lastsavedimageresourceindex @@ -2558,7 +2613,7 @@ %modify output routine for output box insertions \bool_new:N\l_pbs_is_vertical_bool \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage -\cs_set_nopar:Npn\@outputpage{ +\cs_set_protected_nopar:Npn\@outputpage{ \int_gincr:N\g_pbs_page_int \box_if_vertical:cTF{@outputbox}{ \bool_set_true:N\l_pbs_is_vertical_bool @@ -2578,10 +2633,6 @@ \pbs_outputpage_orig: } -\bool_new:N\g_pbs_ocgbase_loaded_bool -\AtBeginDocument{ - \@ifpackageloaded{ocgbase}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool}{} -} \AddToHook{shipout/background}{ % workaround for curious AR bug (pdf annot or link placed on % OCG remains active although OCG is hidden) -- cgit v1.2.3