r23560 by jghali - Cleanups for PDFLibCore

scribus-commit scribus-commit at lists.scribus.net
Tue Apr 7 14:15:46 UTC 2020


Author: jghali
Date: Tue Apr  7 14:15:46 2020
New Revision: 23560

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23560
Log:
Cleanups for PDFLibCore

Modified:
    trunk/Scribus/scribus/pdflib_core.cpp

Modified: trunk/Scribus/scribus/pdflib_core.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23560&path=/trunk/Scribus/scribus/pdflib_core.cpp
==============================================================================
--- trunk/Scribus/scribus/pdflib_core.cpp	(original)
+++ trunk/Scribus/scribus/pdflib_core.cpp	Tue Apr  7 14:15:46 2020
@@ -607,9 +607,7 @@
 	int  pc_exportmasterpages=0;
 	if (usingGUI)
 		progressDialog->show();
-	QMap<QString, QMap<uint, FPointArray> > usedFonts;
-	usedFonts.clear();
-	doc.getUsedFonts(usedFonts);
+
 	ucs2Codec = QTextCodec::codecForName("ISO-10646-UCS-2");
 	if (!ucs2Codec)
 		ucs2Codec = QTextCodec::codecForName("UTF-16");
@@ -618,6 +616,10 @@
 		PDF_Error( tr("Qt build miss both \"UTF-16\" and \"ISO-10646-UCS-2\" text codecs, pdf export is not possible") );
 		return false;
 	}
+
+	QMap<QString, QMap<uint, FPointArray> > usedFonts;
+	doc.getUsedFonts(usedFonts);
+
 	if (PDF_Begin_Doc(fn, PrefsManager::instance().appPrefs.fontPrefs.AvailFonts, usedFonts, doc.scMW()->bookmarkPalette->BView))
 	{
 		QMap<int, int> pageNsMpa;
@@ -2584,13 +2586,12 @@
 		PdfOCGInfo ocg;
 		ll.isPrintable = false;
 		ll.ID = 0;
-		int Lnr = 0;
 		QByteArray ocgNam("oc");
-		uint docLayersCount=doc.Layers.count();
-		for (uint la = 0; la < docLayersCount; ++la)
+		int docLayersCount = doc.Layers.count();
+		for (int la = 0; la < docLayersCount; ++la)
 		{
 			PdfId optionalContent = writer.newObject();
-			doc.Layers.levelToLayer(ll, Lnr);
+			doc.Layers.levelToLayer(ll, la);
 			ocg.Name = ocgNam + Pdf::toPdf(ll.ID);
 			ocg.ObjNum = optionalContent;
 			ocg.visible = ll.isViewable;
@@ -2615,7 +2616,6 @@
 			PutDoc("\n");
 			PutDoc(">>");
 			writer.endObj(optionalContent);
-			Lnr++;
 		}
 	}
 }
@@ -2626,7 +2626,6 @@
 	ActPageP = pag;
 	PageItem* ite;
 	QList<PageItem*> PItems;
-	int Lnr = 0;
 	ScLayer ll;
 	ll.isPrintable = false;
 	ll.ID = 0;
