summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-07 22:06:23 +0000
committerKarl Berry <karl@freefriends.org>2018-08-07 22:06:23 +0000
commit706448acbd096e1a59cb987e8352abdd43624ebe (patch)
treeb15d896ae27ff72a04f6ffcdc9ed0fc2ccdc689b /Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
parent23fec857e8f705b5595264d42d1265077d09654d (diff)
tagpdf (7aug18)
git-svn-id: svn://tug.org/texlive/trunk@48366 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty')
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty43
1 files changed, 34 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
index 15c87eb3fed..cc91ad5cee1 100644
--- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
+++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
@@ -1,6 +1,6 @@
\RequirePackage{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdf} {2018/07/09} {0.2}
+\ProvidesExplPackage {tagpdf} {2018/08/06} {0.3}
{A package to experiment with pdf tagging}
% storing internal names to my name space:
@@ -34,13 +34,18 @@
\RequirePackage{zref-base,zref-lastpage}
\RequirePackage{etoolbox}
\RequirePackage{pdfescape}
+\RequirePackage{pdftexcmds}
+
+\RequirePackage{l3str-convert}
+\cs_generate_variant:Nn \str_set_convert:Nnnn {Nonn, Noon, Nnon }
+
%%% absolute page numbers
\int_new:N \g__uftag_abspage_int
\int_gset:Nn \g__uftag_abspage_int { 0 }
-\zref@newlist {tagpdf}
+\zref@newlist {uftagzrl} %zrl=zreflist
\zref@newprop*{tagabspage} [0] { \int_use:N \g__uftag_abspage_int }
-\zref@addprop {tagpdf} {tagabspage}
+\zref@addprop {uftagzrl} {tagabspage}
%%% tagpdfsetup,
@@ -48,7 +53,7 @@
\int_new:N \l__uftag_loglevel_int
\tl_new:N \l__uftag_tree_tabs_order_tl
-\keys_define:nn { tagpdf-setup }
+\keys_define:nn { uftag / setup }
{
activate-mc .bool_gset:N = \g_uftag_active_mc_bool,
activate-tree .bool_gset:N = \g_uftag_active_tree_bool,
@@ -69,6 +74,7 @@
tabsorder / column .code:n = {\tl_set:Nn \l__uftag_tree_tabs_order_tl {/Tabs/C}},
tabsorder / structure .code:n = {\tl_set:Nn \l__uftag_tree_tabs_order_tl {/Tabs/S}},
tabsorder / none .code:n = {\tl_set:Nn \l__uftag_tree_tabs_order_tl {}},
+ tabsorder .initial:n = structure,
compresslevel .choices:nn = {0,1,2,3,4,5,6,7,8,9}
{
\__uftag_pdfcompresslevel:n {#1}
@@ -76,16 +82,31 @@
},
compresslevel .value_required:n = true,
uncompress .meta:n = { compresslevel = 0 },
+ inputencoding .code:n =
+ {
+ \sys_if_engine_pdftex:T
+ { \tl_gset:Nn \g__uftag_inputencoding_tl { #1 } }
+ },
}
-
+% escape commands are a bit engine specific so have been moved to the driver files.
% commands to escape strings so that they can be safely used in pdf
% currently not much used. But will be needed later, when alt and actualtext are added.
% we probably need the equivalent \pdfescapestring, \pdfescapename \pdfescapehex
% the commands of pdfescape adds an additional layout to allow for babel shorthands
-\cs_set_eq:NN \__uftag_pdf_escape_string:Nn \EdefEscapeString
-\cs_set_eq:NN \__uftag_pdf_escape_name:Nn \EdefEscapeName
-\cs_set_eq:NN \__uftag_pdf_escape_hex:Nn \EdefEscapeHex
+%\cs_set_eq:NN \__uftag_pdf_escape_string:Nn \EdefEscapeString
+%\cs_set_eq:NN \__uftag_pdf_escape_name:Nn \EdefEscapeName
+%\cs_set_eq:NN \__uftag_pdf_escape_hex:Nn \EdefEscapeHex
+
+%\cs_set_eq:NN \__uftag_pdf_escape_string:n \EdefEscapeString
+%\cs_set_eq:NN \__uftag_pdf_escape_name:Nn \EdefEscapeName
+
+%escape command. They are driver specific as \pdf@escapehex would ignore most chars
+%outside the "pdflatex" range
+
+
+
+
% a hook for later code and an absolute page counter
% should be executed before counters are resetted.
@@ -95,7 +116,10 @@
\AtBeginShipout
{
\__uftag_finish_page_hook:
- \__uftag_tree_write_pageattr:
+ \bool_if:NT\g_uftag_active_tree_bool
+ {
+ \__uftag_tree_write_pageattr:
+ }
\int_gincr:N \g__uftag_abspage_int
}
@@ -141,6 +165,7 @@
\tl_new:N \l__uftag_tmpc_tl
\tl_new:N \l__uftag_tmpd_tl
\tl_new:N \l__uftag_tmpe_tl
+\str_new:N \l__uftag_tmpa_str
% helper function to get the propcount.
% use as \prop_map_function:NN PROP { \__uftag_prop_count:nn -1 }