diff options
author | Karl Berry <karl@freefriends.org> | 2021-01-26 21:46:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-01-26 21:46:18 +0000 |
commit | eb7f2b3abbc0b1da0f7eb6e28319387ff7637b7a (patch) | |
tree | 62c906e227c4671c709429eef2ba8a18f425d2b5 /Master/texmf-dist/tex/latex | |
parent | 23a8540040356892def7beb4a4febdf111a8eac7 (diff) |
media9 (26jan21)
git-svn-id: svn://tug.org/texlive/trunk@57529 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/media9/media9.sty | 10 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/media9/pdfbase.sty | 115 |
2 files changed, 36 insertions, 89 deletions
diff --git a/Master/texmf-dist/tex/latex/media9/media9.sty b/Master/texmf-dist/tex/latex/media9/media9.sty index 4deae7f5197..acd4c769775 100644 --- a/Master/texmf-dist/tex/latex/media9/media9.sty +++ b/Master/texmf-dist/tex/latex/media9/media9.sty @@ -32,14 +32,12 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{expl3} \RequirePackage{l3keys2e} -\RequirePackage{xparse} -\RequirePackage{atbegshi} -\def\g@mix@date@tl{2020/09/10} -\def\g@mix@version@tl{1.13} +\def\g@mix@date@tl{2021/01/25} +\def\g@mix@version@tl{1.14} +\NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} {acrobat-9/X compatible media} @@ -316,7 +314,7 @@ \int_new:N\g@mix@page@int %abs. page counter (zero based) \int_gset:Nn\g@mix@page@int{-1} -\AtBeginShipout{\int_gincr:N\g@mix@page@int} +\AddToHook{shipout/before}{\int_gincr:N\g@mix@page@int} \bool_new:N\l_mix_url_bool \bool_new:N\g_mix_iiidcalc_bool diff --git a/Master/texmf-dist/tex/latex/media9/pdfbase.sty b/Master/texmf-dist/tex/latex/media9/pdfbase.sty index 6e86b60bf8f..734e92331e3 100644 --- a/Master/texmf-dist/tex/latex/media9/pdfbase.sty +++ b/Master/texmf-dist/tex/latex/media9/pdfbase.sty @@ -127,12 +127,6 @@ % % -------- % -% alternative \AtEndDvi -% \pbs_at_end_dvi:n -% #1: \specials or \write to be inserted on the very last page -% -% -------- -% % \pbs_add_form_font: (pdfLaTeX, LuaLaTeX) % adds current font as a resource to the global /AcroForm dict, allowing % the font to be used in PDF Forms (theoretically, see @@ -156,26 +150,15 @@ % % The Current Maintainer of this work is A. Grahn. -\RequirePackage{expl3} \RequirePackage{l3keys2e} -\def\g@pbs@date@tl{2020/09/10} -\def\g@pbs@version@tl{0.44} +\def\g@pbs@date@tl{2021/01/25} +\def\g@pbs@version@tl{0.45} +\NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} {driver independent access to low-level PDF features} -\msg_set:nnnn{pdfbase}{support~outdated}{ - Support~package~`#1'~too~old. -}{ - Get~an~up~to~date~version~of~`#1'.\\ - Aborting. -} -\@ifpackagelater{expl3}{2019/09/03}{}{ - \msg_error:nnn{pdfbase}{support~outdated}{expl3.sty} - \tex_endinput:D -} - \int_new:N\g_pbs_page_int %abs. page counter %creating global definitions @@ -202,12 +185,6 @@ \seq_new:N\g_pbs_bop_seq \seq_new:N\g_pbs_eop_seq -% own AtEndDvi implementation -\cs_new_protected:Nn\pbs_at_end_dvi:n{\seq_gput_right:Nn\g_pbs_eod_seq{#1}} -\seq_new:N\g_pbs_eod_seq -\pbs@newkey{pbs@last@page}{0} - -% AtEndDvi check \AtBeginDocument{ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@newkey[2]{} @@ -215,24 +192,6 @@ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@seq@push@cx[2]{} } - \iow_now:Nx\@mainaux{ - \token_to_str:N\providecommand\token_to_str:N\pbs@at@end@dvi@check{} - } - \iow_now:Nx\@mainaux{\token_to_str:N\pbs@at@end@dvi@check} - \cs_new_protected:Npn\pbs@at@end@dvi@check{ - \bool_if:nT{ - !\tl_if_exist:NTF\pbs@last@page{ - \int_compare_p:n{\pbs@last@page=\g_pbs_page_int} - }{ - \c_false_bool - } - }{ - \cs_if_exist:NF\g_pbs_rerunwarned_tl{ - \tl_new:N\g_pbs_rerunwarned_tl - \msg_warning:nn{pdfbase}{rerun} - } - } - } } %%%%%%%%%%%%%%%%% @@ -790,8 +749,11 @@ \cs_new_nopar:Nn\pbs_filedump:nnn{\pdffiledump~offset~#1~length~#2~{#3}} }{ \sys_if_engine_luatex:T{ - \RequirePackage{pdftexcmds} - \cs_new_nopar:Nn\pbs_filedump:nnn{\pdf@filedump{#1}{#2}{#3}} + \cs_new_nopar:Nn\pbs_filedump:nnn{\lua_now:e{ + tex.sprint(ltx.utils.filedump( + "\lua_escape:e{#3}", \int_eval:n{#1}, \int_eval:n{#2} + )) + }} } } @@ -833,11 +795,11 @@ \cs_new:Nn\pbs_special:n{\special{ps:~SDict~begin~#1~end}} \bool_if:NT\g_pbs_pkgbigfiles_bool{ - \special{psfile=\jobname.pbsdat} + \special{psfile=\c_sys_jobname_str.pbsdat} %open auxiliary file \jobname.pbsdat for writing hex encoded streams of %the files to be embedded. This file is inserted into PS during dvips. \iow_new:N\g_pbs_mstreams_stream - \iow_open:Nn\g_pbs_mstreams_stream{\jobname.pbsdat} + \iow_open:Nn\g_pbs_mstreams_stream{\c_sys_jobname_str.pbsdat} \iow_now:Nn\g_pbs_mstreams_stream{ /M9D~1~dict~def~M9D~begin /o{mark/_objdef}bind~def/O{/type/stream/OBJ~pdfmark}bind~def @@ -1206,7 +1168,7 @@ %option `-Ppdf'. \tl_if_exist:NF\g_pbs_dpiwarned_tl{ \tl_new:N\g_pbs_dpiwarned_tl - \pbs_at_end_dvi:n{ + \AddToHook{shipout/lastpage}{ \special{ps::[nobreak]~SDict~begin~\pbs_dpiwarning:\space end} } } @@ -1219,7 +1181,7 @@ %require 9.15. \tl_if_exist:NF\g_pbs_gsoldwarned_tl{ \tl_new:N\g_pbs_gsoldwarned_tl - \pbs_at_end_dvi:n{ + \AddToHook{shipout/lastpage}{ \special{ps::[nobreak]~SDict~begin~\pbs_gsoldwarning:\space end} } } @@ -1264,7 +1226,7 @@ \pbs_special:n{~mark~#1~#2~/BDC~pdfmark} \tl_if_exist:NF\g_pbs_gsoldwarned_tl{ \tl_new:N\g_pbs_gsoldwarned_tl - \pbs_at_end_dvi:n{ + \AddToHook{shipout/lastpage}{ \special{ps::[nobreak]~SDict~begin~\pbs_gsoldwarning:\space end} } } @@ -1282,7 +1244,7 @@ %adding AcroForm dict to PDF Catalog \tl_new:N\g_pbs_fields_tl %takes object IDs of Fields (aka annots with \tl_new:N\g_pbs_form_fonts_tl %name tree of font resources used in text fields -\pbs_at_end_dvi:n{ +\AddToHook{shipout/lastpage}{ \tl_if_empty:NF\g_pbs_fields_tl{ \pbs_pdfobj:nnn{}{array}{\g_pbs_fields_tl} \pbs_pdfcatalog:n{ @@ -1304,9 +1266,6 @@ \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage \cs_set_nopar:Npn\@outputpage{ \int_gincr:N\g_pbs_page_int - \iow_now:Nx\@mainaux{ - \token_to_str:N\pbs@newkey{pbs@last@page}{\int_use:N\g_pbs_page_int} - } \box_if_vertical:cTF{@outputbox}{ \bool_set_true:N\l_pbs_is_vertical_bool }{ @@ -1325,34 +1284,24 @@ \pbs_outputpage_orig: } -\RequirePackage{atbegshi} \AtBeginDocument{ \bool_new:N\g_pbs_ocgbase_loaded_bool - \@ifpackageloaded{ocgbase}{ - \bool_gset_true:N\g_pbs_ocgbase_loaded_bool - }{} - \AtBeginShipout{ - \AtBeginShipoutAddToBoxForeground{ - %insert /Properties into current page's resources - \pbs_insert_properties_entry: - %end of dvi (last page) - \int_compare:nT{\pbs@last@page=\g_pbs_page_int}{ - \seq_map_variable:NNn\g_pbs_eod_seq\l_tmpa_tl{\l_tmpa_tl} - } - } - \AtBeginShipoutUpperLeft{ - % workaround for curious AR bug (pdf annot or link placed on - % OCG remains active when OCG is hidden) - % see https://forums.adobe.com/message/5787612#5787612 - % This can be fixed by placing a dumb (non-interactive) Widget dummy - % somewhere on the page. - \bool_if:NT\g_pbs_ocgbase_loaded_bool{ - \put(1,-1){ - \pbs_pdfannot:nnnn{3bp}{\c_zero_dim}{3bp}{ - /Ff~65537/FT/Btn/Subtype/Widget - /T~(pbs@ARFix@\int_use:N\g_pbs_page_int) - } - } + \@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:} +} +\AddToHook{shipout/background}{ + % workaround for curious AR bug (pdf annot or link placed on + % OCG remains active although OCG is hidden) + % This can be fixed by placing a dumb (non-interactive) Widget dummy + % somewhere on the page. + \bool_if:NT\g_pbs_ocgbase_loaded_bool{ + \put(1,-1){ + \pbs_pdfannot:nnnn{3bp}{\c_zero_dim}{3bp}{ + /Ff~65537/FT/Btn/Subtype/Widget + /T~(pbs@ARFix@\int_use:N\g_pbs_page_int) } } } @@ -1393,11 +1342,11 @@ @@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@\token_to_str:N\n @@+Dvips+should+be+called+either+without+option+`-Ppdf':++@@\token_to_str:N\n @@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@\token_to_str:N\n - @@+++dvips+\jobname\token_to_str:N\n + @@+++dvips+\c_sys_jobname_str\token_to_str:N\n @@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@\token_to_str:N\n @@+or+with+a+different+resolution+setting,+e.g.:++++++++++@@\token_to_str:N\n @@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@\token_to_str:N\n - @@+++dvips+-Ppdf+-D1200+\jobname\token_to_str:N\n + @@+++dvips+-Ppdf+-D1200+\c_sys_jobname_str\token_to_str:N\n @@++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@\token_to_str:N\n @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\token_to_str:N\n) print}~if}~?pdfmark |