@@ -2640,239 +2639,185 @@
 
 	for (int la = 0; la < doc.Layers.count(); ++la)
 	{
-		doc.Layers.levelToLayer(ll, Lnr);
+		doc.Layers.levelToLayer(ll, la);
 		PItems = doc.MasterItems;
-		if (ll.isPrintable || Options.exportsLayers())
-		{
-			if (Options.exportsLayers())
-				PutPage("/OC /" + OCGEntries[ll.Name].Name + " BDC\n");
-			for (int a = 0; a < PItems.count(); ++a)
-			{
-				Content.clear();
-				ite =PItems.at(a);
-				if (ite->m_layerID != ll.ID)
-					continue;
-				double x  = pag->xOffset() - bLeft;
-				double y  = pag->yOffset() - bTop;
-				double w  = pag->width() + bLeft + bRight;
-				double h1 = pag->height() + bBottom + bTop;
-				double ilw= ite->visualLineWidth();
-				double x2 = ite->BoundingX - ilw / 2.0;
-				double y2 = ite->BoundingY - ilw / 2.0;
-				double w2 = ite->BoundingW + ilw;
-				double h2 = ite->BoundingH + ilw;
-				if (!QRectF(x2, y2, w2, h2).intersects(QRectF(x, y, w, h1)))
-					continue;
-				if (ite->ChangedMasterItem)
-					continue;
-				if ((!pag->pageNameEmpty()) && (ite->OwnPage != static_cast<int>(pag->pageNr())) && (ite->OwnPage != -1))
-					continue;
-				PutPage("q\n");
-				if ((ite->doOverprint) && (!Options.UseRGB))
-				{
-					QByteArray ShName = ResNam + Pdf::toPdf(ResCount);
-					ResCount++;
-					Transpar[ShName] = writeGState("/OP true\n"
-												   "/op true\n"
-												   "/OPM 1\n");
-					PutPage(Pdf::toName(ShName) + " gs\n");
-				}
+		if (!ll.isPrintable && !Options.exportsLayers())
+			continue;
+
+		if (Options.exportsLayers())
+			PutPage("/OC /" + OCGEntries[ll.Name].Name + " BDC\n");
+		for (int a = 0; a < PItems.count(); ++a)
+		{
+			Content.clear();
+			ite = PItems.at(a);
+			if (ite->m_layerID != ll.ID)
+				continue;
+			double x  = pag->xOffset() - bLeft;
+			double y  = pag->yOffset() - bTop;
+			double w  = pag->width() + bLeft + bRight;
+			double h1 = pag->height() + bBottom + bTop;
+			double ilw= ite->visualLineWidth();
+			double x2 = ite->BoundingX - ilw / 2.0;
+			double y2 = ite->BoundingY - ilw / 2.0;
+			double w2 = ite->BoundingW + ilw;
+			double h2 = ite->BoundingH + ilw;
+			if (!QRectF(x2, y2, w2, h2).intersects(QRectF(x, y, w, h1)))
+				continue;
+			if (ite->ChangedMasterItem)
+				continue;
+			if ((!pag->pageNameEmpty()) && (ite->OwnPage != pag->pageNr()) && (ite->OwnPage != -1))
+				continue;
+			PutPage("q\n");
+			if ((ite->doOverprint) && (!Options.UseRGB))
+			{
+				QByteArray ShName = ResNam + Pdf::toPdf(ResCount);
+				ResCount++;
+				Transpar[ShName] = writeGState("/OP true\n"
+												"/op true\n"
+												"/OPM 1\n");
+				PutPage(Pdf::toName(ShName) + " gs\n");
+			}
 /* Bookmarks on Master Pages do not make any sense */
 //				if ((ite->isBookmark) && (Options.Bookmarks))
 //					PDF_Bookmark(ite, pag->height() - (ite->yPos() - pag->yOffset()));
-				if (!ite->printEnabled() || ((ite->itemType() == PageItem::TextFrame) && (!pag->pageNameEmpty())))
+			if (!ite->printEnabled() || ((ite->itemType() == PageItem::TextFrame) && (!pag->pageNameEmpty())))
+			{
+				PutPage("Q\n");
+				continue;
+			}
+			if (ite->fillColor() != CommonStrings::None)
+				PutPage(putColor(ite->fillColor(), ite->fillShade(), true));
+			if (ite->lineColor() != CommonStrings::None)
+				PutPage(putColor(ite->lineColor(), ite->lineShade(), false));
+			Content += FToStr(fabs(ite->lineWidth()))+" w\n";
+			if (ite->DashValues.count() != 0)
+			{
+				PutPage("[ ");
+				QVector<double>::iterator it;
+				for ( it = ite->DashValues.begin(); it != ite->DashValues.end(); ++it )
 				{
-					PutPage("Q\n");
-					continue;
+					double da = *it;
+					// #8758: Custom dotted lines don't export properly to pdf
+					// Null values have to be exported if line end != flat
+					if ((da != 0) || (ite->lineEnd() != Qt::FlatCap))
+						PutPage(Pdf::toPdf(da)+" ");
 				}
-				if (ite->fillColor() != CommonStrings::None)
-					PutPage(putColor(ite->fillColor(), ite->fillShade(), true));
-				if (ite->lineColor() != CommonStrings::None)
-					PutPage(putColor(ite->lineColor(), ite->lineShade(), false));
-				Content += FToStr(fabs(ite->lineWidth()))+" w\n";
-				if (ite->DashValues.count() != 0)
-				{
-					PutPage("[ ");
-					QVector<double>::iterator it;
-					for ( it = ite->DashValues.begin(); it != ite->DashValues.end(); ++it )
+				PutPage("] " + Pdf::toPdf(ite->DashOffset)+" d\n");
+			}
+			else
+				PutPage("[" + Pdf::toAscii(getDashString(ite->PLineArt, ite->lineWidth())) + "] 0 d\n");
+			switch (ite->PLineEnd)
+			{
+				case Qt::FlatCap:
+					PutPage("0 J\n");
+					break;
+				case Qt::SquareCap:
+					PutPage("2 J\n");
+					break;
+				case Qt::RoundCap:
+					PutPage("1 J\n");
+					break;
+				default:
+					PutPage("0 J\n");
+					break;
+			}
+			switch (ite->PLineJoin)
+			{
+				case Qt::MiterJoin:
+					PutPage("0 j\n");
+					break;
+				case Qt::BevelJoin:
+					PutPage("2 j\n");
+					break;
+				case Qt::RoundJoin:
+					PutPage("1 j\n");
+					break;
+				default:
+					PutPage("0 j\n");
+					break;
+			}
+			PutPage("1 0 0 1 "+FToStr(ite->xPos() - pag->xOffset())+" "+FToStr(pag->height() - (ite->yPos()  - pag->yOffset()))+" cm\n");
+			if (ite->rotation() != 0)
+			{
+				double sr = sin(-ite->rotation()* M_PI / 180.0);
+				double cr = cos(-ite->rotation()* M_PI / 180.0);
+				if ((cr * cr) < 0.000001)
+					cr = 0;
+				if ((sr * sr) < 0.000001)
+					sr = 0;
+				PutPage(FToStr(cr)+" "+FToStr(sr)+" "+FToStr(-sr)+" "+FToStr(cr)+" 0 0 cm\n");
+			}
+			PutPage(PDF_PutSoftShadow(ite));
+			switch (ite->itemType())
+			{
+				case PageItem::ImageFrame:
+				case PageItem::LatexFrame:
+					PutPage("q\n");
+					// Same functions as for ImageFrames work for LatexFrames too
+					if (((ite->GrMask > 0) || (ite->fillTransparency() != 0) || (ite->fillBlendmode() != 0)) && Options.supportsTransparency())
 					{
-						double da = *it;
-						// #8758: Custom dotted lines don't export properly to pdf
-						// Null values have to be exported if line end != flat
-						if ((da != 0) || (ite->lineEnd() != Qt::FlatCap))
-							PutPage(Pdf::toPdf(da)+" ");
+						PutPage(PDF_TransparenzFill(ite));
 					}
-					PutPage("] " + Pdf::toPdf(ite->DashOffset)+" d\n");
-				}
-				else
-					PutPage("[" + Pdf::toAscii(getDashString(ite->PLineArt, ite->lineWidth())) + "] 0 d\n");
-				switch (ite->PLineEnd)
-				{
-					case Qt::FlatCap:
-						PutPage("0 J\n");
-						break;
-					case Qt::SquareCap:
-						PutPage("2 J\n");
-						break;
-					case Qt::RoundCap:
-						PutPage("1 J\n");
-						break;
-					default:
-						PutPage("0 J\n");
-						break;
-				}
-				switch (ite->PLineJoin)
-				{
-					case Qt::MiterJoin:
-						PutPage("0 j\n");
-						break;
-					case Qt::BevelJoin:
-						PutPage("2 j\n");
-						break;
-					case Qt::RoundJoin:
-						PutPage("1 j\n");
-						break;
-					default:
-						PutPage("0 j\n");
-						break;
-				}
-				PutPage("1 0 0 1 "+FToStr(ite->xPos() - pag->xOffset())+" "+FToStr(pag->height() - (ite->yPos()  - pag->yOffset()))+" cm\n");
-				if (ite->rotation() != 0)
-				{
-					double sr = sin(-ite->rotation()* M_PI / 180.0);
-					double cr = cos(-ite->rotation()* M_PI / 180.0);
-					if ((cr * cr) < 0.000001)
-						cr = 0;
-					if ((sr * sr) < 0.000001)
-						sr = 0;
-					PutPage(FToStr(cr)+" "+FToStr(sr)+" "+FToStr(-sr)+" "+FToStr(cr)+" 0 0 cm\n");
-				}
-				PutPage(PDF_PutSoftShadow(ite));
-				switch (ite->itemType())
-				{
-					case PageItem::ImageFrame:
-					case PageItem::LatexFrame:
-						PutPage("q\n");
-						// Same functions as for ImageFrames work for LatexFrames too
-						if (((ite->GrMask > 0) || (ite->fillTransparency() != 0) || (ite->fillBlendmode() != 0)) && Options.supportsTransparency())
+					if ((ite->fillColor() != CommonStrings::None) || (ite->GrType != 0))
+					{
+						if (ite->GrType != 0)
 						{
-							PutPage(PDF_TransparenzFill(ite));
-						}
-						if ((ite->fillColor() != CommonStrings::None) || (ite->GrType != 0))
-						{
-							if (ite->GrType != 0)
+							if (ite->GrType == 8)
 							{
-								if (ite->GrType == 8)
-								{
-									if (!PDF_PatternFillStroke(tmpOut, ite))
-										return false;
-								}
-								else if (ite->GrType == 14)
-								{
-									if (!PDF_HatchFill(tmpOut, ite))
-										return false;
-								}
-								else
-								{
-									if (!PDF_GradientFillStroke(tmpOut, ite))
-										return false;
-								}
-								if (!tmpOut.isEmpty())
-								{
-									PutPage("q\n");
-									if (ite->GrType == 14)
-										PutPage(tmpOut);
-									else
-									{
-										PutPage(tmpOut);
-										PutPage(SetClipPath(ite));
-										PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
-									}
-									PutPage("Q\n");
-								}
+								if (!PDF_PatternFillStroke(tmpOut, ite))
+									return false;
+							}
+							else if (ite->GrType == 14)
+							{
+								if (!PDF_HatchFill(tmpOut, ite))
+									return false;
 							}
 							else
 							{
-								if (ite->fillColor() != CommonStrings::None)
+								if (!PDF_GradientFillStroke(tmpOut, ite))
+									return false;
+							}
+							if (!tmpOut.isEmpty())
+							{
+								PutPage("q\n");
+								if (ite->GrType == 14)
+									PutPage(tmpOut);
+								else
 								{
+									PutPage(tmpOut);
 									PutPage(SetClipPath(ite));
 									PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
 								}
+								PutPage("Q\n");
 							}
 						}
-						PutPage("q\n");
-						PutPage(SetPathAndClip(ite, true));
-						if (ite->imageFlippedH())
-							PutPage("-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n");
-						if (ite->imageFlippedV())
-							PutPage("1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n");
-						if (!ite->imageClip.empty())
-							PutPage(SetImagePathAndClip(ite));
-						if ((ite->imageIsAvailable) && (!ite->Pfile.isEmpty()))
+						else
 						{
-							if (!PDF_Image(ite, ite->Pfile, ite->imageXScale(), ite->imageYScale(), ite->imageXOffset(), -ite->imageYOffset(), false, ite->ImageProfile, ite->UseEmbedded, ite->ImageIntent, &tmpOut))
-								return false;
-							PutPage(tmpOut);
-						}
-						PutPage("Q\n");
-						PutPage("Q\n");
-						if (((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0)))
-						{
-							if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
-								PutPage(PDF_TransparenzStroke(ite));
-							if (ite->NamedLStyle.isEmpty())
+							if (ite->fillColor() != CommonStrings::None)
 							{
-								ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
-								if (strokePattern)
-								{
-									if (ite->patternStrokePath)
-									{
-										QPainterPath path = ite->PoLine.toQPainterPath(false);
-										PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
-									}
-									else
-									{
-										if (!PDF_PatternFillStroke(tmpOut, ite, 1))
-											return false;
-										PutPage(SetClipPath(ite));
-										PutPage(tmpOut);
-										PutPage("h\nS\n");
-									}
-								}
-								else if (ite->GrTypeStroke > 0)
-								{
-									if (!PDF_GradientFillStroke(tmpOut, ite, true))
-										return false;
-									PutPage("q\n");
-									PutPage(tmpOut);
-									PutPage(SetClipPath(ite));
-									PutPage("h\nS\n");
-									PutPage("Q\n");
-								}
-								else if (ite->lineColor() != CommonStrings::None)
-								{
-									PutPage(SetClipPath(ite));
-									PutPage("h\nS\n");
-								}
-							}
-							else
-							{
-								multiLine ml = doc.MLineStyles[ite->NamedLStyle];
-								for (int it = ml.size()-1; it > -1; it--)
-								{
-									if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
-									{
-										PutPage(setStrokeMulti(&ml[it]));
-										PutPage(SetClipPath(ite));
-										PutPage("h\nS\n");
-									}
-								}
+								PutPage(SetClipPath(ite));
+								PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
 							}
 						}
-						break;
-					case PageItem::TextFrame:
-						break;
-					case PageItem::Line:
+					}
+					PutPage("q\n");
+					PutPage(SetPathAndClip(ite, true));
+					if (ite->imageFlippedH())
+						PutPage("-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n");
+					if (ite->imageFlippedV())
+						PutPage("1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n");
+					if (!ite->imageClip.empty())
+						PutPage(SetImagePathAndClip(ite));
+					if ((ite->imageIsAvailable) && (!ite->Pfile.isEmpty()))
+					{
+						if (!PDF_Image(ite, ite->Pfile, ite->imageXScale(), ite->imageYScale(), ite->imageXOffset(), -ite->imageYOffset(), false, ite->ImageProfile, ite->UseEmbedded, ite->ImageIntent, &tmpOut))
+							return false;
+						PutPage(tmpOut);
+					}
+					PutPage("Q\n");
+					PutPage("Q\n");
+					if (((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0)))
+					{
 						if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
 							PutPage(PDF_TransparenzStroke(ite));
 						if (ite->NamedLStyle.isEmpty())
@@ -2882,19 +2827,16 @@
 							{
 								if (ite->patternStrokePath)
 								{
-									QPainterPath path;
-									path.moveTo(0, 0);
-									path.lineTo(ite->width(), 0);
+									QPainterPath path = ite->PoLine.toQPainterPath(false);
 									PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
 								}
 								else
 								{
 									if (!PDF_PatternFillStroke(tmpOut, ite, 1))
 										return false;
+									PutPage(SetClipPath(ite));
 									PutPage(tmpOut);
-									PutPage("0 0 m\n");
-									PutPage(FToStr(ite->width())+" 0 l\n");
-									PutPage("S\n");
+									PutPage("h\nS\n");
 								}
 							}
 							else if (ite->GrTypeStroke > 0)
@@ -2903,15 +2845,14 @@
 									return false;
 								PutPage("q\n");
 								PutPage(tmpOut);
-								PutPage("0 0 m\n");
-								PutPage(FToStr(ite->width())+" 0 l\n");
-								PutPage("S\nQ\n");
+								PutPage(SetClipPath(ite));
+								PutPage("h\nS\n");
+								PutPage("Q\n");
 							}
 							else if (ite->lineColor() != CommonStrings::None)
 							{
-								PutPage("0 0 m\n");
-								PutPage(FToStr(ite->width())+" 0 l\n");
-								PutPage("S\n");
+								PutPage(SetClipPath(ite));
+								PutPage("h\nS\n");
 							}
 						}
 						else
@@ -2922,32 +2863,191 @@
 								if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
 								{
 									PutPage(setStrokeMulti(&ml[it]));
-									PutPage("0 0 m\n");
-									PutPage(FToStr(ite->width())+" 0 l\n");
-									PutPage("S\n");
+									PutPage(SetClipPath(ite));
+									PutPage("h\nS\n");
 								}
 							}
 						}
-						if (ite->startArrowIndex() != 0)
+					}
+					break;
+				case PageItem::TextFrame:
+					break;
+				case PageItem::Line:
+					if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
+						PutPage(PDF_TransparenzStroke(ite));
+					if (ite->NamedLStyle.isEmpty())
+					{
+						ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
+						if (strokePattern)
 						{
-							QTransform arrowTrans;
-							arrowTrans.scale(-1,1);
-							arrowTrans.scale(ite->startArrowScale() / 100.0, ite->startArrowScale() / 100.0);
-							PutPage(drawArrow(ite, arrowTrans, ite->startArrowIndex()));
+							if (ite->patternStrokePath)
+							{
+								QPainterPath path;
+								path.moveTo(0, 0);
+								path.lineTo(ite->width(), 0);
+								PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
+							}
+							else
+							{
+								if (!PDF_PatternFillStroke(tmpOut, ite, 1))
+									return false;
+								PutPage(tmpOut);
+								PutPage("0 0 m\n");
+								PutPage(FToStr(ite->width())+" 0 l\n");
+								PutPage("S\n");
+							}
 						}
-						if (ite->endArrowIndex() != 0)
+						else if (ite->GrTypeStroke > 0)
 						{
-							QTransform arrowTrans;
-							arrowTrans.translate(ite->width(), 0);
-							arrowTrans.scale(ite->endArrowScale() / 100.0, ite->endArrowScale() / 100.0);
-							PutPage(drawArrow(ite, arrowTrans, ite->endArrowIndex()));
+							if (!PDF_GradientFillStroke(tmpOut, ite, true))
+								return false;
+							PutPage("q\n");
+							PutPage(tmpOut);
+							PutPage("0 0 m\n");
+							PutPage(FToStr(ite->width())+" 0 l\n");
+							PutPage("S\nQ\n");
 						}
-						break;
-					case PageItem::ItemType1:
-					case PageItem::ItemType3:
-					case PageItem::Polygon:
-					case PageItem::RegularPolygon:
-					case PageItem::Arc:
+						else if (ite->lineColor() != CommonStrings::None)
+						{
+							PutPage("0 0 m\n");
+							PutPage(FToStr(ite->width())+" 0 l\n");
+							PutPage("S\n");
+						}
+					}
+					else
+					{
+						multiLine ml = doc.MLineStyles[ite->NamedLStyle];
+						for (int it = ml.size()-1; it > -1; it--)
+						{
+							if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
+							{
+								PutPage(setStrokeMulti(&ml[it]));
+								PutPage("0 0 m\n");
+								PutPage(FToStr(ite->width())+" 0 l\n");
+								PutPage("S\n");
+							}
+						}
+					}
+					if (ite->startArrowIndex() != 0)
+					{
+						QTransform arrowTrans;
+						arrowTrans.scale(-1,1);
+						arrowTrans.scale(ite->startArrowScale() / 100.0, ite->startArrowScale() / 100.0);
+						PutPage(drawArrow(ite, arrowTrans, ite->startArrowIndex()));
+					}
+					if (ite->endArrowIndex() != 0)
+					{
+						QTransform arrowTrans;
+						arrowTrans.translate(ite->width(), 0);
+						arrowTrans.scale(ite->endArrowScale() / 100.0, ite->endArrowScale() / 100.0);
+						PutPage(drawArrow(ite, arrowTrans, ite->endArrowIndex()));
+					}
+					break;
+				case PageItem::ItemType1:
+				case PageItem::ItemType3:
+				case PageItem::Polygon:
+				case PageItem::RegularPolygon:
+				case PageItem::Arc:
+					PutPage("q\n");
+					if (((ite->GrMask > 0) || (ite->fillTransparency() != 0) || (ite->fillBlendmode() != 0)) && Options.supportsTransparency())
+					{
+						PutPage(PDF_TransparenzFill(ite));
+					}
+					if (ite->GrType != 0)
+					{
+						if (ite->GrType == 8)
+						{
+							if (!PDF_PatternFillStroke(tmpOut, ite))
+								return false;
+						}
+						else if (ite->GrType == 14)
+						{
+							if (!PDF_HatchFill(tmpOut, ite))
+								return false;
+						}
+						else
+						{
+							if (!PDF_GradientFillStroke(tmpOut, ite))
+								return false;
+						}
+						if (!tmpOut.isEmpty())
+						{
+							if (ite->GrType == 14)
+								PutPage(tmpOut);
+							else
+							{
+								PutPage(tmpOut);
+								PutPage(SetClipPath(ite));
+								PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
+							}
+						}
+					}
+					else
+					{
+						if (ite->fillColor() != CommonStrings::None)
+						{
+							PutPage(SetClipPath(ite));
+							PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
+						}
+					}
+					PutPage("Q\n");
+					if ((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0))
+					{
+						if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
+							PutPage(PDF_TransparenzStroke(ite));
+						if ((ite->NamedLStyle.isEmpty()) && (ite->lineWidth() != 0.0))
+						{
+							ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
+							if (strokePattern)
+							{
+								if (ite->patternStrokePath)
+								{
+									QPainterPath path = ite->PoLine.toQPainterPath(false);
+									PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
+								}
+								else
+								{
+									if (!PDF_PatternFillStroke(tmpOut, ite, 1))
+										return false;
+									PutPage(tmpOut);
+									PutPage("h\nS\n");
+								}
+							}
+							else if (ite->GrTypeStroke > 0)
+							{
+								if (!PDF_GradientFillStroke(tmpOut, ite, true))
+									return false;
+								PutPage("q\n");
+								PutPage(tmpOut);
+								PutPage(SetClipPath(ite));
+								PutPage("h\nS\n");
+								PutPage("Q\n");
+							}
+							else if (ite->lineColor() != CommonStrings::None)
+							{
+								PutPage(SetClipPath(ite));
+								PutPage("h\nS\n");
+							}
+						}
+						else
+						{
+							multiLine ml = doc.MLineStyles[ite->NamedLStyle];
+							for (int it = ml.size()-1; it > -1; it--)
+							{
+								if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
+								{
+									PutPage(setStrokeMulti(&ml[it]));
+									PutPage(SetClipPath(ite));
+									PutPage("h\nS\n");
+								}
+							}
+						}
+					}
+					break;
+				case PageItem::PolyLine:
+				case PageItem::Spiral:
+					if (ite->PoLine.size() > 3) // && ((ite->PoLine.point(0) != ite->PoLine.point(1)) || (ite->PoLine.point(2) != ite->PoLine.point(3))))
+					{
 						PutPage("q\n");
 						if (((ite->GrMask > 0) || (ite->fillTransparency() != 0) || (ite->fillBlendmode() != 0)) && Options.supportsTransparency())
 						{
@@ -2991,322 +3091,220 @@
 							}
 						}
 						PutPage("Q\n");
-						if ((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0))
+					}
+					if ((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0))
+					{
+						if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
+							PutPage(PDF_TransparenzStroke(ite));
+						if (ite->NamedLStyle.isEmpty())
 						{
-							if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
-								PutPage(PDF_TransparenzStroke(ite));
-							if ((ite->NamedLStyle.isEmpty()) && (ite->lineWidth() != 0.0))
+							ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
+							if (strokePattern)
 							{
-								ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
-								if (strokePattern)
+								if (ite->patternStrokePath)
 								{
-									if (ite->patternStrokePath)
-									{
-										QPainterPath path = ite->PoLine.toQPainterPath(false);
-										PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
-									}
-									else
-									{
-										if (!PDF_PatternFillStroke(tmpOut, ite, 1))
-											return false;
-										PutPage(tmpOut);
-										PutPage("h\nS\n");
-									}
-								}
-								else if (ite->GrTypeStroke > 0)
-								{
-									if (!PDF_GradientFillStroke(tmpOut, ite, true))
-										return false;
-									PutPage("q\n");
-									PutPage(tmpOut);
-									PutPage(SetClipPath(ite));
-									PutPage("h\nS\n");
-									PutPage("Q\n");
-								}
-								else if (ite->lineColor() != CommonStrings::None)
-								{
-									PutPage(SetClipPath(ite));
-									PutPage("h\nS\n");
-								}
-							}
-							else
-							{
-								multiLine ml = doc.MLineStyles[ite->NamedLStyle];
-								for (int it = ml.size()-1; it > -1; it--)
-								{
-									if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
-									{
-										PutPage(setStrokeMulti(&ml[it]));
-										PutPage(SetClipPath(ite));
-										PutPage("h\nS\n");
-									}
-								}
-							}
-						}
-						break;
-					case PageItem::PolyLine:
-					case PageItem::Spiral:
-						if (ite->PoLine.size() > 3) // && ((ite->PoLine.point(0) != ite->PoLine.point(1)) || (ite->PoLine.point(2) != ite->PoLine.point(3))))
-						{
-							PutPage("q\n");
-							if (((ite->GrMask > 0) || (ite->fillTransparency() != 0) || (ite->fillBlendmode() != 0)) && Options.supportsTransparency())
-							{
-								PutPage(PDF_TransparenzFill(ite));
-							}
-							if (ite->GrType != 0)
-							{
-								if (ite->GrType == 8)
-								{
-									if (!PDF_PatternFillStroke(tmpOut, ite))
-										return false;
-								}
-								else if (ite->GrType == 14)
-								{
-									if (!PDF_HatchFill(tmpOut, ite))
-										return false;
+									QPainterPath path = ite->PoLine.toQPainterPath(false);
+									PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
 								}
 								else
 								{
-									if (!PDF_GradientFillStroke(tmpOut, ite))
+									if (!PDF_PatternFillStroke(tmpOut, ite, 1))
 										return false;
-								}
-								if (!tmpOut.isEmpty())
-								{
-									if (ite->GrType == 14)
-										PutPage(tmpOut);
-									else
-									{
-										PutPage(tmpOut);
-										PutPage(SetClipPath(ite));
-										PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
-									}
-								}
-							}
-							else
-							{
-								if (ite->fillColor() != CommonStrings::None)
-								{
-									PutPage(SetClipPath(ite));
-									PutPage(ite->fillRule ? "h\nf*\n" : "h\nf\n");
-								}
-							}
-							PutPage("Q\n");
-						}
-						if ((ite->lineColor() != CommonStrings::None) || (!ite->NamedLStyle.isEmpty()) || (!ite->strokePattern().isEmpty()) || (ite->GrTypeStroke > 0))
-						{
-							if (((ite->lineTransparency() != 0) || (ite->lineBlendmode() != 0)) && Options.supportsTransparency())
-								PutPage(PDF_TransparenzStroke(ite));
-							if (ite->NamedLStyle.isEmpty())
-							{
-								ScPattern* strokePattern = doc.checkedPattern(ite->strokePattern());
-								if (strokePattern)
-								{
-									if (ite->patternStrokePath)
-									{
-										QPainterPath path = ite->PoLine.toQPainterPath(false);
-										PutPage(handleBrushPattern(ite, path, pag, pag->pageNr()));
-									}
-									else
-									{
-										if (!PDF_PatternFillStroke(tmpOut, ite, 1))
-											return false;
-										PutPage(tmpOut);
-										PutPage(SetClipPath(ite, false));
-										PutPage("S\n");
-									}
-								}
-								else if (ite->GrTypeStroke > 0)
-								{
-									if (!PDF_GradientFillStroke(tmpOut, ite, true))
-										return false;
-									PutPage("q\n");
 									PutPage(tmpOut);
-									PutPage(SetClipPath(ite, false));
-									PutPage("S\n");
-									PutPage("Q\n");
-								}
-								else if (ite->lineColor() != CommonStrings::None)
-								{
 									PutPage(SetClipPath(ite, false));
 									PutPage("S\n");
 								}
 							}
-							else
+							else if (ite->GrTypeStroke > 0)
 							{
-								multiLine ml = doc.MLineStyles[ite->NamedLStyle];
-								for (int it = ml.size()-1; it > -1; it--)
+								if (!PDF_GradientFillStroke(tmpOut, ite, true))
+									return false;
+								PutPage("q\n");
+								PutPage(tmpOut);
+								PutPage(SetClipPath(ite, false));
+								PutPage("S\n");
+								PutPage("Q\n");
+							}
+							else if (ite->lineColor() != CommonStrings::None)
+							{
+								PutPage(SetClipPath(ite, false));
+								PutPage("S\n");
+							}
+						}
+						else
+						{
+							multiLine ml = doc.MLineStyles[ite->NamedLStyle];
+							for (int it = ml.size()-1; it > -1; it--)
+							{
+								if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
 								{
-									if ((ml[it].Color != CommonStrings::None) && (ml[it].Width != 0))
-									{
-										PutPage(setStrokeMulti(&ml[it]));
-										PutPage(SetClipPath(ite, false));
-										PutPage("S\n");
-									}
+									PutPage(setStrokeMulti(&ml[it]));
+									PutPage(SetClipPath(ite, false));
+									PutPage("S\n");
 								}
 							}
 						}
-						if (ite->startArrowIndex() != 0)
+					}
+					if (ite->startArrowIndex() != 0)
+					{
+						FPoint Start = ite->PoLine.point(0);
+						for (int xx = 1; xx < ite->PoLine.size(); xx += 2)
 						{
-							FPoint Start = ite->PoLine.point(0);
-							for (int xx = 1; xx < ite->PoLine.size(); xx += 2)
+							FPoint Vector = ite->PoLine.point(xx);
+							if ((Start.x() != Vector.x()) || (Start.y() != Vector.y()))
 							{
-								FPoint Vector = ite->PoLine.point(xx);
-								if ((Start.x() != Vector.x()) || (Start.y() != Vector.y()))
-								{
-									double r = atan2(Start.y()-Vector.y(),Start.x()-Vector.x())*(180.0/M_PI);
-									QTransform arrowTrans;
-									arrowTrans.translate(Start.x(), Start.y());
-									arrowTrans.rotate(r);
-									arrowTrans.scale(ite->startArrowScale() / 100.0, ite->startArrowScale() / 100.0);
-									PutPage(drawArrow(ite, arrowTrans, ite->startArrowIndex()));
-									break;
-								}
+								double r = atan2(Start.y()-Vector.y(),Start.x()-Vector.x())*(180.0/M_PI);
+								QTransform arrowTrans;
+								arrowTrans.translate(Start.x(), Start.y());
+								arrowTrans.rotate(r);
+								arrowTrans.scale(ite->startArrowScale() / 100.0, ite->startArrowScale() / 100.0);
+								PutPage(drawArrow(ite, arrowTrans, ite->startArrowIndex()));
+								break;
 							}
 						}
-						if (ite->endArrowIndex() != 0)
+					}
+					if (ite->endArrowIndex() != 0)
+					{
+						FPoint End = ite->PoLine.point(ite->PoLine.size()-2);
+						for (uint xx = ite->PoLine.size()-1; xx > 0; xx -= 2)
 						{
-							FPoint End = ite->PoLine.point(ite->PoLine.size()-2);
-							for (uint xx = ite->PoLine.size()-1; xx > 0; xx -= 2)
+							FPoint Vector = ite->PoLine.point(xx);
+							if ((End.x() != Vector.x()) || (End.y() != Vector.y()))
 							{
-								FPoint Vector = ite->PoLine.point(xx);
-								if ((End.x() != Vector.x()) || (End.y() != Vector.y()))
-								{
-									double r = atan2(End.y()-Vector.y(),End.x()-Vector.x())*(180.0/M_PI);
-									QTransform arrowTrans;
-									arrowTrans.translate(End.x(), End.y());
-									arrowTrans.rotate(r);
-									arrowTrans.scale(ite->endArrowScale() / 100.0, ite->endArrowScale() / 100.0);
-									PutPage(drawArrow(ite, arrowTrans, ite->endArrowIndex()));
-									break;
-								}
+								double r = atan2(End.y()-Vector.y(),End.x()-Vector.x())*(180.0/M_PI);
+								QTransform arrowTrans;
+								arrowTrans.translate(End.x(), End.y());
+								arrowTrans.rotate(r);
+								arrowTrans.scale(ite->endArrowScale() / 100.0, ite->endArrowScale() / 100.0);
+								PutPage(drawArrow(ite, arrowTrans, ite->endArrowIndex()));
+								break;
 							}
 						}
-						break;
-					case PageItem::PathText:
-					case PageItem::OSGFrame:
-					case PageItem::Table:
-						break;
-					case PageItem::Symbol:
-						if (doc.docPatterns.contains(ite->pattern()))
+					}
+					break;
+				case PageItem::PathText:
+				case PageItem::OSGFrame:
+				case PageItem::Table:
+					break;
+				case PageItem::Symbol:
+					if (doc.docPatterns.contains(ite->pattern()))
+					{
+						QByteArray tmpD;
+						ScPattern pat = doc.docPatterns[ite->pattern()];
+						PutPage("q\n");
+						PutPage(SetPathAndClip(ite));
+						if (ite->imageFlippedH())
+							PutPage("-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n");
+						if (ite->imageFlippedV())
+							PutPage("1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n");
+						QTransform trans;
+						trans.scale(ite->width() / pat.width, ite->height() / pat.height);
+						trans.translate(0.0, -ite->height());
+				//		trans.translate(pat.items.at(0)->gXpos, -pat.items.at(0)->gYpos);
+						PutPage(FToStr(trans.m11())+" "+FToStr(trans.m12())+" "+FToStr(trans.m21())+" "+FToStr(trans.m22())+" "+FToStr(trans.dx())+" "+FToStr(trans.dy())+" cm\n");
+						for (int em = 0; em < pat.items.count(); ++em)
 						{
-							QByteArray tmpD;
-							ScPattern pat = doc.docPatterns[ite->pattern()];
-							PutPage("q\n");
+							PageItem* embedded = pat.items.at(em);
+							tmpD += "q\n";
+							tmpD +=  "1 0 0 1 " + FToStr(embedded->gXpos) + " " + FToStr(ite->height() - embedded->gYpos) + " cm\n";
+							QByteArray output;
+							if (!PDF_ProcessItem(output, embedded, pag, pag->pageNr(), true))
+								return false;
+							tmpD += output;
+							tmpD += "Q\n";
+						}
+						if (Options.supportsTransparency())
+							PutPage(Write_TransparencyGroup(ite->fillTransparency(), ite->fillBlendmode(), tmpD, ite));
+						else
+							PutPage(tmpD);
+						PutPage("Q\n");
+					}
+					break;
+				case PageItem::Group:
+					if (ite->groupItemList.count() > 0)
+					{
+						QByteArray tmpD;
+						PutPage("q\n");
+						if (ite->groupClipping())
 							PutPage(SetPathAndClip(ite));
-							if (ite->imageFlippedH())
-								PutPage("-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n");
-							if (ite->imageFlippedV())
-								PutPage("1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n");
-							QTransform trans;
-							trans.scale(ite->width() / pat.width, ite->height() / pat.height);
-							trans.translate(0.0, -ite->height());
-					//		trans.translate(pat.items.at(0)->gXpos, -pat.items.at(0)->gYpos);
-							PutPage(FToStr(trans.m11())+" "+FToStr(trans.m12())+" "+FToStr(trans.m21())+" "+FToStr(trans.m22())+" "+FToStr(trans.dx())+" "+FToStr(trans.dy())+" cm\n");
-							for (int em = 0; em < pat.items.count(); ++em)
-							{
-								PageItem* embedded = pat.items.at(em);
-								tmpD += "q\n";
-								tmpD +=  "1 0 0 1 " + FToStr(embedded->gXpos) + " " + FToStr(ite->height() - embedded->gYpos) + " cm\n";
-								QByteArray output;
-								if (!PDF_ProcessItem(output, embedded, pag, pag->pageNr(), true))
-									return false;
-								tmpD += output;
-								tmpD += "Q\n";
-							}
-							if (Options.supportsTransparency())
-								PutPage(Write_TransparencyGroup(ite->fillTransparency(), ite->fillBlendmode(), tmpD, ite));
-							else
-								PutPage(tmpD);
-							PutPage("Q\n");
+						if (ite->imageFlippedH())
+							PutPage("-1 0 0 1 " + FToStr(ite->width()) + " 0 cm\n");
+						if (ite->imageFlippedV())
+							PutPage("1 0 0 -1 0 " + FToStr(-ite->height()) + " cm\n");
+						QTransform trans;
+						trans.scale(ite->width() / ite->groupWidth, ite->height() / ite->groupHeight);
+						trans.translate(0.0, -ite->height());
+						PutPage(FToStr(trans.m11()) + " " + FToStr(trans.m12()) + " " + FToStr(trans.m21()) + " " + FToStr(trans.m22()) + " " + FToStr(trans.dx()) + " " + FToStr(trans.dy()) + " cm\n");
+						groupStackPos.push(QPointF(ite->xPos(), ite->height()));
+						for (int em = 0; em < ite->groupItemList.count(); ++em)
+						{
+							PageItem* embedded = ite->groupItemList.at(em);
+							tmpD += "q\n";
+							tmpD +=  "1 0 0 1 " + FToStr(embedded->gXpos) + " " + FToStr(ite->height() - embedded->gYpos) + " cm\n";
+							QByteArray output;
+							patternStackPos.push(QPointF(embedded->gXpos, ite->height() - embedded->gYpos));
+							inPattern++; // We are not really exporting a pattern, but that fix gradient export
+							if (!PDF_ProcessItem(output, embedded, pag, pag->pageNr(), true, true))
+								return false;
+							inPattern--;
+							patternStackPos.pop();
+							tmpD += output;
+							tmpD += "Q\n";
 						}
-						break;
-					case PageItem::Group:
-						if (ite->groupItemList.count() > 0)
-						{
-							QByteArray tmpD;
-							PutPage("q\n");
-							if (ite->groupClipping())
-								PutPage(SetPathAndClip(ite));
-							if (ite->imageFlippedH())
-								PutPage("-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n");
-							if (ite->imageFlippedV())
-								PutPage("1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n");
-							QTransform trans;
-							trans.scale(ite->width() / ite->groupWidth, ite->height() / ite->groupHeight);
-							trans.translate(0.0, -ite->height());
-							PutPage(FToStr(trans.m11())+" "+FToStr(trans.m12())+" "+FToStr(trans.m21())+" "+FToStr(trans.m22())+" "+FToStr(trans.dx())+" "+FToStr(trans.dy())+" cm\n");
-							groupStackPos.push(QPointF(ite->xPos(), ite->height()));
-							for (int em = 0; em < ite->groupItemList.count(); ++em)
-							{
-								PageItem* embedded = ite->groupItemList.at(em);
-								tmpD += "q\n";
-								tmpD +=  "1 0 0 1 "+FToStr(embedded->gXpos)+" "+FToStr(ite->height() - embedded->gYpos)+" cm\n";
-								QByteArray output;
-								patternStackPos.push(QPointF(embedded->gXpos, ite->height() - embedded->gYpos));
-								inPattern++; // We are not really exporting a pattern, but that fix gradient export
-								if (!PDF_ProcessItem(output, embedded, pag, pag->pageNr(), true, true))
-									return false;
-								inPattern--;
-								patternStackPos.pop();
-								tmpD += output;
-								tmpD += "Q\n";
-							}
-							groupStackPos.pop();
-							if (Options.supportsTransparency())
-								PutPage(Write_TransparencyGroup(ite->fillTransparency(), ite->fillBlendmode(), tmpD, ite));
-							else
-								PutPage(Write_FormXObject(tmpD, ite));
-							PutPage("Q\n");
-						}
-						break;
-					case PageItem::Multiple:
-						Q_ASSERT(false);
-						break;
-					default:
-						break;
-				}
-				PutPage("Q\n");
-				PdfId templateObject = writer.newObject();
-				writer.startObj(templateObject);
-				PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
-				double bleedRight = 0.0;
-				double bleedLeft  = 0.0;
-				getBleeds(ActPageP, bleedLeft, bleedRight);
-				double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
-				double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
-				PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
+						groupStackPos.pop();
+						if (Options.supportsTransparency())
+							PutPage(Write_TransparencyGroup(ite->fillTransparency(), ite->fillBlendmode(), tmpD, ite));
+						else
+							PutPage(Write_FormXObject(tmpD, ite));
+						PutPage("Q\n");
+					}
+					break;
+				case PageItem::Multiple:
+					Q_ASSERT(false);
+					break;
+				default:
+					break;
+			}
+			PutPage("Q\n");
+			PdfId templateObject = writer.newObject();
+			writer.startObj(templateObject);
+			PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
+			double bleedRight = 0.0;
+			double bleedLeft  = 0.0;
+			getBleeds(ActPageP, bleedLeft, bleedRight);
+			double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
+			double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
+			PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
 //				PutDoc("/BBox [ 0 0 "+FToStr(ActPageP->width())+" "+FToStr(ActPageP->height())+" ]\n");
 				
