From da9bc017d4130a58cac734e8cc9ef615cc1a2961 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 30 May 2022 20:07:45 +0000 Subject: tagpdf (30may22) git-svn-id: svn://tug.org/texlive/trunk@63448 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty | 28 ++++++++++++--- .../tex/latex/tagpdf/tagpdf-debug-generic.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-generic.sty | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-lua.sty | 2 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua | 4 +-- Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 41 +++++++++++----------- .../tex/latex/tagpdf/tagpdfdocu-patches.sty | 2 +- 9 files changed, 51 insertions(+), 34 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty index 9c5c3aa6d2e..47c86e8af40 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty @@ -23,25 +23,43 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-base} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf-base} {2022-05-29} {0.95} {part of tagpdf - provide base, no-op versions of the user commands } +\AddToHook{begindocument} + { + \str_case:VnF \c_sys_backend_str + { + { luatex } { \cs_new_protected:Npn \__tag_whatsits: {} } + { dvisvgm } { \cs_new_protected:Npn \__tag_whatsits: {} } + } + { + \cs_new_protected:Npn \__tag_whatsits: {\tex_special:D {} } + } + } %% File: tagpdf-mc-generic.dtx -\cs_new_protected:Npn \tag_mc_begin:n #1 {} -\cs_new_protected:Nn \tag_mc_end:{} +\cs_new_protected:Npn \tag_mc_begin:n #1 { \__tag_whatsits: } +\cs_new_protected:Nn \tag_mc_end:{ \__tag_whatsits: } %% File: tagpdf-mc-shared.dtx -\cs_new_protected:Npn \tag_mc_use:n #1 {} +\cs_new_protected:Npn \tag_mc_use:n #1 { \__tag_whatsits: } \cs_new_protected:Npn \tag_mc_artifact_group_begin:n #1 {} \cs_new_protected:Npn \tag_mc_artifact_group_end:{} \cs_new_protected:Npn \tag_mc_end_push: {} \cs_new_protected:Npn \tag_mc_begin_pop:n #1 {} %% File: tagpdf-struct.dtx -\cs_new_protected:Npn \tag_struct_begin:n #1 {} +\newcounter { g__tag_struct_abs_int } +\int_gzero:N \c@g__tag_struct_abs_int +\cs_new:Npn \__tag_get_data_struct_num: + { + \int_use:N\c@g__tag_struct_abs_int + } +\cs_new_protected:Npn \tag_struct_begin:n #1 {\int_gincr:N \c@g__tag_struct_abs_int} \cs_new_protected:Npn \tag_struct_end:{} \cs_new_protected:Npn \tag_struct_use:n #1 {} %% File: tagpdf-checks.dtx +\cs_new:Npn \tag_get:n #1 { \use:c {__tag_get_data_#1: } } \prg_new_conditional:Npnn \tag_if_active: { p , T , TF, F } { \prg_return_false: } %% diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty index 5d96af0615c..83ddd4026e9 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-debug-generic} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf-debug-generic} {2022-05-29} {0.95} {part of tagpdf - debugging code related to marking chunks - generic mode} \cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty index b277f6dcb37..d45ca7df58d 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty @@ -26,7 +26,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-debug} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf-debug} {2022-05-29} {0.95} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} \end{macrocode} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index 333948f2327..74400ea9da6 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-backend.dtx -\ProvidesExplFile {tagpdf-luatex.def} {2022-05-11} {0.94} +\ProvidesExplFile {tagpdf-luatex.def} {2022-05-29} {0.95} {tagpdf~driver~for~luatex} { \fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty index b140f5c4c1d..1cf381628a1 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-05-29} {0.95} {part of tagpdf - code related to marking chunks - generic mode} \__tag_prop_new:N \g__tag_MCID_byabspage_prop diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty index 6e773562533..ae5f3c12d27 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-luacode.dtx -\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-05-29} {0.95} {tagpdf - mc code only for the luamode } \hook_gput_code:nnn{begindocument}{tagpdf/mc} { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua index 5cbf03a8b13..c46b157b214 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua @@ -24,8 +24,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.94", --TAGVERSION - date = "2022-05-11", --TAGDATE + version = "0.95", --TAGVERSION + date = "2022-05-29", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty index 91dcf65368e..c336ce49631 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty @@ -27,7 +27,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdf} {2022-05-29} {0.95} { A package to experiment with pdf tagging } \bool_if:nF @@ -268,7 +268,6 @@ \msg_new:nnnn { tag } {para-hook-count-wrong} {The~number~of~automatic~begin~(#1)~and~end~(#2)~para~hooks~differ!} {This~quite~probably~a~coding~error~and~the~structure~will~be~wrong!} -\cs_new:Npn \tag_get:n #1 { \use:c {__tag_get_data_#1: } } \prg_set_conditional:Npnn \tag_if_active: { p , T , TF, F } { \bool_lazy_all:nTF @@ -842,6 +841,7 @@ \prop_map_tokens:Nn \g__tag_role_NS_prop{\use_ii:nn} } } +\hook_new:n {tagpdf/finish/before} \cs_new_protected:Npn \__tag_finish_structure: { \bool_if:NT\g__tag_active_tree_bool @@ -1365,8 +1365,6 @@ } } %% File: tagpdf-struct.dtx -\newcounter { g__tag_struct_abs_int } -\int_gzero:N \c@g__tag_struct_abs_int \__tag_seq_new:N \g__tag_struct_objR_seq \__tag_prop_new:N \g__tag_struct_cont_mc_prop @@ -1485,13 +1483,14 @@ } \cs_generate_variant:Nn \__tag_struct_kid_struct_gput_right:nn {xx} -\cs_new_protected:Npn\__tag_struct_kid_OBJR_gput_right:nn #1 #2 %#1 num of parent struct, +\cs_new_protected:Npn\__tag_struct_kid_OBJR_gput_right:nnn #1 #2 #3 %#1 num of parent struct, %#2 obj reference + %#3 page object reference { \pdf_object_unnamed_write:nn { dict } { - /Type/OBJR/Obj~#2 + /Type/OBJR/Obj~#2/Pg~#3 } \__tag_seq_gput_right:cx { g__tag_struct_kids_#1_seq } @@ -1500,7 +1499,7 @@ } } -\cs_generate_variant:Nn\__tag_struct_kid_OBJR_gput_right:nn { xx } +\cs_generate_variant:Nn\__tag_struct_kid_OBJR_gput_right:nnn { xxx } \cs_new_protected:Npn\__tag_struct_exchange_kid_command:N #1 %#1 = seq var { @@ -1625,13 +1624,17 @@ } %put the obj number of the annot in the kid entry, this also creates %the OBJR object - \__tag_struct_kid_OBJR_gput_right:xx + \ref_label:nn {__tag_objr_page_#2 }{ tagabspage } + \__tag_struct_kid_OBJR_gput_right:xxx { \l__tag_struct_stack_parent_tmpa_tl } { #1 % } + { + \pdf_pageobject_ref:n { \__tag_ref_value:nnn {__tag_objr_page_#2 }{ tagabspage }{1} } + } % add the parent obj number to the parent tree: \exp_args:Nnx \__tag_parenttree_add_objr:nn @@ -2089,6 +2092,15 @@ }, } %% File: tagpdf-space.dtx +\keys_define:nn { __tag / setup } + { + interwordspace .choices:nn = { true, on } + { \msg_warning:nnx {tag}{sys-no-interwordspace}{\c_sys_engine_str} }, + interwordspace .choices:nn = { false, off } + { \msg_warning:nnx {tag}{sys-no-interwordspace}{\c_sys_engine_str} }, + interwordspace .default:n = true, + show-spaces .bool_set:N = \l__tag_showspaces_bool + } \sys_if_engine_pdftex:T { \sys_if_output_pdf:TF @@ -2138,19 +2150,6 @@ show-spaces .default:n = true } } - -\sys_if_engine_xetex:T - { - \keys_define:nn { __tag / setup } - { - interwordspace .choices:nn = { true, on } - { \msg_warning:nnn {tag}{sys-no-interwordspace}{xetex} }, - interwordspace .choices:nn = { false, off } - { \msg_warning:nnn {tag}{sys-no-interwordspace}{xetex} }, - interwordspace .default:n = true, - show-spaces .bool_set:N = \l__tag_showspaces_bool - } - } \sys_if_engine_luatex:T { \cs_new_protected:Nn \__tag_fakespace: diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index 102560ead07..677e2b50704 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty @@ -1,5 +1,5 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2022-05-11} {0.94} +\ProvidesExplPackage {tagpdfdocu-patches} {2022-05-29} {0.95} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox} -- cgit v1.2.3