[latex3-commits] [git/LaTeX3-latex3-latex3] master: PDF Annotation basics (982908d)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed Apr 10 21:03:59 CEST 2019
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/982908d013080dbd4cc18299eebed26f06c5991a
>---------------------------------------------------------------
commit 982908d013080dbd4cc18299eebed26f06c5991a
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Apr 10 19:49:34 2019 +0100
PDF Annotation basics
>---------------------------------------------------------------
982908d013080dbd4cc18299eebed26f06c5991a
l3kernel/l3drivers-pdf.dtx | 246 ++++++++++++++++++++++++++-----
l3kernel/l3drivers.dtx | 9 ++
l3kernel/testfiles/m3expl001.luatex.tlg | 4 +-
l3kernel/testfiles/m3expl001.ptex.tlg | 11 +-
l3kernel/testfiles/m3expl001.tlg | 4 +-
l3kernel/testfiles/m3expl001.uptex.tlg | 11 +-
l3kernel/testfiles/m3expl001.xetex.tlg | 11 +-
l3kernel/testfiles/m3expl003.luatex.tlg | 4 +-
l3kernel/testfiles/m3expl003.ptex.tlg | 11 +-
l3kernel/testfiles/m3expl003.tlg | 4 +-
l3kernel/testfiles/m3expl003.uptex.tlg | 11 +-
l3kernel/testfiles/m3expl003.xetex.tlg | 11 +-
12 files changed, 272 insertions(+), 65 deletions(-)
diff --git a/l3kernel/l3drivers-pdf.dtx b/l3kernel/l3drivers-pdf.dtx
index f4aad03..e15dd20 100644
--- a/l3kernel/l3drivers-pdf.dtx
+++ b/l3kernel/l3drivers-pdf.dtx
@@ -66,8 +66,6 @@
%<*dvips>
% \end{macrocode}
%
-% \subsubsection{Annotations}
-%
% \subsubsection{Objects}
%
% \begin{variable}{\g_@@_pdf_object_int, \g_@@_pdf_object_prop}
@@ -164,6 +162,123 @@
% \end{macro}
% \end{macro}
%
+% \subsubsection{Annotations}
+%
+% In \texttt{dvips}, annotations have to be constructed manually. As such,
+% we need the object code above for some definitions.
+%
+% \begin{variable}{\l_@@_tmp_box}
+% A box for creating annotations.
+% \begin{macrocode}
+\box_new:N \l_@@_tmp_box
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_pdf_annotation_int}
+% Needed as objects which are not annotations could be created.
+% \begin{macrocode}
+\int_new:N \g_@@_pdf_annotation_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\driver_pdf_annotation:nnnn}
+% Annotations are objects, but we track them separately. Notably, they are
+% not in the object data lists. Here, to get the co-ordinates of the
+% annotation, we need to have the data collected at the PostScript level.
+% That requires a bit of box trickery (effectively a \LaTeXe{} |picture|
+% of zero size). Once the data is collected, use it to set up the annotation
+% border.
+% \begin{macrocode}
+\cs_new_protected:Npn \driver_annotation:nnnn #1#2#3#4
+ {
+ \int_gincr:N \g_@@_pdf_object_int
+ \int_gset_eq:NN \g_@@_pdf_annotation_int \g_@@_pdf_object_int
+ \group_begin:
+ \hbox_set_to_wd:Nnn \l_@@_tmp_box { 0pt }
+ {
+ \box_move_down:nn {#3}
+ {
+ \hbox_overlap_right:n
+ {
+ \@@_literal:n
+ {
+ ps: currentpoint ~
+ /l3lly ~ exch ~ def ~
+ /l3llx ~ exch ~ def
+ }
+ }
+ }
+ \box_move_up:nn {#2}
+ {
+ \hbox_overlap_right:n
+ {
+ \tex_kern:D \dim_eval:n {#1} \scan_stop:
+ \@@_literal:n
+ {
+ ps: currentpoint ~
+ /l3ury ~ exch ~ def ~
+ /l3urx ~ exch ~ def
+ }
+ }
+ }
+ }
+ \box_resize_to_ht:Nn \l_@@_tmp_box { 0pt }
+ \box_use_drop:N \l_@@_tmp_box
+ \group_end:
+ \@@_literal_postscript:x
+ {
+ mark ~ /_objdef ~ \int_use:N \g_@@_pdf_object_int \c_space_tl
+ /Rect ~ [ l3llx ~ l3lly ~ l3urx ~ l3ury ]
+ #4
+ /ANN ~ pdfmark
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\driver_pdf_annotation_last:}
+% Provide the last annotation we created: could get tricky of course if
+% other packages are loaded.
+% \begin{macrocode}
+\cs_new:Npn \driver_pdf_annotation_last:
+ { \int_use:N \g_@@_pdf_annotation_int }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\driver_pdf_link_goto:nnn, \driver_pdf_link_user:nnn}
+% \begin{macro}{\@@_pdf_link:nnnn}
+% The approach here is based on \pkg{pdfbase}. It is likely to be revised
+% using code or ideas from \pkg{breakurl} or \pkg{hypdvips}, as it does not
+% allow breaking of links.
+% \begin{macrocode}
+\cs_new_protected:Npn \driver_pdf_link_goto:nnn #1#2#3
+ { \@@_pdf_link_begin:nnnn {#1} { /GoTo } {#2} {#3} }
+\cs_new_protected:Npn \driver_pdf_link_user:nnn #1#2#3
+ { \@@_pdf_link_begin:nnnn {#1} { } {#2} {#3} }
+\cs_new_protected:Npn \@@_pdf_link_begin:nnnn #1#2#3#4
+ {
+ \group_begin:
+ \hbox_set:Nn \l_@@_tmp_box {#4}
+ \driver_annotation:nnnn
+ { \box_wd:N \l_@@_tmp_box }
+ { \box_ht:N \l_@@_tmp_box }
+ { \box_dp:N \l_@@_tmp_box }
+ { /Subtype /Link #1 #2 #3 }
+ \box_use_drop:N \l_@@_tmp_box
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\driver_pdf_link_last:}
+% \begin{macrocode}
+\cs_new:Npn \driver_pdf_link_last:
+ {
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{Structure}
%
% \begin{macro}{\driver_pdf_compresslevel:n}
@@ -196,13 +311,43 @@
%
% \subsubsection{Annotations}
%
+% \begin{macro}{\driver_pdf_annotation:nnnn}
+% Simply pass the raw data through, just dealing with evaluation of dimensions.
+% \begin{macrocode}
+\cs_new_protected:Npx \driver_annotation:nnnn #1#2#3#4
+ {
+ \cs_if_exist:NTF \tex_pdfextension:D
+ { \tex_pdfextension:D annot ~ }
+ { \tex_pdfannot:D }
+ width ~ \exp_not:N \dim_eval:n {#1} ~
+ height ~ \exp_not:N \dim_eval:n {#2} ~
+ depth ~ \exp_not:N \dim_eval:n {#3} ~
+ {#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\driver_pdf_annotation_last:}
+% A tiny amount of extra data gets added here.
+% \begin{macrocode}
+\cs_new:Npx \driver_pdf_annotation_last:
+ {
+ \exp_not:N \tex_the:D
+ \cs_if_exist:NTF \tex_pdffeedback:D
+ { \exp_not:N \tex_pdffeedback:D annot ~ }
+ { \exp_not:N \tex_pdflastannot:D }
+ 0 ~ R
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\driver_pdf_link_goto:nnn, \driver_pdf_link_user:nnn}
% \begin{macro}{\@@_pdf_link:nnnn}
% Links are all created using the same internals.
% \begin{macrocode}
\cs_new_protected:Npn \driver_pdf_link_goto:nnn #1#2#3
{ \@@_pdf_link_begin:nnnn {#1} { goto~name } {#2} {#3} }
-\cs_new_protected:Npn \driver_pdf_link_user:nn #1#2#3
+\cs_new_protected:Npn \driver_pdf_link_user:nnn #1#2#3
{ \@@_pdf_link_begin:nnnn {#1} { user } {#2} {#3} }
\cs_new_protected:Npx \@@_pdf_link_begin:nnnn #1#2#3#4
{
@@ -376,40 +521,6 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Annotations}
-%
-% \begin{macro}{\driver_pdf_link_goto:nnn, \driver_pdf_link_user:nnn}
-% \begin{macro}{\@@_pdf_link_begin:nnnn}
-% \begin{macrocode}
-\cs_new_protected:Npn \driver_pdf_link_goto:nnn #1#2#3
- { \@@_pdf_startlink:nnn {#1} { /GoTo } {#2} {#3} }
-\cs_new_protected:Npn \driver_pdf_link_user:nnn #1#2#3
- { \@@_pdf_startlink:nnn {#1} { } {#2} {#3} }
-\cs_new_protected:Npn \@@_pdf_link_begin:nnnn #1#2#3#4
- {
- \@@_pdf:n
- {
- bann
- <<
- /Type /Annot
- /Subtype /Link
- #1 ~ #2 ~ #3
- >>
- }
- #4
- \@@_pdf:n { eann }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\driver_pdf_link_last:}
-% Data not available.
-% \begin{macrocode}
-\cs_new:Npn \driver_pdf_link_last: { }
-% \end{macrocode}
-% \end{macro}
-%
% \subsubsection{Objects}
%
% \begin{variable}{\g_@@_pdf_object_int, \g_@@_pdf_object_prop}
@@ -493,6 +604,67 @@
% \end{macro}
% \end{macro}
%
+% \subsubsection{Annotations}
+%
+% \begin{variable}{\g_@@_pdf_annotation_int}
+% Needed as objects which are not annotations could be created.
+% \begin{macrocode}
+\int_new:N \g_@@_pdf_annotation_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\driver_pdf_annotation:nnnn}
+% Annotations are objects, but we track them separately. Notably, they are
+% not in the object data lists.
+% \begin{macrocode}
+\cs_new_protected:Npn \driver_pdf_annotation:nnnn #1#2#3#4
+ {
+ \int_gincr:N \g_@@_pdf_object_int
+ \int_gset_eq:NN \g_@@_pdf_annotation_int \g_@@_pdf_object_int
+ \@@_pdf:x
+ {
+ ann ~ @l3obj \int_use:N \g_@@_pdf_object_int \c_space_tl
+ width ~ \dim_eval:n {#1} ~
+ height ~ \dim_eval:n {#2} ~
+ depth ~ \dim_eval:n {#3} ~
+ << #4 >>
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\driver_pdf_link_goto:nnn, \driver_pdf_link_user:nnn}
+% \begin{macro}{\@@_pdf_link_begin:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \driver_pdf_link_goto:nnn #1#2#3
+ { \@@_pdf_startlink:nnn {#1} { /GoTo } {#2} {#3} }
+\cs_new_protected:Npn \driver_pdf_link_user:nnn #1#2#3
+ { \@@_pdf_startlink:nnn {#1} { } {#2} {#3} }
+\cs_new_protected:Npn \@@_pdf_link_begin:nnnn #1#2#3#4
+ {
+ \@@_pdf:n
+ {
+ bann
+ <<
+ /Type /Annot
+ /Subtype /Link
+ #1 ~ #2 ~ #3
+ >>
+ }
+ #4
+ \@@_pdf:n { eann }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\driver_pdf_link_last:}
+% Data not available.
+% \begin{macrocode}
+\cs_new:Npn \driver_pdf_link_last: { }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{Structure}
%
% \begin{macro}{\driver_pdf_compresslevel:n}
diff --git a/l3kernel/l3drivers.dtx b/l3kernel/l3drivers.dtx
index ba8716e..bf77e16 100644
--- a/l3kernel/l3drivers.dtx
+++ b/l3kernel/l3drivers.dtx
@@ -474,6 +474,15 @@
% \subsection{PDF Annotations}
%
% \begin{function}[added = 2019-04-10]
+% {\driver_pdf_annotation:nnnn}
+% \begin{syntax}
+% \cs{driver_pdf_annotation:nnnn} \Arg{width} \Arg{height} \Arg{depth} \Arg{dictionary}
+% \end{syntax}
+% Creates a generic PDF annotation of the given \meta{height}, \meta{width}
+% and \meta{depth} and featuring the \meta{dictionary}.
+% \end{function}
+%
+% \begin{function}[added = 2019-04-10]
% {\driver_pdf_link_goto:nnn, \driver_pdf_link_user:nnn}
% \begin{syntax}
% \cs{driver_pdf_link_user:nnn} \Arg{attributes} \Arg{target} \Arg{content}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 63e2be6..4616541 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -6462,8 +6462,10 @@ Defining \__driver_image_getbb_auxii:n on line ...
Defining \__driver_image_include_jpg:n on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_image_include_png:n on line ...
+Defining \driver_annotation:nnnn on line ...
+Defining \driver_pdf_annotation_last: on line ...
Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
Defining \__driver_pdf_link_begin:nnnn on line ...
Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_prop on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index c0bb2df..0041b6a 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -6506,10 +6506,6 @@ Defining \__driver_image_include_auxii:xnn on line ..
Defining \__driver_image_include_auxiii:nnn on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6522,6 +6518,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 1ac9e60..eab363c 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -6803,8 +6803,10 @@ Defining \__driver_image_getbb_auxii:n on line ...
Defining \__driver_image_include_jpg:n on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_image_include_png:n on line ...
+Defining \driver_annotation:nnnn on line ...
+Defining \driver_pdf_annotation_last: on line ...
Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
Defining \__driver_pdf_link_begin:nnnn on line ...
Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_prop on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 6836d15..3d1edaf 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -6803,10 +6803,6 @@ Defining \__driver_image_include_auxii:xnn on line ..
Defining \__driver_image_include_auxiii:nnn on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6819,6 +6815,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 5fcca35..5a94c49 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -6482,10 +6482,6 @@ Defining \__driver_image_getbb_pagebox:w on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6498,6 +6494,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 63e2be6..4616541 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -6462,8 +6462,10 @@ Defining \__driver_image_getbb_auxii:n on line ...
Defining \__driver_image_include_jpg:n on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_image_include_png:n on line ...
+Defining \driver_annotation:nnnn on line ...
+Defining \driver_pdf_annotation_last: on line ...
Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
Defining \__driver_pdf_link_begin:nnnn on line ...
Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_prop on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index c0bb2df..0041b6a 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -6506,10 +6506,6 @@ Defining \__driver_image_include_auxii:xnn on line ..
Defining \__driver_image_include_auxiii:nnn on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6522,6 +6518,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 1ac9e60..eab363c 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -6803,8 +6803,10 @@ Defining \__driver_image_getbb_auxii:n on line ...
Defining \__driver_image_include_jpg:n on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_image_include_png:n on line ...
+Defining \driver_annotation:nnnn on line ...
+Defining \driver_pdf_annotation_last: on line ...
Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
Defining \__driver_pdf_link_begin:nnnn on line ...
Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_prop on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 6836d15..3d1edaf 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -6803,10 +6803,6 @@ Defining \__driver_image_include_auxii:xnn on line ..
Defining \__driver_image_include_auxiii:nnn on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6819,6 +6815,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 5fcca35..5a94c49 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -6482,10 +6482,6 @@ Defining \__driver_image_getbb_pagebox:w on line ...
Defining \__driver_image_include_pdf:n on line ...
Defining \__driver_pdf:n on line ...
Defining \__driver_pdf:x on line ...
-Defining \driver_pdf_link_goto:nnn on line ...
-Defining \driver_pdf_link_user:nnn on line ...
-Defining \__driver_pdf_link_begin:nnnn on line ...
-Defining \driver_pdf_link_last: on line ...
Defining \g__driver_pdf_object_int on line ...
\g__driver_pdf_object_int=\count...
Defining \g__driver_pdf_object_prop on line ...
@@ -6498,6 +6494,13 @@ Defining \__driver_pdf_object_write_dict:nn on line ..
Defining \__driver_pdf_object_write_fstream:nn on line ...
Defining \__driver_pdf_object_write_stream:nn on line ...
Defining \__driver_pdf_object_write_stream:nnnn on line ...
+Defining \g__driver_pdf_annotation_int on line ...
+\g__driver_pdf_annotation_int=\count...
+Defining \driver_pdf_annotation:nnnn on line ...
+Defining \driver_pdf_link_goto:nnn on line ...
+Defining \driver_pdf_link_user:nnn on line ...
+Defining \__driver_pdf_link_begin:nnnn on line ...
+Defining \driver_pdf_link_last: on line ...
Defining \driver_pdf_compresslevel:n on line ...
Defining \driver_pdf_objects_enable: on line ...
Defining \driver_pdf_objects_disable: on line ...
More information about the latex3-commits
mailing list