From 98f0bcbd36621c76fe8e7e4a5e62b884ce7fbf10 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Thu, 6 May 2021 15:15:19 +1000 Subject: [PATCH] Add fill/brush symbol support to embedded symbol renderer --- src/core/qgsogrutils.cpp | 160 +++++++++- .../symbology/qgsmapinfosymbolconverter.cpp | 292 ++++++++++++++++++ .../symbology/qgsmapinfosymbolconverter.h | 9 + tests/src/core/testqgsogrutils.cpp | 48 ++- .../python/test_qgsembeddedsymbolrenderer.py | 20 ++ .../expected_embedded_mapinfo_fills.png | Bin 0 -> 119276 bytes tests/testdata/mapinfo/fill_styles.DAT | Bin 0 -> 605 bytes tests/testdata/mapinfo/fill_styles.ID | Bin 0 -> 196 bytes tests/testdata/mapinfo/fill_styles.MAP | Bin 0 -> 4608 bytes tests/testdata/mapinfo/fill_styles.TAB | 8 + 10 files changed, 530 insertions(+), 7 deletions(-) create mode 100644 tests/testdata/control_images/embedded/expected_embedded_mapinfo_fills/expected_embedded_mapinfo_fills.png create mode 100644 tests/testdata/mapinfo/fill_styles.DAT create mode 100644 tests/testdata/mapinfo/fill_styles.ID create mode 100644 tests/testdata/mapinfo/fill_styles.MAP create mode 100644 tests/testdata/mapinfo/fill_styles.TAB diff --git a/src/core/qgsogrutils.cpp b/src/core/qgsogrutils.cpp index a751de54da8..8c6800457b4 100644 --- a/src/core/qgsogrutils.cpp +++ b/src/core/qgsogrutils.cpp @@ -26,6 +26,8 @@ #include "qgspolygon.h" #include "qgsmultipolygon.h" #include "qgsmapinfosymbolconverter.h" +#include "qgsfillsymbollayer.h" +#include "qgssymbollayerutils.h" #include #include @@ -1234,6 +1236,9 @@ std::unique_ptr QgsOgrUtils::symbolFromStyleString( const QString &st auto convertColor = []( const QString & string ) -> QColor { + if ( string.isEmpty() ) + return QColor(); + const thread_local QRegularExpression sColorWithAlphaRx = QRegularExpression( QStringLiteral( "^#([0-9a-fA-F]{6})([0-9a-fA-F]{2})$" ) ); const QRegularExpressionMatch match = sColorWithAlphaRx.match( string ); if ( match.hasMatch() ) @@ -1247,10 +1252,8 @@ std::unique_ptr QgsOgrUtils::symbolFromStyleString( const QString &st } }; - if ( type == QgsSymbol::Line && styles.contains( QStringLiteral( "pen" ) ) ) + auto convertPen = [&convertColor, &convertSize, string]( const QVariantMap & lineStyle ) -> std::unique_ptr< QgsSymbol > { - // line symbol type - const QVariantMap lineStyle = styles.value( QStringLiteral( "pen" ) ).toMap(); QColor color = convertColor( lineStyle.value( QStringLiteral( "c" ), QStringLiteral( "#000000" ) ).toString() ); double lineWidth = DEFAULT_SIMPLELINE_WIDTH; @@ -1347,6 +1350,157 @@ std::unique_ptr QgsOgrUtils::symbolFromStyleString( const QString &st simpleLine->setRenderingPass( priority.toInt() ); } return std::make_unique< QgsLineSymbol >( QgsSymbolLayerList() << simpleLine.release() ); + }; + + auto convertBrush = [&convertColor]( const QVariantMap & brushStyle ) -> std::unique_ptr< QgsSymbol > + { + const QColor foreColor = convertColor( brushStyle.value( QStringLiteral( "fc" ), QStringLiteral( "#000000" ) ).toString() ); + const QColor backColor = convertColor( brushStyle.value( QStringLiteral( "bc" ), QString() ).toString() ); + + const QString id = brushStyle.value( QStringLiteral( "id" ) ).toString(); + + // if the pen is a mapinfo brush, use dedicated converter for more accurate results + const thread_local QRegularExpression sMapInfoId = QRegularExpression( QStringLiteral( "mapinfo-brush-(\\d+)" ) ); + const QRegularExpressionMatch match = sMapInfoId.match( id ); + if ( match.hasMatch() ) + { + const int brushId = match.captured( 1 ).toInt(); + QgsMapInfoSymbolConversionContext context; + std::unique_ptr res( QgsMapInfoSymbolConverter::convertFillSymbol( brushId, context, foreColor, backColor ) ); + if ( res ) + return res; + } + + const thread_local QRegularExpression sOgrId = QRegularExpression( QStringLiteral( "ogr-brush-(\\d+)" ) ); + const QRegularExpressionMatch ogrMatch = sOgrId.match( id ); + + Qt::BrushStyle style = Qt::SolidPattern; + if ( ogrMatch.hasMatch() ) + { + const int brushId = ogrMatch.captured( 1 ).toInt(); + switch ( brushId ) + { + case 0: + style = Qt::SolidPattern; + break; + + case 1: + style = Qt::NoBrush; + break; + + case 2: + style = Qt::HorPattern; + break; + + case 3: + style = Qt::VerPattern; + break; + + case 4: + style = Qt::FDiagPattern; + break; + + case 5: + style = Qt::BDiagPattern; + break; + + case 6: + style = Qt::CrossPattern; + break; + + case 7: + style = Qt::DiagCrossPattern; + break; + } + } + + QgsSymbolLayerList layers; + if ( backColor.isValid() && style != Qt::SolidPattern && style != Qt::NoBrush ) + { + std::unique_ptr< QgsSimpleFillSymbolLayer > backgroundFill = std::make_unique< QgsSimpleFillSymbolLayer >( backColor ); + backgroundFill->setLocked( true ); + backgroundFill->setStrokeStyle( Qt::NoPen ); + layers << backgroundFill.release(); + } + + std::unique_ptr< QgsSimpleFillSymbolLayer > foregroundFill = std::make_unique< QgsSimpleFillSymbolLayer >( foreColor ); + foregroundFill->setBrushStyle( style ); + foregroundFill->setStrokeStyle( Qt::NoPen ); + + const QString priority = brushStyle.value( QStringLiteral( "l" ) ).toString(); + if ( !priority.isEmpty() ) + { + foregroundFill->setRenderingPass( priority.toInt() ); + } + layers << foregroundFill.release(); + return std::make_unique< QgsFillSymbol >( layers ); + }; + + switch ( type ) + { + case QgsSymbol::Marker: + break; + + case QgsSymbol::Line: + if ( styles.contains( QStringLiteral( "pen" ) ) ) + { + // line symbol type + const QVariantMap lineStyle = styles.value( QStringLiteral( "pen" ) ).toMap(); + return convertPen( lineStyle ); + } + else + { + return nullptr; + } + + case QgsSymbol::Fill: + { + std::unique_ptr< QgsSymbol > fillSymbol = std::make_unique< QgsFillSymbol >(); + if ( styles.contains( QStringLiteral( "brush" ) ) ) + { + const QVariantMap brushStyle = styles.value( QStringLiteral( "brush" ) ).toMap(); + fillSymbol = convertBrush( brushStyle ); + } + else + { + std::unique_ptr< QgsSimpleFillSymbolLayer > emptyFill = std::make_unique< QgsSimpleFillSymbolLayer >(); + emptyFill->setBrushStyle( Qt::NoBrush ); + fillSymbol = std::make_unique< QgsFillSymbol >( QgsSymbolLayerList() << emptyFill.release() ); + } + + std::unique_ptr< QgsSymbol > penSymbol; + if ( styles.contains( QStringLiteral( "pen" ) ) ) + { + const QVariantMap lineStyle = styles.value( QStringLiteral( "pen" ) ).toMap(); + penSymbol = convertPen( lineStyle ); + } + + if ( penSymbol ) + { + const int count = penSymbol->symbolLayerCount(); + + if ( count == 1 ) + { + // if only one pen symbol layer, let's try and combine it with the topmost brush layer, so that the resultant QGIS symbol is simpler + if ( QgsSymbolLayerUtils::condenseFillAndOutline( dynamic_cast< QgsFillSymbolLayer * >( fillSymbol->symbolLayer( fillSymbol->symbolLayerCount() - 1 ) ), + dynamic_cast< QgsLineSymbolLayer * >( penSymbol->symbolLayer( 0 ) ) ) ) + return fillSymbol; + } + + for ( int i = 0; i < count; ++i ) + { + std::unique_ptr< QgsSymbolLayer > layer( penSymbol->takeSymbolLayer( 0 ) ); + layer->setLocked( true ); + fillSymbol->appendSymbolLayer( layer.release() ); + } + } + + return fillSymbol; + } + + case QgsSymbol::Hybrid: + break; } + return nullptr; } diff --git a/src/core/symbology/qgsmapinfosymbolconverter.cpp b/src/core/symbology/qgsmapinfosymbolconverter.cpp index a97f4933a25..4e7b2736956 100644 --- a/src/core/symbology/qgsmapinfosymbolconverter.cpp +++ b/src/core/symbology/qgsmapinfosymbolconverter.cpp @@ -17,6 +17,7 @@ #include "qgslogger.h" #include "qgslinesymbollayer.h" #include "qgsmarkersymbollayer.h" +#include "qgsfillsymbollayer.h" // // QgsMapInfoSymbolConversionContext @@ -1094,3 +1095,294 @@ QgsLineSymbol *QgsMapInfoSymbolConverter::convertLineSymbol( int identifier, Qgs return symbol.release(); } + +QgsFillSymbol *QgsMapInfoSymbolConverter::convertFillSymbol( int identifier, QgsMapInfoSymbolConversionContext &context, const QColor &foreColor, const QColor &backColor ) +{ + Qt::BrushStyle style = Qt::SolidPattern; + + bool useLineFill = false; + bool crossFill = false; + double lineAngle = 0; + double lineWidth = 0; + double lineSpacing = 1; + switch ( identifier ) + { + case 0: + case 1: + style = Qt::NoBrush; + break; + + case 2: + style = Qt::SolidPattern; + break; + + case 3: + case 19: + style = Qt::HorPattern; + break; + + case 4: + case 24: + style = Qt::VerPattern; + break; + + case 5: + case 34: + style = Qt::FDiagPattern; + break; + + case 6: + case 29: + style = Qt::BDiagPattern; + break; + + case 7: + case 39: + style = Qt::CrossPattern; + break; + + case 8: + case 44: + style = Qt::DiagCrossPattern; + break; + + case 12: + style = Qt::Dense1Pattern; + break; + + case 13: + style = Qt::Dense2Pattern; + break; + + case 14: + style = Qt::Dense3Pattern; + break; + + case 15: + style = Qt::Dense4Pattern; + break; + + case 16: + style = Qt::Dense5Pattern; + break; + + case 17: + style = Qt::Dense6Pattern; + break; + + case 18: + style = Qt::Dense7Pattern; + break; + + case 20: + useLineFill = true; + lineAngle = 0; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 21: + useLineFill = true; + lineAngle = 0; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 22: + useLineFill = true; + lineAngle = 0; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + case 23: + useLineFill = true; + lineAngle = 0; + lineSpacing = 3.0; + lineWidth = 1.0; + break; + + case 25: + useLineFill = true; + lineAngle = 90; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 26: + useLineFill = true; + lineAngle = 90; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 27: + useLineFill = true; + lineAngle = 90; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + case 28: + useLineFill = true; + lineAngle = 90; + lineSpacing = 3.0; + lineWidth = 1.0; + break; + + case 30: + useLineFill = true; + lineAngle = 45; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 31: + useLineFill = true; + lineAngle = 45; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 32: + useLineFill = true; + lineAngle = 45; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + case 33: + useLineFill = true; + lineAngle = 45; + lineSpacing = 3.0; + lineWidth = 1.0; + break; + + case 35: + useLineFill = true; + lineAngle = 135; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 36: + useLineFill = true; + lineAngle = 135; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 37: + useLineFill = true; + lineAngle = 135; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + case 38: + useLineFill = true; + lineAngle = 135; + lineSpacing = 3.0; + lineWidth = 1.0; + break; + + case 40: + useLineFill = true; + crossFill = true; + lineAngle = 0; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 41: + useLineFill = true; + crossFill = true; + lineAngle = 0; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 42: + useLineFill = true; + crossFill = true; + lineAngle = 0; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + case 43: + useLineFill = true; + crossFill = true; + lineAngle = 0; + lineSpacing = 3.0; + lineWidth = 1.0; + break; + + case 45: + useLineFill = true; + crossFill = true; + lineAngle = 45; + lineSpacing = 6; + lineWidth = 1.2; + break; + + case 46: + useLineFill = true; + crossFill = true; + lineAngle = 45; + lineSpacing = 4; + lineWidth = 0.8; + break; + + case 47: + useLineFill = true; + crossFill = true; + lineAngle = 45; + lineSpacing = 3.4; + lineWidth = 1.2; + break; + + default: + context.pushWarning( QObject::tr( "The brush style is not supported in QGIS" ) ); + return nullptr; + } + + QgsSymbolLayerList layers; + if ( backColor.isValid() && style != Qt::SolidPattern && ( useLineFill || style != Qt::NoBrush ) ) + { + std::unique_ptr< QgsSimpleFillSymbolLayer > backgroundFill = std::make_unique< QgsSimpleFillSymbolLayer >( backColor ); + backgroundFill->setLocked( true ); + backgroundFill->setStrokeStyle( Qt::NoPen ); + layers << backgroundFill.release(); + } + + if ( !useLineFill ) + { + std::unique_ptr< QgsSimpleFillSymbolLayer > foregroundFill = std::make_unique< QgsSimpleFillSymbolLayer >( foreColor ); + foregroundFill->setBrushStyle( style ); + foregroundFill->setStrokeStyle( Qt::NoPen ); + layers << foregroundFill.release(); + } + else + { + std::unique_ptr< QgsLinePatternFillSymbolLayer > lineFill = std::make_unique< QgsLinePatternFillSymbolLayer >(); + + std::unique_ptr< QgsSimpleLineSymbolLayer > simpleLine = std::make_unique< QgsSimpleLineSymbolLayer >( foreColor, lineWidth ); + simpleLine->setWidthUnit( QgsUnitTypes::RenderPoints ); + lineFill->setSubSymbol( new QgsLineSymbol( QgsSymbolLayerList() << simpleLine.release() ) ); + + lineFill->setDistance( lineSpacing ); + lineFill->setDistanceUnit( QgsUnitTypes::RenderPoints ); + lineFill->setLineAngle( lineAngle ); + + if ( crossFill ) + { + std::unique_ptr< QgsLinePatternFillSymbolLayer > lineFill2( lineFill->clone() ); + lineFill2->setLineAngle( lineFill->lineAngle() + 90 ); + layers << lineFill2.release(); + } + + layers << lineFill.release(); + } + return new QgsFillSymbol( layers ); +} diff --git a/src/core/symbology/qgsmapinfosymbolconverter.h b/src/core/symbology/qgsmapinfosymbolconverter.h index 6b3aa0b8122..fa17bb6bc1a 100644 --- a/src/core/symbology/qgsmapinfosymbolconverter.h +++ b/src/core/symbology/qgsmapinfosymbolconverter.h @@ -20,8 +20,10 @@ #include "qgis_sip.h" #include "qgsunittypes.h" #include +#include class QgsLineSymbol; +class QgsFillSymbol; /** * Context for a MapInfo symbol conversion operation. @@ -71,6 +73,13 @@ class CORE_EXPORT QgsMapInfoSymbolConverter */ static QgsLineSymbol *convertLineSymbol( int identifier, QgsMapInfoSymbolConversionContext &context, const QColor &foreColor, double size, QgsUnitTypes::RenderUnit sizeUnit, bool interleaved = false ) SIP_FACTORY; + /** + * Converts the MapInfo fill symbol with the specified \a identifier to a QgsFillSymbol. + * + * The caller takes ownership of the returned symbol. + */ + static QgsFillSymbol *convertFillSymbol( int identifier, QgsMapInfoSymbolConversionContext &context, const QColor &foreColor, const QColor &backColor = QColor() ) SIP_FACTORY; + }; #endif // QGSMAPINFOSYMBOLCONVERTER_H diff --git a/tests/src/core/testqgsogrutils.cpp b/tests/src/core/testqgsogrutils.cpp index 58f5f6a92de..cc802a4da00 100644 --- a/tests/src/core/testqgsogrutils.cpp +++ b/tests/src/core/testqgsogrutils.cpp @@ -29,6 +29,7 @@ #include "qgspoint.h" #include "qgsogrproxytextcodec.h" #include "qgslinesymbollayer.h" +#include "qgsfillsymbollayer.h" class TestQgsOgrUtils: public QObject { @@ -591,10 +592,49 @@ void TestQgsOgrUtils::convertStyleString() symbol = QgsOgrUtils::symbolFromStyleString( QStringLiteral( R"""(PEN(c:#FFFF007F,w:4.000000pt);BRUSH(fc:#00FF007F))""" ), QgsSymbol::Line ); QVERIFY( symbol ); QCOMPARE( symbol->symbolLayerCount(), 1 ); - QCOMPARE( dynamic_cast( symbol->symbolLayer( 0 ) )->color().name(), QStringLiteral( "#ffff00" ) ); - QCOMPARE( dynamic_cast( symbol->symbolLayer( 0 ) )->color().alpha(), 127 ); - QCOMPARE( dynamic_cast( symbol->symbolLayer( 0 ) )->width(), 4.0 ); - QCOMPARE( dynamic_cast( symbol->symbolLayer( 0 ) )->widthUnit(), QgsUnitTypes::RenderPoints ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().name(), QStringLiteral( "#ffff00" ) ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().alpha(), 127 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->width(), 4.0 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->widthUnit(), QgsUnitTypes::RenderPoints ); + + // brush + symbol = QgsOgrUtils::symbolFromStyleString( QStringLiteral( R"""(BRUSH(fc:#00FF007F))""" ), QgsSymbol::Fill ); + QVERIFY( symbol ); + QCOMPARE( symbol->symbolLayerCount(), 1 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().name(), QStringLiteral( "#00ff00" ) ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().alpha(), 127 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->brushStyle(), Qt::SolidPattern ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeStyle(), Qt::NoPen ); + + symbol = QgsOgrUtils::symbolFromStyleString( QStringLiteral( R"""(BRUSH(fc:#00FF007F,bc:#00000087,id:ogr-brush-6))""" ), QgsSymbol::Fill ); + QVERIFY( symbol ); + QCOMPARE( symbol->symbolLayerCount(), 2 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().name(), QStringLiteral( "#000000" ) ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().alpha(), 135 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->brushStyle(), Qt::SolidPattern ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeStyle(), Qt::NoPen ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 1 ) )->color().name(), QStringLiteral( "#00ff00" ) ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 1 ) )->color().alpha(), 127 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 1 ) )->brushStyle(), Qt::CrossPattern ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 1 ) )->strokeStyle(), Qt::NoPen ); + + // brush with pen + symbol = QgsOgrUtils::symbolFromStyleString( QStringLiteral( R"""(PEN(c:#FFFF007F,w:4.000000pt);BRUSH(fc:#00FF007F))""" ), QgsSymbol::Fill ); + QVERIFY( symbol ); + QCOMPARE( symbol->symbolLayerCount(), 1 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().name(), QStringLiteral( "#00ff00" ) ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->color().alpha(), 127 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->brushStyle(), Qt::SolidPattern ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeStyle(), Qt::SolidLine ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeColor().name(), QStringLiteral( "#ffff00" ) ); + + // no brush, but need fill symbol + symbol = QgsOgrUtils::symbolFromStyleString( QStringLiteral( R"""(PEN(c:#FFFF007F,w:4.000000pt))""" ), QgsSymbol::Fill ); + QVERIFY( symbol ); + QCOMPARE( symbol->symbolLayerCount(), 1 ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->brushStyle(), Qt::NoBrush ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeStyle(), Qt::SolidLine ); + QCOMPARE( qgis::down_cast( symbol->symbolLayer( 0 ) )->strokeColor().name(), QStringLiteral( "#ffff00" ) ); } QGSTEST_MAIN( TestQgsOgrUtils ) diff --git a/tests/src/python/test_qgsembeddedsymbolrenderer.py b/tests/src/python/test_qgsembeddedsymbolrenderer.py index 532bfd9b863..c59b9adba45 100644 --- a/tests/src/python/test_qgsembeddedsymbolrenderer.py +++ b/tests/src/python/test_qgsembeddedsymbolrenderer.py @@ -174,6 +174,26 @@ class TestQgsEmbeddedSymbolRenderer(unittest.TestCase): renderchecker.setControlName('expected_embedded_mapinfo_lines') self.assertTrue(renderchecker.runTest('embedded_mapinfo_lines')) + def testMapFillLineSymbolConversion(self): + line_layer = QgsVectorLayer(TEST_DATA_DIR + '/mapinfo/fill_styles.TAB', 'Fills', 'ogr') + + renderer = QgsEmbeddedSymbolRenderer(defaultSymbol=QgsLineSymbol.createSimple({})) + line_layer.setRenderer(renderer) + + mapsettings = QgsMapSettings() + mapsettings.setOutputSize(QSize(2000, 4000)) + mapsettings.setOutputDpi(96) + mapsettings.setMagnificationFactor(2) + mapsettings.setExtent(line_layer.extent().buffered(0.1)) + + mapsettings.setLayers([line_layer]) + + renderchecker = QgsMultiRenderChecker() + renderchecker.setMapSettings(mapsettings) + renderchecker.setControlPathPrefix('embedded') + renderchecker.setControlName('expected_embedded_mapinfo_fills') + self.assertTrue(renderchecker.runTest('embedded_mapinfo_fills')) + if __name__ == '__main__': unittest.main() diff --git a/tests/testdata/control_images/embedded/expected_embedded_mapinfo_fills/expected_embedded_mapinfo_fills.png b/tests/testdata/control_images/embedded/expected_embedded_mapinfo_fills/expected_embedded_mapinfo_fills.png new file mode 100644 index 0000000000000000000000000000000000000000..c58eeb34e45689ecacc845f6b3546c8db64bb9fb GIT binary patch literal 119276 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

oI^ksY_z?Tu4-Rdb|O6Fy**5Jo)Z#;}}fa3I| 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 xm^kOaDfOUz^j1Zj4~l%F&Yk#aF7B3YaR)& literal 0 HcmV?d00001 diff --git a/tests/testdata/mapinfo/fill_styles.ID b/tests/testdata/mapinfo/fill_styles.ID new file mode 100644 index 0000000000000000000000000000000000000000..e17e0d54f0b521783626e77d8481e83b5504882b GIT binary patch literal 196 zcmWm5!3hE}6h+a$P|%GSND)Gc5K@FNMF=TENEg#Zx=0t(#jHG8oW*_lsgH<_!n{Oe z3Qc!*s@~SdSa%$By|0aY^N&hi@3xb4_1D(ul&2duc0HIh-PcCCN4$75^d$4qUw$0= HB&CQyAX^wa literal 0 HcmV?d00001 diff --git a/tests/testdata/mapinfo/fill_styles.MAP b/tests/testdata/mapinfo/fill_styles.MAP new file mode 100644 index 0000000000000000000000000000000000000000..9e47db85f565c3b447fffddcb453225f3f202a37 GIT binary patch literal 4608 zcmeH~dr(wW9LImV3-{u(cb8=kyU1JK@>&riA7xrpGAW{?kydJ!sihA2%E?qlZ78j= z($qA`7$_XG&=eI@XGp`;nr2KiwbFllWaQ2+0t?lz-#NRhr^ie+;U7Al8SXjX&pmrM zkNf+5?**ed!fcPOe1CIPhO>Ipjt_QxYjGsm;xp+wyyVGusy1z`*-}-r#U9m9v))M^ zsJ*T3%-+2%na;8*A3C<0qFT1U985dvZXnL<(ea|sg#N9O>n_oA=7D^ zkuw0osNUXgg&!XJ5Q`6(L>-y!5cTwsSpb95{k^`~8U`JMt8jm4sHiWM*hRfHH zufNy9wN|KpycX?Flc?wD9ipz|W5JMr7;6vpxn2JC4(NgD-rC)Y6F*k3{e}fo^UbLq z99?0AqW)f7G1LqY%=jb!!mwt6KW831HifXlctlh-dhx#R6o_#GTpdZo$U+HMqtFUy)W5y5;XF-JB?|E^-awD`*h)o`E2ECm*2uH2(V)aTyYQn@u zibe;Eq~_fI9_+Ua@t5&l?0<@IB|Xu@H`C6!M^a0`S}EPCQ>q(VRs%h9wa0b5?^H8{2S0lMNE=od^l62jLo3h1Qd8 zxKP#LK?C6)EYUy6fU9j-x=DeWBEpF*l`M!^Rk(88gRdMkL8Pq>A(f>Op7|-js=Hgn zzr5pK!fCuWY;M$G_GcbUc+mzMfN(nR4QmIe@a&HsG`UP*y3&f!lcf{xy8uccWFUh_xf=d?;xLG9^#9!Vf41 zb6YU{Z8Cr?nVNgAfOhjcg88|mdh2zH*n7mx`;Sko1FnO@0i`IJD4;3zd9cp|)Zhl@YlNt3&!%c7?&GGvh{i!51W z%OXb>PFeKw3qH@=<^Sw}9?k>L|4>SQ{=)3kI5E)-d2MEJUbOi?gcxOekt^P=H;VA$ z@ve(t{E--8F+<^5Bk&Z`{Ur(t9pg__{X7+d4;bN|3Jtc*C#+{(646}|j5NL5h5X<5 z{$F-i$94bDq>bUp-m=7l1E;!i%>^>GY!*v6f1ekde(uELQ-}pa$OB?o9AW;VpIhFE zuRrYdSwkF)C;UKVGjji*S?)&R=PHRFO`#nuClVuPdcg~HA>OFY4z>Ad) zgtHiZlfWY_Uh!SOy&h56YcAskYfSXu?x8Lm+1rab^hpD~8ULEM?`pH6({0