Author: jghali
Date: Sat Aug  3 22:56:25 2013
New Revision: 18410

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=18410
Log:
#11694: PDF checker : Bad "font non embedded" issue

Modified:
    trunk/Scribus/scribus/documentchecker.cpp
    
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
    
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
    
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format_save.cpp
    trunk/Scribus/scribus/prefsmanager.cpp
    trunk/Scribus/scribus/prefsstructs.h
    trunk/Scribus/scribus/scribusstructs.h
    trunk/Scribus/scribus/ui/checkDocument.cpp

Modified: trunk/Scribus/scribus/documentchecker.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/documentchecker.cpp
==============================================================================
--- trunk/Scribus/scribus/documentchecker.cpp (original)
+++ trunk/Scribus/scribus/documentchecker.cpp Sat Aug  3 22:56:25 2013
@@ -68,7 +68,7 @@
        checkerSettings.ignoreOffLayers = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].ignoreOffLayers;
        checkerSettings.checkOffConflictLayers = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkOffConflictLayers;
        checkerSettings.checkNotCMYKOrSpot = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkNotCMYKOrSpot;
-       checkerSettings.checkDeviceColorsAndOutputIntend = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkDeviceColorsAndOutputIntend;
+       checkerSettings.checkDeviceColorsAndOutputIntent = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkDeviceColorsAndOutputIntent;
        checkerSettings.checkFontNotEmbedded = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkFontNotEmbedded;
        checkerSettings.checkFontIsOpenType = 
currDoc->checkerProfiles()[currDoc->curCheckProfile()].checkFontIsOpenType;
        currDoc->docItemErrors.clear();
@@ -238,7 +238,7 @@
                                                bool succeeded = 
analyst.inspectPDF(pageNum, usedColorSpaces, hasTransparency, usedFonts, imgs);
                                                if (succeeded)
                                                {
-                                                       if 
(checkerSettings.checkNotCMYKOrSpot || 
checkerSettings.checkDeviceColorsAndOutputIntend)
+                                                       if 
(checkerSettings.checkNotCMYKOrSpot || 
checkerSettings.checkDeviceColorsAndOutputIntent)
                                                        {
                                                                eColorSpaceType 
currPrintProfCS = ColorSpace_Unknown;
                                                                if 
(currDoc->HasCMS)
@@ -258,18 +258,18 @@
                                                                                
}
                                                                        }
                                                                }
-                                                               if 
(checkerSettings.checkDeviceColorsAndOutputIntend && currDoc->HasCMS)
+                                                               if 
(checkerSettings.checkDeviceColorsAndOutputIntent && currDoc->HasCMS)
                                                                {
                                                                        for 
(int i=0; i<usedColorSpaces.size(); ++i)
                                                                        {
                                                                                
if (currPrintProfCS == ColorSpace_Cmyk && (usedColorSpaces[i] == CS_DeviceRGB 
|| usedColorSpaces[i] == CS_DeviceGray))
                                                                                
{
-                                                                               
        itemError.insert(DeviceColorAndOutputIntend, 0);
+                                                                               
        itemError.insert(DeviceColorsAndOutputIntent, 0);
                                                                                
        break;
                                                                                
}
                                                                                
else if (currPrintProfCS == ColorSpace_Rgb && (usedColorSpaces[i] == 
CS_DeviceCMYK || usedColorSpaces[i] == CS_DeviceGray))
                                                                                
{
-                                                                               
        itemError.insert(DeviceColorAndOutputIntend, 0);
+                                                                               
        itemError.insert(DeviceColorsAndOutputIntent, 0);
                                                                                
        break;
                                                                                
}
                                                                        }
@@ -529,7 +529,7 @@
                                                bool succeeded = 
analyst.inspectPDF(pageNum, usedColorSpaces, hasTransparency, usedFonts, imgs);
                                                if (succeeded)
                                                {
-                                                       if 
(checkerSettings.checkNotCMYKOrSpot || 
checkerSettings.checkDeviceColorsAndOutputIntend)
+                                                       if 
(checkerSettings.checkNotCMYKOrSpot || 
checkerSettings.checkDeviceColorsAndOutputIntent)
                                                        {
                                                                int 
currPrintProfCS = -1;
                                                                if 
(currDoc->HasCMS)
@@ -549,18 +549,18 @@
                                                                                
}
                                                                        }
                                                                }