-				Pdf::ResourceDictionary dict;
-				dict.XObject.unite(pageData.ImgObjects);
-				dict.XObject.unite(pageData.XObjects);
-				dict.Font = pageData.FObjects;
-				dict.Shading = Shadings;
-				dict.Pattern = Patterns;
-				dict.ExtGState = Transpar;
-				dict.ColorSpace.append(asColorSpace(ICCProfiles.values()));
-				dict.ColorSpace.append(asColorSpace(spotMap.values()));
-				writer.write("/Resources ");
-				writer.write(dict);
+			Pdf::ResourceDictionary dict;
+			dict.XObject.unite(pageData.ImgObjects);
+			dict.XObject.unite(pageData.XObjects);
+			dict.Font = pageData.FObjects;
+			dict.Shading = Shadings;
+			dict.Pattern = Patterns;
+			dict.ExtGState = Transpar;
+			dict.ColorSpace.append(asColorSpace(ICCProfiles.values()));
+			dict.ColorSpace.append(asColorSpace(spotMap.values()));
+			writer.write("/Resources ");
+			writer.write(dict);
 				
-				if (Options.Compress)
-					Content = CompressArray(Content);
-				PutDoc("/Length "+Pdf::toPdf(Content.length()+1));
-				if (Options.Compress)
-					PutDoc("\n/Filter /FlateDecode");
-				PutDoc(" >>\nstream\n"+EncStream(Content, templateObject)+"\nendstream");
-				writer.endObj(templateObject);
+			if (Options.Compress)
+				Content = CompressArray(Content);
+			PutDoc("/Length "+Pdf::toPdf(Content.length()+1));
+			if (Options.Compress)
+				PutDoc("\n/Filter /FlateDecode");
+			PutDoc(" >>\nstream\n"+EncStream(Content, templateObject)+"\nendstream");
+			writer.endObj(templateObject);
 				
