%%
%% This is file `tagpdf-luatex.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tagpdf-backend.dtx  (with options: `luatex')
%% 
%% Copyright (C) 2019-2024 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-backend.dtx
\ProvidesExplFile {tagpdf-luatex.def} {2025-03-26} {0.99p}
  {tagpdf~driver~for~luatex}
{
  \fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont
}
\lua_now:e { tagpdf=require('tagpdf.lua') }
\cs_set_protected:Npn \__tag_prop_new:N #1
  {
    \prop_new:N #1
    \lua_now:e { ltx.__tag.tables.\cs_to_str:N#1 = {} }
  }

\cs_set_protected:Npn \__tag_prop_new_linked:N #1
  {
    \prop_new_linked:N #1
    \lua_now:e { ltx.__tag.tables.\cs_to_str:N#1 = {} }
  }

\cs_set_protected:Npn \__tag_seq_new:N #1
  {
    \seq_new:N #1
    \lua_now:e { ltx.__tag.tables.\cs_to_str:N#1 = {} }
  }

\cs_set_protected:Npn \__tag_prop_gput:Nnn #1 #2 #3
  {
    \prop_gput:Nnn #1 { #2 } { #3 }
    \lua_now:e { ltx.__tag.tables.\cs_to_str:N#1 ["#2"] = "\lua_escape:n{#3}" }
  }

\cs_set_protected:Npn \__tag_seq_gput_right:Nn #1 #2
  {
    \seq_gput_right:Nn #1 { #2 }
    \lua_now:e { table.insert(ltx.__tag.tables.\cs_to_str:N#1, "#2") }
  }
\cs_set_protected:Npn \__tag_seq_gput_left:Nn #1 #2
  {
    \seq_gput_left:Nn #1 { #2 }
    \lua_now:e { table.insert(ltx.__tag.tables.\cs_to_str:N#1, "#2") }
  }

\cs_set:Npn \__tag_seq_item:cn #1 #2
  {
    \lua_now:e { tex.print(ltx.__tag.tables.#1[#2]) }
  }

\cs_set:Npn \__tag_prop_item:cn #1 #2
  {
    \lua_now:e { tex.print(ltx.__tag.tables.#1["#2"]) }
  }

\cs_set_protected:Npn \__tag_seq_show:N #1
  {
    \seq_show:N #1
    \lua_now:e { ltx.__tag.trace.log ("lua~sequence~array~\cs_to_str:N#1",1) }
    \lua_now:e { ltx.__tag.trace.show_seq (ltx.__tag.tables.\cs_to_str:N#1) }
  }

\cs_set_protected:Npn \__tag_prop_show:N #1
  {
    \prop_show:N #1
    \lua_now:e {ltx.__tag.trace.log  ("lua~property~table~\cs_to_str:N#1",1) }
    \lua_now:e {ltx.__tag.trace.show_prop (ltx.__tag.tables.\cs_to_str:N#1) }
 }
%% 
%%
%% End of file `tagpdf-luatex.def'.