-                                                               if 
(checkerSettings.checkDeviceColorsAndOutputIntend && currDoc->HasCMS)
+                                                               if 
(checkerSettings.checkDeviceColorsAndOutputIntent && currDoc->HasCMS)
                                                                {
                                                                        for 
(int i=0; i<usedColorSpaces.size(); ++i)
                                                                        {
                                                                                
if (currPrintProfCS == ColorSpace_Cmyk && (usedColorSpaces[i] == CS_DeviceRGB 
|| usedColorSpaces[i] == CS_DeviceGray))
                                                                                
{
-                                                                               
        itemError.insert(DeviceColorAndOutputIntend, 0);
+                                                                               
        itemError.insert(DeviceColorsAndOutputIntent, 0);
                                                                                
        break;
                                                                                
}
                                                                                
else if (currPrintProfCS == ColorSpace_Rgb && (usedColorSpaces[i] == 
CS_DeviceCMYK || usedColorSpaces[i] == CS_DeviceGray))
                                                                                
{
-                                                                               
        itemError.insert(DeviceColorAndOutputIntend, 0);
+                                                                               
        itemError.insert(DeviceColorsAndOutputIntent, 0);
                                                                                
        break;
                                                                                
}
                                                                        }

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp 
(original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp 
Sat Aug  3 22:56:25 2013
@@ -1116,6 +1116,10 @@
        checkerSettings.checkForGIF       = attrs.valueAsBool("checkForGIF", 
true);
        checkerSettings.ignoreOffLayers   = 
attrs.valueAsBool("ignoreOffLayers", false);
        checkerSettings.checkOffConflictLayers = 
attrs.valueAsBool("checkOffConflictLayers", false);
+       checkerSettings.checkNotCMYKOrSpot     = 
attrs.valueAsBool("checkNotCMYKOrSpot", false);
+       checkerSettings.checkDeviceColorsAndOutputIntent = 
attrs.valueAsBool("checkDeviceColorsAndOutputIntent", false);
+       checkerSettings.checkFontNotEmbedded = 
attrs.valueAsBool("checkFontNotEmbedded", false);
+       checkerSettings.checkFontIsOpenType  = 
attrs.valueAsBool("checkFontIsOpenType", false);
        doc->set1CheckerProfile(profileName, checkerSettings);
        return true;
 }

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp 
(original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp 
Sat Aug  3 22:56:25 2013
@@ -2318,6 +2318,7 @@
 bool Scribus150Format::readCheckProfile(ScribusDoc* doc, 
ScXmlStreamAttributes& attrs)
 {
        struct CheckerPrefs checkerSettings;
+
        QString profileName = attrs.valueAsString("Name");
        if (profileName.isEmpty())
                return true;
@@ -2336,6 +2337,10 @@
        checkerSettings.checkRasterPDF    = attrs.valueAsBool("checkRasterPDF", 
true);
        checkerSettings.checkForGIF       = attrs.valueAsBool("checkForGIF", 
true);
        checkerSettings.ignoreOffLayers   = 
attrs.valueAsBool("ignoreOffLayers", false);
+       checkerSettings.checkNotCMYKOrSpot   = 
attrs.valueAsBool("checkNotCMYKOrSpot", false);
+       checkerSettings.checkDeviceColorsAndOutputIntent = 
attrs.valueAsBool("checkDeviceColorsAndOutputIntent", false);
+       checkerSettings.checkFontNotEmbedded = 
attrs.valueAsBool("checkFontNotEmbedded", false);
+       checkerSettings.checkFontIsOpenType  = 
attrs.valueAsBool("checkFontIsOpenType", false);
        doc->set1CheckerProfile(profileName, checkerSettings);
        return true;
 }
@@ -3613,8 +3618,8 @@
        isNewFormat = attrs.hasAttribute("ItemID");
        if (isNewFormat)
        {
-               LinkID.insert(attrs.valueAsInt("ItemID", 0), newItem);
                info.itemID = attrs.valueAsInt("ItemID", 0);
+               LinkID.insert(info.itemID, newItem);
        }
        info.nextItem = attrs.valueAsInt("NEXTITEM", -1);
        info.ownLink  = newItem->isTableItem ? attrs.valueAsInt("OwnLINK", 0) : 
0;

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format_save.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format_save.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format_save.cpp
 (original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format_save.cpp
 Sat Aug  3 22:56:25 2013
@@ -450,7 +450,10 @@
                docu.writeAttribute("checkRasterPDF", 
static_cast<int>(itcp.value().checkRasterPDF));
                docu.writeAttribute("checkForGIF", 
static_cast<int>(itcp.value().checkForGIF));
                docu.writeAttribute("ignoreOffLayers", 
static_cast<int>(itcp.value().ignoreOffLayers));
-               //docu.writeEndElement();
+               docu.writeAttribute("checkNotCMYKOrSpot", 
static_cast<int>(itcp.value().checkNotCMYKOrSpot));
+               docu.writeAttribute("checkDeviceColorsAndOutputIntent", 
static_cast<int>(itcp.value().checkDeviceColorsAndOutputIntent));
+               docu.writeAttribute("checkFontNotEmbedded", 
static_cast<int>(itcp.value().checkFontNotEmbedded));
+               docu.writeAttribute("checkFontIsOpenType", 
static_cast<int>(itcp.value().checkFontIsOpenType));
        }
 }
 

Modified: trunk/Scribus/scribus/prefsmanager.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/prefsmanager.cpp
==============================================================================
--- trunk/Scribus/scribus/prefsmanager.cpp (original)
+++ trunk/Scribus/scribus/prefsmanager.cpp Sat Aug  3 22:56:25 2013
@@ -1616,7 +1616,7 @@
                
dcVerifierProfile.setAttribute("MinimumResolution",ScCLocale::toQStringC(itcp.value().minResolution));
                
dcVerifierProfile.setAttribute("MaximumResolution",ScCLocale::toQStringC(itcp.value().maxResolution));
                dcVerifierProfile.setAttribute("CheckNotCMYKOrSpot", 
static_cast<int>(itcp.value().checkNotCMYKOrSpot));
-               
dcVerifierProfile.setAttribute("CheckDeviceColorsAndOutputIntend", 
static_cast<int>(itcp.value().checkDeviceColorsAndOutputIntend));
+               
dcVerifierProfile.setAttribute("CheckDeviceColorsAndOutputIntent", 
static_cast<int>(itcp.value().checkDeviceColorsAndOutputIntent));
                dcVerifierProfile.setAttribute("CheckFontNotEmbedded", 
static_cast<int>(itcp.value().checkFontNotEmbedded));
                dcVerifierProfile.setAttribute("CheckFontIsOpenType", 
static_cast<int>(itcp.value().checkFontIsOpenType));
                elem.appendChild(dcVerifierProfile);
@@ -2324,7 +2324,7 @@
                        checkerSettings.ignoreOffLayers = 
static_cast<bool>(dc.attribute("IgnoreOffLayers", "0").toInt());
                        checkerSettings.checkOffConflictLayers = 
static_cast<bool>(dc.attribute("CheckOffConflictLayers", "0").toInt());
                        checkerSettings.checkNotCMYKOrSpot = 
static_cast<bool>(dc.attribute("CheckNotCMYKOrSpot", "0").toInt());
-                       checkerSettings.checkDeviceColorsAndOutputIntend = 
static_cast<bool>(dc.attribute("CheckDeviceColorsAndOutputIntend", 
"0").toInt());
+                       checkerSettings.checkDeviceColorsAndOutputIntent = 
static_cast<bool>(dc.attribute("CheckDeviceColorsAndOutputIntent", 
"0").toInt());
                        checkerSettings.checkFontNotEmbedded = 
static_cast<bool>(dc.attribute("CheckFontNotEmbedded", "0").toInt());
                        checkerSettings.checkFontIsOpenType = 
static_cast<bool>(dc.attribute("CheckFontIsOpenType", "0").toInt());
                        appPrefs.verifierPrefs.checkerPrefsList[name] = 
checkerSettings;
@@ -2639,7 +2639,7 @@
                checkerSettings.minResolution = 144.0;
                checkerSettings.maxResolution = 2400.0;
                checkerSettings.checkNotCMYKOrSpot = false;
-               checkerSettings.checkDeviceColorsAndOutputIntend = false;
+               checkerSettings.checkDeviceColorsAndOutputIntent = false;
                checkerSettings.checkFontNotEmbedded = false;
                checkerSettings.checkFontIsOpenType = false;
                //TODO Stop translating these into settings!!!!!!!!!
@@ -2653,13 +2653,13 @@
                checkerSettings.checkTransparency = true;
                checkerSettings.checkAnnotations = true;
                checkerSettings.minResolution = 144.0;
-               checkerSettings.checkDeviceColorsAndOutputIntend = true;
+               checkerSettings.checkDeviceColorsAndOutputIntent = true;
                cp->insert( CommonStrings::PDF_X3       , checkerSettings);
                checkerSettings.checkNotCMYKOrSpot = true;
-               checkerSettings.checkDeviceColorsAndOutputIntend = false;
+               checkerSettings.checkDeviceColorsAndOutputIntent = false;
                cp->insert( CommonStrings::PDF_X1a      , checkerSettings);
                checkerSettings.checkNotCMYKOrSpot = false;
-               checkerSettings.checkDeviceColorsAndOutputIntend = true;
+               checkerSettings.checkDeviceColorsAndOutputIntent = true;
                checkerSettings.checkTransparency = false;
                checkerSettings.checkFontIsOpenType = false;
                cp->insert( CommonStrings::PDF_X4       , checkerSettings);

Modified: trunk/Scribus/scribus/prefsstructs.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/prefsstructs.h
==============================================================================
--- trunk/Scribus/scribus/prefsstructs.h (original)
+++ trunk/Scribus/scribus/prefsstructs.h Sat Aug  3 22:56:25 2013
@@ -28,6 +28,10 @@
 
 struct CheckerPrefs
 {
+       CheckerPrefs() { 
+               memset(this, 0, sizeof(CheckerPrefs));
+       }
+
        bool ignoreErrors;
        bool autoCheck;
        bool checkGlyphs;
@@ -44,7 +48,7 @@
        bool ignoreOffLayers;
        bool checkOffConflictLayers; //Check whether layers are marked as 
visible but not to be printed or vice versa
        bool checkNotCMYKOrSpot; // colors must be either CMYK or spot 
(PDF/X-1a)
-       bool checkDeviceColorsAndOutputIntend; // unmanaged colors (device 
colors) must agree with output intend
+       bool checkDeviceColorsAndOutputIntent; // unmanaged colors (device 
colors) must agree with output intend
        bool checkFontNotEmbedded; // embedded PDF might use fonts without 
