View Issue Details

IDProjectCategoryView StatusLast Update
0008902ScribusPrintingpublic2016-12-08 22:04
Reportercezaryece Assigned Tojghali  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status assignedResolutionopen 
Product Version 
Target Version1.5.4Fixed in Version 
Summary0008902: Preflight Verifier - RGB black text
DescriptionI am requesting "Check for RGB black text" option in Preflight Verifier to avoid generating text with over than pure CMYK black color.

Additionally there should be option in text importer for automatically apply pure CMYK black to all imported text.

It is specially important working with text from web.
Tagspatch, PreflightChecker
Patch

Relationships

child of 0012524 acknowledged Metabug: Preflight Verifier (1.5.0.svn) 

Activities

cezaryece

2010-11-21 12:43

developer   ~0024860

As I was requesting this feature I have made it ;-)
Patch for Preflight Verifier warning is attached (1.3.9).
It add warning if text with any RGB or registration colour is found.

cezaryece

2010-11-21 13:57

developer   ~0024862

In fact this check only for "Printer" output has any sense. But PV is invoked before PDF output dialogbox appears, where we can change target of output.
For me this warning is not very big problem.

Also I dont think this feature need on/off switch in PV preferences, but if someone need it - it can be done. But till now I dont know how to save settings, so I dont include this in patch.

plinnell

2010-11-21 14:29

viewer   ~0024863

Jean please review and comment.

Thanks for the patch a good idea.

cezaryece

2010-11-23 12:36

developer  

documentcheck_RGBtext.diff (3,187 bytes)
Index: Scribus/scribus/checkDocument.cpp
===================================================================
--- Scribus/scribus/checkDocument.cpp	(wersja 15812)
+++ Scribus/scribus/checkDocument.cpp	(kopia robocza)
@@ -269,6 +269,10 @@
 			item->setText(COLUMN_PROBLEM, textOverflow);
 			item->setIcon(COLUMN_ITEM, onlyWarning );
 			break;
+		case RGBtext:
+			item->setText(COLUMN_PROBLEM, textRGB);
+			item->setIcon(COLUMN_ITEM, onlyWarning );
+			break;
 		case ObjectNotOnPage:
 			item->setText(COLUMN_PROBLEM, notOnPage);
 			item->setIcon(COLUMN_ITEM, onlyWarning );
@@ -682,6 +686,7 @@
 	rasterPDF = tr("Object is a placed PDF");
 	isGIF = tr("Image is GIF");
 	WrongFont = tr("Annotation uses a non TrueType font");
+	textRGB = tr("Text with RGB color");
 	//isGIFtoolTip = "<qt>" + tr("GIF images are not reccomended for print. See the online docs for more info") + "</qt>";
 }
 
Index: Scribus/scribus/checkDocument.h
===================================================================
--- Scribus/scribus/checkDocument.h	(wersja 15812)
+++ Scribus/scribus/checkDocument.h	(kopia robocza)
@@ -119,6 +119,7 @@
 	//! \brief Strings for common texts in GUI dialog tree
 	QString missingGlyph;
 	QString textOverflow;
+	QString textRGB;
 	QString notOnPage;
 	QString missingImg;
 	QString emptyImg;
Index: Scribus/scribus/documentchecker.cpp
===================================================================
--- Scribus/scribus/documentchecker.cpp	(wersja 15812)
+++ Scribus/scribus/documentchecker.cpp	(kopia robocza)
@@ -192,6 +192,18 @@
 				if ((!currItem->itemText.charStyle(e).font().canRender(chr)) && (checkerSettings.checkGlyphs))
 					itemError.insert(MissingGlyph, 0);
 			}
+			for (int e = currItem->firstInFrame(); e <= currItem->lastInFrame(); ++e)
+			{
+				if (!currItem->itemText.paragraphStyle(e).isDefaultStyle())
+				{
+					ScColor col = currDoc->PageColors.value(currItem->itemText.charStyle(e).fillColor());
+					if (col.getColorModel() == colorModelRGB || col.isRegistrationColor())
+					{
+						itemError.insert(RGBtext,0);
+						break;
+					}
+				}
+			}
 #endif
 		}
 		if (itemError.count() != 0)
