%
%
*/
-\f
+
+
/*
Include declarations.
*/
#include "MagickCore/version.h"
#include "MagickCore/xml-tree.h"
#include "MagickCore/xml-tree-private.h"
-\f
+#if defined(MAGICKCORE_LCMS_DELEGATE)
+#if defined(MAGICKCORE_HAVE_LCMS_LCMS2_H)
+#include <lcms/lcms2.h>
+#elif defined(MAGICKCORE_HAVE_LCMS2_H)
+#include "lcms2.h"
+#elif defined(MAGICKCORE_HAVE_LCMS_LCMS_H)
+#include <lcms/lcms.h>
+#else
+#include "lcms.h"
+#endif
+#endif
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
}
return(MagickTrue);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
*p='\0';
return(SetImageProperty(image,key,value,exception));
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
return(MagickFalse);
return(DeleteNodeFromSplayTree((SplayTreeInfo *) image->properties,property));
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
image->properties=(void *) DestroySplayTree((SplayTreeInfo *)
image->properties);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
exception=DestroyExceptionInfo(exception);
return(status);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
}
return(p);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
}
case 'p':
{
- if (LocaleCompare("profile",property) == 0)
+#if defined(MAGICKCORE_LCMS_DELEGATE)
+ if (LocaleCompare("profile:icc",property) == 0 ||
+ LocaleCompare("profile:icm",property) == 0)
+ {
+ const StringInfo
+ *profile;
+
+ cmsHPROFILE
+ icc_profile;
+
+ profile=GetImageProfile(image,property+8);
+ if (profile == (StringInfo *) NULL)
+ break;
+
+ icc_profile=cmsOpenProfileFromMem(GetStringInfoDatum(profile),
+ (cmsUInt32Number) GetStringInfoLength(profile));
+ if (icc_profile != (cmsHPROFILE *) NULL)
+ {
+#if defined(LCMS_VERSION) && (LCMS_VERSION < 2000)
+ string=cmsTakeProductName(icc_profile);
+#else
+ (void) cmsGetProfileInfoASCII(icc_profile,cmsInfoDescription,
+ "en","US",value,MaxTextExtent);
+#endif
+ (void) cmsCloseProfile(icc_profile);
+ }
+ }
+#endif
+ if (LocaleCompare("profiles",property) == 0)
{
const char
*name;
ResetImageProfileIterator(image);
name=GetNextImageProfile(image);
- while (name != (char *) NULL)
- {
- (void) FormatLocaleString(value,MaxTextExtent,"%s %s",value,name);
- name=GetNextImageProfile(image);
- }
+ if (name != (char *) NULL)
+ {
+ (void) CopyMagickString(value,name,MaxTextExtent);
+ name=GetNextImageProfile(image);
+ while (name != (char *) NULL)
+ {
+ ConcatenateMagickString(value,",",MaxTextExtent);
+ ConcatenateMagickString(value,name,MaxTextExtent);
+ name=GetNextImageProfile(image);
+ }
+ }
break;
}
break;
}
return((char *)NULL);
}
-#undef WarnNoImageRteurn
-\f
+#undef WarnNoImageReturn
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
return((char *) NULL);
return((char *) GetNextKeyInSplayTree((SplayTreeInfo *) image->properties));
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
*q='\0';
return(interpret_text);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
property);
return(value);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
return;
ResetSplayTreeIterator((SplayTreeInfo *) image->properties);
}
-\f
+
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %