summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-13 21:05:40 +0000
committerKarl Berry <karl@freefriends.org>2022-01-13 21:05:40 +0000
commitd8a708abc1ed023e582f732ac87e906bba4d884c (patch)
tree3212c9992cf00ad728c8dceb83f414377b6fcebf /Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
parent031d7dac6f41c0c635cb8e8fa08cf794a1cc80c1 (diff)
tagpdf (13jan22)
git-svn-id: svn://tug.org/texlive/trunk@61600 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty')
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty235
1 files changed, 235 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
new file mode 100644
index 00000000000..e15bd0955a5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
@@ -0,0 +1,235 @@
+%%
+%% This is file `tagpdf-debug.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tagpdf.dtx (with options: `debug')
+%% tagpdf-checks.dtx (with options: `debug')
+%% tagpdf-user.dtx (with options: `debug')
+%% tagpdf-mc-shared.dtx (with options: `debug')
+%% tagpdf-tree.dtx (with options: `debug')
+%% tagpdf-roles.dtx (with options: `debug')
+%% tagpdf-struct.dtx (with options: `debug')
+%% tagpdf-space.dtx (with options: `debug')
+%%
+%% 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-debug} {2022-01-13} {0.93}
+ { debug code for tagpdf }
+\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
+ \end{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {}
+\prop_gput:Nnn \g_msg_module_name_prop { tag / debug }{tagpdf~DEBUG}
+\bool_if:NTF \g__tag_mode_lua_bool
+ {
+ \RequirePackage {tagpdf-debug-lua}
+ }
+ {
+ \RequirePackage {tagpdf-debug-generic} %
+ }
+%% File: tagpdf-checks.dtx
+\msg_new:nnn { tag / debug } {mc-begin} { MC~begin~#1~with~options:~\tl_to_str:n{#2}~[\msg_line_context:] }
+\msg_new:nnn { tag / debug } {mc-end} { MC~end~#1~[\msg_line_context:] }
+
+\cs_new_protected:Npn \__tag_debug_mc_begin_insert:n #1
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnnn { tag / debug } {mc-begin} {inserted} { #1 }
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_mc_begin_ignore:n #1
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnnn { tag / debug } {mc-begin } {ignored} { #1 }
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_mc_end_insert:
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnn { tag / debug } {mc-end} {inserted}
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_mc_end_ignore:
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnn { tag / debug } {mc-end } {ignored}
+ }
+ }
+\msg_new:nnn { tag / debug } {struct-begin}
+ {
+ Struct~begin~#1~with~options:~\tl_to_str:n{#2}~[\msg_line_context:]
+ }
+\msg_new:nnn { tag / debug } {struct-end}
+ {
+ Struct~end~#1~[\msg_line_context:]
+ }
+
+\cs_new_protected:Npn \__tag_debug_struct_begin_insert:n #1
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnnn { tag / debug } {struct-begin} {inserted} { #1 }
+ \seq_log:N \g__tag_struct_tag_stack_seq
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_struct_begin_ignore:n #1
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnnn { tag / debug } {struct-begin } {ignored} { #1 }
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_struct_end_insert:
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnn { tag / debug } {struct-end} {inserted}
+ \seq_log:N \g__tag_struct_tag_stack_seq
+ }
+ }
+\cs_new_protected:Npn \__tag_debug_struct_end_ignore:
+ {
+ \int_compare:nNnT { \l__tag_loglevel_int } > {0}
+ {
+ \msg_note:nnn { tag / debug } {struct-end } {ignored}
+ }
+ }
+%% File: tagpdf-user.dtx
+
+
+%% File: tagpdf-mc.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
+ {
+ \group_begin:
+ \int_gincr:N \c@g__tag_struct_abs_int
+ \__tag_prop_new:c { g__tag_struct_\int_eval:n { \c@g__tag_struct_abs_int }_prop }
+ \__tag_new_output_prop_handler:n {\int_eval:n { \c@g__tag_struct_abs_int }}
+ \__tag_seq_new:c { g__tag_struct_kids_\int_eval:n { \c@g__tag_struct_abs_int }_seq}
+ \exp_args:Ne
+ \pdf_object_new:nn
+ { __tag/struct/\int_eval:n { \c@g__tag_struct_abs_int } }
+ { dict }
+ \__tag_prop_gput:cno
+ { g__tag_struct_\int_eval:n { \c@g__tag_struct_abs_int }_prop }
+ { Type }
+ { /StructElem }
+ \keys_set:nn { __tag / struct} { #1 }
+ \__tag_check_structure_has_tag:n { \int_eval:n {\c@g__tag_struct_abs_int} }
+ \tl_if_empty:NF
+ \l__tag_struct_key_label_tl
+ {
+ \__tag_ref_label:en{tagpdfstruct-\l__tag_struct_key_label_tl}{struct}
+ }
+ %get the potential parent from the stack:
+ \seq_get:NNF
+ \g__tag_struct_stack_seq
+ \l__tag_struct_stack_parent_tmpa_tl
+ {
+ \msg_error:nn { tag } { struct-faulty-nesting }
+ }
+ \seq_gpush:NV \g__tag_struct_stack_seq \c@g__tag_struct_abs_int
+ \seq_gpush:NV \g__tag_struct_tag_stack_seq \g__tag_struct_tag_tl
+ \tl_gset:NV \g__tag_struct_stack_current_tl \c@g__tag_struct_abs_int
+ %\seq_show:N \g__tag_struct_stack_seq
+ \bool_if:NF
+ \l__tag_struct_elem_stash_bool
+ {%set the parent
+ \__tag_prop_gput:cnx
+ { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop }
+ { P }
+ {
+ \pdf_object_ref:e { __tag/struct/\l__tag_struct_stack_parent_tmpa_tl }
+ }
+ %record this structure as kid:
+ %\tl_show:N \g__tag_struct_stack_current_tl
+ %\tl_show:N \l__tag_struct_stack_parent_tmpa_tl
+ \__tag_struct_kid_struct_gput_right:xx
+ { \l__tag_struct_stack_parent_tmpa_tl }
+ { \g__tag_struct_stack_current_tl }
+ %\prop_show:c { g__tag_struct_\g__tag_struct_stack_current_tl _prop }
+ %\seq_show:c {g__tag_struct_kids_\l__tag_struct_stack_parent_tmpa_tl _seq}
+ }
+ %\prop_show:c { g__tag_struct_\g__tag_struct_stack_current_tl _prop }
+ %\seq_show:c {g__tag_struct_kids_\l__tag_struct_stack_parent_tmpa_tl _seq}
+ \__tag_debug_struct_begin_insert:n { #1 }
+ \group_end:
+ }
+{ \__tag_debug_struct_begin_ignore:n { #1 }}
+ }
+\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
+\__tag_check_if_active_struct:TF
+ {
+ \seq_gpop:NN \g__tag_struct_tag_stack_seq \l__tag_tmpa_tl
+ \seq_gpop:NNTF \g__tag_struct_stack_seq \l__tag_tmpa_tl
+ {
+ \__tag_check_info_closing_struct:o { \g__tag_struct_stack_current_tl }
+ }
+ { \__tag_check_no_open_struct: }
+ % get the previous one, shouldn't be empty as the root should be there
+ \seq_get:NNTF \g__tag_struct_stack_seq \l__tag_tmpa_tl
+ {
+ \tl_gset:NV \g__tag_struct_stack_current_tl \l__tag_tmpa_tl
+ }
+ {
+ \__tag_check_no_open_struct:
+ }
+ \seq_get:NNT \g__tag_struct_tag_stack_seq \l__tag_tmpa_tl
+ {
+ \tl_gset:NV \g__tag_struct_tag_tl \l__tag_tmpa_tl
+ }
+\__tag_debug_struct_end_insert:
+ }
+{\__tag_debug_struct_end_ignore:}
+ }
+
+%% File: tagpdf-space.dtx
+%%
+%%
+%% End of file `tagpdf-debug.sty'.