diff --git a/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png b/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png
index 83a6f254..c2f3d9f3 100644
Binary files a/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png and b/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png differ
diff --git a/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png b/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png
index 111e77c0..22c1eb4f 100644
Binary files a/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png and b/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png differ
diff --git a/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png b/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png
index 44e17576..6b95c102 100644
Binary files a/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png and b/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png differ
diff --git a/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png b/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png
index 0e9a4baf..81670ae1 100644
Binary files a/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png and b/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png b/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png
index 1cbd299a..01de5073 100644
Binary files a/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png and b/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png b/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png
index 45803101..dc5fc6a6 100644
Binary files a/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png and b/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png b/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png
index 531aa5a4..7d915446 100644
Binary files a/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png and b/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png b/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png
index 6285a659..e7b4be20 100644
Binary files a/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png and b/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png b/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png
index 8f1825a7..4ddbb55e 100644
Binary files a/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png and b/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png b/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png
index 51b43792..ccfbffa8 100644
Binary files a/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png and b/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png b/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png
index 4a8bd6aa..302ca2e5 100644
Binary files a/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png and b/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png differ
diff --git a/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png b/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png
index ff5b61e4..05372ea6 100644
Binary files a/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png and b/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png differ
diff --git a/images/line-pattern-on-polygon-512-512-1.0-agg-reference.png b/images/line-pattern-on-polygon-512-512-1.0-agg-reference.png
index b3f0d9a0..9c7e6781 100644
Binary files a/images/line-pattern-on-polygon-512-512-1.0-agg-reference.png and b/images/line-pattern-on-polygon-512-512-1.0-agg-reference.png differ
diff --git a/images/line-pattern-on-polygon-512-512-1.0-cairo-reference.png b/images/line-pattern-on-polygon-512-512-1.0-cairo-reference.png
index 6885e06e..183a31a1 100644
Binary files a/images/line-pattern-on-polygon-512-512-1.0-cairo-reference.png and b/images/line-pattern-on-polygon-512-512-1.0-cairo-reference.png differ
diff --git a/images/line-pattern-on-polygon-512-512-2.0-agg-reference.png b/images/line-pattern-on-polygon-512-512-2.0-agg-reference.png
index aad0969e..2e575e9b 100644
Binary files a/images/line-pattern-on-polygon-512-512-2.0-agg-reference.png and b/images/line-pattern-on-polygon-512-512-2.0-agg-reference.png differ
diff --git a/images/line-pattern-on-polygon-512-512-2.0-cairo-reference.png b/images/line-pattern-on-polygon-512-512-2.0-cairo-reference.png
index 4c264b0e..db0b6ab3 100644
Binary files a/images/line-pattern-on-polygon-512-512-2.0-cairo-reference.png and b/images/line-pattern-on-polygon-512-512-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-1.0-agg-reference.png b/images/polygon-pattern-alignment-global-256-256-1.0-agg-reference.png
new file mode 100644
index 00000000..54dc00b8
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-1.0-cairo-reference.png b/images/polygon-pattern-alignment-global-256-256-1.0-cairo-reference.png
new file mode 100644
index 00000000..d51387c3
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-1.0-grid-reference.png b/images/polygon-pattern-alignment-global-256-256-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-1.0-svg-reference.svg b/images/polygon-pattern-alignment-global-256-256-1.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-global-256-256-1.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-global-256-256-2.0-agg-reference.png b/images/polygon-pattern-alignment-global-256-256-2.0-agg-reference.png
new file mode 100644
index 00000000..10750767
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-2.0-cairo-reference.png b/images/polygon-pattern-alignment-global-256-256-2.0-cairo-reference.png
new file mode 100644
index 00000000..ced21fa6
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-2.0-grid-reference.png b/images/polygon-pattern-alignment-global-256-256-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-2.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-2.0-svg-reference.svg b/images/polygon-pattern-alignment-global-256-256-2.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-global-256-256-2.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-1.0-agg-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-agg-reference.png
new file mode 100644
index 00000000..f2fa4b94
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-1.0-cairo-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-cairo-reference.png
new file mode 100644
index 00000000..10eacaf1
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-1.0-grid-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-2.0-agg-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-agg-reference.png
new file mode 100644
index 00000000..8560bd0c
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-2.0-cairo-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-cairo-reference.png
new file mode 100644
index 00000000..c7c087bc
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-global-256-256-4x4-2.0-grid-reference.png b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-global-256-256-4x4-2.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-1.0-agg-reference.png b/images/polygon-pattern-alignment-local-256-256-1.0-agg-reference.png
new file mode 100644
index 00000000..e0332620
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-1.0-cairo-reference.png b/images/polygon-pattern-alignment-local-256-256-1.0-cairo-reference.png
new file mode 100644
index 00000000..191e5c58
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-1.0-grid-reference.png b/images/polygon-pattern-alignment-local-256-256-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-1.0-svg-reference.svg b/images/polygon-pattern-alignment-local-256-256-1.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-local-256-256-1.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-local-256-256-2.0-agg-reference.png b/images/polygon-pattern-alignment-local-256-256-2.0-agg-reference.png
new file mode 100644
index 00000000..846a4c36
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-2.0-cairo-reference.png b/images/polygon-pattern-alignment-local-256-256-2.0-cairo-reference.png
new file mode 100644
index 00000000..b70c6820
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-2.0-grid-reference.png b/images/polygon-pattern-alignment-local-256-256-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-2.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-2.0-svg-reference.svg b/images/polygon-pattern-alignment-local-256-256-2.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-local-256-256-2.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-1.0-agg-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-agg-reference.png
new file mode 100644
index 00000000..355adca3
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-1.0-cairo-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-cairo-reference.png
new file mode 100644
index 00000000..a5ad4467
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-1.0-grid-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-2.0-agg-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-agg-reference.png
new file mode 100644
index 00000000..c7466989
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-2.0-cairo-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-cairo-reference.png
new file mode 100644
index 00000000..89d8e63f
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-256-256-4x4-2.0-grid-reference.png b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-local-256-256-4x4-2.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-1.0-agg-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-1.0-agg-reference.png
new file mode 100644
index 00000000..e0332620
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-1.0-cairo-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-1.0-cairo-reference.png
new file mode 100644
index 00000000..191e5c58
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-1.0-grid-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-1.0-svg-reference.svg b/images/polygon-pattern-alignment-local-clip-256-256-1.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-local-clip-256-256-1.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-2.0-agg-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-2.0-agg-reference.png
new file mode 100644
index 00000000..846a4c36
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-2.0-cairo-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-2.0-cairo-reference.png
new file mode 100644
index 00000000..b70c6820
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-2.0-grid-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-2.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-2.0-svg-reference.svg b/images/polygon-pattern-alignment-local-clip-256-256-2.0-svg-reference.svg
new file mode 100644
index 00000000..06ad700e
--- /dev/null
+++ b/images/polygon-pattern-alignment-local-clip-256-256-2.0-svg-reference.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-agg-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-agg-reference.png
new file mode 100644
index 00000000..1602af04
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-cairo-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-cairo-reference.png
new file mode 100644
index 00000000..23d5e20e
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-grid-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-grid-reference.png
new file mode 100644
index 00000000..811e135b
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-1.0-grid-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-agg-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-agg-reference.png
new file mode 100644
index 00000000..c7466989
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-agg-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-cairo-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-cairo-reference.png
new file mode 100644
index 00000000..89d8e63f
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-cairo-reference.png differ
diff --git a/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-grid-reference.png b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-grid-reference.png
new file mode 100644
index 00000000..f5707925
Binary files /dev/null and b/images/polygon-pattern-alignment-local-clip-256-256-4x4-2.0-grid-reference.png differ
diff --git a/styles/polygon-pattern-alignment-global.xml b/styles/polygon-pattern-alignment-global.xml
new file mode 100644
index 00000000..961a8563
--- /dev/null
+++ b/styles/polygon-pattern-alignment-global.xml
@@ -0,0 +1,31 @@
+
diff --git a/styles/polygon-pattern-alignment-local-clip.xml b/styles/polygon-pattern-alignment-local-clip.xml
new file mode 100644
index 00000000..0c51d6af
--- /dev/null
+++ b/styles/polygon-pattern-alignment-local-clip.xml
@@ -0,0 +1,33 @@
+
diff --git a/styles/polygon-pattern-alignment-local.xml b/styles/polygon-pattern-alignment-local.xml
new file mode 100644
index 00000000..bd7975f3
--- /dev/null
+++ b/styles/polygon-pattern-alignment-local.xml
@@ -0,0 +1,32 @@
+