From 553e9726f51a42d6c41518390dad709caa19c9ca Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 May 2022 19:52:50 +0000 Subject: tagpdf (11may22) git-svn-id: svn://tug.org/texlive/trunk@63282 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty | 49 +++++++++++++++++++ .../tex/latex/tagpdf/tagpdf-debug-generic.sty | 4 +- .../tex/latex/tagpdf/tagpdf-debug-lua.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty | 26 +--------- .../texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-generic.sty | 8 ++-- .../tex/latex/tagpdf/tagpdf-mc-code-lua.sty | 8 ++-- Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua | 4 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 56 +++++++++++++--------- .../tex/latex/tagpdf/tagpdfdocu-patches.sty | 9 ++-- 10 files changed, 104 insertions(+), 64 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty (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 new file mode 100644 index 00000000000..9c5c3aa6d2e --- /dev/null +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty @@ -0,0 +1,49 @@ +%% +%% This is file `tagpdf-base.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tagpdf.dtx (with options: `base') +%% tagpdf-mc-generic.dtx (with options: `base') +%% tagpdf-mc-shared.dtx (with options: `base') +%% tagpdf-struct.dtx (with options: `base') +%% tagpdf-checks.dtx (with options: `base') +%% +%% Copyright (C) 2019-2022 Ulrike Fischer +%% +%% It may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% https://www.latex-project.org/lppl.txt +%% +%% This file is part of the "tagpdf bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% File: tagpdf.dtx +\ProvidesExplPackage {tagpdf-base} {2022-05-11} {0.94} + {part of tagpdf - provide base, no-op versions of the user commands } +%% File: tagpdf-mc-generic.dtx +\cs_new_protected:Npn \tag_mc_begin:n #1 {} +\cs_new_protected:Nn \tag_mc_end:{} + +%% File: tagpdf-mc-shared.dtx + +\cs_new_protected:Npn \tag_mc_use:n #1 {} +\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 {} +\cs_new_protected:Npn \tag_struct_end:{} +\cs_new_protected:Npn \tag_struct_use:n #1 {} + +%% File: tagpdf-checks.dtx +\prg_new_conditional:Npnn \tag_if_active: { p , T , TF, F } + { \prg_return_false: } +%% +%% +%% End of file `tagpdf-base.sty'. 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 451799c0733..5d96af0615c 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty @@ -18,8 +18,8 @@ %% This file is part of the "tagpdf bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: tagpdf-mc.dtx -\ProvidesExplPackage {tagpdf-debug-generic} {2022-01-13} {0.93} +%% File: tagpdf-mc-generic.dtx +\ProvidesExplPackage {tagpdf-debug-generic} {2022-05-11} {0.94} {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-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty index f559bd2a34f..262e2bdca24 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty @@ -18,7 +18,7 @@ %% This file is part of the "tagpdf bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: tagpdf-mc.dtx +%% File: tagpdf-mc-luacode.dtx %% %% %% End of file `tagpdf-debug-lua.sty'. diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty index e15bd0955a5..b277f6dcb37 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-01-13} {0.93} +\ProvidesExplPackage {tagpdf-debug} {2022-05-11} {0.94} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} \end{macrocode} @@ -113,33 +113,11 @@ %% File: tagpdf-user.dtx -%% File: tagpdf-mc.dtx +%% File: tagpdf-mc-shared.dtx %% File: tagpdf-tree.dtx %% File: tagpdf-roles.dtx %% File: tagpdf-struct.dtx -\keys_define:nn { __tag / setup } - { - root-AF .code:n = - { - \pdf_object_if_exist:nTF {#1} - { - \__tag_struct_add_AF:en { 0 }{#1} - \__tag_prop_gput:cnx - { g__tag_struct_0_prop } - { AF } - { - [ - \tl_use:c - { g__tag_struct_0_AF_tl } - ] - } - } - { - - } - }, - } \cs_set_protected:Npn \tag_struct_begin:n #1 %#1 key-val { \__tag_check_if_active_struct:TF diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index 098b48eaa0a..333948f2327 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-01-13} {0.93} +\ProvidesExplFile {tagpdf-luatex.def} {2022-05-11} {0.94} {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 e1e7ea01889..b140f5c4c1d 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 @@ -18,8 +18,8 @@ %% This file is part of the "tagpdf bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: tagpdf-mc.dtx -\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-01-13} {0.93} +%% File: tagpdf-mc-generic.dtx +\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-05-11} {0.94} {part of tagpdf - code related to marking chunks - generic mode} \__tag_prop_new:N \g__tag_MCID_byabspage_prop @@ -332,7 +332,7 @@ } \cs_new:Nn \__tag_get_data_mc_tag: { \g__tag_mc_key_tag_tl } -\cs_new_protected:Npn \tag_mc_begin:n #1 %#1 keyval +\cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval { \__tag_check_if_active_mc:T { @@ -365,7 +365,7 @@ \group_end: } } -\cs_new_protected:Nn \tag_mc_end: +\cs_set_protected:Nn \tag_mc_end: { \__tag_check_if_active_mc:T { 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 3df23dd015b..6e773562533 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 @@ -18,8 +18,8 @@ %% This file is part of the "tagpdf bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: tagpdf-mc.dtx -\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-01-13} {0.93} +%% File: tagpdf-mc-luacode.dtx +\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-05-11} {0.94} {tagpdf - mc code only for the luamode } \hook_gput_code:nnn{begindocument}{tagpdf/mc} { @@ -168,7 +168,7 @@ } \cs_generate_variant:Nn \__tag_mc_handle_stash:n { x } -\cs_new_protected:Nn \tag_mc_begin:n +\cs_set_protected:Nn \tag_mc_begin:n { \__tag_check_if_active_mc:T { @@ -199,7 +199,7 @@ \group_end: } } -\cs_new_protected:Nn \tag_mc_end: +\cs_set_protected:Nn \tag_mc_end: { \__tag_check_if_active_mc:T { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua index 4805c3b882f..5cbf03a8b13 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.93", --TAGVERSION - date = "2022-01-13", --TAGDATE + version = "0.94", --TAGVERSION + date = "2022-05-11", --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 822b654d92a..91dcf65368e 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-01-13} {0.93} +\ProvidesExplPackage {tagpdf} {2022-05-11} {0.94} { A package to experiment with pdf tagging } \bool_if:nF @@ -45,7 +45,7 @@ { Activate~it~with \MessageBreak \string\RequirePackage{pdfmanagement-testphase}\MessageBreak - \string\DeclareDocumentMetadata{}\MessageBreak + \string\DocumentMetadata{}\MessageBreak before~\string\documentclass } } @@ -56,6 +56,7 @@ \ExecuteOptions{luamode} \ProcessOptions \RequirePackage{l3ref-tmp} +\RequirePackage{tagpdf-base} \cs_new_protected:Npn \__tag_lastpagelabel: { \legacy_if:nT { @filesw } @@ -120,7 +121,7 @@ \cs_generate_variant:Nn \pdf_object_ref:n {e} \cs_generate_variant:Nn \pdfannot_dict_put:nnn {nnx} \cs_generate_variant:Nn \pdffile_embed_stream:nnn {nxx,oxx} -\cs_generate_variant:Nn \prop_gput:Nnn {Nxx} +\cs_generate_variant:Nn \prop_gput:Nnn {Nxx,Nen} \cs_generate_variant:Nn \prop_put:Nnn {Nxx} \cs_generate_variant:Nn \ref_label:nn { nv } \cs_generate_variant:Nn \seq_set_split:Nnn{Nne} @@ -181,6 +182,11 @@ \bool_set_false:N \l__tag_active_mc_bool } \cs_set_eq:NN \tag_stop_group_end: \group_end: +\cs_new_protected:Npn \tag_stop: + { + \bool_set_false:N \l__tag_active_struct_bool + \bool_set_false:N \l__tag_active_mc_bool + } \keys_define:nn { __tag / setup } { @@ -263,7 +269,7 @@ {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_new_conditional:Npnn \tag_if_active: { p , T , TF, F } +\prg_set_conditional:Npnn \tag_if_active: { p , T , TF, F } { \bool_lazy_all:nTF { @@ -490,7 +496,7 @@ { \prg_return_true: } { \prg_return_false: } } -%% File: tagpdf-mc.dtx +%% File: tagpdf-mc-shared.dtx \newcounter { g__tag_MCID_abs_int } \cs_new:Npn \__tag_get_mc_abs_cnt: { \int_use:N \c@g__tag_MCID_abs_int } @@ -513,7 +519,7 @@ { \tl_new:c { g__tag_mc_label_\tl_to_str:n{#1}_used_tl } } -\cs_new_protected:Npn \tag_mc_use:n #1 %#1: label name +\cs_set_protected:Npn \tag_mc_use:n #1 %#1: label name { \__tag_check_if_active_struct:T { @@ -534,20 +540,20 @@ } } } -\cs_new_protected:Npn \tag_mc_artifact_group_begin:n #1 +\cs_set_protected:Npn \tag_mc_artifact_group_begin:n #1 { \tag_mc_end_push: \tag_mc_begin:n {artifact=#1} \tag_stop_group_begin: } -\cs_new_protected:Npn \tag_mc_artifact_group_end: +\cs_set_protected:Npn \tag_mc_artifact_group_end: { \tag_stop_group_end: \tag_mc_end: \tag_mc_begin_pop:n{} } -\cs_new_protected:Npn \tag_mc_end_push: +\cs_set_protected:Npn \tag_mc_end_push: { \__tag_check_if_active_mc:T { @@ -566,7 +572,7 @@ } } -\cs_new_protected:Npn \tag_mc_begin_pop:n #1 +\cs_set_protected:Npn \tag_mc_begin_pop:n #1 { \__tag_check_if_active_mc:T { @@ -786,7 +792,7 @@ \seq_gremove_duplicates:N \g__tag_attr_class_used_seq \seq_set_map:NNn \l__tag_tmpa_seq \g__tag_attr_class_used_seq { - /##1\c_space_tl + ##1\c_space_tl << \prop_item:Nn \g__tag_attr_entries_prop @@ -1862,7 +1868,7 @@ } }, } -\cs_new_protected:Npn \tag_struct_begin:n #1 %#1 key-val +\cs_set_protected:Npn \tag_struct_begin:n #1 %#1 key-val { \__tag_check_if_active_struct:T { @@ -1920,7 +1926,7 @@ \group_end: } } -\cs_new_protected:Nn \tag_struct_end: +\cs_set_protected:Nn \tag_struct_end: { %take the current structure num from the stack: %the objects are written later, lua mode hasn't all needed info yet %\seq_show:N \g__tag_struct_stack_seq @@ -1946,7 +1952,7 @@ } } } -\cs_new_protected:Nn \tag_struct_use:n %#1 is the label +\cs_set_protected:Npn \tag_struct_use:n #1 %#1 is the label { \__tag_check_if_active_struct:T { @@ -1990,8 +1996,8 @@ \prop_new:N \g__tag_attr_objref_prop %will contain obj num of used attributes \cs_new_protected:Npn \__tag_attr_new_entry:nn #1 #2 %#1:name, #2: content { - \prop_gput:Nnn \g__tag_attr_entries_prop - {#1}{#2} + \prop_gput:Nen \g__tag_attr_entries_prop + {\pdf_name_from_unicode_e:n{#1}}{#2} } \keys_define:nn { __tag / setup } @@ -2006,7 +2012,11 @@ attribute-class .code:n = { \clist_set:No \l__tag_tmpa_clist { #1 } - \seq_set_from_clist:NN \l__tag_tmpa_seq \l__tag_tmpa_clist + \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist + \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq + { + \pdf_name_from_unicode_e:n {##1} + } \seq_map_inline:Nn \l__tag_tmpa_seq { \prop_if_in:NnF \g__tag_attr_entries_prop {##1} @@ -2015,14 +2025,10 @@ } \seq_gput_left:Nn\g__tag_attr_class_used_seq { ##1} } - \seq_set_map:NNn \l__tag_tmpb_seq \l__tag_tmpa_seq - { - /##1 - } \tl_set:Nx \l__tag_tmpa_tl { \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[} - \seq_use:Nn \l__tag_tmpb_seq { \c_space_tl } + \seq_use:Nn \l__tag_tmpa_seq { \c_space_tl } \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{]} } \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 0 } @@ -2040,7 +2046,11 @@ attribute .code:n = % A property (attribute, value currently a dictionary) { \clist_set:No \l__tag_tmpa_clist { #1 } - \seq_set_from_clist:NN \l__tag_tmpa_seq \l__tag_tmpa_clist + \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist + \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq + { + \pdf_name_from_unicode_e:n {##1} + } \tl_set:Nx \l__tag_attr_value_tl { \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[}%] diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index 3c283a8a3e3..102560ead07 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-01-13} {0.93} +\ProvidesExplPackage {tagpdfdocu-patches} {2022-05-11} {0.94} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox} @@ -86,7 +86,11 @@ % no internal patches, but KOMA-only solution %%%%%%%% +% the structure should be opened rather early to catch the refstepcounter! \AddtoDoHook{heading/begingroup}{\tagpdfparaOff\use_none:n} +\cs_new_protected:Npn \__tag_struct_section_begin:n #1 {\tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}}} +\AddtoDoHook{heading/postinit}{\__tag_struct_section_begin:n} +\AddtoDoHook{heading/endgroup}{\tagstructend\use_none:n} \prop_new:N \g_tag_section_level_prop \prop_gput:Nnn \g_tag_section_level_prop {section}{H1} @@ -98,7 +102,6 @@ { \@hangfrom {\hskip #2 - \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}} %\tl_if_empty:nF{#3} \tl_if_in:nnF{\@empty}{#3} { @@ -109,7 +112,7 @@ } {\tag_mc_begin:n {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} #4 - \tag_mc_end:\tagstructend}% + \tag_mc_end:}% } % minisec is simply P, so we let paratagging handle this. -- cgit v1.2.3