diff options
author | Karl Berry <karl@freefriends.org> | 2018-08-07 22:06:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-08-07 22:06:23 +0000 |
commit | 706448acbd096e1a59cb987e8352abdd43624ebe (patch) | |
tree | b15d896ae27ff72a04f6ffcdc9ed0fc2ccdc689b /Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | |
parent | 23fec857e8f705b5595264d42d1265077d09654d (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.sty | 43 |
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 } |