diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 131 |
1 files changed, 60 insertions, 71 deletions
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty index 8bd5ebe5d77..93965cf14f7 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty @@ -28,7 +28,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf} {2024-01-19} {0.98s} +\ProvidesExplPackage {tagpdf} {2024-01-26} {0.98t} { A package to experiment with pdf tagging } \bool_if:nF @@ -799,45 +799,25 @@ { IDTree } { \pdf_object_ref_last: } } -\pdf_version_compare:NnTF < {2.0} - { - \cs_new_protected:Npn \__tag_tree_write_structtreeroot: - { - \__tag_prop_gput:cne - { g__tag_struct_0_prop } - { ParentTree } - { \pdf_object_ref:n { __tag/tree/parenttree } } - \__tag_prop_gput:cne - { g__tag_struct_0_prop } - { RoleMap } - { \pdf_object_ref:n { __tag/tree/rolemap } } - \__tag_struct_fill_kid_key:n { 0 } - \__tag_struct_get_dict_content:nN { 0 } \l__tag_tmpa_tl - \pdf_object_write:nne - { __tag/struct/0 } - {dict} - { - \l__tag_tmpa_tl - } - } - } - { - \cs_new_protected:Npn \__tag_tree_write_structtreeroot: - { - \__tag_prop_gput:cne - { g__tag_struct_0_prop } - { ParentTree } - { \pdf_object_ref:n { __tag/tree/parenttree } } - \__tag_struct_fill_kid_key:n { 0 } - \__tag_struct_get_dict_content:nN { 0 } \l__tag_tmpa_tl - \pdf_object_write:nne - { __tag/struct/0 } - {dict} - { - \l__tag_tmpa_tl - } - } - } +\cs_new_protected:Npn \__tag_tree_write_structtreeroot: + { + \__tag_prop_gput:cne + { g__tag_struct_0_prop } + { ParentTree } + { \pdf_object_ref:n { __tag/tree/parenttree } } + \__tag_prop_gput:cne + { g__tag_struct_0_prop } + { RoleMap } + { \pdf_object_ref:n { __tag/tree/rolemap } } + \__tag_struct_fill_kid_key:n { 0 } + \__tag_struct_get_dict_content:nN { 0 } \l__tag_tmpa_tl + \pdf_object_write:nne + { __tag/struct/0 } + {dict} + { + \l__tag_tmpa_tl + } + } \cs_new_protected:Npn \__tag_tree_write_structelements: { \int_step_inline:nnnn {1}{1}{\c@g__tag_struct_abs_int} @@ -947,33 +927,30 @@ /Nums\c_space_tl [\l__tag_parenttree_content_tl] } } -\pdf_version_compare:NnT < {2.0} - { - \pdf_object_new:n { __tag/tree/rolemap } - } -\pdf_version_compare:NnTF < {2.0} - { - \cs_new_protected:Npn \__tag_tree_write_rolemap: - { - \prop_map_inline:Nn\g__tag_role_rolemap_prop +\pdf_object_new:n { __tag/tree/rolemap } +\cs_new_protected:Npn \__tag_tree_write_rolemap: + { + \bool_if:NT \g__tag_role_add_mathml_bool + { + \prop_map_inline:Nn \g__tag_role_NS_mathml_prop { - \tl_if_eq:nnF {##1}{##2} - { - \pdfdict_gput:nne {g__tag_role/RoleMap_dict} - {##1} - {\pdf_name_from_unicode_e:n{##2}} - } + \prop_gput:Nnn \g__tag_role_rolemap_prop {##1}{Span} } - \pdf_object_write:nne { __tag/tree/rolemap }{dict} - { - \pdfdict_use:n{g__tag_role/RoleMap_dict} - } + } + \prop_map_inline:Nn\g__tag_role_rolemap_prop + { + \tl_if_eq:nnF {##1}{##2} + { + \pdfdict_gput:nne {g__tag_role/RoleMap_dict} + {##1} + {\pdf_name_from_unicode_e:n{##2}} + } + } + \pdf_object_write:nne { __tag/tree/rolemap }{dict} + { + \pdfdict_use:n{g__tag_role/RoleMap_dict} } - } - { - \cs_new_protected:Npn \__tag_tree_write_rolemap:{} - } - + } \cs_new_protected:Npn \__tag_tree_write_classmap: { \tl_clear:N \l__tag_tmpa_tl @@ -1155,12 +1132,10 @@ \int_to_Hex:n{\int_rand:n {16777215}} \int_to_Hex:n{\int_rand:n {16777215}} } +\bool_new:N \g__tag_role_add_mathml_bool \__tag_role_NS_new:nnn {pdf} {http://iso.org/pdf/ssn}{} \__tag_role_NS_new:nnn {pdf2} {http://iso.org/pdf2/ssn}{} -\pdf_version_compare:NnF < {2.0} - { - \__tag_role_NS_new:nnn {mathml}{http://www.w3.org/1998/Math/MathML}{} - } +\__tag_role_NS_new:nnn {mathml}{http://www.w3.org/1998/Math/MathML}{} \__tag_role_NS_new:nnn {latex} {https://www.latex-project.org/ns/dflt/2022}{} \__tag_role_NS_new:nnn {latex-book} {https://www.latex-project.org/ns/book/2022}{} \__tag_role_NS_new:nnn {latex-inline} {https://www.latex-project.org/ns/inline/2022}{} @@ -1290,6 +1265,20 @@ \prop_gput:cno { g__tag_role_NS_#2_prop } {#1}{\l__tag_tmpa_tl} } } + \tl_if_empty:nF { #3 } + { + \tl_if_eq:nnF{#1}{#3} + { + \prop_get:NnN \g__tag_role_rolemap_prop {#3}\l__tag_tmpa_tl + \quark_if_no_value:NTF \l__tag_tmpa_tl + { + \prop_gput:Nne \g__tag_role_rolemap_prop {#1}{\tl_to_str:n{#3}} + } + { + \prop_gput:NnV \g__tag_role_rolemap_prop {#1}\l__tag_tmpa_tl + } + } + } } \cs_generate_variant:Nn \__tag_role_add_tag:nnnn {VVVV} \pdf_version_compare:NnF < {2.0} @@ -1400,8 +1389,7 @@ } \__tag_role_read_namespace:n {pdf} \__tag_role_read_namespace:n {pdf2} -\pdf_version_compare:NnF < {2.0} - {\__tag_role_read_namespace:n {mathml}} +\__tag_role_read_namespace:n {mathml} \bool_set_false:N\l__tag_role_update_bool \__tag_role_read_namespace:n {latex-inline} \__tag_role_read_namespace:n {latex-book} @@ -1763,7 +1751,8 @@ \keys_define:nn { __tag / setup } { - add-new-tag .code:n = + mathml-tags .bool_gset:N = \g__tag_role_add_mathml_bool + ,add-new-tag .code:n = { \keys_set_known:nnnN {__tag/tag-role} |