%%
%% This is file `lwarp-tagpdf.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lwarp.dtx  (with options: `tagpdf')
%% This is a generated file.
%% Copyright 2016-2022 Brian Dunn
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.

\LWR@ProvidesPackageDrop{tagpdf}[2021-08-27]
\ExplSyntaxOn

\tl_new:N \l__uftag_mc_key_label_tl

\keys_define:nn { __tag / mc }
  {
    stash                    .bool_set:N    = \l__tag_mc_key_stash_bool,
    __artifact-bool          .bool_set:N    = \l__tag_mc_artifact_bool,
    __artifact-type          .choice:,
    __artifact-type / pagination .code:n    =
      {},
    __artifact-type / pagination/header .code:n    =
      {},
    __artifact-type / pagination/footer .code:n    =
      {},
    __artifact-type / layout     .code:n    =
      {},
    __artifact-type / page       .code:n    =
      {},
    __artifact-type / background .code:n    =
      {},
    __artifact-type / notype     .code:n    =
      {},
    __artifact-type /      .code:n    =
      {},
  }

\keys_define:nn { __tag / mc }
  {
    tag .code:n = % the name (H,P,Span) etc
      {},
    raw  .code:n =
      {},
    alttext .code:n      = % Alt property
      {
        \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
      },
    actualtext .code:n      = % ActualText property
      {},
    label .tl_set:N        = \l__tag_mc_key_label_tl,
    artifact .code:n       =
      {},
    artifact .default:n    = {notype}
  }

\keys_define:nn { __tag / struct }
  {
    label .tl_set:N      = \l__tag_struct_key_label_tl,
    stash .bool_set:N    = \l__tag_struct_elem_stash_bool,
    tag   .code:n        = % S property
      {},
    title .code:n        = % T property
      {},
    title-o .code:n        = % T property
      {},
    alttext .code:n      = % Alt property
      {
        \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
      },
    actualtext .code:n  = % ActualText property
      {},
    lang .code:n        = % Lang property
      {},
    ref .code:n        = % Lang property
      {},
    E .code:n        = % E property
      {},
  }

\keys_define:nn { __tag / struct }
 {
    AF .code:n        = % AF property
      {},
   ,AFinline .code:n =
     {}
   ,AFinline-o .code:n =
     {}
 }

\keys_define:nn { __tag / struct }
  {
    attribute-class .code:n =
     {}
  }

\keys_define:nn { __tag / struct }
  {
    attribute .code:n  = % A property (attribute, value currently a dictionary)
      {},
  }

\cs_new_protected:Npn \__tag_ref_label:nn #1 #2 %#1 label, #2 name of list mc or struct
  {
    \@bsphack
    \ref_label:nv {#1}{c__tag_ref#2_clist}
    \@esphack
  }
\cs_generate_variant:Nn \__tag_ref_label:nn {en}

\cs_new:Npn \__tag_ref_value:nnn #1 #2 #3 %#1 label, #2 attribute, #3 default
  {
    \ref_value:nnn {#1}{#2}{#3}
  }
\cs_generate_variant:Nn \__tag_ref_value:nnn {enn}
\cs_new:Npn \__tag_ref_value_lastpage:nn #1 #2
  {
    \ref_value:nnn {__tag_LastPage}{#1}{#2}
  }

\NewDocumentCommand \tagpdfsetup { m }{}

\cs_set_eq:NN\tagpdfifluatexTF \sys_if_engine_luatex:TF
\cs_set_eq:NN\tagpdfifluatexT  \sys_if_engine_luatex:T
\cs_set_eq:NN\tagpdfifpdftexT  \sys_if_engine_pdftex:T
\cs_new:Npn \tagpdfget #1 {}
\cs_new:Npn \uftag_get:n #1 {}

\NewDocumentCommand \tagmcifinTF { m m }{}

\NewDocumentCommand \tagmcbegin { m }{%
    \tag_mc_begin:n {#1}%\ignorespaces
}

\cs_new_protected:Npn \tag_mc_begin:n #1 %#1 keyval
  {
    \keys_set:nn { __tag / mc } {#1}
  }

\NewDocumentCommand \tagmcend {}{\ThisAltText{}}

\NewDocumentCommand \tagmcuse { m }{}

\cs_new_protected:Nn \uftag_mc_use:n {}

\NewDocumentCommand \tagstructbegin { m }
  {
    \tag_struct_begin:n {#1}
  }

\cs_new_protected:Npn \tag_struct_begin:n #1 %#1 key-val
  {
    \keys_set:nn { __tag / struct} { #1 }
  }

\NewDocumentCommand \tagstructend {  }
  {
   \tag_struct_end:
  }

\cs_new_protected:Nn \tag_struct_end:
    {\ThisAltText{}}

\NewDocumentCommand \tagstructuse { m }{}

\NewDocumentCommand\ShowTagging { m }
  {}

\sys_if_engine_luatex:T
{
  \NewDocumentCommand\pdffakespace { }
  {}
}

\newcommand\tagpdfparaOn {}

\newcommand\tagpdfparaOff{}

\NewDocumentCommand\tagpdfsuppressmarks{m}{}

\ExplSyntaxOff
\endinput
%%
%% End of file `lwarp-tagpdf.sty'.