-				int pIndex = doc.MasterPages.indexOf((ScPage* const) pag) + 1;
-				QByteArray name = QByteArray("master_page_obj_%1_%2")
-				                            .replace("%1", Pdf::toPdf(pIndex))
-				                            .replace("%2", Pdf::toPdf(qHash(ite)));
-				pageData.XObjects[name] = templateObject;
-			}
-			if (Options.exportsLayers())
-				PutPage("EMC\n");
-		}
-		Lnr++;
+			int pIndex = doc.MasterPages.indexOf((ScPage* const) pag) + 1;
+			QByteArray name = QByteArray("master_page_obj_%1_%2")
+				                        .replace("%1", Pdf::toPdf(pIndex))
+				                        .replace("%2", Pdf::toPdf(qHash(ite)));
+			pageData.XObjects[name] = templateObject;
+		}
+		if (Options.exportsLayers())
+			PutPage("EMC\n");
 	}
 	return true;
 }
@@ -3846,93 +3844,94 @@
 
 	if (!Options.MirrorH)
 		PutPage("1 0 0 1 0 0 cm\n");
-	if (layer.isPrintable || Options.exportsLayers())
-	{
-		if (Options.exportsLayers())
-			PutPage("/OC /" + OCGEntries[layer.Name].Name + " BDC\n");
-		for (int am = 0; am < pag->FromMaster.count() && !abortExport; ++am)
-		{
-			ite = pag->FromMaster.at(am);
-			if (usingGUI)
-				qApp->processEvents();
-			if ((ite->m_layerID != layer.ID) || (!ite->printEnabled()))
-				continue;
-			if ((!pag->pageNameEmpty()) && (ite->OwnPage != static_cast<int>(pag->pageNr())) && (ite->OwnPage != -1))
-				continue;
-			QByteArray name = QByteArray("/master_page_obj_%1_%2")
-			                             .replace("%1", Pdf::toPdf(mPageIndex))
-			                             .replace("%2", Pdf::toPdf(qHash(ite)));
-			if ((!ite->asTextFrame()) && (!ite->asPathText()) && (!ite->asTable()))
-			{
-				if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
-					content += (name + " Do\n");
-				else
-					PutPage(name + " Do\n");
-			}
+	if (!layer.isPrintable && !Options.exportsLayers())
+		return true;
+
+	if (Options.exportsLayers())
+		PutPage("/OC /" + OCGEntries[layer.Name].Name + " BDC\n");
+	for (int am = 0; am < pag->FromMaster.count() && !abortExport; ++am)
+	{
+		ite = pag->FromMaster.at(am);
+		if (usingGUI)
+			qApp->processEvents();
+		if ((ite->m_layerID != layer.ID) || (!ite->printEnabled()))
+			continue;
+		if ((!pag->pageNameEmpty()) && (ite->OwnPage != pag->pageNr()) && (ite->OwnPage != -1))
+			continue;
+		QByteArray name = QByteArray("/master_page_obj_%1_%2")
+			                            .replace("%1", Pdf::toPdf(mPageIndex))
+			                            .replace("%2", Pdf::toPdf(qHash(ite)));
+		if ((!ite->asTextFrame()) && (!ite->asPathText()) && (!ite->asTable()))
+		{
+			if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
+				content += (name + " Do\n");
 			else
-			{
-				double oldX = ite->xPos();
-				double oldY = ite->yPos();
-				double OldBX = ite->BoundingX;
-				double OldBY = ite->BoundingY;
-				ite->setXPos(ite->xPos() - mPage->xOffset() + pag->xOffset(), true);
-				ite->setYPos(ite->yPos() - mPage->yOffset() + pag->yOffset(), true);
-				if (!PDF_ProcessItem(output, ite, pag, pag->pageNr()))
-					return false;
-				if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
-					content += output;
-				else
-					PutPage(output);
-				ite->setXYPos(oldX, oldY, true);
-				ite->BoundingX = OldBX;
-				ite->BoundingY = OldBY;
-			}
-		}
-		// Couldn't we use Write_TransparencyGroup() here?
-		if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
-		{
-			PdfId Gobj = writer.newObject();
-			writer.startObj(Gobj);
-			PutDoc("<< /Type /Group\n");
-			PutDoc("/S /Transparency\n");
-			PutDoc("/I false\n");
-			PutDoc("/K false\n");
-			PutDoc(">>");
-			writer.endObj(Gobj);
-			QByteArray ShName = ResNam+QByteArray::number(ResCount);
-			ResCount++;
-			Transpar[ShName] = writeGState("/CA "+FToStr(layer.transparency)+"\n"
-										   + "/ca "+FToStr(layer.transparency)+"\n"
-										   + "/SMask /None\n/AIS false\n/OPM 1\n"
-										   + "/BM /" + blendMode(layer.blendMode) + "\n");
-			PdfId formObject = writer.newObject();
-			writer.startObj(formObject);
-			PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
-			double bleedRight = 0.0;
-			double bleedLeft  = 0.0;
-			getBleeds(ActPageP, bleedLeft, bleedRight);
-			double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
-			double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
-			PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
-			PutDoc("/Group "+QByteArray::number(Gobj)+" 0 R\n");
-			if (Options.Compress)
-				content = CompressArray(content);
-			PutDoc("/Length "+QByteArray::number(content.length()+1));
-			if (Options.Compress)
-				PutDoc("\n/Filter /FlateDecode");
-			PutDoc(" >>\nstream\n"+EncStream(content, formObject)+"\nendstream");
-			writer.endObj(formObject);
-			QByteArray name = ResNam+QByteArray::number(ResCount);
-			ResCount++;
-			pageData.XObjects[name] = formObject;
-			PutPage("q\n");
-			PutPage("/"+ShName+" gs\n");
-			PutPage("/"+name+" Do\n");
-			PutPage("Q\n");
-		}
-		if (Options.exportsLayers())
-			PutPage("EMC\n");
-	}
+				PutPage(name + " Do\n");
+		}
+		else
+		{
+			double oldX = ite->xPos();
+			double oldY = ite->yPos();
+			double OldBX = ite->BoundingX;
+			double OldBY = ite->BoundingY;
+			ite->setXPos(ite->xPos() - mPage->xOffset() + pag->xOffset(), true);
+			ite->setYPos(ite->yPos() - mPage->yOffset() + pag->yOffset(), true);
+			if (!PDF_ProcessItem(output, ite, pag, pag->pageNr()))
+				return false;
+			if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
+				content += output;
+			else
+				PutPage(output);
+			ite->setXYPos(oldX, oldY, true);
+			ite->BoundingX = OldBX;
+			ite->BoundingY = OldBY;
+		}
+	}
+	// Couldn't we use Write_TransparencyGroup() here?
+	if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
+	{
+		PdfId Gobj = writer.newObject();
+		writer.startObj(Gobj);
+		PutDoc("<< /Type /Group\n");
+		PutDoc("/S /Transparency\n");
+		PutDoc("/I false\n");
+		PutDoc("/K false\n");
+		PutDoc(">>");
+		writer.endObj(Gobj);
+		QByteArray ShName = ResNam+QByteArray::number(ResCount);
+		ResCount++;
+		Transpar[ShName] = writeGState("/CA "+FToStr(layer.transparency)+"\n"
+										+ "/ca "+FToStr(layer.transparency)+"\n"
+										+ "/SMask /None\n/AIS false\n/OPM 1\n"
+										+ "/BM /" + blendMode(layer.blendMode) + "\n");
+		PdfId formObject = writer.newObject();
+		writer.startObj(formObject);
+		PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
+		double bleedRight = 0.0;
+		double bleedLeft  = 0.0;
+		getBleeds(ActPageP, bleedLeft, bleedRight);
+		double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
+		double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
+		PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
+		PutDoc("/Group "+QByteArray::number(Gobj)+" 0 R\n");
+		if (Options.Compress)
+			content = CompressArray(content);
+		PutDoc("/Length "+QByteArray::number(content.length()+1));
+		if (Options.Compress)
+			PutDoc("\n/Filter /FlateDecode");
+		PutDoc(" >>\nstream\n"+EncStream(content, formObject)+"\nendstream");
+		writer.endObj(formObject);
+		QByteArray name = ResNam+QByteArray::number(ResCount);
+		ResCount++;
+		pageData.XObjects[name] = formObject;
+		PutPage("q\n");
+		PutPage("/"+ShName+" gs\n");
+		PutPage("/"+name+" Do\n");
+		PutPage("Q\n");
+	}
+	if (Options.exportsLayers())
+		PutPage("EMC\n");
+
 	return true;
 }
 
@@ -3944,72 +3943,73 @@
 
 	int pc_exportpagesitems = usingGUI ? progressDialog->progress("ECPI") : 0;
 	PItems = (pag->pageNameEmpty()) ? doc.DocItems : doc.MasterItems;
-	if (layer.isPrintable || Options.exportsLayers())
-	{
-		QByteArray inh;
-		if (Options.exportsLayers())
-			PutPage("/OC /" + OCGEntries[layer.Name].Name + " BDC\n");
-		for (int a = 0; a < PItems.count() && !abortExport; ++a)
-		{
-			ite = PItems.at(a);
-			if (ite->m_layerID != layer.ID)
-				continue;
-			if (usingGUI)
-			{
-				progressDialog->setProgress("ECPI", ++pc_exportpagesitems);
-				qApp->processEvents();
-			}
-			if (!PDF_ProcessItem(output, ite, pag, PNr))
-				return false;
-			if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
-				inh += output;
-			else
-				PutPage(output);
-		}
-		// Couldn't we use Write_TransparencyGroup() here?
+	if (!layer.isPrintable && !Options.exportsLayers())
+		return true;
+
+	QByteArray inh;
+	if (Options.exportsLayers())
+		PutPage("/OC /" + OCGEntries[layer.Name].Name + " BDC\n");
+	for (int a = 0; a < PItems.count() && !abortExport; ++a)
+	{
+		ite = PItems.at(a);
+		if (ite->m_layerID != layer.ID)
+			continue;
+		if (usingGUI)
+		{
+			progressDialog->setProgress("ECPI", ++pc_exportpagesitems);
+			qApp->processEvents();
+		}
+		if (!PDF_ProcessItem(output, ite, pag, PNr))
+			return false;
 		if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
-		{
-			int Gobj = writer.newObject();
-			writer.startObj(Gobj);
-			PutDoc("<< /Type /Group\n");
-			PutDoc("/S /Transparency\n");
-			PutDoc("/I false\n");
-			PutDoc("/K false\n");
-			PutDoc(">>");
-			writer.endObj(Gobj);
-			QByteArray ShName = ResNam+Pdf::toPdf(ResCount);
-			ResCount++;
-			Transpar[ShName] = writeGState("/CA "+FToStr(layer.transparency)+"\n"
-										   + "/ca "+FToStr(layer.transparency)+"\n"
-										   + "/SMask /None\n/AIS false\n/OPM 1\n"
-										   + "/BM /" + blendMode(layer.blendMode) + "\n");
-			PdfId formObject = writer.newObject();
-			writer.startObj(formObject);
-			PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
-			double bleedRight = 0.0;
-			double bleedLeft  = 0.0;
-			getBleeds(ActPageP, bleedLeft, bleedRight);
-			double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
-			double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
-			PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
-			PutDoc("/Group "+Pdf::toPdf(Gobj)+" 0 R\n");
-			if (Options.Compress)
-				inh = CompressArray(inh);
-			PutDoc("/Length "+Pdf::toPdf(inh.length()+1));
-			if (Options.Compress)
-				PutDoc("\n/Filter /FlateDecode");
-			PutDoc(" >>\nstream\n"+EncStream(inh, formObject)+"\nendstream");
-			writer.endObj(formObject);
-			QByteArray name = Pdf::toPdfDocEncoding(layer.Name.simplified().replace(QRegExp("[\\s\\/\\{\\[\\]\\}\\<\\>\\(\\)\\%]"), "_")) + Pdf::toPdf(layer.ID) + Pdf::toPdf(PNr);
-			pageData.XObjects[name] = formObject;
-			PutPage("q\n");
-			PutPage(Pdf::toName(ShName) + " gs\n");
-			PutPage(Pdf::toName(name) + " Do\n");
-			PutPage("Q\n");
-		}
-		if (Options.exportsLayers())
-			PutPage("EMC\n");
-	}
+			inh += output;
+		else
+			PutPage(output);
+	}
+	// Couldn't we use Write_TransparencyGroup() here?
+	if (((layer.transparency != 1) || (layer.blendMode != 0)) && Options.supportsTransparency())
+	{
+		int Gobj = writer.newObject();
+		writer.startObj(Gobj);
+		PutDoc("<< /Type /Group\n");
+		PutDoc("/S /Transparency\n");
+		PutDoc("/I false\n");
+		PutDoc("/K false\n");
+		PutDoc(">>");
+		writer.endObj(Gobj);
+		QByteArray ShName = ResNam+Pdf::toPdf(ResCount);
+		ResCount++;
+		Transpar[ShName] = writeGState("/CA "+FToStr(layer.transparency)+"\n"
+										+ "/ca "+FToStr(layer.transparency)+"\n"
+										+ "/SMask /None\n/AIS false\n/OPM 1\n"
+										+ "/BM /" + blendMode(layer.blendMode) + "\n");
+		PdfId formObject = writer.newObject();
+		writer.startObj(formObject);
+		PutDoc("<<\n/Type /XObject\n/Subtype /Form\n/FormType 1\n");
+		double bleedRight = 0.0;
+		double bleedLeft  = 0.0;
+		getBleeds(ActPageP, bleedLeft, bleedRight);
+		double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
+		double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
+		PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
+		PutDoc("/Group "+Pdf::toPdf(Gobj)+" 0 R\n");
+		if (Options.Compress)
+			inh = CompressArray(inh);
+		PutDoc("/Length "+Pdf::toPdf(inh.length()+1));
+		if (Options.Compress)
+			PutDoc("\n/Filter /FlateDecode");
+		PutDoc(" >>\nstream\n"+EncStream(inh, formObject)+"\nendstream");
+		writer.endObj(formObject);
+		QByteArray name = Pdf::toPdfDocEncoding(layer.Name.simplified().replace(QRegExp("[\\s\\/\\{\\[\\]\\}\\<\\>\\(\\)\\%]"), "_")) + Pdf::toPdf(layer.ID) + Pdf::toPdf(PNr);
+		pageData.XObjects[name] = formObject;
+		PutPage("q\n");
+		PutPage(Pdf::toName(ShName) + " gs\n");
+		PutPage(Pdf::toName(name) + " Do\n");
+		PutPage("Q\n");
+	}
+	if (Options.exportsLayers())
+		PutPage("EMC\n");
+
 	return true;
 }
 
@@ -4021,8 +4021,8 @@
 	double bleedRight = 0.0;
 	double bleedLeft  = 0.0;
 	getBleeds(ActPageP, bleedLeft, bleedRight);
-	double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
-	double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
+	double maxBoxX = ActPageP->width() + bleedRight + bleedLeft;
+	double maxBoxY = ActPageP->height() + Options.bleeds.top() + Options.bleeds.bottom();
 	if (controlItem != nullptr)
 	{
 		double groupW, groupH;
@@ -4030,18 +4030,18 @@
 		{
 			groupW = std::max(ActPageP->width(), std::max(controlItem->groupWidth,  controlItem->width()));
 			groupH = std::max(controlItem->groupHeight, controlItem->height());
-			PutDoc("/BBox [ "+FToStr(0)+" "+FToStr(-groupH)+" "+FToStr(groupW)+" "+FToStr(groupH)+" ]\n");
+			PutDoc("/BBox [ " + FToStr(0) + " " + FToStr(-groupH) + " " + FToStr(groupW) + " " + FToStr(groupH) + " ]\n");
 		}
 		if (controlItem->isSymbol())
 		{
 			ScPattern pat = doc.docPatterns[controlItem->pattern()];
 			groupW = std::max(pat.width,  controlItem->width());
 			groupH = std::max(pat.height, controlItem->height());
-			PutDoc("/BBox [ "+FToStr(0)+" "+FToStr(-groupH)+" "+FToStr(groupW)+" "+FToStr(groupH)+" ]\n");
+			PutDoc("/BBox [ " + FToStr(0) + " " + FToStr(-groupH) + " " + FToStr(groupW) + " " + FToStr(groupH) + " ]\n");
 		}
 	}
 	else
