diff options
author | suhail95 <suhailkhan408.sk@gmail.com> | 2023-12-21 17:04:03 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-21 17:04:03 +0530 |
commit | 5f6fe44f19842ae43dedc3da3fd5d5dafb29e501 (patch) | |
tree | 91185dc41ca6a319985bf82bf7ccc7afdcbe7458 | |
parent | e0955b272ab6035b2921fa2c649aca5ecfe5ab81 (diff) |
Integration for December 2023 release (#85)
67 files changed, 377 insertions, 340 deletions
diff --git a/XMP-Toolkit-SDK-Overview.pdf b/XMP-Toolkit-SDK-Overview.pdf Binary files differindex 21194b3..cef6e96 100644..100755 --- a/XMP-Toolkit-SDK-Overview.pdf +++ b/XMP-Toolkit-SDK-Overview.pdf diff --git a/XMPCommon/source/ErrorImpl.cpp b/XMPCommon/source/ErrorImpl.cpp index c6f18eb..0454e8d 100644 --- a/XMPCommon/source/ErrorImpl.cpp +++ b/XMPCommon/source/ErrorImpl.cpp @@ -113,8 +113,9 @@ namespace XMP_COMPONENT_INT_NAMESPACE { UTF8StringStream stm1; stm1.setf( std::ios::hex ); stm1 << "0x" << addressParameter; + std::string str1 = stm1.str().c_str(); if ( stm1.str().size() > 4 ) { - const char * charPtr = stm1.str().c_str(); + const char * charPtr = str1.c_str(); if ( charPtr[ 2 ] == '0' && ( charPtr[ 3 ] == 'x' || charPtr[ 3 ] == 'X' ) ) { appends0x = true; } diff --git a/XMPCore/source/XMPUtils.hpp b/XMPCore/source/XMPUtils.hpp index ee7962f..0b0fbb2 100644 --- a/XMPCore/source/XMPUtils.hpp +++ b/XMPCore/source/XMPUtils.hpp @@ -253,9 +253,6 @@ public: #if ENABLE_CPP_DOM_MODEL static void MapXMPErrorToIError(XMP_Int32 xmpErrorCodes, AdobeXMPCommon::IError::eErrorDomain & domain, AdobeXMPCommon::IError::eErrorCode & code); - static bool SerializeExtensionAsJSON(const AdobeXMPCore::spINode & extensionNode, std::string & key, std::string & value); - static bool IsExtensionValidForBackwardCompatibility(const AdobeXMPCore::spINode & extensionNode); - static bool CreateExtensionNode(const AdobeXMPCore::spIStructureNode & xmpNode, const XMP_VarString & serializedJSON, const XMP_VarString & doubleQuotesStr); static void @@ -295,11 +292,6 @@ public: #endif - static bool CreateExtensionNode(XMP_Node ** xmpNode, const XMP_VarString & serializedJSON, const XMP_VarString & doubleQuotesString); - - static bool GetSerializedJSONForExtensionNode(const XMP_Node * xmpNode, XMP_VarString &extensionAsKey, XMP_VarString & serializedJSON); - - static bool IsSuitableForJSONSerialization(const XMP_Node * xmpNode); }; // XMPUtils diff --git a/XMPFiles/source/FileHandlers/AVCHD_Handler.cpp b/XMPFiles/source/FileHandlers/AVCHD_Handler.cpp index 58b4b1f..48e5b26 100644 --- a/XMPFiles/source/FileHandlers/AVCHD_Handler.cpp +++ b/XMPFiles/source/FileHandlers/AVCHD_Handler.cpp @@ -1609,7 +1609,7 @@ static void AVCCAM_SetXMPStartTimecode ( SXMPMeta& xmpObj, const XMP_Uns8* avcca if ( dmTimeFormat != NULL ) { char timecodeBuff [12]; - sprintf ( timecodeBuff, "%d%d%c%d%d%c%d%d%c%d%d", hourTens, hourUnits, tcSeparator, + snprintf ( timecodeBuff, sizeof(timecodeBuff), "%d%d%c%d%d%c%d%d%c%d%d", hourTens, hourUnits, tcSeparator, minuteTens, minuteUnits, tcSeparator, secondTens, secondUnits, tcSeparator, frameTens, frameUnits); xmpObj.SetProperty( kXMP_NS_DM, "startTimeScale", dmTimeScale, kXMP_DeleteExisting ); @@ -1638,7 +1638,7 @@ static bool AVCHD_SetXMPMakeAndModel ( SXMPMeta& xmpObj, const AVCHD_blkClipExte case kMakerIDPanasonic : xmpValue = "Panasonic"; break; case kMakerIDSony : xmpValue = "Sony"; break; default : - std::sprintf ( hexMakeNumber, "0x%04x", clipExtData.mClipInfoExt.mMakerID ); + snprintf ( hexMakeNumber,sizeof(hexMakeNumber), "0x%04x", clipExtData.mClipInfoExt.mMakerID ); xmpValue = hexMakeNumber; break; @@ -1693,7 +1693,7 @@ static bool AVCHD_SetXMPMakeAndModel ( SXMPMeta& xmpObj, const AVCHD_blkClipExte // Panasonic has said that if we don't have a string for the model number, they'd like to see the code // anyway. We'll do the same for every manufacturer except Sony, who have said that they use // the same model number for multiple cameras. - std::sprintf ( hexModelNumber, "0x%04x", clipExtData.mClipInfoExt.mMakerModelCode ); + snprintf ( hexModelNumber,sizeof(hexModelNumber), "0x%04x", clipExtData.mClipInfoExt.mMakerModelCode ); xmpValue = hexModelNumber; } @@ -1800,7 +1800,7 @@ static std::string AVCHD_DateFieldToXMP ( XMP_Uns8 avchdTimeZone, const XMP_Uns8 char dateBuff [26]; - sprintf ( dateBuff, + snprintf ( dateBuff, sizeof(dateBuff), "%01d%01d%01d%01d-%01d%01d-%01d%01dT%01d%01d:%01d%01d:%01d%01d%+02d:%02d", (avchdDateTime[0] >> 4), (avchdDateTime[0] & 0x0F), (avchdDateTime[1] >> 4), (avchdDateTime[1] & 0x0F), diff --git a/XMPFiles/source/FileHandlers/P2_Handler.cpp b/XMPFiles/source/FileHandlers/P2_Handler.cpp index 580fc5e..c36047b 100644 --- a/XMPFiles/source/FileHandlers/P2_Handler.cpp +++ b/XMPFiles/source/FileHandlers/P2_Handler.cpp @@ -852,7 +852,7 @@ void P2_MetaHandler::SetGPSPropertyFromLegacyXML ( XML_NodePtr legacyLocationCo const double minutes = fractionalDegrees * 60.0; char xmpValue [128]; - sprintf ( xmpValue, "%d,%.5lf%c", static_cast<int>(wholeDegrees), minutes, direction ); + snprintf ( xmpValue, sizeof(xmpValue), "%d,%.5lf%c", static_cast<int>(wholeDegrees), minutes, direction ); this->xmpObj.SetProperty ( kXMP_NS_EXIF, propName, xmpValue ); this->containsXMP = true; @@ -902,7 +902,7 @@ void P2_MetaHandler::SetAltitudeFromLegacyXML ( XML_NodePtr legacyLocationConte char xmpValue [128]; - sprintf ( xmpValue, "%d/1", altitude ); + snprintf ( xmpValue, sizeof(xmpValue), "%d/1", altitude ); this->xmpObj.SetProperty ( kXMP_NS_EXIF, "GPSAltitude", xmpValue ); this->containsXMP = true; diff --git a/XMPFiles/source/FileHandlers/PostScript_Handler.cpp b/XMPFiles/source/FileHandlers/PostScript_Handler.cpp index bc55dfa..c13529a 100644 --- a/XMPFiles/source/FileHandlers/PostScript_Handler.cpp +++ b/XMPFiles/source/FileHandlers/PostScript_Handler.cpp @@ -885,6 +885,7 @@ void PostScript_MetaHandler::ParsePSFile() if (CheckBytes ( ioBuf.ptr, Uns8Ptr("iler"), 4 )) { ioBuf.ptr+=4; + if ( !CheckFileSpace( fileRef, &ioBuf, 1 ) ) return; while ( !IsNewline( *ioBuf.ptr ) ) { if ( !CheckFileSpace( fileRef, &ioBuf, 1 ) ) return; diff --git a/XMPFiles/source/FileHandlers/SonyHDV_Handler.cpp b/XMPFiles/source/FileHandlers/SonyHDV_Handler.cpp index e4a7162..f8852f9 100644 --- a/XMPFiles/source/FileHandlers/SonyHDV_Handler.cpp +++ b/XMPFiles/source/FileHandlers/SonyHDV_Handler.cpp @@ -6,7 +6,8 @@ // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= - +#define BUFFER_SIZE 255 +#define TIMECODE_SIZE 256 #include "public/include/XMP_Environment.h" // ! XMP_Environment.h must be the first included header. #include "public/include/XMP_Const.h" @@ -290,7 +291,7 @@ static bool ReadIDXFile ( const std::string& idxPath, idxFile.ReadAll ( &hdvFileBlock.mTotalFrame, 4 ); // Compose file name we expect from file contents and break out on match. - sprintf ( filenameBuffer, "%02d-%02d-%02d_%02d%02d%02d", + snprintf ( filenameBuffer, sizeof(filenameBuffer), "%02d-%02d-%02d_%02d%02d%02d", hdvFileBlock.mFileNameYear + 2000, hdvFileBlock.mFileNameMonth, hdvFileBlock.mFileNameDay, @@ -377,16 +378,16 @@ static bool ReadIDXFile ( const std::string& idxPath, // Sample size and scale. if ( clipSampleScale != 0 ) { - char buffer[255]; + char buffer[BUFFER_SIZE]; if ( digestFound || (! xmpObj->DoesPropertyExist ( kXMP_NS_DM, "startTimeScale" )) ) { - sprintf(buffer, "%d", clipSampleScale); + snprintf(buffer,BUFFER_SIZE, "%d", clipSampleScale); xmpValue = buffer; xmpObj->SetProperty ( kXMP_NS_DM, "startTimeScale", xmpValue, kXMP_DeleteExisting ); } if ( digestFound || (! xmpObj->DoesPropertyExist ( kXMP_NS_DM, "startTimeSampleSize" )) ) { - sprintf(buffer, "%d", clipSampleSize); + snprintf(buffer,BUFFER_SIZE, "%d", clipSampleSize); xmpValue = buffer; xmpObj->SetProperty ( kXMP_NS_DM, "startTimeSampleSize", xmpValue, kXMP_DeleteExisting ); } @@ -396,11 +397,11 @@ static bool ReadIDXFile ( const std::string& idxPath, const int frameCount = (hdvFileBlock.mTotalFrame[0] << 24) + (hdvFileBlock.mTotalFrame[1] << 16) + (hdvFileBlock.mTotalFrame[2] << 8) + hdvFileBlock.mTotalFrame[3]; - sprintf ( buffer, "%d", frameCount ); + snprintf ( buffer,BUFFER_SIZE, "%d", frameCount ); xmpValue = buffer; xmpObj->SetStructField ( kXMP_NS_DM, "duration", kXMP_NS_DM, "value", xmpValue, 0 ); - sprintf ( buffer, "%d/%d", clipSampleSize, clipSampleScale ); + snprintf ( buffer,BUFFER_SIZE, "%d/%d", clipSampleSize, clipSampleScale ); xmpValue = buffer; xmpObj->SetStructField ( kXMP_NS_DM, "duration", kXMP_NS_DM, "scale", xmpValue, 0 ); @@ -421,8 +422,8 @@ static bool ReadIDXFile ( const std::string& idxPath, const int tcHours = ExtractTimeCodeByte ( hdvFileBlock.mStartTimeCode[3], 0x30 ); // HH:MM:SS:FF or HH;MM;SS;FF - char timecode[256]; - sprintf ( timecode, "%02d%c%02d%c%02d%c%02d", tcHours, chDF, tcMinutes, chDF, tcSeconds, chDF, tcFrames ); + char timecode[TIMECODE_SIZE]; + snprintf ( timecode,TIMECODE_SIZE, "%02d%c%02d%c%02d%c%02d", tcHours, chDF, tcMinutes, chDF, tcSeconds, chDF, tcFrames ); std::string sonyTimeString = timecode; xmpObj->GetStructField ( kXMP_NS_DM, "startTimecode", kXMP_NS_DM, "timeValue", &xmpString, 0 ); @@ -476,7 +477,7 @@ static bool ReadIDXFile ( const std::string& idxPath, // YYYY-MM-DDThh:mm:ssZ char date[256]; - sprintf ( date, "%4d-%02d-%02dT%02d:%02d:%02dZ", + snprintf ( date,sizeof(date), "%4d-%02d-%02dT%02d:%02d:%02dZ", hdvFileBlock.mFileNameYear + 2000, hdvFileBlock.mFileNameMonth, hdvFileBlock.mFileNameDay, diff --git a/XMPFiles/source/FormatSupport/ASF_Support.cpp b/XMPFiles/source/FormatSupport/ASF_Support.cpp index bfde554..5c08b3d 100644 --- a/XMPFiles/source/FormatSupport/ASF_Support.cpp +++ b/XMPFiles/source/FormatSupport/ASF_Support.cpp @@ -77,6 +77,7 @@ bool ASF_Support::ReadObject ( XMP_IO* fileRef, ObjectState & inOutObjectState, if ( bytesRead != kASF_ObjectBaseLen ) return false; *objectLength = GetUns64LE ( &objectBase.size ); + if (*objectLength == 0) return false; inOutPosition += *objectLength; ObjectData newObject; diff --git a/XMPFiles/source/FormatSupport/MacScriptExtracts.h b/XMPFiles/source/FormatSupport/MacScriptExtracts.h index 9856183..6a83ce5 100644 --- a/XMPFiles/source/FormatSupport/MacScriptExtracts.h +++ b/XMPFiles/source/FormatSupport/MacScriptExtracts.h @@ -16,6 +16,7 @@ - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut system. */ +#if !defined(XMP_MacBuild) enum { smRoman = 0, smJapanese = 1, @@ -240,5 +241,10 @@ enum { langAfricaans = 141, /* Use langAfrikaans */ langGreekPoly = 148 /* Use langGreekAncient*/ }; - +#else +enum { + klangUnspecified = 32767, + klangJapanese = 11 +}; +#endif #endif /* __MacScriptExtracts__ */ diff --git a/XMPFiles/source/FormatSupport/PNG_Support.cpp b/XMPFiles/source/FormatSupport/PNG_Support.cpp index 79e9f49..7922d03 100644 --- a/XMPFiles/source/FormatSupport/PNG_Support.cpp +++ b/XMPFiles/source/FormatSupport/PNG_Support.cpp @@ -236,9 +236,14 @@ namespace PNG_Support if (chunkType == iTXt) { - ExtractXMPPacket(fileRef, chunkLength, tempBuffer, bufferLimit - tempBuffer, inOutPosition, outXMPPacket, outXmpOffset); - processedXMP = true; - break; + /* There could be multiple iTXt chunks. There should be no more than one + * chunk containing XMP in each PNG file. + */ + if (ExtractXMPPacket(fileRef, chunkLength, tempBuffer, bufferLimit - tempBuffer, inOutPosition, outXMPPacket, outXmpOffset)) + { + processedXMP = true; + break; + } } else if (chunkType == IEND && isOpenForRead) { /*signifies end of png file. No need to process further.*/ diff --git a/XMPFiles/source/FormatSupport/PostScript_Support.cpp b/XMPFiles/source/FormatSupport/PostScript_Support.cpp index 85e4a4f..4bbc852 100644 --- a/XMPFiles/source/FormatSupport/PostScript_Support.cpp +++ b/XMPFiles/source/FormatSupport/PostScript_Support.cpp @@ -1071,12 +1071,12 @@ std::string PostScript_Support::ConvertToDate(const char* inString) { if ( date.containsOffset ) { - sprintf(dtstr,"%04d-%02d-%02dT%02d:%02d:%02d%c%02d:%02d",date.year,date.month,date.day, + snprintf(dtstr,sizeof(dtstr),"%04d-%02d-%02dT%02d:%02d:%02d%c%02d:%02d",date.year,date.month,date.day, date.hours,date.minutes,date.seconds,date.offsetSign,date.offsetHour,date.offsetMin); } else { - sprintf(dtstr,"%04d-%02d-%02dT%02d:%02d:%02dZ",date.year,date.month,date.day, + snprintf(dtstr,sizeof(dtstr),"%04d-%02d-%02dT%02d:%02d:%02dZ",date.year,date.month,date.day, date.hours,date.minutes,date.seconds); } try diff --git a/XMPFiles/source/FormatSupport/QuickTime_Support.cpp b/XMPFiles/source/FormatSupport/QuickTime_Support.cpp index c467703..2b31d9f 100644 --- a/XMPFiles/source/FormatSupport/QuickTime_Support.cpp +++ b/XMPFiles/source/FormatSupport/QuickTime_Support.cpp @@ -14,13 +14,10 @@ #include <CoreServices/CoreServices.h> #elif XMP_iOSBuild #include <CoreFoundation/CoreFoundation.h> - #include "XMPFiles/source/FormatSupport/MacScriptExtracts.h" -#else - #include "XMPFiles/source/FormatSupport/MacScriptExtracts.h" #endif #include "XMPFiles/source/FormatSupport/QuickTime_Support.hpp" - +#include "XMPFiles/source/FormatSupport/MacScriptExtracts.h" #include "source/UnicodeConversions.hpp" #include "source/UnicodeInlines.incl_cpp" #include "XMPFiles/source/FormatSupport/Reconcile_Impl.hpp" @@ -48,6 +45,7 @@ static const char * kMacRomanUTF8 [128] = { // UTF-8 mappings for MacRoman 80..F "\xC2\xAF", "\xCB\x98", "\xCB\x99", "\xCB\x9A", "\xC2\xB8", "\xCB\x9D", "\xCB\x9B", "\xCB\x87" }; + static const XMP_Uns32 kMacRomanCP [128] = { // Unicode codepoints for MacRoman 80..FF. 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, @@ -71,142 +69,142 @@ static const XMP_Uns32 kMacRomanCP [128] = { // Unicode codepoints for MacRoman static const XMP_Uns16 kMacLangToScript_0_94 [95] = { - /* langEnglish (0) */ smRoman, - /* langFrench (1) */ smRoman, - /* langGerman (2) */ smRoman, - /* langItalian (3) */ smRoman, - /* langDutch (4) */ smRoman, - /* langSwedish (5) */ smRoman, - /* langSpanish (6) */ smRoman, - /* langDanish (7) */ smRoman, - /* langPortuguese (8) */ smRoman, - /* langNorwegian (9) */ smRoman, - - /* langHebrew (10) */ smHebrew, - /* langJapanese (11) */ smJapanese, - /* langArabic (12) */ smArabic, - /* langFinnish (13) */ smRoman, - /* langGreek (14) */ smRoman, - /* langIcelandic (15) */ smRoman, - /* langMaltese (16) */ smRoman, - /* langTurkish (17) */ smRoman, - /* langCroatian (18) */ smRoman, - /* langTradChinese (19) */ smTradChinese, - - /* langUrdu (20) */ smArabic, - /* langHindi (21) */ smDevanagari, - /* langThai (22) */ smThai, - /* langKorean (23) */ smKorean, - /* langLithuanian (24) */ smCentralEuroRoman, - /* langPolish (25) */ smCentralEuroRoman, - /* langHungarian (26) */ smCentralEuroRoman, - /* langEstonian (27) */ smCentralEuroRoman, - /* langLatvian (28) */ smCentralEuroRoman, + /* langEnglish (0) */ ksmRoman, + /* langFrench (1) */ ksmRoman, + /* langGerman (2) */ ksmRoman, + /* langItalian (3) */ ksmRoman, + /* langDutch (4) */ ksmRoman, + /* langSwedish (5) */ ksmRoman, + /* langSpanish (6) */ ksmRoman, + /* langDanish (7) */ ksmRoman, + /* langPortuguese (8) */ ksmRoman, + /* langNorwegian (9) */ ksmRoman, + + /* langHebrew (10) */ ksmHebrew, + /* langJapanese (11) */ ksmJapanese, + /* langArabic (12) */ ksmArabic, + /* langFinnish (13) */ ksmRoman, + /* langGreek (14) */ ksmRoman, + /* langIcelandic (15) */ ksmRoman, + /* langMaltese (16) */ ksmRoman, + /* langTurkish (17) */ ksmRoman, + /* langCroatian (18) */ ksmRoman, + /* langTradChinese (19) */ ksmTradChinese, + + /* langUrdu (20) */ ksmArabic, + /* langHindi (21) */ ksmDevanagari, + /* langThai (22) */ ksmThai, + /* langKorean (23) */ ksmKorean, + /* langLithuanian (24) */ ksmCentralEuroRoman, + /* langPolish (25) */ ksmCentralEuroRoman, + /* langHungarian (26) */ ksmCentralEuroRoman, + /* langEstonian (27) */ ksmCentralEuroRoman, + /* langLatvian (28) */ ksmCentralEuroRoman, /* langSami (29) */ kNoMacScript, // ! Not known, missing from Apple comments. - /* langFaroese (30) */ smRoman, - /* langFarsi (31) */ smArabic, - /* langRussian (32) */ smCyrillic, - /* langSimpChinese (33) */ smSimpChinese, - /* langFlemish (34) */ smRoman, - /* langIrishGaelic (35) */ smRoman, - /* langAlbanian (36) */ smRoman, - /* langRomanian (37) */ smRoman, - /* langCzech (38) */ smCentralEuroRoman, - /* langSlovak (39) */ smCentralEuroRoman, - - /* langSlovenian (40) */ smRoman, - /* langYiddish (41) */ smHebrew, - /* langSerbian (42) */ smCyrillic, - /* langMacedonian (43) */ smCyrillic, - /* langBulgarian (44) */ smCyrillic, - /* langUkrainian (45) */ smCyrillic, - /* langBelorussian (46) */ smCyrillic, - /* langUzbek (47) */ smCyrillic, - /* langKazakh (48) */ smCyrillic, - /* langAzerbaijani (49) */ smCyrillic, - - /* langAzerbaijanAr (50) */ smArabic, - /* langArmenian (51) */ smArmenian, - /* langGeorgian (52) */ smGeorgian, - /* langMoldavian (53) */ smCyrillic, - /* langKirghiz (54) */ smCyrillic, - /* langTajiki (55) */ smCyrillic, - /* langTurkmen (56) */ smCyrillic, - /* langMongolian (57) */ smMongolian, - /* langMongolianCyr (58) */ smCyrillic, - /* langPashto (59) */ smArabic, - - /* langKurdish (60) */ smArabic, - /* langKashmiri (61) */ smArabic, - /* langSindhi (62) */ smArabic, - /* langTibetan (63) */ smTibetan, - /* langNepali (64) */ smDevanagari, - /* langSanskrit (65) */ smDevanagari, - /* langMarathi (66) */ smDevanagari, - /* langBengali (67) */ smBengali, - /* langAssamese (68) */ smBengali, - /* langGujarati (69) */ smGujarati, - - /* langPunjabi (70) */ smGurmukhi, - /* langOriya (71) */ smOriya, - /* langMalayalam (72) */ smMalayalam, - /* langKannada (73) */ smKannada, - /* langTamil (74) */ smTamil, - /* langTelugu (75) */ smTelugu, - /* langSinhalese (76) */ smSinhalese, - /* langBurmese (77) */ smBurmese, - /* langKhmer (78) */ smKhmer, - /* langLao (79) */ smLao, - - /* langVietnamese (80) */ smVietnamese, - /* langIndonesian (81) */ smRoman, - /* langTagalog (82) */ smRoman, - /* langMalayRoman (83) */ smRoman, - /* langMalayArabic (84) */ smArabic, - /* langAmharic (85) */ smEthiopic, - /* langTigrinya (86) */ smEthiopic, - /* langOromo (87) */ smEthiopic, - /* langSomali (88) */ smRoman, - /* langSwahili (89) */ smRoman, - - /* langKinyarwanda (90) */ smRoman, - /* langRundi (91) */ smRoman, - /* langNyanja (92) */ smRoman, - /* langMalagasy (93) */ smRoman, - /* langEsperanto (94) */ smRoman + /* langFaroese (30) */ ksmRoman, + /* langFarsi (31) */ ksmArabic, + /* langRussian (32) */ ksmCyrillic, + /* langSimpChinese (33) */ ksmSimpChinese, + /* langFlemish (34) */ ksmRoman, + /* langIrishGaelic (35) */ ksmRoman, + /* langAlbanian (36) */ ksmRoman, + /* langRomanian (37) */ ksmRoman, + /* langCzech (38) */ ksmCentralEuroRoman, + /* langSlovak (39) */ ksmCentralEuroRoman, + + /* langSlovenian (40) */ ksmRoman, + /* langYiddish (41) */ ksmHebrew, + /* langSerbian (42) */ ksmCyrillic, + /* langMacedonian (43) */ ksmCyrillic, + /* langBulgarian (44) */ ksmCyrillic, + /* langUkrainian (45) */ ksmCyrillic, + /* langBelorussian (46) */ ksmCyrillic, + /* langUzbek (47) */ ksmCyrillic, + /* langKazakh (48) */ ksmCyrillic, + /* langAzerbaijani (49) */ ksmCyrillic, + + /* langAzerbaijanAr (50) */ ksmArabic, + /* langArmenian (51) */ ksmArmenian, + /* langGeorgian (52) */ ksmGeorgian, + /* langMoldavian (53) */ ksmCyrillic, + /* langKirghiz (54) */ ksmCyrillic, + /* langTajiki (55) */ ksmCyrillic, + /* langTurkmen (56) */ ksmCyrillic, + /* langMongolian (57) */ ksmMongolian, + /* langMongolianCyr (58) */ ksmCyrillic, + /* langPashto (59) */ ksmArabic, + + /* langKurdish (60) */ ksmArabic, + /* langKashmiri (61) */ ksmArabic, + /* langSindhi (62) */ ksmArabic, + /* langTibetan (63) */ ksmTibetan, + /* langNepali (64) */ ksmDevanagari, + /* langSanskrit (65) */ ksmDevanagari, + /* langMarathi (66) */ ksmDevanagari, + /* langBengali (67) */ ksmBengali, + /* langAssamese (68) */ ksmBengali, + /* langGujarati (69) */ ksmGujarati, + + /* langPunjabi (70) */ ksmGurmukhi, + /* langOriya (71) */ ksmOriya, + /* langMalayalam (72) */ ksmMalayalam, + /* langKannada (73) */ ksmKannada, + /* langTamil (74) */ ksmTamil, + /* langTelugu (75) */ ksmTelugu, + /* langSinhalese (76) */ ksmSinhalese, + /* langBurmese (77) */ ksmBurmese, + /* langKhmer (78) */ ksmKhmer, + /* langLao (79) */ ksmLao, + + /* langVietnamese (80) */ ksmVietnamese, + /* langIndonesian (81) */ ksmRoman, + /* langTagalog (82) */ ksmRoman, + /* langMalayRoman (83) */ ksmRoman, + /* langMalayArabic (84) */ ksmArabic, + /* langAmharic (85) */ ksmEthiopic, + /* langTigrinya (86) */ ksmEthiopic, + /* langOromo (87) */ ksmEthiopic, + /* langSomali (88) */ ksmRoman, + /* langSwahili (89) */ ksmRoman, + + /* langKinyarwanda (90) */ ksmRoman, + /* langRundi (91) */ ksmRoman, + /* langNyanja (92) */ ksmRoman, + /* langMalagasy (93) */ ksmRoman, + /* langEsperanto (94) */ ksmRoman }; // kMacLangToScript_0_94 static const XMP_Uns16 kMacLangToScript_128_151 [24] = { - /* langWelsh (128) */ smRoman, - /* langBasque (129) */ smRoman, - - /* langCatalan (130) */ smRoman, - /* langLatin (131) */ smRoman, - /* langQuechua (132) */ smRoman, - /* langGuarani (133) */ smRoman, - /* langAymara (134) */ smRoman, - /* langTatar (135) */ smCyrillic, - /* langUighur (136) */ smArabic, - /* langDzongkha (137) */ smTibetan, - /* langJavaneseRom (138) */ smRoman, - /* langSundaneseRom (139) */ smRoman, - - /* langGalician (140) */ smRoman, - /* langAfrikaans (141) */ smRoman, - /* langBreton (142) */ smRoman, - /* langInuktitut (143) */ smEthiopic, - /* langScottishGaelic (144) */ smRoman, - /* langManxGaelic (145) */ smRoman, - /* langIrishGaelicScript (146) */ smRoman, - /* langTongan (147) */ smRoman, - /* langGreekAncient (148) */ smGreek, - /* langGreenlandic (149) */ smRoman, - - /* langAzerbaijanRoman (150) */ smRoman, - /* langNynorsk (151) */ smRoman + /* langWelsh (128) */ ksmRoman, + /* langBasque (129) */ ksmRoman, + + /* langCatalan (130) */ ksmRoman, + /* langLatin (131) */ ksmRoman, + /* langQuechua (132) */ ksmRoman, + /* langGuarani (133) */ ksmRoman, + /* langAymara (134) */ ksmRoman, + /* langTatar (135) */ ksmCyrillic, + /* langUighur (136) */ ksmArabic, + /* langDzongkha (137) */ ksmTibetan, + /* langJavaneseRom (138) */ ksmRoman, + /* langSundaneseRom (139) */ ksmRoman, + + /* langGalician (140) */ ksmRoman, + /* langAfrikaans (141) */ ksmRoman, + /* langBreton (142) */ ksmRoman, + /* langInuktitut (143) */ ksmEthiopic, + /* langScottishGaelic (144) */ ksmRoman, + /* langManxGaelic (145) */ ksmRoman, + /* langIrishGaelicScript (146) */ ksmRoman, + /* langTongan (147) */ ksmRoman, + /* langGreekAncient (148) */ ksmGreek, + /* langGreenlandic (149) */ ksmRoman, + + /* langAzerbaijanRoman (150) */ ksmRoman, + /* langNynorsk (151) */ ksmRoman }; // kMacLangToScript_128_151 @@ -816,7 +814,7 @@ static inline bool IsMacLangKnown ( XMP_Uns16 macLang ) if ( macScript == kNoMacScript ) return false; #if XMP_UNIXBuild | XMP_AndroidBuild - if ( macScript != smRoman ) return false; + if ( macScript != ksmRoman ) return false; #elif XMP_WinBuild if ( GetWinCP(macLang) == 0 ) return false; #endif @@ -914,7 +912,7 @@ bool TradQT_Manager::ParseCachedBoxes ( const MOOV_Manager & moovMgr ) XMP_Uns8 * boxPtr = (XMP_Uns8*) currInfo.content; XMP_Uns8 * boxEnd = boxPtr + currInfo.contentSize; - XMP_Uns16 miniLen, macLang; + XMP_Uns32 miniLen; XMP_Uns16 macLang; for ( ; boxPtr < boxEnd-4; boxPtr += miniLen ) { diff --git a/XMPFiles/source/FormatSupport/QuickTime_Support.hpp b/XMPFiles/source/FormatSupport/QuickTime_Support.hpp index ce202ea..86c30a9 100644 --- a/XMPFiles/source/FormatSupport/QuickTime_Support.hpp +++ b/XMPFiles/source/FormatSupport/QuickTime_Support.hpp @@ -44,6 +44,42 @@ enum { // List of recognized items from the QuickTime 'moov'/'udta' box. kQTilst_TimeSize = 0xA954535AUL // 'TSZ' }; +enum { + ksmRoman = 0, + ksmJapanese = 1, + ksmTradChinese = 2, /* Traditional Chinese*/ + ksmKorean = 3, + ksmArabic = 4, + ksmHebrew = 5, + ksmGreek = 6, + ksmCyrillic = 7, + ksmRSymbol = 8, /* Right-left symbol*/ + ksmDevanagari = 9, + ksmGurmukhi = 10, + ksmGujarati = 11, + ksmOriya = 12, + ksmBengali = 13, + ksmTamil = 14, + ksmTelugu = 15, + ksmKannada = 16, /* Kannada/Kanarese*/ + ksmMalayalam = 17, + ksmSinhalese = 18, + ksmBurmese = 19, + ksmKhmer = 20, /* Khmer/Cambodian*/ + ksmThai = 21, + ksmLao = 22, + ksmGeorgian = 23, + ksmArmenian = 24, + ksmSimpChinese = 25, /* Simplified Chinese*/ + ksmTibetan = 26, + ksmMongolian = 27, + ksmEthiopic = 28, + ksmGeez = 28, /* Synonym for ksmEthiopic*/ + ksmCentralEuroRoman = 29, /* For Czech, Slovak, Polish, Hungarian, Baltic langs*/ + ksmVietnamese = 30, + ksmExtArabic = 31, /* extended Arabic*/ + ksmUninterp = 32 /* uninterpreted symbols, e.g. palette symbols*/ +}; enum { kNoMacLang = 0xFFFF, diff --git a/XMPFiles/source/FormatSupport/Reconcile_Impl.cpp b/XMPFiles/source/FormatSupport/Reconcile_Impl.cpp index b52700d..9344fd5 100644 --- a/XMPFiles/source/FormatSupport/Reconcile_Impl.cpp +++ b/XMPFiles/source/FormatSupport/Reconcile_Impl.cpp @@ -13,7 +13,7 @@ #include "XMPFiles/source/FormatSupport/Reconcile_Impl.hpp" #include "source/UnicodeConversions.hpp" #include "source/XIO.hpp" - +#include "XMPFiles/source/FormatSupport/MacScriptExtracts.h" #if XMP_WinBuild #elif XMP_MacBuild #include <CoreServices/CoreServices.h> @@ -124,7 +124,7 @@ bool ReconcileUtils::IsUTF8 ( const void * textPtr, size_t textLen ) OSStatus err; TextEncoding destEncoding; - if ( macLang == langUnspecified ) macLang = kTextLanguageDontCare; + if ( macLang == klangUnspecified ) macLang = kTextLanguageDontCare; err = UpgradeScriptInfoToTextEncoding ( macScript, macLang, kTextRegionDontCare, 0, &destEncoding ); if ( err != noErr ) XMP_Throw ( "UpgradeScriptInfoToTextEncoding failed", kXMPErr_ExternalFailure ); @@ -202,7 +202,7 @@ void ReconcileUtils::UTF8ToLocal ( const void * _utf8Ptr, size_t utf8Len, std::s #elif XMP_MacBuild - UTF8ToMacEncoding ( smSystemScript, kTextLanguageDontCare, utf8Ptr, utf8Len, local ); + UTF8ToMacEncoding ( smSystem_Script, kTextLanguageDontCare, utf8Ptr, utf8Len, local ); #elif XMP_UNIXBuild @@ -311,7 +311,7 @@ void ReconcileUtils::UTF8ToLatin1 ( const void * _utf8Ptr, size_t utf8Len, std:: OSStatus err; TextEncoding srcEncoding; - if ( macLang == langUnspecified ) macLang = kTextLanguageDontCare; + if ( macLang == klangUnspecified ) macLang = kTextLanguageDontCare; err = UpgradeScriptInfoToTextEncoding ( macScript, macLang, kTextRegionDontCare, 0, &srcEncoding ); if ( err != noErr ) XMP_Throw ( "UpgradeScriptInfoToTextEncoding failed", kXMPErr_ExternalFailure ); @@ -389,7 +389,7 @@ void ReconcileUtils::LocalToUTF8 ( const void * _localPtr, size_t localLen, std: #elif XMP_MacBuild - MacEncodingToUTF8 ( smSystemScript, kTextLanguageDontCare, localPtr, localLen, utf8 ); + MacEncodingToUTF8 ( smSystem_Script, kTextLanguageDontCare, localPtr, localLen, utf8 ); #elif XMP_UNIXBuild diff --git a/XMPFiles/source/FormatSupport/Reconcile_Impl.hpp b/XMPFiles/source/FormatSupport/Reconcile_Impl.hpp index 95aea90..581276f 100644 --- a/XMPFiles/source/FormatSupport/Reconcile_Impl.hpp +++ b/XMPFiles/source/FormatSupport/Reconcile_Impl.hpp @@ -22,7 +22,10 @@ // ================================================================================================= typedef XMP_Uns8 MD5_Digest[16]; // ! Should be in MD5.h. - +/* Temporary fix for deprecated warning message, will add proper fix later */ +enum { + smSystem_Script = -1, /* designates system script.*/ +}; enum { kDigestMissing = -1, // A partial import is done, existing XMP is left alone. kDigestDiffers = 0, // A full import is done, existing XMP is deleted or replaced. diff --git a/XMPFiles/source/FormatSupport/XMPScanner.cpp b/XMPFiles/source/FormatSupport/XMPScanner.cpp index 234baec..d66b303 100644 --- a/XMPFiles/source/FormatSupport/XMPScanner.cpp +++ b/XMPFiles/source/FormatSupport/XMPScanner.cpp @@ -989,7 +989,7 @@ XMPScanner::InternalSnip::InternalSnip ( XMP_Int64 offset, XMP_Int64 length ) XMPScanner::InternalSnip::InternalSnip ( const InternalSnip & rhs ) : fInfo ( rhs.fInfo ), - fMachine ( NULL ) + fMachine ( nullptr ) { assert ( rhs.fMachine.get() == NULL ); // Don't copy a snip with a machine. @@ -1262,8 +1262,8 @@ XMPScanner::Scan ( const void * bufferOrigin, XMP_Int64 bufferOffset, XMP_Int64 { // Some versions of gcc complain about the assignment operator above. This avoids the gcc bug. PacketMachine * pm = new PacketMachine ( bufferOffset, bufferOrigin, bufferLength ); - auto_ptr<PacketMachine> ap ( pm ); - snipPos->fMachine = ap; + std::unique_ptr<PacketMachine> ap ( pm ); + snipPos->fMachine = std::move(ap); } #endif thisMachine = snipPos->fMachine.get(); @@ -1286,8 +1286,8 @@ XMPScanner::Scan ( const void * bufferOrigin, XMP_Int64 bufferOffset, XMP_Int64 #else { // Some versions of gcc complain about the assignment operator above. This avoids the gcc bug. - auto_ptr<PacketMachine> ap ( 0 ); - snipPos->fMachine = ap; + std::unique_ptr<PacketMachine> ap; + snipPos->fMachine = std::move(ap); } #endif bufferDone = true; @@ -1379,8 +1379,8 @@ XMPScanner::Scan ( const void * bufferOrigin, XMP_Int64 bufferOffset, XMP_Int64 #else { // Some versions of gcc complain about the assignment operator above. This avoids the gcc bug. - auto_ptr<PacketMachine> ap ( 0 ); - snipPos->fMachine = ap; + std::unique_ptr<PacketMachine> ap; + snipPos->fMachine = std::move(ap); } #endif bufferDone = true; @@ -1392,7 +1392,7 @@ XMPScanner::Scan ( const void * bufferOrigin, XMP_Int64 bufferOffset, XMP_Int64 InternalSnipIterator tailPos = NextSnip ( snipPos ); - tailPos->fMachine = snipPos->fMachine; // auto_ptr assignment - taking ownership + tailPos->fMachine = std::move(snipPos->fMachine); // auto_ptr assignment - taking ownership thisMachine->ResetMachine (); snipPos = tailPos; diff --git a/XMPFiles/source/FormatSupport/XMPScanner.hpp b/XMPFiles/source/FormatSupport/XMPScanner.hpp index aaeacc1..c9753c0 100644 --- a/XMPFiles/source/FormatSupport/XMPScanner.hpp +++ b/XMPFiles/source/FormatSupport/XMPScanner.hpp @@ -156,7 +156,7 @@ private: // XMPScanner public: SnipInfo fInfo; // The public info about this snip. - std::auto_ptr<PacketMachine> fMachine; // The state machine for "active" snips. + std::unique_ptr<PacketMachine> fMachine; // The state machine for "active" snips. InternalSnip ( XMP_Int64 offset, XMP_Int64 length ); InternalSnip ( const InternalSnip & ); diff --git a/XMPFiles/source/PluginHandler/PluginManager.cpp b/XMPFiles/source/PluginHandler/PluginManager.cpp index 8fb79d7..2b99cd3 100644 --- a/XMPFiles/source/PluginHandler/PluginManager.cpp +++ b/XMPFiles/source/PluginHandler/PluginManager.cpp @@ -688,7 +688,7 @@ void PluginManager::scanRecursive( const std::string & tempPath, std::vector<std StringVec::const_iterator iterFound = std::find_if ( mExtensions.begin(), mExtensions.end(), - std::bind2nd ( std::equal_to<std::string>(), fileExt ) ); + std::bind(std::equal_to<std::string>(), std::placeholders::_1, fileExt)); if ( iterFound != mExtensions.end() ) { @@ -698,7 +698,7 @@ void PluginManager::scanRecursive( const std::string & tempPath, std::vector<std StringVec::const_iterator pluginNeeded = std::find_if ( mPluginsNeeded.begin(), mPluginsNeeded.end(), - std::bind2nd ( std::equal_to<std::string>(), childName ) ); + std::bind(std::equal_to<std::string>(), std::placeholders::_1, childName)); if ( (pluginNeeded != mPluginsNeeded.end()) || mPluginsNeeded.empty() ) { ioFoundLibs.push_back ( childPath ); diff --git a/XMPFiles/source/PluginHandler/XMPAtoms.h b/XMPFiles/source/PluginHandler/XMPAtoms.h index 102c489..d1c0aea 100644 --- a/XMPFiles/source/PluginHandler/XMPAtoms.h +++ b/XMPFiles/source/PluginHandler/XMPAtoms.h @@ -83,14 +83,7 @@ enum #define XMPAtomNull emptyStr_K -struct StringCompare : std::binary_function<const std::string &, const std::string &, bool> -{ - bool operator() (const std::string & a, const std::string & b) const - { - return ( a.compare(b) < 0 ); - } -}; -typedef std::map<std::string, XMPAtom, StringCompare> XMPAtomsMap; +typedef std::map<std::string, XMPAtom> XMPAtomsMap; /** @class ResourceParser diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt index f7feb37..f7feb37 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt index 91d2a23..91d2a23 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi Binary files differindex fc0d931..7fc2f6b 100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so Binary files differindex 3ff8d87..573feb1 100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt index f7feb37..f7feb37 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt index 4f1d470..4f1d470 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi Binary files differindex 6e8ddf7..3f9242b 100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi diff --git a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so Binary files differindex 5df9d7a..537496d 100755 --- a/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so +++ b/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/PDF_Handler b/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/PDF_Handler Binary files differdeleted file mode 100755 index 160d9c0..0000000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/PDF_Handler +++ /dev/null diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/Info.plist b/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/Info.plist deleted file mode 100644 index 4e3e1e6..0000000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>BuildMachineOSBuild</key> - <string>15E65</string> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>PDF_Handler</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>FMWK</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleSupportedPlatforms</key> - <array> - <string>MacOSX</string> - </array> - <key>CFBundleVersion</key> - <string></string> - <key>CSResourcesFileMapped</key> - <true/> - <key>DTCompiler</key> - <string>com.apple.compilers.llvm.clang.1_0</string> - <key>DTPlatformBuild</key> - <string>7D1014</string> - <key>DTPlatformVersion</key> - <string>GM</string> - <key>DTSDKBuild</key> - <string>15E60</string> - <key>DTSDKName</key> - <string>macosx10.11</string> - <key>DTXcode</key> - <string>0731</string> - <key>DTXcodeBuild</key> - <string>7D1014</string> -</dict> -</plist> diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL b/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL Binary files differdeleted file mode 100755 index 860cf23..0000000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +++ /dev/null diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/PDF_Handler b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/PDF_Handler index f561ba7..f561ba7 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/PDF_Handler +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/PDF_Handler diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Resources b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources index 953ee36..953ee36 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Resources +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler Binary files differnew file mode 100755 index 0000000..a6d9493 --- /dev/null +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist new file mode 100755 index 0000000..85e0079 --- /dev/null +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>BuildMachineOSBuild</key> + <string>22G313</string> + <key>CFBundleExecutable</key> + <string>PDF_Handler</string> + <key>CFBundleGetInfoString</key> + <string>PDF Handler 1.0, Copyright (c) 2022</string> + <key>CFBundleIdentifier</key> + <string>com.xmp.PDF_Handler</string> + <key>CFBundleName</key> + <string>PDF_Handler</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleShortVersionString</key> + <string>PDF Handler 1.0</string> + <key>CFBundleSignature</key> + <string>XMP </string> + <key>CFBundleSupportedPlatforms</key> + <array> + <string>MacOSX</string> + </array> + <key>Configuration</key> + <string>Release</string> + <key>DTCompiler</key> + <string>com.apple.compilers.llvm.clang.1_0</string> + <key>DTPlatformBuild</key> + <string>14C18</string> + <key>DTPlatformName</key> + <string>macosx</string> + <key>DTPlatformVersion</key> + <string>13.1</string> + <key>DTSDKBuild</key> + <string>22C55</string> + <key>DTSDKName</key> + <string>macosx13.1</string> + <key>DTXcode</key> + <string>1420</string> + <key>DTXcodeBuild</key> + <string>14C18</string> + <key>FileVersion</key> + <string>1.0</string> + <key>LSMinimumSystemVersion</key> + <string>10.15</string> + <key>ProductName</key> + <string>PDF Handler</string> + <key>ProductVersion</key> + <string>1.0</string> +</dict> +</plist> diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt index f7feb37..f7feb37 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL index 1987270..1987270 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources index 953ee36..953ee36 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL Binary files differnew file mode 100755 index 0000000..a196792 --- /dev/null +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings Binary files differindex 92f120c..33f61ca 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist index fd6b719..f9cb6cf 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist @@ -5,15 +5,15 @@ <key>AcrobatCL</key> <string>448391</string> <key>BuildDate</key> - <string>2019/09/25-13:09:35</string> + <string>2023/11/08-09:35:53</string> <key>BuildID</key> - <string>44714</string> + <string>53914</string> <key>BuildVersion</key> - <string>79.352763</string> + <string>79.5aaec82</string> <key>CFBundleExecutable</key> <string>MiniPDFL</string> <key>CFBundleGetInfoString</key> - <string>AdobePDFL 1.0.0.44714, © 1987-2012 Adobe Systems Incorporated. + <string>AdobePDFL 1.0.0.53914, © 1987-2012 Adobe Systems Incorporated. All Rights Reserved.</string> <key>CFBundleIdentifier</key> <string>com.adobe.PDFL</string> @@ -26,7 +26,7 @@ <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.0.0.44714</string> + <string>1.0.0.53914</string> <key>PDFL_IPID</key> <string><AdobeIP#0000583></string> <key>ReleaseCL</key> diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources index e8dce74..6ae6535 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources @@ -8,14 +8,14 @@ <dict> <key>hash</key> <data> - TyGFzX1l1BVdhR21fphow+57CRU= + diruTMJBDWnaJyi2igJNQ74TH90= </data> <key>optional</key> <true/> </dict> <key>Resources/Info.plist</key> <data> - euoAbAXBSQbgKCFZlMpgGe/KIn4= + GJduAkIrQqM7tRDfCAHlzf7Fp18= </data> </dict> <key>files2</key> @@ -24,7 +24,7 @@ <dict> <key>hash2</key> <data> - puU+EbSHAKJMB6+u01yX7TJKxiLP52xsnUiUFpdDE50= + EG9l+VFYtJS69PXfVjk9kBuOA8A89UiBEs9JqntMzpI= </data> <key>optional</key> <true/> @@ -33,7 +33,7 @@ <dict> <key>hash2</key> <data> - UO/KBSmezLIcr86W0+65a4BVSEQXI4VBrivfNOHCAk0= + WSPjG/RsoFVaW/5FGa4nqQYosJflHfO3Suf2dQcjmaQ= </data> </dict> </dict> @@ -55,6 +55,11 @@ <key>weight</key> <real>1100</real> </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> <key>^version.plist$</key> <true/> </dict> @@ -114,6 +119,11 @@ <key>weight</key> <real>1100</real> </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> <key>^[^/]+$</key> <dict> <key>nested</key> diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current index 8c7e5a6..8c7e5a6 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt index 4f1d470..2632a0d 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<PluginResource Architecture="x64"> +<PluginResource> <Handler Name="adobe.coretech.xmp.minipdfl" Version="1.00" diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources index 6eda86a..760dfb4 100644..100755 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources @@ -4,13 +4,9 @@ <dict> <key>files</key> <dict> - <key>Resources/.DS_Store</key> - <data> - 3y++sUAKzaCQmjLBz2v0kvESHgc= - </data> <key>Resources/Info.plist</key> <data> - 21kphF7EViqvN2KkroutTBbMwHc= + J0Bw+mLTnNpI8XmurPJll4g+2CU= </data> <key>Resources/MODULE_IDENTIFIER.txt</key> <data> @@ -18,49 +14,41 @@ </data> <key>Resources/MiniPDFL.framework/Versions/A/MiniPDFL</key> <data> - yQS3U/6c6+6HKTGut/mB5vWhyYY= + WV0IaNU6RHdWcqU7WiL0ohT6cGo= </data> <key>Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings</key> <dict> <key>hash</key> <data> - TyGFzX1l1BVdhR21fphow+57CRU= + diruTMJBDWnaJyi2igJNQ74TH90= </data> <key>optional</key> <true/> </dict> <key>Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist</key> <data> - euoAbAXBSQbgKCFZlMpgGe/KIn4= + GJduAkIrQqM7tRDfCAHlzf7Fp18= </data> <key>Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources</key> <data> - OKik3QpMGMmp14H6wor/w2Lquac= + FfuAN/VB+MYqBPp8tzZ+mp+7OMk= </data> <key>Resources/XMPPLUGINUIDS.txt</key> <data> - rkFXsE/YEuhTtTBjDsUaBeLcyHA= + HpU7t7M/fUNLz30exHawSr93rkE= </data> </dict> <key>files2</key> <dict> <key>Resources/Info.plist</key> <dict> - <key>hash</key> - <data> - 21kphF7EViqvN2KkroutTBbMwHc= - </data> <key>hash2</key> <data> - fKWx9QaDVEdobJjgmWRc6K7xwJMPsjF36J1H/EeQd9o= + 3caXCPL0H36vDtBdNL44KTvyDVZbF5oUMdF3L+5gUcM= </data> </dict> <key>Resources/MODULE_IDENTIFIER.txt</key> <dict> - <key>hash</key> - <data> - eJbkRFTOj20cUgbc17vH6f5HfH0= - </data> <key>hash2</key> <data> I2N+OsUr2MUohlbb1olmWjGPpIhkZue72u4x2d+rr0g= @@ -78,48 +66,32 @@ </dict> <key>Resources/MiniPDFL.framework/Versions/A/MiniPDFL</key> <dict> - <key>hash</key> - <data> - yQS3U/6c6+6HKTGut/mB5vWhyYY= - </data> <key>hash2</key> <data> - 43lKc02Z2eGdYPlYpHUlelRhQxLeCLl8PL9QPpLokXo= + p9g6CtaIq6TTiIpZdMuDJdVgoGh5LL8iejv2lVbBbt0= </data> </dict> <key>Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings</key> <dict> - <key>hash</key> - <data> - TyGFzX1l1BVdhR21fphow+57CRU= - </data> <key>hash2</key> <data> - puU+EbSHAKJMB6+u01yX7TJKxiLP52xsnUiUFpdDE50= + EG9l+VFYtJS69PXfVjk9kBuOA8A89UiBEs9JqntMzpI= </data> <key>optional</key> <true/> </dict> <key>Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist</key> <dict> - <key>hash</key> - <data> - euoAbAXBSQbgKCFZlMpgGe/KIn4= - </data> <key>hash2</key> <data> - UO/KBSmezLIcr86W0+65a4BVSEQXI4VBrivfNOHCAk0= + WSPjG/RsoFVaW/5FGa4nqQYosJflHfO3Suf2dQcjmaQ= </data> </dict> <key>Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources</key> <dict> - <key>hash</key> - <data> - OKik3QpMGMmp14H6wor/w2Lquac= - </data> <key>hash2</key> <data> - Pf+RZzMHEf8thOWsmZIOh9Zbj6Q2Y+LDBAh3n86AgMA= + H+zbCrYJ6J81hN2QOItai14jkzkySukYxVirt5duT10= </data> </dict> <key>Resources/MiniPDFL.framework/Versions/Current</key> @@ -129,13 +101,9 @@ </dict> <key>Resources/XMPPLUGINUIDS.txt</key> <dict> - <key>hash</key> - <data> - rkFXsE/YEuhTtTBjDsUaBeLcyHA= - </data> <key>hash2</key> <data> - iHZQ8/5ynRx/HQGO/IGhTxdZd5MkVMCzqgD19SE8Gfo= + sbOZ9ZAQy4AFxTItvPw/eLYzRyIFTuEnG8HNb/gVGs8= </data> </dict> </dict> @@ -157,6 +125,11 @@ <key>weight</key> <real>1100</real> </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> <key>^version.plist$</key> <true/> </dict> @@ -216,6 +189,11 @@ <key>weight</key> <real>1100</real> </dict> + <key>^Resources/Base\.lproj/</key> + <dict> + <key>weight</key> + <real>1010</real> + </dict> <key>^[^/]+$</key> <dict> <key>nested</key> diff --git a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/Current b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current index 8c7e5a6..8c7e5a6 120000 --- a/XMPFilesPlugins/PDF_Handler/macintosh/intel_64_libcpp/PDF_Handler.xpi/Versions/Current +++ b/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current diff --git a/XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll b/XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll Binary files differindex 4ced34e..2c0e3b1 100644 --- a/XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll +++ b/XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll diff --git a/XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi b/XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi Binary files differindex 58a5987..f3c1630 100644 --- a/XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi +++ b/XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi diff --git a/XMPFilesPlugins/PluginTemplate/build/GeneratePluginTemplate_win.bat b/XMPFilesPlugins/PluginTemplate/build/GeneratePluginTemplate_win.bat index c252786..05b59d9 100755 --- a/XMPFilesPlugins/PluginTemplate/build/GeneratePluginTemplate_win.bat +++ b/XMPFilesPlugins/PluginTemplate/build/GeneratePluginTemplate_win.bat @@ -43,10 +43,10 @@ set GENERATE_ALL=On :32DLL echo "Generating PluginTemplate Dynamic Win32" -set GENERATOR=Visual Studio 16 2019 +set GENERATOR=Visual Studio 17 2022 set GeneratorArchitecture=Win32 set BITS64=OFF -set CMakeFolder="vc16/windows" +set CMakeFolder="vc17/windows" set CMake_ARCH=x86 IF "%GENERATE_ALL%"=="On" ( set NEXT_LABEL=64DLL @@ -56,10 +56,10 @@ GOTO GenerateNow :64DLL echo "Generating PluginTemplate Dynamic x64" -set GENERATOR=Visual Studio 16 2019 +set GENERATOR=Visual Studio 17 2022 set GeneratorArchitecture=x64 set BITS64=ON -set CMakeFolder="vc16/windows_x64" +set CMakeFolder="vc17/windows_x64" set CMake_ARCH=x64 IF "%GENERATE_ALL%"=="On" ( set NEXT_LABEL=ok @@ -92,7 +92,7 @@ exit /B 0 :CLEANALL echo "Cleaning..." -if exist vc16 rmdir /S /Q vc16 +if exist vc17 rmdir /S /Q vc17 echo "Done" pause exit /B 0 diff --git a/XMPFilesPlugins/api/source/PluginRegistry.h b/XMPFilesPlugins/api/source/PluginRegistry.h index 467fea3..241e839 100644 --- a/XMPFilesPlugins/api/source/PluginRegistry.h +++ b/XMPFilesPlugins/api/source/PluginRegistry.h @@ -68,14 +68,7 @@ public: private: - struct StringCompare : std::binary_function< const std::string &, const std::string &, bool > - { - bool operator()( const std::string & a, const std::string & b ) const - { - return ( a.compare(b) < 0 ); - } - }; - typedef std::map<std::string, const PluginCreatorBase*, StringCompare> RegistryEntryMap; + typedef std::map<std::string, const PluginCreatorBase*> RegistryEntryMap; PluginRegistry(){} ~PluginRegistry(); diff --git a/build/GenerateXMPToolkitSDK_win.bat b/build/GenerateXMPToolkitSDK_win.bat index 338f359..1c26a2b 100755 --- a/build/GenerateXMPToolkitSDK_win.bat +++ b/build/GenerateXMPToolkitSDK_win.bat @@ -37,7 +37,7 @@ set GENERATE_ALL=On :32DLL echo "Generating XMPSDKToolkit Dynamic Win32" -set VS_VERSION=2019 +set VS_VERSION=2022 set BUILD_TYPE=Dynamic set BITS=32 IF "%GENERATE_ALL%"=="On" ( @@ -48,7 +48,7 @@ GOTO GenerateNow :32LIB echo "Generating XMPSDKToolkit Static Win32" -set VS_VERSION=2019 +set VS_VERSION=2022 set BUILD_TYPE=Static set BITS=32 IF "%GENERATE_ALL%"=="On" ( @@ -58,7 +58,7 @@ GOTO GenerateNow :64DLL echo "Generating XMPSDKToolkit Dynamic x64" -set VS_VERSION=2019 +set VS_VERSION=2022 set BUILD_TYPE=Dynamic set BITS=64 IF "%GENERATE_ALL%"=="On" ( @@ -68,7 +68,7 @@ GOTO GenerateNow :64LIB echo "Generating XMPSDKToolkit Static x64" -set VS_VERSION=2019 +set VS_VERSION=2022 set BUILD_TYPE=Static set BITS=64 IF "%GENERATE_ALL%"=="On" ( @@ -94,9 +94,9 @@ exit /B 0 :CLEANALL echo "Cleaning..." -if exist vc16 rmdir /S /Q vc16 -if exist ..\XMPCore\build\vc16 rmdir /S /Q ..\XMPCore\build\vc16 -if exist ..\XMPFiles\build\vc16 rmdir /S /Q ..\XMPFiles\build\vc16 +if exist vc17 rmdir /S /Q vc17 +if exist ..\XMPCore\build\vc17 rmdir /S /Q ..\XMPCore\build\vc17 +if exist ..\XMPFiles\build\vc17 rmdir /S /Q ..\XMPFiles\build\vc17 if exist ..\public\libraries\windows rmdir /S /Q ..\public\libraries\windows if exist ..\public\libraries\windows_x64 rmdir /S /Q ..\public\libraries\windows_x64 echo "Done" diff --git a/build/XMP_BuildInfo.h b/build/XMP_BuildInfo.h index e5b11a4..acbcacf 100644 --- a/build/XMP_BuildInfo.h +++ b/build/XMP_BuildInfo.h @@ -11,7 +11,7 @@ // ================================================================================================= */ -#define kXMP_Copyright Copyright (c) 2019 -#define kXMP_CopyrightStr "Copyright (c) 2019" +#define kXMP_Copyright Copyright (c) 2022 +#define kXMP_CopyrightStr "Copyright (c) 2022" #endif /* __XMP_BuildInfo_h__ */ diff --git a/build/shared/CMakeUtils.bat b/build/shared/CMakeUtils.bat index 3dae202..42e4c5f 100755 --- a/build/shared/CMakeUtils.bat +++ b/build/shared/CMakeUtils.bat @@ -8,7 +8,7 @@ REM Available Arguments: REM [64|32] Bit Architecture (optional, 64 is default) -REM [2008|2011|2011|2015|2017] VS Version(optional, 2019 is default) +REM [2008|2011|2011|2015|2017|2019] VS Version(optional, 2022 is default) REM [Dynamic | Static] optional, Dynamic by default REM [WarningAsError] optional REM [Clean] optional @@ -22,7 +22,7 @@ set CleanCMake=OFF set XMPROOT=%buildSharedLoc%/../.. :: Default Generator -set GeneratorVersion=Visual Studio 16 2019 +set GeneratorVersion=Visual Studio 17 2022 set GeneratorArchitecture=x64 set CMake_Arch64Bit=ON set CMake_ARCH=x64 @@ -59,9 +59,9 @@ set CMake_LibTypeFolderName=dynamic ) :: Visual Studio Version - if /I "%1"=="2019" ( - echo "Generator VS 2019 specified" - set GeneratorVersion=Visual Studio 16 2019 + if /I "%1"=="2022" ( + echo "Generator VS 2022 specified" + set GeneratorVersion=Visual Studio 17 2022 set CMakeGenVersion_FolderSuffix= ) @@ -94,7 +94,7 @@ set CMake64_Folder_Suffix= ) :: CMake Folder specified: -set CMakeFolder="vc16/%CMake_LibTypeFolderName%/windows%CMake64_Folder_Suffix%" +set CMakeFolder="vc17/%CMake_LibTypeFolderName%/windows%CMake64_Folder_Suffix%" echo CMakeFolder: %CMakeFolder% echo Generator used: %GeneratorVersion% diff --git a/build/shared/SharedConfig_Android.cmake b/build/shared/SharedConfig_Android.cmake index 8eb23e6..7ab6b53 100644 --- a/build/shared/SharedConfig_Android.cmake +++ b/build/shared/SharedConfig_Android.cmake @@ -42,7 +42,7 @@ endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_SHARED_COMPILE_FLAGS} ${${COMPONENT}_EXTRA_C_COMPILE_FLAGS} -Wno-implicit ") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMMON_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${COMMON_SHARED_COMPILE_RELEASE_FLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_SHARED_COMPILE_FLAGS} ${COMMON_EXTRA_CXX_COMPILE_FLAGS} -mfpu=vfpv3-d16 -Wno-reorder -std=c++11") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_SHARED_COMPILE_FLAGS} ${COMMON_EXTRA_CXX_COMPILE_FLAGS} -mfpu=vfpv3-d16 -Wno-reorder -std=c++17") set(CMAKE_CXX_FLAGS_DEBUG " ${COMMON_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_CXX_FLAGS_RELEASE " ${COMMON_SHARED_COMPILE_RELEASE_FLAGS} -s") set(COMMON_PLATFORM_BEGIN_WHOLE_ARCHIVE "-Wl,--whole-archive") diff --git a/build/shared/SharedConfig_Ios.cmake b/build/shared/SharedConfig_Ios.cmake index 0cd9744..03a0f1b 100644 --- a/build/shared/SharedConfig_Ios.cmake +++ b/build/shared/SharedConfig_Ios.cmake @@ -52,7 +52,7 @@ set(CMAKE_C_FLAGS "${${COMPONENT}_SHARED_COMPILE_FLAGS} ${${COMPONENT}_EXTRA_C_C set(CMAKE_C_FLAGS_DEBUG "${${COMPONENT}_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_C_FLAGS_RELEASE "${${COMPONENT}_SHARED_COMPILE_RELEASE_FLAGS}") -set(CMAKE_CXX_FLAGS "-std=c++11 ${${COMPONENT}_SHARED_COMPILE_FLAGS} ${${COMPONENT}_EXTRA_CXX_COMPILE_FLAGS}") +set(CMAKE_CXX_FLAGS "-std=c++17 ${${COMPONENT}_SHARED_COMPILE_FLAGS} ${${COMPONENT}_EXTRA_CXX_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS_DEBUG "${${COMPONENT}_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_CXX_FLAGS_RELEASE "${${COMPONENT}_SHARED_COMPILE_RELEASE_FLAGS}") diff --git a/build/shared/SharedConfig_Mac.cmake b/build/shared/SharedConfig_Mac.cmake index cd8eda0..302704d 100644 --- a/build/shared/SharedConfig_Mac.cmake +++ b/build/shared/SharedConfig_Mac.cmake @@ -53,7 +53,7 @@ set(CMAKE_C_FLAGS "${COMMON_SHARED_COMPILE_FLAGS} ${COMMON_EXTRA_C_COMPILE_FLAGS set(CMAKE_C_FLAGS_DEBUG "${COMMON_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_C_FLAGS_RELEASE "${COMMON_SHARED_COMPILE_RELEASE_FLAGS}") -set(COMMON_SHARED_CXX_COMPILE_FLAGS "${${COMPONENT}_SHARED_CXX_COMPILE_FLAGS} -std=c++11 -Wnon-virtual-dtor -Woverloaded-virtual -Wno-unused-variable -Wno-unused-function -Wno-unused-parameter") +set(COMMON_SHARED_CXX_COMPILE_FLAGS "${${COMPONENT}_SHARED_CXX_COMPILE_FLAGS} -std=c++17 -Wnon-virtual-dtor -Woverloaded-virtual -Wno-unused-variable -Wno-unused-function -Wno-unused-parameter") set(CMAKE_CXX_FLAGS "-funsigned-char -fshort-enums -fno-common ${COMMON_SHARED_CXX_COMPILE_FLAGS} ${COMMON_EXTRA_CXX_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS_DEBUG "${COMMON_SHARED_COMPILE_DEBUG_FLAGS}") set(CMAKE_CXX_FLAGS_RELEASE "${COMMON_SHARED_COMPILE_RELEASE_FLAGS}") diff --git a/build/shared/SharedConfig_Win.cmake b/build/shared/SharedConfig_Win.cmake index 8c59f93..965f3fc 100644 --- a/build/shared/SharedConfig_Win.cmake +++ b/build/shared/SharedConfig_Win.cmake @@ -19,6 +19,9 @@ endif(ANDROID) # ============================================================================== # Shared config for windows # ============================================================================== +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if(CMAKE_CL_64) set(COMMON_SHARED_COMPILE_FLAGS "-DWIN64 -D_WIN64=1") diff --git a/build/shared/ToolchainLLVM.cmake b/build/shared/ToolchainLLVM.cmake index ab3c736..69d632c 100644 --- a/build/shared/ToolchainLLVM.cmake +++ b/build/shared/ToolchainLLVM.cmake @@ -14,8 +14,9 @@ set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") set(CMAKE_C_COMPILER xcrun -find clang) set(CMAKE_CXX_COMPILER xcrun -find clang++) +set(CMAKE_XCODE_BUILD_SYSTEM 12) - -# SDK and deployment -set(XMP_OSX_SDK 11.1) -set(XMP_OSX_TARGET 10.13) +# SDK and deployment +set(XMP_OSX_SDK 13.1) +set(XMP_OSX_TARGET 10.15) +set(APPLE_UNIVERSAL True) diff --git a/docs/XMPProgrammersGuide.pdf b/docs/XMPProgrammersGuide.pdf Binary files differindex 77bd2d9..d2f42df 100644..100755 --- a/docs/XMPProgrammersGuide.pdf +++ b/docs/XMPProgrammersGuide.pdf diff --git a/public/include/XMP_Const.h b/public/include/XMP_Const.h index 21230a0..b14d193 100644 --- a/public/include/XMP_Const.h +++ b/public/include/XMP_Const.h @@ -1198,7 +1198,10 @@ enum { kXMPFiles_OpenRepairFile = 0x00000100, /// When updating a file, spend the effort necessary to optimize file layout. - kXMPFiles_OptimizeFileLayout = 0x00000200 + kXMPFiles_OptimizeFileLayout = 0x00000200, + + /// When updating a PDF preserve state of document + kXMPFiles_PreservePDFState = 0x00000400 }; diff --git a/samples/build/GenerateSamples_win.bat b/samples/build/GenerateSamples_win.bat index 29a8634..1520175 100755 --- a/samples/build/GenerateSamples_win.bat +++ b/samples/build/GenerateSamples_win.bat @@ -19,16 +19,16 @@ exit /B 0) :Start ECHO Enter your choice: ECHO 1. Clean -ECHO 2. VC2019, 64 Bit Project (Static) -ECHO 3. VC2019, 64 Bit Project (Dynamic) +ECHO 2. VC2022, 64 Bit Project (Static) +ECHO 3. VC2022, 64 Bit Project (Dynamic) ECHO 4. Close ECHO set /P choice=Enter your choice: IF "%choice%"=="1" GOTO CleanCMake -IF "%choice%"=="2" GOTO 64VC2019 -IF "%choice%"=="3" GOTO 64VC2019 +IF "%choice%"=="2" GOTO 64VC2022 +IF "%choice%"=="3" GOTO 64VC2022 IF "%choice%"=="4" GOTO Close @@ -80,7 +80,7 @@ if exist cmake\ModifyingXMPHistory\build_x64 rmdir /S /Q cmake\ModifyingXMPHisto if exist cmake\ModifyingXMPHistory\build rmdir /S /Q cmake\ModifyingXMPHistory\build -if exist vc16 rmdir /S /Q vc16 +if exist vc17 rmdir /S /Q vc17 if exist ..\target\windows rmdir /S /Q ..\target\windows if exist ..\target\windows_x64 rmdir /S /Q ..\target\windows_x64 @@ -89,9 +89,9 @@ echo. echo. GOTO Start -:64VC2019 -set GENERATOR=Visual Studio 16 2019 -set DIR=vc16\windows_x64 +:64VC2022 +set GENERATOR=Visual Studio 17 2022 +set DIR=vc17\windows_x64 set bit64=1 IF "%choice%"=="2" set static=1 IF "%choice%"=="3" set static=0 diff --git a/samples/source/DumpMainXMP.cpp b/samples/source/DumpMainXMP.cpp index c97d7ac..aba5161 100644 --- a/samples/source/DumpMainXMP.cpp +++ b/samples/source/DumpMainXMP.cpp @@ -77,7 +77,7 @@ ProcessFile ( const char * fileName ) XMP_OptionBits openFlags, handlerFlags; XMP_PacketInfo xmpPacket; - sprintf ( buffer, "Dumping main XMP for %s", fileName ); + snprintf ( buffer,sizeof(buffer), "Dumping main XMP for %s", fileName ); WriteMinorLabel ( sLogFile, buffer ); xmpFile.OpenFile ( fileName, kXMP_UnknownFile, kXMPFiles_OpenForRead ); diff --git a/samples/source/DumpScannedXMP.cpp b/samples/source/DumpScannedXMP.cpp index f14f0dc..28a6bff 100644 --- a/samples/source/DumpScannedXMP.cpp +++ b/samples/source/DumpScannedXMP.cpp @@ -69,7 +69,7 @@ ProcessPacket ( const char * fileName, char title [1000]; - sprintf ( title, "// Dumping raw input for \"%s\" (%zu..%zu)", fileName, offset, (offset + length - 1) ); + snprintf ( title, sizeof(title),"// Dumping raw input for \"%s\" (%zu..%zu)", fileName, offset, (offset + length - 1) ); printf ( "// " ); for ( size_t i = 3; i < strlen(title); ++i ) printf ( "=" ); printf ( "\n\n%s\n\n%.*s\n\n", title, (int)length, xmlString.c_str() ); diff --git a/samples/source/UnicodeCorrectness.cpp b/samples/source/UnicodeCorrectness.cpp index 2864358..7b25cca 100644 --- a/samples/source/UnicodeCorrectness.cpp +++ b/samples/source/UnicodeCorrectness.cpp @@ -2784,7 +2784,7 @@ extern "C" int main ( void ) time_t now; time ( &now ); - sprintf ( buffer, "// Starting test for Unicode conversion correctness, %s", ctime ( &now ) ); + snprintf ( buffer, sizeof(buffer), "// Starting test for Unicode conversion correctness, %s", ctime ( &now ) ); fprintf ( log, "// " ); for ( size_t i = 4; i < strlen(buffer); ++i ) fprintf ( log, "=" ); @@ -2803,7 +2803,7 @@ extern "C" int main ( void ) } time ( &now ); - sprintf ( buffer, "// Finished test for Unicode conversion correctness, %s", ctime ( &now ) ); + snprintf ( buffer, sizeof(buffer), "// Finished test for Unicode conversion correctness, %s", ctime ( &now ) ); fprintf ( log, "\n// " ); for ( size_t i = 4; i < strlen(buffer); ++i ) fprintf ( log, "=" ); diff --git a/samples/source/UnicodeParseSerialize.cpp b/samples/source/UnicodeParseSerialize.cpp index 5f0d463..a8935b9 100644 --- a/samples/source/UnicodeParseSerialize.cpp +++ b/samples/source/UnicodeParseSerialize.cpp @@ -145,7 +145,7 @@ static void FullUnicodeParse ( FILE * log, const char * encoding, size_t bufferS meta.ParseFromBuffer ( XMP_StringPtr(sU32), 0 ); } catch ( XMP_Error& excep ) { char message [200]; - sprintf ( message, "#ERROR: Full Unicode parsing error for %s, %d byte buffers", encoding, bufferSize ); + snprintf ( message, sizeof(message), "#ERROR: Full Unicode parsing error for %s, %d byte buffers", encoding, bufferSize ); PrintXMPErrorInfo ( excep, message ); return; } @@ -455,7 +455,7 @@ extern "C" int main ( void ) time_t now; time ( &now ); - sprintf ( buffer, "// Starting test for UTF-16 and UTF-32 serialization and parsing, %s", ctime ( &now ) ); + snprintf ( buffer,sizeof(buffer), "// Starting test for UTF-16 and UTF-32 serialization and parsing, %s", ctime ( &now ) ); fprintf ( sLogFile, "// " ); for ( int i = 4; i < strlen(buffer); ++i ) fprintf ( sLogFile, "=" ); @@ -500,7 +500,7 @@ extern "C" int main ( void ) } time ( &now ); - sprintf ( buffer, "// Finished test for UTF-16 and UTF-32 serialization and parsing, %s", ctime ( &now ) ); + snprintf ( buffer,sizeof(buffer), "// Finished test for UTF-16 and UTF-32 serialization and parsing, %s", ctime ( &now ) ); fprintf ( sLogFile, "// " ); for ( int i = 4; i < strlen(buffer); ++i ) fprintf ( sLogFile, "=" ); diff --git a/samples/source/UnicodePerformance.cpp b/samples/source/UnicodePerformance.cpp index dac4ecd..4a45e4b 100644 --- a/samples/source/UnicodePerformance.cpp +++ b/samples/source/UnicodePerformance.cpp @@ -279,7 +279,7 @@ extern "C" int main ( void ) time_t now; time ( &now ); - sprintf ( buffer, "// Starting test for Unicode conversion performance, %s", ctime ( &now ) ); + snprintf ( buffer, sizeof(buffer), "// Starting test for Unicode conversion performance, %s", ctime ( &now ) ); fprintf ( log, "// " ); for ( size_t i = 4; i < strlen(buffer); ++i ) fprintf ( log, "=" ); @@ -298,7 +298,7 @@ extern "C" int main ( void ) } time ( &now ); - sprintf ( buffer, "// Finished test for Unicode conversion performance, %s", ctime ( &now ) ); + snprintf ( buffer, sizeof(buffer), "// Finished test for Unicode conversion performance, %s", ctime ( &now ) ); fprintf ( log, "\n// " ); for ( size_t i = 4; i < strlen(buffer); ++i ) fprintf ( log, "=" ); diff --git a/samples/source/XMPCoreCoverage.cpp b/samples/source/XMPCoreCoverage.cpp index 7bb9f89..fb09f8f 100644 --- a/samples/source/XMPCoreCoverage.cpp +++ b/samples/source/XMPCoreCoverage.cpp @@ -899,7 +899,7 @@ static void DoXMPCoreCoverage ( FILE * log ) fprintf ( log, "\n" ); for ( i = 1; i < 14; ++i ) { - sprintf ( dateName, "Date%d", i ); + snprintf ( dateName,sizeof(dateName), "Date%d", i ); ok = meta.GetProperty_Date ( kNS1, dateName, &dateValue, &options ); fprintf ( log, "GetProperty_Date (%s) : %s, %d-%02d-%02d %02d:%02d:%02d %d*%02d:%02d %d, 0x%X\n", dateName, FoundOrNot ( ok ), dateValue.year, dateValue.month, dateValue.day, dateValue.hour, dateValue.minute, dateValue.second, diff --git a/samples/source/XMPFilesCoverage.cpp b/samples/source/XMPFilesCoverage.cpp index a449670..b4ccec1 100644 --- a/samples/source/XMPFilesCoverage.cpp +++ b/samples/source/XMPFilesCoverage.cpp @@ -204,7 +204,7 @@ static void TestOneFile ( const char * fileName ) XMP_PacketInfo xmpPacket; std::string roDump, rwDump; - sprintf ( buffer, "Testing %s", fileName ); + snprintf ( buffer,sizeof(buffer), "Testing %s", fileName ); WriteMinorLabel ( sLogFile, buffer ); OpenTestFile ( fileName, kXMPFiles_OpenForRead, &xmpMeta, &xmpFile ); |