embedding
        bool checkFontIsOpenType; // embedded PDF might use OpenType font 
program (only allowed in PDF/X-4 and PDF 1.6)
        bool checkPartFilledImageFrames;

Modified: trunk/Scribus/scribus/scribusstructs.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/scribusstructs.h
==============================================================================
--- trunk/Scribus/scribus/scribusstructs.h (original)
+++ trunk/Scribus/scribus/scribusstructs.h Sat Aug  3 22:56:25 2013
@@ -267,7 +267,7 @@
        BlendMode=11,
        WrongFontInAnnotation=12,
        NotCMYKOrSpot=13,
-       DeviceColorAndOutputIntend=14,
+       DeviceColorsAndOutputIntent=14,
        FontNotEmbedded=15,
        EmbeddedFontIsOpenType=16,
        OffConflictLayers=17,

Modified: trunk/Scribus/scribus/ui/checkDocument.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=18410&path=/trunk/Scribus/scribus/ui/checkDocument.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/checkDocument.cpp (original)
+++ trunk/Scribus/scribus/ui/checkDocument.cpp Sat Aug  3 22:56:25 2013
@@ -284,10 +284,12 @@
                        item->setText(COLUMN_PROBLEM, notCMYKOrSpot);
                        item->setIcon(COLUMN_ITEM, onlyWarning);
                        itemError = true;
+                       break;
                case FontNotEmbedded:
                        item->setText(COLUMN_PROBLEM, fontNotEmbedded);
                        item->setIcon(COLUMN_ITEM, graveError);
                        itemError = true;
+                       break;
                default:
                        break;
        };


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to