-		PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
+		PutDoc("/BBox [ " + FToStr(-bleedLeft) + " " + FToStr(-Options.bleeds.bottom()) + " " + FToStr(maxBoxX) + " " + FToStr(maxBoxY) + " ]\n");
 	PutDoc("/Resources ");
 	Pdf::ResourceDictionary dict;
 	dict.XObject.unite(pageData.ImgObjects);
@@ -4109,8 +4109,8 @@
 	double bleedRight = 0.0;
 	double bleedLeft  = 0.0;
 	getBleeds(ActPageP, bleedLeft, bleedRight);
-	double maxBoxX = ActPageP->width()+bleedRight+bleedLeft;
-	double maxBoxY = ActPageP->height()+Options.bleeds.top()+Options.bleeds.bottom();
+	double maxBoxX = ActPageP->width() + bleedRight + bleedLeft;
+	double maxBoxY = ActPageP->height() + Options.bleeds.top() + Options.bleeds.bottom();
 	if (controlItem != nullptr)
 	{
 		double groupW, groupH;
@@ -4118,19 +4118,19 @@
 		{
 			groupW = std::max(ActPageP->width(), std::max(controlItem->groupWidth,  controlItem->width()));
 			groupH = std::max(controlItem->groupHeight, controlItem->height());
-			PutDoc("/BBox [ "+FToStr(0)+" "+FToStr(-groupH)+" "+FToStr(groupW)+" "+FToStr(groupH)+" ]\n");
+			PutDoc("/BBox [ " + FToStr(0) + " " + FToStr(-groupH) + " " + FToStr(groupW) + " " + FToStr(groupH) + " ]\n");
 		}
 		if (controlItem->isSymbol())
 		{
 			ScPattern pat = doc.docPatterns[controlItem->pattern()];
 			groupW = std::max(pat.width,  controlItem->width());
 			groupH = std::max(pat.height, controlItem->height());
-			PutDoc("/BBox [ "+FToStr(0)+" "+FToStr(-groupH)+" "+FToStr(groupW)+" "+FToStr(groupH)+" ]\n");
+			PutDoc("/BBox [ " + FToStr(0) + " " + FToStr(-groupH) + " " + FToStr(groupW) + " " + FToStr(groupH) + " ]\n");
 		}
 	}
 	else
