From 62bfad29ded6992b948a38080bbf0f42d1edeb6c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 11 May 2019 21:31:47 +0000 Subject: media9 (11may19) git-svn-id: svn://tug.org/texlive/trunk@51092 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/media9/ChangeLog | 5 + Master/texmf-dist/doc/latex/media9/README.txt | 1 + Master/texmf-dist/doc/latex/media9/media9.pdf | Bin 3748721 -> 3748908 bytes .../source/latex/media9/files/ctan_lion_1200.png | Bin 0 -> 321886 bytes .../source/latex/media9/files/ctan_lion_200.png | Bin 0 -> 14220 bytes .../source/latex/media9/files/ctan_lion_400.png | Bin 0 -> 44332 bytes .../source/latex/media9/files/ctan_lion_800.png | Bin 0 -> 152532 bytes Master/texmf-dist/source/latex/media9/media9.tex | 6 +- Master/texmf-dist/tex/latex/media9/media9.sty | 148 ++++++++++----------- Master/texmf-dist/tex/latex/media9/pdfbase.sty | 102 +++++++------- 10 files changed, 132 insertions(+), 130 deletions(-) create mode 100644 Master/texmf-dist/source/latex/media9/files/ctan_lion_1200.png create mode 100644 Master/texmf-dist/source/latex/media9/files/ctan_lion_200.png create mode 100644 Master/texmf-dist/source/latex/media9/files/ctan_lion_400.png create mode 100644 Master/texmf-dist/source/latex/media9/files/ctan_lion_800.png diff --git a/Master/texmf-dist/doc/latex/media9/ChangeLog b/Master/texmf-dist/doc/latex/media9/ChangeLog index cdba72644de..53ce3dff27a 100644 --- a/Master/texmf-dist/doc/latex/media9/ChangeLog +++ b/Master/texmf-dist/doc/latex/media9/ChangeLog @@ -1,3 +1,8 @@ +2019-05-10 + * v0.98 : media9.sty + * v0.29 : pdfbase.sty + * fix : deprecated expl3 commands replaced + 2019-05-02 * v0.97 : media9.sty * v0.28 : pdfbase.sty diff --git a/Master/texmf-dist/doc/latex/media9/README.txt b/Master/texmf-dist/doc/latex/media9/README.txt index 488de1f2413..77fb5289e29 100644 --- a/Master/texmf-dist/doc/latex/media9/README.txt +++ b/Master/texmf-dist/doc/latex/media9/README.txt @@ -30,6 +30,7 @@ The package was written in the new LaTeX3 syntax. Requirements: +Recent versions of * l3kernel (LaTeX package), version >=2012/07/16 * l3packages (LaTeX package), version >=2012/07/16 * pdfTeX, version >=1.30 diff --git a/Master/texmf-dist/doc/latex/media9/media9.pdf b/Master/texmf-dist/doc/latex/media9/media9.pdf index e7a1615d47e..90653bb8aa4 100644 Binary files a/Master/texmf-dist/doc/latex/media9/media9.pdf and b/Master/texmf-dist/doc/latex/media9/media9.pdf differ diff --git a/Master/texmf-dist/source/latex/media9/files/ctan_lion_1200.png b/Master/texmf-dist/source/latex/media9/files/ctan_lion_1200.png new file mode 100644 index 00000000000..2350a76c2b2 Binary files /dev/null and b/Master/texmf-dist/source/latex/media9/files/ctan_lion_1200.png differ diff --git a/Master/texmf-dist/source/latex/media9/files/ctan_lion_200.png b/Master/texmf-dist/source/latex/media9/files/ctan_lion_200.png new file mode 100644 index 00000000000..318c3f0a558 Binary files /dev/null and b/Master/texmf-dist/source/latex/media9/files/ctan_lion_200.png differ diff --git a/Master/texmf-dist/source/latex/media9/files/ctan_lion_400.png b/Master/texmf-dist/source/latex/media9/files/ctan_lion_400.png new file mode 100644 index 00000000000..167b806a029 Binary files /dev/null and b/Master/texmf-dist/source/latex/media9/files/ctan_lion_400.png differ diff --git a/Master/texmf-dist/source/latex/media9/files/ctan_lion_800.png b/Master/texmf-dist/source/latex/media9/files/ctan_lion_800.png new file mode 100644 index 00000000000..80900596002 Binary files /dev/null and b/Master/texmf-dist/source/latex/media9/files/ctan_lion_800.png differ diff --git a/Master/texmf-dist/source/latex/media9/media9.tex b/Master/texmf-dist/source/latex/media9/media9.tex index addffae3970..6aa3681a7a4 100644 --- a/Master/texmf-dist/source/latex/media9/media9.tex +++ b/Master/texmf-dist/source/latex/media9/media9.tex @@ -130,9 +130,9 @@ The final PDF can be viewed in current Adobe Readers on MS Windows and other pla \item l3kernel (\LaTeX{} package), version $\ge \g@mix@liiikerneldate$ \item l3packages (\LaTeX{} package), version $\ge \g@mix@liiipkgdate$ \makeatother -\item pdf\TeX{}, version $\ge1.30$ -\item Ghostscript, version $\ge8.31$ or Adobe Distiller for PS to PDF conversion -\item dvipdfmx, version $\ge 20120420$ for DVI to PDF conversion +\item pdf\TeX{}, version $\ge1.40$ +\item Ghostscript, version $\ge9.15$, or Adobe Distiller for PS to PDF conversion +\item dvipdfmx, version $\ge 20190503$ for DVI to PDF conversion \item Adobe Reader, version $\ge9$, but not greater than 9.4.1 on Linux; Foxit Reader (Flash, video, audio) \item Adobe Flash Player plugin for Firefox \end{trivlist} diff --git a/Master/texmf-dist/tex/latex/media9/media9.sty b/Master/texmf-dist/tex/latex/media9/media9.sty index 2c0faa25a9c..e2c4fcd66f4 100644 --- a/Master/texmf-dist/tex/latex/media9/media9.sty +++ b/Master/texmf-dist/tex/latex/media9/media9.sty @@ -37,8 +37,8 @@ \RequirePackage{xparse} \RequirePackage{atbegshi} -\def\g@mix@date@tl{2019/05/02} -\def\g@mix@version@tl{0.97} +\def\g@mix@date@tl{2019/05/10} +\def\g@mix@version@tl{0.98} \def\g@mix@liiikerneldate{2019/02/15} \def\g@mix@liiipkgdate{2018/10/17} @@ -220,7 +220,7 @@ width .code:n = { \tl_gset:Nn\g_mix_pkgwdarg_tl{#1} \tl_if_exist:NF\l_mix_pkgwd_tl{ - \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_four} + \int_gadd:Nn\g_mix_pkgresizeflag_int{4} \tl_set:Nn\l_mix_pkgwd_tl{} } }, @@ -229,7 +229,7 @@ height .code:n = { \tl_gset:Nn\g_mix_pkghtarg_tl{#1} \tl_if_exist:NF\l_mix_pkght_tl{ - \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_two} + \int_gadd:Nn\g_mix_pkgresizeflag_int{2} \tl_set:Nn\l_mix_pkght_tl{} } }, @@ -238,7 +238,7 @@ totalheight .code:n = { \tl_gset:Nn\g_mix_pkgttarg_tl{#1} \tl_if_exist:NF\l_mix_pkgtt_tl{ - \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_one} + \int_gadd:Nn\g_mix_pkgresizeflag_int{\c_one_int} \tl_set:Nn\l_mix_pkgtt_tl{} } }, @@ -410,7 +410,7 @@ \iow_now:Nx\@mainaux{\token_to_str:N\mix@newkey{#1}{#2}} \bool_if:nT{ !\cs_if_exist:cTF{#1}{ - \str_if_eq_x_p:nn{\tl_use:c{#1}}{#2} + \str_if_eq_p:ee{\tl_use:c{#1}}{#2} }{ \c_false_bool } @@ -696,9 +696,9 @@ \cs_new:Nn\mix_scale:n{% #1 box number %totalheight overrides height if both height & totalheight options were given \bool_if:nT{ - \int_compare_p:n{\g_mix_resizeflag_int=\c_three} || - \int_compare_p:n{\g_mix_resizeflag_int=\c_seven} - }{\int_gsub:Nn\g_mix_resizeflag_int{\c_two}} + \int_compare_p:n{\g_mix_resizeflag_int=3} || + \int_compare_p:n{\g_mix_resizeflag_int=7} + }{\int_gsub:Nn\g_mix_resizeflag_int{2}} \group_begin: %natural dimensions \width, \height, \depth, \totalheight \tl_set:Nn\width {\box_wd:N#1} @@ -714,12 +714,12 @@ \dim_compare:nT{\width=\c_zero_dim}{\box_gset_wd:Nn#1{\g_mix_wd_tl}} \dim_compare:nT{\totalheight=\c_zero_dim}{ \bool_if:nT{ %height option given - \int_compare_p:n{\g_mix_resizeflag_int=\c_six}|| - \int_compare_p:n{\g_mix_resizeflag_int=\c_two} + \int_compare_p:n{\g_mix_resizeflag_int=6}|| + \int_compare_p:n{\g_mix_resizeflag_int=2} }{\box_gset_ht:Nn#1{\g_mix_ht_tl}} \bool_if:nT{ %totalheight option given - \int_compare_p:n{\g_mix_resizeflag_int=\c_five}|| - \int_compare_p:n{\g_mix_resizeflag_int=\c_one} + \int_compare_p:n{\g_mix_resizeflag_int=5}|| + \int_compare_p:n{\g_mix_resizeflag_int=\c_one_int} }{\box_gset_ht:Nn#1{\g_mix_tt_tl}} } \group_end: @@ -732,16 +732,16 @@ }{ %bit 2^2=width, 2^1=height, 2^0=totalhight given \int_case:nn{\g_mix_resizeflag_int}{ - {\c_one}{ + {\c_one_int}{ \box_resize_to_ht_plus_dp:Nn#1{\g_mix_tt_tl} } - {\c_two}{ + {2}{ \box_resize_to_ht:Nn#1{\g_mix_ht_tl} } - {\c_four}{ + {4}{ \box_resize_to_wd:Nn#1{\g_mix_wd_tl} } - {\c_five}{ + {5}{ \bool_if:NTF\g_mix_usriso_bool{ \dim_set:Nn\l_tmpa_dim{ (\box_ht:N#1+\box_dp:N#1)*\dim_ratio:nn{\g_mix_wd_tl}{\box_wd:N#1} @@ -757,7 +757,7 @@ \box_resize_to_wd_and_ht_plus_dp:Nnn#1{\g_mix_wd_tl}{\g_mix_tt_tl} } } - {\c_six}{ + {6}{ \bool_if:NTF\g_mix_usriso_bool{ \dim_set:Nn\l_tmpa_dim{ \box_ht:N#1*\dim_ratio:nn{\g_mix_wd_tl}{\box_wd:N#1} @@ -862,12 +862,12 @@ %environment for setting LTR typesetting direction with e-TeX based engines \cs_new:Nn\mix_beginLTR:{ \cs_if_exist:NT\TeXXeTstate{ - \int_compare:nT{\TeXXeTstate>\c_zero}{\beginL} + \int_compare:nT{\TeXXeTstate>\c_zero_int}{\beginL} } } \cs_new:Nn\mix_endLTR:{ \cs_if_exist:NT\TeXXeTstate{ - \int_compare:nT{\TeXXeTstate>\c_zero}{\endL} + \int_compare:nT{\TeXXeTstate>\c_zero_int}{\endL} } } @@ -949,7 +949,7 @@ \bool_gset_true:N\g_mix_iiid_bool \tl_gset:Nn\g_mix_mainassetsub_tl{3D} }{ - \str_case_x:nnF{\l_mix_base_tl}{ + \str_case_e:nnF{\l_mix_base_tl}{ {APlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} {AudioPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} {VPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Video}} @@ -1089,7 +1089,7 @@ /Height~<> /Position~<< /HOffset~0/VOffset~0 - \str_case_x:nnF{\g_mix_winpos_tl}{ + \str_case_e:nnF{\g_mix_winpos_tl}{ {tl}{/VAlign/Near/HAlign/Near} {cl}{/VAlign/Center/HAlign/Near} {bl}{/VAlign/Far/HAlign/Near} @@ -1143,7 +1143,7 @@ annotRM['\g_mix_label_tl']= this.getAnnotRichMedia(this.pageNum,'\g_mix_label_tl'); } - \str_if_eq_x:nnF{\g_mix_usrpbtn_tl}{none}{ + \str_if_eq:eeF{\g_mix_usrpbtn_tl}{none}{ if(typeof(ocgBtn\int_use:N\g_mix_rmcnt_int)=='undefined'){ var~ocgs=this.getOCGs(this.pageNum); for(var~i=0;i>} } - \int_compare:nT{\l_mix_level_tl=\c_one}{ + \int_compare:nT{\l_mix_level_tl=\c_one_int}{ \tl_set:Nx\l_mix_ndrm_tl{/RM<>} %part (=node) render mode } }, RENDERMODE .value_required:n = {true}, PARTSATTRS .choices:nn = {keep,restore}{ - \int_compare:nF{\l_mix_level_tl=\c_zero}{ + \int_compare:nF{\l_mix_level_tl=\c_zero_int}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{PARTSATTRS}{VIEW} } @@ -1915,13 +1915,13 @@ PARTSATTRS .value_required:n = {true}, PART .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_zero}{ + \int_compare:nF{\l_mix_level_tl=\c_zero_int}{ \msg_error:nnxxxx{media9}{section~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{PART}{VIEW} } \bool_set_true:N\l_mix_blankndname_bool \bool_set:Nn\l_mix_blankndname_bool{\tl_if_blank_p:o{#1}} - \tl_set:Nn\l_mix_level_tl{\c_one} + \tl_set:Nn\l_mix_level_tl{\c_one_int} \tl_set:Nn\l_mix_ndname_tl{(#1)} %part (=node) name \tl_set_eq:NN\l_mix_partlineno_int\l_mix_lineno_int %default part settings @@ -1933,7 +1933,7 @@ PART .default:n = {}, UTF16NAME .code:n = { %part (=node) name, UTF16, HEX encoded - \int_compare:nF{\l_mix_level_tl=\c_one}{ + \int_compare:nF{\l_mix_level_tl=\c_one_int}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{UTF16NAME}{PART} } @@ -1948,17 +1948,17 @@ OPACITY .code:n = { \bool_if:nF{ - \int_compare_p:n{\l_mix_level_tl=\c_one} || - \int_compare_p:n{\l_mix_level_tl=\c_two} + \int_compare_p:n{\l_mix_level_tl=\c_one_int} || + \int_compare_p:n{\l_mix_level_tl=2} }{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int} {OPACITY}{PART~or~CROSSSECT} } - \int_compare:nT{\l_mix_level_tl=\c_one}{ %part + \int_compare:nT{\l_mix_level_tl=\c_one_int}{ %part \tl_set:Nx\l_mix_ndop_tl{/O~#1} } - \int_compare:nT{\l_mix_level_tl=\c_two}{ %crosssect + \int_compare:nT{\l_mix_level_tl=2}{ %crosssect \tl_set:Nx\l_mix_csop_tl{/PO~#1} } }, @@ -1966,24 +1966,24 @@ VISIBLE .choices:nn = {true,false}{ \bool_if:nF{ - \int_compare_p:n{\l_mix_level_tl=\c_one} || - \int_compare_p:n{\l_mix_level_tl=\c_two} + \int_compare_p:n{\l_mix_level_tl=\c_one_int} || + \int_compare_p:n{\l_mix_level_tl=2} }{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int} {VISIBLE}{PART~or~CROSSSECT} } - \int_compare:nT{\l_mix_level_tl=\c_one}{ %part + \int_compare:nT{\l_mix_level_tl=\c_one_int}{ %part \tl_set:Nx\l_mix_ndvi_tl{/V~\l_keys_choice_tl} } - \int_compare:nT{\l_mix_level_tl=\c_two}{ %crosssect + \int_compare:nT{\l_mix_level_tl=2}{ %crosssect \tl_set:Nx\l_mix_cspv_tl{/PV~\l_keys_choice_tl} } }, VISIBLE .default:n = {true}, INTERSECTIONVISIBLE .choices:nn = {true,false}{ - \int_compare:nF{\l_mix_level_tl=\c_two}{ + \int_compare:nF{\l_mix_level_tl=2}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{INTERSECTIONVISIBLE} {CROSSSECT} @@ -1993,7 +1993,7 @@ INTERSECTIONVISIBLE .default:n = {true}, PLANECOLOR .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_two}{ + \int_compare:nF{\l_mix_level_tl=2}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{PLANECOLOR}{CROSSSECT} } @@ -2002,7 +2002,7 @@ PLANECOLOR .value_required:n = {true}, INTERSECTIONCOLOR .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_two}{ + \int_compare:nF{\l_mix_level_tl=2}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{INTERSECTIONCOLOR} {CROSSSECT} @@ -2012,7 +2012,7 @@ INTERSECTIONCOLOR .value_required:n = {true}, TRANSFORM .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_one}{ + \int_compare:nF{\l_mix_level_tl=\c_one_int}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{TRANSLATE}{PART} } @@ -2026,15 +2026,15 @@ TRANSFORM .value_required:n = {true}, CROSSSECT .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_zero}{ + \int_compare:nF{\l_mix_level_tl=\c_zero_int}{ \msg_error:nnxxxx{media9}{section~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{CROSSSECT}{VIEW} } - \int_compare:nT{\l_mix_cscount_tl>\c_zero}{ + \int_compare:nT{\l_mix_cscount_tl>\c_zero_int}{ \msg_warning:nnxx{media9}{too~many~cross~sections} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int} } - \tl_set:Nn\l_mix_level_tl{\c_two} + \tl_set:Nn\l_mix_level_tl{2} %default settings \tl_set:Nn\l_mix_cscentre_tl{0~0~0} %centre of clipping plane \tl_set:Nn\l_mix_csorient_tl{null~0~0} %orientation of plane @@ -2047,7 +2047,7 @@ CROSSSECT .value_forbidden:n = {true}, CENTER .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_two}{ + \int_compare:nF{\l_mix_level_tl=2}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{CENTER}{CROSSSECT} } @@ -2065,7 +2065,7 @@ CENTER .value_required:n = {true}, NORMAL .code:n = { - \int_compare:nF{\l_mix_level_tl=\c_two}{ + \int_compare:nF{\l_mix_level_tl=2}{ \msg_error:nnxxxx{media9}{key~not~allowed} {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{NORMAL}{CROSSSECT} } @@ -2115,10 +2115,10 @@ } \tl_put_right:Nx\l_mix_naarray_tl{~\mix_pdflastobj:} - \tl_set:Nn\l_mix_level_tl{\c_zero} + \tl_set:Nn\l_mix_level_tl{\c_zero_int} } {2}{ %CROSSSECT - \int_compare:nT{\l_mix_cscount_tl=\c_zero}{ + \int_compare:nT{\l_mix_cscount_tl=\c_zero_int}{ \mix_pdfobj:nnn{}{dict}{ /Type/3DCrossSection /C~[\l_mix_cscentre_tl] @@ -2127,9 +2127,9 @@ \l_mix_csic_tl\l_mix_csiv_tl } \tl_put_right:Nx\l_mix_saarray_tl{~\mix_pdflastobj:} - \tl_set:Nn\l_mix_cscount_tl{\c_one} + \tl_set:Nn\l_mix_cscount_tl{\c_one_int} } - \tl_set:Nn\l_mix_level_tl{\c_zero} + \tl_set:Nn\l_mix_level_tl{\c_zero_int} } }{ \msg_error:nnxx{media9}{no~end~here} @@ -2191,7 +2191,7 @@ \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl \tl_trim_spaces:N\l_tmpa_tl \tl_if_exist:cTF{ann@\l_tmpa_tl}{ - \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \str_if_eq:eeF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ \tl_set:Nx\l_tmpb_tl{#1} %extract idx \regex_replace_once:nnN{[^:]+:?}{}\l_tmpb_tl \tl_trim_spaces:N\l_tmpb_tl @@ -2242,7 +2242,7 @@ \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl %extract ref \tl_trim_spaces:N\l_tmpa_tl \tl_if_exist:cTF{ann@\l_tmpa_tl}{ - \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \str_if_eq:eeF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ \tl_set:Nx\l_tmpb_tl{#1} \regex_replace_once:nnN{[^:]+\:?}{}\l_tmpb_tl \tl_trim_spaces:N\l_tmpb_tl @@ -2314,7 +2314,7 @@ \bool_lazy_and:nnT{ \tl_if_exist_p:c{ann@\l_tmpa_tl} }{ - !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + !\str_if_eq_p:ee{\tl_use:c{ann@\l_tmpa_tl}}{draft} }{ \mix_pdfobj:nnn{}{dict}{ /S/JavaScript/JS~( @@ -2332,7 +2332,7 @@ \bool_lazy_and_p:nn{ \tl_if_exist_p:c{ann@\l_tmpa_tl} }{ - !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + !\str_if_eq_p:ee{\tl_use:c{ann@\l_tmpa_tl}}{draft} } || !\tl_if_blank_p:V\l_tmpb_tl }{ diff --git a/Master/texmf-dist/tex/latex/media9/pdfbase.sty b/Master/texmf-dist/tex/latex/media9/pdfbase.sty index 49dfcbcf049..5e137ecfc31 100644 --- a/Master/texmf-dist/tex/latex/media9/pdfbase.sty +++ b/Master/texmf-dist/tex/latex/media9/pdfbase.sty @@ -32,12 +32,13 @@ % % \pbs_pdfobj:nnn % #1: predefined PDF object ID to be used for the current obj; may be empty -% #2: type of object ( dict | array | stream | fstream ) +% #2: type of object ( generic | dict | array | stream | fstream ) % #3: if #2== -% `dict' then PDF key-value dictionary -% `stream' then +% `generic', then single basic object, such as 3.141, (foo), true, /Name +% `dict', then PDF key-value dictionary +% `stream', then % {stream attributes as PDF key-value dictionary}{content string} -% `fstream' then +% `fstream', then % {stream attributes as PDF key-value dictionary}{file name} % % if #3 && #1 are both empty, an object reference will be reserved for later @@ -148,17 +149,28 @@ % conditions of the LaTeX Project Public License. % % The latest version of this license is in +% % http://mirrors.ctan.org/macros/latex/base/lppl.txt % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is A. Grahn. +%process non-detectable driver options for passing to expl3 +\RequirePackage{xkeyval} +\DeclareOptionX{dvipdfmx}{% + \PassOptionsToPackage{driver=dvipdfmx}{expl3} +} +\DeclareOptionX{dvisvgm}{% + \PassOptionsToPackage{driver=dvisvgm}{expl3} +} +\DeclareOptionX*{}\ProcessOptionsX*\relax %allow anything as an option + \RequirePackage{expl3} \RequirePackage{l3keys2e} -\def\g@pbs@date@tl{2019/05/02} -\def\g@pbs@version@tl{0.28} +\def\g@pbs@date@tl{2019/05/10} +\def\g@pbs@version@tl{0.29} \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} {driver independent access to low-level PDF features} @@ -232,7 +244,6 @@ %%%%%%%%%%%%%%%%% %package options %%%%%%%%%%%%%%%%% - %unknown package option error message \msg_gset:nnnn{pdfbase}{unknown~package~option}{Unknown~package~option~`#1'.}{ Package option~'#1'~is~unknown;\\ @@ -286,9 +297,6 @@ \bool_if:NF\g_pbs_dvisvgm_bool{\bool_gset_true:N\g_pbs_dvipdfmx_bool} } -\cs_new_nopar:Nn\pbs_first_of_two:nn{#1} %helpers -\cs_new_nopar:Nn\pbs_second_of_two:nn{#2} - \cs_new_nopar:Nn\pbs_insert_properties_entry:{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -358,10 +366,10 @@ {dict}{\immediate\pdfobj~\l_pbs_usenum_tl~{<<#3>>}} {array}{\immediate\pdfobj~\l_pbs_usenum_tl~{[#3]}} {stream}{\immediate\pdfobj~\l_pbs_usenum_tl~stream~ - attr{\pbs_first_of_two:nn#3}~{\pbs_second_of_two:nn#3} + attr{\use_i:nn#3}~{\use_ii:nn#3} } {fstream}{\immediate\pdfobj~\l_pbs_usenum_tl~stream~ - attr{\pbs_first_of_two:nn#3}~file~{\pbs_second_of_two:nn#3} + attr{\use_i:nn#3}~file~{\use_ii:nn#3} } } } @@ -418,10 +426,10 @@ %additional dict entries \tl_set:Nx\l_tmpb_tl{#4} \tl_trim_spaces:N\l_tmpb_tl - \int_compare:nT{#2>\c_zero}{\immediate} + \int_compare:nT{#2>\c_zero_int}{\immediate} \pdfxform~ - \str_if_eq_x:nnF{\l_tmpb_tl}{}{attr~{\l_tmpb_tl}~} - \str_if_eq_x:nnF{\l_tmpa_tl}{}{resources~{\l_tmpa_tl}~}#5 + \str_if_eq:eeF{\l_tmpb_tl}{}{attr~{\l_tmpb_tl}~} + \str_if_eq:eeF{\l_tmpa_tl}{}{resources~{\l_tmpa_tl}~}#5 \tl_gset:Nx\g_pbs_pdflastxform_tl{\the\pdflastxform\space 0~R} } @@ -474,7 +482,7 @@ %`xsavebox' package) \bool_if:nTF{ \cs_if_exist:NTF\xsb_count_props:{ - \int_compare_p:n{\xsb_count_props:>\c_zero} + \int_compare_p:n{\xsb_count_props:>\c_zero_int} }{ \c_false_bool } @@ -496,7 +504,7 @@ \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}{~}}} \tl_trim_spaces:N\l_tmpa_tl - \str_if_eq_x:nnF{\l_tmpa_tl}{}{ + \str_if_eq:eeF{\l_tmpa_tl}{}{ \group_begin: \tl_set:Nx\l_pbs_temp_tl{\group_end: \global\pdfpageresources{ @@ -558,12 +566,12 @@ {dict}{\special{pdf:obj~\l_pbs_usenum_tl\space<<#3>>}} {array}{\special{pdf:obj~\l_pbs_usenum_tl\space[#3]}} {stream}{\special{pdf:stream~\l_pbs_usenum_tl\space - (\pbs_second_of_two:nn#3)<<\pbs_first_of_two:nn#3>> + (\use_ii:nn#3)<<\use_i:nn#3>> }} {fstream}{ - \message{<\pbs_second_of_two:nn#3>} + \message{<\use_ii:nn#3>} \special{pdf:fstream~\l_pbs_usenum_tl\space - (\pbs_second_of_two:nn#3)<<\pbs_first_of_two:nn#3>> + (\use_ii:nn#3)<<\use_i:nn#3>> } } } @@ -572,22 +580,9 @@ } \cs_new_protected_nopar:Nn\pbs_pdfannot:nnnn{ - \bool_if:NTF\g_pbs_lscape_bool{ - %fix missing annotation rotation of (x)dvipdfmx on landscape pages - \box_move_up:nn{\dim_eval:n{#2}}{\vbox:n{ - \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space - width~\dim_eval:n{#2+#3}\space - height~\dim_eval:n{#1}\space - depth~\dim_eval:n{\c_zero_dim}~<< - \cs_if_exist_use:N\ocgbase_insert_oc:~#4>> - } - }} - }{ - \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space - width~\dim_eval:n{#1}\space - height~\dim_eval:n{#2}\space - depth~\dim_eval:n{#3}~<<\cs_if_exist_use:N\ocgbase_insert_oc:~#4>> - } + \special{pdf:ann~@pbs@obj\int_use:N\g_pbs_obj_int\space + width~\dim_eval:n{#1}~height~\dim_eval:n{#2}~depth~\dim_eval:n{#3}~ + <<\cs_if_exist_use:N\ocgbase_insert_oc:~#4>> } \tl_gset:Nx\g_pbs_pdflastann_tl{@pbs@obj\int_use:N\g_pbs_obj_int} \int_gincr:N\g_pbs_obj_int @@ -650,7 +645,7 @@ \box_use:N#5 \tl_clear:N\l_tmpa_tl{} %transparency et al. for PGF - \bool_if:nT{\int_compare_p:n{#1>\c_zero} && \g_pbs_pgfloaded_bool}{ + \bool_if:nT{\int_compare_p:n{#1>\c_zero_int} && \g_pbs_pgfloaded_bool}{ \ifpgf@sys@pdf@extgs@exists \tl_set:Nn\l_tmpa_tl{/ExtGState~@pgfextgs} \fi @@ -663,14 +658,14 @@ } %additional resources \tl_put_right:Nx\l_tmpa_tl{~#3}\tl_trim_spaces:N\l_tmpa_tl - \str_if_eq_x:nnF{\l_tmpa_tl}{}{ + \str_if_eq:eeF{\l_tmpa_tl}{}{ \special{pdf:put~@resources~<<\l_tmpa_tl>>} } %additional dict entries \tl_set:Nx\l_tmpa_tl{#4} \tl_trim_spaces:N\l_tmpa_tl \special{pdf:exobj %close form xobject - \str_if_eq_x:nnF{\l_tmpa_tl}{}{<<\l_tmpa_tl>>} + \str_if_eq:eeF{\l_tmpa_tl}{}{<<\l_tmpa_tl>>} } } \end{picture} @@ -893,13 +888,13 @@ \pbs_special:n{mark~\l_pbs_usenum_tl~0~[#3]/PUTINTERVAL~pdfmark} } {stream}{\special{ps::[nobreak]~SDict~begin~ - mark~\l_pbs_usenum_tl~(\pbs_second_of_two:nn#3)/PUT~pdfmark~ - mark~\l_pbs_usenum_tl~<<\pbs_first_of_two:nn#3>>/PUT~pdfmark~end + mark~\l_pbs_usenum_tl~(\use_ii:nn#3)/PUT~pdfmark~ + mark~\l_pbs_usenum_tl~<<\use_i:nn#3>>/PUT~pdfmark~end }} {fstream}{ \tl_set:Nn\l_pbs_offset_tl{0} - \tl_set:Nx\l_pbs_fsize_tl{\pbs_filesize:n{\pbs_second_of_two:nn#3}} - \message{<\pbs_second_of_two:nn#3} + \tl_set:Nx\l_pbs_fsize_tl{\pbs_filesize:n{\use_ii:nn#3}} + \message{<\use_ii:nn#3} %embed file in chunks of 32768 Bytes into PS as chunks of %65536 Bytes of HEX code \bool_while_do:nn{ @@ -909,7 +904,7 @@ \iow_now:Nx\g_pbs_mstreams_stream{ m\l_pbs_usenum_tl (\pbs_filedump:nnn{\l_pbs_offset_tl}{32767}{ - \pbs_second_of_two:nn#3 + \use_ii:nn#3 })P } }{ @@ -917,7 +912,7 @@ mark~ \l_pbs_usenum_tl~ (\pbs_filedump:nnn{\l_pbs_offset_tl}{32767}{ - \pbs_second_of_two:nn#3 + \use_ii:nn#3 })~ /ASCIIHexDecode~filter~/PUT~ pdfmark @@ -928,12 +923,12 @@ } \bool_if:NTF\g_pbs_pkgbigfiles_bool{ \iow_now:Nx\g_pbs_mstreams_stream{ - m\l_pbs_usenum_tl<<\pbs_first_of_two:nn#3>>PP~ + m\l_pbs_usenum_tl<<\use_i:nn#3>>PP~ m\l_pbs_usenum_tl~C~end } }{ \pbs_special:n{ - mark~\l_pbs_usenum_tl~<<\pbs_first_of_two:nn#3>>~/PUT~pdfmark~ + mark~\l_pbs_usenum_tl~<<\use_i:nn#3>>~/PUT~pdfmark~ mark~\l_pbs_usenum_tl~/CLOSE~pdfmark } } @@ -956,7 +951,7 @@ } \end{picture} \group_end: - \str_if_eq_x:nnF{#4}{}{ + \str_if_eq:eeF{#4}{}{ \pbs_special:n{ mark~ /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int} @@ -1137,7 +1132,7 @@ Resolution~neg~VResolution~neg~translate %one inch left, one inch up }?pdfmark~ } - %distill graphics into XObject + %distill graphics to XObject gsave~pbs@curx~pbs@cury~translate~ %move origin (0,0) to the current mark~ %position /_objdef~{pbs@obj\int_use:N\g_pbs_obj_int} @@ -1146,11 +1141,11 @@ pbs@urx~pbs@curx~sub~pbs@ury~pbs@cury~sub ] %insert additional dict entries (the Distiller way) - \str_if_eq_x:nnF{\l_tmpa_tl}{}{ + \str_if_eq:eeF{\l_tmpa_tl}{}{ product~(Distiller)~search~{pop~pop~pop~\l_tmpa_tl}{pop}ifelse } /BP~pdfmark~grestore~ - \int_compare:nT{#2>\c_zero}{ + \int_compare:nT{#2>\c_zero_int}{ %operations needed if used as annotation appearance { isls{%landscape mode (powerdot, geometry /w landscape option) @@ -1177,7 +1172,7 @@ \begin{picture}(0,0)\put(0,0){\box_use:N#5}\end{picture} \pbs_special:n{~mark~/EP~pdfmark~grestore} %insert additional dict entries (the Ghostscript way) - \str_if_eq_x:nnF{\l_tmpa_tl}{}{ + \str_if_eq:eeF{\l_tmpa_tl}{}{ \pbs_special:n{ product~(Ghostscript)~search~{ pop~pop~pop~ @@ -1187,7 +1182,7 @@ } \tl_gset:Nx\g_pbs_pdflastxform_tl{{pbs@obj\int_use:N\g_pbs_obj_int}} \int_gincr:N\g_pbs_obj_int - \int_compare:nT{#2>\c_zero}{ + \int_compare:nT{#2>\c_zero_int}{ %Form XObjects for use as annotation appearances require that %dvips generated PostScript to be further processed with ps2pdf %must not have the exaggerated dpi resolution resulting from dvips @@ -1343,6 +1338,7 @@ \bool_if:NT\g_pbs_ocgbase_loaded_bool{ \pbs_pdfannot:nnnn{3pt}{\c_zero_dim}{3pt}{ /Ff~65537/FT/Btn/Subtype/Widget + /T~(pbs@ARFix@\int_use:N\g_pbs_page_int) } } } -- cgit v1.2.3