@@ -310,6 +322,18 @@
 				if ((!currItem->itemText.charStyle(e).font().canRender(chr)) && (checkerSettings.checkGlyphs))
 					itemError.insert(MissingGlyph, 0);
 			}
+			for (int e = currItem->firstInFrame(); e <= currItem->lastInFrame(); ++e)
+			{
+				if (!currItem->itemText.paragraphStyle(e).isDefaultStyle())
+				{
+					ScColor col = currDoc->PageColors.value(currItem->itemText.charStyle(e).fillColor());
+					if (col.getColorModel() == colorModelRGB || col.isRegistrationColor())
+					{
+						itemError.insert(RGBtext,0);
+						break;
+					}
+				}
+			}
 #endif
 		}
 		if (itemError.count() != 0)
Index: Scribus/scribus/scribusstructs.h
===================================================================
--- Scribus/scribus/scribusstructs.h	(wersja 15812)
+++ Scribus/scribus/scribusstructs.h	(kopia robocza)
@@ -390,7 +390,8 @@
 	ImageIsGIF=10,
 	BlendMode=11,
 	WrongFontInAnnotation=12,
-	OffConflictLayers=17
+	OffConflictLayers=17,
+	RGBtext=18
 } PreflightError;
 
 typedef QMap<PreflightError, int> errorCodes;

cbradney

2011-03-06 17:00

administrator   ~0025747

Code from patch looks ok to me. Jean, please review.

StefanM

2011-05-26 14:45

reporter   ~0026272

Sometimes text has more than 100% K:

What about Headlines with a deeper black (e.g. 50% C and 100% K)?

cezaryece

2011-05-27 05:11

developer   ~0026277

This feature has as main goal to check document for RGB Black texts pasted into documents from internet content - web sites and email. Often (if not always) these includes has text with RGB Black which prints very ugly in CMYK (not 100K but like black from images in all CMYK plates).

JussiP

2012-08-11 23:22

reporter   ~0028805

It would be nice if the checker would find RGB colors everywhere rather than just in text. Examples would include RGB images without color profiles, RGB colors in graphical elements and so on.

jghali

2012-08-15 20:33

administrator   ~0028822

This is something i would not put in the preflight verifier : the same way RGB values can be converted to CMYK by the exporter when choosing 'printer' target, text using RGB black could be fixed automatically by the exporter.

Issue History

Date Modified Username Field Change
2010-03-03 12:37 cezaryece New Issue
2010-03-03 19:58 christoph_s Status new => acknowledged
2010-11-21 12:43 cezaryece Note Added: 0024860
2010-11-21 13:57 cezaryece Note Added: 0024862
2010-11-21 14:28 plinnell Assigned To => jghali
2010-11-21 14:28 plinnell Status acknowledged => assigned
2010-11-21 14:29 plinnell Note Added: 0024863
2010-11-23 12:36 cezaryece File Added: documentcheck_RGBtext.diff
2011-02-20 20:31 plinnell Target Version => 1.4.1.svn
2011-02-20 20:31 plinnell Tag Attached: patch
2011-03-06 17:00 cbradney Note Added: 0025747
2011-04-16 09:57 cbradney Target Version 1.4.1.svn => 1.4.1
2011-05-26 14:45 StefanM Note Added: 0026272
2011-05-27 05:11 cezaryece Note Added: 0026277
2012-04-29 21:15 cbradney Target Version 1.4.1 => 1.4.2
2012-08-11 23:22 JussiP Note Added: 0028805
2012-08-15 20:33 jghali Note Added: 0028822
2013-01-13 21:33 cbradney Target Version 1.4.2 => 1.4.3
2013-07-04 20:26 cbradney Target Version 1.4.3 => 1.5.0
2014-07-03 19:41 Kunda Target Version 1.5.0 => 1.5.1
2014-07-10 20:41 JLuc Tag Attached: PreflightChecker
2014-09-18 22:45 Kunda Relationship added child of 0012524
2016-01-23 17:17 cbradney Target Version 1.5.1 => 1.5.3
2016-12-08 22:04 Kunda Target Version 1.5.3 => 1.5.4