[latex3-commits] [git/LaTeX3-latex3-latex3] main: Set up some basic graphic inclusion tests (2242ac7d6)

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Apr 6 14:07:52 CEST 2022


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/2242ac7d601328a918b4675e60ce03df7249750e

>---------------------------------------------------------------

commit 2242ac7d601328a918b4675e60ce03df7249750e
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Apr 6 10:19:51 2022 +0100

    Set up some basic graphic inclusion tests


>---------------------------------------------------------------

2242ac7d601328a918b4675e60ce03df7249750e
 l3experimental/l3graphics/build.lua                |   2 +
 .../l3graphics/testfiles/m3graphics001.luatex.tlg  |  38 ++++++
 .../l3graphics/testfiles/m3graphics001.lvt         |  41 ++++++
 .../l3graphics/testfiles/m3graphics001.ptex.tlg    |  39 ++++++
 .../l3graphics/testfiles/m3graphics001.tlg         |  38 ++++++
 .../l3graphics/testfiles/m3graphics001.uptex.tlg   |  39 ++++++
 .../l3graphics/testfiles/m3graphics001.xetex.tlg   |  37 ++++++
 .../l3graphics/testfiles/support/foo bar.eps       |   0
 .../l3graphics/testfiles/support/foo bar.png       | Bin 0 -> 726 bytes
 .../l3graphics/testfiles/support/foo.bar.eps       |   0
 .../l3graphics/testfiles/support/foo.bar.png       | Bin 0 -> 726 bytes
 l3experimental/l3graphics/testfiles/support/miau   | 143 +++++++++++++++++++++
 .../l3graphics/testfiles/support/miau.eps.ps       | 143 +++++++++++++++++++++
 .../l3graphics/testfiles/support/miau.pdf          | Bin 0 -> 3090 bytes
 .../l3graphics/testfiles/support/miau.ps           | 143 +++++++++++++++++++++
 .../l3graphics/testfiles/support/miau.tex          |   1 +
 16 files changed, 664 insertions(+)

diff --git a/l3experimental/l3graphics/build.lua b/l3experimental/l3graphics/build.lua
index 902443dc6..b1f985a5f 100644
--- a/l3experimental/l3graphics/build.lua
+++ b/l3experimental/l3graphics/build.lua
@@ -12,3 +12,5 @@ maindir = "../.."
 
 -- Load the common build code
 dofile(maindir .. "/build-config.lua")