-		PutDoc("/BBox [ "+FToStr(-bleedLeft)+" "+FToStr(-Options.bleeds.bottom())+" "+FToStr(maxBoxX)+" "+FToStr(maxBoxY)+" ]\n");
-	PutDoc("/Group "+Pdf::toObjRef(Gobj)+"\n");
+		PutDoc("/BBox [ " + FToStr(-bleedLeft) + " " + FToStr(-Options.bleeds.bottom()) + " " + FToStr(maxBoxX) + " " + FToStr(maxBoxY) + " ]\n");
+	PutDoc("/Group " + Pdf::toObjRef(Gobj) + "\n");
 	PutDoc("/Resources ");
 	Pdf::ResourceDictionary dict;
 	dict.XObject.unite(pageData.ImgObjects);
@@ -4379,7 +4379,7 @@
 			output = tmp;
 			return true;
 		}
-		if ((!pag->pageNameEmpty()) && (ite->OwnPage != static_cast<int>(pag->pageNr())) && (ite->OwnPage != -1))
+		if ((!pag->pageNameEmpty()) && (ite->OwnPage != pag->pageNr()) && (ite->OwnPage != -1))
 		{
 			output = tmp;
 			return true;
@@ -4463,17 +4463,17 @@
 	}
 	if (!embedded)
 	{
-		tmp += "1 0 0 1 "+FToStr(ite->xPos() - pag->xOffset())+" "+FToStr(pag->height() - (ite->yPos()  - pag->yOffset()))+" cm\n";
+		tmp += "1 0 0 1 " + FToStr(ite->xPos() - pag->xOffset()) + " " + FToStr(pag->height() - (ite->yPos()  - pag->yOffset())) + " cm\n";
 	}
 	if (ite->rotation() != 0)
 	{
-		double sr = sin(-ite->rotation()* M_PI / 180.0);
-		double cr = cos(-ite->rotation()* M_PI / 180.0);
+		double sr = sin(-ite->rotation() * M_PI / 180.0);
+		double cr = cos(-ite->rotation() * M_PI / 180.0);
 		if ((cr * cr) < 0.000001)
 			cr = 0;
 		if ((sr * sr) < 0.000001)
 			sr = 0;
-		tmp += FToStr(cr)+" "+FToStr(sr)+" "+FToStr(-sr)+" "+FToStr(cr)+" 0 0 cm\n";
+		tmp += FToStr(cr) + " " + FToStr(sr) + " " + FToStr(-sr) + " " + FToStr(cr) + " 0 0 cm\n";
 	}
 	tmp += PDF_PutSoftShadow(ite);
 	switch (ite->itemType())
@@ -5161,19 +5161,19 @@
 				if (ite->groupClipping())
 					tmp += SetPathAndClip(ite);
 				if (ite->imageFlippedH())
-					tmp += "-1 0 0 1 "+FToStr(ite->width())+" 0 cm\n";
+					tmp += "-1 0 0 1 " + FToStr(ite->width()) + " 0 cm\n";
 				if (ite->imageFlippedV())
-					tmp += "1 0 0 -1 0 "+FToStr(-ite->height())+" cm\n";
+					tmp += "1 0 0 -1 0 " + FToStr(-ite->height()) + " cm\n";
 				QTransform trans;
 				trans.scale(ite->width() / ite->groupWidth, ite->height() / ite->groupHeight);
 				trans.translate(0.0, -ite->height());
-				tmp += FToStr(trans.m11())+" "+FToStr(trans.m12())+" "+FToStr(trans.m21())+" "+FToStr(trans.m22())+" "+FToStr(trans.dx())+" "+FToStr(trans.dy())+" cm\n";
+				tmp += FToStr(trans.m11()) + " " + FToStr(trans.m12()) + " " + FToStr(trans.m21()) + " " + FToStr(trans.m22()) + " " + FToStr(trans.dx()) + " " + FToStr(trans.dy()) + " cm\n";
 				groupStackPos.push(QPointF(ite->xPos(), ite->height()));
 				for (int em = 0; em < ite->groupItemList.count(); ++em)
 				{
 					PageItem* embedded = ite->groupItemList.at(em);
 					tmpD += "q\n";
-					tmpD +=  "1 0 0 1 "+FToStr(embedded->gXpos)+" "+FToStr(ite->height() - embedded->gYpos)+" cm\n";
+					tmpD +=  "1 0 0 1 " + FToStr(embedded->gXpos) + " " + FToStr(ite->height() - embedded->gYpos) + " cm\n";
 					QByteArray output;
 					if (inPattern > 0)
 						patternStackPos.push(QPointF(embedded->gXpos, ite->height() - embedded->gYpos));
@@ -11010,13 +11010,11 @@
 		ScLayer ll;
 		ll.isPrintable = false;
 		ll.ID = 0;
-		int Lnr = 0;
 		for (int la = 0; la < doc.Layers.count(); ++la)
 		{
 			doc.Layers.levelToLayer(ll, la);
 			dict.Properties[OCGEntries[ll.Name].Name] = OCGEntries[ll.Name].ObjNum;
 //			PutDoc("/"+OCGEntries[ll.Name].Name + " " + Pdf::toObjRef(OCGEntries[ll.Name].ObjNum) + "\n");
-			Lnr++;
 		}
 	}
 
@@ -11253,13 +11251,11 @@
 		ScLayer ll;
 		ll.isPrintable = false;
 		ll.ID = 0;
-		int Lnr = 0;
 		for (int la = 0; la < doc.Layers.count(); ++la)
 		{
 			doc.Layers.levelToLayer(ll, la);
 			if (ll.isEditable)
 				lay.prepend(Pdf::toObjRef(OCGEntries[ll.Name].ObjNum)+" ");
-			Lnr++;
 		}
 		for (int layc = 0; layc < lay.count(); ++layc)
 		{




More information about the scribus-commit mailing list