[latex3-commits] [git/LaTeX3-latex3-latex3] master: Use (x)dvipdfmx matrix op when available (0c20b83)
Joseph Wright
joseph.wright at morningstar2.co.uk
Sun Mar 4 23:12:16 CET 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/0c20b83bcfefdcffbd34038ed74001c2d9a8b821
>---------------------------------------------------------------
commit 0c20b83bcfefdcffbd34038ed74001c2d9a8b821
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Sun Mar 4 22:12:16 2018 +0000
Use (x)dvipdfmx matrix op when available
This one is tricky: there are a pair of specials,
so we can't use it for setting the CTM directly.
Thus this can only be used where we know exactly
when a transformation ends.
>---------------------------------------------------------------
0c20b83bcfefdcffbd34038ed74001c2d9a8b821
l3experimental/l3draw/testfiles/m3draw005.ptex.tlg | 5 +--
.../l3draw/testfiles/m3draw005.uptex.tlg | 5 +--
.../l3draw/testfiles/m3draw005.xetex.tlg | 5 +--
l3experimental/l3draw/testfiles/m3draw006.ptex.tlg | 45 ++++++++------------
.../l3draw/testfiles/m3draw006.uptex.tlg | 45 ++++++++------------
.../l3draw/testfiles/m3draw006.xetex.tlg | 45 ++++++++------------
l3kernel/l3drivers.dtx | 16 +++++--
7 files changed, 73 insertions(+), 93 deletions(-)
diff --git a/l3experimental/l3draw/testfiles/m3draw005.ptex.tlg b/l3experimental/l3draw/testfiles/m3draw005.ptex.tlg
index fec2697..ce388b6 100644
--- a/l3experimental/l3draw/testfiles/m3draw005.ptex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw005.ptex.tlg
@@ -43,9 +43,7 @@ TEST 2: \draw_suspend_begin:
....\kern 0.0
....\hbox(285.52756+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(285.52756+0.0)x0.0, glue set - 57.90552fil
......\hbox(285.52756+0.0)x57.90552
.......\hbox(285.52756+0.0)x57.90552
@@ -63,6 +61,7 @@ TEST 2: \draw_suspend_begin:
.........\special{color pop}
.......\special{pdf:literal Q}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal 0 0 m}
...\special{pdf:literal 28.34647 283.46457 l}
diff --git a/l3experimental/l3draw/testfiles/m3draw005.uptex.tlg b/l3experimental/l3draw/testfiles/m3draw005.uptex.tlg
index fec2697..ce388b6 100644
--- a/l3experimental/l3draw/testfiles/m3draw005.uptex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw005.uptex.tlg
@@ -43,9 +43,7 @@ TEST 2: \draw_suspend_begin:
....\kern 0.0
....\hbox(285.52756+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(285.52756+0.0)x0.0, glue set - 57.90552fil
......\hbox(285.52756+0.0)x57.90552
.......\hbox(285.52756+0.0)x57.90552
@@ -63,6 +61,7 @@ TEST 2: \draw_suspend_begin:
.........\special{color pop}
.......\special{pdf:literal Q}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal 0 0 m}
...\special{pdf:literal 28.34647 283.46457 l}
diff --git a/l3experimental/l3draw/testfiles/m3draw005.xetex.tlg b/l3experimental/l3draw/testfiles/m3draw005.xetex.tlg
index fec2697..ce388b6 100644
--- a/l3experimental/l3draw/testfiles/m3draw005.xetex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw005.xetex.tlg
@@ -43,9 +43,7 @@ TEST 2: \draw_suspend_begin:
....\kern 0.0
....\hbox(285.52756+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(285.52756+0.0)x0.0, glue set - 57.90552fil
......\hbox(285.52756+0.0)x57.90552
.......\hbox(285.52756+0.0)x57.90552
@@ -63,6 +61,7 @@ TEST 2: \draw_suspend_begin:
.........\special{color pop}
.......\special{pdf:literal Q}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal 0 0 m}
...\special{pdf:literal 28.34647 283.46457 l}
diff --git a/l3experimental/l3draw/testfiles/m3draw006.ptex.tlg b/l3experimental/l3draw/testfiles/m3draw006.ptex.tlg
index 1049fc8..876527b 100644
--- a/l3experimental/l3draw/testfiles/m3draw006.ptex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw006.ptex.tlg
@@ -20,9 +20,7 @@ TEST 1: \draw_box_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -31,6 +29,7 @@ TEST 1: \draw_box_use:N
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -54,9 +53,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -65,6 +62,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -88,9 +86,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -99,6 +95,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -122,9 +119,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -133,6 +128,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -160,9 +156,7 @@ TEST 2: \draw_coffin_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -178,6 +172,7 @@ TEST 2: \draw_coffin_use:N
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -201,9 +196,7 @@ l. ... }
....\kern 0.0
....\hbox(3.47221+3.47223)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(3.47221+3.47223)x0.0, glue set - 11.25003fil
......\hbox(3.47221+3.47223)x11.25003
.......\hbox(3.47221+3.47223)x11.25003
@@ -219,6 +212,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -242,9 +236,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -260,6 +252,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -283,9 +276,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -301,6 +292,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -324,9 +316,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -342,6 +332,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
diff --git a/l3experimental/l3draw/testfiles/m3draw006.uptex.tlg b/l3experimental/l3draw/testfiles/m3draw006.uptex.tlg
index 1049fc8..876527b 100644
--- a/l3experimental/l3draw/testfiles/m3draw006.uptex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw006.uptex.tlg
@@ -20,9 +20,7 @@ TEST 1: \draw_box_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -31,6 +29,7 @@ TEST 1: \draw_box_use:N
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -54,9 +53,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -65,6 +62,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -88,9 +86,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -99,6 +95,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -122,9 +119,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -133,6 +128,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -160,9 +156,7 @@ TEST 2: \draw_coffin_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -178,6 +172,7 @@ TEST 2: \draw_coffin_use:N
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -201,9 +196,7 @@ l. ... }
....\kern 0.0
....\hbox(3.47221+3.47223)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(3.47221+3.47223)x0.0, glue set - 11.25003fil
......\hbox(3.47221+3.47223)x11.25003
.......\hbox(3.47221+3.47223)x11.25003
@@ -219,6 +212,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -242,9 +236,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -260,6 +252,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -283,9 +276,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -301,6 +292,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -324,9 +316,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -342,6 +332,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
diff --git a/l3experimental/l3draw/testfiles/m3draw006.xetex.tlg b/l3experimental/l3draw/testfiles/m3draw006.xetex.tlg
index 1049fc8..876527b 100644
--- a/l3experimental/l3draw/testfiles/m3draw006.xetex.tlg
+++ b/l3experimental/l3draw/testfiles/m3draw006.xetex.tlg
@@ -20,9 +20,7 @@ TEST 1: \draw_box_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -31,6 +29,7 @@ TEST 1: \draw_box_use:N
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -54,9 +53,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -65,6 +62,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -88,9 +86,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -99,6 +95,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -122,9 +119,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\OT1/cmr/m/n/10 H
@@ -133,6 +128,7 @@ l. ... }
.......\OT1/cmr/m/n/10 l
.......\OT1/cmr/m/n/10 o
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -160,9 +156,7 @@ TEST 2: \draw_coffin_use:N
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -178,6 +172,7 @@ TEST 2: \draw_coffin_use:N
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -201,9 +196,7 @@ l. ... }
....\kern 0.0
....\hbox(3.47221+3.47223)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(3.47221+3.47223)x0.0, glue set - 11.25003fil
......\hbox(3.47221+3.47223)x11.25003
.......\hbox(3.47221+3.47223)x11.25003
@@ -219,6 +212,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -242,9 +236,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 2 2}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 2 0 0 2 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -260,6 +252,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -283,9 +276,7 @@ l. ... }
....\kern 0.0
....\hbox(6.94444+0.0)x0.0
.....\special{x:gsave}
-.....\special{x:rotate 31.71747}
-.....\special{x:scale 1.61803 0.61803}
-.....\special{x:rotate -58.28253}
+.....\special{pdf:btrans matrix 1 0 1 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -301,6 +292,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
@@ -324,9 +316,7 @@ l. ... }
....\kern 56.90552
....\hbox(6.94444+0.0)x0.0, shifted -56.90552
.....\special{x:gsave}
-.....\special{x:rotate 22.5}
-.....\special{x:scale 1 1}
-.....\special{x:rotate -22.5}
+.....\special{pdf:btrans matrix 1 0 0 1 0 0}
.....\hbox(6.94444+0.0)x0.0, glue set - 22.50005fil
......\hbox(6.94444+0.0)x22.50005
.......\hbox(6.94444+0.0)x22.50005
@@ -342,6 +332,7 @@ l. ... }
.........\OT1/cmr/m/n/10 o
.........\special{color pop}
......\glue 0.0 plus 1.0fil minus 1.0fil
+.....\special{pdf:etrans}
.....\special{x:grestore}
...\special{pdf:literal Q}
...\special{color pop}
diff --git a/l3kernel/l3drivers.dtx b/l3kernel/l3drivers.dtx
index 9a6d7a5..0b0303f 100644
--- a/l3kernel/l3drivers.dtx
+++ b/l3kernel/l3drivers.dtx
@@ -2040,13 +2040,15 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\driver_draw_cc:nnnn}
+% \begin{macro}{\driver_draw_cm:nnnn}
% \begin{macro}{\@@_draw_cm:nnnn}
% Another split here between \texttt{pdfmode} and \texttt{(x)dvipdfmx}.
% In the former, we have a direct method to maintain alignment: the driver
-% can use a matrix itself. For \texttt{(x)dvipdfmx} we can to decompose the
+% can use a matrix itself. For \texttt{(x)dvipdfmx}, we can to decompose the
% matrix into rotations and a scaling, then use those operations as they
-% are handled by the driver..
+% are handled by the driver. (There is driver support for matrix operations in
+% \texttt{(x)dvipdfmx}, but as a matched pair so not suitable for the
+% \enquote{stand alone} transformation set up here.)
% \begin{macrocode}
\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
{
@@ -2201,8 +2203,16 @@
\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
{
\@@_scope_begin:
+%<*pdfmode>
\driver_draw_cm:nnnn {#2} {#3} {#4} {#5}
+%</pdfmode>
+%<*dvipdfmx|xdvipdfmx>
+ \tex_special:D { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
+%</dvipdfmx|xdvipdfmx>
\hbox_overlap_right:n { \box_use:N #1 }
+%<*dvipdfmx|xdvipdfmx>
+ \tex_special:D { pdf:etrans }
+%</dvipdfmx|xdvipdfmx>
\@@_scope_end:
}
% \end{macrocode}
More information about the latex3-commits
mailing list