+
+dynamicfiles = {"*-eps-converted-to.pdf"}
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.luatex.tlg b/l3experimental/l3graphics/testfiles/m3graphics001.luatex.tlg
new file mode 100644
index 000000000..f6b0682e0
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.luatex.tlg
@@ -0,0 +1,38 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+============================================================
+TEST 1: Basic graphic inclusion
+============================================================
+<./miau.pdf>
+\c__graphics_miau.pdf:cropbox_urx_dim=\dimen...
+\c__graphics_miau.pdf:cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(31.11626+0.0)x32.12, direction TLT
+.\hbox(31.11626+0.0)x32.12, direction TLT
+..\image(31.11626+0.0)x32.12
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+runsystem(repstopdf foo.bar.eps foo.bar-eps-converted-to.pdf)...executed
+<./foo.bar-eps-converted-to.pdf>
+\c__graphics_foo.bar-eps-converted-to.pdf:cropbox_urx_dim=\dimen...
+\c__graphics_foo.bar-eps-converted-to.pdf:cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135, direction TLT
+.\hbox(32.12+0.0)x36.135, direction TLT
+..\image(32.12+0.0)x36.135
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+runsystem(repstopdf "foo bar.eps" "foo bar-eps-converted-to.pdf")...executed
+<./foo bar-eps-converted-to.pdf>
+\c__graphics_"foo bar-eps-converted-to.pdf":cropbox_urx_dim=\dimen...
+\c__graphics_"foo bar-eps-converted-to.pdf":cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135, direction TLT
+.\hbox(32.12+0.0)x36.135, direction TLT
+..\image(32.12+0.0)x36.135
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+============================================================
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.lvt b/l3experimental/l3graphics/testfiles/m3graphics001.lvt
new file mode 100644
index 000000000..3bf6342ab
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.lvt
@@ -0,0 +1,41 @@
+%
+% Copyright (C) 2022 The LaTeX Project
+%
+
+\documentclass{minimal}
+\input{regression-test}
+
+\RequirePackage[enable-debug]{expl3}
+\ExplSyntaxOn
+\debug_on:n { check-declarations , deprecation }
+\ExplSyntaxOff
+
+\RequirePackage{l3graphics}
+
+\begin{document}
+
+\ExplSyntaxOn
+
+\OMIT
+\cs_set_protected:Npn \test:n #1
+  {
+    \hbox_set:Nn \l_tmpa_box { \graphics_include:nn { } {#1} }
+    \box_show:N \l_tmpa_box
+  }
+\cs_set_protected:Npn \test:nn #1#2
+  {
+    \hbox_set:Nn \l_tmpa_box { \graphics_include:nn {#1} {#2} }
+    \box_show:N \l_tmpa_box
+  }
+\TIMO
+
+\START
+
+\TEST { Basic~graphic~inclusion }
+  {
+    \test:n { miau }
+    \test:n { foo.bar }
+    \test:n { foo~bar }
+  }
+
+\END
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.ptex.tlg b/l3experimental/l3graphics/testfiles/m3graphics001.ptex.tlg
new file mode 100644
index 000000000..7524b7483
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.ptex.tlg
@@ -0,0 +1,39 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+============================================================
+TEST 1: Basic graphic inclusion
+============================================================
+\c__graphics_miau.ps_llx_dim=\dimen...
+\c__graphics_miau.ps_lly_dim=\dimen...
+\c__graphics_miau.ps_urx_dim=\dimen...
+\c__graphics_miau.ps_ury_dim=\dimen...
+> \box...=
+\hbox(31.11626+0.0)x32.12
+.\hbox(31.11626+0.0)x32.12
+..\special{PSfile=miau.ps llx=3 lly=0.99998 urx=34.99998 ury=32}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_foo.bar.eps_llx_dim=\dimen...
+\c__graphics_foo.bar.eps_lly_dim=\dimen...
+\c__graphics_foo.bar.eps_urx_dim=\dimen...
+\c__graphics_foo.bar.eps_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile=foo.bar.eps llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_"foo bar.eps"_llx_dim=\dimen...
+\c__graphics_"foo bar.eps"_lly_dim=\dimen...
+\c__graphics_"foo bar.eps"_urx_dim=\dimen...
+\c__graphics_"foo bar.eps"_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile="foo bar.eps" llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+============================================================
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.tlg b/l3experimental/l3graphics/testfiles/m3graphics001.tlg
new file mode 100644
index 000000000..597542589
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.tlg
@@ -0,0 +1,38 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+============================================================
+TEST 1: Basic graphic inclusion
+============================================================
+ <./miau.pdf>
+\c__graphics_miau.pdf:cropbox_urx_dim=\dimen...
+\c__graphics_miau.pdf:cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(31.11626+0.0)x32.12
+.\hbox(31.11626+0.0)x32.12
+..\pdfrefximage(31.11626+0.0)x32.12
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+runsystem(repstopdf foo.bar.eps foo.bar-eps-converted-to.pdf)...executed safely (allowed).
+ <./foo.bar-eps-converted-to.pdf>
+\c__graphics_foo.bar-eps-converted-to.pdf:cropbox_urx_dim=\dimen...
+\c__graphics_foo.bar-eps-converted-to.pdf:cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\pdfrefximage(32.12+0.0)x36.135
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+runsystem(repstopdf "foo bar.eps" "foo bar-eps-converted-to.pdf")...executed safely (allowed).
+ <./foo bar-eps-converted-to.pdf>
+\c__graphics_"foo bar-eps-converted-to.pdf":cropbox_urx_dim=\dimen...
+\c__graphics_"foo bar-eps-converted-to.pdf":cropbox_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\pdfrefximage(32.12+0.0)x36.135
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+============================================================
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.uptex.tlg b/l3experimental/l3graphics/testfiles/m3graphics001.uptex.tlg
new file mode 100644
index 000000000..7524b7483
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.uptex.tlg
@@ -0,0 +1,39 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+============================================================
+TEST 1: Basic graphic inclusion
+============================================================
+\c__graphics_miau.ps_llx_dim=\dimen...
+\c__graphics_miau.ps_lly_dim=\dimen...
+\c__graphics_miau.ps_urx_dim=\dimen...
+\c__graphics_miau.ps_ury_dim=\dimen...
+> \box...=
+\hbox(31.11626+0.0)x32.12
+.\hbox(31.11626+0.0)x32.12
+..\special{PSfile=miau.ps llx=3 lly=0.99998 urx=34.99998 ury=32}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_foo.bar.eps_llx_dim=\dimen...
+\c__graphics_foo.bar.eps_lly_dim=\dimen...
+\c__graphics_foo.bar.eps_urx_dim=\dimen...
+\c__graphics_foo.bar.eps_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile=foo.bar.eps llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_"foo bar.eps"_llx_dim=\dimen...
+\c__graphics_"foo bar.eps"_lly_dim=\dimen...
+\c__graphics_"foo bar.eps"_urx_dim=\dimen...
+\c__graphics_"foo bar.eps"_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile="foo bar.eps" llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+============================================================
diff --git a/l3experimental/l3graphics/testfiles/m3graphics001.xetex.tlg b/l3experimental/l3graphics/testfiles/m3graphics001.xetex.tlg
new file mode 100644
index 000000000..c02ccfa2c
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/m3graphics001.xetex.tlg
@@ -0,0 +1,37 @@
+This is a generated file for the LaTeX (2e + expl3) validation system.
+Don't change this file in any respect.
+============================================================
+TEST 1: Basic graphic inclusion
+============================================================
+\c__graphics_miau.pdf:P1_urx_dim=\dimen...
+\c__graphics_miau.pdf:P1_ury_dim=\dimen...
+> \box...=
+\hbox(31.11626+0.0)x32.12
+.\hbox(31.11626+0.0)x32.12
+..\XeTeXpdffile "./miau.pdf"
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_foo.bar.eps_llx_dim=\dimen...
+\c__graphics_foo.bar.eps_lly_dim=\dimen...
+\c__graphics_foo.bar.eps_urx_dim=\dimen...
+\c__graphics_foo.bar.eps_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile=foo.bar.eps llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+\c__graphics_"foo bar.eps"_llx_dim=\dimen...
+\c__graphics_"foo bar.eps"_lly_dim=\dimen...
+\c__graphics_"foo bar.eps"_urx_dim=\dimen...
+\c__graphics_"foo bar.eps"_ury_dim=\dimen...
+> \box...=
+\hbox(32.12+0.0)x36.135
+.\hbox(32.12+0.0)x36.135
+..\special{PSfile="foo bar.eps" llx=44 lly=526.99998 urx=79.99998 ury=558.99998}
+! OK.
+<argument> \l_tmpa_box 
+l. ...  }
+============================================================
diff --git a/xpackages/xor/cat.eps b/l3experimental/l3graphics/testfiles/support/foo bar.eps
similarity index 100%
copy from xpackages/xor/cat.eps
copy to l3experimental/l3graphics/testfiles/support/foo bar.eps
diff --git a/l3experimental/l3graphics/testfiles/support/foo bar.png b/l3experimental/l3graphics/testfiles/support/foo bar.png
new file mode 100644
index 000000000..1d43d9fb9
Binary files /dev/null and b/l3experimental/l3graphics/testfiles/support/foo bar.png differ
diff --git a/xpackages/xor/cat.eps b/l3experimental/l3graphics/testfiles/support/foo.bar.eps
similarity index 100%
copy from xpackages/xor/cat.eps
copy to l3experimental/l3graphics/testfiles/support/foo.bar.eps
diff --git a/l3experimental/l3graphics/testfiles/support/foo.bar.png b/l3experimental/l3graphics/testfiles/support/foo.bar.png
new file mode 100644
index 000000000..1d43d9fb9
Binary files /dev/null and b/l3experimental/l3graphics/testfiles/support/foo.bar.png differ
diff --git a/l3experimental/l3graphics/testfiles/support/miau b/l3experimental/l3graphics/testfiles/support/miau
new file mode 100644
index 000000000..38b78fbf0
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/support/miau
@@ -0,0 +1,143 @@
+%!PS-Adobe-3.0
+%%Creator: cairo 1.16.0 (https://cairographics.org)
+%%CreationDate: Tue Aug 18 17:18:52 2020
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%DocumentMedia: 13x11mm 36 32 0 () ()
+%%BoundingBox: 3 1 35 32
+%%EndComments
+%%BeginProlog
+/languagelevel where
+{ pop languagelevel } { 1 } ifelse
+2 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto
+  (This print job requires a PostScript Language Level 2 printer.) show
+  showpage quit } if
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+  CairoDataIndex CairoData length lt
+    { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+    { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+/cairo_set_page_size {
+  % Change paper size, but only if different from previous paper size otherwise
+  % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size
+  % so we use the same when checking if the size changes.
+  /setpagedevice where {
+    pop currentpagedevice
+    /PageSize known {
+      2 copy
+      currentpagedevice /PageSize get aload pop
+      exch 4 1 roll
+      sub abs 5 gt
+      3 1 roll
+      sub abs 5 gt
+      or
+    } {
+      true
+    } ifelse
+    {
+      2 array astore
+      2 dict begin
+        /PageSize exch def
+        /ImagingBBox null def
+      currentdict end
+      setpagedevice
+    } {
+      pop pop
+    } ifelse
+  } {
+    pop
+  } ifelse
+} def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageMedia: 13x11mm
+%%PageBoundingBox: 3 1 35 32
+36 32 cairo_set_page_size
+%%EndPageSetup
+q 3 1 32 31 rectclip
+1 0 0 -1 0 32 cm q
+0.137255 0.121569 0.12549 rg
+1.01 w
+0 J
+1 j
+[] 0.0 d
+11.4737 M q 1 0 0 -1 0 0 cm
+29.301 -19.219 m 29.082 -20.582 28.219 -21.738 27.781 -22.668 c 28.789 
+-24.332 29.73 -27.57 30.809 -28.359 c 30.59 -28.359 33.039 -30.16 29.871
+ -29.941 c 29.082 -29.66 29.082 -28.07 26.199 -25.191 c 25.699 -25.262 26.559
+ -28.43 27.5 -29.371 c 29.148 -30.809 26.27 -30.449 26.129 -30.379 c 24.98
+ -29.66 24.621 -24.398 23.031 -22.738 c 22.238 -21.809 21.16 -22.02 20.301
+ -22.102 c 19.219 -22.379 16.621 -21.809 16.551 -24.98 c 16.621 -26.34 18.141
+ -28.789 18.859 -29.219 c 21.301 -30.59 18.059 -30.66 17.699 -30.23 c 17.129
+ -29.66 16.191 -28.359 15.262 -27.352 c 13.738 -26.559 12.379 -25.34 12.02
+ -24.039 c 10.941 -24.262 9.859 -24.832 9.641 -25.77 c 9.418 -26.781 9.859
+ -27.418 10.859 -28.859 c 12.02 -29.148 12.379 -29.73 12.02 -30.02 c 11.871
+ -30.16 9.711 -30.379 9.57 -30.09 c 8.699 -29.512 7.699 -27.141 7.191 -25.84
+ c 6.898 -25.121 5.969 -23.18 7.551 -21.23 c 7.98 -20.512 7.91 -19.141 7.77
+ -18.352 c 7.551 -17.059 7.551 -16.262 8.418 -14.539 c 5.75 -12.23 1.219
+ -7.77 5.609 -1.859 c 6.109 -1.359 7.551 -0.859 6.762 -2.73 c 5.82 -5.32
+ 2.66 -7.551 9.418 -12.809 c 10.5 -12.09 14.969 -12.52 16.48 -12.809 c 20.66
+ -13.668 21.52 -13.668 24.398 -12.949 c 24.762 -12.809 24.832 -11.012 26.34
+ -9.781 c 26.059 -8.852 28 -7.551 28.219 -6.469 c 28.648 -5.609 29.66 -8.27
+ 29.66 -8.34 c 29.582 -7.77 30.66 -6.691 30.809 -6.039 c 31.738 -5.75 31.102
+ -8.059 31.891 -9.5 c 32.32 -10.07 32.68 -9.93 33.109 -11.301 c 33.469 -12.66
+ 34.98 -13.82 32.539 -15.109 c 31.168 -15.832 30.59 -15.691 29.582 -16.121
+ c 29.582 -16.77 29.512 -18.211 29.301 -19.219 c h
+29.301 -19.219 m S Q
+Q Q
+showpage
+%%Trailer
+%%EOF
diff --git a/l3experimental/l3graphics/testfiles/support/miau.eps.ps b/l3experimental/l3graphics/testfiles/support/miau.eps.ps
new file mode 100644
index 000000000..38b78fbf0
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/support/miau.eps.ps
@@ -0,0 +1,143 @@
+%!PS-Adobe-3.0
+%%Creator: cairo 1.16.0 (https://cairographics.org)
+%%CreationDate: Tue Aug 18 17:18:52 2020
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%DocumentMedia: 13x11mm 36 32 0 () ()
+%%BoundingBox: 3 1 35 32
+%%EndComments
+%%BeginProlog
+/languagelevel where
+{ pop languagelevel } { 1 } ifelse
+2 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto
+  (This print job requires a PostScript Language Level 2 printer.) show
+  showpage quit } if
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+  CairoDataIndex CairoData length lt
+    { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+    { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+/cairo_set_page_size {
+  % Change paper size, but only if different from previous paper size otherwise
+  % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size
+  % so we use the same when checking if the size changes.
+  /setpagedevice where {
+    pop currentpagedevice
+    /PageSize known {
+      2 copy
+      currentpagedevice /PageSize get aload pop
+      exch 4 1 roll
+      sub abs 5 gt
+      3 1 roll
+      sub abs 5 gt
+      or
+    } {
+      true
+    } ifelse
+    {
+      2 array astore
+      2 dict begin
+        /PageSize exch def
+        /ImagingBBox null def
+      currentdict end
+      setpagedevice
+    } {
+      pop pop
+    } ifelse
+  } {
+    pop
+  } ifelse
+} def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageMedia: 13x11mm
+%%PageBoundingBox: 3 1 35 32
+36 32 cairo_set_page_size
+%%EndPageSetup
+q 3 1 32 31 rectclip
+1 0 0 -1 0 32 cm q
+0.137255 0.121569 0.12549 rg
+1.01 w
+0 J
+1 j
+[] 0.0 d
+11.4737 M q 1 0 0 -1 0 0 cm
+29.301 -19.219 m 29.082 -20.582 28.219 -21.738 27.781 -22.668 c 28.789 
+-24.332 29.73 -27.57 30.809 -28.359 c 30.59 -28.359 33.039 -30.16 29.871
+ -29.941 c 29.082 -29.66 29.082 -28.07 26.199 -25.191 c 25.699 -25.262 26.559
+ -28.43 27.5 -29.371 c 29.148 -30.809 26.27 -30.449 26.129 -30.379 c 24.98
+ -29.66 24.621 -24.398 23.031 -22.738 c 22.238 -21.809 21.16 -22.02 20.301
+ -22.102 c 19.219 -22.379 16.621 -21.809 16.551 -24.98 c 16.621 -26.34 18.141
+ -28.789 18.859 -29.219 c 21.301 -30.59 18.059 -30.66 17.699 -30.23 c 17.129
+ -29.66 16.191 -28.359 15.262 -27.352 c 13.738 -26.559 12.379 -25.34 12.02
+ -24.039 c 10.941 -24.262 9.859 -24.832 9.641 -25.77 c 9.418 -26.781 9.859
+ -27.418 10.859 -28.859 c 12.02 -29.148 12.379 -29.73 12.02 -30.02 c 11.871
+ -30.16 9.711 -30.379 9.57 -30.09 c 8.699 -29.512 7.699 -27.141 7.191 -25.84
+ c 6.898 -25.121 5.969 -23.18 7.551 -21.23 c 7.98 -20.512 7.91 -19.141 7.77
+ -18.352 c 7.551 -17.059 7.551 -16.262 8.418 -14.539 c 5.75 -12.23 1.219
+ -7.77 5.609 -1.859 c 6.109 -1.359 7.551 -0.859 6.762 -2.73 c 5.82 -5.32
+ 2.66 -7.551 9.418 -12.809 c 10.5 -12.09 14.969 -12.52 16.48 -12.809 c 20.66
+ -13.668 21.52 -13.668 24.398 -12.949 c 24.762 -12.809 24.832 -11.012 26.34
+ -9.781 c 26.059 -8.852 28 -7.551 28.219 -6.469 c 28.648 -5.609 29.66 -8.27
+ 29.66 -8.34 c 29.582 -7.77 30.66 -6.691 30.809 -6.039 c 31.738 -5.75 31.102
+ -8.059 31.891 -9.5 c 32.32 -10.07 32.68 -9.93 33.109 -11.301 c 33.469 -12.66
+ 34.98 -13.82 32.539 -15.109 c 31.168 -15.832 30.59 -15.691 29.582 -16.121
+ c 29.582 -16.77 29.512 -18.211 29.301 -19.219 c h
+29.301 -19.219 m S Q
+Q Q
+showpage
+%%Trailer
+%%EOF
diff --git a/l3experimental/l3graphics/testfiles/support/miau.pdf b/l3experimental/l3graphics/testfiles/support/miau.pdf
new file mode 100644
index 000000000..3b259383c
Binary files /dev/null and b/l3experimental/l3graphics/testfiles/support/miau.pdf differ
diff --git a/l3experimental/l3graphics/testfiles/support/miau.ps b/l3experimental/l3graphics/testfiles/support/miau.ps
new file mode 100644
index 000000000..38b78fbf0
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/support/miau.ps
@@ -0,0 +1,143 @@
+%!PS-Adobe-3.0
+%%Creator: cairo 1.16.0 (https://cairographics.org)
+%%CreationDate: Tue Aug 18 17:18:52 2020
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%DocumentMedia: 13x11mm 36 32 0 () ()
+%%BoundingBox: 3 1 35 32
+%%EndComments
+%%BeginProlog
+/languagelevel where
+{ pop languagelevel } { 1 } ifelse
+2 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto
+  (This print job requires a PostScript Language Level 2 printer.) show
+  showpage quit } if
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+/cairo_data_source {
+  CairoDataIndex CairoData length lt
+    { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def }
+    { () } ifelse
+} def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
+/cairo_set_page_size {
+  % Change paper size, but only if different from previous paper size otherwise
+  % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size
+  % so we use the same when checking if the size changes.
+  /setpagedevice where {
+    pop currentpagedevice
+    /PageSize known {
+      2 copy
+      currentpagedevice /PageSize get aload pop
+      exch 4 1 roll
+      sub abs 5 gt
+      3 1 roll
+      sub abs 5 gt
+      or
+    } {
+      true
+    } ifelse
+    {
+      2 array astore
+      2 dict begin
+        /PageSize exch def
+        /ImagingBBox null def
+      currentdict end
+      setpagedevice
+    } {
+      pop pop
+    } ifelse
+  } {
+    pop
+  } ifelse
+} def
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageMedia: 13x11mm
+%%PageBoundingBox: 3 1 35 32
+36 32 cairo_set_page_size
+%%EndPageSetup
+q 3 1 32 31 rectclip
+1 0 0 -1 0 32 cm q
+0.137255 0.121569 0.12549 rg
+1.01 w
+0 J
+1 j
+[] 0.0 d
+11.4737 M q 1 0 0 -1 0 0 cm
+29.301 -19.219 m 29.082 -20.582 28.219 -21.738 27.781 -22.668 c 28.789 
+-24.332 29.73 -27.57 30.809 -28.359 c 30.59 -28.359 33.039 -30.16 29.871
+ -29.941 c 29.082 -29.66 29.082 -28.07 26.199 -25.191 c 25.699 -25.262 26.559
+ -28.43 27.5 -29.371 c 29.148 -30.809 26.27 -30.449 26.129 -30.379 c 24.98
+ -29.66 24.621 -24.398 23.031 -22.738 c 22.238 -21.809 21.16 -22.02 20.301
+ -22.102 c 19.219 -22.379 16.621 -21.809 16.551 -24.98 c 16.621 -26.34 18.141
+ -28.789 18.859 -29.219 c 21.301 -30.59 18.059 -30.66 17.699 -30.23 c 17.129
+ -29.66 16.191 -28.359 15.262 -27.352 c 13.738 -26.559 12.379 -25.34 12.02
+ -24.039 c 10.941 -24.262 9.859 -24.832 9.641 -25.77 c 9.418 -26.781 9.859
+ -27.418 10.859 -28.859 c 12.02 -29.148 12.379 -29.73 12.02 -30.02 c 11.871
+ -30.16 9.711 -30.379 9.57 -30.09 c 8.699 -29.512 7.699 -27.141 7.191 -25.84
+ c 6.898 -25.121 5.969 -23.18 7.551 -21.23 c 7.98 -20.512 7.91 -19.141 7.77
+ -18.352 c 7.551 -17.059 7.551 -16.262 8.418 -14.539 c 5.75 -12.23 1.219
+ -7.77 5.609 -1.859 c 6.109 -1.359 7.551 -0.859 6.762 -2.73 c 5.82 -5.32
+ 2.66 -7.551 9.418 -12.809 c 10.5 -12.09 14.969 -12.52 16.48 -12.809 c 20.66
+ -13.668 21.52 -13.668 24.398 -12.949 c 24.762 -12.809 24.832 -11.012 26.34
+ -9.781 c 26.059 -8.852 28 -7.551 28.219 -6.469 c 28.648 -5.609 29.66 -8.27
+ 29.66 -8.34 c 29.582 -7.77 30.66 -6.691 30.809 -6.039 c 31.738 -5.75 31.102
+ -8.059 31.891 -9.5 c 32.32 -10.07 32.68 -9.93 33.109 -11.301 c 33.469 -12.66
+ 34.98 -13.82 32.539 -15.109 c 31.168 -15.832 30.59 -15.691 29.582 -16.121
+ c 29.582 -16.77 29.512 -18.211 29.301 -19.219 c h
+29.301 -19.219 m S Q
+Q Q
+showpage
+%%Trailer
+%%EOF
diff --git a/l3experimental/l3graphics/testfiles/support/miau.tex b/l3experimental/l3graphics/testfiles/support/miau.tex
new file mode 100644
index 000000000..97e461730
--- /dev/null
+++ b/l3experimental/l3graphics/testfiles/support/miau.tex
@@ -0,0 +1 @@
+insert picture of a cat here





More information about the latex3-commits mailing list.