summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tagpdf/tagpdf.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-14 03:00:50 +0000
committerNorbert Preining <norbert@preining.info>2024-04-14 03:00:50 +0000
commitad42b96b7e6aa836e884a18da3f45d53dc779145 (patch)
treeeed2ae1a2aca7542edc24a57fcbc7402307c72ba /macros/latex/contrib/tagpdf/tagpdf.dtx
parent8c3c68877a46b9b70b5d02c8582595e90be9737a (diff)
CTAN sync 202404140300
Diffstat (limited to 'macros/latex/contrib/tagpdf/tagpdf.dtx')
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx38
1 files changed, 31 insertions, 7 deletions
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index ffdb147b45..064490c2c4 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -87,7 +87,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2024-03-27} {0.99a}
+\ProvidesExplPackage {tagpdf} {2024-04-12} {0.99b}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -113,7 +113,7 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2024-03-27} {0.99a}
+\ProvidesExplPackage {tagpdf-debug} {2024-04-12} {0.99b}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
% \end{macrocode}
@@ -136,7 +136,7 @@
% we define a base package with dummy functions
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2024-03-27} {0.99a}
+\ProvidesExplPackage {tagpdf-base} {2024-04-12} {0.99b}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
@@ -184,7 +184,34 @@
}
%</base>
% \end{macrocode}
+% \subsection{Indexed objects}
+% 2024-04-11: Temporary code! Can be removed after the next expl3 release!
+% \begin{macrocode}
+\cs_if_free:NT \pdf_object_new_indexed:nn
+ {
+ \cs_generate_variant:Nn \pdf_object_new:n {e}
+ \cs_generate_variant:Nn \pdf_object_write:nnn {enn}
+ \cs_new_protected:Npn \pdf_object_new_indexed:nn #1 #2
+ {
+ \pdf_object_new:e {#1/\int_eval:n{#2}}
+ }
+ \cs_new_protected:Npn \pdf_object_write_indexed:nnnn #1 #2 #3 #4
+ {
+ \pdf_object_write:enn {#1/\int_eval:n{#2}}{#3}{#4}
+ }
+ \cs_generate_variant:Nn \pdf_object_write_indexed:nnnn {nnne}
+ \cs_new:Npn\pdf_object_ref_indexed:nn #1 #2
+ {
+ \pdf_object_ref:e {#1/\int_eval:n{#2}}
+ }
+ \cs_new:Npn \__kernel_pdf_object_id_indexed:nn #1 #2
+ {
+ \int_use:c
+ { c__pdf_object_ #1/\int_eval:n{#2} _int }
+ }
+ }
+% \end{macrocode}
% \subsection{a LastPage label}
% See also issue \#2 in Accessible-xref
% \begin{macro}{\@@_lastpagelabel:}
@@ -404,10 +431,7 @@
{0} { \int_use:N \c@g_@@_struct_abs_int }
\@@_property_new:nnnn { tagstructobj } { now } {}
{
- \pdf_object_if_exist:eT {@@/struct/\int_use:N \c@g__tag_struct_abs_int}
- {
- \pdf_object_ref:e{@@/struct/\int_use:N \c@g_@@_struct_abs_int}
- }
+ \pdf_object_ref_indexed:nn { @@/struct } { \c@g_@@_struct_abs_int }
}
\@@_property_new:nnnn
{ tagabspage } { shipout }