diff --git a/.travis.yml b/.travis.yml index a4da980c7..6aec37237 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,25 +9,23 @@ matrix: include: - os: osx compiler: clang - env: JOBS=6 + env: JOBS=12 - os: linux compiler: clang - env: JOBS=6 + env: JOBS=12 - os: linux compiler: gcc - env: JOBS=2 + env: JOBS=6 install: - if [[ $(uname -s) == 'Linux' ]]; then psql -U postgres -c 'create database template_postgis;' -U postgres; psql -U postgres -c 'create extension postgis;' -d template_postgis -U postgres; fi; - - if [[ $(uname -s) == 'Darwin' ]]; then brew install bash; export PATH="$(brew --prefix)/bin":${PATH}; fi; - - echo `which bash` script: - source bootstrap.sh + - wget https://gist.githubusercontent.com/springmeyer/0833fa43794838889139/raw/build_pycairo.sh && chmod +x build_pycairo.sh && ./build_pycairo.sh + - export PYTHONPATH=$(pwd)/mason_packages/.link/lib/python2.7/site-packages:${PYTHONPATH} - ./configure - - cat config.log - make - git clone --depth=1 https://github.com/mapbox/mapnik-test-data tests/data/mapnik-test-data - make test - #- source localize.sh && make grind - #- make bench + - make bench diff --git a/AUTHORS.md b/AUTHORS.md index 4c356e70e..e670af393 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -41,6 +41,7 @@ Mapnik is written by Artem Pavlenko with contributions from: * Carlos López * Dennis Luxen * Tom MacWright +* Sara Metz * Michal Migurski * Andrii Mishkovskyi * Ben Moores @@ -67,6 +68,7 @@ Mapnik is written by Artem Pavlenko with contributions from: * Dave Stubbs * River Tarnell * Cezary Tarnowski +* Blake Thompson * Oliver Tonnhofer * Jochen Topf * Alberto Valverde @@ -77,4 +79,3 @@ Mapnik is written by Artem Pavlenko with contributions from: * Rich Wareham * Nick Whitelegg * Leslie Wu -* Blake Thompson diff --git a/Makefile b/Makefile index e0e229dc5..e5503fee9 100755 --- a/Makefile +++ b/Makefile @@ -13,8 +13,8 @@ install: $(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 install mapnik: - # we first build memory intensive files with -j1 - $(PYTHON) scons/scons.py -j1 \ + # we first build memory intensive files with -j2 + $(PYTHON) scons/scons.py -j2 \ --config=cache --implicit-cache --max-drift=1 \ src/json/libmapnik-json.a \ src/wkt/libmapnik-wkt.a \ @@ -22,10 +22,13 @@ mapnik: src/expression_grammar.os \ src/transform_expression_grammar.os \ src/image_filter_types.os \ - src/renderer_common/process_group_symbolizer.cpp \ - src/agg/process_markers_symbolizer.cpp \ - src/grid/process_markers_symbolizer.cpp \ - src/cairo/process_markers_symbolizer.cpp + src/renderer_common/process_group_symbolizer.os \ + src/agg/process_markers_symbolizer.os \ + src/agg/process_group_symbolizer.os \ + src/grid/process_markers_symbolizer.os \ + src/grid/process_group_symbolizer.os \ + src/cairo/process_markers_symbolizer.os \ + src/cairo/process_group_symbolizer.os \ # then install the rest with -j$(JOBS) $(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 @@ -81,8 +84,9 @@ demo: pep8: # https://gist.github.com/1903033 # gsed on osx - @pep8 -r --select=W293 -q --filename=*.py `pwd`/tests/ | xargs gsed -i 's/^[ \r\t]*$//' - @pep8 -r --select=W391 -q --filename=*.py `pwd`/tests/ | xargs gsed -i -e :a -e '/^\n*$/{$d;N;ba' -e '}' + @pep8 -r --select=W293 -q --filename=*.py `pwd`/tests/ | xargs gsed -i 's/^[ \r\t]*$$//' + @pep8 -r --select=W391 -q --filename=*.py `pwd`/tests/ | xargs gsed -i -e :a -e '/^\n*$$/{$$d;N;ba' -e '}' + @pep8 -r --select=W391 -q --filename=*.py `pwd`/tests/ | xargs ged -i '/./,/^$$/!d' grind: @for FILE in tests/cpp_tests/*-bin; do \ diff --git a/SConstruct b/SConstruct index a83807525..ef07cb984 100644 --- a/SConstruct +++ b/SConstruct @@ -120,7 +120,6 @@ PLUGINS = { # plugins with external dependencies 'csv': {'default':True,'path':None,'inc':None,'lib':None,'lang':'C++'}, 'raster': {'default':True,'path':None,'inc':None,'lib':None,'lang':'C++'}, 'geojson': {'default':True,'path':None,'inc':None,'lib':None,'lang':'C++'}, - 'large_geojson': {'default':True,'path':None,'inc':None,'lib':None,'lang':'C++'}, 'topojson':{'default':True,'path':None,'inc':None,'lib':None,'lang':'C++'}, 'python': {'default':False,'path':None,'inc':None,'lib':None,'lang':'C++'}, } @@ -451,6 +450,7 @@ pickle_store = [# Scons internal variables 'HAS_CAIRO', 'MAPNIK_HAS_DLFCN', 'HAS_PYCAIRO', + 'PYCAIRO_PATHS', 'HAS_LIBXML2', 'PYTHON_IS_64BIT', 'SAMPLE_INPUT_PLUGINS', @@ -1095,6 +1095,7 @@ if not preconfigured: env['CAIRO_ALL_LIBS'] = [] env['CAIRO_CPPPATHS'] = [] env['HAS_PYCAIRO'] = False + env['PYCAIRO_PATHS'] = [] env['HAS_LIBXML2'] = False env['LIBMAPNIK_LIBS'] = [] env['LIBMAPNIK_LINKFLAGS'] = [] @@ -1661,6 +1662,13 @@ if not preconfigured: if env['CAIRO']: if CHECK_PKG_CONFIG and conf.CheckPKG('pycairo'): env['HAS_PYCAIRO'] = True + temp_env = env.Clone() + temp_env['CPPPATH'] = [] + temp_env.ParseConfig('pkg-config --cflags pycairo') + if temp_env['CPPPATH']: + env['PYCAIRO_PATHS'] = copy(temp_env['CPPPATH']) + else: + print temp_env['CPPPATH'] else: env['SKIPPED_DEPS'].extend(['pycairo']) else: diff --git a/bindings/python/build.py b/bindings/python/build.py index 9fd29355c..db92a51f3 100644 --- a/bindings/python/build.py +++ b/bindings/python/build.py @@ -19,7 +19,8 @@ # # -import os, re, sys, glob +import glob +import os from subprocess import Popen, PIPE @@ -44,6 +45,7 @@ target_path = os.path.normpath(env['PYTHON_INSTALL_LOCATION'] + os.path.sep + en target_path_deprecated = os.path.normpath(env['PYTHON_INSTALL_LOCATION'] + os.path.sep + 'mapnik2') py_env = env.Clone() + py_env.Append(CPPPATH = env['PYTHON_INCLUDES']) py_env.Append(CPPDEFINES = env['LIBMAPNIK_DEFINES']) @@ -179,8 +181,8 @@ if 'uninstall' not in COMMAND_LINE_TARGETS: py_env.Append(LIBS=env['CAIRO_ALL_LIBS']) if env['HAS_PYCAIRO']: - py_env.ParseConfig('pkg-config --cflags pycairo') py_env.Append(CPPDEFINES = '-DHAVE_PYCAIRO') + py_env.Append(CPPPATH = env['PYCAIRO_PATHS']) py_env.Append(LINKFLAGS=python_link_flag) py_env.AppendUnique(LIBS='mapnik-json') diff --git a/bindings/python/mapnik/__init__.py b/bindings/python/mapnik/__init__.py index 8adf83db2..c39768574 100644 --- a/bindings/python/mapnik/__init__.py +++ b/bindings/python/mapnik/__init__.py @@ -41,7 +41,6 @@ Several things happen when you do: import itertools import os -import sys import warnings try: import json diff --git a/bindings/python/mapnik/printing.py b/bindings/python/mapnik/printing.py index a354c4999..87101eae9 100644 --- a/bindings/python/mapnik/printing.py +++ b/bindings/python/mapnik/printing.py @@ -17,7 +17,7 @@ see the documentation of mapnik.printing.PDFPrinter() for options """ from __future__ import absolute_import -from . import render, Map, Box2d, Layer, Feature, Projection, ProjTransform, Coord, Style, Rule, Geometry2d +from . import render, Map, Box2d, Layer, Feature, Projection, Coord, Style, Geometry2d import math import os import tempfile diff --git a/bootstrap.sh b/bootstrap.sh index dc9c4afb2..601ab6ebd 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -6,93 +6,57 @@ todo +- gdal shared lib / avoid dlclose atexit crash - clang debs to s3 - docs for base setup: sudo apt-get -y install zlib1g-dev python-dev make git python-dev -- boost_python_patch - shrink icu data -- cairo/pycairo -- clang + libc++ -- pkg-config-less -- gdal shared lib? ' -CPP11_TOOLCHAIN="$(pwd)/toolchain" - -function dpack() { - if [[ ! -f $2 ]]; then - wget -q $1/$(echo $2 | sed 's/+/%2B/g') - dpkg -x $2 ${CPP11_TOOLCHAIN} - fi -} - -function setup_cpp11_toolchain() { - if [[ $(uname -s) == 'Linux' ]]; then - local PPA="https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+files" - # http://llvm.org/apt/precise/dists/llvm-toolchain-precise-3.5/main/binary-amd64/Packages - # TODO: cache these for faster downloads - local LLVM_DIST="http://llvm.org/apt/precise/pool/main/l/llvm-toolchain-3.5" - dpack ${LLVM_DIST} clang-3.5_3.5~svn217304-1~exp1_amd64.deb - dpack ${LLVM_DIST} libllvm3.5_3.5~svn217304-1~exp1_amd64.deb - dpack ${LLVM_DIST} libclang-common-3.5-dev_3.5~svn215019-1~exp1_amd64.deb - dpack ${PPA} libstdc++6_4.8.1-2ubuntu1~12.04_amd64.deb - dpack ${PPA} libstdc++-4.8-dev_4.8.1-2ubuntu1~12.04_amd64.deb - dpack ${PPA} libgcc-4.8-dev_4.8.1-2ubuntu1~12.04_amd64.deb - export CPLUS_INCLUDE_PATH="${CPP11_TOOLCHAIN}/usr/include/c++/4.8:${CPP11_TOOLCHAIN}/usr/include/x86_64-linux-gnu/c++/4.8:${CPLUS_INCLUDE_PATH}" - export LD_LIBRARY_PATH="${CPP11_TOOLCHAIN}/usr/lib/x86_64-linux-gnu:${CPP11_TOOLCHAIN}/usr/lib/gcc/x86_64-linux-gnu/4.8/:${LD_LIBRARY_PATH}" - export LIBRARY_PATH="${LD_LIBRARY_PATH}" - export PATH="${CPP11_TOOLCHAIN}/usr/bin":${PATH} - export CXX="${CPP11_TOOLCHAIN}/usr/bin/clang++-3.5" - export CC="${CPP11_TOOLCHAIN}/usr/bin/clang-3.5" - else - export CXX=clang++ - export CC=clang - fi -} - function setup_mason() { - if [[ -d ~/.mason ]]; then - export PATH=~/.mason:$PATH + if [[ ! -d ./.mason ]]; then + git clone --depth 1 https://github.com/mapbox/mason.git ./.mason else - if [[ ! -d ./.mason ]]; then - git clone --depth 1 https://github.com/mapbox/mason.git ./.mason - fi - export MASON_DIR=$(pwd)/.mason - export PATH=$(pwd)/.mason:$PATH + echo "Updating to latest mason" + (cd ./.mason && git pull) fi + export MASON_DIR=$(pwd)/.mason + if [[ $(uname -s) == 'Linux' ]]; then source ./.mason/scripts/setup_cpp11_toolchain.sh; fi + export PATH=$(pwd)/.mason:$PATH + export CXX=${CXX:-clang++} + export CC=${CC:-clang} } -function ip() { - if [[ ! -d ./mason_packages/${3}/${1}/ ]]; then - echo ./mason_packages/${3}/${1}/ +function install() { + MASON_PLATFORM_ID=$(mason env MASON_PLATFORM_ID) + if [[ ! -d ./mason_packages/${MASON_PLATFORM_ID}/${1}/ ]]; then mason install $1 $2 mason link $1 $2 fi } function install_mason_deps() { - MASON_PLATFORM_ID=$(mason env MASON_PLATFORM_ID) - ip freetype 2.5.4 $MASON_PLATFORM_ID - ip harfbuzz 2cd5323 $MASON_PLATFORM_ID - ip jpeg_turbo 1.4.0 $MASON_PLATFORM_ID - ip libxml2 2.9.2 $MASON_PLATFORM_ID - ip libpng 1.6.13 $MASON_PLATFORM_ID - ip webp 0.4.2 $MASON_PLATFORM_ID - ip icu 54.1 $MASON_PLATFORM_ID - ip proj 4.8.0 $MASON_PLATFORM_ID - ip libtiff 4.0.4beta $MASON_PLATFORM_ID - ip boost 1.57.0 $MASON_PLATFORM_ID - ip boost_libsystem 1.57.0 $MASON_PLATFORM_ID - ip boost_libthread 1.57.0 $MASON_PLATFORM_ID - ip boost_libfilesystem 1.57.0 $MASON_PLATFORM_ID - ip boost_libprogram_options 1.57.0 $MASON_PLATFORM_ID - ip boost_libregex 1.57.0 $MASON_PLATFORM_ID - ip boost_libpython 1.57.0 $MASON_PLATFORM_ID - ip libpq 9.4.0 $MASON_PLATFORM_ID - ip sqlite 3.8.6 $MASON_PLATFORM_ID - ip gdal 1.11.1 $MASON_PLATFORM_ID - ip expat 2.1.0 $MASON_PLATFORM_ID - ip pixman 0.32.6 $MASON_PLATFORM_ID - ip cairo 1.12.18 $MASON_PLATFORM_ID + install freetype 2.5.4 + install harfbuzz 2cd5323 + install jpeg_turbo 1.4.0 + install libxml2 2.9.2 + install libpng 1.6.16 + install webp 0.4.2 + install icu 54.1 + install proj 4.8.0 + install libtiff 4.0.4beta + install boost 1.57.0 + install boost_libsystem 1.57.0 + install boost_libthread 1.57.0 + install boost_libfilesystem 1.57.0 + install boost_libprogram_options 1.57.0 + install boost_libregex 1.57.0 + install boost_libpython 1.57.0 + install libpq 9.4.0 + install sqlite 3.8.8.1 + install gdal 1.11.1 + install expat 2.1.0 + install pixman 0.32.6 + install cairo 1.12.18 } function setup_nose() { @@ -105,7 +69,6 @@ function setup_nose() { function make_config() { local MASON_LINKED_REL=./mason_packages/.link - export PKG_CONFIG_PATH="${MASON_LINKED_REL}/lib/pkgconfig" export C_INCLUDE_PATH="${MASON_LINKED_REL}/include" export CPLUS_INCLUDE_PATH="${MASON_LINKED_REL}/include" export LIBRARY_PATH="${MASON_LINKED_REL}/lib" @@ -118,11 +81,10 @@ CUSTOM_CXXFLAGS = '-fvisibility=hidden -fvisibility-inlines-hidden -DU_CHARSET_I CUSTOM_LDFLAGS = '-L${MASON_LINKED_REL}/lib' RUNTIME_LINK = 'static' INPUT_PLUGINS = 'all' -PREFIX = '/opt/mapnik-3.x' PATH = '${MASON_LINKED_REL}/bin' +PKG_CONFIG_PATH = '${MASON_LINKED_REL}/lib/pkgconfig' PATH_REMOVE = '/usr:/usr/local' PATH_REPLACE = '/Users/travis/build/mapbox/mason/mason_packages:./mason_packages' -MAPNIK_NAME = 'mapnik_3-0-0' BOOST_INCLUDES = '${MASON_LINKED_REL}/include' BOOST_LIBS = '${MASON_LINKED_REL}/lib' ICU_INCLUDES = '${MASON_LINKED_REL}/include' @@ -149,6 +111,9 @@ CAIRO_LIBS = '${MASON_LINKED_REL}/lib' SQLITE_INCLUDES = '${MASON_LINKED_REL}/include' SQLITE_LIBS = '${MASON_LINKED_REL}/lib' FRAMEWORK_PYTHON = False +BENCHMARK = True +CPP_TESTS = True +PGSQL2SQLITE = True BINDINGS = 'python' XMLPARSER = 'ptree' SVG2PNG = True @@ -167,9 +132,11 @@ function main() { setup_mason install_mason_deps setup_nose - setup_cpp11_toolchain make_config setup_runtime_settings + echo "Ready, now run:" + echo "" + echo " ./configure && make" } main diff --git a/deps/boost/geometry/extensions/index/rtree/helpers.hpp b/deps/boost/geometry/extensions/index/rtree/helpers.hpp deleted file mode 100644 index 45a71f31d..000000000 --- a/deps/boost/geometry/extensions/index/rtree/helpers.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Boost.SpatialIndex - geometry helper functions -// -// Copyright 2008 Federico J. Fernandez. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GGL_INDEX_RTREE_HELPERS_HPP -#define BOOST_GEOMETRY_GGL_INDEX_RTREE_HELPERS_HPP - -#include -#include -#include - -namespace boost { namespace geometry { namespace index { - -/** - * \brief Given two boxes, returns the minimal box that contains them - */ -// TODO: use geometry::expand -template -inline Box enlarge_box(Box const& b1, Box const& b2) -{ - // TODO: mloskot - Refactor to readable form. Fix VC++8.0 min/max warnings: - // warning C4002: too many actual parameters for macro 'min - - typedef typename geometry::point_type::type point_type; - - point_type pmin( - geometry::get(b1) < geometry::get(b2) - ? geometry::get(b1) : geometry::get(b2), - geometry::get(b1) < geometry::get(b2) - ? geometry::get(b1) : geometry::get(b2)); - - point_type pmax( - geometry::get(b1) > geometry::get(b2) - ? geometry::get(b1) : geometry::get(b2), - geometry::get(b1) > geometry::get(b2) - ? geometry::get(b1) : geometry::get(b2)); - - return Box(pmin, pmax); -} - -/** - * \brief Compute the area of the union of b1 and b2 - */ -template -inline typename default_area_result::type compute_union_area(Box const& b1, Box const& b2) -{ - Box enlarged_box = enlarge_box(b1, b2); - return geometry::area(enlarged_box); -} - -/** - * \brief Checks if boxes intersects - */ -// TODO: move to geometry::intersects -template -inline bool is_overlapping(Box const& b1, Box const& b2) -{ - return ! geometry::disjoint(b1, b2); -} - -}}} // namespace boost::geometry::index - -#endif // BOOST_GEOMETRY_GGL_INDEX_RTREE_HELPERS_HPP diff --git a/deps/boost/geometry/extensions/index/rtree/rtree.hpp b/deps/boost/geometry/extensions/index/rtree/rtree.hpp deleted file mode 100644 index 2cf579658..000000000 --- a/deps/boost/geometry/extensions/index/rtree/rtree.hpp +++ /dev/null @@ -1,773 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Boost.SpatialIndex - rtree implementation -// -// Copyright 2008 Federico J. Fernandez. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_HPP - -#include -#include // TODO: Remove if print() is removed -#include -#include -#include - -#include -#include - -#include - -#include -#include - -namespace boost { namespace geometry { namespace index -{ - -template -class rtree -{ -public: - - typedef std::shared_ptr > node_pointer; - typedef std::shared_ptr > leaf_pointer; - - /** - * \brief Creates a rtree with 'maximum' elements per node and 'minimum'. - */ - rtree(unsigned int const& maximum, unsigned int const& minimum) - : m_count(0) - , m_min_elems_per_node(minimum) - , m_max_elems_per_node(maximum) - , m_root(new rtree_node(node_pointer(), 1)) - { - } - - /** - * \brief Creates a rtree with maximum elements per node - * and minimum (box is ignored). - */ - rtree(Box const& box, unsigned int const& maximum, unsigned int const& minimum) - : m_count(0) - , m_min_elems_per_node(minimum) - , m_max_elems_per_node(maximum) - , m_root(new rtree_node(node_pointer(), 1)) - { - boost::ignore_unused_variable_warning(box); - } - - /** - * \brief destructor (virtual because we have virtual functions) - */ - virtual ~rtree() {} - - - /** - * \brief Remove elements inside the 'box' - */ - inline void remove(Box const& box) - { - try - { - node_pointer leaf(choose_exact_leaf(box)); - typename rtree_leaf::leaf_map q_leaves; - - leaf->remove(box); - - if (leaf->elements() < m_min_elems_per_node && elements() > m_min_elems_per_node) - { - q_leaves = leaf->get_leaves(); - - // we remove the leaf_node in the parent node because now it's empty - leaf->get_parent()->remove(leaf->get_parent()->get_box(leaf)); - } - - typename rtree_node::node_map q_nodes; - condense_tree(leaf, q_nodes); - - std::vector > s; - for (typename rtree_node::node_map::const_iterator it = q_nodes.begin(); - it != q_nodes.end(); ++it) - { - typename rtree_leaf::leaf_map leaves = it->second->get_leaves(); - - // reinserting leaves from nodes - for (typename rtree_leaf::leaf_map::const_iterator itl = leaves.begin(); - itl != leaves.end(); ++itl) - { - s.push_back(*itl); - } - } - - for (typename std::vector >::const_iterator it = s.begin(); it != s.end(); ++it) - { - m_count--; - insert(it->first, it->second); - } - - // if the root has only one child and the child is not a leaf, - // make it the root - if (m_root->elements() == 1) - { - if (!m_root->first_element()->is_leaf()) - { - m_root = m_root->first_element(); - } - } - // reinserting leaves - for (typename rtree_leaf::leaf_map::const_iterator it = q_leaves.begin(); - it != q_leaves.end(); ++it) - { - m_count--; - insert(it->first, it->second); - } - - m_count--; - } - catch(std::logic_error & e) - { - // TODO: mloskot - replace with Boost.Geometry exception - - // not found - std::cerr << e.what() << std::endl; - return; - } - } - - /** - * \brief Remove element inside the box with value - */ - void remove(Box const& box, Value const& value) - { - try - { - node_pointer leaf; - - // find possible leaves - typedef typename std::vector node_type; - node_type nodes; - m_root->find_leaves(box, nodes); - - // refine the result - for (typename node_type::const_iterator it = nodes.begin(); it != nodes.end(); ++it) - { - leaf = *it; - try - { - leaf->remove(value); - break; - } catch (...) - { - leaf = node_pointer(); - } - } - - if (!leaf) - return; - - typename rtree_leaf < Box, Value >::leaf_map q_leaves; - - if (leaf->elements() < m_min_elems_per_node && elements() > m_min_elems_per_node) - { - q_leaves = leaf->get_leaves(); - - // we remove the leaf_node in the parent node because now it's empty - leaf->get_parent()->remove(leaf->get_parent()->get_box(leaf)); - } - - typename rtree_node::node_map q_nodes; - condense_tree(leaf, q_nodes); - - std::vector > s; - for (typename rtree_node::node_map::const_iterator it = q_nodes.begin(); - it != q_nodes.end(); ++it) - { - typename rtree_leaf::leaf_map leaves = it->second->get_leaves(); - - // reinserting leaves from nodes - for (typename rtree_leaf::leaf_map::const_iterator itl = leaves.begin(); - itl != leaves.end(); ++itl) - { - s.push_back(*itl); - } - } - - for (typename std::vector >::const_iterator it = s.begin(); it != s.end(); ++it) - { - m_count--; - insert(it->first, it->second); - } - - // if the root has only one child and the child is not a leaf, - // make it the root - if (m_root->elements() == 1) - { - if (!m_root->first_element()->is_leaf()) - { - m_root = m_root->first_element(); - } - } - - // reinserting leaves - for (typename rtree_leaf::leaf_map::const_iterator it = q_leaves.begin(); - it != q_leaves.end(); ++it) - { - m_count--; - insert(it->first, it->second); - } - - m_count--; - - } - catch(std::logic_error & e) - { - // TODO: mloskot - ggl exception - - // not found - std::cerr << e.what() << std::endl; - return; - } - } - - /** - * \brief Returns the number of elements. - */ - inline unsigned int elements() const - { - return m_count; - } - - - /** - * \brief Inserts an element with 'box' as key with value. - */ - inline void insert(Box const& box, Value const& value) - { - m_count++; - - node_pointer leaf(choose_corresponding_leaf(box)); - - // check if the selected leaf is full to do the split if necessary - if (leaf->elements() >= m_max_elems_per_node) - { - leaf->insert(box, value); - - // split! - node_pointer n1(new rtree_leaf(leaf->get_parent())); - node_pointer n2(new rtree_leaf(leaf->get_parent())); - - split_node(leaf, n1, n2); - adjust_tree(leaf, n1, n2); - } - else - { - leaf->insert(box, value); - adjust_tree(leaf); - } - } - - - /** - * \brief Returns all the values inside 'box' - */ - inline std::deque find(Box const& box) const - { - std::deque result; - m_root->find(box, result, false); - return result; - } - - /** - * \brief Print Rtree (mainly for debug) - */ - inline void print() - { - std::cerr << "===================================" << std::endl; - std::cerr << " Min/Max: " << m_min_elems_per_node << " / " << m_max_elems_per_node << std::endl; - std::cerr << "Leaves: " << m_root->get_leaves().size() << std::endl; - m_root->print(); - std::cerr << "===================================" << std::endl; - } - -private: - - /// number of elements - unsigned int m_count; - - /// minimum number of elements per node - unsigned int m_min_elems_per_node; - - /// maximum number of elements per node - unsigned int m_max_elems_per_node; - - /// tree root - node_pointer m_root; - - /** - * \brief Reorganize the tree after a removal. It tries to - * join nodes with less elements than m. - */ - void condense_tree(node_pointer const& leaf, - typename rtree_node::node_map& q_nodes) - { - if (leaf.get() == m_root.get()) - { - // if it's the root we are done - return; - } - - node_pointer parent = leaf->get_parent(); - parent->adjust_box(leaf); - - if (parent->elements() < m_min_elems_per_node) - { - if (parent.get() == m_root.get()) - { - // if the parent is underfull and it's the root we just exit - return; - } - - // get the nodes that we should reinsert - typename rtree_node::node_map this_nodes = parent->get_nodes(); - for(typename rtree_node::node_map::const_iterator it = this_nodes.begin(); - it != this_nodes.end(); ++it) - { - q_nodes.push_back(*it); - } - - // we remove the node in the parent node because now it should be - // re inserted - parent->get_parent()->remove(parent->get_parent()->get_box(parent)); - } - - condense_tree(parent, q_nodes); - } - - /** - * \brief After an insertion splits nodes with more than 'maximum' elements. - */ - inline void adjust_tree(node_pointer& node) - { - if (node.get() == m_root.get()) - { - // we finished the adjust - return; - } - - // as there are no splits just adjust the box of the parent and go on - node_pointer parent = node->get_parent(); - parent->adjust_box(node); - adjust_tree(parent); - } - - /** - * \brief After an insertion splits nodes with more than maximum elements - * (recursive step with subtrees 'n1' and 'n2' to be joined). - */ - void adjust_tree(node_pointer& leaf, node_pointer& n1, node_pointer& n2) - { - // check if we are in the root and do the split - if (leaf.get() == m_root.get()) - { - node_pointer new_root(new rtree_node(node_pointer (), leaf->get_level() + 1)); - new_root->add_node(n1->compute_box(), n1); - new_root->add_node(n2->compute_box(), n2); - - n1->set_parent(new_root); - n2->set_parent(new_root); - - n1->update_parent(n1); - n2->update_parent(n2); - - m_root = new_root; - return; - } - - node_pointer parent = leaf->get_parent(); - - parent->replace_node(leaf, n1); - parent->add_node(n2->compute_box(), n2); - - // if parent is full, split and readjust - if (parent->elements() > m_max_elems_per_node) - { - node_pointer p1(new rtree_node(parent->get_parent(), parent->get_level())); - node_pointer p2(new rtree_node(parent->get_parent(), parent->get_level())); - - split_node(parent, p1, p2); - adjust_tree(parent, p1, p2); - } - else - { - adjust_tree(parent); - } - } - - /** - * \brief Splits 'n' in 'n1' and 'n2' - */ - void split_node(node_pointer const& n, node_pointer& n1, node_pointer& n2) const - { - unsigned int seed1 = 0; - unsigned int seed2 = 0; - std::vector boxes = n->get_boxes(); - - n1->set_parent(n->get_parent()); - n2->set_parent(n->get_parent()); - - linear_pick_seeds(n, seed1, seed2); - - if (n->is_leaf()) - { - n1->add_value(boxes[seed1], n->get_value(seed1)); - n2->add_value(boxes[seed2], n->get_value(seed2)); - } - else - { - n1->add_node(boxes[seed1], n->get_node(seed1)); - n2->add_node(boxes[seed2], n->get_node(seed2)); - } - - unsigned int index = 0; - - if (n->is_leaf()) - { - // TODO: mloskot - add assert(node.size() >= 2); or similar - - typename rtree_leaf::leaf_map nodes = n->get_leaves(); - unsigned int remaining = nodes.size() - 2; - - for (typename rtree_leaf::leaf_map::const_iterator it = nodes.begin(); - it != nodes.end(); ++it, index++) - { - if (index != seed1 && index != seed2) - { - if (n1->elements() + remaining == m_min_elems_per_node) - { - n1->add_value(it->first, it->second); - continue; - } - if (n2->elements() + remaining == m_min_elems_per_node) - { - n2->add_value(it->first, it->second); - continue; - } - - remaining--; - - /// current boxes of each group - Box b1, b2; - - /// enlarged boxes of each group - Box eb1, eb2; - b1 = n1->compute_box(); - b2 = n2->compute_box(); - - /// areas - typedef typename coordinate_type::type coordinate_type; - coordinate_type b1_area, b2_area; - coordinate_type eb1_area, eb2_area; - b1_area = geometry::area(b1); - b2_area = geometry::area(b2); - eb1_area = compute_union_area(b1, it->first); - eb2_area = compute_union_area(b2, it->first); - - if (eb1_area - b1_area > eb2_area - b2_area) - { - n2->add_value(it->first, it->second); - } - if (eb1_area - b1_area < eb2_area - b2_area) - { - n1->add_value(it->first, it->second); - } - if (eb1_area - b1_area == eb2_area - b2_area) - { - if (b1_area < b2_area) - { - n1->add_value(it->first, it->second); - } - if (b1_area > b2_area) - { - n2->add_value(it->first, it->second); - } - if (b1_area == b2_area) - { - if (n1->elements() > n2->elements()) - { - n2->add_value(it->first, it->second); - } - else - { - n1->add_value(it->first, it->second); - } - } - } - } - } - } - else - { - // TODO: mloskot - add assert(node.size() >= 2); or similar - - typename rtree_node::node_map nodes = n->get_nodes(); - unsigned int remaining = nodes.size() - 2; - for(typename rtree_node::node_map::const_iterator it = nodes.begin(); - it != nodes.end(); ++it, index++) - { - - if (index != seed1 && index != seed2) - { - - if (n1->elements() + remaining == m_min_elems_per_node) - { - n1->add_node(it->first, it->second); - continue; - } - if (n2->elements() + remaining == m_min_elems_per_node) - { - n2->add_node(it->first, it->second); - continue; - } - - remaining--; - - /// current boxes of each group - Box b1, b2; - - /// enlarged boxes of each group - Box eb1, eb2; - b1 = n1->compute_box(); - b2 = n2->compute_box(); - - /// areas - typedef typename coordinate_type::type coordinate_type; - coordinate_type b1_area, b2_area; - coordinate_type eb1_area, eb2_area; - b1_area = geometry::area(b1); - b2_area = geometry::area(b2); - - eb1_area = compute_union_area(b1, it->first); - eb2_area = compute_union_area(b2, it->first); - - if (eb1_area - b1_area > eb2_area - b2_area) - { - n2->add_node(it->first, it->second); - } - if (eb1_area - b1_area < eb2_area - b2_area) - { - n1->add_node(it->first, it->second); - } - if (eb1_area - b1_area == eb2_area - b2_area) - { - if (b1_area < b2_area) - { - n1->add_node(it->first, it->second); - } - if (b1_area > b2_area) - { - n2->add_node(it->first, it->second); - } - if (b1_area == b2_area) - { - if (n1->elements() > n2->elements()) - { - n2->add_node(it->first, it->second); - } - else - { - n1->add_node(it->first, it->second); - } - } - } - - } - } - } - } - - /** - * \brief Choose initial values for the split algorithm (linear version) - */ - void linear_pick_seeds(node_pointer const& n, unsigned int &seed1, unsigned int &seed2) const - { - // get boxes from the node - std::vectorboxes = n->get_boxes(); - if (boxes.size() == 0) - { - // TODO: mloskot - throw ggl exception - throw std::logic_error("Empty Node trying to Pick Seeds"); - } - - // only two dim for now - // unsigned int dimensions = - // geometry::point_traits::coordinate_count; - - // find the first two elements - typedef typename coordinate_type::type coordinate_type; - coordinate_type separation_x, separation_y; - unsigned int first_x, second_x; - unsigned int first_y, second_y; - find_normalized_separations<0u>(boxes, separation_x, first_x, second_x); - find_normalized_separations<1u>(boxes, separation_y, first_y, second_y); - - if (separation_x > separation_y) - { - seed1 = first_x; - seed2 = second_x; - } - else - { - seed1 = first_y; - seed2 = second_y; - } - } - - /** - * \brief Find distances between possible initial values for the - * pick_seeds algorithm. - */ - template - void find_normalized_separations(std::vector const& boxes, T& separation, - unsigned int& first, unsigned int& second) const - { - if (boxes.size() < 2) - { - throw std::logic_error("At least two boxes needed to split"); - } - - // find the lowest high - typename std::vector::const_iterator it = boxes.begin(); - typedef typename coordinate_type::type coordinate_type; - coordinate_type lowest_high = geometry::get(*it); - unsigned int lowest_high_index = 0; - unsigned int index = 1; - ++it; - for(; it != boxes.end(); ++it) - { - if (geometry::get(*it) < lowest_high) - { - lowest_high = geometry::get(*it); - lowest_high_index = index; - } - index++; - } - - // find the highest low - coordinate_type highest_low = 0; - unsigned int highest_low_index = 0; - if (lowest_high_index == 0) - { - highest_low = geometry::get(boxes[1]); - highest_low_index = 1; - } - else - { - highest_low = geometry::get(boxes[0]); - highest_low_index = 0; - } - - index = 0; - for (it = boxes.begin(); - it != boxes.end(); ++it, index++) - { - if (geometry::get(*it) >= highest_low && index != lowest_high_index) - { - highest_low = geometry::get(*it); - highest_low_index = index; - } - } - - // find the lowest low - it = boxes.begin(); - coordinate_type lowest_low = geometry::get(*it); - ++it; - for(; it != boxes.end(); ++it) - { - if (geometry::get(*it) < lowest_low) - { - lowest_low = geometry::get(*it); - } - } - - // find the highest high - it = boxes.begin(); - coordinate_type highest_high = geometry::get(*it); - ++it; - for(; it != boxes.end(); ++it) - { - if (geometry::get(*it) > highest_high) - { - highest_high = geometry::get(*it); - } - } - - coordinate_type const width = highest_high - lowest_low; - - separation = (highest_low - lowest_high) / width; - first = highest_low_index; - second = lowest_high_index; - } - - /** - * \brief Choose one of the possible leaves to make an insertion - */ - inline node_pointer choose_corresponding_leaf(Box const& e) - { - node_pointer node = m_root; - - // if the tree is empty add an initial leaf - if (m_root->elements() == 0) - { - leaf_pointer new_leaf(new rtree_leaf(m_root)); - m_root->add_leaf_node(Box (), new_leaf); - - return new_leaf; - } - - while (!node->is_leaf()) - { - /// traverse node's map to see which node we should select - node = node->choose_node(e); - } - return node; - } - - /** - * \brief Choose the exact leaf where an insertion should be done - */ - node_pointer choose_exact_leaf(Box const&e) const - { - // find possible leaves - typedef typename std::vector node_type; - node_type nodes; - m_root->find_leaves(e, nodes); - - // refine the result - for (typename node_type::const_iterator it = nodes.begin(); it != nodes.end(); ++it) - { - typedef std::vector > leaves_type; - leaves_type leaves = (*it)->get_leaves(); - - for (typename leaves_type::const_iterator itl = leaves.begin(); - itl != leaves.end(); ++itl) - { - - if (itl->first.max_corner() == e.max_corner() - && itl->first.min_corner() == e.min_corner()) - { - return *it; - } - } - } - - // TODO: mloskot - ggl exception - throw std::logic_error("Leaf not found"); - } -}; - -}}} // namespace boost::geometry::index - -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_HPP diff --git a/deps/boost/geometry/extensions/index/rtree/rtree_leaf.hpp b/deps/boost/geometry/extensions/index/rtree/rtree_leaf.hpp deleted file mode 100644 index 733e1819d..000000000 --- a/deps/boost/geometry/extensions/index/rtree/rtree_leaf.hpp +++ /dev/null @@ -1,252 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Boost.SpatialIndex - rtree leaf implementation -// -// Copyright 2008 Federico J. Fernandez. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_LEAF_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_LEAF_HPP - -#include -#include // TODO: Remove if print() is removed -#include -#include -#include - -#include - -#include -#include -#include - -#include - -namespace boost { namespace geometry { namespace index -{ - -template -class rtree_leaf : public rtree_node -{ -public: - - /// container type for the leaves - typedef std::shared_ptr > node_pointer; - typedef std::vector > leaf_map; - - /** - * \brief Creates an empty leaf - */ - inline rtree_leaf() - { - } - - /** - * \brief Creates a new leaf, with 'parent' as parent - */ - inline rtree_leaf(node_pointer const& parent) - : rtree_node (parent, 0) - { - } - - /** - * \brief Search for elements in 'box' in the Rtree. Add them to 'result'. - * If exact_match is true only return the elements having as - * key the 'box'. Otherwise return everything inside 'box'. - */ - virtual void find(Box const& box, std::deque& result, bool const exact_match) - { - for (typename leaf_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (exact_match) - { - if (geometry::equals(it->first, box)) - { - result.push_back(it->second); - } - } - else - { - if (is_overlapping(it->first, box)) - { - result.push_back(it->second); - } - } - } - } - - /** - * \brief Compute bounding box for this leaf - */ - virtual Box compute_box() const - { - if (m_nodes.empty()) - { - return Box (); - } - - Box r; - geometry::assign_inverse(r); - for(typename leaf_map::const_iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - geometry::expand(r, it->first); - } - return r; - } - - /** - * \brief True if we are a leaf - */ - virtual bool is_leaf() const - { - return true; - } - - /** - * \brief Number of elements in the tree - */ - virtual unsigned int elements() const - { - return m_nodes.size(); - } - - /** - * \brief Insert a new element, with key 'box' and value 'v' - */ - virtual void insert(Box const& box, Value const& v) - { - m_nodes.push_back(std::make_pair(box, v)); - } - - /** - * \brief Proyect leaves of this node. - */ - virtual std::vector< std::pair > get_leaves() const - { - return m_nodes; - } - - /** - * \brief Add a new child (node) to this node - */ - virtual void add_node(Box const&, node_pointer const&) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Can't add node to leaf node."); - } - - /** - * \brief Add a new leaf to this node - */ - virtual void add_value(Box const& box, Value const& v) - { - m_nodes.push_back(std::make_pair(box, v)); - } - - - /** - * \brief Proyect value in position 'index' in the nodes container - */ - virtual Value get_value(unsigned int index) const - { - return m_nodes[index].second; - } - - /** - * \brief Box projector for leaf - */ - virtual Box get_box(unsigned int index) const - { - return m_nodes[index].first; - } - - /** - * \brief Remove value with key 'box' in this leaf - */ - virtual void remove(Box const& box) - { - - for (typename leaf_map::iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (geometry::equals(it->first, box)) - { - m_nodes.erase(it); - return; - } - } - - // TODO: mloskot - use GGL exception - throw std::logic_error("Node not found."); - } - - /** - * \brief Remove value in this leaf - */ - virtual void remove(Value const& v) - { - for (typename leaf_map::iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (it->second == v) - { - m_nodes.erase(it); - return; - } - } - - // TODO: mloskot - use GGL exception - throw std::logic_error("Node not found."); - } - - /** - * \brief Proyect boxes from this node - */ - virtual std::vector get_boxes() const - { - std::vector result; - for (typename leaf_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - result.push_back(it->first); - } - - return result; - } - - /** - * \brief Print leaf (mainly for debug) - */ - virtual void print() const - { - std::cerr << "\t" << " --> Leaf --------" << std::endl; - std::cerr << "\t" << " Size: " << m_nodes.size() << std::endl; - for (typename leaf_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - std::cerr << "\t" << " | "; - std::cerr << "( " << geometry::get - (it->first) << " , " << geometry::get - (it->first) << " ) x "; - std::cerr << "( " << geometry::get - (it->first) << " , " << geometry::get - (it->first) << " )"; - std::cerr << " -> "; - std::cerr << it->second; - std::cerr << " | " << std::endl;; - } - std::cerr << "\t" << " --< Leaf --------" << std::endl; - } - -private: - - /// leaves of this node - leaf_map m_nodes; -}; - -}}} // namespace boost::geometry::index - -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_LEAF_HPP diff --git a/deps/boost/geometry/extensions/index/rtree/rtree_node.hpp b/deps/boost/geometry/extensions/index/rtree/rtree_node.hpp deleted file mode 100644 index ec9efad98..000000000 --- a/deps/boost/geometry/extensions/index/rtree/rtree_node.hpp +++ /dev/null @@ -1,493 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Boost.SpatialIndex - rtree node implementation -// -// Copyright 2008 Federico J. Fernandez. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_NODE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_NODE_HPP - -#include -#include // TODO: Remove if print() is removed -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -namespace boost { namespace geometry { namespace index -{ - -/// forward declaration -template -class rtree_leaf; - -template -class rtree_node -{ -public: - - typedef std::shared_ptr > node_pointer; - typedef std::shared_ptr > leaf_pointer; - - /// type for the node map - typedef std::vector > node_map; - - /** - * \brief Creates a default node (needed for the containers) - */ - rtree_node() - { - } - - /** - * \brief Creates a node with 'parent' as parent and 'level' as its level - */ - rtree_node(node_pointer const& parent, unsigned int const& level) - : m_parent(parent), m_level(level) - { - } - - /** - * \brief destructor (virtual because we have virtual functions) - */ - virtual ~rtree_node() - { - } - - /** - * \brief Level projector - */ - virtual unsigned int get_level() const - { - return m_level; - } - - /** - * \brief Number of elements in the subtree - */ - virtual unsigned int elements() const - { - return m_nodes.size(); - } - - /** - * \brief Project first element, to replace root in case of condensing - */ - inline node_pointer first_element() const - { - if (0 == m_nodes.size()) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("first_element in empty node"); - } - return m_nodes.begin()->second; - } - - /** - * \brief True if it is a leaf node - */ - virtual bool is_leaf() const - { - return false; - } - - /** - * \brief Proyector for the 'i' node - */ - node_pointer get_node(unsigned int index) - { - return m_nodes[index].second; - } - - /** - * \brief Search for elements in 'box' in the Rtree. Add them to 'result'. - * If exact_match is true only return the elements having as - * key the box 'box'. Otherwise return everything inside 'box'. - */ - virtual void find(Box const& box, std::deque& result, bool const exact_match) - { - for (typename node_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (is_overlapping(it->first, box)) - { - it->second->find(box, result, exact_match); - } - } - } - - /** - * \brief Return in 'result' all the leaves inside 'box' - */ - void find_leaves(Box const& box, typename std::vector& result) const - { - for (typename node_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (is_overlapping(it->first, box)) - { - if (it->second->is_leaf()) - { - result.push_back(it->second); - } - else - { - it->second->find_leaves(box, result); - } - } - } - } - - /** - * \brief Compute bounding box for this node - */ - virtual Box compute_box() const - { - if (m_nodes.empty()) - { - return Box(); - } - - Box result; - geometry::assign_inverse(result); - for(typename node_map::const_iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - geometry::expand(result, it->first); - } - - return result; - } - - /** - * \brief Insert a value (not allowed for a node, only on leaves) - */ - virtual void insert(Box const&, Value const&) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Insert in node!"); - } - - /** - * \brief Get the envelopes of a node - */ - virtual std::vector get_boxes() const - { - std::vector result; - for(typename node_map::const_iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - result.push_back(it->first); - } - return result; - } - - /** - * \brief Recompute the bounding box - */ - void adjust_box(node_pointer const& node) - { - unsigned int index = 0; - for (typename node_map::iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it, index++) - { - if (it->second.get() == node.get()) - { - m_nodes[index] = std::make_pair(node->compute_box(), node); - return; - } - } - } - - /** - * \brief Remove elements inside the 'box' - */ - virtual void remove(Box const& box) - { - for (typename node_map::iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (geometry::equals(it->first, box)) - { - m_nodes.erase(it); - return; - } - } - } - - /** - * \brief Remove value in this leaf - */ - virtual void remove(Value const&) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Can't remove a non-leaf node by value."); - } - - /** - * \brief Replace the node in the m_nodes vector and recompute the box - */ - void replace_node(node_pointer const& leaf, node_pointer& new_leaf) - { - unsigned int index = 0; - for(typename node_map::iterator it = m_nodes.begin(); it != m_nodes.end(); ++it, index++) - { - if (it->second.get() == leaf.get()) - { - m_nodes[index] = std::make_pair(new_leaf->compute_box(), new_leaf); - new_leaf->update_parent(new_leaf); - return; - } - } - - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Node not found."); - } - - /** - * \brief Add a child to this node - */ - virtual void add_node(Box const& box, node_pointer const& node) - { - m_nodes.push_back(std::make_pair(box, node)); - node->update_parent(node); - } - - /** - * \brief add a value (not allowed in nodes, only on leaves) - */ - virtual void add_value(Box const&, Value const&) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Can't add value to non-leaf node."); - } - - /** - * \brief Add a child leaf to this node - */ - inline void add_leaf_node(Box const& box, leaf_pointer const& leaf) - { - m_nodes.push_back(std::make_pair(box, leaf)); - } - - /** - * \brief Choose a node suitable for adding 'box' - */ - node_pointer choose_node(Box const& box) - { - if (m_nodes.size() == 0) - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Empty node trying to choose the least enlargement node."); - } - - typedef typename coordinate_type::type coordinate_type; - - bool first = true; - coordinate_type min_area = 0; - coordinate_type min_diff_area = 0; - node_pointer chosen_node; - - // check for the least enlargement - for (typename node_map::const_iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - coordinate_type const - diff_area = coordinate_type(compute_union_area(box, it->first)) - - geometry::area(it->first); - - if (first) - { - // it's the first time, we keep the first - min_diff_area = diff_area; - min_area = geometry::area(it->first); - chosen_node = it->second; - - first = false; - } - else - { - if (diff_area < min_diff_area) - { - min_diff_area = diff_area; - min_area = geometry::area(it->first); - chosen_node = it->second; - } - else - { - if (diff_area == min_diff_area) - { - if (geometry::area(it->first) < min_area) - { - min_diff_area = diff_area; - min_area = geometry::area(it->first); - chosen_node = it->second; - } - } - } - } - } - - return chosen_node; - } - - /** - * \brief Empty the node - */ - virtual void empty_nodes() - { - m_nodes.clear(); - } - - /** - * \brief Projector for parent - */ - inline node_pointer get_parent() const - { - return m_parent; - } - - /** - * \brief Update the parent of all the childs - */ - void update_parent(node_pointer const& node) - { - for (typename node_map::iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - it->second->set_parent(node); - } - } - - /** - * \brief Set parent - */ - void set_parent(node_pointer const& node) - { - m_parent = node; - } - - /** - * \brief Value projector for leaf_node (not allowed for non-leaf nodes) - */ - virtual Value get_value(unsigned int) const - { - // TODO: mloskot - define & use GGL exception - throw std::logic_error("No values in a non-leaf node."); - } - - /** - * \brief Box projector for node 'index' - */ - virtual Box get_box(unsigned int index) const - { - return m_nodes[index].first; - } - - /** - * \brief Box projector for node pointed by 'leaf' - */ - virtual Box get_box(node_pointer const& leaf) const - { - for (typename node_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - if (it->second.get() == leaf.get()) - { - return it->first; - } - } - - // TODO: mloskot - define & use GGL exception - throw std::logic_error("Node not found"); - } - - /** - * \brief Children projector - */ - node_map get_nodes() const - { - return m_nodes; - } - - /** - * \brief Get leaves for a node - */ - virtual std::vector > get_leaves() const - { - typedef std::vector > leaf_type; - leaf_type leaf; - - for (typename node_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - leaf_type this_leaves = it->second->get_leaves(); - - for (typename leaf_type::iterator it_leaf = this_leaves.begin(); - it_leaf != this_leaves.end(); ++it_leaf) - { - leaf.push_back(*it_leaf); - } - } - - return leaf; - } - - /** - * \brief Print Rtree subtree (mainly for debug) - */ - virtual void print() const - { - std::cerr << " --> Node --------" << std::endl; - std::cerr << " Address: " << this << std::endl; - std::cerr << " Level: " << m_level << std::endl; - std::cerr << " Size: " << m_nodes.size() << std::endl; - std::cerr << " | "; - for(typename node_map::const_iterator it = m_nodes.begin(); it != m_nodes.end(); ++it) - { - if (this != it->second->get_parent().get()) - { - std::cerr << "ERROR - " << this << " is not " << it->second->get_parent().get() << " "; - } - - std::cerr << "( " << geometry::get(it->first) << " , " - << geometry::get(it->first) << " ) x "; - std::cerr << "( " << geometry::get(it->first) << " , " - << geometry::get(it->first) << " )"; - std::cerr << " | "; - } - std::cerr << std::endl; - std::cerr << " --< Node --------" << std::endl; - - // print child nodes - std::cerr << " Children: " << std::endl; - for (typename node_map::const_iterator it = m_nodes.begin(); - it != m_nodes.end(); ++it) - { - it->second->print(); - } - } - -private: - - /// parent node - node_pointer m_parent; - - /// level of this node - // TODO: mloskot - Why not std::size_t or node_map::size_type, same with member functions? - unsigned int m_level; - - /// child nodes - node_map m_nodes; -}; - -}}} // namespace boost::geometry::index - -#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_NODE_HPP diff --git a/include/mapnik/hextree.hpp b/include/mapnik/hextree.hpp index d9d3fe71b..868784270 100644 --- a/include/mapnik/hextree.hpp +++ b/include/mapnik/hextree.hpp @@ -393,7 +393,7 @@ private: // clip extreme alfa values void create_palette_rek(std::vector & palette, node * itr) const { - if (itr->count >= 3) + if (itr->count != 0) { unsigned count = itr->count; byte a = byte(itr->alphas/float(count)); diff --git a/include/mapnik/json/extract_bounding_box_grammar.hpp b/include/mapnik/json/extract_bounding_box_grammar.hpp index 6818f906d..e79ed00e1 100644 --- a/include/mapnik/json/extract_bounding_box_grammar.hpp +++ b/include/mapnik/json/extract_bounding_box_grammar.hpp @@ -46,8 +46,6 @@ using position = std::tuple; using boxes = std::vector, std::pair>>; namespace qi = boost::spirit::qi; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; struct calculate_bounding_box_impl { diff --git a/include/mapnik/json/extract_bounding_box_grammar_impl.hpp b/include/mapnik/json/extract_bounding_box_grammar_impl.hpp index fb68bad35..49ac87cf8 100644 --- a/include/mapnik/json/extract_bounding_box_grammar_impl.hpp +++ b/include/mapnik/json/extract_bounding_box_grammar_impl.hpp @@ -48,7 +48,6 @@ extract_bounding_box_grammar::extract_bounding_box_gramm qi::_2_type _2; qi::_3_type _3; qi::_4_type _4; - qi::no_skip_type no_skip; qi::omit_type omit; qi::_r1_type _r1; qi::_r2_type _r2; @@ -56,7 +55,7 @@ extract_bounding_box_grammar::extract_bounding_box_gramm qi::_b_type _b; qi::eps_type eps; qi::raw_type raw; - standard_wide::char_type char_; + boost::spirit::standard_wide::char_type char_; boost::spirit::repository::qi::iter_pos_type iter_pos; using qi::fail; using qi::on_error; @@ -109,19 +108,6 @@ extract_bounding_box_grammar::extract_bounding_box_gramm | lit("false") | lit("null") ; - json.unesc_char.add - ("\\\"", '\"') // quotation mark - ("\\\\", '\\') // reverse solidus - ("\\/", '/') // solidus - ("\\b", '\b') // backspace - ("\\f", '\f') // formfeed - ("\\n", '\n') // newline - ("\\r", '\r') // carrige return - ("\\t", '\t') // tab - ; - json.string_ %= lit('"') >> no_skip[*(json.unesc_char | "\\u" >> json.hex4 | (char_ - lit('"')))] >> lit('"') - ; - coords.name("Coordinates"); pos.name("Position"); ring.name("Ring"); diff --git a/include/mapnik/json/feature_collection_grammar.hpp b/include/mapnik/json/feature_collection_grammar.hpp index 6ffcd2bde..33b82ffbe 100644 --- a/include/mapnik/json/feature_collection_grammar.hpp +++ b/include/mapnik/json/feature_collection_grammar.hpp @@ -37,23 +37,46 @@ namespace mapnik { namespace json { namespace qi = boost::spirit::qi; namespace phoenix = boost::phoenix; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; -template +struct default_feature_callback +{ + default_feature_callback(std::vector & features) + : features_(features) {} + void operator() (feature_ptr const& feature) + { + features_.push_back(feature); + } + std::vector & features_; +}; + +struct apply_feature_callback +{ + using result_type = void; + template + void operator() (Callback & callback, Feature const& feature) const + { + callback(feature); + } +}; + +template struct feature_collection_grammar : - qi::grammar(context_ptr const&, std::size_t& ), space_type> + qi::grammar { feature_collection_grammar(mapnik::transcoder const& tr); + // grammars feature_grammar feature_g; geometry_grammar geometry_g; - phoenix::function extract_geometry_; - qi::rule(context_ptr const&, std::size_t&), space_type> start; // START - qi::rule(context_ptr const&, std::size_t&), space_type> feature_collection; + // rules + qi::rule start; // START + qi::rule feature_collection; qi::rule type; - qi::rule(context_ptr const&, std::size_t&), space_type> features; - qi::rule, void(context_ptr const& ctx, std::size_t, std::vector&), space_type> feature; - qi::rule, void(context_ptr const& ctx, std::size_t, std::vector&), space_type> feature_from_geometry; + qi::rule features; + qi::rule, void(context_ptr const& ctx, std::size_t, FeatureCallback&), space_type> feature; + qi::rule, void(context_ptr const& ctx, std::size_t, FeatureCallback&), space_type> feature_from_geometry; + // phoenix functions + phoenix::function extract_geometry; + phoenix::function on_feature; }; }} diff --git a/include/mapnik/json/feature_collection_grammar_impl.hpp b/include/mapnik/json/feature_collection_grammar_impl.hpp index 7d1c77819..7ef81c76d 100644 --- a/include/mapnik/json/feature_collection_grammar_impl.hpp +++ b/include/mapnik/json/feature_collection_grammar_impl.hpp @@ -31,8 +31,8 @@ namespace mapnik { namespace json { -template -feature_collection_grammar::feature_collection_grammar(mapnik::transcoder const& tr) +template +feature_collection_grammar::feature_collection_grammar(mapnik::transcoder const& tr) : feature_collection_grammar::base_type(start,"start"), feature_g(tr) { @@ -42,7 +42,6 @@ feature_collection_grammar::feature_collection_grammar(map qi::_3_type _2; qi::_2_type _3; qi::_a_type _a; - qi::_val_type _val; qi::_r1_type _r1; qi::_r2_type _r2; qi::_r3_type _r3; @@ -51,10 +50,10 @@ feature_collection_grammar::feature_collection_grammar(map using phoenix::new_; using phoenix::val; - start = feature_collection(_r1, _r2) | feature_from_geometry(_r1, _r2, _val) | feature(_r1, _r2, _val) + start = feature_collection(_r1, _r2, _r3) | feature_from_geometry(_r1, _r2, _r3) | feature(_r1, _r2, _r3) ; - feature_collection = lit('{') >> (type | features(_r1, _r2) | feature_g.json_.key_value) % lit(',') >> lit('}') + feature_collection = lit('{') >> (type | features(_r1, _r2, _r3) | feature_g.json_.key_value) % lit(',') >> lit('}') ; type = lit("\"type\"") >> lit(':') >> lit("\"FeatureCollection\"") @@ -63,17 +62,17 @@ feature_collection_grammar::feature_collection_grammar(map features = lit("\"features\"") >> lit(':') >> lit('[') - >> -(feature(_r1, _r2, _val) [_r2 +=1] % lit(',')) + >> -(feature(_r1, _r2, _r3) [_r2 +=1] % lit(',')) >> lit(']') ; feature = eps[_a = phoenix::construct(new_(_r1, _r2))] - >> feature_g(*_a)[push_back(_r3,_a)] + >> feature_g(*_a)[on_feature(_r3,_a)] ; feature_from_geometry = eps[_a = phoenix::construct(new_(_r1, _r2))] - >> geometry_g(extract_geometry_(*_a)) [push_back(_r3, _a)] + >> geometry_g(extract_geometry(*_a)) [on_feature(_r3, _a)] ; start.name("start"); diff --git a/include/mapnik/json/feature_grammar.hpp b/include/mapnik/json/feature_grammar.hpp index a75a84f3a..b00e2b686 100644 --- a/include/mapnik/json/feature_grammar.hpp +++ b/include/mapnik/json/feature_grammar.hpp @@ -42,8 +42,6 @@ namespace mapnik { namespace json { namespace qi = boost::spirit::qi; namespace phoenix = boost::phoenix; namespace fusion = boost::fusion; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; class attribute_value_visitor @@ -99,7 +97,6 @@ struct feature_grammar : // start // generic JSON generic_json json_; - // geoJSON qi::rule feature; // START qi::rule feature_type; diff --git a/include/mapnik/json/feature_grammar_impl.hpp b/include/mapnik/json/feature_grammar_impl.hpp index 51239a9a7..ae1532052 100644 --- a/include/mapnik/json/feature_grammar_impl.hpp +++ b/include/mapnik/json/feature_grammar_impl.hpp @@ -35,8 +35,6 @@ feature_grammar::feature_grammar(mapnik::tran qi::lit_type lit; qi::long_long_type long_long; qi::double_type double_; - qi::no_skip_type no_skip; - standard_wide::char_type char_; qi::_val_type _val; qi::_1_type _1; qi::_2_type _2; @@ -77,20 +75,6 @@ feature_grammar::feature_grammar(mapnik::tran | lit("null")[_val = construct()] ; - json_.unesc_char.add - ("\\\"", '\"') // quotation mark - ("\\\\", '\\') // reverse solidus - ("\\/", '/') // solidus - ("\\b", '\b') // backspace - ("\\f", '\f') // formfeed - ("\\n", '\n') // newline - ("\\r", '\r') // carrige return - ("\\t", '\t') // tab - ; - - json_.string_ %= lit('"') >> no_skip[*(json_.unesc_char | "\\u" >> json_.hex4 | (char_ - lit('"')))] >> lit('"') - ; - // geojson types feature_type = lit("\"type\"") >> lit(':') diff --git a/include/mapnik/json/feature_parser.hpp b/include/mapnik/json/feature_parser.hpp index c7ef79aee..c8afb6481 100644 --- a/include/mapnik/json/feature_parser.hpp +++ b/include/mapnik/json/feature_parser.hpp @@ -39,7 +39,7 @@ inline bool from_geojson(std::string const& json, mapnik::feature_impl & feature using iterator_type = std::string::const_iterator; static const mapnik::json::feature_grammar g(tr); using namespace boost::spirit; - standard_wide::space_type space; + ascii::space_type space; return qi::phrase_parse(json.begin(), json.end(), (g)(boost::phoenix::ref(feature)), space); } diff --git a/include/mapnik/json/generic_json.hpp b/include/mapnik/json/generic_json.hpp index fda147792..e86e9aa40 100644 --- a/include/mapnik/json/generic_json.hpp +++ b/include/mapnik/json/generic_json.hpp @@ -37,19 +37,116 @@ namespace mapnik { namespace json { namespace qi = boost::spirit::qi; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; - +namespace ascii = boost::spirit::ascii; +namespace phoenix = boost::phoenix; +using space_type = ascii::space_type; using json_value = mapnik::util::variant; +using uchar = std::uint32_t; // a unicode code point + +// unicode string grammar via boost/libs/spirit/example/qi/json/json/parser/grammar.hpp + +template +struct unicode_string : qi::grammar +{ + unicode_string(); + qi::rule escape; + qi::rule char_esc; + qi::rule double_quoted; +}; + + +struct push_utf8 +{ + template + struct result { typedef void type; }; + + void operator()(std::string& utf8, uchar code_point) const + { + typedef std::back_insert_iterator insert_iter; + insert_iter out_iter(utf8); + boost::utf8_output_iterator utf8_iter(out_iter); + *utf8_iter++ = code_point; + } +}; + +struct push_esc +{ + template + struct result { typedef void type; }; + + void operator()(std::string& utf8, uchar c) const + { + switch (c) + { + case ' ': utf8 += ' '; break; + case '\t': utf8 += '\t'; break; + case '0': utf8 += char(0); break; + case 'a': utf8 += 0x7; break; + case 'b': utf8 += 0x8; break; + case 't': utf8 += 0x9; break; + case 'n': utf8 += 0xA; break; + case 'v': utf8 += 0xB; break; + case 'f': utf8 += 0xC; break; + case 'r': utf8 += 0xD; break; + case 'e': utf8 += 0x1B; break; + case '"': utf8 += '"'; break; + case '/': utf8 += '/'; break; + case '\\': utf8 += '\\'; break; + case '_': push_utf8()(utf8, 0xA0); break; + case 'N': push_utf8()(utf8, 0x85); break; + case 'L': push_utf8()(utf8, 0x2028); break; + case 'P': push_utf8()(utf8, 0x2029); break; + } + } +}; + +template< typename Iterator > +unicode_string::unicode_string() + : unicode_string::base_type(double_quoted) +{ + qi::char_type char_; + qi::_val_type _val; + qi::_r1_type _r1; + qi::_1_type _1; + qi::lit_type lit; + qi::eol_type eol; + qi::repeat_type repeat; + qi::hex_type hex; + + using boost::spirit::qi::uint_parser; + using boost::phoenix::function; + using boost::phoenix::ref; + + uint_parser hex4; + uint_parser hex8; + function push_utf8; + function push_esc; + + escape = + ('x' > hex) [push_utf8(_r1, _1)] + | ('u' > hex4) [push_utf8(_r1, _1)] + | ('U' > hex8) [push_utf8(_r1, _1)] + | char_("0abtnvfre\"/\\N_LP \t") [push_esc(_r1, _1)] + | eol // continue to next line + ; + + char_esc = + '\\' > escape(_r1) + ; + + double_quoted = + '"' + > *(char_esc(_val) | (~char_('"')) [_val += _1]) + > '"' + ; +} template struct generic_json { qi::rule value; - qi::symbols unesc_char; - qi::uint_parser< unsigned, 16, 4, 4 > hex4 ; qi::int_parser int__; - qi::rule string_; + unicode_string string_; qi::rule key_value; qi::rule number; qi::rule object; diff --git a/include/mapnik/json/geometry_grammar.hpp b/include/mapnik/json/geometry_grammar.hpp index 6d132cfea..f93e8a0ea 100644 --- a/include/mapnik/json/geometry_grammar.hpp +++ b/include/mapnik/json/geometry_grammar.hpp @@ -27,6 +27,7 @@ #include // for geometry_type #include // for CommandType #include +#include #include #include #include @@ -38,8 +39,6 @@ namespace mapnik { namespace json { namespace qi = boost::spirit::qi; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; template > struct geometry_grammar : diff --git a/include/mapnik/json/geometry_parser.hpp b/include/mapnik/json/geometry_parser.hpp index 9d6fabe6b..80e0000e9 100644 --- a/include/mapnik/json/geometry_parser.hpp +++ b/include/mapnik/json/geometry_parser.hpp @@ -38,7 +38,7 @@ inline bool from_geojson(std::string const& json, geometry_container & paths) { using namespace boost::spirit; static const geometry_grammar g; - standard_wide::space_type space; + ascii::space_type space; std::string::const_iterator start = json.begin(); std::string::const_iterator end = json.end(); return qi::phrase_parse(start, end, (g)(boost::phoenix::ref(paths)), space); diff --git a/include/mapnik/json/positions_grammar.hpp b/include/mapnik/json/positions_grammar.hpp index 32b1e2a84..a6ec17303 100644 --- a/include/mapnik/json/positions_grammar.hpp +++ b/include/mapnik/json/positions_grammar.hpp @@ -25,6 +25,7 @@ // mapnik #include +#include #include // boost @@ -46,8 +47,6 @@ using positions = std::vector; using coordinates = util::variant, std::vector > > ; namespace qi = boost::spirit::qi; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; struct set_position_impl { diff --git a/include/mapnik/json/topojson_grammar.hpp b/include/mapnik/json/topojson_grammar.hpp index 944814f5e..881dcb594 100644 --- a/include/mapnik/json/topojson_grammar.hpp +++ b/include/mapnik/json/topojson_grammar.hpp @@ -44,8 +44,7 @@ namespace mapnik { namespace topojson { namespace qi = boost::spirit::qi; namespace fusion = boost::fusion; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; +using space_type = boost::spirit::ascii::space_type; template > struct topojson_grammar : qi::grammar diff --git a/include/mapnik/json/topojson_grammar_impl.hpp b/include/mapnik/json/topojson_grammar_impl.hpp index bb54680af..3d125a630 100644 --- a/include/mapnik/json/topojson_grammar_impl.hpp +++ b/include/mapnik/json/topojson_grammar_impl.hpp @@ -27,8 +27,6 @@ namespace mapnik { namespace topojson { namespace qi = boost::spirit::qi; namespace phoenix = boost::phoenix; namespace fusion = boost::fusion; -namespace standard_wide = boost::spirit::standard_wide; -using standard_wide::space_type; template topojson_grammar::topojson_grammar() @@ -37,7 +35,6 @@ topojson_grammar::topojson_grammar() qi::lit_type lit; qi::double_type double_; qi::int_type int_; - qi::no_skip_type no_skip; qi::omit_type omit; qi::_val_type _val; qi::_1_type _1; @@ -45,7 +42,6 @@ topojson_grammar::topojson_grammar() qi::_3_type _3; qi::_4_type _4; qi::_r1_type _r1; - standard_wide::char_type char_; using qi::fail; using qi::on_error; using phoenix::push_back; @@ -75,20 +71,6 @@ topojson_grammar::topojson_grammar() | lit("null")[_val = construct()] ; - json_.unesc_char.add - ("\\\"", '\"') // quotation mark - ("\\\\", '\\') // reverse solidus - ("\\/", '/') // solidus - ("\\b", '\b') // backspace - ("\\f", '\f') // formfeed - ("\\n", '\n') // newline - ("\\r", '\r') // carrige return - ("\\t", '\t') // tab - ; - - json_.string_ %= lit('"') >> no_skip[*(json_.unesc_char | "\\u" >> json_.hex4 | (char_ - lit('"')))] >> lit('"') - ; - // topo json topology = lit('{') >> lit("\"type\"") >> lit(':') >> lit("\"Topology\"") >> ( (lit(',') >> objects) ^ ( lit(',') >> arcs) ^ (lit(',') >> transform) ^ (lit(',') >> bbox)) diff --git a/include/mapnik/params.hpp b/include/mapnik/params.hpp index 83e2934e2..240192c94 100644 --- a/include/mapnik/params.hpp +++ b/include/mapnik/params.hpp @@ -48,19 +48,11 @@ struct value_holder : value_holder_base value_holder() : value_holder_base() {} - // copy - value_holder(const char* val) - : value_holder_base(val) {} - - template - value_holder(T const& obj) - : value_holder_base(typename detail::mapnik_value_type::type(obj)) - {} - - // move + // perfect forwarding template value_holder(T && obj) noexcept - : value_holder_base(std::move(obj)) {} + : value_holder_base(std::forward(obj)) + {} }; using parameter = std::pair; diff --git a/include/mapnik/png_io.hpp b/include/mapnik/png_io.hpp index 8eced2442..f6df24fbf 100644 --- a/include/mapnik/png_io.hpp +++ b/include/mapnik/png_io.hpp @@ -541,7 +541,7 @@ void save_as_png8_oct(T1 & file, trees[j].create_palette(pal); leftovers = cols[j] - static_cast(pal.size()); cols[j] = static_cast(pal.size()); - palette.insert(palette.begin(), pal.begin(), pal.end()); + palette.insert(palette.end(), pal.begin(), pal.end()); } } diff --git a/include/mapnik/util/variant.hpp b/include/mapnik/util/variant.hpp index 9e118f970..29d0656b1 100644 --- a/include/mapnik/util/variant.hpp +++ b/include/mapnik/util/variant.hpp @@ -523,24 +523,6 @@ private: Variant const& lhs_; }; -// operator<< helper -template -class printer -{ -public: - explicit printer(Out & out) - : out_(out) {} - printer& operator=(printer const&) = delete; - -// visitor - template - void operator()(T const& operand) const - { - out_ << operand; - } -private: - Out & out_; -}; } // namespace detail @@ -798,15 +780,6 @@ ResultType const& get(T const& var) } -// operator<< -template -VARIANT_INLINE std::basic_ostream& -operator<< (std::basic_ostream& out, variant const& rhs) -{ - detail::printer> visitor(out); - apply_visitor(visitor, rhs); - return out; -} }} diff --git a/include/mapnik/util/variant_io.hpp b/include/mapnik/util/variant_io.hpp new file mode 100644 index 000000000..fc996e7f9 --- /dev/null +++ b/include/mapnik/util/variant_io.hpp @@ -0,0 +1,64 @@ +/***************************************************************************** + * + * This file is part of Mapnik (c++ mapping toolkit) + * + * Copyright (C) 2014 Artem Pavlenko + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + *****************************************************************************/ + +#ifndef MAPNIK_UTIL_VARIANT_IO_HPP +#define MAPNIK_UTIL_VARIANT_IO_HPP + + +namespace mapnik { namespace util { + +namespace detail { + +// operator<< helper +template +class printer +{ +public: + explicit printer(Out & out) + : out_(out) {} + printer& operator=(printer const&) = delete; + +// visitor + template + void operator()(T const& operand) const + { + out_ << operand; + } +private: + Out & out_; +}; + +} // namespace detail + +// operator<< +template +VARIANT_INLINE std::basic_ostream& +operator<< (std::basic_ostream& out, variant const& rhs) +{ + detail::printer> visitor(out); + apply_visitor(visitor, rhs); + return out; +} + +}} + +#endif // MAPNIK_UTIL_VARIANT_IO_HPP diff --git a/plugins/input/geojson/build.py b/plugins/input/geojson/build.py index 3df5a9408..faa3e9ff4 100644 --- a/plugins/input/geojson/build.py +++ b/plugins/input/geojson/build.py @@ -21,46 +21,57 @@ Import ('env') -Import ('plugin_base') +can_build = False -PLUGIN_NAME = 'geojson' +if env.get('BOOST_LIB_VERSION_FROM_HEADER'): + boost_version_from_header = int(env['BOOST_LIB_VERSION_FROM_HEADER'].split('_')[1]) + if boost_version_from_header >= 56: + can_build = True -plugin_env = plugin_base.Clone() +if not can_build: + print 'WARNING: skipping building the optional geojson datasource plugin which requires boost >= 1.56' +else: -plugin_sources = Split( - """ - %(PLUGIN_NAME)s_datasource.cpp - %(PLUGIN_NAME)s_featureset.cpp - large_%(PLUGIN_NAME)s_featureset.cpp - """ % locals() -) + Import ('plugin_base') -# Link Library to Dependencies -libraries = [] -libraries.append(env['ICU_LIB_NAME']) -libraries.append('boost_system%s' % env['BOOST_APPEND']) -libraries.append('mapnik-json') + PLUGIN_NAME = 'geojson' -if env['PLUGIN_LINKING'] == 'shared': - libraries.append(env['MAPNIK_NAME']) + plugin_env = plugin_base.Clone() - TARGET = plugin_env.SharedLibrary('../%s' % PLUGIN_NAME, - SHLIBPREFIX='', - SHLIBSUFFIX='.input', - source=plugin_sources, - LIBS=libraries) + plugin_sources = Split( + """ + %(PLUGIN_NAME)s_datasource.cpp + %(PLUGIN_NAME)s_featureset.cpp + large_%(PLUGIN_NAME)s_featureset.cpp + """ % locals() + ) - # if the plugin links to libmapnik ensure it is built first - Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME'])) - Depends(TARGET, env.subst('../../../src/json/libmapnik-json${LIBSUFFIX}')) + # Link Library to Dependencies + libraries = [] + libraries.append(env['ICU_LIB_NAME']) + libraries.append('boost_system%s' % env['BOOST_APPEND']) + libraries.append('mapnik-json') - if 'uninstall' not in COMMAND_LINE_TARGETS: - env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET) - env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST']) + if env['PLUGIN_LINKING'] == 'shared': + libraries.append(env['MAPNIK_NAME']) -plugin_obj = { - 'LIBS': libraries, - 'SOURCES': plugin_sources, -} + TARGET = plugin_env.SharedLibrary('../%s' % PLUGIN_NAME, + SHLIBPREFIX='', + SHLIBSUFFIX='.input', + source=plugin_sources, + LIBS=libraries) -Return('plugin_obj') + # if the plugin links to libmapnik ensure it is built first + Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME'])) + Depends(TARGET, env.subst('../../../src/json/libmapnik-json${LIBSUFFIX}')) + + if 'uninstall' not in COMMAND_LINE_TARGETS: + env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET) + env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST']) + + plugin_obj = { + 'LIBS': libraries, + 'SOURCES': plugin_sources, + } + + Return('plugin_obj') diff --git a/plugins/input/geojson/geojson_datasource.cpp b/plugins/input/geojson/geojson_datasource.cpp index adb76d5d0..21144c3ba 100644 --- a/plugins/input/geojson/geojson_datasource.cpp +++ b/plugins/input/geojson/geojson_datasource.cpp @@ -159,23 +159,16 @@ void geojson_datasource::initialise_index(Iterator start, Iterator end) { mapnik::json::boxes boxes; mapnik::json::extract_bounding_box_grammar bbox_grammar; - boost::spirit::standard_wide::space_type space; + boost::spirit::ascii::space_type space; if (!boost::spirit::qi::phrase_parse(start, end, (bbox_grammar)(boost::phoenix::ref(boxes)) , space)) { throw mapnik::datasource_exception("GeoJSON Plugin: could not parse: '" + filename_ + "'"); } -#if BOOST_VERSION >= 105600 tree_ = std::make_unique(boxes); -#else - tree_ = std::make_unique(16, 4); -#endif for (auto const& item : boxes) { auto const& box = std::get<0>(item); auto const& geometry_index = std::get<1>(item); -#if BOOST_VERSION < 105600 - tree_->insert(box, geometry_index); -#endif if (!extent_.valid()) { extent_ = box; @@ -201,7 +194,7 @@ void geojson_datasource::initialise_index(Iterator start, Iterator end) using namespace boost::spirit; static const mapnik::transcoder tr("utf8"); static const mapnik::json::feature_grammar grammar(tr); - standard_wide::space_type space; + ascii::space_type space; if (!qi::phrase_parse(start, end, (grammar)(boost::phoenix::ref(*feature)), space)) { throw std::runtime_error("Failed to parse geojson feature"); @@ -223,25 +216,24 @@ void geojson_datasource::initialise_index(Iterator start, Iterator end) template void geojson_datasource::parse_geojson(T const& buffer) { - boost::spirit::standard_wide::space_type space; + boost::spirit::ascii::space_type space; mapnik::context_ptr ctx = std::make_shared(); std::size_t start_id = 1; + + mapnik::json::default_feature_callback callback(features_); + bool result = boost::spirit::qi::phrase_parse(buffer.begin(), buffer.end(), (fc_grammar) - (boost::phoenix::ref(ctx),boost::phoenix::ref(start_id)), - space, features_); + (boost::phoenix::ref(ctx),boost::phoenix::ref(start_id), boost::phoenix::ref(callback)), + space); if (!result) { if (!inline_string_.empty()) throw mapnik::datasource_exception("geojson_datasource: Failed parse GeoJSON file from in-memory string"); else throw mapnik::datasource_exception("geojson_datasource: Failed parse GeoJSON file '" + filename_ + "'"); } -#if BOOST_VERSION >= 105600 using values_container = std::vector< std::pair>>; values_container values; values.reserve(features_.size()); -#else - tree_ = std::make_unique(16, 4); -#endif std::size_t geometry_index = 0; for (mapnik::feature_ptr const& f : features_) @@ -264,18 +256,12 @@ void geojson_datasource::parse_geojson(T const& buffer) extent_.expand_to_include(box); } } -#if BOOST_VERSION >= 105600 values.emplace_back(box, std::make_pair(geometry_index,0)); -#else - tree_->insert(box, std::make_pair(geometry_index)); -#endif ++geometry_index; } -#if BOOST_VERSION >= 105600 // packing algorithm tree_ = std::make_unique(values); -#endif } @@ -329,7 +315,6 @@ mapnik::featureset_ptr geojson_datasource::features(mapnik::query const& q) cons mapnik::box2d const& box = q.get_bbox(); if (extent_.intersects(box)) { -#if BOOST_VERSION >= 105600 geojson_featureset::array_type index_array; if (tree_) { @@ -349,15 +334,6 @@ mapnik::featureset_ptr geojson_datasource::features(mapnik::query const& q) cons return std::make_shared(filename_, std::move(index_array)); } } -#else - if (tree_) - { - if (cache_features_) - return std::make_shared(features_, tree_->find(box)); - else - return std::make_shared(features_, tree_->find(box)); - } -#endif } // otherwise return an empty featureset pointer return mapnik::featureset_ptr(); diff --git a/plugins/input/geojson/geojson_datasource.hpp b/plugins/input/geojson/geojson_datasource.hpp index fe85b8a9b..e5fd7e5f4 100644 --- a/plugins/input/geojson/geojson_datasource.hpp +++ b/plugins/input/geojson/geojson_datasource.hpp @@ -44,11 +44,7 @@ #include #include #include -#if BOOST_VERSION >= 105600 #include -#else -#include -#endif #pragma GCC diagnostic pop // stl @@ -59,7 +55,6 @@ #include -#if BOOST_VERSION >= 105600 template struct geojson_linear : boost::geometry::index::linear {}; @@ -83,19 +78,12 @@ struct options_type > }}}}} -#endif //BOOST_VERSION >= 105600 - class geojson_datasource : public mapnik::datasource { public: using box_type = mapnik::box2d; -#if BOOST_VERSION >= 105600 using item_type = std::pair >; using spatial_index_type = boost::geometry::index::rtree >; -#else - using item_type = std::pair; - using spatial_index_type = boost::geometry::index::rtree; -#endif // constructor geojson_datasource(mapnik::parameters const& params); diff --git a/plugins/input/geojson/geojson_featureset.cpp b/plugins/input/geojson/geojson_featureset.cpp index 3883c1c52..20fb415f1 100644 --- a/plugins/input/geojson/geojson_featureset.cpp +++ b/plugins/input/geojson/geojson_featureset.cpp @@ -42,12 +42,8 @@ mapnik::feature_ptr geojson_featureset::next() { if (index_itr_ != index_end_) { -#if BOOST_VERSION >= 105600 geojson_datasource::item_type const& item = *index_itr_++; std::size_t index = item.second.first; -#else - std::size_t index = (*index_itr_++).second; -#endif if ( index < features_.size()) { return features_.at(index); diff --git a/plugins/input/geojson/large_geojson_featureset.cpp b/plugins/input/geojson/large_geojson_featureset.cpp index f42c76436..043d3fe5a 100644 --- a/plugins/input/geojson/large_geojson_featureset.cpp +++ b/plugins/input/geojson/large_geojson_featureset.cpp @@ -55,15 +55,9 @@ mapnik::feature_ptr large_geojson_featureset::next() { if (index_itr_ != index_end_) { -#if BOOST_VERSION >= 105600 geojson_datasource::item_type const& item = *index_itr_++; std::size_t file_offset = item.second.first; std::size_t size = item.second.second; -#else - std::pair index = *index_itr_++; - std::size_t file_offset = index.first; - std::size_t size = index.second; -#endif std::fseek(file_.get(), file_offset, SEEK_SET); std::vector json; json.resize(size); @@ -75,7 +69,7 @@ mapnik::feature_ptr large_geojson_featureset::next() static const mapnik::transcoder tr("utf8"); static const mapnik::json::feature_grammar grammar(tr); using namespace boost::spirit; - standard_wide::space_type space; + ascii::space_type space; mapnik::feature_ptr feature(mapnik::feature_factory::create(ctx_,1)); if (!qi::phrase_parse(start, end, (grammar)(boost::phoenix::ref(*feature)), space)) { diff --git a/plugins/input/occi/build.py b/plugins/input/occi/build.py index 2797345d7..87cb844cb 100644 --- a/plugins/input/occi/build.py +++ b/plugins/input/occi/build.py @@ -31,12 +31,12 @@ plugin_sources = Split( %(PLUGIN_NAME)s_types.cpp %(PLUGIN_NAME)s_datasource.cpp %(PLUGIN_NAME)s_featureset.cpp - spatial_classesm.cpp - spatial_classeso.cpp + spatial_classesm.cpp + spatial_classeso.cpp """ % locals() ) -libraries = [ 'occi', 'ociei' ] +libraries = [ 'clntsh' ] libraries.append('boost_system%s' % env['BOOST_APPEND']) libraries.append(env['ICU_LIB_NAME']) diff --git a/plugins/input/postgis/postgis_datasource.cpp b/plugins/input/postgis/postgis_datasource.cpp index 609a619dd..9e6cba390 100644 --- a/plugins/input/postgis/postgis_datasource.cpp +++ b/plugins/input/postgis/postgis_datasource.cpp @@ -448,10 +448,10 @@ postgis_datasource::postgis_datasource(parameters const& params) // Finally, add unique metadata to layer descriptor mapnik::parameters & extra_params = desc_.get_extra_parameters(); // explicitly make copies of values due to https://github.com/mapnik/mapnik/issues/2651 - extra_params["srid"] = int(srid_); + extra_params["srid"] = srid_; if (!key_field_.empty()) { - extra_params["key_field"] = std::string(key_field_); + extra_params["key_field"] = key_field_; } } } diff --git a/plugins/input/topojson/build.py b/plugins/input/topojson/build.py index 665ef8285..19abd869d 100644 --- a/plugins/input/topojson/build.py +++ b/plugins/input/topojson/build.py @@ -21,45 +21,55 @@ Import ('env') -Import ('plugin_base') +can_build = False -PLUGIN_NAME = 'topojson' +if env.get('BOOST_LIB_VERSION_FROM_HEADER'): + boost_version_from_header = int(env['BOOST_LIB_VERSION_FROM_HEADER'].split('_')[1]) + if boost_version_from_header >= 56: + can_build = True -plugin_env = plugin_base.Clone() +if not can_build: + print 'WARNING: skipping building the optional topojson datasource plugin which requires boost >= 1.56' +else: + Import ('plugin_base') -plugin_sources = Split( - """ - %(PLUGIN_NAME)s_datasource.cpp - %(PLUGIN_NAME)s_featureset.cpp - """ % locals() -) + PLUGIN_NAME = 'topojson' -# Link Library to Dependencies -libraries = [] -libraries.append(env['ICU_LIB_NAME']) -libraries.append('boost_system%s' % env['BOOST_APPEND']) -libraries.append('mapnik-json') + plugin_env = plugin_base.Clone() -if env['PLUGIN_LINKING'] == 'shared': - libraries.append(env['MAPNIK_NAME']) + plugin_sources = Split( + """ + %(PLUGIN_NAME)s_datasource.cpp + %(PLUGIN_NAME)s_featureset.cpp + """ % locals() + ) - TARGET = plugin_env.SharedLibrary('../%s' % PLUGIN_NAME, - SHLIBPREFIX='', - SHLIBSUFFIX='.input', - source=plugin_sources, - LIBS=libraries) + # Link Library to Dependencies + libraries = [] + libraries.append(env['ICU_LIB_NAME']) + libraries.append('boost_system%s' % env['BOOST_APPEND']) + libraries.append('mapnik-json') - # if the plugin links to libmapnik ensure it is built first - Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME'])) - Depends(TARGET, env.subst('../../../src/json/libmapnik-json${LIBSUFFIX}')) + if env['PLUGIN_LINKING'] == 'shared': + libraries.append(env['MAPNIK_NAME']) - if 'uninstall' not in COMMAND_LINE_TARGETS: - env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET) - env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST']) + TARGET = plugin_env.SharedLibrary('../%s' % PLUGIN_NAME, + SHLIBPREFIX='', + SHLIBSUFFIX='.input', + source=plugin_sources, + LIBS=libraries) -plugin_obj = { - 'LIBS': libraries, - 'SOURCES': plugin_sources, -} + # if the plugin links to libmapnik ensure it is built first + Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME'])) + Depends(TARGET, env.subst('../../../src/json/libmapnik-json${LIBSUFFIX}')) -Return('plugin_obj') + if 'uninstall' not in COMMAND_LINE_TARGETS: + env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET) + env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST']) + + plugin_obj = { + 'LIBS': libraries, + 'SOURCES': plugin_sources, + } + + Return('plugin_obj') diff --git a/plugins/input/topojson/topojson_datasource.cpp b/plugins/input/topojson/topojson_datasource.cpp index 23b3b2376..5c1c8d4af 100644 --- a/plugins/input/topojson/topojson_datasource.cpp +++ b/plugins/input/topojson/topojson_datasource.cpp @@ -190,20 +190,16 @@ const mapnik::topojson::topojson_grammar g; template void topojson_datasource::parse_topojson(T const& buffer) { - boost::spirit::standard_wide::space_type space; + boost::spirit::ascii::space_type space; bool result = boost::spirit::qi::phrase_parse(buffer.begin(), buffer.end(), g, space, topo_); if (!result) { throw mapnik::datasource_exception("topojson_datasource: Failed parse TopoJSON file '" + filename_ + "'"); } -#if BOOST_VERSION >= 105600 using values_container = std::vector< std::pair >; values_container values; values.reserve(topo_.geometries.size()); -#else - tree_ = std::make_unique(16, 4); -#endif std::size_t geometry_index = 0; @@ -223,18 +219,12 @@ void topojson_datasource::parse_topojson(T const& buffer) extent_.expand_to_include(box); } } -#if BOOST_VERSION >= 105600 values.emplace_back(box_type(point_type(box.minx(),box.miny()),point_type(box.maxx(),box.maxy())), geometry_index); -#else - tree_->insert(box_type(point_type(box.minx(),box.miny()),point_type(box.maxx(),box.maxy())),geometry_index); -#endif ++geometry_index; } -#if BOOST_VERSION >= 105600 // packing algorithm tree_ = std::make_unique(values); -#endif } topojson_datasource::~topojson_datasource() { } @@ -292,19 +282,12 @@ mapnik::featureset_ptr topojson_datasource::features(mapnik::query const& q) con if (extent_.intersects(b)) { box_type box(point_type(b.minx(),b.miny()),point_type(b.maxx(),b.maxy())); -#if BOOST_VERSION >= 105600 topojson_featureset::array_type index_array; if (tree_) { tree_->query(boost::geometry::index::intersects(box),std::back_inserter(index_array)); return std::make_shared(topo_, *tr_, std::move(index_array)); } -#else - if (tree_) - { - return std::make_shared(topo_, *tr_, tree_->find(box)); - } -#endif } // otherwise return an empty featureset pointer return mapnik::featureset_ptr(); diff --git a/plugins/input/topojson/topojson_datasource.hpp b/plugins/input/topojson/topojson_datasource.hpp index bcf32f702..d1892a75a 100644 --- a/plugins/input/topojson/topojson_datasource.hpp +++ b/plugins/input/topojson/topojson_datasource.hpp @@ -44,11 +44,7 @@ #include #include #include -#if BOOST_VERSION >= 105600 #include -#else -#include -#endif #pragma GCC diagnostic pop // stl @@ -64,14 +60,9 @@ public: using point_type = boost::geometry::model::d2::point_xy; using box_type = boost::geometry::model::box; -#if BOOST_VERSION >= 105600 using item_type = std::pair; using linear_type = boost::geometry::index::linear<16,4>; using spatial_index_type = boost::geometry::index::rtree; -#else - using item_type = std::size_t; - using spatial_index_type = boost::geometry::index::rtree; -#endif // constructor topojson_datasource(mapnik::parameters const& params); diff --git a/plugins/input/topojson/topojson_featureset.cpp b/plugins/input/topojson/topojson_featureset.cpp index 898c7db8c..72b6f2cf0 100644 --- a/plugins/input/topojson/topojson_featureset.cpp +++ b/plugins/input/topojson/topojson_featureset.cpp @@ -372,12 +372,8 @@ mapnik::feature_ptr topojson_featureset::next() { if (index_itr_ != index_end_) { -#if BOOST_VERSION >= 105600 topojson_datasource::item_type const& item = *index_itr_++; std::size_t index = item.second; -#else - std::size_t index = *index_itr_++; -#endif if ( index < topo_.geometries.size()) { mapnik::topojson::geometry const& geom = topo_.geometries[index]; diff --git a/src/build.py b/src/build.py index c6326906b..18853aeb7 100644 --- a/src/build.py +++ b/src/build.py @@ -279,25 +279,32 @@ if env['PLUGIN_LINKING'] == 'static': lib_env.Append(CPPDEFINES = '-DMAPNIK_STATIC_PLUGINS') libmapnik_defines.append('-DMAPNIK_STATIC_PLUGINS') +# add these to the compile flags no matter what +# to make it safe to try to compile them from Makefile wrapper +source += Split(""" +cairo/process_markers_symbolizer.cpp +cairo/process_group_symbolizer.cpp +""") + if env['HAS_CAIRO']: lib_env.AppendUnique(LIBPATH=env['CAIRO_LIBPATHS']) lib_env.Append(CPPDEFINES = '-DHAVE_CAIRO') libmapnik_defines.append('-DHAVE_CAIRO') lib_env.AppendUnique(CPPPATH=copy(env['CAIRO_CPPPATHS'])) - source.append('cairo/cairo_context.cpp') - source.append('cairo/cairo_renderer.cpp') - source.append('cairo/cairo_render_vector.cpp') - source.append('cairo/process_markers_symbolizer.cpp') - source.append('cairo/process_text_symbolizer.cpp') - source.append('cairo/process_group_symbolizer.cpp') - source.append('cairo/process_line_symbolizer.cpp') - source.append('cairo/process_line_pattern_symbolizer.cpp') - source.append('cairo/process_polygon_symbolizer.cpp') - source.append('cairo/process_polygon_pattern_symbolizer.cpp') - source.append('cairo/process_debug_symbolizer.cpp') - source.append('cairo/process_point_symbolizer.cpp') - source.append('cairo/process_raster_symbolizer.cpp') - source.append('cairo/process_building_symbolizer.cpp') + source += Split(""" + cairo/cairo_context.cpp + cairo/cairo_renderer.cpp + cairo/cairo_render_vector.cpp + cairo/process_text_symbolizer.cpp + cairo/process_line_symbolizer.cpp + cairo/process_line_pattern_symbolizer.cpp + cairo/process_polygon_symbolizer.cpp + cairo/process_polygon_pattern_symbolizer.cpp + cairo/process_debug_symbolizer.cpp + cairo/process_point_symbolizer.cpp + cairo/process_raster_symbolizer.cpp + cairo/process_building_symbolizer.cpp + """) for cpp in enabled_imaging_libraries: source.append(cpp) @@ -331,6 +338,13 @@ source += Split( if env['RUNTIME_LINK'] == "static": source += glob.glob('../deps/agg/src/' + '*.cpp') +# add these to the compile flags no matter what +# to make it safe to try to compile them from Makefile wrapper +source += Split(""" +grid/process_markers_symbolizer.cpp +grid/process_group_symbolizer.cpp +""") + # grid backend if env['GRID_RENDERER']: source += Split( @@ -340,14 +354,12 @@ if env['GRID_RENDERER']: grid/process_building_symbolizer.cpp grid/process_line_pattern_symbolizer.cpp grid/process_line_symbolizer.cpp - grid/process_markers_symbolizer.cpp grid/process_point_symbolizer.cpp grid/process_polygon_pattern_symbolizer.cpp grid/process_polygon_symbolizer.cpp grid/process_raster_symbolizer.cpp grid/process_shield_symbolizer.cpp grid/process_text_symbolizer.cpp - grid/process_group_symbolizer.cpp """) lib_env.Append(CPPDEFINES = '-DGRID_RENDERER') libmapnik_defines.append('-DGRID_RENDERER') diff --git a/src/grid/process_group_symbolizer.cpp b/src/grid/process_group_symbolizer.cpp index bcc788a92..3bae9a101 100644 --- a/src/grid/process_group_symbolizer.cpp +++ b/src/grid/process_group_symbolizer.cpp @@ -20,6 +20,8 @@ * *****************************************************************************/ +#if defined(GRID_RENDERER) + // mapnik #include #include @@ -194,3 +196,5 @@ template void grid_renderer::process(group_symbolizer const&, proj_transform const&); } + +#endif diff --git a/src/json/mapnik_json_feature_collection_grammar.cpp b/src/json/mapnik_json_feature_collection_grammar.cpp index 779c2e364..fb29b54d1 100644 --- a/src/json/mapnik_json_feature_collection_grammar.cpp +++ b/src/json/mapnik_json_feature_collection_grammar.cpp @@ -25,4 +25,4 @@ #include using iterator_type = std::string::const_iterator; -template struct mapnik::json::feature_collection_grammar ; +template struct mapnik::json::feature_collection_grammar ; diff --git a/src/save_map.cpp b/src/save_map.cpp index 31fe20718..620f4ab13 100644 --- a/src/save_map.cpp +++ b/src/save_map.cpp @@ -46,6 +46,7 @@ #include #include #include +#include // boost #pragma GCC diagnostic push diff --git a/tests/cpp_tests/params_test.cpp b/tests/cpp_tests/params_test.cpp index 936261c36..0e83a805e 100644 --- a/tests/cpp_tests/params_test.cpp +++ b/tests/cpp_tests/params_test.cpp @@ -96,14 +96,10 @@ int main(int argc, char** argv) // https://github.com/mapnik/mapnik/issues/2471 //BOOST_TEST( (params.get("null") && *params.get("null") == mapnik::value_null()) ); - std::string rvalue("rvalue"); - params["rvalue"] = rvalue; - BOOST_TEST(params.get("rvalue") == std::string("rvalue")); - // Currently this fails because rvalue gets moved and nulled out - // Is this really the right behavior? - std::clog << "FIXME: line 104 of tests/cpp_tests/params_test.cpp\n"; - std::clog << "https://github.com/mapnik/mapnik/issues/2651\n"; - //BOOST_TEST(rvalue == std::string("rvalue")); + std::string value("value"); + params["value"] = value; + BOOST_TEST(params.get("value") == std::string("value")); + BOOST_TEST(value == std::string("value")); // ensure that const member is not moved incorrectly when added to params detail::string_holder holder; diff --git a/tests/python_tests/agg_rasterizer_integer_overflow_test.py b/tests/python_tests/agg_rasterizer_integer_overflow_test.py index 9b723fed4..3635e1424 100644 --- a/tests/python_tests/agg_rasterizer_integer_overflow_test.py +++ b/tests/python_tests/agg_rasterizer_integer_overflow_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_ from utilities import run_all import mapnik import json diff --git a/tests/python_tests/box2d_test.py b/tests/python_tests/box2d_test.py index 601b6df8c..c44100287 100644 --- a/tests/python_tests/box2d_test.py +++ b/tests/python_tests/box2d_test.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import os -from nose.tools import * -from utilities import execution_path, run_all +from nose.tools import eq_,assert_true,assert_almost_equal,assert_false +from utilities import run_all import mapnik def test_coord_init(): diff --git a/tests/python_tests/buffer_clear_test.py b/tests/python_tests/buffer_clear_test.py index 6cffc1c4b..0afd52d9c 100644 --- a/tests/python_tests/buffer_clear_test.py +++ b/tests/python_tests/buffer_clear_test.py @@ -1,7 +1,5 @@ -import sys import os, mapnik -from timeit import Timer, time -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all def setup(): diff --git a/tests/python_tests/cairo_test.py b/tests/python_tests/cairo_test.py index 9a4771af0..30b718efb 100644 --- a/tests/python_tests/cairo_test.py +++ b/tests/python_tests/cairo_test.py @@ -3,7 +3,7 @@ import os import shutil import mapnik -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all def setup(): @@ -89,7 +89,7 @@ if mapnik.has_pycairo(): draw_title(m,context,"Hello Map",size=20) draw_neatline(m,context) surface.finish() - if not os.path.exists(expected_cairo_file): + if not os.path.exists(expected_cairo_file) or os.environ.get('UPDATE'): print 'generated expected cairo surface file %s' % expected_cairo_file shutil.copy(test_cairo_file,expected_cairo_file) diff = abs(os.stat(expected_cairo_file).st_size-os.stat(test_cairo_file).st_size) @@ -108,7 +108,7 @@ if mapnik.has_pycairo(): draw_title(m,context,"Hello Map",size=20) draw_neatline(m,context) surface.finish() - if not os.path.exists(expected_cairo_file): + if not os.path.exists(expected_cairo_file) or os.environ.get('UPDATE'): print 'generated expected cairo surface file %s' % expected_cairo_file shutil.copy(test_cairo_file,expected_cairo_file) diff = abs(os.stat(expected_cairo_file).st_size-os.stat(test_cairo_file).st_size) @@ -132,14 +132,14 @@ if mapnik.has_pycairo(): im = mapnik.Image.from_cairo(surface) im.save(reduced_color_image,'png8') surface.finish() - if not os.path.exists(expected_cairo_file): + if not os.path.exists(expected_cairo_file) or os.environ.get('UPDATE'): print 'generated expected cairo surface file %s' % expected_cairo_file shutil.copy(test_cairo_file,expected_cairo_file) diff = abs(os.stat(expected_cairo_file).st_size-os.stat(test_cairo_file).st_size) msg = 'diff in size (%s) between actual (%s) and expected(%s)' % (diff,test_cairo_file,'tests/python_tests/'+ expected_cairo_file) eq_( diff < 500, True, msg) os.remove(test_cairo_file) - if not os.path.exists(expected_cairo_file2): + if not os.path.exists(expected_cairo_file2) or os.environ.get('UPDATE'): print 'generated expected cairo surface file %s' % expected_cairo_file2 shutil.copy(reduced_color_image,expected_cairo_file2) diff = abs(os.stat(expected_cairo_file2).st_size-os.stat(reduced_color_image).st_size) @@ -158,7 +158,7 @@ if mapnik.has_pycairo(): surface = getattr(cairo,'%sSurface' % type.upper())(test_cairo_file, m.width,m.height) mapnik.render(m, surface) surface.finish() - if not os.path.exists(expected_cairo_file): + if not os.path.exists(expected_cairo_file) or os.environ.get('UPDATE'): print 'generated expected cairo surface file %s' % expected_cairo_file shutil.copy(test_cairo_file,expected_cairo_file) diff = abs(os.stat(expected_cairo_file).st_size-os.stat(test_cairo_file).st_size) diff --git a/tests/python_tests/compositing_test.py b/tests/python_tests/compositing_test.py index b535311de..08bd3c708 100644 --- a/tests/python_tests/compositing_test.py +++ b/tests/python_tests/compositing_test.py @@ -1,8 +1,8 @@ #encoding: utf8 -from nose.tools import * -import os,sys -from utilities import execution_path, run_all, Todo +from nose.tools import eq_ +import os +from utilities import execution_path, run_all from utilities import get_unique_colors, pixel2channels, side_by_side_image import mapnik diff --git a/tests/python_tests/csv_test.py b/tests/python_tests/csv_test.py index d871e7732..dfff462c3 100644 --- a/tests/python_tests/csv_test.py +++ b/tests/python_tests/csv_test.py @@ -2,8 +2,7 @@ # -*- coding: utf-8 -*- import glob -import sys -from nose.tools import * +from nose.tools import eq_,raises from utilities import execution_path import os, mapnik @@ -33,25 +32,26 @@ if 'csv' in mapnik.DatasourceCache.plugin_names(): broken.append("../data/csv/fails/does_not_exist.csv") for csv in broken: - throws = False if visual: try: - ds = mapnik.Datasource(type='csv',file=csv,strict=True) - print '\x1b[33mfailed\x1b[0m',csv + mapnik.Datasource(type='csv',file=csv,strict=True) + print '\x1b[33mfailed: should have thrown\x1b[0m',csv except Exception: print '\x1b[1;32m✓ \x1b[0m', csv def test_good_files(visual=False): good_files = glob.glob("../data/csv/*.*") good_files.extend(glob.glob("../data/csv/warns/*.*")) + ignorable = os.path.join('..','data','csv','long_lat.vrt') + good_files.remove(ignorable) for csv in good_files: if visual: try: - ds = mapnik.Datasource(type='csv',file=csv) + mapnik.Datasource(type='csv',file=csv) print '\x1b[1;32m✓ \x1b[0m', csv - except Exception: - print '\x1b[33mfailed\x1b[0m',csv + except Exception, e: + print '\x1b[33mfailed: should not have thrown\x1b[0m',csv,str(e) def test_lon_lat_detection(**kwargs): ds = get_csv_ds('lon_lat.csv') @@ -68,7 +68,7 @@ if 'csv' in mapnik.DatasourceCache.plugin_names(): attr = {'lon': 0, 'lat': 0} eq_(feat.attributes,attr) - def test_lon_lat_detection(**kwargs): + def test_lng_lat_detection(**kwargs): ds = get_csv_ds('lng_lat.csv') eq_(len(ds.fields()),2) eq_(ds.fields(),['lng','lat']) @@ -357,9 +357,7 @@ if 'csv' in mapnik.DatasourceCache.plugin_names(): query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) - desc = ds.describe() - eq_(desc['geometry_type'],mapnik.DataGeometryType.Point) + ds.features(query) def test_that_leading_zeros_mean_strings(**kwargs): ds = get_csv_ds('leading_zeros.csv') @@ -471,7 +469,7 @@ if 'csv' in mapnik.DatasourceCache.plugin_names(): @raises(RuntimeError) def test_that_fewer_headers_than_rows_throws(**kwargs): # this has invalid header # so throw - ds = get_csv_ds('more_column_values_than_headers.csv') + get_csv_ds('more_column_values_than_headers.csv') def test_that_feature_id_only_incremented_for_valid_rows(**kwargs): ds = mapnik.Datasource(type='csv', diff --git a/tests/python_tests/datasource_test.py b/tests/python_tests/datasource_test.py index 07fe09163..62a6fab52 100644 --- a/tests/python_tests/datasource_test.py +++ b/tests/python_tests/datasource_test.py @@ -1,8 +1,9 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik +from itertools import groupby def setup(): # All of the paths used are relative, if we run the tests @@ -133,8 +134,6 @@ def test_ogr_layer_by_sql(): eq_(num_feats, 1) def test_hit_grid(): - import os - from itertools import groupby def rle_encode(l): """ encode a list of strings with run-length compression """ diff --git a/tests/python_tests/datasource_xml_template_test.py b/tests/python_tests/datasource_xml_template_test.py index 2a73bd551..38a73a3e2 100644 --- a/tests/python_tests/datasource_xml_template_test.py +++ b/tests/python_tests/datasource_xml_template_test.py @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- import os -from nose.tools import * from utilities import execution_path, run_all import mapnik diff --git a/tests/python_tests/extra_map_props_test.py b/tests/python_tests/extra_map_props_test.py index e7ffba5d4..045cddbdb 100644 --- a/tests/python_tests/extra_map_props_test.py +++ b/tests/python_tests/extra_map_props_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/feature_id_test.py b/tests/python_tests/feature_id_test.py index cd8d85fed..66c20ccf4 100644 --- a/tests/python_tests/feature_id_test.py +++ b/tests/python_tests/feature_id_test.py @@ -1,8 +1,8 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all -import os, sys, glob, mapnik +import os, mapnik import itertools def setup(): diff --git a/tests/python_tests/feature_test.py b/tests/python_tests/feature_test.py index 11f3f8a8c..42f024509 100644 --- a/tests/python_tests/feature_test.py +++ b/tests/python_tests/feature_test.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import itertools,sys -import unittest -from nose.tools import * -from utilities import execution_path, run_all + +from nose.tools import eq_,raises +from utilities import run_all import mapnik from binascii import unhexlify @@ -77,7 +76,7 @@ def test_feature_expression_evaluation_missing_attr(): expr = mapnik.Expression("[fielddoesnotexist]='a'") eq_(f.has_key('fielddoesnotexist'),False) try: - evaluated = expr.evaluate(f) + expr.evaluate(f) except Exception, e: eq_("Key does not exist" in str(e),True) num_attributes = len(f) @@ -112,7 +111,7 @@ def test_feature_from_geojson(): } } """ - feat = mapnik.Feature.from_geojson(inline_string,ctx) + mapnik.Feature.from_geojson(inline_string,ctx) if __name__ == "__main__": exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) diff --git a/tests/python_tests/filter_test.py b/tests/python_tests/filter_test.py index fefca8496..f90641063 100644 --- a/tests/python_tests/filter_test.py +++ b/tests/python_tests/filter_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,raises from utilities import run_all import mapnik @@ -443,7 +443,7 @@ def test_division_by_zero(): @raises(RuntimeError) def test_invalid_syntax1(): - expr = mapnik.Expression('abs()') + mapnik.Expression('abs()') if __name__ == "__main__": diff --git a/tests/python_tests/font_test.py b/tests/python_tests/font_test.py deleted file mode 100644 index 445c104f1..000000000 --- a/tests/python_tests/font_test.py +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env python - -from nose.tools import * -from utilities import execution_path, run_all -import mapnik - -# Tests that exercise fonts. - -# Trac Ticket #31 -# Todo: Add logic to use this TextSymbolizer in a rendering -#@raises(UserWarning) -#def test_invalid_font(): -# ts = mapnik.TextSymbolizer('Name', 'Invalid Font Name', int(8), mapnik.Color('black')) - -if __name__ == "__main__": - exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) diff --git a/tests/python_tests/fontset_test.py b/tests/python_tests/fontset_test.py index 34c68584c..ee8fd7d77 100644 --- a/tests/python_tests/fontset_test.py +++ b/tests/python_tests/fontset_test.py @@ -1,7 +1,6 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/geojson_plugin_test.py b/tests/python_tests/geojson_plugin_test.py index 065cd30ca..a23667417 100644 --- a/tests/python_tests/geojson_plugin_test.py +++ b/tests/python_tests/geojson_plugin_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,assert_almost_equal from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/geometry_io_test.py b/tests/python_tests/geometry_io_test.py index 667116ffc..c7ad3cf3d 100644 --- a/tests/python_tests/geometry_io_test.py +++ b/tests/python_tests/geometry_io_test.py @@ -1,7 +1,7 @@ #encoding: utf8 -from nose.tools import * -import os,sys +from nose.tools import eq_,raises +import os from utilities import execution_path, run_all import mapnik from binascii import unhexlify @@ -136,18 +136,18 @@ def test_wkb_parsing(): def test_geojson_parsing(): path = mapnik.Path() count = 0 - for json in geojson: - count += json[0] - path.add_geojson(json[1]) + for j in geojson: + count += j[0] + path.add_geojson(j[1]) eq_(count,len(path)) def test_geojson_parsing_reversed(): path = mapnik.Path() path2 = mapnik.Path() count = 0 - for idx,json in enumerate(geojson_reversed): - count += json[0] - path.add_geojson(json[1]) + for idx,j in enumerate(geojson_reversed): + count += j[0] + path.add_geojson(j[1]) path2.add_geojson(geojson[idx][1]) eq_(path.to_geojson(),path2.to_geojson()) eq_(count,len(path)) @@ -166,7 +166,7 @@ def test_geojson_point_positions(): path.add_geojson('{"type":"Point","coordinates":[30,10,50,50,50,50]}') eq_(path.to_geojson(),input_json) -def test_geojson_point_positions(): +def test_geojson_point_positions2(): input_json = '{"type":"LineString","coordinates":[[30,10],[10,30],[40,40]]}' path = mapnik.Path() @@ -333,9 +333,9 @@ def test_creating_feature_from_geojson(): eq_(feat['name'],u'value') def test_handling_geojson_null_geoms(): - for json in geojson_nulls: + for j in geojson_nulls: ctx = mapnik.Context() - out_json = mapnik.Feature.from_geojson(json,ctx).to_geojson() + out_json = mapnik.Feature.from_geojson(j,ctx).to_geojson() expected = '{"type":"Feature","id":1,"geometry":null,"properties":{}}' eq_(out_json,expected) # ensure it round trips diff --git a/tests/python_tests/grayscale_test.py b/tests/python_tests/grayscale_test.py index 35f541a87..2bcf8361b 100644 --- a/tests/python_tests/grayscale_test.py +++ b/tests/python_tests/grayscale_test.py @@ -1,6 +1,6 @@ import mapnik -from nose.tools import * -from utilities import execution_path, run_all +from nose.tools import eq_ +from utilities import run_all def test_grayscale_conversion(): im = mapnik.Image(2,2) diff --git a/tests/python_tests/image_encoding_speed_test.py b/tests/python_tests/image_encoding_speed_test.py index 2b790e913..75bbc85af 100644 --- a/tests/python_tests/image_encoding_speed_test.py +++ b/tests/python_tests/image_encoding_speed_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import sys import os, mapnik from timeit import Timer, time -from nose.tools import * from utilities import execution_path, run_all def setup(): @@ -42,8 +40,8 @@ combinations = ['png', 'png:z=1:s=filtered', 'png:z=1:s=huff', 'png:z=1:s=rle', - 'png:m=h:g=2.0', - 'png:m=h:g=1.0', + 'png8:m=h:g=2.0', + 'png8:m=h:g=1.0', 'png:e=miniz', 'png8:e=miniz' ] @@ -59,7 +57,7 @@ iterations = 10 def do_encoding(): - image = None + global image results = {} sortable = {} @@ -115,7 +113,6 @@ def do_encoding(): min_ = str(s[0])[:6] avg = str(s[1])[:6] elapsed = str(s[2])[:6] - percent_reduction = s[4] name = s[3] size = s[4] print 'min: %sms | avg: %sms | total: %sms | len: %s <-- %s' % (min_,avg,elapsed,size,name) diff --git a/tests/python_tests/image_filters_test.py b/tests/python_tests/image_filters_test.py index 88277d1f2..269d64ca2 100644 --- a/tests/python_tests/image_filters_test.py +++ b/tests/python_tests/image_filters_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all from utilities import side_by_side_image import os, mapnik diff --git a/tests/python_tests/image_test.py b/tests/python_tests/image_test.py index dee26e2c5..800da573c 100644 --- a/tests/python_tests/image_test.py +++ b/tests/python_tests/image_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import sys import os, mapnik -from timeit import Timer, time -from nose.tools import * +from nose.tools import eq_,raises from utilities import execution_path, run_all, get_unique_colors def setup(): @@ -189,6 +187,9 @@ def test_set_color_to_alpha(): def test_negative_image_dimensions(): # TODO - this may have regressed in https://github.com/mapnik/mapnik/commit/4f3521ac24b61fc8ae8fd344a16dc3a5fdf15af7 im = mapnik.Image(-40,40) + # should not get here + eq_(im.width(),0) + eq_(im.height(),0) def test_jpeg_round_trip(): filepath = '/tmp/mapnik-jpeg-io.jpeg' diff --git a/tests/python_tests/image_tiff_test.py b/tests/python_tests/image_tiff_test.py index 4dbcf3223..403370330 100644 --- a/tests/python_tests/image_tiff_test.py +++ b/tests/python_tests/image_tiff_test.py @@ -1,11 +1,9 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import sys import os, mapnik import hashlib -from timeit import Timer, time -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all def hashstr(var): diff --git a/tests/python_tests/images/pycairo/cairo-cairo-expected-reduced.png b/tests/python_tests/images/pycairo/cairo-cairo-expected-reduced.png index 6c3bfc9a7..b99dc9194 100644 Binary files a/tests/python_tests/images/pycairo/cairo-cairo-expected-reduced.png and b/tests/python_tests/images/pycairo/cairo-cairo-expected-reduced.png differ diff --git a/tests/python_tests/images/pycairo/cairo-cairo-expected.pdf b/tests/python_tests/images/pycairo/cairo-cairo-expected.pdf index 7c654aee4..220a9b210 100644 Binary files a/tests/python_tests/images/pycairo/cairo-cairo-expected.pdf and b/tests/python_tests/images/pycairo/cairo-cairo-expected.pdf differ diff --git a/tests/python_tests/images/pycairo/cairo-cairo-expected.png b/tests/python_tests/images/pycairo/cairo-cairo-expected.png index 1c31f0e0c..3a99f5e73 100644 Binary files a/tests/python_tests/images/pycairo/cairo-cairo-expected.png and b/tests/python_tests/images/pycairo/cairo-cairo-expected.png differ diff --git a/tests/python_tests/images/pycairo/cairo-cairo-expected.svg b/tests/python_tests/images/pycairo/cairo-cairo-expected.svg index ae1e90b7a..18d73432d 100644 --- a/tests/python_tests/images/pycairo/cairo-cairo-expected.svg +++ b/tests/python_tests/images/pycairo/cairo-cairo-expected.svg @@ -3,31 +3,28 @@ - + - + - + - + - - - + + + - + - - - - + @@ -35,15 +32,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.building.pdf b/tests/python_tests/images/pycairo/cairo-surface-expected.building.pdf index 21d0661ff..11559bb2b 100644 Binary files a/tests/python_tests/images/pycairo/cairo-surface-expected.building.pdf and b/tests/python_tests/images/pycairo/cairo-surface-expected.building.pdf differ diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.building.svg b/tests/python_tests/images/pycairo/cairo-surface-expected.building.svg index 48cf24115..78bc15e3d 100644 --- a/tests/python_tests/images/pycairo/cairo-surface-expected.building.svg +++ b/tests/python_tests/images/pycairo/cairo-surface-expected.building.svg @@ -1,6 +1,6 @@ - + @@ -12,16 +12,16 @@ - + - - + + @@ -36,13 +36,13 @@ - + - - + + @@ -82,8 +82,8 @@ - + @@ -99,7 +99,7 @@ - + @@ -125,9 +125,9 @@ - - + + @@ -142,8 +142,8 @@ - + @@ -159,7 +159,7 @@ - + @@ -173,16 +173,16 @@ - + - + @@ -208,8 +208,8 @@ - + @@ -219,9 +219,9 @@ - - + + diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.point.pdf b/tests/python_tests/images/pycairo/cairo-surface-expected.point.pdf index d6ec81997..eff8ca634 100644 Binary files a/tests/python_tests/images/pycairo/cairo-surface-expected.point.pdf and b/tests/python_tests/images/pycairo/cairo-surface-expected.point.pdf differ diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.point.svg b/tests/python_tests/images/pycairo/cairo-surface-expected.point.svg index 990cc04b7..0b73c8c0b 100644 --- a/tests/python_tests/images/pycairo/cairo-surface-expected.point.svg +++ b/tests/python_tests/images/pycairo/cairo-surface-expected.point.svg @@ -3,99 +3,96 @@ - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - - - + + + @@ -107,382 +104,310 @@ - - + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.pdf b/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.pdf index 2621730f4..201bb9b03 100644 Binary files a/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.pdf and b/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.pdf differ diff --git a/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.svg b/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.svg index 886e24b08..4f2a943cd 100644 --- a/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.svg +++ b/tests/python_tests/images/pycairo/cairo-surface-expected.polygon.svg @@ -1,35 +1,35 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+e=miniz.png b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+e=miniz.png index 4cc101b87..d7dd17254 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+e=miniz.png and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+e=miniz.png differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=0.png b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=0.png index b2aa9913d..c6c7ab947 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=0.png and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=0.png differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=1.png b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=1.png index b2aa9913d..c6c7ab947 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=1.png and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=1.png differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=2.png b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=2.png index b2aa9913d..c6c7ab947 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=2.png and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h+t=2.png differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h.png b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h.png index b2aa9913d..c6c7ab947 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h.png and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-png8+m=h.png differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=0.webp b/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=0.webp index 9235d1f12..f0f3838ca 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=0.webp and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=0.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=6.webp b/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=6.webp index d0c8206bb..be253e265 100644 Binary files a/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=6.webp and b/tests/python_tests/images/support/encoding-opts/aerial_rgba-webp+method=6.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_filtering=2.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_filtering=2.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_filtering=2.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_filtering=2.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_quality=50.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_quality=50.webp index ca054c584..10cea1cdf 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_quality=50.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+alpha_quality=50.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+autofilter=0.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+autofilter=0.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+autofilter=0.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+autofilter=0.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_sharpness=4.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_sharpness=4.webp index b35437771..932a4dec0 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_sharpness=4.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_sharpness=4.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_strength=50.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_strength=50.webp index 02bd501ae..2e65b9b85 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_strength=50.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_strength=50.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_type=1+autofilter=1.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_type=1+autofilter=1.webp index e09042265..7e3bd76b5 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+filter_type=1+autofilter=1.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+filter_type=1+autofilter=1.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+method=0.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+method=0.webp index 61a6b2c15..5c6492427 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+method=0.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+method=0.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+method=6.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+method=6.webp index cb9388b52..ef84f4c33 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+method=6.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+method=6.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+partition_limit=50.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+partition_limit=50.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+partition_limit=50.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+partition_limit=50.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+partitions=3.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+partitions=3.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+partitions=3.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+partitions=3.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+pass=10.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+pass=10.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+pass=10.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+pass=10.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+preprocessing=1.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+preprocessing=1.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+preprocessing=1.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+preprocessing=1.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+quality=64.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+quality=64.webp index f201c07bf..0eb26aa1a 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+quality=64.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+quality=64.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+segments=3.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+segments=3.webp index f9c9b4a11..af3082b71 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+segments=3.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+segments=3.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+sns_strength=50.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+sns_strength=50.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+sns_strength=50.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+sns_strength=50.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+target_PSNR=.5.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+target_PSNR=.5.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+target_PSNR=.5.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+target_PSNR=.5.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp+target_size=100.webp b/tests/python_tests/images/support/encoding-opts/blank-webp+target_size=100.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp+target_size=100.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp+target_size=100.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/blank-webp.webp b/tests/python_tests/images/support/encoding-opts/blank-webp.webp index 532282769..a7369dcb9 100644 Binary files a/tests/python_tests/images/support/encoding-opts/blank-webp.webp and b/tests/python_tests/images/support/encoding-opts/blank-webp.webp differ diff --git a/tests/python_tests/images/support/encoding-opts/png8-17cols.png b/tests/python_tests/images/support/encoding-opts/png8-17cols.png new file mode 100644 index 000000000..22f4c3542 Binary files /dev/null and b/tests/python_tests/images/support/encoding-opts/png8-17cols.png differ diff --git a/tests/python_tests/images/support/encoding-opts/png8-2px.A.png b/tests/python_tests/images/support/encoding-opts/png8-2px.A.png new file mode 100644 index 000000000..f047b0804 Binary files /dev/null and b/tests/python_tests/images/support/encoding-opts/png8-2px.A.png differ diff --git a/tests/python_tests/images/support/encoding-opts/png8-2px.png b/tests/python_tests/images/support/encoding-opts/png8-2px.png new file mode 100644 index 000000000..f047b0804 Binary files /dev/null and b/tests/python_tests/images/support/encoding-opts/png8-2px.png differ diff --git a/tests/python_tests/images/support/encoding-opts/png8-9cols.png b/tests/python_tests/images/support/encoding-opts/png8-9cols.png new file mode 100644 index 000000000..a781b37a2 Binary files /dev/null and b/tests/python_tests/images/support/encoding-opts/png8-9cols.png differ diff --git a/tests/python_tests/images/support/encoding-opts/solid-webp+method=0.webp b/tests/python_tests/images/support/encoding-opts/solid-webp+method=0.webp index 15f58ffbe..e7cff6530 100644 Binary files a/tests/python_tests/images/support/encoding-opts/solid-webp+method=0.webp and b/tests/python_tests/images/support/encoding-opts/solid-webp+method=0.webp differ diff --git a/tests/python_tests/images/support/transparency/white0.webp b/tests/python_tests/images/support/transparency/white0.webp index a37062675..f276b81ee 100644 Binary files a/tests/python_tests/images/support/transparency/white0.webp and b/tests/python_tests/images/support/transparency/white0.webp differ diff --git a/tests/python_tests/introspection_test.py b/tests/python_tests/introspection_test.py index 6fbbbb799..afb1cc2c9 100644 --- a/tests/python_tests/introspection_test.py +++ b/tests/python_tests/introspection_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python import os -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import mapnik diff --git a/tests/python_tests/json_feature_properties_test.py b/tests/python_tests/json_feature_properties_test.py index 82e909e5b..47f2428d4 100644 --- a/tests/python_tests/json_feature_properties_test.py +++ b/tests/python_tests/json_feature_properties_test.py @@ -1,9 +1,8 @@ #encoding: utf8 -from nose.tools import * -import os,sys +from nose.tools import eq_ import mapnik -from utilities import execution_path, run_all +from utilities import run_all try: import json except ImportError: diff --git a/tests/python_tests/layer_buffer_size_test.py b/tests/python_tests/layer_buffer_size_test.py index 3916c9258..83765a73f 100644 --- a/tests/python_tests/layer_buffer_size_test.py +++ b/tests/python_tests/layer_buffer_size_test.py @@ -2,7 +2,7 @@ import os import mapnik from utilities import execution_path, run_all -from nose.tools import * +from nose.tools import eq_ def setup(): # All of the paths used are relative, if we run the tests diff --git a/tests/python_tests/layer_modification_test.py b/tests/python_tests/layer_modification_test.py index 2903143e4..7517ac2ac 100644 --- a/tests/python_tests/layer_modification_test.py +++ b/tests/python_tests/layer_modification_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python import os -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import mapnik diff --git a/tests/python_tests/layer_test.py b/tests/python_tests/layer_test.py index 1a11c0fc5..6ffd0ca40 100644 --- a/tests/python_tests/layer_test.py +++ b/tests/python_tests/layer_test.py @@ -1,8 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * -from utilities import execution_path, run_all +from nose.tools import eq_ +from utilities import run_all import mapnik # Map initialization diff --git a/tests/python_tests/load_map_test.py b/tests/python_tests/load_map_test.py index 283aa8aa3..88152c937 100644 --- a/tests/python_tests/load_map_test.py +++ b/tests/python_tests/load_map_test.py @@ -1,9 +1,9 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all -import os, sys, glob, mapnik +import os, glob, mapnik default_logging_severity = mapnik.logger.get_severity() diff --git a/tests/python_tests/map_query_test.py b/tests/python_tests/map_query_test.py index e01407e60..4035f7ae9 100644 --- a/tests/python_tests/map_query_test.py +++ b/tests/python_tests/map_query_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_,raises,assert_almost_equal from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/mapnik_config_test.py b/tests/python_tests/mapnik_config_test.py index d49a8ba45..52b28422a 100644 --- a/tests/python_tests/mapnik_config_test.py +++ b/tests/python_tests/mapnik_config_test.py @@ -1,11 +1,8 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path, run_all -from subprocess import Popen, PIPE, STDOUT -import os - -import os, sys, glob, mapnik +from nose.tools import eq_ +from utilities import run_all +from subprocess import Popen, PIPE def test_mapnik_config_no_args(): process = Popen('mapnik-config', shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE) diff --git a/tests/python_tests/mapnik_logger_test.py b/tests/python_tests/mapnik_logger_test.py index da338ee5b..c27ff46a0 100644 --- a/tests/python_tests/mapnik_logger_test.py +++ b/tests/python_tests/mapnik_logger_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path, run_all +from nose.tools import eq_ +from utilities import run_all import mapnik def test_logger_init(): diff --git a/tests/python_tests/mapnik_test_data_test.py b/tests/python_tests/mapnik_test_data_test.py index df0b8379a..b4226e125 100644 --- a/tests/python_tests/mapnik_test_data_test.py +++ b/tests/python_tests/mapnik_test_data_test.py @@ -1,7 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * from utilities import execution_path, run_all import os, mapnik from glob import glob @@ -41,7 +40,7 @@ def test_opening_data(): kwargs = {'type': 'ogr','file': filepath} kwargs['layer_by_index'] = 0 try: - ds = mapnik.Datasource(**kwargs) + mapnik.Datasource(**kwargs) except Exception, e: print 'could not open, %s: %s' % (kwargs,e) else: @@ -50,7 +49,7 @@ def test_opening_data(): if plugin is 'ogr': kwargs['layer_by_index'] = 0 try: - ds = mapnik.Datasource(**kwargs) + mapnik.Datasource(**kwargs) except Exception, e: print 'could not open, %s: %s' % (kwargs,e) #else: diff --git a/tests/python_tests/markers_complex_rendering_test.py b/tests/python_tests/markers_complex_rendering_test.py index 41f0a0eff..efce684fa 100644 --- a/tests/python_tests/markers_complex_rendering_test.py +++ b/tests/python_tests/markers_complex_rendering_test.py @@ -2,7 +2,7 @@ import os import mapnik from utilities import execution_path, run_all -from nose.tools import * +from nose.tools import eq_ def setup(): # All of the paths used are relative, if we run the tests diff --git a/tests/python_tests/memory_datasource_test.py b/tests/python_tests/memory_datasource_test.py index c2791bf3c..b868f44de 100644 --- a/tests/python_tests/memory_datasource_test.py +++ b/tests/python_tests/memory_datasource_test.py @@ -1,7 +1,7 @@ #encoding: utf8 import mapnik -from utilities import execution_path, run_all -from nose.tools import * +from utilities import run_all +from nose.tools import eq_ def test_add_feature(): md = mapnik.MemoryDatasource() diff --git a/tests/python_tests/multi_tile_raster_test.py b/tests/python_tests/multi_tile_raster_test.py index 5ecb46e39..7dda8760f 100644 --- a/tests/python_tests/multi_tile_raster_test.py +++ b/tests/python_tests/multi_tile_raster_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path, run_all, contains_word +from nose.tools import eq_ +from utilities import execution_path, run_all import os, mapnik def setup(): diff --git a/tests/python_tests/ogr_and_shape_geometries_test.py b/tests/python_tests/ogr_and_shape_geometries_test.py index be364265a..5c6918e28 100644 --- a/tests/python_tests/ogr_and_shape_geometries_test.py +++ b/tests/python_tests/ogr_and_shape_geometries_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python -from nose.tools import * - +from nose.tools import eq_ from utilities import execution_path, run_all - -import os, sys, glob, mapnik +import os, mapnik def setup(): # All of the paths used are relative, if we run the tests diff --git a/tests/python_tests/ogr_test.py b/tests/python_tests/ogr_test.py index cccc65815..f463b22b5 100644 --- a/tests/python_tests/ogr_test.py +++ b/tests/python_tests/ogr_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,assert_almost_equal,raises from utilities import execution_path, run_all import os, mapnik @@ -52,7 +52,7 @@ if 'ogr' in mapnik.DatasourceCache.plugin_names(): query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) + ds.features(query) # disabled because OGR prints an annoying error: ERROR 1: Invalid Point object. Missing 'coordinates' member. #def test_handling_of_null_features(): diff --git a/tests/python_tests/osm_test.py b/tests/python_tests/osm_test.py index c962cc3dc..7ff0bfbfb 100644 --- a/tests/python_tests/osm_test.py +++ b/tests/python_tests/osm_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik @@ -32,7 +32,7 @@ if 'osm' in mapnik.DatasourceCache.plugin_names(): query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) + ds.features(query) def test_that_64bit_int_fields_work(): ds = mapnik.Osm(file='../data/osm/64bit.osm') diff --git a/tests/python_tests/palette_test.py b/tests/python_tests/palette_test.py index 3a009ed0f..9b308953f 100644 --- a/tests/python_tests/palette_test.py +++ b/tests/python_tests/palette_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/parameters_test.py b/tests/python_tests/parameters_test.py index 150fdb85f..1587fbdde 100644 --- a/tests/python_tests/parameters_test.py +++ b/tests/python_tests/parameters_test.py @@ -3,7 +3,7 @@ import os import sys -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import mapnik diff --git a/tests/python_tests/pgraster_test.py b/tests/python_tests/pgraster_test.py index ddc991cfa..fa5dd0bb1 100644 --- a/tests/python_tests/pgraster_test.py +++ b/tests/python_tests/pgraster_test.py @@ -1,17 +1,14 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_,assert_almost_equal import atexit -import cProfile, pstats, io import time from utilities import execution_path, run_all, side_by_side_image from subprocess import Popen, PIPE import os, mapnik -from Queue import Queue -import threading import sys import re -from binascii import hexlify, unhexlify +from binascii import hexlify MAPNIK_TEST_DBNAME = 'mapnik-tmp-pgraster-test-db' POSTGIS_TEMPLATE_DBNAME = 'template_postgis' @@ -48,7 +45,7 @@ def psql_can_connect(): try: call('psql %s -c "select postgis_version()"' % POSTGIS_TEMPLATE_DBNAME) return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping pgraster tests (connection)' return False @@ -66,7 +63,7 @@ def raster2pgsql_on_path(): try: call('raster2pgsql') return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping pgraster tests (raster2pgsql)' return False @@ -79,7 +76,7 @@ def createdb_and_dropdb_on_path(): call('createdb --help') call('dropdb --help') return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping pgraster tests (createdb/dropdb)' return False diff --git a/tests/python_tests/pickling_test.py b/tests/python_tests/pickling_test.py index 772c27496..7a3572d11 100644 --- a/tests/python_tests/pickling_test.py +++ b/tests/python_tests/pickling_test.py @@ -2,9 +2,8 @@ # -*- coding: utf-8 -*- import os -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all -import tempfile import mapnik, pickle diff --git a/tests/python_tests/png_encoding_test.py b/tests/python_tests/png_encoding_test.py index cbb5b4d4c..568edfd78 100644 --- a/tests/python_tests/png_encoding_test.py +++ b/tests/python_tests/png_encoding_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import sys import os, mapnik -from timeit import Timer, time -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all def setup(): @@ -43,7 +41,7 @@ if mapnik.has_png(): def gen_filepath(name,format): return os.path.join('images/support/encoding-opts',name+'-'+format.replace(":","+")+'.png') - generate = False + generate = os.environ.get('UPDATE') def test_expected_encodings(): # blank image @@ -159,6 +157,62 @@ if mapnik.has_png(): eq_(len(im.tostring('png8:t=0')) == len(im_in.tostring('png8')), True) eq_(len(im.tostring('png8:t=0:m=o')) == len(im_in.tostring('png8:m=o')), True) + def test_9_colors_hextree(): + expected = './images/support/encoding-opts/png8-9cols.png' + im = mapnik.Image.open(expected) + t0 = tmp_dir + 'png-encoding-9-colors.result-hextree.png' + im.save(t0, 'png8:m=h') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + def test_9_colors_octree(): + expected = './images/support/encoding-opts/png8-9cols.png' + im = mapnik.Image.open(expected) + t0 = tmp_dir + 'png-encoding-9-colors.result-octree.png' + im.save(t0, 'png8:m=o') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + def test_17_colors_hextree(): + expected = './images/support/encoding-opts/png8-17cols.png' + im = mapnik.Image.open(expected) + t0 = tmp_dir + 'png-encoding-17-colors.result-hextree.png' + im.save(t0, 'png8:m=h') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + def test_17_colors_octree(): + expected = './images/support/encoding-opts/png8-17cols.png' + im = mapnik.Image.open(expected) + t0 = tmp_dir + 'png-encoding-17-colors.result-octree.png' + im.save(t0, 'png8:m=o') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + def test_2px_regression_hextree(): + im = mapnik.Image.open('./images/support/encoding-opts/png8-2px.A.png') + expected = './images/support/encoding-opts/png8-2px.png' + + t0 = tmp_dir + 'png-encoding-2px.result-hextree.png' + im.save(t0, 'png8:m=h') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + def test_2px_regression_octree(): + im = mapnik.Image.open('./images/support/encoding-opts/png8-2px.A.png') + expected = './images/support/encoding-opts/png8-2px.png' + t0 = tmp_dir + 'png-encoding-2px.result-octree.png' + im.save(t0, 'png8:m=o') + eq_(mapnik.Image.open(t0).tostring(), + mapnik.Image.open(expected).tostring(), + '%s (actual) not == to %s (expected)' % (t0, expected)) + + if __name__ == "__main__": setup() exit(run_all(eval(x) for x in dir() if x.startswith("test_"))) diff --git a/tests/python_tests/pngsuite_test.py b/tests/python_tests/pngsuite_test.py index 26c2456da..4c933eb2d 100644 --- a/tests/python_tests/pngsuite_test.py +++ b/tests/python_tests/pngsuite_test.py @@ -2,7 +2,7 @@ import os import mapnik -from nose.tools import * +from nose.tools import assert_raises from utilities import execution_path, run_all datadir = '../data/pngsuite' diff --git a/tests/python_tests/postgis_test.py b/tests/python_tests/postgis_test.py index c299e407f..d3e3ebe3a 100644 --- a/tests/python_tests/postgis_test.py +++ b/tests/python_tests/postgis_test.py @@ -1,12 +1,10 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_,raises import atexit -import time from utilities import execution_path, run_all from subprocess import Popen, PIPE import os, mapnik -from Queue import Queue import threading @@ -41,7 +39,7 @@ def psql_can_connect(): try: call('psql %s -c "select postgis_version()"' % POSTGIS_TEMPLATE_DBNAME) return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping postgis tests (connection)' return False @@ -53,7 +51,7 @@ def shp2pgsql_on_path(): try: call('shp2pgsql') return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping postgis tests (shp2pgsql)' return False @@ -66,7 +64,7 @@ def createdb_and_dropdb_on_path(): call('createdb --help') call('dropdb --help') return True - except RuntimeError, e: + except RuntimeError: print 'Notice: skipping postgis tests (createdb/dropdb)' return False @@ -340,7 +338,7 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) + ds.features(query) def test_auto_detection_of_unique_feature_id_32_bit(): ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='test2', @@ -401,7 +399,7 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='test3', geometry_field='geom', autodetect_key_field=True) - fs = ds.featureset() + ds.featureset() def test_auto_detection_of_unique_feature_id_64_bit(): ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='test4', @@ -484,19 +482,19 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ @raises(RuntimeError) def test_auto_detection_of_invalid_numeric_primary_key(): - ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''(select geom, manual_id::numeric from test2) as t''', + mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''(select geom, manual_id::numeric from test2) as t''', geometry_field='geom', autodetect_key_field=True) @raises(RuntimeError) def test_auto_detection_of_invalid_multiple_keys(): - ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''test6''', + mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''test6''', geometry_field='geom', autodetect_key_field=True) @raises(RuntimeError) def test_auto_detection_of_invalid_multiple_keys_subquery(): - ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''(select first_id,second_id,geom from test6) as t''', + mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='''(select first_id,second_id,geom from test6) as t''', geometry_field='geom', autodetect_key_field=True) @@ -639,7 +637,7 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME, table='asdfasdfasdfasdfasdf', max_size=20) - fs = ds.all_features() + ds.all_features() except Exception, e: eq_('in executeQuery' in str(e),True) @@ -800,7 +798,7 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ # https://github.com/mapnik/mapnik/issues/1816 def test_exception_message_reporting(): try: - ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='doesnotexist') + mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table='doesnotexist') except Exception, e: eq_(e.message != 'unidentifiable C++ exception', True) @@ -829,7 +827,7 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ 'table':"(select null::bigint as osm_id, GeomFromEWKT('SRID=4326;POINT(0 0)') as geom) as tmp"} ds = mapnik.Datasource(**opts) fs = ds.featureset() - feat = fs.next() ## should throw since key_field is null: StopIteration: No more features. + fs.next() ## should throw since key_field is null: StopIteration: No more features. def test_psql_error_should_not_break_connection_pool(): # Bad request, will trigger an error when returning result diff --git a/tests/python_tests/projection_test.py b/tests/python_tests/projection_test.py index 5c6bf62e0..a7bdc1455 100644 --- a/tests/python_tests/projection_test.py +++ b/tests/python_tests/projection_test.py @@ -1,9 +1,8 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_,assert_almost_equal import mapnik -import random import math from utilities import run_all, assert_box2d_almost_equal diff --git a/tests/python_tests/query_test.py b/tests/python_tests/query_test.py index 6138f6e28..8da353448 100644 --- a/tests/python_tests/query_test.py +++ b/tests/python_tests/query_test.py @@ -3,7 +3,7 @@ import os, mapnik -from nose.tools import * +from nose.tools import eq_,assert_almost_equal,raises from utilities import execution_path, run_all def setup(): diff --git a/tests/python_tests/query_tolerance_test.py b/tests/python_tests/query_tolerance_test.py index 420d1806d..97c1b3e2c 100644 --- a/tests/python_tests/query_tolerance_test.py +++ b/tests/python_tests/query_tolerance_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/raster_colorizer_test.py b/tests/python_tests/raster_colorizer_test.py index e0284d299..6fb0102e2 100644 --- a/tests/python_tests/raster_colorizer_test.py +++ b/tests/python_tests/raster_colorizer_test.py @@ -2,7 +2,7 @@ import os import mapnik from utilities import execution_path, run_all -from nose.tools import * +from nose.tools import eq_ def setup(): # All of the paths used are relative, if we run the tests diff --git a/tests/python_tests/raster_symbolizer_test.py b/tests/python_tests/raster_symbolizer_test.py index b81e7c145..e105dac73 100644 --- a/tests/python_tests/raster_symbolizer_test.py +++ b/tests/python_tests/raster_symbolizer_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path, run_all, contains_word, get_unique_colors +from nose.tools import eq_ +from utilities import execution_path, run_all, get_unique_colors import os, mapnik @@ -139,7 +139,7 @@ def test_raster_with_alpha_blends_correctly_with_background(): mim = mapnik.Image(WIDTH, HEIGHT) mapnik.render(map, mim) - imdata = mim.tostring() + mim.tostring() # All white is expected eq_(get_unique_colors(mim),['rgba(254,254,254,255)']) diff --git a/tests/python_tests/rasterlite_test.py b/tests/python_tests/rasterlite_test.py index d401b4624..b15b1574d 100644 --- a/tests/python_tests/rasterlite_test.py +++ b/tests/python_tests/rasterlite_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python -from nose.tools import * -from utilities import execution_path, run_all, contains_word, get_unique_colors +from nose.tools import eq_,assert_almost_equal +from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/render_grid_test.py b/tests/python_tests/render_grid_test.py index c60b4c286..1d15fd5ee 100644 --- a/tests/python_tests/render_grid_test.py +++ b/tests/python_tests/render_grid_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,raises from utilities import execution_path, run_all import os, mapnik @@ -36,7 +36,7 @@ if mapnik.has_grid_renderer(): val += ' ✓ keys match\n' val += '\n\t%s\n\t%s' % (g1_file,g2_file) return val - + def show_grids2(name,g1,g2): g2_expected = '../data/grids/mapnik-%s-actual.json' % name if not os.path.exists(g2_expected): @@ -60,15 +60,15 @@ if mapnik.has_grid_renderer(): val += ' ✓ keys match\n' val += '\n\t%s\n\t%s' % (g1_file,g2_expected) return val - + # previous rendering using agg ellipse directly grid_correct_new = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]} - + # newer rendering using svg grid_correct_new2 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]} - + grid_correct_new3 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]} - + def resolve(grid,row,col): """ Resolve the attributes for a given pixel in a grid. """ @@ -83,8 +83,8 @@ if mapnik.has_grid_renderer(): codepoint -= 32 key = grid['keys'][codepoint] return grid['data'].get(key) - - + + def create_grid_map(width,height,sym): ds = mapnik.MemoryDatasource() context = mapnik.Context() @@ -93,17 +93,17 @@ if mapnik.has_grid_renderer(): f['Name'] = 'South East' f.add_geometries_from_wkt('POINT (143.10 -38.60)') ds.add_feature(f) - + f = mapnik.Feature(context,2) f['Name'] = 'South West' f.add_geometries_from_wkt('POINT (142.48 -38.60)') ds.add_feature(f) - + f = mapnik.Feature(context,3) f['Name'] = 'North West' f.add_geometries_from_wkt('POINT (142.48 -38.38)') ds.add_feature(f) - + f = mapnik.Feature(context,4) f['Name'] = 'North East' f.add_geometries_from_wkt('POINT (143.10 -38.38)') @@ -120,8 +120,8 @@ if mapnik.has_grid_renderer(): m.append_style('places_labels',s) m.layers.append(lyr) return m - - + + def test_render_grid(): """ test render_grid method""" width,height = 256,256 @@ -132,13 +132,13 @@ if mapnik.has_grid_renderer(): ul_lonlat = mapnik.Coord(142.30,-38.20) lr_lonlat = mapnik.Coord(143.40,-38.80) m.zoom_to_box(mapnik.Box2d(ul_lonlat,lr_lonlat)) - + # new method grid = mapnik.Grid(m.width,m.height,key='Name') mapnik.render_layer(m,grid,layer=0,fields=['Name']) utf1 = grid.encode('utf',resolution=4) eq_(utf1,grid_correct_new3,show_grids('new-markers',utf1,grid_correct_new3)) - + # check a full view is the same as a full image grid_view = grid.view(0,0,width,height) # for kicks check at full res too @@ -147,9 +147,9 @@ if mapnik.has_grid_renderer(): eq_(utf3['grid'],utf4['grid']) eq_(utf3['keys'],utf4['keys']) eq_(utf3['data'],utf4['data']) - + eq_(resolve(utf4,0,0),None) - + # resolve some center points in the # resampled view utf5 = grid_view.encode('utf',resolution=4) @@ -157,14 +157,14 @@ if mapnik.has_grid_renderer(): eq_(resolve(utf5,25,46),{"Name": "North East"}) eq_(resolve(utf5,38,10),{"Name": "South West"}) eq_(resolve(utf5,38,46),{"Name": "South East"}) - - + + grid_feat_id = {'keys': ['', '3', '4', '2', '1'], 'data': {'1': {'Name': 'South East'}, '3': {'Name': u'North West'}, '2': {'Name': 'South West'}, '4': {'Name': 'North East'}}, 'grid': [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' !! ## ', ' !!! ### ', ' !! ## ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' $$$ %% ', ' $$$ %%% ', ' $$ %% ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']} - + grid_feat_id2 = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]} - + grid_feat_id3 = {"data": {"1": {"Name": "South East", "__id__": 1}, "2": {"Name": "South West", "__id__": 2}, "3": {"Name": "North West", "__id__": 3}, "4": {"Name": "North East", "__id__": 4}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]} - + def test_render_grid3(): """ test using feature id""" width,height = 256,256 @@ -175,7 +175,7 @@ if mapnik.has_grid_renderer(): ul_lonlat = mapnik.Coord(142.30,-38.20) lr_lonlat = mapnik.Coord(143.40,-38.80) m.zoom_to_box(mapnik.Box2d(ul_lonlat,lr_lonlat)) - + grid = mapnik.Grid(m.width,m.height,key='__id__') mapnik.render_layer(m,grid,layer=0,fields=['__id__','Name']) utf1 = grid.encode('utf',resolution=4) @@ -188,9 +188,9 @@ if mapnik.has_grid_renderer(): eq_(utf3['grid'],utf4['grid']) eq_(utf3['keys'],utf4['keys']) eq_(utf3['data'],utf4['data']) - + eq_(resolve(utf4,0,0),None) - + # resolve some center points in the # resampled view utf5 = grid_view.encode('utf',resolution=4) @@ -198,8 +198,8 @@ if mapnik.has_grid_renderer(): eq_(resolve(utf5,25,46),{"Name": "North East","__id__": 4}) eq_(resolve(utf5,38,10),{"Name": "South West","__id__": 2}) eq_(resolve(utf5,38,46),{"Name": "South East","__id__": 1}) - - + + def gen_grid_for_id(pixel_key): ds = mapnik.MemoryDatasource() context = mapnik.Context() @@ -224,13 +224,13 @@ if mapnik.has_grid_renderer(): grid = mapnik.Grid(m.width,m.height,key='__id__') mapnik.render_layer(m,grid,layer=0,fields=['__id__','Name']) return grid - + def test_negative_id(): grid = gen_grid_for_id(-1) eq_(grid.get_pixel(128,128),-1) utf1 = grid.encode('utf',resolution=4) eq_(utf1['keys'],['-1']) - + def test_32bit_int_id(): int32 = 2147483647 grid = gen_grid_for_id(int32) @@ -242,7 +242,7 @@ if mapnik.has_grid_renderer(): eq_(grid.get_pixel(128,128),max_neg) utf1 = grid.encode('utf',resolution=4) eq_(utf1['keys'],[str(max_neg)]) - + def test_64bit_int_id(): int64 = 0x7FFFFFFFFFFFFFFF grid = gen_grid_for_id(int64) @@ -254,15 +254,15 @@ if mapnik.has_grid_renderer(): eq_(grid.get_pixel(128,128),max_neg) utf1 = grid.encode('utf',resolution=4) eq_(utf1['keys'],[str(max_neg)]) - + def test_id_zero(): grid = gen_grid_for_id(0) eq_(grid.get_pixel(128,128),0) utf1 = grid.encode('utf',resolution=4) eq_(utf1['keys'],['0']) - + line_expected = {"keys": ["", "1"], "data": {"1": {"Name": "1"}}, "grid": [" !", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", "!! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! "]} - + def test_line_rendering(): ds = mapnik.MemoryDatasource() context = mapnik.Context() @@ -290,9 +290,9 @@ if mapnik.has_grid_renderer(): mapnik.render_layer(m,grid,layer=0,fields=['Name']) utf1 = grid.encode() eq_(utf1,line_expected,show_grids('line',utf1,line_expected)) - + point_expected = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]} - + def test_point_symbolizer_grid(): width,height = 256,256 sym = mapnik.PointSymbolizer() @@ -305,8 +305,8 @@ if mapnik.has_grid_renderer(): mapnik.render_layer(m,grid,layer=0,fields=['Name']) utf1 = grid.encode() eq_(utf1,point_expected,show_grids('point-sym',utf1,point_expected)) - - + + # should throw because this is a mis-usage # https://github.com/mapnik/mapnik/issues/1325 @raises(RuntimeError) @@ -320,7 +320,7 @@ if mapnik.has_grid_renderer(): r.symbols.append(sym) s.rules.append(r) m.append_style('points',s) - + # NOTE: we use a csv datasource here # because the memorydatasource fails silently for # queries requesting fields that do not exist in the datasource @@ -331,7 +331,7 @@ if mapnik.has_grid_renderer(): lyr1.datasource = ds1 lyr1.styles.append('points') m.layers.append(lyr1) - + ds2 = mapnik.Datasource(**{"type":"csv","inline":''' wkt,Value "POINT (142.48 -38.60)",South West'''}) @@ -339,7 +339,7 @@ if mapnik.has_grid_renderer(): lyr2.datasource = ds2 lyr2.styles.append('points') m.layers.append(lyr2) - + ul_lonlat = mapnik.Coord(142.30,-38.20) lr_lonlat = mapnik.Coord(143.40,-38.80) m.zoom_to_box(mapnik.Box2d(ul_lonlat,lr_lonlat)) @@ -348,7 +348,7 @@ if mapnik.has_grid_renderer(): # should throw right here since Name will be a property now on the `grid` object # and it is not found on the second layer mapnik.render_layer(m,grid,layer=1,fields=['Value']) - utf1 = grid.encode() + grid.encode() if __name__ == "__main__": setup() diff --git a/tests/python_tests/render_test.py b/tests/python_tests/render_test.py index abdb0a518..7ac15b4fa 100644 --- a/tests/python_tests/render_test.py +++ b/tests/python_tests/render_test.py @@ -1,10 +1,9 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,raises import tempfile import os, mapnik -from nose.tools import * from utilities import execution_path, run_all def setup(): diff --git a/tests/python_tests/reprojection_test.py b/tests/python_tests/reprojection_test.py index 48632980e..539053798 100644 --- a/tests/python_tests/reprojection_test.py +++ b/tests/python_tests/reprojection_test.py @@ -2,7 +2,7 @@ import os import mapnik from utilities import execution_path, run_all -from nose.tools import * +from nose.tools import eq_ def setup(): # All of the paths used are relative, if we run the tests diff --git a/tests/python_tests/save_map_test.py b/tests/python_tests/save_map_test.py index 37cb9eb6f..1cf20e442 100644 --- a/tests/python_tests/save_map_test.py +++ b/tests/python_tests/save_map_test.py @@ -1,10 +1,10 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all import tempfile -import os, sys, glob, mapnik +import os, glob, mapnik default_logging_severity = mapnik.logger.get_severity() diff --git a/tests/python_tests/shapefile_test.py b/tests/python_tests/shapefile_test.py index b12a143a4..ca1777b0b 100644 --- a/tests/python_tests/shapefile_test.py +++ b/tests/python_tests/shapefile_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,assert_almost_equal,raises from utilities import execution_path, run_all import os, mapnik @@ -49,7 +49,7 @@ if 'shape' in mapnik.DatasourceCache.plugin_names(): query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) + ds.features(query) def test_dbf_logical_field_is_boolean(): ds = mapnik.Shapefile(file='../data/shp/long_lat') diff --git a/tests/python_tests/sqlite_rtree_test.py b/tests/python_tests/sqlite_rtree_test.py index 792f2680a..175dbb901 100644 --- a/tests/python_tests/sqlite_rtree_test.py +++ b/tests/python_tests/sqlite_rtree_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_ from utilities import execution_path, run_all -from Queue import Queue import threading -import time import os, mapnik import sqlite3 @@ -19,7 +17,7 @@ TOTAL = 245 def create_ds(test_db,table): ds = mapnik.SQLite(file=test_db,table=table) - fs = ds.all_features() + ds.all_features() del ds if 'sqlite' in mapnik.DatasourceCache.plugin_names(): diff --git a/tests/python_tests/sqlite_test.py b/tests/python_tests/sqlite_test.py index 270f350cd..93d9bdba7 100644 --- a/tests/python_tests/sqlite_test.py +++ b/tests/python_tests/sqlite_test.py @@ -1,9 +1,10 @@ #!/usr/bin/env python -from nose.tools import * +from nose.tools import eq_, raises from utilities import execution_path, run_all +import os +import mapnik -import os, mapnik def setup(): # All of the paths used are relative, if we run the tests @@ -304,7 +305,7 @@ if 'sqlite' in mapnik.DatasourceCache.plugin_names(): query.add_property_name(fld) # also add an invalid one, triggering throw query.add_property_name('bogus') - fs = ds.features(query) + ds.features(query) def test_intersects_token1(): ds = mapnik.SQLite(file='../data/sqlite/empty.db', diff --git a/tests/python_tests/style_test.py b/tests/python_tests/style_test.py index 9b06273a3..7bc782a4b 100644 --- a/tests/python_tests/style_test.py +++ b/tests/python_tests/style_test.py @@ -1,9 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import os -from nose.tools import * -from utilities import execution_path, run_all +from nose.tools import eq_ +from utilities import run_all import mapnik def test_style_init(): diff --git a/tests/python_tests/topojson_plugin_test.py b/tests/python_tests/topojson_plugin_test.py index ff1f2ed42..a5f3e573d 100644 --- a/tests/python_tests/topojson_plugin_test.py +++ b/tests/python_tests/topojson_plugin_test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from nose.tools import * +from nose.tools import eq_,assert_almost_equal from utilities import execution_path, run_all import os, mapnik diff --git a/tests/python_tests/utilities.py b/tests/python_tests/utilities.py index c231ed7e2..fe02c7d63 100644 --- a/tests/python_tests/utilities.py +++ b/tests/python_tests/utilities.py @@ -4,7 +4,7 @@ from nose.plugins.errorclass import ErrorClass, ErrorClassPlugin from nose.tools import assert_almost_equal -import os, sys, inspect, traceback +import os, sys, traceback import mapnik HERE = os.path.dirname(__file__) diff --git a/tests/python_tests/webp_encoding_test.py b/tests/python_tests/webp_encoding_test.py index 642f37210..f14bfc490 100644 --- a/tests/python_tests/webp_encoding_test.py +++ b/tests/python_tests/webp_encoding_test.py @@ -1,10 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import sys import os, mapnik -from timeit import Timer, time -from nose.tools import * +from nose.tools import raises,eq_ from utilities import execution_path, run_all def setup(): @@ -60,7 +58,7 @@ if mapnik.has_webp(): im = mapnik.Image(256,256) im.tostring('webp:quality=-1') - generate = False + generate = os.environ.get('UPDATE') def test_expected_encodings(): fails = [] @@ -151,8 +149,7 @@ if mapnik.has_webp(): # this will happen if libweb is old, since it cannot open images created by more recent webp print 'warning, cannot open webp expected image (your libwebp is likely too old)' return - # disabled to avoid failures on ubuntu when using old webp packages - #eq_(t0_len,len(expected_bytes)) + eq_(t0_len,len(expected_bytes)) except RuntimeError, e: print e diff --git a/tests/visual_tests/compare.py b/tests/visual_tests/compare.py index 238625768..aa95d33ae 100644 --- a/tests/visual_tests/compare.py +++ b/tests/visual_tests/compare.py @@ -1,9 +1,6 @@ # -*- coding: utf-8 -*- -import os -import sys import mapnik -import platform try: import json diff --git a/tests/visual_tests/data/kurdish.geojson b/tests/visual_tests/data/kurdish.geojson new file mode 100644 index 000000000..cfe1338bd --- /dev/null +++ b/tests/visual_tests/data/kurdish.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"geometry": {"type": "Polygon", "coordinates": [[[45.99235461770755, 35.16617818635398], [45.99237547481334, 35.165666716102706], [45.9883319556193, 35.16701924991742], [45.98503315932268, 35.16802816771194], [45.98465077664349, 35.16824201497082], [45.984044774393894, 35.168580918688136], [45.982703864274264, 35.16902437556599], [45.982941824198875, 35.16988145146968], [45.98180119214958, 35.1702172614711], [45.98167540989029, 35.171115464425476], [45.98118349000219, 35.17188888811469], [45.98118257351588, 35.17189130120418], [45.98118520294277, 35.17189262520137], [45.98141591839354, 35.172008754469964], [45.9817715310328, 35.17208621350769], [45.98195866241614, 35.172137419232264], [45.982456234288414, 35.17257776515322], [45.98261986736089, 35.17283267173747], [45.98277057407737, 35.17302405638272], [45.9828430371665, 35.1731160783786], [45.98299879846318, 35.173394209566936], [45.983057812786555, 35.17352943153634], [45.9831487132402, 35.173714479900745], [45.9832391909315, 35.173864382594644], [45.98337250743875, 35.174002780114556], [45.98358060951312, 35.1741305255599], [45.983614128418196, 35.17429290527566], [45.984998271926585, 35.17494025771359], [45.985503122177235, 35.17533338838655], [45.98563551268088, 35.1754929891916], [45.9855120048533, 35.17561896784981], [45.98528005787102, 35.17576814496443], [45.985243464015, 35.17588895300947], [45.98523921329984, 35.175987179747615], [45.9854067972843, 35.17641346444306], [45.98546604021096, 35.17638203432208], [45.98566919624024, 35.176204989630754], [45.98588010956655, 35.17609621562221], [45.98614970285299, 35.17606061391415], [45.986241215011326, 35.175980903902754], [45.98643781904411, 35.17572115216145], [45.986716230383735, 35.175497177478626], [45.98684542342492, 35.1754748652814], [45.98714950242998, 35.175232457670376], [45.987415361220286, 35.174851261651696], [45.98763307056997, 35.17453909841], [45.98775755148155, 35.174366871894236], [45.98807690380486, 35.17392502625692], [45.98846346482826, 35.17346934786799], [45.98878718553586, 35.17301721809507], [45.989187907688006, 35.17250979019988], [45.98954772289579, 35.17198447417625], [45.989585422334436, 35.171895118764624], [45.98974187786492, 35.171524287970755], [45.989881809226, 35.171167805980126], [45.99011666870779, 35.17069987563794], [45.99043436059051, 35.1700669033653], [45.99094380841713, 35.169322908439376], [45.990969742353364, 35.16928503338455], [45.9917288510691, 35.16826376024745], [45.99241306812511, 35.16757424989188], [45.99232151994116, 35.16698977062805], [45.99232378055641, 35.16693434427973], [45.99235461770755, 35.16617818635398]]]}, "type": "Feature", "id": 0, "properties": {"SHAPE_Leng": 3482.72819018, "name": "\u0645\u06d5\u0631\u062f\u0627\u0646\u06d5", "OBJECTID": 18, "cod": 304}},{"geometry": {"type": "Polygon", "coordinates": [[[45.98722649037926, 35.183624290617544], [45.987694657098906, 35.18305705675576], [45.98788575418974, 35.183114119382275], [45.988246802424854, 35.182792014516096], [45.98886726351255, 35.182272384087966], [45.99011092666733, 35.181461064564616], [45.990113317285974, 35.18145959423118], [45.989698155982346, 35.180991387216835], [45.989676568168335, 35.180967039962795], [45.98925361550881, 35.180490036088415], [45.989245816636014, 35.1804900997902], [45.988644419931106, 35.179777800934694], [45.98849214631859, 35.17962101142376], [45.987854624445134, 35.17896457692938], [45.986958722900035, 35.178221621157746], [45.986814668681916, 35.17810215662015], [45.98592225090038, 35.17752553482369], [45.985816358488464, 35.17745711316335], [45.985597813207775, 35.17735206705087], [45.98513331321101, 35.177526406450646], [45.98506152654518, 35.17755253020057], [45.98506111324195, 35.17755268053467], [45.983815809900484, 35.178005864496704], [45.983142460616385, 35.178320198354555], [45.98290398141986, 35.178628174253], [45.98241097095343, 35.179504266537506], [45.981445999402155, 35.180736545049434], [45.980665670625335, 35.181612300048], [45.9822171301062, 35.18256811973268], [45.98287836726639, 35.18307021974068], [45.98265949303153, 35.18326450822969], [45.98360245818601, 35.18387019489621], [45.98599593461372, 35.1854075046119], [45.986008957647385, 35.185290260659606], [45.98613648925261, 35.18501077172678], [45.986229324708134, 35.18481461094534], [45.98630473469067, 35.18475146049714], [45.98638248549415, 35.184686350540005], [45.986853335010366, 35.184093858492105], [45.98704359678535, 35.183854437131586], [45.98722649037926, 35.183624290617544]]]}, "type": "Feature", "id": 1, "properties": {"SHAPE_Leng": 2569.64415823, "name": "\u0645\u06d5\u0631\u0632\u06d5\u0628\u06c6\u062a\u06c6", "OBJECTID": 19, "cod": 101}}]} \ No newline at end of file diff --git a/tests/visual_tests/fonts/Noto/NotoNaskhArabic-Regular.ttf b/tests/visual_tests/fonts/Noto/NotoNaskhArabic-Regular.ttf new file mode 100644 index 000000000..6855dd576 Binary files /dev/null and b/tests/visual_tests/fonts/Noto/NotoNaskhArabic-Regular.ttf differ diff --git a/tests/visual_tests/grids/geojson-geometry-collection-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/geojson-geometry-collection-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..d28beb786 --- /dev/null +++ b/tests/visual_tests/grids/geojson-geometry-collection-256-256-1.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "1", + "" + ], + "data": {}, + "grid": [ + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/geojson-geometry-collection-256-256-2.0-grid-reference.json b/tests/visual_tests/grids/geojson-geometry-collection-256-256-2.0-grid-reference.json new file mode 100644 index 000000000..13c093542 --- /dev/null +++ b/tests/visual_tests/grids/geojson-geometry-collection-256-256-2.0-grid-reference.json @@ -0,0 +1,73 @@ +{ + "keys": [ + "1", + "" + ], + "data": {}, + "grid": [ + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!", + "!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!", + "!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/kurdish-text-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/kurdish-text-512-512-1.0-grid-reference.json new file mode 100644 index 000000000..8c1219d73 --- /dev/null +++ b/tests/visual_tests/grids/kurdish-text-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/grids/kurdish-text-512-512-2.0-grid-reference.json b/tests/visual_tests/grids/kurdish-text-512-512-2.0-grid-reference.json new file mode 100644 index 000000000..2414dfd1b --- /dev/null +++ b/tests/visual_tests/grids/kurdish-text-512-512-2.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/grids/kurdish-text-ogr-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/kurdish-text-ogr-512-512-1.0-grid-reference.json new file mode 100644 index 000000000..8c1219d73 --- /dev/null +++ b/tests/visual_tests/grids/kurdish-text-ogr-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/grids/kurdish-text-ogr-512-512-2.0-grid-reference.json b/tests/visual_tests/grids/kurdish-text-ogr-512-512-2.0-grid-reference.json new file mode 100644 index 000000000..2414dfd1b --- /dev/null +++ b/tests/visual_tests/grids/kurdish-text-ogr-512-512-2.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/grids/text-line-wrap-512-512-2.0-grid-reference.json b/tests/visual_tests/grids/text-line-wrap-512-512-2.0-grid-reference.json index 39f99bbe3..fd18c2559 100644 --- a/tests/visual_tests/grids/text-line-wrap-512-512-2.0-grid-reference.json +++ b/tests/visual_tests/grids/text-line-wrap-512-512-2.0-grid-reference.json @@ -1,138 +1,138 @@ { "keys": [ - "", - "2", + "", + "2", "1" - ], - "data": {}, + ], + "data": {}, "grid": [ - " ", - " !! !! ", - " ! !! !! ", - " !!!!!!!!!!!!!! ", - " !!!!!!!!!!!!!! ", - " ! !! !!!!!!!!!!! ", - " !!!! !!!!!!!! ", - " !!!! !!!!!!!! ", - " ", - " ", - " !! !! !! ", - " !!!!!!! !!!!!!! ", - " !!!!!!!!!!!!!!!! ", - " !!!!! !!!!!!!!!!!! ", - " !!!!! !! !!!!!!!!! ", - " !!!!! !!!!!!!!!! ", - " !!!! !!!!!!!!!! ", - " ", - " ! ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ## ## ## ", - " ####### ## ### ", - " ############## ", - " ## ########### ", - " ## ## ######## ", - " ##### ########## ", - " #### ########## ", - " ## ", - " ", - " ## ## ## ", - " ####### ######## ", - " ################ ", - " ## ## ######## ", - " #### ## ######## ", - " ####### ########## ", - " ## ### ", - " ", - " # ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", + " ", + " !! !! ", + " ! !! !! ", + " !!!!!!!!!!!!!! ", + " !!!!!!!!!!!!!! ", + " ! !! !!!!!!!!!!! ", + " !!!! !!!!!!!! ", + " !!!! !!!!!!!! ", + " ", + " ", + " !! !! !! ", + " !!!!!!! !!!!!!! ", + " !!!!!!!!!!!!!!!! ", + " !!!!! !!!!!!!!!!!! ", + " !!!!! !! !!!!!!!!! ", + " !!!!! !!!!!!!!!! ", + " !!!! !!!!!!!!!! ", + " ", + " ! ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ## ## ## ", + " ####### ## ### ", + " ############## ", + " ## ########### ", + " ## ## ######## ", + " ##### ########## ", + " #### ########## ", + " ## ", + " ", + " ## ## ## ", + " ####### ######## ", + " ################ ", + " ## ## ######## ", + " #### ## ######## ", + " ####### ########## ", + " ## ### ", + " ", + " # ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", " " ] -} +} \ No newline at end of file diff --git a/tests/visual_tests/images/building-symbolizer-opacity-512-512-1.0-agg-reference.png b/tests/visual_tests/images/building-symbolizer-opacity-512-512-1.0-agg-reference.png index 092f8f837..38d834ad0 100644 Binary files a/tests/visual_tests/images/building-symbolizer-opacity-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/building-symbolizer-opacity-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/building-symbolizer-opacity-512-512-2.0-agg-reference.png b/tests/visual_tests/images/building-symbolizer-opacity-512-512-2.0-agg-reference.png index 1a2d6c58f..afee6e09c 100644 Binary files a/tests/visual_tests/images/building-symbolizer-opacity-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/building-symbolizer-opacity-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/charspacing-lines-300-300-1.0-agg-reference.png b/tests/visual_tests/images/charspacing-lines-300-300-1.0-agg-reference.png index c9d76d589..5068e9079 100644 Binary files a/tests/visual_tests/images/charspacing-lines-300-300-1.0-agg-reference.png and b/tests/visual_tests/images/charspacing-lines-300-300-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/charspacing-lines-300-300-1.0-cairo-reference.png b/tests/visual_tests/images/charspacing-lines-300-300-1.0-cairo-reference.png index 3d3d8c5d4..229f0bf40 100644 Binary files a/tests/visual_tests/images/charspacing-lines-300-300-1.0-cairo-reference.png and b/tests/visual_tests/images/charspacing-lines-300-300-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/charspacing-lines-300-300-2.0-agg-reference.png b/tests/visual_tests/images/charspacing-lines-300-300-2.0-agg-reference.png index e599ab1d8..8083f0b66 100644 Binary files a/tests/visual_tests/images/charspacing-lines-300-300-2.0-agg-reference.png and b/tests/visual_tests/images/charspacing-lines-300-300-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/charspacing-lines-300-300-2.0-cairo-reference.png b/tests/visual_tests/images/charspacing-lines-300-300-2.0-cairo-reference.png index b166a1c64..64373f432 100644 Binary files a/tests/visual_tests/images/charspacing-lines-300-300-2.0-cairo-reference.png and b/tests/visual_tests/images/charspacing-lines-300-300-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/collision-600-400-1.0-agg-reference.png b/tests/visual_tests/images/collision-600-400-1.0-agg-reference.png index c7a701139..c4793d70e 100644 Binary files a/tests/visual_tests/images/collision-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/collision-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/collision-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/collision-600-400-1.0-cairo-reference.png index dca685b3c..7f4ae4995 100644 Binary files a/tests/visual_tests/images/collision-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/collision-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/collision-600-400-2.0-agg-reference.png b/tests/visual_tests/images/collision-600-400-2.0-agg-reference.png index 642fd3cb7..72fd64809 100644 Binary files a/tests/visual_tests/images/collision-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/collision-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/collision-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/collision-600-400-2.0-cairo-reference.png index 5d8d45cb6..b74dc5e79 100644 Binary files a/tests/visual_tests/images/collision-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/collision-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha1-512-512-1.0-agg-reference.png index 4f2eb273e..27b4496d5 100644 Binary files a/tests/visual_tests/images/colorize-alpha1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha1-512-512-1.0-cairo-reference.png index 34aeeea46..24a8a1876 100644 Binary files a/tests/visual_tests/images/colorize-alpha1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha1-512-512-2.0-agg-reference.png index af5fef69d..7bf897af0 100644 Binary files a/tests/visual_tests/images/colorize-alpha1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha1-512-512-2.0-cairo-reference.png index 283c5f2d6..f4266ef39 100644 Binary files a/tests/visual_tests/images/colorize-alpha1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha2-512-512-1.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha2-512-512-1.0-agg-reference.png index b857b9f22..975fe4907 100644 Binary files a/tests/visual_tests/images/colorize-alpha2-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha2-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha2-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha2-512-512-1.0-cairo-reference.png index 34aeeea46..24a8a1876 100644 Binary files a/tests/visual_tests/images/colorize-alpha2-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha2-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha2-512-512-2.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha2-512-512-2.0-agg-reference.png index 36d524d1b..661f67803 100644 Binary files a/tests/visual_tests/images/colorize-alpha2-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha2-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha2-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha2-512-512-2.0-cairo-reference.png index 283c5f2d6..f4266ef39 100644 Binary files a/tests/visual_tests/images/colorize-alpha2-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha2-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha3-512-512-1.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha3-512-512-1.0-agg-reference.png index ac7b198ec..f39190293 100644 Binary files a/tests/visual_tests/images/colorize-alpha3-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha3-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha3-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha3-512-512-1.0-cairo-reference.png index 34aeeea46..24a8a1876 100644 Binary files a/tests/visual_tests/images/colorize-alpha3-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha3-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha3-512-512-2.0-agg-reference.png b/tests/visual_tests/images/colorize-alpha3-512-512-2.0-agg-reference.png index 9c5f7eee6..30a571da3 100644 Binary files a/tests/visual_tests/images/colorize-alpha3-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/colorize-alpha3-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/colorize-alpha3-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/colorize-alpha3-512-512-2.0-cairo-reference.png index 283c5f2d6..f4266ef39 100644 Binary files a/tests/visual_tests/images/colorize-alpha3-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/colorize-alpha3-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/dots-500-100-1.0-agg-reference.png b/tests/visual_tests/images/dots-500-100-1.0-agg-reference.png index cc8bb8af2..e96ec4310 100644 Binary files a/tests/visual_tests/images/dots-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/dots-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/dots-500-100-2.0-agg-reference.png b/tests/visual_tests/images/dots-500-100-2.0-agg-reference.png index cc8bb8af2..e96ec4310 100644 Binary files a/tests/visual_tests/images/dots-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/dots-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/expressionformat-500-100-1.0-agg-reference.png b/tests/visual_tests/images/expressionformat-500-100-1.0-agg-reference.png index 5c2d0a6c4..0781f3836 100644 Binary files a/tests/visual_tests/images/expressionformat-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/expressionformat-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/expressionformat-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/expressionformat-500-100-1.0-cairo-reference.png index fc7b944e0..3f47f8529 100644 Binary files a/tests/visual_tests/images/expressionformat-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/expressionformat-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/formatting-3-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/formatting-3-500-100-1.0-cairo-reference.png index 51acc69ef..ffabcb0e6 100644 Binary files a/tests/visual_tests/images/formatting-3-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/formatting-3-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/formatting-3-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/formatting-3-500-100-2.0-cairo-reference.png index c7390281d..ae70b9a36 100644 Binary files a/tests/visual_tests/images/formatting-3-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/formatting-3-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/functional-expressions-256-256-1.0-agg-reference.png index 790765ba7..6f83711ad 100644 Binary files a/tests/visual_tests/images/functional-expressions-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/functional-expressions-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/functional-expressions-256-256-1.0-cairo-reference.png index 6ca586570..fca6441a4 100644 Binary files a/tests/visual_tests/images/functional-expressions-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/functional-expressions-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/functional-expressions-256-256-2.0-agg-reference.png index 21759f045..8041c1280 100644 Binary files a/tests/visual_tests/images/functional-expressions-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/functional-expressions-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/functional-expressions-256-256-2.0-cairo-reference.png index fd479ef33..97b599874 100644 Binary files a/tests/visual_tests/images/functional-expressions-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/functional-expressions-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-length-512-512-1.0-agg-reference.png b/tests/visual_tests/images/functional-expressions-length-512-512-1.0-agg-reference.png index 7b9502e42..427b74ce1 100644 Binary files a/tests/visual_tests/images/functional-expressions-length-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/functional-expressions-length-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-length-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/functional-expressions-length-512-512-1.0-cairo-reference.png index d842e001c..731f9ddb3 100644 Binary files a/tests/visual_tests/images/functional-expressions-length-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/functional-expressions-length-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-length-512-512-2.0-agg-reference.png b/tests/visual_tests/images/functional-expressions-length-512-512-2.0-agg-reference.png index e2582192f..9fc93a556 100644 Binary files a/tests/visual_tests/images/functional-expressions-length-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/functional-expressions-length-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/functional-expressions-length-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/functional-expressions-length-512-512-2.0-cairo-reference.png index fe4da8d2e..b24eb4776 100644 Binary files a/tests/visual_tests/images/functional-expressions-length-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/functional-expressions-length-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-agg-reference.png b/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-agg-reference.png index 3fcb40dfc..d6130fd62 100644 Binary files a/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-cairo-reference.png index 3fcb40dfc..d6130fd62 100644 Binary files a/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/gdal-filter-factor-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-agg-reference.png b/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-agg-reference.png index 3fcb40dfc..d6130fd62 100644 Binary files a/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-cairo-reference.png index 3fcb40dfc..d6130fd62 100644 Binary files a/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/gdal-filter-factor-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-agg-reference.png b/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-agg-reference.png new file mode 100644 index 000000000..f53c79907 Binary files /dev/null and b/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-cairo-reference.png new file mode 100644 index 000000000..fe7a53ec6 Binary files /dev/null and b/tests/visual_tests/images/geojson-geometry-collection-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-agg-reference.png b/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-agg-reference.png new file mode 100644 index 000000000..206205586 Binary files /dev/null and b/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-cairo-reference.png new file mode 100644 index 000000000..03d961875 Binary files /dev/null and b/tests/visual_tests/images/geojson-geometry-collection-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-agg-reference.png index f139484e4..820af7496 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-cairo-reference.png index 463cafc1b..23814149e 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-scale-500-500-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-agg-reference.png index 7506ac38c..518cb570e 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-cairo-reference.png index f141e8c8e..83b72c1f7 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-scale-500-500-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png index 8e5d422f1..76eaf0b5e 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png index e00e28371..27c93ac18 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png index 0b6ec2bd7..eee2ab7af 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png index f24e94381..6342816f6 100644 Binary files a/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-scale-patterns-500-500-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-agg-reference.png index 81c7c7c8e..7c7086ed6 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-cairo-reference.png index 5757230f8..d7929db08 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png index 1f0468fc8..12e0a9adb 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-cairo-reference.png index 9b2987660..c2078916b 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png index fa06b37f2..9a68f740a 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png index a42e101d2..03f7e4c97 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png index c584eb6fa..44786428f 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png index a024250f7..9bdd6da17 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png index 7400aa8da..1204e2138 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png index 35ccb86e6..cd17dfe1e 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png index 21b651bf1..de366bb32 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png index 6c3b75383..21bdb3eca 100644 Binary files a/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/geometry-transform-translate-patterns-svg-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png index c3997194c..df24c35d3 100644 Binary files a/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png index 8ff88e305..f35755b7c 100644 Binary files a/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png index 5bd00768a..91711d969 100644 Binary files a/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png index 39adeaeea..2c109d2d2 100644 Binary files a/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-2-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-2-512-512-1.0-cairo-reference.png index 76cd9e90d..0d43c451f 100644 Binary files a/tests/visual_tests/images/group-symbolizer-2-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-2-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-2-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-2-512-512-2.0-cairo-reference.png index 5e6fa9140..56de27930 100644 Binary files a/tests/visual_tests/images/group-symbolizer-2-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-2-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-3-512-256-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-3-512-256-1.0-cairo-reference.png index ce759088b..567d77c04 100644 Binary files a/tests/visual_tests/images/group-symbolizer-3-512-256-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-3-512-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-agg-reference.png index 8ce927052..6d9467406 100644 Binary files a/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-cairo-reference.png index 78f393769..15ce645b3 100644 Binary files a/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-4-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-agg-reference.png index 428386721..ec7c0bb8d 100644 Binary files a/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-cairo-reference.png index d6f257344..c844a95b7 100644 Binary files a/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-4-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-agg-reference.png index 4d3083deb..00df3fef3 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-cairo-reference.png index 1345f8789..07a3f932b 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-line-1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-line-1-512-512-2.0-cairo-reference.png index b8dcf9486..f14e37c24 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-line-1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-agg-reference.png index a0d22b8a0..e5a0b8166 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-cairo-reference.png index 4a94049fc..d284916ef 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-line-2-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-agg-reference.png b/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-agg-reference.png index 85d1f090c..f67cdd7ff 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-cairo-reference.png index e4aaf3341..5e1f4992a 100644 Binary files a/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/group-symbolizer-line-2-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-agg-reference.png b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-agg-reference.png index ca690ff11..55b0559d3 100644 Binary files a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-agg-reference.png and b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-cairo-reference.png b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-cairo-reference.png index 7997b2f21..1a33ced33 100644 Binary files a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-cairo-reference.png and b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-agg-reference.png b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-agg-reference.png index 81d122b50..147e05657 100644 Binary files a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-agg-reference.png and b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-cairo-reference.png b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-cairo-reference.png index 29a6cf430..ba73af49f 100644 Binary files a/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-cairo-reference.png and b/tests/visual_tests/images/halo-comp-op-on-satellite-450-450-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/image-filters-galore-512-512-1.0-agg-reference.png b/tests/visual_tests/images/image-filters-galore-512-512-1.0-agg-reference.png index d72a7beaa..f2df50a8a 100644 Binary files a/tests/visual_tests/images/image-filters-galore-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/image-filters-galore-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-galore-512-512-2.0-agg-reference.png b/tests/visual_tests/images/image-filters-galore-512-512-2.0-agg-reference.png index d72a7beaa..f2df50a8a 100644 Binary files a/tests/visual_tests/images/image-filters-galore-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/image-filters-galore-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png b/tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png index 9e061602b..f482887dd 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png b/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png index eec2679f6..1492c17e8 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-cairo-reference.png index e6ce03020..579c89b84 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png index 29774f193..7c977a10c 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png index 715234ea7..b4aeaaf71 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-cairo-reference.png index e6ce03020..579c89b84 100644 Binary files a/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-512-512-1.0-agg-reference.png b/tests/visual_tests/images/kurdish-text-512-512-1.0-agg-reference.png new file mode 100644 index 000000000..f0e08ec7b Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/kurdish-text-512-512-1.0-cairo-reference.png new file mode 100644 index 000000000..db5bac3b4 Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-512-512-2.0-agg-reference.png b/tests/visual_tests/images/kurdish-text-512-512-2.0-agg-reference.png new file mode 100644 index 000000000..3c48219d3 Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/kurdish-text-512-512-2.0-cairo-reference.png new file mode 100644 index 000000000..d1abf463d Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-agg-reference.png b/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-agg-reference.png new file mode 100644 index 000000000..f0e08ec7b Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-cairo-reference.png new file mode 100644 index 000000000..db5bac3b4 Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-ogr-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-agg-reference.png b/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-agg-reference.png new file mode 100644 index 000000000..3c48219d3 Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-cairo-reference.png new file mode 100644 index 000000000..d1abf463d Binary files /dev/null and b/tests/visual_tests/images/kurdish-text-ogr-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-agg-reference.png b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-agg-reference.png index 0d6a3d38c..1137a3fe1 100644 Binary files a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-cairo-reference.png index ae5d71695..9a2081b05 100644 Binary files a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-agg-reference.png b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-agg-reference.png index 83429fc53..37c727536 100644 Binary files a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-cairo-reference.png index 19c6e087f..48e86f041 100644 Binary files a/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/line-pattern-smooth-and-offset-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-agg-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-agg-reference.png index 6ea65c9db..a91822638 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-cairo-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-cairo-reference.png index 950982521..ab07426ca 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-cairo-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-900-250-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-agg-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-agg-reference.png index 40f1b7f7d..49f01f54b 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-cairo-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-cairo-reference.png index 1e3888fd6..9ff788714 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-cairo-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-900-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-1.0-agg-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-1.0-agg-reference.png index 8a8f5d50d..738f7ce18 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-2.0-agg-reference.png b/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-2.0-agg-reference.png index 8a8f5d50d..738f7ce18 100644 Binary files a/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/line-pattern-symbolizer-opacity-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-agg-reference.png b/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-agg-reference.png index 786645cd0..d076d6582 100644 Binary files a/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-cairo-reference.png index 7ab02a05f..5ef66cae7 100644 Binary files a/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/line-smooth-and-offset-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-agg-reference.png b/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-agg-reference.png index 35a0d4afc..8fd9b3ddd 100644 Binary files a/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-cairo-reference.png index 0afbde7b7..3d139ab1b 100644 Binary files a/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/line-smooth-and-offset-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png index b75e81148..3889e8f54 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png index cd59af5d8..fddacfda6 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png index 0871c46e8..dcd491669 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png index 682c966c7..7400f7687 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-agg-reference.png index ee71f2066..d804115b5 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-cairo-reference.png index b9be12a7a..310add4ac 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png index c49be440c..bac9f66e5 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png index 13149ce4e..018385126 100644 Binary files a/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/line-symbolizer-expressions-all-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-1-200-200-1.0-agg-reference.png index 7a7c3c802..40fb2c6ef 100644 Binary files a/tests/visual_tests/images/lines-1-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-1-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-1-200-200-1.0-cairo-reference.png index 93c255c27..675002fe1 100644 Binary files a/tests/visual_tests/images/lines-1-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-1-200-200-2.0-agg-reference.png index e530c6cab..5b48ee538 100644 Binary files a/tests/visual_tests/images/lines-1-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-1-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-1-200-200-2.0-cairo-reference.png index 81727a68e..c46804b5d 100644 Binary files a/tests/visual_tests/images/lines-1-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-1-400-400-1.0-agg-reference.png index e68990cdb..8bac08273 100644 Binary files a/tests/visual_tests/images/lines-1-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-1-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-1-400-400-1.0-cairo-reference.png index 07b7fc906..31dec4591 100644 Binary files a/tests/visual_tests/images/lines-1-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png index 0605028c3..b6ef2dba6 100644 Binary files a/tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-1-400-400-2.0-cairo-reference.png index ed284c216..b3fa84eda 100644 Binary files a/tests/visual_tests/images/lines-1-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png index 912e65c54..20208397e 100644 Binary files a/tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-1-600-600-1.0-cairo-reference.png index 35afcf1d9..de8fbb265 100644 Binary files a/tests/visual_tests/images/lines-1-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png index 260706bc0..d36c9b845 100644 Binary files a/tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-1-600-600-2.0-cairo-reference.png index 2cee8752a..0d454cf56 100644 Binary files a/tests/visual_tests/images/lines-1-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-1-800-800-1.0-agg-reference.png index 5c2cc6453..51ffc04c9 100644 Binary files a/tests/visual_tests/images/lines-1-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-1-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-1-800-800-1.0-cairo-reference.png index 7388c1335..77ccce9bd 100644 Binary files a/tests/visual_tests/images/lines-1-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-1-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-1-800-800-2.0-agg-reference.png index c0030e55e..bf3daee62 100644 Binary files a/tests/visual_tests/images/lines-1-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-1-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-1-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-1-800-800-2.0-cairo-reference.png index e9da30fb3..1e919d92f 100644 Binary files a/tests/visual_tests/images/lines-1-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-1-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png index 33a15c6aa..a493a3777 100644 Binary files a/tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-2-200-200-1.0-cairo-reference.png index c945b650c..bb670ccde 100644 Binary files a/tests/visual_tests/images/lines-2-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-2-200-200-2.0-agg-reference.png index e530c6cab..5b48ee538 100644 Binary files a/tests/visual_tests/images/lines-2-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-2-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-2-200-200-2.0-cairo-reference.png index 81727a68e..c46804b5d 100644 Binary files a/tests/visual_tests/images/lines-2-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-2-400-400-1.0-agg-reference.png index 6e53a49fe..e7f288dc8 100644 Binary files a/tests/visual_tests/images/lines-2-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-2-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png index 64034f8a9..24ab97117 100644 Binary files a/tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png index 78d6c9619..0b1eb7ebc 100644 Binary files a/tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-2-400-400-2.0-cairo-reference.png index 36d395b0a..82779ac9f 100644 Binary files a/tests/visual_tests/images/lines-2-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-2-600-600-1.0-agg-reference.png index 492c93392..00783e00d 100644 Binary files a/tests/visual_tests/images/lines-2-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-2-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-2-600-600-1.0-cairo-reference.png index 18d7276d2..86a68520b 100644 Binary files a/tests/visual_tests/images/lines-2-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png index 1467f966a..9120a92e1 100644 Binary files a/tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-2-600-600-2.0-cairo-reference.png index b9d8164cd..b5b8b9fd7 100644 Binary files a/tests/visual_tests/images/lines-2-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-2-800-800-1.0-agg-reference.png index 9ceff11a1..374bd8b58 100644 Binary files a/tests/visual_tests/images/lines-2-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-2-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-2-800-800-1.0-cairo-reference.png index f09adfb9f..06cba6461 100644 Binary files a/tests/visual_tests/images/lines-2-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png index 1d78e4bee..6ce2d680d 100644 Binary files a/tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-2-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-2-800-800-2.0-cairo-reference.png index 4e57885ee..8038bcc7b 100644 Binary files a/tests/visual_tests/images/lines-2-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-2-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-3-200-200-1.0-agg-reference.png index 7a7c3c802..40fb2c6ef 100644 Binary files a/tests/visual_tests/images/lines-3-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-3-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-3-200-200-1.0-cairo-reference.png index 93c255c27..675002fe1 100644 Binary files a/tests/visual_tests/images/lines-3-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-3-200-200-2.0-agg-reference.png index e530c6cab..5b48ee538 100644 Binary files a/tests/visual_tests/images/lines-3-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-3-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-3-200-200-2.0-cairo-reference.png index 81727a68e..c46804b5d 100644 Binary files a/tests/visual_tests/images/lines-3-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-3-400-400-1.0-agg-reference.png index b3ba36e79..771f4e511 100644 Binary files a/tests/visual_tests/images/lines-3-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-3-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-3-400-400-1.0-cairo-reference.png index ca4fbf6b0..e2c9d3177 100644 Binary files a/tests/visual_tests/images/lines-3-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png index 0605028c3..b6ef2dba6 100644 Binary files a/tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-3-400-400-2.0-cairo-reference.png index ed284c216..b3fa84eda 100644 Binary files a/tests/visual_tests/images/lines-3-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png index 02a48ada0..4253a6611 100644 Binary files a/tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-3-600-600-1.0-cairo-reference.png index b7b73c7cf..9585bbbcc 100644 Binary files a/tests/visual_tests/images/lines-3-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png index 54ed9f807..be1723eeb 100644 Binary files a/tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-3-600-600-2.0-cairo-reference.png index d2bf0b21c..68e25a28c 100644 Binary files a/tests/visual_tests/images/lines-3-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-3-800-800-1.0-agg-reference.png index 628ca4da1..01568eaa4 100644 Binary files a/tests/visual_tests/images/lines-3-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-3-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-3-800-800-1.0-cairo-reference.png index 47a1783ed..58c0abd05 100644 Binary files a/tests/visual_tests/images/lines-3-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-3-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-3-800-800-2.0-agg-reference.png index 6e81e900d..b436b3a8d 100644 Binary files a/tests/visual_tests/images/lines-3-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-3-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-3-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-3-800-800-2.0-cairo-reference.png index 78b014766..039e1a029 100644 Binary files a/tests/visual_tests/images/lines-3-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-3-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-4-200-200-1.0-agg-reference.png index 6a6d67521..746324777 100644 Binary files a/tests/visual_tests/images/lines-4-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-4-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-4-200-200-1.0-cairo-reference.png index bc2fa8b5f..eda6579b0 100644 Binary files a/tests/visual_tests/images/lines-4-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-4-200-200-2.0-agg-reference.png index ea83730c9..7dcd48893 100644 Binary files a/tests/visual_tests/images/lines-4-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-4-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-4-200-200-2.0-cairo-reference.png index 592ab35f3..c983d4fbe 100644 Binary files a/tests/visual_tests/images/lines-4-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-4-400-400-1.0-agg-reference.png index 8199781fe..35bdf0f4e 100644 Binary files a/tests/visual_tests/images/lines-4-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-4-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-4-400-400-1.0-cairo-reference.png index e636931d4..97e7dff32 100644 Binary files a/tests/visual_tests/images/lines-4-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-4-400-400-2.0-agg-reference.png index ce8f7dea9..64d63cef9 100644 Binary files a/tests/visual_tests/images/lines-4-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-4-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-4-400-400-2.0-cairo-reference.png index e09dc9c49..33433c1d8 100644 Binary files a/tests/visual_tests/images/lines-4-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-4-600-600-1.0-agg-reference.png index c81d0b169..3221710a4 100644 Binary files a/tests/visual_tests/images/lines-4-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-4-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-4-600-600-1.0-cairo-reference.png index 3fd65cb4e..94e994158 100644 Binary files a/tests/visual_tests/images/lines-4-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-4-600-600-2.0-agg-reference.png index 928d5195e..a12cddea2 100644 Binary files a/tests/visual_tests/images/lines-4-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-4-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-4-600-600-2.0-cairo-reference.png index 8d9d75713..28b52655f 100644 Binary files a/tests/visual_tests/images/lines-4-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-4-800-800-1.0-agg-reference.png index 2b5a36e35..98dd66b64 100644 Binary files a/tests/visual_tests/images/lines-4-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-4-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-4-800-800-1.0-cairo-reference.png index 2fb03d1a0..6387b5961 100644 Binary files a/tests/visual_tests/images/lines-4-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-4-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-4-800-800-2.0-agg-reference.png index dc98a92f4..a0f7db6db 100644 Binary files a/tests/visual_tests/images/lines-4-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-4-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-4-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-4-800-800-2.0-cairo-reference.png index 0847a7bfb..dcf9dc107 100644 Binary files a/tests/visual_tests/images/lines-4-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-4-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png index 7cca84281..7c11f46c2 100644 Binary files a/tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-5-200-200-1.0-cairo-reference.png index d84fe4552..07714c5cb 100644 Binary files a/tests/visual_tests/images/lines-5-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png index 39150aed7..e7cd4b645 100644 Binary files a/tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-5-200-200-2.0-cairo-reference.png index 2bb4af7ea..7c27c3f57 100644 Binary files a/tests/visual_tests/images/lines-5-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png index cacff31e7..7b130ff41 100644 Binary files a/tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-5-400-400-1.0-cairo-reference.png index 307a02aeb..b4cbcdd3e 100644 Binary files a/tests/visual_tests/images/lines-5-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png index f1e55a5aa..aa66314dd 100644 Binary files a/tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-5-400-400-2.0-cairo-reference.png index 48e778968..d29e6bbea 100644 Binary files a/tests/visual_tests/images/lines-5-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png index 694b434fe..9b2e1d431 100644 Binary files a/tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-5-600-600-1.0-cairo-reference.png index d02431a18..b664e1fc4 100644 Binary files a/tests/visual_tests/images/lines-5-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png index 3b7d11614..b3d541627 100644 Binary files a/tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-5-600-600-2.0-cairo-reference.png index 2ad89f239..9a9467672 100644 Binary files a/tests/visual_tests/images/lines-5-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png index d9222d5f5..5a5660438 100644 Binary files a/tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-5-800-800-1.0-cairo-reference.png index 72192a5ba..a485040d1 100644 Binary files a/tests/visual_tests/images/lines-5-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png index 03aff5094..4ed73785a 100644 Binary files a/tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-5-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-5-800-800-2.0-cairo-reference.png index ef2b935b6..260832ba7 100644 Binary files a/tests/visual_tests/images/lines-5-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-5-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png index 6d0cdba51..129ca1573 100644 Binary files a/tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-6-200-200-1.0-cairo-reference.png index 6a6d2d824..28fdbe211 100644 Binary files a/tests/visual_tests/images/lines-6-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png index 3a13092bf..9bbc189e6 100644 Binary files a/tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-6-200-200-2.0-cairo-reference.png index dba440db9..c2afe30d0 100644 Binary files a/tests/visual_tests/images/lines-6-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png index c0632199c..acbf93262 100644 Binary files a/tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-6-400-400-1.0-cairo-reference.png index 887ccb70e..4851c0e04 100644 Binary files a/tests/visual_tests/images/lines-6-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png index 3f0b8c782..d197ae230 100644 Binary files a/tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-6-400-400-2.0-cairo-reference.png index b6bd44f35..33f80a8ed 100644 Binary files a/tests/visual_tests/images/lines-6-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png index e422caac9..3a1b412c3 100644 Binary files a/tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-6-600-600-1.0-cairo-reference.png index 385b8eddf..9fc703c64 100644 Binary files a/tests/visual_tests/images/lines-6-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png index de5b4d9a1..b7760dc8d 100644 Binary files a/tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-6-600-600-2.0-cairo-reference.png index 6bf6182fb..b5d89c925 100644 Binary files a/tests/visual_tests/images/lines-6-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png index e54dfa345..8244cebe7 100644 Binary files a/tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-6-800-800-1.0-cairo-reference.png index 995c36c9d..01e2c600b 100644 Binary files a/tests/visual_tests/images/lines-6-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png index f074a023a..eed17abf8 100644 Binary files a/tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-6-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-6-800-800-2.0-cairo-reference.png index 6d9a03729..ea7672443 100644 Binary files a/tests/visual_tests/images/lines-6-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-6-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-7-200-200-1.0-agg-reference.png index f87eccec8..c2a34ada6 100644 Binary files a/tests/visual_tests/images/lines-7-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-7-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-7-200-200-1.0-cairo-reference.png index cbf367e6a..446088fa1 100644 Binary files a/tests/visual_tests/images/lines-7-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-7-200-200-2.0-agg-reference.png index d07c85612..1e3200fe0 100644 Binary files a/tests/visual_tests/images/lines-7-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-7-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-7-200-200-2.0-cairo-reference.png index 24fd98af8..edfc3f61e 100644 Binary files a/tests/visual_tests/images/lines-7-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-7-400-400-1.0-agg-reference.png index b9b9004f6..97f006456 100644 Binary files a/tests/visual_tests/images/lines-7-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-7-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-7-400-400-1.0-cairo-reference.png index 91fa0bfee..a9c152ee9 100644 Binary files a/tests/visual_tests/images/lines-7-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-7-400-400-2.0-agg-reference.png index 705eca616..dfd94ede9 100644 Binary files a/tests/visual_tests/images/lines-7-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-7-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-7-400-400-2.0-cairo-reference.png index 63e53442a..017421349 100644 Binary files a/tests/visual_tests/images/lines-7-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-7-600-600-1.0-agg-reference.png index 8b5a49721..234f8d67b 100644 Binary files a/tests/visual_tests/images/lines-7-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-7-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-7-600-600-1.0-cairo-reference.png index ad2661c65..d51d200c4 100644 Binary files a/tests/visual_tests/images/lines-7-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-7-600-600-2.0-agg-reference.png index fe7f80979..69df036b0 100644 Binary files a/tests/visual_tests/images/lines-7-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-7-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-7-600-600-2.0-cairo-reference.png index 315fc583c..a2f8f2440 100644 Binary files a/tests/visual_tests/images/lines-7-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-7-800-800-1.0-agg-reference.png index f45c3f880..db362a813 100644 Binary files a/tests/visual_tests/images/lines-7-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-7-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-7-800-800-1.0-cairo-reference.png index 262be88d7..0befa8523 100644 Binary files a/tests/visual_tests/images/lines-7-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-7-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-7-800-800-2.0-agg-reference.png index 277e37307..03a7e5939 100644 Binary files a/tests/visual_tests/images/lines-7-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-7-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-7-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-7-800-800-2.0-cairo-reference.png index eb5540441..5585a65a6 100644 Binary files a/tests/visual_tests/images/lines-7-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-7-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-agg-reference.png index 964223949..29397fe87 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-cairo-reference.png index a6c2bf3c4..8b6188536 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-1-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-agg-reference.png index 08580434f..3ff1e3fb2 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-cairo-reference.png index a141becbe..e51f5eedf 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-1-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-agg-reference.png index 0aeee39d8..8ee78a87d 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-cairo-reference.png index e43d5b6a9..29b59e816 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-2-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-2-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-2-800-800-2.0-cairo-reference.png index dad80dc10..e449c912c 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-2-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-2-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-agg-reference.png index dc9ab90e9..0f0aa637b 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-cairo-reference.png index 4a6771d3e..b664fce63 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-shield-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-agg-reference.png index 540104cd7..470e6a03c 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-cairo-reference.png index 5cb78784f..0acebcc89 100644 Binary files a/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-multi-layout-shield-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-200-200-1.0-agg-reference.png b/tests/visual_tests/images/lines-shield-200-200-1.0-agg-reference.png index fe95cbc70..b60e8c322 100644 Binary files a/tests/visual_tests/images/lines-shield-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-200-200-1.0-cairo-reference.png index d71fc1719..0decf91b3 100644 Binary files a/tests/visual_tests/images/lines-shield-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-200-200-2.0-agg-reference.png b/tests/visual_tests/images/lines-shield-200-200-2.0-agg-reference.png index 6eca66b2d..998264903 100644 Binary files a/tests/visual_tests/images/lines-shield-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-200-200-2.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-200-200-2.0-cairo-reference.png index 886e4ae8d..877001bd2 100644 Binary files a/tests/visual_tests/images/lines-shield-200-200-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-200-200-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-400-400-1.0-agg-reference.png b/tests/visual_tests/images/lines-shield-400-400-1.0-agg-reference.png index b26003d5f..17a3680e8 100644 Binary files a/tests/visual_tests/images/lines-shield-400-400-1.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-400-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-400-400-1.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-400-400-1.0-cairo-reference.png index 1eb2cc5c9..485b9740f 100644 Binary files a/tests/visual_tests/images/lines-shield-400-400-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-400-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-400-400-2.0-agg-reference.png b/tests/visual_tests/images/lines-shield-400-400-2.0-agg-reference.png index 4142c845d..4b2a44f6c 100644 Binary files a/tests/visual_tests/images/lines-shield-400-400-2.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-400-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-400-400-2.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-400-400-2.0-cairo-reference.png index 2f42825e0..740ef72c5 100644 Binary files a/tests/visual_tests/images/lines-shield-400-400-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-400-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-600-600-1.0-agg-reference.png b/tests/visual_tests/images/lines-shield-600-600-1.0-agg-reference.png index 53506ad1b..bb4796188 100644 Binary files a/tests/visual_tests/images/lines-shield-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-600-600-1.0-cairo-reference.png index c622bc668..59894ae29 100644 Binary files a/tests/visual_tests/images/lines-shield-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png b/tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png index 69537f865..5c9b8c2fa 100644 Binary files a/tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png index 27c975743..e3ccc4b8a 100644 Binary files a/tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-800-800-1.0-agg-reference.png b/tests/visual_tests/images/lines-shield-800-800-1.0-agg-reference.png index 15d4d95cd..5ec187c2e 100644 Binary files a/tests/visual_tests/images/lines-shield-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-800-800-1.0-cairo-reference.png index 36650f9a5..f1ac85344 100644 Binary files a/tests/visual_tests/images/lines-shield-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-800-800-2.0-agg-reference.png b/tests/visual_tests/images/lines-shield-800-800-2.0-agg-reference.png index 419c08966..a0f0cf406 100644 Binary files a/tests/visual_tests/images/lines-shield-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/lines-shield-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/lines-shield-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/lines-shield-800-800-2.0-cairo-reference.png index 6993f633b..17a9aef5e 100644 Binary files a/tests/visual_tests/images/lines-shield-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/lines-shield-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-100-100-1.0-agg-reference.png b/tests/visual_tests/images/list-100-100-1.0-agg-reference.png index c2f25a4a4..68cf5e08a 100644 Binary files a/tests/visual_tests/images/list-100-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-100-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-100-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-100-100-1.0-cairo-reference.png index 5c6191bda..d0e750074 100644 Binary files a/tests/visual_tests/images/list-100-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-100-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-100-100-2.0-agg-reference.png b/tests/visual_tests/images/list-100-100-2.0-agg-reference.png index 60a0c3847..a1fe25605 100644 Binary files a/tests/visual_tests/images/list-100-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-100-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-100-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-100-100-2.0-cairo-reference.png index b489e7193..862acc1bf 100644 Binary files a/tests/visual_tests/images/list-100-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-100-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-150-100-1.0-agg-reference.png b/tests/visual_tests/images/list-150-100-1.0-agg-reference.png index 7f7b989e9..b0345c64f 100644 Binary files a/tests/visual_tests/images/list-150-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-150-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-150-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-150-100-1.0-cairo-reference.png index 534efc4c4..beab1bd13 100644 Binary files a/tests/visual_tests/images/list-150-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-150-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-150-100-2.0-agg-reference.png b/tests/visual_tests/images/list-150-100-2.0-agg-reference.png index 4099ad4c5..e78c813c9 100644 Binary files a/tests/visual_tests/images/list-150-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-150-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-150-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-150-100-2.0-cairo-reference.png index 8541266e7..0fe8475c3 100644 Binary files a/tests/visual_tests/images/list-150-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-150-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-250-100-1.0-agg-reference.png b/tests/visual_tests/images/list-250-100-1.0-agg-reference.png index 507706a54..cf4b6836b 100644 Binary files a/tests/visual_tests/images/list-250-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-250-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-250-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-250-100-1.0-cairo-reference.png index 6fc518eae..12a05ced7 100644 Binary files a/tests/visual_tests/images/list-250-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-250-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-250-100-2.0-agg-reference.png b/tests/visual_tests/images/list-250-100-2.0-agg-reference.png index 9a0278441..738d0414c 100644 Binary files a/tests/visual_tests/images/list-250-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-250-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-250-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-250-100-2.0-cairo-reference.png index 9705f8158..1705df118 100644 Binary files a/tests/visual_tests/images/list-250-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-250-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-300-100-1.0-agg-reference.png b/tests/visual_tests/images/list-300-100-1.0-agg-reference.png index c4c6688e9..01e8a8ad6 100644 Binary files a/tests/visual_tests/images/list-300-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-300-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-300-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-300-100-1.0-cairo-reference.png index 0ff833d94..b5ece85c9 100644 Binary files a/tests/visual_tests/images/list-300-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-300-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-300-100-2.0-agg-reference.png b/tests/visual_tests/images/list-300-100-2.0-agg-reference.png index 90f4630db..11575c2f8 100644 Binary files a/tests/visual_tests/images/list-300-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-300-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-300-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-300-100-2.0-cairo-reference.png index f2383efaf..4c9618aad 100644 Binary files a/tests/visual_tests/images/list-300-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-300-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-400-100-1.0-agg-reference.png b/tests/visual_tests/images/list-400-100-1.0-agg-reference.png index 9cfad2f22..954810bda 100644 Binary files a/tests/visual_tests/images/list-400-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-400-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-400-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-400-100-1.0-cairo-reference.png index b84271791..083f94e7f 100644 Binary files a/tests/visual_tests/images/list-400-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-400-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-400-100-2.0-agg-reference.png b/tests/visual_tests/images/list-400-100-2.0-agg-reference.png index 0c4336ca0..e89de1fab 100644 Binary files a/tests/visual_tests/images/list-400-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-400-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-400-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-400-100-2.0-cairo-reference.png index 74f63ab18..813fa53fb 100644 Binary files a/tests/visual_tests/images/list-400-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-400-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-600-100-1.0-agg-reference.png b/tests/visual_tests/images/list-600-100-1.0-agg-reference.png index 1dd635725..1b978953d 100644 Binary files a/tests/visual_tests/images/list-600-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-600-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-600-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-600-100-1.0-cairo-reference.png index 9b782e95b..586d921c4 100644 Binary files a/tests/visual_tests/images/list-600-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-600-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-600-100-2.0-agg-reference.png b/tests/visual_tests/images/list-600-100-2.0-agg-reference.png index da0b30199..ee4be98dd 100644 Binary files a/tests/visual_tests/images/list-600-100-2.0-agg-reference.png and b/tests/visual_tests/images/list-600-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-600-100-2.0-cairo-reference.png b/tests/visual_tests/images/list-600-100-2.0-cairo-reference.png index 68dc8e458..9bce8d5d4 100644 Binary files a/tests/visual_tests/images/list-600-100-2.0-cairo-reference.png and b/tests/visual_tests/images/list-600-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/list-800-100-1.0-agg-reference.png b/tests/visual_tests/images/list-800-100-1.0-agg-reference.png index f75cc05a1..67957f403 100644 Binary files a/tests/visual_tests/images/list-800-100-1.0-agg-reference.png and b/tests/visual_tests/images/list-800-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/list-800-100-1.0-cairo-reference.png b/tests/visual_tests/images/list-800-100-1.0-cairo-reference.png index a4292031b..39cd6d79c 100644 Binary files a/tests/visual_tests/images/list-800-100-1.0-cairo-reference.png and b/tests/visual_tests/images/list-800-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-agg-reference.png b/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-agg-reference.png index 15d9748bc..869b08b19 100644 Binary files a/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-cairo-reference.png index 0553c7450..860c14b4e 100644 Binary files a/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/map-background-image-compositing-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-agg-reference.png b/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-agg-reference.png index c48ffb17b..981f3a38c 100644 Binary files a/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-cairo-reference.png index 6be8ee3d5..e94a07f05 100644 Binary files a/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/map-background-image-compositing-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-collide-512-512-1.0-agg-reference.png b/tests/visual_tests/images/marker-collide-512-512-1.0-agg-reference.png index 1b93b4a23..6b901f466 100644 Binary files a/tests/visual_tests/images/marker-collide-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/marker-collide-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-collide-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/marker-collide-512-512-1.0-cairo-reference.png index bef31b744..37ef5a8ca 100644 Binary files a/tests/visual_tests/images/marker-collide-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-collide-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-collide-512-512-2.0-agg-reference.png b/tests/visual_tests/images/marker-collide-512-512-2.0-agg-reference.png index 965c59454..362fab4e6 100644 Binary files a/tests/visual_tests/images/marker-collide-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/marker-collide-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-collide-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/marker-collide-512-512-2.0-cairo-reference.png index 59e8e64d8..446b3992f 100644 Binary files a/tests/visual_tests/images/marker-collide-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-collide-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-interior-position-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-interior-position-600-400-1.0-agg-reference.png index 47aaa38d1..5c1ce2919 100644 Binary files a/tests/visual_tests/images/marker-interior-position-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-interior-position-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-interior-position-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-interior-position-600-400-1.0-cairo-reference.png index 71b3bebc4..c86af3c71 100644 Binary files a/tests/visual_tests/images/marker-interior-position-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-interior-position-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-interior-position-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-interior-position-600-400-2.0-agg-reference.png index e280621ac..0d8d5cd94 100644 Binary files a/tests/visual_tests/images/marker-interior-position-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-interior-position-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-interior-position-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-interior-position-600-400-2.0-cairo-reference.png index 22f8de24a..8b2fc180e 100644 Binary files a/tests/visual_tests/images/marker-interior-position-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-interior-position-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-agg-reference.png index 4c09b645a..2b2ace4f7 100644 Binary files a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-cairo-reference.png index a9904e195..51cec6366 100644 Binary files a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-agg-reference.png index 12dbf26d6..1e6c3edc7 100644 Binary files a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-cairo-reference.png index 47c4c7551..fb5194625 100644 Binary files a/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-line-placement-many-vertices-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-multi-policy-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-multi-policy-600-400-1.0-agg-reference.png index e6dc2727f..05fb847e6 100644 Binary files a/tests/visual_tests/images/marker-multi-policy-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-multi-policy-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-multi-policy-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-multi-policy-600-400-1.0-cairo-reference.png index 9f83b0e1f..cc3a047b3 100644 Binary files a/tests/visual_tests/images/marker-multi-policy-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-multi-policy-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-multi-policy-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-multi-policy-600-400-2.0-agg-reference.png index e45044e7e..74b7b058f 100644 Binary files a/tests/visual_tests/images/marker-multi-policy-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-multi-policy-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-multi-policy-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-multi-policy-600-400-2.0-cairo-reference.png index 007f317fd..b968e6038 100644 Binary files a/tests/visual_tests/images/marker-multi-policy-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-multi-policy-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-agg-reference.png index c96b1cf08..abd711e62 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-cairo-reference.png index 469264aa2..5bba76147 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-257-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-agg-reference.png index 93aa57d54..7589ff54e 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-cairo-reference.png index 2d7fe3945..8c96fdabf 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-257-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-agg-reference.png index a9b5c9cad..18cd5662a 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-cairo-reference.png index dd276c1d0..81cddf093 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-400-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-agg-reference.png index c58cccf2f..23e9a886d 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-cairo-reference.png index 9855a52d2..5e3ce422b 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-400-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-agg-reference.png index 19f6383b1..687c7e7e3 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-cairo-reference.png index 21e0de79d..baee5240f 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-agg-reference.png index 6897880d7..055fb6f84 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-cairo-reference.png index 9ccf84133..c7eefe5dd 100644 Binary files a/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-hex-grid-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-600-400-1.0-agg-reference.png index 6fbe8f526..62749d4b3 100644 Binary files a/tests/visual_tests/images/marker-on-line-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-600-400-1.0-cairo-reference.png index ac653fdc2..8107a34b7 100644 Binary files a/tests/visual_tests/images/marker-on-line-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-600-400-2.0-agg-reference.png index 4c7ceb8db..2def55e04 100644 Binary files a/tests/visual_tests/images/marker-on-line-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-600-400-2.0-cairo-reference.png index 7d29f70f8..1f431c90d 100644 Binary files a/tests/visual_tests/images/marker-on-line-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-agg-reference.png index 8302737f6..83210e8eb 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-cairo-reference.png index 369d2813d..ac06c35f5 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-agg-reference.png index 11e7edc10..8edfd0bbb 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-cairo-reference.png index ea61d4a04..d7da391e9 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-line-placement-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-agg-reference.png index cf1c4e936..9e3f82a4d 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-cairo-reference.png index 1d862a942..b66983134 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-agg-reference.png index f558b77b7..13d4ad314 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-cairo-reference.png index 4af718a64..0faaa7baf 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-first-placement-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-agg-reference.png index f892d137f..153720f90 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-cairo-reference.png index 5f8bd3565..411431dee 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-agg-reference.png index 69045d7a5..7b7d93ebf 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-cairo-reference.png index 3e1c3cffe..d478e13d9 100644 Binary files a/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-and-vertex-last-placement-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-agg-reference.png index e60350382..2f3579636 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png index 9f7f2ca63..98486161f 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-agg-reference.png index 17cad8c0d..88fc51517 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png index 82e032c79..001eed1f0 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-agg-reference.png index 7002220d6..5396dac43 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-cairo-reference.png index cf7f63b67..0a19cabcf 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-agg-reference.png index ab5797cd9..8abddc98a 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-cairo-reference.png index c638c1d31..7a7382581 100644 Binary files a/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-spacing-eq-width-overlap-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-1.0-cairo-reference.png index a60243b11..c3b5c3b75 100644 Binary files a/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-2.0-cairo-reference.png index e6ee27b07..b3de11c19 100644 Binary files a/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-svg-no-box-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-1.0-cairo-reference.png index 4645618b6..3a7351af3 100644 Binary files a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-agg-reference.png index 6e0335885..48af255fa 100644 Binary files a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-cairo-reference.png index 1f85d5d28..afbdd7413 100644 Binary files a/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-on-line-svg-with-box-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-path-expression-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/marker-path-expression-500-100-2.0-cairo-reference.png index 9180f8967..278fbb79e 100644 Binary files a/tests/visual_tests/images/marker-path-expression-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-path-expression-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-agg-reference.png b/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-agg-reference.png index ca602d3b1..bacd035b9 100644 Binary files a/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-agg-reference.png and b/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-cairo-reference.png b/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-cairo-reference.png index 9f36676fd..cea3366ae 100644 Binary files a/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-recenter-collide-256-128-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-agg-reference.png b/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-agg-reference.png index 4c46d08c9..904dc76ec 100644 Binary files a/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-agg-reference.png and b/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-cairo-reference.png b/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-cairo-reference.png index 72d90e7f1..b1e9a7964 100644 Binary files a/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-recenter-collide-256-128-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-agg-reference.png b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-agg-reference.png index 677bf4b8c..2f684d916 100644 Binary files a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-cairo-reference.png index 4346d90d7..5cc30991a 100644 Binary files a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-agg-reference.png b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-agg-reference.png index f39d6b2fa..79d32f44f 100644 Binary files a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-cairo-reference.png index dff14d12d..ba73f1f1b 100644 Binary files a/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-svg-empty-g-element-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-agg-reference.png b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-agg-reference.png index d3172ff1f..242b653a8 100644 Binary files a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-cairo-reference.png index cfea6cd14..72f53047f 100644 Binary files a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-agg-reference.png index 787d863f6..df0b04dad 100644 Binary files a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-cairo-reference.png index a8d00bfe9..601f92ef0 100644 Binary files a/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-symbolizer-expressions-all-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-vs-point-512-512-1.0-agg-reference.png b/tests/visual_tests/images/marker-vs-point-512-512-1.0-agg-reference.png index eeaa6ddf7..35f4b5c52 100644 Binary files a/tests/visual_tests/images/marker-vs-point-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/marker-vs-point-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-vs-point-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/marker-vs-point-512-512-1.0-cairo-reference.png index be9a21e14..ef3e21e70 100644 Binary files a/tests/visual_tests/images/marker-vs-point-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-vs-point-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-vs-point-512-512-2.0-agg-reference.png b/tests/visual_tests/images/marker-vs-point-512-512-2.0-agg-reference.png index 44a90a8f6..4b3a2f95d 100644 Binary files a/tests/visual_tests/images/marker-vs-point-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/marker-vs-point-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-vs-point-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/marker-vs-point-512-512-2.0-cairo-reference.png index 9745f0c56..eb0e817a7 100644 Binary files a/tests/visual_tests/images/marker-vs-point-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-vs-point-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-agg-reference.png b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-agg-reference.png index 302fa447e..dba619a54 100644 Binary files a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-cairo-reference.png index 8193aadc5..374bf069f 100644 Binary files a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-agg-reference.png b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-agg-reference.png index f40d9faab..c60457c18 100644 Binary files a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-cairo-reference.png index b71e924e7..bf163e839 100644 Binary files a/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-whole-multi-polygon-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-257-256-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-257-256-1.0-agg-reference.png index 15cc73992..2f84f5dd0 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-257-256-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-257-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-257-256-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-257-256-1.0-cairo-reference.png index a02752e3c..08836e9e9 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-257-256-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-257-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-257-256-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-257-256-2.0-agg-reference.png index d203e5cc9..cda415be2 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-257-256-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-257-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-257-256-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-257-256-2.0-cairo-reference.png index 2b4a90221..2348274d2 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-257-256-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-257-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-400-600-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-400-600-1.0-agg-reference.png index 99a221385..b40eb4460 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-400-600-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-400-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-400-600-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-400-600-1.0-cairo-reference.png index 10431d233..30456c63e 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-400-600-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-400-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-400-600-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-400-600-2.0-agg-reference.png index 33ea95b53..2391bcae7 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-400-600-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-400-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-400-600-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-400-600-2.0-cairo-reference.png index db9e2a33c..79f229a2a 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-400-600-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-400-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-600-400-1.0-agg-reference.png index 1ebc0701b..4975a7716 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-600-400-1.0-cairo-reference.png index 3eb12e920..2c15bd061 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-600-400-2.0-agg-reference.png index 23c7d6744..b3c260988 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-600-400-2.0-cairo-reference.png index d541d3385..420389f09 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-agg-reference.png index 1880a89fb..05e8df84c 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-cairo-reference.png index a02752e3c..08836e9e9 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-agg-reference.png index 08d99b87d..086511cd7 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-cairo-reference.png index 2b4a90221..2348274d2 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-257-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-agg-reference.png index b616c7d75..e7afffb7f 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-cairo-reference.png index 10431d233..30456c63e 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-agg-reference.png index b158566f8..c729a0e17 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-cairo-reference.png index db9e2a33c..79f229a2a 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-400-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-agg-reference.png index 6ebe7a221..61e7e0b2c 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-cairo-reference.png index 3eb12e920..2c15bd061 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-agg-reference.png index cda6e556e..da676df5e 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-cairo-reference.png index d541d3385..420389f09 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-and-hsla-transform-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-agg-reference.png index 637ce5338..62e95c64a 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-cairo-reference.png index fe9f86448..768f582e5 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-agg-reference.png b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-agg-reference.png index 67b899865..64524a9e8 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-cairo-reference.png index 2a12a5073..141a2671c 100644 Binary files a/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/marker-with-background-image-linear-comp-op-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-agg-reference.png b/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-agg-reference.png index cd8a9885d..fecda368f 100644 Binary files a/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-cairo-reference.png index 8943bfa53..ebb076c2b 100644 Binary files a/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/marker_line_placement_on_points-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-agg-reference.png b/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-agg-reference.png index b47817ceb..d71141b03 100644 Binary files a/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-cairo-reference.png index 4cf7ae33b..1961133d4 100644 Binary files a/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/marker_line_placement_on_points-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png index 1b86d1fc8..eaac22271 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png index 9cbecbecd..0cb383bb7 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png index f26141aed..6cd7c31a5 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png index c0cce9dce..f06181253 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-agg-reference.png index 92ce3f005..6c6fb5b67 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png index 89defea26..ed86b4759 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-agg-reference.png index c7e0cda59..4660546cd 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png index 1a29308f6..8cf801c67 100644 Binary files a/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/point-symbolizer-expressions-all-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png index d6fbf1c60..6bb2b2860 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png index ea09d5dcb..605cde4ee 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-agg-reference.png index bfccc86a0..1c7f891ef 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png index 23419136a..8ddaa551a 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-agg-reference.png index 12f6cceda..929f4c6a9 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png index d92d51273..85e4e917f 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png index 3c2ca54ed..138169585 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-cairo-reference.png index 10464ad1e..cc66e4e81 100644 Binary files a/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/polygon-symbolizer-expressions-all-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-winding-order-300-300-1.0-agg-reference.png b/tests/visual_tests/images/polygon-winding-order-300-300-1.0-agg-reference.png index 6e5bb8e17..5ae31e4c4 100644 Binary files a/tests/visual_tests/images/polygon-winding-order-300-300-1.0-agg-reference.png and b/tests/visual_tests/images/polygon-winding-order-300-300-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-winding-order-300-300-1.0-cairo-reference.png b/tests/visual_tests/images/polygon-winding-order-300-300-1.0-cairo-reference.png index 1d2f1893c..c44a04480 100644 Binary files a/tests/visual_tests/images/polygon-winding-order-300-300-1.0-cairo-reference.png and b/tests/visual_tests/images/polygon-winding-order-300-300-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/polygon-winding-order-300-300-2.0-agg-reference.png b/tests/visual_tests/images/polygon-winding-order-300-300-2.0-agg-reference.png index bf60cb385..c9ad71215 100644 Binary files a/tests/visual_tests/images/polygon-winding-order-300-300-2.0-agg-reference.png and b/tests/visual_tests/images/polygon-winding-order-300-300-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/polygon-winding-order-300-300-2.0-cairo-reference.png b/tests/visual_tests/images/polygon-winding-order-300-300-2.0-cairo-reference.png index 94dffb0a3..a4622a1e5 100644 Binary files a/tests/visual_tests/images/polygon-winding-order-300-300-2.0-cairo-reference.png and b/tests/visual_tests/images/polygon-winding-order-300-300-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/postgis-inline-512-512-1.0-agg-reference.png b/tests/visual_tests/images/postgis-inline-512-512-1.0-agg-reference.png index 9f7157f9d..5f4ad0f38 100644 Binary files a/tests/visual_tests/images/postgis-inline-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/postgis-inline-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/postgis-inline-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/postgis-inline-512-512-1.0-cairo-reference.png index 0671bcd47..a2658d1c5 100644 Binary files a/tests/visual_tests/images/postgis-inline-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/postgis-inline-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/postgis-inline-512-512-2.0-agg-reference.png b/tests/visual_tests/images/postgis-inline-512-512-2.0-agg-reference.png index 5265777cd..bf57f9610 100644 Binary files a/tests/visual_tests/images/postgis-inline-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/postgis-inline-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/postgis-inline-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/postgis-inline-512-512-2.0-cairo-reference.png index 87f651181..92fa3c1bc 100644 Binary files a/tests/visual_tests/images/postgis-inline-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/postgis-inline-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-agg-reference.png index 1a0e0ac35..8a5af3942 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-cairo-reference.png index e727a0fbf..b5a420b82 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-agg-reference.png index 1a0e0ac35..8a5af3942 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-cairo-reference.png index e727a0fbf..b5a420b82 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha2-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha2-512-512-1.0-cairo-reference.png index 2850cd059..055892e15 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha2-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha2-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha2-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha2-512-512-2.0-cairo-reference.png index 2850cd059..055892e15 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha2-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha2-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha3-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha3-512-512-1.0-cairo-reference.png index eccd8242c..1dc7f8ae5 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha3-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha3-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster-color-to-alpha3-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/raster-color-to-alpha3-512-512-2.0-cairo-reference.png index eccd8242c..1dc7f8ae5 100644 Binary files a/tests/visual_tests/images/raster-color-to-alpha3-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/raster-color-to-alpha3-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster_symbolizer-512-512-1.0-agg-reference.png b/tests/visual_tests/images/raster_symbolizer-512-512-1.0-agg-reference.png index a7c34dc22..442400b9e 100644 Binary files a/tests/visual_tests/images/raster_symbolizer-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/raster_symbolizer-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/raster_symbolizer-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/raster_symbolizer-512-512-1.0-cairo-reference.png index a7c34dc22..442400b9e 100644 Binary files a/tests/visual_tests/images/raster_symbolizer-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/raster_symbolizer-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/raster_symbolizer-512-512-2.0-agg-reference.png b/tests/visual_tests/images/raster_symbolizer-512-512-2.0-agg-reference.png index a7c34dc22..442400b9e 100644 Binary files a/tests/visual_tests/images/raster_symbolizer-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/raster_symbolizer-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/raster_symbolizer-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/raster_symbolizer-512-512-2.0-cairo-reference.png index a7c34dc22..442400b9e 100644 Binary files a/tests/visual_tests/images/raster_symbolizer-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/raster_symbolizer-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-1-750-250-1.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-1-750-250-1.0-agg-reference.png index 9e5fbda0b..7e6fbce59 100644 Binary files a/tests/visual_tests/images/repeat-labels-1-750-250-1.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-1-750-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-1-750-250-2.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-1-750-250-2.0-agg-reference.png index 08b873ad3..9ee34cff9 100644 Binary files a/tests/visual_tests/images/repeat-labels-1-750-250-2.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-1-750-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-1-750-250-2.0-cairo-reference.png b/tests/visual_tests/images/repeat-labels-1-750-250-2.0-cairo-reference.png index 80182241d..3634ee8b5 100644 Binary files a/tests/visual_tests/images/repeat-labels-1-750-250-2.0-cairo-reference.png and b/tests/visual_tests/images/repeat-labels-1-750-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-2-750-250-1.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-2-750-250-1.0-agg-reference.png index a9371c29f..e6cb76f45 100644 Binary files a/tests/visual_tests/images/repeat-labels-2-750-250-1.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-2-750-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-2-750-250-2.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-2-750-250-2.0-agg-reference.png index eef52f563..31031ff89 100644 Binary files a/tests/visual_tests/images/repeat-labels-2-750-250-2.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-2-750-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-2-750-250-2.0-cairo-reference.png b/tests/visual_tests/images/repeat-labels-2-750-250-2.0-cairo-reference.png index 0fe149c6a..2db09aeef 100644 Binary files a/tests/visual_tests/images/repeat-labels-2-750-250-2.0-cairo-reference.png and b/tests/visual_tests/images/repeat-labels-2-750-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-3-750-250-1.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-3-750-250-1.0-agg-reference.png index 526b793e4..21265faea 100644 Binary files a/tests/visual_tests/images/repeat-labels-3-750-250-1.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-3-750-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-3-750-250-1.0-cairo-reference.png b/tests/visual_tests/images/repeat-labels-3-750-250-1.0-cairo-reference.png index a454c13d1..abe02a032 100644 Binary files a/tests/visual_tests/images/repeat-labels-3-750-250-1.0-cairo-reference.png and b/tests/visual_tests/images/repeat-labels-3-750-250-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-3-750-250-2.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-3-750-250-2.0-agg-reference.png index b40a7f25c..23bedec7b 100644 Binary files a/tests/visual_tests/images/repeat-labels-3-750-250-2.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-3-750-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-3-750-250-2.0-cairo-reference.png b/tests/visual_tests/images/repeat-labels-3-750-250-2.0-cairo-reference.png index 5a98da961..bbaf30fe7 100644 Binary files a/tests/visual_tests/images/repeat-labels-3-750-250-2.0-cairo-reference.png and b/tests/visual_tests/images/repeat-labels-3-750-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-4-750-250-1.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-4-750-250-1.0-agg-reference.png index 185b73543..4d491fe36 100644 Binary files a/tests/visual_tests/images/repeat-labels-4-750-250-1.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-4-750-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-4-750-250-2.0-agg-reference.png b/tests/visual_tests/images/repeat-labels-4-750-250-2.0-agg-reference.png index 31b540a11..1352e50a9 100644 Binary files a/tests/visual_tests/images/repeat-labels-4-750-250-2.0-agg-reference.png and b/tests/visual_tests/images/repeat-labels-4-750-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/repeat-labels-4-750-250-2.0-cairo-reference.png b/tests/visual_tests/images/repeat-labels-4-750-250-2.0-cairo-reference.png index 9be179a2a..b89f835d9 100644 Binary files a/tests/visual_tests/images/repeat-labels-4-750-250-2.0-cairo-reference.png and b/tests/visual_tests/images/repeat-labels-4-750-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-agg-reference.png b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-agg-reference.png index 7256f46b4..4822333f6 100644 Binary files a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-cairo-reference.png index 79f49c7ba..62c147f99 100644 Binary files a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-agg-reference.png b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-agg-reference.png index b832c0b60..b66af9b36 100644 Binary files a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-cairo-reference.png index e91363335..c4d299c78 100644 Binary files a/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/road-casings-grouped-rendering-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-agg-reference.png b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-agg-reference.png index 3dc0a232f..c0b33befa 100644 Binary files a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-cairo-reference.png index 3bc431d5b..a5c0ea68c 100644 Binary files a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-agg-reference.png b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-agg-reference.png index 313458134..50ac3237a 100644 Binary files a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-cairo-reference.png index 908e7385e..24175a6a9 100644 Binary files a/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/road-casings-non-grouped-rendering-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/rtl-point-200-200-1.0-agg-reference.png b/tests/visual_tests/images/rtl-point-200-200-1.0-agg-reference.png index e70b694ab..9a538eb6d 100644 Binary files a/tests/visual_tests/images/rtl-point-200-200-1.0-agg-reference.png and b/tests/visual_tests/images/rtl-point-200-200-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/rtl-point-200-200-1.0-cairo-reference.png b/tests/visual_tests/images/rtl-point-200-200-1.0-cairo-reference.png index 15483d01e..927e14f7d 100644 Binary files a/tests/visual_tests/images/rtl-point-200-200-1.0-cairo-reference.png and b/tests/visual_tests/images/rtl-point-200-200-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/rtl-point-200-200-2.0-agg-reference.png b/tests/visual_tests/images/rtl-point-200-200-2.0-agg-reference.png index ab06fb3f2..e3f9b2f19 100644 Binary files a/tests/visual_tests/images/rtl-point-200-200-2.0-agg-reference.png and b/tests/visual_tests/images/rtl-point-200-200-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png index 4ffb4c7a2..196850a28 100644 Binary files a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png index d3ea323d9..991566b4b 100644 Binary files a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png index dba86d672..6ff0bf180 100644 Binary files a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png index bab66c392..d3d3b4387 100644 Binary files a/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/shield-on-line-spacing-eq-width-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png b/tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png index e938102a7..501c6d2cb 100644 Binary files a/tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shield-on-polygon-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/shield-on-polygon-600-400-1.0-cairo-reference.png index cc77764f4..4f6721bfb 100644 Binary files a/tests/visual_tests/images/shield-on-polygon-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/shield-on-polygon-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png b/tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png index 8bfc74a39..3fe3f6278 100644 Binary files a/tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shield-on-polygon-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/shield-on-polygon-600-400-2.0-cairo-reference.png index 96075a3d5..cac53afa0 100644 Binary files a/tests/visual_tests/images/shield-on-polygon-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/shield-on-polygon-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-agg-reference.png index 396d1377e..c63e8495a 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-cairo-reference.png index b047ed21c..8540f1cd7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-490-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png index 6ca876a30..3fe4b0784 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-cairo-reference.png index 945d24066..5f0363d78 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-agg-reference.png index 3a95ae315..eb93db1ba 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-cairo-reference.png index ae527fd2d..5ac06962c 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-495-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png index 9e9e1eaa4..a156dbfb5 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png index dd05db8c5..eafecfa7f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-agg-reference.png index 36cb34731..e1ac93e13 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png index ed8a9f26c..d0e1d06e4 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png index 5fae0ce2f..81fb56be9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png index e3627ec9d..814610b95 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-agg-reference.png index 93350eeb2..eb15fb59d 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-cairo-reference.png index 08819ff1a..b01ef6b5b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-498-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png index e8eb1fbbf..4882b14be 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-cairo-reference.png index 2433d55b7..79452098d 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-agg-reference.png index 4ab458d46..b9dc7bf14 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png index 1bf3e3266..fd97178f6 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png index 94b7023ce..5ef96f080 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png index 54070064a..4c6e7db4b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-agg-reference.png index ce717a65a..a4af5d6cf 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-cairo-reference.png index 0fd05f950..f7d43b080 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png index c14823ee2..de5a2a8bb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-cairo-reference.png index 96057d2b7..b7e3124e1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-agg-reference.png index a5a40603c..9bb1f77b6 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-cairo-reference.png index f8e123341..2f40e34e0 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-501-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png index 65ecbe7b4..d9c5c900a 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-cairo-reference.png index b17d91ea0..aaf457fbe 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-agg-reference.png index 929a3fed8..891ee2916 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png index a34b73aee..04e0240c1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png index d68ca3e85..0f7ae8ac9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-cairo-reference.png index 79e392a3c..f25d876ab 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-agg-reference.png index 7841a97f6..7f6b18855 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-cairo-reference.png index 6f6eef193..750c6f5a5 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-505-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png index b25d59624..28bdff665 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png index f088573e4..20f1fb430 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-agg-reference.png index c267bceb3..31240cd5e 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-cairo-reference.png index af491e581..9f1964a39 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-510-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png index 2240e8a9e..2ec21cd30 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-cairo-reference.png index 1aa7fbdba..66b66db0b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-agg-reference.png index 9c322cd0a..04cb194c9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-cairo-reference.png index 31cab03cd..d9d90f3df 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-490-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-agg-reference.png index ae4aea761..b6ef565ff 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-cairo-reference.png index 3ed9e8259..0357ebe4e 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-490-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-agg-reference.png index db91816df..ce25ce484 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-cairo-reference.png index 2e18e9a95..e8222902e 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-495-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-agg-reference.png index 302465b69..089d007a7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-cairo-reference.png index 3f1f27ef9..13837ce54 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-495-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-agg-reference.png index 37e55a120..6a38361cb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-cairo-reference.png index ff57e065c..1432156b4 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-497-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-agg-reference.png index af3ff8a5f..8b1627d8f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-cairo-reference.png index bfd9a9194..18ef859cf 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-497-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-agg-reference.png index 31dd2fb7f..fc1aa23a2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-cairo-reference.png index b335a044d..011a3fcd7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-498-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-agg-reference.png index 04be82791..e5e943611 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-cairo-reference.png index 6b57c53fe..3f85ea20f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-498-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-agg-reference.png index db5946f14..0a940c304 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-cairo-reference.png index 89875ccd1..35ae4cc59 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-499-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-agg-reference.png index 4e9f93ad1..796204cfb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-cairo-reference.png index df0cff0ec..68dbbe803 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-499-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-agg-reference.png index 96072216f..21dcc56a9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-cairo-reference.png index d36e07845..332129218 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-agg-reference.png index a372ead46..b5c0de689 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-cairo-reference.png index d6d1d75d3..61e6294a1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-agg-reference.png index a99250847..adaadfc6b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-cairo-reference.png index 16d43525a..c04014ac7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-501-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-agg-reference.png index dbcc18736..9e8cfe50f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-cairo-reference.png index 7bfe234e4..82d20e051 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-501-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-agg-reference.png index 4c8e27ddb..9776bdec1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-cairo-reference.png index 150aa8741..ed2913e1b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-502-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-agg-reference.png index 57455188e..343a4efb2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-cairo-reference.png index 76209cf0a..2f1e1decf 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-502-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-agg-reference.png index 63a4cd279..db5bbede3 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-cairo-reference.png index ed5dcf947..c6cb2877b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-505-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-agg-reference.png index b4f97aa1d..399a28040 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-cairo-reference.png index c3ec0b910..e61f42b12 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-505-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-agg-reference.png index 78a30e39c..f6bb67da7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-cairo-reference.png index 6a0967cbd..38e26d408 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-510-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-agg-reference.png index dc4da3e38..37fa15bdf 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-cairo-reference.png index aaf55349e..71054f96e 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-2-510-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-agg-reference.png index 9566143ce..67b06ff85 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-cairo-reference.png index ca496b1ab..bbf5ed19f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-490-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png index 2897893bc..2960be8b4 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-cairo-reference.png index bdf60ff10..37e1a33bb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-agg-reference.png index a15dfe403..f551db23c 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-cairo-reference.png index 6ec66fbb7..67425b1b3 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-495-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png index 7977c54a9..8784ba2eb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-cairo-reference.png index 4bcee5986..d5e1dc6e7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-agg-reference.png index 5c41e60d8..ddf5797c2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-cairo-reference.png index 9f0c79411..1f1b317e1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-497-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png index 4f7df8b97..f9512e3c1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-cairo-reference.png index b267d52c2..cf540bbb5 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-agg-reference.png index cfca099b1..48077e574 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-cairo-reference.png index 60f298ee4..c6efc8bae 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-498-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png index 7fb6d689e..156262c48 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-cairo-reference.png index bf92b4806..861af43a7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-agg-reference.png index 63746e858..2c50e3787 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-cairo-reference.png index 27a927779..782d0c4d3 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-499-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png index 5dd3ae143..9b533f1d7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-cairo-reference.png index 46c310eea..d104545ae 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-agg-reference.png index 790f226a7..e5f75aa5d 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-cairo-reference.png index 20a874404..c801fdb06 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png index c48e21b1b..b207454fc 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-cairo-reference.png index 5e305efbd..232c7b983 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-agg-reference.png index d1997da44..0685c3930 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-cairo-reference.png index 9eb3212ca..17db7bc0e 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-501-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png index 65056132e..bb1ca2e7b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-cairo-reference.png index 32c3fcc37..d7db90d91 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-agg-reference.png index 426adea96..396d415e8 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-cairo-reference.png index d34e115b6..7863f4ffb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-502-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png index 15f0bd4fb..04b8c2e28 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-cairo-reference.png index 40b60ef41..a45da3a23 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-agg-reference.png index fe6e0284d..43bdb6d45 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-cairo-reference.png index 5d9dcbf4b..6a6836f42 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-505-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png index ae4e0d172..7ab74e5c7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-cairo-reference.png index d43388ec1..3ba010aae 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-agg-reference.png index 6e10461cf..f8e2438fb 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-cairo-reference.png index df801fad8..2c36f36c6 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-510-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png index 4e38b7c26..1e82301d9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-cairo-reference.png index 4183d00b8..ec8a7b376 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-agg-reference.png index 6cc0b0104..980b19fd3 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-cairo-reference.png index c94477a23..3066c10c9 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-490-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png index 0ef56f7be..30b375d48 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-cairo-reference.png index b08fce6a2..fd4b64002 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-agg-reference.png index 6cd8aa35d..d2b820bc2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-cairo-reference.png index 88fc8dcde..1f85ab75d 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-495-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png index 8b93c3acc..ff1d972d3 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-cairo-reference.png index 45287004d..e08f58531 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-agg-reference.png index e7baf9167..17e7606e5 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-cairo-reference.png index ebcc25d28..fc2753884 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-497-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png index 428561a0f..f8fb4cb8f 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-cairo-reference.png index a68576cb4..cd74c2884 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-agg-reference.png index d2b58e113..19655b7c7 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-cairo-reference.png index a221b9076..9732411b6 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-498-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png index 21d8d0357..d18e52b1b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-cairo-reference.png index 91a89f516..00aa4a4e2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-agg-reference.png index 354977f06..2b76ef7af 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-cairo-reference.png index b9aad1272..4dcda5c43 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-499-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png index ad0900b44..9971e2e2c 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-cairo-reference.png index a9d49e596..383e4dad5 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-agg-reference.png index 3bb6c2e19..a5e96f141 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-cairo-reference.png index a3c4c0106..74f2603bc 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png index 0cd9c0c4e..7d3eecb6c 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-cairo-reference.png index 14b34e883..39f6a7ddc 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-agg-reference.png index a1136e3be..e6cc3b253 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-cairo-reference.png index fe184998e..c09dc5e8b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-501-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png index 706b3e0e4..a8849dd73 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-cairo-reference.png index 6f2d7b694..88573a711 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-agg-reference.png index e2632761a..c02d387e6 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-cairo-reference.png index 049f07721..f0f82bd08 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-502-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png index b42566fe1..d1ba30700 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-cairo-reference.png index b9299b536..f77a2ed22 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-agg-reference.png index 9085ecbf8..a10d7981b 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-cairo-reference.png index 47e5d6ba9..fbc316d91 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-505-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png index ae2c34980..521fd72b0 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-cairo-reference.png index 3359ff73e..815c43628 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-agg-reference.png index 8374ecd8b..ba0312fda 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-cairo-reference.png index 7159e2e5a..097951c65 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-510-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png index de87e5558..8cbe39aa1 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-cairo-reference.png b/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-cairo-reference.png index 0dcb53353..f5418fcf2 100644 Binary files a/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-cairo-reference.png and b/tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-800-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-800-100-2.0-cairo-reference.png index 908a99287..18b58de4e 100644 Binary files a/tests/visual_tests/images/simple-800-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-800-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-E-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-E-500-100-1.0-agg-reference.png index 38e97cac8..a603ac506 100644 Binary files a/tests/visual_tests/images/simple-E-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-E-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-E-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-E-500-100-1.0-cairo-reference.png index 4f987d57c..87b75714d 100644 Binary files a/tests/visual_tests/images/simple-E-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-E-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-E-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-E-500-100-2.0-agg-reference.png index 8de9e0583..3dbbe28e4 100644 Binary files a/tests/visual_tests/images/simple-E-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-E-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-E-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-E-500-100-2.0-cairo-reference.png index c8dc04bd2..72d479f80 100644 Binary files a/tests/visual_tests/images/simple-E-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-E-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-N-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-N-500-100-1.0-agg-reference.png index b9a246d97..4873589aa 100644 Binary files a/tests/visual_tests/images/simple-N-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-N-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-N-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-N-500-100-1.0-cairo-reference.png index c491c2686..835301421 100644 Binary files a/tests/visual_tests/images/simple-N-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-N-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-N-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-N-500-100-2.0-agg-reference.png index bbacdc04a..12fdd9509 100644 Binary files a/tests/visual_tests/images/simple-N-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-N-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-N-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-N-500-100-2.0-cairo-reference.png index ee99dc470..111057388 100644 Binary files a/tests/visual_tests/images/simple-N-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-N-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-NE-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-NE-500-100-1.0-agg-reference.png index 18f8b9412..396b33b99 100644 Binary files a/tests/visual_tests/images/simple-NE-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-NE-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-NE-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-NE-500-100-1.0-cairo-reference.png index f2a5ce742..62586d5a5 100644 Binary files a/tests/visual_tests/images/simple-NE-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-NE-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-NE-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-NE-500-100-2.0-agg-reference.png index 5c5669dcd..433e4d341 100644 Binary files a/tests/visual_tests/images/simple-NE-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-NE-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-NE-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-NE-500-100-2.0-cairo-reference.png index 6a44e274d..9cf8c8f30 100644 Binary files a/tests/visual_tests/images/simple-NE-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-NE-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-NW-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-NW-500-100-1.0-agg-reference.png index b0c3049f5..74694ac04 100644 Binary files a/tests/visual_tests/images/simple-NW-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-NW-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-NW-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-NW-500-100-1.0-cairo-reference.png index ee3dff176..f00df9582 100644 Binary files a/tests/visual_tests/images/simple-NW-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-NW-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-NW-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-NW-500-100-2.0-agg-reference.png index faf42d895..7a01f658a 100644 Binary files a/tests/visual_tests/images/simple-NW-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-NW-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-NW-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-NW-500-100-2.0-cairo-reference.png index aa298d3eb..9e44d12ac 100644 Binary files a/tests/visual_tests/images/simple-NW-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-NW-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-S-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-S-500-100-1.0-agg-reference.png index 8e5c8ab45..197d82286 100644 Binary files a/tests/visual_tests/images/simple-S-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-S-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-S-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-S-500-100-1.0-cairo-reference.png index a38386032..0d7edfd86 100644 Binary files a/tests/visual_tests/images/simple-S-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-S-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-S-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-S-500-100-2.0-agg-reference.png index 882a9a51d..92ad721cc 100644 Binary files a/tests/visual_tests/images/simple-S-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-S-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-S-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-S-500-100-2.0-cairo-reference.png index 136809bb9..c328512d6 100644 Binary files a/tests/visual_tests/images/simple-S-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-S-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-SE-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-SE-500-100-1.0-agg-reference.png index 6b01c14ec..dbbef4b9d 100644 Binary files a/tests/visual_tests/images/simple-SE-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-SE-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-SE-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-SE-500-100-1.0-cairo-reference.png index b4d0941cf..5569a50ec 100644 Binary files a/tests/visual_tests/images/simple-SE-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-SE-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-SE-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-SE-500-100-2.0-agg-reference.png index 9c8e2766f..d0e28aa90 100644 Binary files a/tests/visual_tests/images/simple-SE-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-SE-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-SE-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-SE-500-100-2.0-cairo-reference.png index ff1ae275f..51a203d14 100644 Binary files a/tests/visual_tests/images/simple-SE-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-SE-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-SW-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-SW-500-100-1.0-agg-reference.png index ff59e60f4..b2775823a 100644 Binary files a/tests/visual_tests/images/simple-SW-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-SW-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-SW-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-SW-500-100-1.0-cairo-reference.png index e4d4808cb..1d3a25489 100644 Binary files a/tests/visual_tests/images/simple-SW-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-SW-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-SW-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-SW-500-100-2.0-agg-reference.png index 39a5494c2..eeaca9941 100644 Binary files a/tests/visual_tests/images/simple-SW-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-SW-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-SW-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-SW-500-100-2.0-cairo-reference.png index 13979d240..05f5e418b 100644 Binary files a/tests/visual_tests/images/simple-SW-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-SW-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-W-500-100-1.0-agg-reference.png b/tests/visual_tests/images/simple-W-500-100-1.0-agg-reference.png index 69dd08dc3..af9bf7b8b 100644 Binary files a/tests/visual_tests/images/simple-W-500-100-1.0-agg-reference.png and b/tests/visual_tests/images/simple-W-500-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-W-500-100-1.0-cairo-reference.png b/tests/visual_tests/images/simple-W-500-100-1.0-cairo-reference.png index 24d09a075..31b1a34d5 100644 Binary files a/tests/visual_tests/images/simple-W-500-100-1.0-cairo-reference.png and b/tests/visual_tests/images/simple-W-500-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-W-500-100-2.0-agg-reference.png b/tests/visual_tests/images/simple-W-500-100-2.0-agg-reference.png index 2fbaf5b3c..ed412e59a 100644 Binary files a/tests/visual_tests/images/simple-W-500-100-2.0-agg-reference.png and b/tests/visual_tests/images/simple-W-500-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-W-500-100-2.0-cairo-reference.png b/tests/visual_tests/images/simple-W-500-100-2.0-cairo-reference.png index f8e30106f..a567df210 100644 Binary files a/tests/visual_tests/images/simple-W-500-100-2.0-cairo-reference.png and b/tests/visual_tests/images/simple-W-500-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/simple-shield-600-400-1.0-agg-reference.png b/tests/visual_tests/images/simple-shield-600-400-1.0-agg-reference.png index aedabdf23..9c9e806d6 100644 Binary files a/tests/visual_tests/images/simple-shield-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/simple-shield-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/simple-shield-600-400-2.0-agg-reference.png b/tests/visual_tests/images/simple-shield-600-400-2.0-agg-reference.png index b82e914f2..7db8997b4 100644 Binary files a/tests/visual_tests/images/simple-shield-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/simple-shield-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-agg-reference.png index 035316921..bcc43e823 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-cairo-reference.png index 998b329b5..69a880e63 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-agg-reference.png index 035316921..bcc43e823 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-cairo-reference.png index 998b329b5..69a880e63 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,0-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-agg-reference.png index 760f0d758..c77aa91bd 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-cairo-reference.png index cc2ac3130..7b1f0ac93 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-agg-reference.png index 760f0d758..c77aa91bd 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-cairo-reference.png index cc2ac3130..7b1f0ac93 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-0,1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-agg-reference.png index 43bf38801..2067707cd 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-cairo-reference.png index a0d5ed1d3..d63f03d4f 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-agg-reference.png index 43bf38801..2067707cd 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-cairo-reference.png index a0d5ed1d3..d63f03d4f 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,0-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-agg-reference.png index b5f969206..57571ab65 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-cairo-reference.png index cdf19e861..3c2bad37d 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-agg-reference.png index b5f969206..57571ab65 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-cairo-reference.png index cdf19e861..3c2bad37d 100644 Binary files a/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/style-level-compositing-tiled-1,1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bengali-800-100-1.0-agg-reference.png b/tests/visual_tests/images/text-bengali-800-100-1.0-agg-reference.png index c8f36ea2f..e89f2426a 100644 Binary files a/tests/visual_tests/images/text-bengali-800-100-1.0-agg-reference.png and b/tests/visual_tests/images/text-bengali-800-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-bengali-800-100-1.0-cairo-reference.png b/tests/visual_tests/images/text-bengali-800-100-1.0-cairo-reference.png index 5dff0d209..01645c026 100644 Binary files a/tests/visual_tests/images/text-bengali-800-100-1.0-cairo-reference.png and b/tests/visual_tests/images/text-bengali-800-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bengali-800-100-2.0-cairo-reference.png b/tests/visual_tests/images/text-bengali-800-100-2.0-cairo-reference.png index 569ff919b..678a28bd2 100644 Binary files a/tests/visual_tests/images/text-bengali-800-100-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bengali-800-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1532-600-165-1.0-agg-reference.png b/tests/visual_tests/images/text-bug1532-600-165-1.0-agg-reference.png index c5f392086..6bdaed7ca 100644 Binary files a/tests/visual_tests/images/text-bug1532-600-165-1.0-agg-reference.png and b/tests/visual_tests/images/text-bug1532-600-165-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-bug1532-600-165-1.0-cairo-reference.png b/tests/visual_tests/images/text-bug1532-600-165-1.0-cairo-reference.png index e8563084d..7206b31ad 100644 Binary files a/tests/visual_tests/images/text-bug1532-600-165-1.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1532-600-165-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1532-600-165-2.0-agg-reference.png b/tests/visual_tests/images/text-bug1532-600-165-2.0-agg-reference.png index 724394cb5..fe208d4ba 100644 Binary files a/tests/visual_tests/images/text-bug1532-600-165-2.0-agg-reference.png and b/tests/visual_tests/images/text-bug1532-600-165-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-bug1532-600-165-2.0-cairo-reference.png b/tests/visual_tests/images/text-bug1532-600-165-2.0-cairo-reference.png index 270038a0f..b312d2ace 100644 Binary files a/tests/visual_tests/images/text-bug1532-600-165-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1532-600-165-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1533-600-600-1.0-agg-reference.png b/tests/visual_tests/images/text-bug1533-600-600-1.0-agg-reference.png index c3bee1af7..eadfb6316 100644 Binary files a/tests/visual_tests/images/text-bug1533-600-600-1.0-agg-reference.png and b/tests/visual_tests/images/text-bug1533-600-600-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-bug1533-600-600-1.0-cairo-reference.png b/tests/visual_tests/images/text-bug1533-600-600-1.0-cairo-reference.png index d928b96cf..f356143e2 100644 Binary files a/tests/visual_tests/images/text-bug1533-600-600-1.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1533-600-600-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1533-600-600-2.0-agg-reference.png b/tests/visual_tests/images/text-bug1533-600-600-2.0-agg-reference.png index 96b6908d6..ee5efc280 100644 Binary files a/tests/visual_tests/images/text-bug1533-600-600-2.0-agg-reference.png and b/tests/visual_tests/images/text-bug1533-600-600-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-bug1533-600-600-2.0-cairo-reference.png b/tests/visual_tests/images/text-bug1533-600-600-2.0-cairo-reference.png index 26d9d1809..a737786b7 100644 Binary files a/tests/visual_tests/images/text-bug1533-600-600-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1533-600-600-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1820+0-600-300-2.0-cairo-reference.png b/tests/visual_tests/images/text-bug1820+0-600-300-2.0-cairo-reference.png index 8b9782805..c71c6410a 100644 Binary files a/tests/visual_tests/images/text-bug1820+0-600-300-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1820+0-600-300-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1820+1-600-300-2.0-cairo-reference.png b/tests/visual_tests/images/text-bug1820+1-600-300-2.0-cairo-reference.png index 64ba71cfd..6640fca0f 100644 Binary files a/tests/visual_tests/images/text-bug1820+1-600-300-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1820+1-600-300-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug1820-1-600-300-2.0-cairo-reference.png b/tests/visual_tests/images/text-bug1820-1-600-300-2.0-cairo-reference.png index 833d44629..224363dfd 100644 Binary files a/tests/visual_tests/images/text-bug1820-1-600-300-2.0-cairo-reference.png and b/tests/visual_tests/images/text-bug1820-1-600-300-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-bug2037-800-300-1.0-agg-reference.png b/tests/visual_tests/images/text-bug2037-800-300-1.0-agg-reference.png index 92d892787..3503fa6ea 100644 Binary files a/tests/visual_tests/images/text-bug2037-800-300-1.0-agg-reference.png and b/tests/visual_tests/images/text-bug2037-800-300-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-charplacement-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-charplacement-512-512-1.0-agg-reference.png index e76b172b3..0ebb5254c 100644 Binary files a/tests/visual_tests/images/text-charplacement-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-charplacement-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-charplacement-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-charplacement-512-512-1.0-cairo-reference.png index d3d8bbd10..b940f7b01 100644 Binary files a/tests/visual_tests/images/text-charplacement-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-charplacement-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-charplacement-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-charplacement-512-512-2.0-agg-reference.png index 1865ef546..5c62d1303 100644 Binary files a/tests/visual_tests/images/text-charplacement-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-charplacement-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-charplacement-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-charplacement-512-512-2.0-cairo-reference.png index 30eefc20a..ff270f009 100644 Binary files a/tests/visual_tests/images/text-charplacement-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-charplacement-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-data-binding-500-500-1.0-agg-reference.png b/tests/visual_tests/images/text-data-binding-500-500-1.0-agg-reference.png index 7cd1b6f37..385f1d038 100644 Binary files a/tests/visual_tests/images/text-data-binding-500-500-1.0-agg-reference.png and b/tests/visual_tests/images/text-data-binding-500-500-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-data-binding-500-500-1.0-cairo-reference.png b/tests/visual_tests/images/text-data-binding-500-500-1.0-cairo-reference.png index 6bbda3912..01c14cc34 100644 Binary files a/tests/visual_tests/images/text-data-binding-500-500-1.0-cairo-reference.png and b/tests/visual_tests/images/text-data-binding-500-500-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-data-binding-500-500-2.0-agg-reference.png b/tests/visual_tests/images/text-data-binding-500-500-2.0-agg-reference.png index a3085cd50..6e0f4d3a3 100644 Binary files a/tests/visual_tests/images/text-data-binding-500-500-2.0-agg-reference.png and b/tests/visual_tests/images/text-data-binding-500-500-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-data-binding-500-500-2.0-cairo-reference.png b/tests/visual_tests/images/text-data-binding-500-500-2.0-cairo-reference.png index 631782681..42b780d33 100644 Binary files a/tests/visual_tests/images/text-data-binding-500-500-2.0-cairo-reference.png and b/tests/visual_tests/images/text-data-binding-500-500-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-displacement-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-displacement-512-512-1.0-agg-reference.png index 552cbfa73..0de9cb8b1 100644 Binary files a/tests/visual_tests/images/text-displacement-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-displacement-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-displacement-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-displacement-512-512-1.0-cairo-reference.png index 4eb1c41d2..29ee85a9b 100644 Binary files a/tests/visual_tests/images/text-displacement-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-displacement-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-displacement-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-displacement-512-512-2.0-agg-reference.png index 5a9fdb186..217513708 100644 Binary files a/tests/visual_tests/images/text-displacement-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-displacement-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-displacement-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-displacement-512-512-2.0-cairo-reference.png index d3b238e37..40f3faaf4 100644 Binary files a/tests/visual_tests/images/text-displacement-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-displacement-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-agg-reference.png b/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-agg-reference.png index 633a0e6dd..8ff7a7767 100644 Binary files a/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-agg-reference.png and b/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-cairo-reference.png b/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-cairo-reference.png index 227fcfb92..c490ec3ad 100644 Binary files a/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-cairo-reference.png and b/tests/visual_tests/images/text-expressionformat-color-800-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-agg-reference.png b/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-agg-reference.png index 9b5871f0f..9298e559d 100644 Binary files a/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-agg-reference.png and b/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-cairo-reference.png b/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-cairo-reference.png index 074b30678..58e388832 100644 Binary files a/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-cairo-reference.png and b/tests/visual_tests/images/text-expressionformat-color-800-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-800-800-1.0-agg-reference.png b/tests/visual_tests/images/text-halign-800-800-1.0-agg-reference.png index 2a454e62e..5abeaa344 100644 Binary files a/tests/visual_tests/images/text-halign-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/text-halign-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/text-halign-800-800-1.0-cairo-reference.png index 942dfa17a..6d4831bfa 100644 Binary files a/tests/visual_tests/images/text-halign-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-800-800-2.0-agg-reference.png b/tests/visual_tests/images/text-halign-800-800-2.0-agg-reference.png index 269e10745..552c6f014 100644 Binary files a/tests/visual_tests/images/text-halign-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/text-halign-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/text-halign-800-800-2.0-cairo-reference.png index 8e106dbd1..09e2dff7b 100644 Binary files a/tests/visual_tests/images/text-halign-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-800-800-1.0-agg-reference.png b/tests/visual_tests/images/text-halign-adjust-800-800-1.0-agg-reference.png index 1f1023bd6..f029f88b8 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/text-halign-adjust-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/text-halign-adjust-800-800-1.0-cairo-reference.png index 957c5a414..57ad2d43a 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-adjust-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-800-800-2.0-agg-reference.png b/tests/visual_tests/images/text-halign-adjust-800-800-2.0-agg-reference.png index 7b1da0cd2..e66754790 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/text-halign-adjust-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/text-halign-adjust-800-800-2.0-cairo-reference.png index b3742e5fd..f3275dba1 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-adjust-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-agg-reference.png b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-agg-reference.png index f578bc016..2a8e1d4a9 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-cairo-reference.png index f29c56154..0d6121590 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-agg-reference.png b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-agg-reference.png index 99b527008..6a1d578fb 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-cairo-reference.png index 706ba2c55..27bf6a6bb 100644 Binary files a/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halign-adjust-multiline-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-opacity-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-halo-opacity-512-512-1.0-agg-reference.png index da08a6ac1..b22ea4934 100644 Binary files a/tests/visual_tests/images/text-halo-opacity-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-halo-opacity-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-opacity-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-halo-opacity-512-512-1.0-cairo-reference.png index d1dbac92a..ada46a584 100644 Binary files a/tests/visual_tests/images/text-halo-opacity-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-opacity-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-opacity-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-halo-opacity-512-512-2.0-agg-reference.png index be503a3ab..be3b53dec 100644 Binary files a/tests/visual_tests/images/text-halo-opacity-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-halo-opacity-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-opacity-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-halo-opacity-512-512-2.0-cairo-reference.png index 9f80d3287..f958a83cc 100644 Binary files a/tests/visual_tests/images/text-halo-opacity-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-opacity-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-agg-reference.png b/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-agg-reference.png index 16369d9d3..bc7ae75a0 100644 Binary files a/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-cairo-reference.png index a92e9a9ff..e0456154d 100644 Binary files a/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-rasterizer-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-agg-reference.png b/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-agg-reference.png index b828657bf..16fa5b531 100644 Binary files a/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-cairo-reference.png index 953b7e48b..9858aaaa6 100644 Binary files a/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-rasterizer-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-transform-600-400-1.0-agg-reference.png b/tests/visual_tests/images/text-halo-transform-600-400-1.0-agg-reference.png index 032100bfb..fb0852f6e 100644 Binary files a/tests/visual_tests/images/text-halo-transform-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/text-halo-transform-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-transform-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/text-halo-transform-600-400-1.0-cairo-reference.png index a92e9a9ff..e0456154d 100644 Binary files a/tests/visual_tests/images/text-halo-transform-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-transform-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-halo-transform-600-400-2.0-agg-reference.png b/tests/visual_tests/images/text-halo-transform-600-400-2.0-agg-reference.png index 33aeaff62..c2dc225d2 100644 Binary files a/tests/visual_tests/images/text-halo-transform-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/text-halo-transform-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-halo-transform-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/text-halo-transform-600-400-2.0-cairo-reference.png index 953b7e48b..9858aaaa6 100644 Binary files a/tests/visual_tests/images/text-halo-transform-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/text-halo-transform-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-iconic-font-1000-1000-1.0-cairo-reference.png b/tests/visual_tests/images/text-iconic-font-1000-1000-1.0-cairo-reference.png index d9fb7d6f2..d6d8308ce 100644 Binary files a/tests/visual_tests/images/text-iconic-font-1000-1000-1.0-cairo-reference.png and b/tests/visual_tests/images/text-iconic-font-1000-1000-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-iconic-font-1000-1000-2.0-cairo-reference.png b/tests/visual_tests/images/text-iconic-font-1000-1000-2.0-cairo-reference.png index cd00c7e2b..32e2bb80c 100644 Binary files a/tests/visual_tests/images/text-iconic-font-1000-1000-2.0-cairo-reference.png and b/tests/visual_tests/images/text-iconic-font-1000-1000-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-line-wrap-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-line-wrap-512-512-1.0-agg-reference.png index a52e0994f..4b79aeaa0 100644 Binary files a/tests/visual_tests/images/text-line-wrap-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-line-wrap-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-line-wrap-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-line-wrap-512-512-1.0-cairo-reference.png index 532f828fc..17b7ff39d 100644 Binary files a/tests/visual_tests/images/text-line-wrap-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-line-wrap-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-line-wrap-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-line-wrap-512-512-2.0-agg-reference.png index e8e63bc06..f8147d93e 100644 Binary files a/tests/visual_tests/images/text-line-wrap-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-line-wrap-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-line-wrap-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-line-wrap-512-512-2.0-cairo-reference.png index 8d8608daf..fd03f9a97 100644 Binary files a/tests/visual_tests/images/text-line-wrap-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-line-wrap-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-malayalam-800-100-1.0-agg-reference.png b/tests/visual_tests/images/text-malayalam-800-100-1.0-agg-reference.png index 943a9d511..95e9ad9b8 100644 Binary files a/tests/visual_tests/images/text-malayalam-800-100-1.0-agg-reference.png and b/tests/visual_tests/images/text-malayalam-800-100-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-malayalam-800-100-1.0-cairo-reference.png b/tests/visual_tests/images/text-malayalam-800-100-1.0-cairo-reference.png index e6e2463dd..d5054a059 100644 Binary files a/tests/visual_tests/images/text-malayalam-800-100-1.0-cairo-reference.png and b/tests/visual_tests/images/text-malayalam-800-100-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-malayalam-800-100-2.0-cairo-reference.png b/tests/visual_tests/images/text-malayalam-800-100-2.0-cairo-reference.png index 4f0699f6c..d52c49e6b 100644 Binary files a/tests/visual_tests/images/text-malayalam-800-100-2.0-cairo-reference.png and b/tests/visual_tests/images/text-malayalam-800-100-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-agg-reference.png index fdc336adb..1919fe4e5 100644 Binary files a/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-cairo-reference.png index 84f293af9..890b8ec5d 100644 Binary files a/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-multi-layout-1-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-agg-reference.png index e6fb4f47c..d11b8e111 100644 Binary files a/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-cairo-reference.png index b2b2b9eee..2a2dae068 100644 Binary files a/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-multi-layout-1-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-agg-reference.png index da5387a14..b6fe6e75c 100644 Binary files a/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-cairo-reference.png index ea4b5fbd7..f9c31169a 100644 Binary files a/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-multi-layout-2-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-agg-reference.png index b839f414a..7c1ad5aae 100644 Binary files a/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-cairo-reference.png index 4a418a905..2d2c2a66a 100644 Binary files a/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-multi-layout-2-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-overlap-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-overlap-512-512-1.0-agg-reference.png index 897065a4e..0e08b3912 100644 Binary files a/tests/visual_tests/images/text-overlap-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-overlap-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-overlap-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-overlap-512-512-1.0-cairo-reference.png index dc61ec114..a4859cefe 100644 Binary files a/tests/visual_tests/images/text-overlap-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-overlap-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-overlap-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-overlap-512-512-2.0-agg-reference.png index d13a7d559..9cd91860d 100644 Binary files a/tests/visual_tests/images/text-overlap-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-overlap-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-overlap-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-overlap-512-512-2.0-cairo-reference.png index 4413c2db0..941944cfc 100644 Binary files a/tests/visual_tests/images/text-overlap-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-overlap-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-spacing-512-512-1.0-agg-reference.png b/tests/visual_tests/images/text-spacing-512-512-1.0-agg-reference.png index cf887dc93..fe886ed1e 100644 Binary files a/tests/visual_tests/images/text-spacing-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-spacing-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-spacing-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/text-spacing-512-512-1.0-cairo-reference.png index f128881f8..af682e7bf 100644 Binary files a/tests/visual_tests/images/text-spacing-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-spacing-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-spacing-512-512-2.0-agg-reference.png b/tests/visual_tests/images/text-spacing-512-512-2.0-agg-reference.png index 141505607..1e51dbff3 100644 Binary files a/tests/visual_tests/images/text-spacing-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-spacing-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-spacing-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/text-spacing-512-512-2.0-cairo-reference.png index 25ff4bb55..deb316980 100644 Binary files a/tests/visual_tests/images/text-spacing-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-spacing-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-ttc-font-600-400-1.0-agg-reference.png b/tests/visual_tests/images/text-ttc-font-600-400-1.0-agg-reference.png index fb1e44b0a..a36e04f58 100644 Binary files a/tests/visual_tests/images/text-ttc-font-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/text-ttc-font-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-ttc-font-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/text-ttc-font-600-400-1.0-cairo-reference.png index 9446f53eb..c24309c2c 100644 Binary files a/tests/visual_tests/images/text-ttc-font-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/text-ttc-font-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-ttc-font-600-400-2.0-agg-reference.png b/tests/visual_tests/images/text-ttc-font-600-400-2.0-agg-reference.png index 67b1f51cb..85f9cb441 100644 Binary files a/tests/visual_tests/images/text-ttc-font-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/text-ttc-font-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-ttc-font-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/text-ttc-font-600-400-2.0-cairo-reference.png index ab0b69d7b..c7d0f593e 100644 Binary files a/tests/visual_tests/images/text-ttc-font-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/text-ttc-font-600-400-2.0-cairo-reference.png differ 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 index d945ed00e..491c6eb9e 100644 Binary files a/tests/visual_tests/images/text-typographic-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/text-typographic-512-512-1.0-agg-reference.png differ 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 index 6c255056c..f4de0c6c4 100644 Binary files a/tests/visual_tests/images/text-typographic-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/text-typographic-512-512-1.0-cairo-reference.png differ 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 index 3c7860b00..aca6fd231 100644 Binary files a/tests/visual_tests/images/text-typographic-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/text-typographic-512-512-2.0-agg-reference.png differ 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 index a1d74f63c..5275784f2 100644 Binary files a/tests/visual_tests/images/text-typographic-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/text-typographic-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-agg-reference.png b/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-agg-reference.png index b9303a1c1..bc2d024ae 100644 Binary files a/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-agg-reference.png and b/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-cairo-reference.png b/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-cairo-reference.png index 5a99bf5df..be7bbbce5 100644 Binary files a/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-cairo-reference.png and b/tests/visual_tests/images/text-vertical-alignment-800-800-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-agg-reference.png b/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-agg-reference.png index c8bd47a8c..e8756f84f 100644 Binary files a/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-agg-reference.png and b/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-cairo-reference.png b/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-cairo-reference.png index 070c90131..8722ec33b 100644 Binary files a/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-cairo-reference.png and b/tests/visual_tests/images/text-vertical-alignment-800-800-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-agg-reference.png b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-agg-reference.png index 77bd59f7d..2359d402c 100644 Binary files a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-cairo-reference.png index 77bd59f7d..2359d402c 100644 Binary files a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-agg-reference.png b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-agg-reference.png index 77bd59f7d..2359d402c 100644 Binary files a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-cairo-reference.png index 77bd59f7d..2359d402c 100644 Binary files a/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-alpha-gradient-gdal-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-agg-reference.png index cf37ac7d3..a41d358f2 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-cairo-reference.png index cf37ac7d3..a41d358f2 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-agg-reference.png index cf37ac7d3..a41d358f2 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-cairo-reference.png index cf37ac7d3..a41d358f2 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-255-257-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-agg-reference.png index 181f49f2d..ca88aa1c6 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-cairo-reference.png index 181f49f2d..ca88aa1c6 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-agg-reference.png index 181f49f2d..ca88aa1c6 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-cairo-reference.png index 181f49f2d..ca88aa1c6 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal1-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-agg-reference.png index 562f0071e..aaf37ce1b 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-cairo-reference.png index 562f0071e..aaf37ce1b 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-agg-reference.png index 562f0071e..aaf37ce1b 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-cairo-reference.png index 562f0071e..aaf37ce1b 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-255-257-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-agg-reference.png index dbf4ebecd..22fe4b8ee 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-cairo-reference.png index dbf4ebecd..22fe4b8ee 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-agg-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-agg-reference.png index dbf4ebecd..22fe4b8ee 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-cairo-reference.png index dbf4ebecd..22fe4b8ee 100644 Binary files a/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-edge-alignment-gdal2-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-agg-reference.png index 2d09d345b..1f25c9d26 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-cairo-reference.png index 2d09d345b..1f25c9d26 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-agg-reference.png index 2d09d345b..1f25c9d26 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-cairo-reference.png index 2d09d345b..1f25c9d26 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-gdal-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-agg-reference.png index a7177992b..811d36044 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-cairo-reference.png index 69af86e3f..5eb2c6cf2 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-agg-reference.png index a7177992b..811d36044 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-cairo-reference.png index 69af86e3f..5eb2c6cf2 100644 Binary files a/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-edge-rgba-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png index e17dd9c3f..d30d5a609 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png index e01309a3d..459783826 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png index e17dd9c3f..d30d5a609 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png index e01309a3d..459783826 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png index ef1625a41..2a650f252 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png index 96be15b9e..f46fbc42e 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png index ef1625a41..2a650f252 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png index 96be15b9e..f46fbc42e 100644 Binary files a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png index f33b25a85..2910d7b34 100644 Binary files a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png index f33b25a85..2910d7b34 100644 Binary files a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png index f33b25a85..2910d7b34 100644 Binary files a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png index f33b25a85..2910d7b34 100644 Binary files a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-agg-reference.png index fa01319a8..b2214b3b2 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-cairo-reference.png index fa01319a8..b2214b3b2 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-agg-reference.png index fa01319a8..b2214b3b2 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-cairo-reference.png index fa01319a8..b2214b3b2 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-gdal-256-256-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png index 9b909e027..699b71c07 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-cairo-reference.png index 081e14c8d..64108e381 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png index 9b909e027..699b71c07 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-cairo-reference.png index 081e14c8d..64108e381 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-1.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-1.0-agg-reference.png index 828cdce7c..b23e716ab 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-2.0-agg-reference.png b/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-2.0-agg-reference.png index 828cdce7c..b23e716ab 100644 Binary files a/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-opaque-edge-raster2-969-793-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-agg-reference.png b/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-agg-reference.png index f0945b124..467284ea4 100644 Binary files a/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-agg-reference.png and b/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-cairo-reference.png index 71df304f2..ea9c53e9c 100644 Binary files a/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-cairo-reference.png and b/tests/visual_tests/images/tiff-reprojection-1-250-250-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-agg-reference.png b/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-agg-reference.png index f0945b124..467284ea4 100644 Binary files a/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-agg-reference.png and b/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-cairo-reference.png index 71df304f2..ea9c53e9c 100644 Binary files a/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-cairo-reference.png and b/tests/visual_tests/images/tiff-reprojection-1-250-250-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/whole-centroid-600-400-1.0-agg-reference.png b/tests/visual_tests/images/whole-centroid-600-400-1.0-agg-reference.png index b0745ca03..ac7332948 100644 Binary files a/tests/visual_tests/images/whole-centroid-600-400-1.0-agg-reference.png and b/tests/visual_tests/images/whole-centroid-600-400-1.0-agg-reference.png differ diff --git a/tests/visual_tests/images/whole-centroid-600-400-1.0-cairo-reference.png b/tests/visual_tests/images/whole-centroid-600-400-1.0-cairo-reference.png index 0120f2ef6..63f5d3d16 100644 Binary files a/tests/visual_tests/images/whole-centroid-600-400-1.0-cairo-reference.png and b/tests/visual_tests/images/whole-centroid-600-400-1.0-cairo-reference.png differ diff --git a/tests/visual_tests/images/whole-centroid-600-400-2.0-agg-reference.png b/tests/visual_tests/images/whole-centroid-600-400-2.0-agg-reference.png index 31c36c473..5f6ebd7db 100644 Binary files a/tests/visual_tests/images/whole-centroid-600-400-2.0-agg-reference.png and b/tests/visual_tests/images/whole-centroid-600-400-2.0-agg-reference.png differ diff --git a/tests/visual_tests/images/whole-centroid-600-400-2.0-cairo-reference.png b/tests/visual_tests/images/whole-centroid-600-400-2.0-cairo-reference.png index 3d363a0fa..6ed96a373 100644 Binary files a/tests/visual_tests/images/whole-centroid-600-400-2.0-cairo-reference.png and b/tests/visual_tests/images/whole-centroid-600-400-2.0-cairo-reference.png differ diff --git a/tests/visual_tests/styles/geojson-geometry-collection.xml b/tests/visual_tests/styles/geojson-geometry-collection.xml new file mode 100644 index 000000000..5f4fbcf58 --- /dev/null +++ b/tests/visual_tests/styles/geojson-geometry-collection.xml @@ -0,0 +1,52 @@ + + + 256,256 + + + + + + style + + geojson + +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "GeometryCollection", + "geometries": [ + { + "type": "MultiPoint", + "coordinates": [ [5,0], [0,5], [1,2.5], [4,2.5] ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 0, + 5 + ], + [ + 5, + 0 + ] + ] + } + ] + } + } + ] +} + + + + diff --git a/tests/visual_tests/styles/kurdish-text-ogr.xml b/tests/visual_tests/styles/kurdish-text-ogr.xml new file mode 100644 index 000000000..c5bc92572 --- /dev/null +++ b/tests/visual_tests/styles/kurdish-text-ogr.xml @@ -0,0 +1,21 @@ + + + + 512,512 + + + + + + style + + ../data/kurdish.geojson + ogr + 0 + + + \ No newline at end of file diff --git a/tests/visual_tests/styles/kurdish-text.xml b/tests/visual_tests/styles/kurdish-text.xml new file mode 100644 index 000000000..dea9029e5 --- /dev/null +++ b/tests/visual_tests/styles/kurdish-text.xml @@ -0,0 +1,20 @@ + + + + 512,512 + + + + + + style + + ../data/kurdish.geojson + geojson + + + \ No newline at end of file diff --git a/tests/visual_tests/test_python.py b/tests/visual_tests/test_python.py index 301017bc1..4fd7c2cbe 100755 --- a/tests/visual_tests/test_python.py +++ b/tests/visual_tests/test_python.py @@ -1,6 +1,5 @@ #!/usr/bin/env python import mapnik -import sys import os.path from compare import compare @@ -106,4 +105,3 @@ for format_tree in format_trees: diff = compare(actual,expected) if diff > 0: print 'comparision failed between:\n %s (actual)\n %s (expected)' % (actual,expected) - diff --git a/utils/stats/mapdef_stats.py b/utils/stats/mapdef_stats.py index df4fc189a..29c79f17a 100755 --- a/utils/stats/mapdef_stats.py +++ b/utils/stats/mapdef_stats.py @@ -22,7 +22,7 @@ if __name__ == "__main__": for r in style.rules: print " Filter: %s" % r.filter num_sym += len(r.symbols) - + print "Total number of layers %s" % len(m.layers) print "Total number of styles %s" % len(set(styles)) # unique styles print "Total number of rules %s" % num_rules diff --git a/utils/upgrade_map_xml/upgrade_map_xml.py b/utils/upgrade_map_xml/upgrade_map_xml.py index f69131ba7..45561a7d3 100755 --- a/utils/upgrade_map_xml/upgrade_map_xml.py +++ b/utils/upgrade_map_xml/upgrade_map_xml.py @@ -40,7 +40,7 @@ def indent(elem, level=0): else: if level and (not elem.tail or not elem.tail.strip()): elem.tail = i - + def name2expr(sym): if 'name' not in sym.attrib: return name = sym.attrib['name'] @@ -71,12 +71,12 @@ def handle_attr_changes(sym): sym.attrib.pop('text_convert') if sym.attrib.get('text_transform'): sym.attrib.pop('text_transform') - + # https://github.com/mapnik/mapnik/issues/807 justify_alignment = sym.attrib.get('justify_alignment',sym.attrib.get('justify-alignment')) if justify_alignment and justify_alignment == "middle": sym.attrib['justify-alignment'] = 'center' - + minimum_distance = sym.attrib.get('min_distance') if minimum_distance: sym.attrib['minimum-distance'] = minimum_distance @@ -122,7 +122,7 @@ def upgrade(input_xml,output_xml=None,indent_xml=True): if not os.path.exists(input_xml): sys.stderr.write('input xml "%s" does not exist' % input_xml) sys.exit(1) - + pre_read = open(input_xml,'r') if '!ENTITY' in pre_read.read() and not HAS_LXML: sys.stderr.write('\nSorry, it appears the xml you are trying to upgrade has entities, which requires lxml (python bindings to libxml2)\n') @@ -135,7 +135,7 @@ def upgrade(input_xml,output_xml=None,indent_xml=True): except: print 'Could not parse "%s" invalid XML' % input_xml return - + if hasattr(tree,'xinclude'): tree.xinclude() root = tree.getroot() @@ -144,12 +144,12 @@ def upgrade(input_xml,output_xml=None,indent_xml=True): if root.attrib.get('bgcolor'): root.attrib['background-color'] = root.attrib.get('bgcolor') root.attrib.pop('bgcolor') - + # underscores to spaces for underscore2dash(root) - + root.set('minimum-version', '0.7.2') - + # underscores to spaces for fontset = root.findall('FontSet') or root.findall('*/FontSet') for f in fontset: @@ -161,8 +161,8 @@ def upgrade(input_xml,output_xml=None,indent_xml=True): layers = root.findall('Layer') or root.findall('*/Layer') for l in layers: underscore2dash(l) - - + + styles = root.findall('Style') or root.findall('*/Style') if not len(styles): sys.stderr.write('### Warning, no styles encountered and nothing able to be upgraded!\n') @@ -210,7 +210,7 @@ def upgrade(input_xml,output_xml=None,indent_xml=True): if indent_xml: indent(root) - + if output_xml: tree.write(output_xml) else: @@ -248,20 +248,20 @@ if __name__ == "__main__": (options, args) = parser.parse_args() if not len(args) > 0: parser.error("Please provide the path to a map.xml and a new xml to write") - + input_xml = args[0] output_xml = None if len(args) < 3 and not options.update_in_place: if len(args) == 2: output_xml = args[1] - + if (len(args) == 1) or (input_xml == output_xml): parser.error(color_text(1,'\n\nAre you sure you want to overwrite "%s"?\nIf so, then pass --in-place to confirm.\nOtherwise pass a different filename to write an upgraded copy to.\n' % input_xml)) print 'Upgrading "%s" to "%s"...' % (input_xml,output_xml) upgrade(input_xml,output_xml=output_xml,indent_xml=options.indent_xml) - + elif len(args) == 1: print 'Upgrading "%s"...' % (input_xml) upgrade(input_xml,output_xml=output_xml,indent_xml=options.indent_xml) diff --git a/utils/upgrade_map_xml/upgrade_map_xml_keep_ent.py b/utils/upgrade_map_xml/upgrade_map_xml_keep_ent.py index 31885c034..74330de9c 100755 --- a/utils/upgrade_map_xml/upgrade_map_xml_keep_ent.py +++ b/utils/upgrade_map_xml/upgrade_map_xml_keep_ent.py @@ -41,7 +41,7 @@ def name2expr(sym): name = '[%s]' % name sym.attrib.pop('name') sym._setText(name) - + def fixup_pointsym(sym): if sym.attrib.get('width'): sym.attrib.pop('width') @@ -61,10 +61,10 @@ def fixup_sym_attributes(sym): sym.clear() # remove CssParameter elements for k,v in attrib.items(): # insert attributes instead sym.attrib[k] = v - - + + if __name__ == "__main__": - + # Required parameters: # map_xml_file: outdated stylesheet file # output_file: new stylesheet file @@ -74,7 +74,7 @@ if __name__ == "__main__": print >> sys.stderr,'Usage: %s ' % sys.argv[0] sys.exit(1) xml = sys.argv[1] - + if sys.argv[3] is not None: includes_folder = sys.argv[3] @@ -97,7 +97,7 @@ if __name__ == "__main__": # This dummy tree expands the entities that I found and puts them # in a dictionary (entity) => resolved_entity # NOTE: `findall' makes the script very slow - + # First get the entities declared in the header temp_xml = ''.join([good_doctype, dummy_map % '']) expanded_tree = objectify.parse(StringIO.StringIO(temp_xml)) @@ -135,7 +135,7 @@ if __name__ == "__main__": # Tree to be updated to be mapnik compliant tree = objectify.parse(StringIO.StringIO(fixed_xml_string), parser=parser) root = tree.getroot() - + for layer in layer_entities: file = open("%s/%s" % (includes_folder, doctype_entities[layer])) layer_xml_string = file.read() @@ -177,7 +177,7 @@ if __name__ == "__main__": if hasattr(rule,'BuildingSymbolizer') : for sym in rule.BuildingSymbolizer: fixup_sym_attributes(sym) - + updated_xml = etree.tostring(tree, pretty_print=True, xml_declaration=True, @@ -186,9 +186,9 @@ if __name__ == "__main__": # Insert the original doctype declaration fixed_updated_xml = re.sub(r'(?ims)^.*DOCTYPE.*\[.*\]\>', good_doctype, updated_xml) - + output_file = open(sys.argv[2], 'w') output_file.write(fixed_updated_xml) output_file.close() - + # print fixed_updated_xml