summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3backend
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-07 03:00:49 +0000
committerNorbert Preining <norbert@preining.info>2019-09-07 03:00:49 +0000
commit7345b8683c7cbeaedf53e992fda0b3fa6141084e (patch)
tree3246f6574e0921c2111b93b76720f54034238185 /macros/latex/contrib/l3backend
parentbd3ecfd29a422ad4d7f8f1e119ddc518494e567a (diff)
CTAN sync 201909070300
Diffstat (limited to 'macros/latex/contrib/l3backend')
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md13
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx16
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin722426 -> 725631 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx4
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx56
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx36
9 files changed, 94 insertions, 37 deletions
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 9094a090ba..77ad3215ea 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,16 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2019-09-05]
+
+### Added
+
+- Support for EPS and PDF files with `dvisvgm` backend
+
+### Fixed
+
+- Some primitive use in the `dvips` backend
+
## [2019-08-25]
### Fixed
@@ -25,6 +35,7 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2019-08-25...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2019-09-05...HEAD
+[2019-09-05]: https://github.com/latex3/latex3/compare/2019-08-25...2019-09-05
[2019-08-25]: https://github.com/latex3/latex3/compare/2019-07-01...2019-08-25
[2019-07-01]: https://github.com/latex3/latex3/compare/2019-05-28...2019-07-01
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index 62e5ee93cf..d9d9d4b8d2 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2019-08-25
+Release 2019-09-05
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index 930d011cff..b80972ffc5 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
@@ -62,7 +62,7 @@
% Whilst there is a reasonable amount of code overlap between backends,
% it is much clearer to have the blocks more-or-less separated than run
% in together and DocStripped out in parts. As such, most of the following
-% is set up on a per-backed basis, though there is some common code (again
+% is set up on a per-backend basis, though there is some common code (again
% given in blocks not interspersed with other material).
%
% All the file identifiers are up-front so that they come out in the right
@@ -72,23 +72,23 @@
\ProvidesExplFile
%<*dvipdfmx>
{l3backend-dvipdfmx.def}{2019-04-06}{}
- {L3 Experimental backend support: dvipdfmx}
+ {L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
{l3backend-dvips.def}{2019-04-06}{}
- {L3 Experimental backend support: dvips}
+ {L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
{l3backend-dvisvgm.def}{2019-04-06}{}
- {L3 Experimental backend support: dvisvgm}
+ {L3 backend support: dvisvgm}
%</dvisvgm>
%<*pdfmode>
{l3backend-pdfmode.def}{2019-04-06}{}
- {L3 Experimental backend support: PDF mode}
+ {L3 backend support: PDF mode}
%</pdfmode>
%<*xdvipdfmx>
{l3backend-xdvipdfmx.def}{2019-04-06}{}
- {L3 Experimental backend support: xdvipdfmx}
+ {L3 backend support: xdvipdfmx}
%</xdvipdfmx>
%</package>
% \end{macrocode}
@@ -176,7 +176,7 @@
% \__kernel_backend_align_begin:,
% \__kernel_backend_align_end:
% }
-% In \texttt{dvips} there is no build-in saving of the current
+% In \texttt{dvips} there is no built-in saving of the current
% position, and so some additional PostScript is required to set up the
% transformation matrix and also to restore it afterwards. Notice the use
% of the stack to save the current position \enquote{up front} and to
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index bb224d62e0..630bc99140 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index 701b9dfbbf..be9d752b51 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/contrib/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index c67528515f..e11e68a5d2 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index 276e1aee9f..28e7f90d1c 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
@@ -393,7 +393,7 @@
\cs_new_protected:Npn \@@_backend_color_fill:n #1
{
\__kernel_backend_postscript:n
- { SDict ~ begin ~ /color.fc ~ { #1 } ~ def ~ end }
+ { /color.fc ~ { #1 } ~ def }
}
\cs_generate_variant:Nn \@@_backend_color_fill:n { x }
\cs_new_protected:Npn \@@_backend_color_stroke:n #1
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index 1dda6b33ca..4993de4e56 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
@@ -557,8 +557,8 @@
%<*dvisvgm>
% \end{macrocode}
%
-% \begin{macro}{\@@_backend_getbb_png:n, \@@_backend_getbb_jpg:n}
-% These can be included by extracting the bounding box data.
+% \begin{macro}{\@@_backend_getbb_eps:n}
+% Simply use the generic function.
% \begin{macrocode}
%<*initex>
\use:n
@@ -566,13 +566,59 @@
%<*package>
\AtBeginDocument
%</package>
+ { \cs_new_eq:NN \@@_backend_getbb_eps:n \graphics_read_bb:n }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_getbb_png:n, \@@_backend_getbb_jpg:n}
+% These can be included by extracting the bounding box data.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_getbb_jpg:n #1
+ {
+ \int_zero:N \l_graphics_page_int
+ \tl_clear:N \l_graphics_pagebox_tl
+ \graphics_extract_bb:n {#1}
+ }
+\cs_new_eq:NN \@@_backend_getbb_png:n \@@_backend_getbb_jpg:n
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_backend_getbb_pdf:n}
+% Same as for \texttt{dvipdfmx}: use the generic function
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_getbb_pdf:n #1
{
- \cs_new_eq:NN \@@_backend_getbb_png:n \graphics_extract_bb:n
- \cs_new_eq:NN \@@_backend_getbb_jpg:n \graphics_extract_bb:n
+ \tl_clear:N \l_graphics_decodearray_tl
+ \bool_set_false:N \l_graphics_interpolate_bool
+ \graphics_extract_bb:n {#1}
}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_backend_include_eps:n, \@@_backend_include_pdf:n}
+% \begin{macro}{\@@_backend_include:nn}
+% The special syntax is relatively clear here: remember we need PostScript
+% sizes here. (This is the same as the \texttt{dvips} code.)
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_include_eps:n #1
+ { @@_backend_include:nn { PSfile } {#1} }
+\cs_new_protected:Npn \@@_backend_include_pdf:n #1
+ { @@_backend_include:nn { pdffile } {#1} }
+\cs_new_protected:Npn \@@_backend_include:nn #1#2
+ {
+ \__kernel_backend_literal:x
+ {
+ #1 = #2 \c_space_tl
+ llx = \dim_to_decimal_in_bp:n \l_graphics_llx_dim \c_space_tl
+ lly = \dim_to_decimal_in_bp:n \l_graphics_lly_dim \c_space_tl
+ urx = \dim_to_decimal_in_bp:n \l_graphics_urx_dim \c_space_tl
+ ury = \dim_to_decimal_in_bp:n \l_graphics_ury_dim
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\@@_backend_include_png:n, \@@_backend_include_jpg:n}
% \begin{macro}{\@@_backend_include_bitmap_quote:w}
% The backend here has built-in support for basic graphic inclusion (see
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index fc75aae39b..1f8f3591fb 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2019-08-25}
+% \date{Released 2019-09-05}
%
% \maketitle
%
@@ -180,7 +180,7 @@
}
\cs_new_protected:Npn \@@_backend_object_write_stream:nnn #1#2#3
{
- \@@_postscript:n
+ \__kernel_backend_postscript:n
{
[nobreak]
mark ~ #1 ~ ( #3 ) /PUT ~ pdfmark ~
@@ -809,14 +809,14 @@
\cs_new_protected:Npn \@@_backend_annotation_aux:nnnn #1#2#3#4
{
\box_move_down:nn {#3}
- { \hbox:n { \@@_postscript:n { pdf.save.ll } } }
+ { \hbox:n { \__kernel_backend_postscript:n { pdf.save.ll } } }
\hbox:n {#4}
\box_move_up:nn {#2}
{
\hbox:n
{
\tex_kern:D \dim_eval:n {#1} \scan_stop:
- \@@_postscript:n { pdf.save.ur }
+ \__kernel_backend_postscript:n { pdf.save.ur }
}
}
\int_gincr:N \g_@@_backend_object_int
@@ -948,7 +948,7 @@
\cs_new_protected:Npn \@@_backend_link_begin_aux:nw #1
{
\bool_gset_true:N \g_@@_backend_link_bool
- \@@_postscript:n
+ \__kernel_backend_postscript:n
{ /pdf.link.dict ( #1 ) def }
\tl_gset:Nn \g_@@_backend_link_dict_tl {#1}
\@@_backend_link_sf_save:
@@ -985,18 +985,18 @@
%</package>
}
\box_move_down:nn { \box_dp:N \l_@@_backend_content_box }
- { \hbox:n { \@@_postscript:n { pdf.save.linkll } } }
+ { \hbox:n { \__kernel_backend_postscript:n { pdf.save.linkll } } }
\@@_breaklink_postscript:n { pdf.bordertracking.begin }
\@@_breaklink_usebox:N \l_@@_backend_content_box
\@@_breaklink_postscript:n { pdf.bordertracking.end }
\box_move_up:nn { \box_ht:N \l_@@_backend_content_box }
{
\hbox:n
- { \@@_postscript:n { pdf.save.linkur } }
+ { \__kernel_backend_postscript:n { pdf.save.linkur } }
}
\int_gincr:N \g_@@_backend_object_int
\int_gset_eq:NN \g_@@_backend_link_int \g_@@_backend_object_int
- \@@_postscript:x
+ \__kernel_backend_postscript:x
{
mark
/_objdef { pdf.obj \int_use:N \g_@@_backend_link_int }
@@ -1010,7 +1010,7 @@
\cs_new_protected:Npn \@@_backend_link_minima:
{
\hbox_set:Nn \l_@@_backend_model_box { Gg }
- \@@_postscript:x
+ \__kernel_backend_postscript:x
{
/pdf.linkdp.pad ~
\dim_to_decimal:n
@@ -1038,7 +1038,7 @@
}
\cs_new_protected:Npn \@@_backend_link_outerbox:n #1
{
- \@@_postscript:x
+ \__kernel_backend_postscript:x
{
/pdf.outerbox
[
@@ -1103,20 +1103,20 @@
{
\vbox_set:Nn \@cclv
{
- \@@_postscript:n
+ \__kernel_backend_postscript:n
{
pdf.globaldict /pdf.brokenlink.rect ~ known
{ pdf.bordertracking.continue }
if
}
\vbox_unpack_drop:N \@cclv
- \@@_postscript:n
+ \__kernel_backend_postscript:n
{ pdf.bordertracking.endpage }
}
}
}
\tl_set:Nn \l_@@_breaklink_pdfmark_tl { pdf.pdfmark }
- \cs_set_eq:NN \@@_breaklink_postscript:n \@@_postscript:n
+ \cs_set_eq:NN \@@_breaklink_postscript:n \__kernel_backend_postscript:n
\cs_set_eq:NN \@@_breaklink_usebox:N \hbox_unpack:N
}
}
@@ -1137,7 +1137,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_link_margin:n #1
{
- \@@_postscript:x
+ \__kernel_backend_postscript:x
{
/pdf.linkmargin { \dim_to_decimal:n {#1} ~ pdf.pt.dvi } def
}
@@ -1152,7 +1152,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_destination:nn #1#2
{
- \@@_postscript:n { pdf.dest.anchor }
+ \__kernel_backend_postscript:n { pdf.dest.anchor }
\@@_backend_pdfmark:x
{
/View
@@ -1181,11 +1181,11 @@
\hbox_set:Nn \l_@@_internal_box {#2}
\box_move_down:nn
{ \box_dp:N \l_@@_internal_box }
- { \hbox:n { \@@_postscript:n { pdf.save.ll } } }
+ { \hbox:n { \__kernel_backend_postscript:n { pdf.save.ll } } }
\box_use:N \l_@@_internal_box
\box_move_up:nn
{ \box_ht:N \l_@@_internal_box }
- { \hbox:n { \@@_postscript:n { pdf.save.ur } } }
+ { \hbox:n { \__kernel_backend_postscript:n { pdf.save.ur } } }
\@@_backend_pdfmark:n
{
/View
@@ -1838,7 +1838,7 @@
width ~ \dim_eval:n {#1} ~
height ~ \dim_eval:n {#2} ~
depth ~ \dim_eval:n {#3} ~
- << #4 >>
+ <</Type/Annot #4 >>
}
}
% \end{macrocode}