From d02f29255c02db0d3ce520e0745e12e3cb4653e8 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 22 Aug 2014 13:52:52 -0700 Subject: [PATCH] add visual test mimicking a typographic map - Helps prepare for #2377 more - More details on typographic maps at http://store.axismaps.com - See also #2385 and #678 --- ...ypographic-512-512-1.0-grid-reference.json | 138 ++++++++++++++++++ ...-typographic-512-512-1.0-agg-reference.png | Bin 0 -> 30280 bytes ...ypographic-512-512-1.0-cairo-reference.png | Bin 0 -> 26038 bytes ...-typographic-512-512-2.0-agg-reference.png | Bin 0 -> 35158 bytes ...ypographic-512-512-2.0-cairo-reference.png | Bin 0 -> 33829 bytes .../visual_tests/styles/text-typographic.xml | 79 ++++++++++ tests/visual_tests/test.py | 1 + 7 files changed, 218 insertions(+) create mode 100644 tests/visual_tests/grids/text-typographic-512-512-1.0-grid-reference.json create mode 100644 tests/visual_tests/images/text-typographic-512-512-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/text-typographic-512-512-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/text-typographic-512-512-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/text-typographic-512-512-2.0-cairo-reference.png create mode 100644 tests/visual_tests/styles/text-typographic.xml diff --git a/tests/visual_tests/grids/text-typographic-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/text-typographic-512-512-1.0-grid-reference.json new file mode 100644 index 000000000..88a8ec017 --- /dev/null +++ b/tests/visual_tests/grids/text-typographic-512-512-1.0-grid-reference.json @@ -0,0 +1,138 @@ +{ + "keys": [ + "2", + "", + "1" + ], + "data": {}, + "grid": [ + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##########!##", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###########!##", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!############!!", + " ! ! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!#########", + " !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!#!!!!!!!!", + " ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!#!!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!##!!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!##!!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!###!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###################!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###############!###!!!!!!!", + "!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#################!###!!!!!!!", + "!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###############!!!###!!!!!!!", + "!!!!!!!! !!! !!! !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!!####!##!!######!!!!!!", + "!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!", + "!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!###############!!!!!!!", + "!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##############!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!################!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###############!!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!! !!!!!!! ! !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!!!##!!!!!!!!###!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!!###############!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##!!##!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!##############!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!##############!!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! !!!!!!!!!!!!!!!!!!!!!!###############!!!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!####!!!!!##!##!!!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!####!!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!####!##############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!####!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!##!!!!!!!!####!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !############!!!####!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! ###########!!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!! !! ########!!!!!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! !!!!!!! !!!####!##!!#####!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!##############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!##############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !#############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # !###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # ####!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!######! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########! !# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#########! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!!#### # # # !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!######## !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!######## ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!######## ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!##!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!##!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!!!!!!#########!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#######!!!#####!###!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#######!!!####!!###!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!######!!!!!!##!!!###!!!!!!!!!!!!!!! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!!####!##!!######!!!!!!!!!!!!!! !!!! !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!###############!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!###############!!!!!!!!!!!!!!!! !!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!###!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!####!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#######!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!#####!!!#######!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!#####!!!#######!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!!!!!##!!!!!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!! ! !!! !!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!! !! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!####!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!#!!!#######!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!#!!#########!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!", + "!!!!!!!!!!!!!###############!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!", + "!!!!!!!!!!!####!!##########!!##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!", + "!!!!!!!!!!!####!!!!!##!##!!!!###!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!####!!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!####!###############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!##############!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!", + "!!!!!!!!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!!", + "!!!!!!#!!!!####!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!", + "!!!############!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! !!!!!!!!!!!" + ] +} \ No newline at end of file diff --git a/tests/visual_tests/images/text-typographic-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-typographic-512-512-1.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..30a8c88a1a594e59b9004806979b525ca03c3a6a GIT binary patch literal 30280 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/text-typographic-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-typographic-512-512-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..931115cd6e48ee8ee30ac54fc09f5383c28b13b9 GIT binary patch literal 26038 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 z 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/text-typographic-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-typographic-512-512-2.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..eb586df367585f373e5beddf322ee1d7691eda30 GIT binary patch literal 35158 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 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/text-typographic-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-typographic-512-512-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..91b5b9cc8855b889ea38066ebb4873926d9101a1 GIT binary patch literal 33829 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 bA3*;PHD)&u5d$E*00000NkvXXu0mjf40J-N literal 0 HcmV?d00001 diff --git a/tests/visual_tests/styles/text-typographic.xml b/tests/visual_tests/styles/text-typographic.xml new file mode 100644 index 000000000..7ef23d759 --- /dev/null +++ b/tests/visual_tests/styles/text-typographic.xml @@ -0,0 +1,79 @@ + + + + + lines + texts + + csv + +id,wkt +1,"LINESTRING(0 0, 1 0, 1 1, 2 1, 2 2, 3 2, 3 3, 4 3, 4 4, 5 4, 5 5, 6 5, 6 6, 7 6, 7 7, 8 7, 8 8, 9 8, 9 9, 10 9, 10 10)" +2,"LINESTRING(10 10, 10 9, 9 9, 9 8, 8 8, 8 7, 7 7, 7 6, 6 6, 6 5, 5 5, 5 4, 4 4, 4 3, 3 3, 3 2, 2 2, 2 1, 1 1, 1 0, 0 0)" + + + + \ No newline at end of file diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py index 3f8796d6f..b06efb96e 100755 --- a/tests/visual_tests/test.py +++ b/tests/visual_tests/test.py @@ -271,6 +271,7 @@ files = { 'halo-comp-op-on-satellite':{'sizes':[(450,450)]}, 'marker-whole-multi-polygon':{'sizes':[(512,512)]}, 'shield-on-line-and-avoid-edges':{'sizes':[(512,512)]}, + 'text-typographic':{'sizes':[(512,512)]}, } class Reporting: