From: cristy Date: Thu, 15 Mar 2012 00:16:53 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6042 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bb06a1ae91f8faee739eb0a1ff4936efd7d22ea4;p=imagemagick --- diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h index b57be1aa5..6c325993c 100644 --- a/MagickCore/magick-config.h +++ b/MagickCore/magick-config.h @@ -20,7 +20,9 @@ #endif /* Define if you have CAIRO library */ -/* #undef CAIRO_DELEGATE */ +#ifndef MAGICKCORE_CAIRO_DELEGATE +#define MAGICKCORE_CAIRO_DELEGATE 1 +#endif /* permit enciphering and deciphering image pixels */ #ifndef MAGICKCORE_CIPHER_SUPPORT @@ -52,7 +54,9 @@ #endif /* Define if you have DJVU library */ -/* #undef DJVU_DELEGATE */ +#ifndef MAGICKCORE_DJVU_DELEGATE +#define MAGICKCORE_DJVU_DELEGATE 1 +#endif /* Directory where ImageMagick documents live. */ #ifndef MAGICKCORE_DOCUMENTATION_PATH @@ -71,7 +75,9 @@ #endif /* Define if you have FFTW library */ -/* #undef FFTW_DELEGATE */ +#ifndef MAGICKCORE_FFTW_DELEGATE +#define MAGICKCORE_FFTW_DELEGATE 1 +#endif /* Location of filter modules */ #ifndef MAGICKCORE_FILTER_PATH @@ -84,19 +90,25 @@ #endif /* Define if you have FONTCONFIG library */ -/* #undef FONTCONFIG_DELEGATE */ +#ifndef MAGICKCORE_FONTCONFIG_DELEGATE +#define MAGICKCORE_FONTCONFIG_DELEGATE 1 +#endif /* Define if you have FlashPIX library */ /* #undef FPX_DELEGATE */ /* Define if you have FreeType (TrueType font) library */ -/* #undef FREETYPE_DELEGATE */ +#ifndef MAGICKCORE_FREETYPE_DELEGATE +#define MAGICKCORE_FREETYPE_DELEGATE 1 +#endif /* Define if you have Ghostscript library or framework */ /* #undef GS_DELEGATE */ /* Define if you have GVC library */ -/* #undef GVC_DELEGATE */ +#ifndef MAGICKCORE_GVC_DELEGATE +#define MAGICKCORE_GVC_DELEGATE 1 +#endif /* Define to 1 if you have the `acosh' function. */ #ifndef MAGICKCORE_HAVE_ACOSH @@ -226,9 +238,7 @@ /* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if you don't. */ -#ifndef MAGICKCORE_HAVE_DECL_CYGWIN_CONV_PATH -#define MAGICKCORE_HAVE_DECL_CYGWIN_CONV_PATH 1 -#endif +/* #undef HAVE_DECL_CYGWIN_CONV_PATH */ /* Define to 1 if you have the declaration of `pread', and to 0 if you don't. */ @@ -256,9 +266,7 @@ /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ -#ifndef MAGICKCORE_HAVE_DECL_TZNAME -#define MAGICKCORE_HAVE_DECL_TZNAME 1 -#endif +/* #undef HAVE_DECL_TZNAME */ /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you don't. */ @@ -341,7 +349,9 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_FT2BUILD_H */ +#ifndef MAGICKCORE_HAVE_FT2BUILD_H +#define MAGICKCORE_HAVE_FT2BUILD_H 1 +#endif /* Define to 1 if you have the `ftime' function. */ #ifndef MAGICKCORE_HAVE_FTIME @@ -432,7 +442,9 @@ #endif /* Define if you have the header file. */ -/* #undef HAVE_LCMS2_H */ +#ifndef MAGICKCORE_HAVE_LCMS2_H +#define MAGICKCORE_HAVE_LCMS2_H 1 +#endif /* Define if you have the header file. */ /* #undef HAVE_LCMS2_LCMS2_H */ @@ -462,7 +474,9 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_LINUX_UNISTD_H */ +#ifndef MAGICKCORE_HAVE_LINUX_UNISTD_H +#define MAGICKCORE_HAVE_LINUX_UNISTD_H 1 +#endif /* Define to 1 if you have the `lltostr' function. */ /* #undef HAVE_LLTOSTR */ @@ -499,12 +513,12 @@ #endif /* Define this if a modern libltdl is already installed */ -/* #undef HAVE_LTDL */ +#ifndef MAGICKCORE_HAVE_LTDL +#define MAGICKCORE_HAVE_LTDL 1 +#endif /* Define to 1 if you have the header file. */ -#ifndef MAGICKCORE_HAVE_MACHINE_PARAM_H -#define MAGICKCORE_HAVE_MACHINE_PARAM_H 1 -#endif +/* #undef HAVE_MACHINE_PARAM_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_MACH_O_DYLD_H */ @@ -568,7 +582,9 @@ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the `newlocale' function. */ -/* #undef HAVE_NEWLOCALE */ +#ifndef MAGICKCORE_HAVE_NEWLOCALE +#define MAGICKCORE_HAVE_NEWLOCALE 1 +#endif /* Define to 1 if you have the header file. */ /* #undef HAVE_OPENCL_CL_H */ @@ -617,7 +633,9 @@ #endif /* Define to 1 if you have the `posix_spawnp' function. */ -/* #undef HAVE_POSIX_SPAWNP */ +#ifndef MAGICKCORE_HAVE_POSIX_SPAWNP +#define MAGICKCORE_HAVE_POSIX_SPAWNP 1 +#endif /* Define to 1 if you have the `pow' function. */ #ifndef MAGICKCORE_HAVE_POW @@ -635,9 +653,7 @@ #endif /* Define to 1 if you have the header file. */ -#ifndef MAGICKCORE_HAVE_PROCESS_H -#define MAGICKCORE_HAVE_PROCESS_H 1 -#endif +/* #undef HAVE_PROCESS_H */ /* Define if you have POSIX threads libraries and header files. */ #ifndef MAGICKCORE_HAVE_PTHREAD @@ -645,7 +661,9 @@ #endif /* Have PTHREAD_PRIO_INHERIT. */ -/* #undef HAVE_PTHREAD_PRIO_INHERIT */ +#ifndef MAGICKCORE_HAVE_PTHREAD_PRIO_INHERIT +#define MAGICKCORE_HAVE_PTHREAD_PRIO_INHERIT 1 +#endif /* Define to 1 if you have the `pwrite' function. */ #ifndef MAGICKCORE_HAVE_PWRITE @@ -653,7 +671,9 @@ #endif /* Define to 1 if you have the `qsort_r' function. */ -/* #undef HAVE_QSORT_R */ +#ifndef MAGICKCORE_HAVE_QSORT_R +#define MAGICKCORE_HAVE_QSORT_R 1 +#endif /* Define to 1 if you have the `raise' function. */ #ifndef MAGICKCORE_HAVE_RAISE @@ -706,10 +726,14 @@ #endif /* X11 server supports shape extension */ -/* #undef HAVE_SHAPE */ +#ifndef MAGICKCORE_HAVE_SHAPE +#define MAGICKCORE_HAVE_SHAPE 1 +#endif /* X11 server supports shared memory extension */ -/* #undef HAVE_SHARED_MEMORY */ +#ifndef MAGICKCORE_HAVE_SHARED_MEMORY +#define MAGICKCORE_HAVE_SHARED_MEMORY 1 +#endif /* Define if you have the shl_load function. */ /* #undef HAVE_SHL_LOAD */ @@ -725,9 +749,7 @@ #endif /* Define to 1 if you have the `spawnvp' function. */ -#ifndef MAGICKCORE_HAVE_SPAWNVP -#define MAGICKCORE_HAVE_SPAWNVP 1 -#endif +/* #undef HAVE_SPAWNVP */ /* Define to 1 if you have the `sqrt' function. */ #ifndef MAGICKCORE_HAVE_SQRT @@ -810,14 +832,10 @@ #endif /* Define to 1 if you have the `strlcat' function. */ -#ifndef MAGICKCORE_HAVE_STRLCAT -#define MAGICKCORE_HAVE_STRLCAT 1 -#endif +/* #undef HAVE_STRLCAT */ /* Define to 1 if you have the `strlcpy' function. */ -#ifndef MAGICKCORE_HAVE_STRLCPY -#define MAGICKCORE_HAVE_STRLCPY 1 -#endif +/* #undef HAVE_STRLCPY */ /* Define to 1 if you have the `strncasecmp' function. */ #ifndef MAGICKCORE_HAVE_STRNCASECMP @@ -850,7 +868,9 @@ #endif /* Define to 1 if you have the `strtod_l' function. */ -/* #undef HAVE_STRTOD_L */ +#ifndef MAGICKCORE_HAVE_STRTOD_L +#define MAGICKCORE_HAVE_STRTOD_L 1 +#endif /* Define to 1 if you have the `strtol' function. */ #ifndef MAGICKCORE_HAVE_STRTOL @@ -863,7 +883,9 @@ #endif /* Define to 1 if `tm_zone' is a member of `struct tm'. */ -/* #undef HAVE_STRUCT_TM_TM_ZONE */ +#ifndef MAGICKCORE_HAVE_STRUCT_TM_TM_ZONE +#define MAGICKCORE_HAVE_STRUCT_TM_TM_ZONE 1 +#endif /* Define to 1 if you have the `symlink' function. */ #ifndef MAGICKCORE_HAVE_SYMLINK @@ -955,31 +977,49 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_TIFFCONF_H */ +#ifndef MAGICKCORE_HAVE_TIFFCONF_H +#define MAGICKCORE_HAVE_TIFFCONF_H 1 +#endif /* Define to 1 if you have the `TIFFIsBigEndian' function. */ -/* #undef HAVE_TIFFISBIGENDIAN */ +#ifndef MAGICKCORE_HAVE_TIFFISBIGENDIAN +#define MAGICKCORE_HAVE_TIFFISBIGENDIAN 1 +#endif /* Define to 1 if you have the `TIFFIsCODECConfigured' function. */ -/* #undef HAVE_TIFFISCODECCONFIGURED */ +#ifndef MAGICKCORE_HAVE_TIFFISCODECCONFIGURED +#define MAGICKCORE_HAVE_TIFFISCODECCONFIGURED 1 +#endif /* Define to 1 if you have the `TIFFMergeFieldInfo' function. */ -/* #undef HAVE_TIFFMERGEFIELDINFO */ +#ifndef MAGICKCORE_HAVE_TIFFMERGEFIELDINFO +#define MAGICKCORE_HAVE_TIFFMERGEFIELDINFO 1 +#endif /* Define to 1 if you have the `TIFFReadEXIFDirectory' function. */ -/* #undef HAVE_TIFFREADEXIFDIRECTORY */ +#ifndef MAGICKCORE_HAVE_TIFFREADEXIFDIRECTORY +#define MAGICKCORE_HAVE_TIFFREADEXIFDIRECTORY 1 +#endif /* Define to 1 if you have the `TIFFSetErrorHandlerExt' function. */ -/* #undef HAVE_TIFFSETERRORHANDLEREXT */ +#ifndef MAGICKCORE_HAVE_TIFFSETERRORHANDLEREXT +#define MAGICKCORE_HAVE_TIFFSETERRORHANDLEREXT 1 +#endif /* Define to 1 if you have the `TIFFSetTagExtender' function. */ -/* #undef HAVE_TIFFSETTAGEXTENDER */ +#ifndef MAGICKCORE_HAVE_TIFFSETTAGEXTENDER +#define MAGICKCORE_HAVE_TIFFSETTAGEXTENDER 1 +#endif /* Define to 1 if you have the `TIFFSetWarningHandlerExt' function. */ -/* #undef HAVE_TIFFSETWARNINGHANDLEREXT */ +#ifndef MAGICKCORE_HAVE_TIFFSETWARNINGHANDLEREXT +#define MAGICKCORE_HAVE_TIFFSETWARNINGHANDLEREXT 1 +#endif /* Define to 1 if you have the `TIFFSwabArrayOfTriples' function. */ -/* #undef HAVE_TIFFSWABARRAYOFTRIPLES */ +#ifndef MAGICKCORE_HAVE_TIFFSWABARRAYOFTRIPLES +#define MAGICKCORE_HAVE_TIFFSWABARRAYOFTRIPLES 1 +#endif /* Define to 1 if you have the `times' function. */ #ifndef MAGICKCORE_HAVE_TIMES @@ -988,13 +1028,13 @@ /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ -/* #undef HAVE_TM_ZONE */ +#ifndef MAGICKCORE_HAVE_TM_ZONE +#define MAGICKCORE_HAVE_TM_ZONE 1 +#endif /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ -#ifndef MAGICKCORE_HAVE_TZNAME -#define MAGICKCORE_HAVE_TZNAME 1 -#endif +/* #undef HAVE_TZNAME */ /* Define to 1 if the system has the type `uintmax_t'. */ #ifndef MAGICKCORE_HAVE_UINTMAX_T @@ -1020,7 +1060,9 @@ #endif /* Define to 1 if you have the `uselocale' function. */ -/* #undef HAVE_USELOCALE */ +#ifndef MAGICKCORE_HAVE_USELOCALE +#define MAGICKCORE_HAVE_USELOCALE 1 +#endif /* Define to 1 if you have the `usleep' function. */ #ifndef MAGICKCORE_HAVE_USLEEP @@ -1077,9 +1119,7 @@ #endif /* Define to 1 if you have the header file. */ -#ifndef MAGICKCORE_HAVE_WINDOWS_H -#define MAGICKCORE_HAVE_WINDOWS_H 1 -#endif +/* #undef HAVE_WINDOWS_H */ /* This value is set to 1 to indicate that the system argz facility works */ #ifndef MAGICKCORE_HAVE_WORKING_ARGZ @@ -1097,7 +1137,9 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_XLOCALE_H */ +#ifndef MAGICKCORE_HAVE_XLOCALE_H +#define MAGICKCORE_HAVE_XLOCALE_H 1 +#endif /* Define to 1 if the system has the type `_Bool'. */ #ifndef MAGICKCORE_HAVE__BOOL @@ -1113,14 +1155,10 @@ /* #undef HAVE__NSGETEXECUTABLEPATH */ /* Define to 1 if you have the `_pclose' function. */ -#ifndef MAGICKCORE_HAVE__PCLOSE -#define MAGICKCORE_HAVE__PCLOSE 1 -#endif +/* #undef HAVE__PCLOSE */ /* Define to 1 if you have the `_popen' function. */ -#ifndef MAGICKCORE_HAVE__POPEN -#define MAGICKCORE_HAVE__POPEN 1 -#endif +/* #undef HAVE__POPEN */ /* Define to 1 if you have the `_wfopen' function. */ /* #undef HAVE__WFOPEN */ @@ -1153,13 +1191,19 @@ /* #undef JBIG_DELEGATE */ /* Define if you have JPEG version 2 "Jasper" library */ -/* #undef JP2_DELEGATE */ +#ifndef MAGICKCORE_JP2_DELEGATE +#define MAGICKCORE_JP2_DELEGATE 1 +#endif /* Define if you have JPEG library */ -/* #undef JPEG_DELEGATE */ +#ifndef MAGICKCORE_JPEG_DELEGATE +#define MAGICKCORE_JPEG_DELEGATE 1 +#endif /* Define if you have LCMS (v1.11 or later) library */ -/* #undef LCMS_DELEGATE */ +#ifndef MAGICKCORE_LCMS_DELEGATE +#define MAGICKCORE_LCMS_DELEGATE 1 +#endif /* Directory where architecture-dependent files live. */ #ifndef MAGICKCORE_LIBRARY_PATH @@ -1181,13 +1225,11 @@ #endif /* Define if the OS needs help to load dependent libraries for dlopen(). */ -#ifndef MAGICKCORE_LTDL_DLOPEN_DEPLIBS -#define MAGICKCORE_LTDL_DLOPEN_DEPLIBS 1 -#endif +/* #undef LTDL_DLOPEN_DEPLIBS */ /* Define to the system default library search path. */ #ifndef MAGICKCORE_LT_DLSEARCH_PATH -#define MAGICKCORE_LT_DLSEARCH_PATH "/lib:/usr/lib" +#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib64/tracker-0.12:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2" #endif /* The archive extension */ @@ -1202,13 +1244,13 @@ /* Define to the extension used for runtime loadable modules, say, ".so". */ #ifndef MAGICKCORE_LT_MODULE_EXT -#define MAGICKCORE_LT_MODULE_EXT ".dll" +#define MAGICKCORE_LT_MODULE_EXT ".so" #endif /* Define to the name of the environment variable that determines the run-time module search path. */ #ifndef MAGICKCORE_LT_MODULE_PATH_VAR -#define MAGICKCORE_LT_MODULE_PATH_VAR "PATH" +#define MAGICKCORE_LT_MODULE_PATH_VAR "LD_LIBRARY_PATH" #endif /* Define to the sub-directory in which libtool stores uninstalled libraries. @@ -1221,7 +1263,9 @@ /* #undef LT_SHARED_EXT */ /* Define if you have LZMA library */ -/* #undef LZMA_DELEGATE */ +#ifndef MAGICKCORE_LZMA_DELEGATE +#define MAGICKCORE_LZMA_DELEGATE 1 +#endif /* Define to prepend to default font search path. */ /* #undef MAGICK_FONT_PATH */ @@ -1277,13 +1321,19 @@ #endif /* Define if you have PANGOFT2 library */ -/* #undef PANGOFT2_DELEGATE */ +#ifndef MAGICKCORE_PANGOFT2_DELEGATE +#define MAGICKCORE_PANGOFT2_DELEGATE 1 +#endif /* Define if you have PANGO library */ -/* #undef PANGO_DELEGATE */ +#ifndef MAGICKCORE_PANGO_DELEGATE +#define MAGICKCORE_PANGO_DELEGATE 1 +#endif /* Define if you have PNG library */ -/* #undef PNG_DELEGATE */ +#ifndef MAGICKCORE_PNG_DELEGATE +#define MAGICKCORE_PNG_DELEGATE 1 +#endif /* Define to necessary symbol if this constant uses a non-standard name on your system. */ @@ -1354,7 +1404,7 @@ /* The size of `signed long', as computed by sizeof. */ #ifndef MAGICKCORE_SIZEOF_SIGNED_LONG -#define MAGICKCORE_SIZEOF_SIGNED_LONG 4 +#define MAGICKCORE_SIZEOF_SIGNED_LONG 8 #endif /* The size of `signed long long', as computed by sizeof. */ @@ -1369,12 +1419,12 @@ /* The size of `size_t', as computed by sizeof. */ #ifndef MAGICKCORE_SIZEOF_SIZE_T -#define MAGICKCORE_SIZEOF_SIZE_T 4 +#define MAGICKCORE_SIZEOF_SIZE_T 8 #endif /* The size of `ssize_t', as computed by sizeof. */ #ifndef MAGICKCORE_SIZEOF_SSIZE_T -#define MAGICKCORE_SIZEOF_SSIZE_T 4 +#define MAGICKCORE_SIZEOF_SSIZE_T 8 #endif /* The size of `unsigned int', as computed by sizeof. */ @@ -1384,12 +1434,12 @@ /* The size of `unsigned int*', as computed by sizeof. */ #ifndef MAGICKCORE_SIZEOF_UNSIGNED_INTP -#define MAGICKCORE_SIZEOF_UNSIGNED_INTP 4 +#define MAGICKCORE_SIZEOF_UNSIGNED_INTP 8 #endif /* The size of `unsigned long', as computed by sizeof. */ #ifndef MAGICKCORE_SIZEOF_UNSIGNED_LONG -#define MAGICKCORE_SIZEOF_UNSIGNED_LONG 4 +#define MAGICKCORE_SIZEOF_UNSIGNED_LONG 8 #endif /* The size of `unsigned long long', as computed by sizeof. */ @@ -1421,7 +1471,9 @@ #endif /* Define if you have TIFF library */ -/* #undef TIFF_DELEGATE */ +#ifndef MAGICKCORE_TIFF_DELEGATE +#define MAGICKCORE_TIFF_DELEGATE 1 +#endif /* Define to 1 if you can safely include both and . */ #ifndef MAGICKCORE_TIME_WITH_SYS_TIME @@ -1462,9 +1514,7 @@ /* #undef WEBP_DELEGATE */ /* Define to use the Windows GDI32 library */ -#ifndef MAGICKCORE_WINGDI32_DELEGATE -#define MAGICKCORE_WINGDI32_DELEGATE 1 -#endif +/* #undef WINGDI32_DELEGATE */ /* Define if using the dmalloc debugging malloc package */ /* #undef WITH_DMALLOC */ @@ -1493,20 +1543,20 @@ #endif /* Define if you have X11 library */ -/* #undef X11_DELEGATE */ +#ifndef MAGICKCORE_X11_DELEGATE +#define MAGICKCORE_X11_DELEGATE 1 +#endif /* Define if you have XML library */ -/* #undef XML_DELEGATE */ +#ifndef MAGICKCORE_XML_DELEGATE +#define MAGICKCORE_XML_DELEGATE 1 +#endif /* Define to 1 if the X Window System is missing or not being used. */ -#ifndef MAGICKCORE_X_DISPLAY_MISSING -#define MAGICKCORE_X_DISPLAY_MISSING 1 -#endif +/* #undef X_DISPLAY_MISSING */ /* Build self-contained, embeddable, zero-configuration ImageMagick */ -#ifndef MAGICKCORE_ZERO_CONFIGURATION_SUPPORT -#define MAGICKCORE_ZERO_CONFIGURATION_SUPPORT 1 -#endif +/* #undef ZERO_CONFIGURATION_SUPPORT */ /* Define if you have zlib compression library */ #ifndef MAGICKCORE_ZLIB_DELEGATE diff --git a/MagickCore/static.c b/MagickCore/static.c index 6eba84144..4338d4afc 100644 --- a/MagickCore/static.c +++ b/MagickCore/static.c @@ -247,6 +247,7 @@ MagickExport void RegisterStaticModules(void) (void) RegisterNULLImage(); (void) RegisterOTBImage(); (void) RegisterPALMImage(); + (void) RegisterPANGOImage(); (void) RegisterPATTERNImage(); (void) RegisterPCDImage(); (void) RegisterPCLImage(); @@ -422,6 +423,7 @@ MagickExport void UnregisterStaticModules(void) UnregisterNULLImage(); UnregisterOTBImage(); UnregisterPALMImage(); + UnregisterPANGOImage(); UnregisterPATTERNImage(); UnregisterPCDImage(); UnregisterPCLImage(); diff --git a/MagickCore/static.h b/MagickCore/static.h index 31e285cc5..548dbf9d2 100644 --- a/MagickCore/static.h +++ b/MagickCore/static.h @@ -107,6 +107,7 @@ extern ModuleExport size_t RegisterPBMImage(void), RegisterOTBImage(void), RegisterPALMImage(void), + RegisterPANGOImage(void), RegisterPATTERNImage(void), RegisterPCDImage(void), RegisterPCDSImage(void), @@ -261,6 +262,7 @@ extern ModuleExport void UnregisterPBMImage(void), UnregisterOTBImage(void), UnregisterPALMImage(void), + UnregisterPANGOImage(void), UnregisterPATTERNImage(void), UnregisterPCDImage(void), UnregisterPCDSImage(void), diff --git a/MagickCore/version.h b/MagickCore/version.h index eff855a75..4ffa79731 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -27,14 +27,14 @@ extern "C" { */ #define MagickPackageName "ImageMagick" #define MagickCopyright "Copyright (C) 1999-2012 ImageMagick Studio LLC" -#define MagickSVNRevision "7084" +#define MagickSVNRevision "7108" #define MagickLibVersion 0x700 #define MagickLibVersionText "7.0.0" #define MagickLibVersionNumber 7,0,0 #define MagickLibAddendum "-0" #define MagickLibInterface 7 #define MagickLibMinInterface 7 -#define MagickReleaseDate "2012-03-09" +#define MagickReleaseDate "2012-03-14" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/Makefile.in b/Makefile.in index 1b86fcb7f..f156a2a87 100644 --- a/Makefile.in +++ b/Makefile.in @@ -493,23 +493,23 @@ am__MagickCore_libMagickCore_la_SOURCES_DIST = \ coders/matte.c coders/meta.c coders/miff.c coders/mono.c \ coders/mpc.c coders/mpeg.c coders/mpr.c coders/msl.c \ coders/mtv.c coders/mvg.c coders/null.c coders/otb.c \ - coders/palm.c coders/pattern.c coders/pcd.c coders/pcl.c \ - coders/pcx.c coders/pdb.c coders/pdf.c coders/pes.c \ - coders/pict.c coders/pix.c coders/plasma.c coders/pnm.c \ - coders/preview.c coders/ps.c coders/ps2.c coders/ps3.c \ - coders/psd.c coders/pwp.c coders/raw.c coders/rgb.c \ - coders/rla.c coders/rle.c coders/scr.c coders/sct.c \ - coders/sfw.c coders/sgi.c coders/stegano.c coders/sun.c \ - coders/svg.c coders/tga.c coders/thumbnail.c coders/tile.c \ - coders/tim.c coders/ttf.c coders/txt.c coders/uil.c \ - coders/url.c coders/uyvy.c coders/vicar.c coders/vid.c \ - coders/viff.c coders/wbmp.c coders/wpg.c coders/xbm.c \ - coders/xc.c coders/xcf.c coders/xpm.c coders/xps.c \ - coders/ycbcr.c coders/yuv.c coders/dps.c coders/djvu.c \ - coders/exr.c coders/fpx.c coders/clipboard.c coders/emf.c \ - coders/jbig.c coders/jpeg.c coders/jp2.c coders/png.c \ - coders/ept.c coders/tiff.c coders/webp.c coders/wmf.c \ - coders/x.c coders/xwd.c filters/analyze.c + coders/palm.c coders/pango.c coders/pattern.c coders/pcd.c \ + coders/pcl.c coders/pcx.c coders/pdb.c coders/pdf.c \ + coders/pes.c coders/pict.c coders/pix.c coders/plasma.c \ + coders/pnm.c coders/preview.c coders/ps.c coders/ps2.c \ + coders/ps3.c coders/psd.c coders/pwp.c coders/raw.c \ + coders/rgb.c coders/rla.c coders/rle.c coders/scr.c \ + coders/sct.c coders/sfw.c coders/sgi.c coders/stegano.c \ + coders/sun.c coders/svg.c coders/tga.c coders/thumbnail.c \ + coders/tile.c coders/tim.c coders/ttf.c coders/txt.c \ + coders/uil.c coders/url.c coders/uyvy.c coders/vicar.c \ + coders/vid.c coders/viff.c coders/wbmp.c coders/wpg.c \ + coders/xbm.c coders/xc.c coders/xcf.c coders/xpm.c \ + coders/xps.c coders/ycbcr.c coders/yuv.c coders/dps.c \ + coders/djvu.c coders/exr.c coders/fpx.c coders/clipboard.c \ + coders/emf.c coders/jbig.c coders/jpeg.c coders/jp2.c \ + coders/png.c coders/ept.c coders/tiff.c coders/webp.c \ + coders/wmf.c coders/x.c coders/xwd.c filters/analyze.c am__objects_1 = MagickCore/MagickCore_libMagickCore_la-accelerate.lo \ MagickCore/MagickCore_libMagickCore_la-animate.lo \ MagickCore/MagickCore_libMagickCore_la-annotate.lo \ @@ -677,6 +677,7 @@ am__objects_16 = coders/MagickCore_libMagickCore_la-aai.lo \ coders/MagickCore_libMagickCore_la-null.lo \ coders/MagickCore_libMagickCore_la-otb.lo \ coders/MagickCore_libMagickCore_la-palm.lo \ + coders/MagickCore_libMagickCore_la-pango.lo \ coders/MagickCore_libMagickCore_la-pattern.lo \ coders/MagickCore_libMagickCore_la-pcd.lo \ coders/MagickCore_libMagickCore_la-pcl.lo \ @@ -826,8 +827,7 @@ coders_cals_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_CFLAGS) $(CFLAGS) $(coders_cals_la_LDFLAGS) $(LDFLAGS) -o \ $@ @WITH_MODULES_TRUE@am_coders_cals_la_rpath = -rpath $(codersdir) -coders_caption_la_DEPENDENCIES = $(MAGICKCORE_LIBS) \ - $(am__DEPENDENCIES_1) +coders_caption_la_DEPENDENCIES = $(MAGICKCORE_LIBS) am_coders_caption_la_OBJECTS = coders/coders_caption_la-caption.lo coders_caption_la_OBJECTS = $(am_coders_caption_la_OBJECTS) coders_caption_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ @@ -1260,6 +1260,15 @@ coders_palm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_CFLAGS) $(CFLAGS) $(coders_palm_la_LDFLAGS) $(LDFLAGS) -o \ $@ @WITH_MODULES_TRUE@am_coders_palm_la_rpath = -rpath $(codersdir) +coders_pango_la_DEPENDENCIES = $(MAGICKCORE_LIBS) \ + $(am__DEPENDENCIES_1) +am_coders_pango_la_OBJECTS = coders/coders_pango_la-pango.lo +coders_pango_la_OBJECTS = $(am_coders_pango_la_OBJECTS) +coders_pango_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(coders_pango_la_LDFLAGS) $(LDFLAGS) \ + -o $@ +@WITH_MODULES_TRUE@am_coders_pango_la_rpath = -rpath $(codersdir) coders_pattern_la_DEPENDENCIES = $(MAGICKCORE_LIBS) am_coders_pattern_la_OBJECTS = coders/coders_pattern_la-pattern.lo coders_pattern_la_OBJECTS = $(am_coders_pattern_la_OBJECTS) @@ -2056,39 +2065,39 @@ SOURCES = $(Magick___lib_libMagick___la_SOURCES) \ $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \ $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \ $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \ - $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \ - $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \ - $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \ - $(coders_pes_la_SOURCES) $(coders_pict_la_SOURCES) \ - $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \ - $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \ - $(coders_preview_la_SOURCES) $(coders_ps_la_SOURCES) \ - $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \ - $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \ - $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \ - $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \ - $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \ - $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \ - $(coders_stegano_la_SOURCES) $(coders_sun_la_SOURCES) \ - $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \ - $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \ - $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \ - $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \ - $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \ - $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \ - $(coders_vid_la_SOURCES) $(coders_viff_la_SOURCES) \ - $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \ - $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \ - $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \ - $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \ - $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \ - $(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \ - $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \ - $(ltdl_dld_link_la_SOURCES) $(ltdl_dlopen_la_SOURCES) \ - $(ltdl_dyld_la_SOURCES) $(ltdl_libltdl_la_SOURCES) \ - $(ltdl_libltdlc_la_SOURCES) $(ltdl_load_add_on_la_SOURCES) \ - $(ltdl_loadlibrary_la_SOURCES) $(ltdl_shl_load_la_SOURCES) \ - $(Magick___demo_analyze_SOURCES) \ + $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \ + $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \ + $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \ + $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \ + $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \ + $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \ + $(coders_pnm_la_SOURCES) $(coders_preview_la_SOURCES) \ + $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \ + $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \ + $(coders_pwp_la_SOURCES) $(coders_raw_la_SOURCES) \ + $(coders_rgb_la_SOURCES) $(coders_rla_la_SOURCES) \ + $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \ + $(coders_sct_la_SOURCES) $(coders_sfw_la_SOURCES) \ + $(coders_sgi_la_SOURCES) $(coders_stegano_la_SOURCES) \ + $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \ + $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \ + $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \ + $(coders_tim_la_SOURCES) $(coders_ttf_la_SOURCES) \ + $(coders_txt_la_SOURCES) $(coders_uil_la_SOURCES) \ + $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \ + $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \ + $(coders_viff_la_SOURCES) $(coders_wbmp_la_SOURCES) \ + $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \ + $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \ + $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \ + $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \ + $(coders_xps_la_SOURCES) $(coders_xwd_la_SOURCES) \ + $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \ + $(filters_analyze_la_SOURCES) $(ltdl_dld_link_la_SOURCES) \ + $(ltdl_dlopen_la_SOURCES) $(ltdl_dyld_la_SOURCES) \ + $(ltdl_libltdl_la_SOURCES) $(ltdl_libltdlc_la_SOURCES) \ + $(ltdl_load_add_on_la_SOURCES) $(ltdl_loadlibrary_la_SOURCES) \ + $(ltdl_shl_load_la_SOURCES) $(Magick___demo_analyze_SOURCES) \ $(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \ $(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \ $(Magick___demo_gravity_SOURCES) \ @@ -2148,39 +2157,39 @@ DIST_SOURCES = $(Magick___lib_libMagick___la_SOURCES) \ $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \ $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \ $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \ - $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \ - $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \ - $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \ - $(coders_pes_la_SOURCES) $(coders_pict_la_SOURCES) \ - $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \ - $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \ - $(coders_preview_la_SOURCES) $(coders_ps_la_SOURCES) \ - $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \ - $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \ - $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \ - $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \ - $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \ - $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \ - $(coders_stegano_la_SOURCES) $(coders_sun_la_SOURCES) \ - $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \ - $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \ - $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \ - $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \ - $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \ - $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \ - $(coders_vid_la_SOURCES) $(coders_viff_la_SOURCES) \ - $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \ - $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \ - $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \ - $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \ - $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \ - $(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \ - $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \ - $(ltdl_dld_link_la_SOURCES) $(ltdl_dlopen_la_SOURCES) \ - $(ltdl_dyld_la_SOURCES) $(ltdl_libltdl_la_SOURCES) \ - $(ltdl_libltdlc_la_SOURCES) $(ltdl_load_add_on_la_SOURCES) \ - $(ltdl_loadlibrary_la_SOURCES) $(ltdl_shl_load_la_SOURCES) \ - $(Magick___demo_analyze_SOURCES) \ + $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \ + $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \ + $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \ + $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \ + $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \ + $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \ + $(coders_pnm_la_SOURCES) $(coders_preview_la_SOURCES) \ + $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \ + $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \ + $(coders_pwp_la_SOURCES) $(coders_raw_la_SOURCES) \ + $(coders_rgb_la_SOURCES) $(coders_rla_la_SOURCES) \ + $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \ + $(coders_sct_la_SOURCES) $(coders_sfw_la_SOURCES) \ + $(coders_sgi_la_SOURCES) $(coders_stegano_la_SOURCES) \ + $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \ + $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \ + $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \ + $(coders_tim_la_SOURCES) $(coders_ttf_la_SOURCES) \ + $(coders_txt_la_SOURCES) $(coders_uil_la_SOURCES) \ + $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \ + $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \ + $(coders_viff_la_SOURCES) $(coders_wbmp_la_SOURCES) \ + $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \ + $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \ + $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \ + $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \ + $(coders_xps_la_SOURCES) $(coders_xwd_la_SOURCES) \ + $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \ + $(filters_analyze_la_SOURCES) $(ltdl_dld_link_la_SOURCES) \ + $(ltdl_dlopen_la_SOURCES) $(ltdl_dyld_la_SOURCES) \ + $(ltdl_libltdl_la_SOURCES) $(ltdl_libltdlc_la_SOURCES) \ + $(ltdl_load_add_on_la_SOURCES) $(ltdl_loadlibrary_la_SOURCES) \ + $(ltdl_shl_load_la_SOURCES) $(Magick___demo_analyze_SOURCES) \ $(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \ $(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \ $(Magick___demo_gravity_SOURCES) \ @@ -3029,6 +3038,7 @@ MAGICKCORE_CODER_SRCS = \ coders/null.c \ coders/otb.c \ coders/palm.c \ + coders/pango.c \ coders/pattern.c \ coders/pcd.c \ coders/pcl.c \ @@ -3146,6 +3156,7 @@ MAGICKCORE_CODER_SRCS = \ @WITH_MODULES_TRUE@ coders/null.la \ @WITH_MODULES_TRUE@ coders/otb.la \ @WITH_MODULES_TRUE@ coders/palm.la \ +@WITH_MODULES_TRUE@ coders/pango.la \ @WITH_MODULES_TRUE@ coders/pattern.la \ @WITH_MODULES_TRUE@ coders/pcd.la \ @WITH_MODULES_TRUE@ coders/pcl.la \ @@ -3254,9 +3265,9 @@ coders_cals_la_LIBADD = $(MAGICKCORE_LIBS) # CAPTION coder module coders_caption_la_SOURCES = coders/caption.c -coders_caption_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) $(PANGO_CFLAGS) +coders_caption_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) coders_caption_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_caption_la_LIBADD = $(MAGICKCORE_LIBS) $(PANGO_LIBS) +coders_caption_la_LIBADD = $(MAGICKCORE_LIBS) # CINEON coder module coders_cin_la_SOURCES = coders/cin.c @@ -3582,6 +3593,12 @@ coders_palm_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) coders_palm_la_LDFLAGS = $(MODULECOMMONFLAGS) coders_palm_la_LIBADD = $(MAGICKCORE_LIBS) +# PANGO coder module +coders_pango_la_SOURCES = coders/pango.c +coders_pango_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) $(PANGO_CFLAGS) +coders_pango_la_LDFLAGS = $(MODULECOMMONFLAGS) +coders_pango_la_LIBADD = $(MAGICKCORE_LIBS) $(PANGO_LIBS) + # Pattern module coders_pattern_la_SOURCES = coders/pattern.c coders_pattern_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) @@ -5571,6 +5588,8 @@ coders/MagickCore_libMagickCore_la-otb.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_la-palm.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) +coders/MagickCore_libMagickCore_la-pango.lo: coders/$(am__dirstamp) \ + coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_la-pattern.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) coders/MagickCore_libMagickCore_la-pcd.lo: coders/$(am__dirstamp) \ @@ -6036,6 +6055,10 @@ coders/coders_palm_la-palm.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) coders/palm.la: $(coders_palm_la_OBJECTS) $(coders_palm_la_DEPENDENCIES) $(EXTRA_coders_palm_la_DEPENDENCIES) coders/$(am__dirstamp) $(AM_V_CCLD)$(coders_palm_la_LINK) $(am_coders_palm_la_rpath) $(coders_palm_la_OBJECTS) $(coders_palm_la_LIBADD) $(LIBS) +coders/coders_pango_la-pango.lo: coders/$(am__dirstamp) \ + coders/$(DEPDIR)/$(am__dirstamp) +coders/pango.la: $(coders_pango_la_OBJECTS) $(coders_pango_la_DEPENDENCIES) $(EXTRA_coders_pango_la_DEPENDENCIES) coders/$(am__dirstamp) + $(AM_V_CCLD)$(coders_pango_la_LINK) $(am_coders_pango_la_rpath) $(coders_pango_la_OBJECTS) $(coders_pango_la_LIBADD) $(LIBS) coders/coders_pattern_la-pattern.lo: coders/$(am__dirstamp) \ coders/$(DEPDIR)/$(am__dirstamp) coders/pattern.la: $(coders_pattern_la_OBJECTS) $(coders_pattern_la_DEPENDENCIES) $(EXTRA_coders_pattern_la_DEPENDENCIES) coders/$(am__dirstamp) @@ -7029,6 +7052,8 @@ mostlyclean-compile: -rm -f coders/MagickCore_libMagickCore_la-otb.lo -rm -f coders/MagickCore_libMagickCore_la-palm.$(OBJEXT) -rm -f coders/MagickCore_libMagickCore_la-palm.lo + -rm -f coders/MagickCore_libMagickCore_la-pango.$(OBJEXT) + -rm -f coders/MagickCore_libMagickCore_la-pango.lo -rm -f coders/MagickCore_libMagickCore_la-pattern.$(OBJEXT) -rm -f coders/MagickCore_libMagickCore_la-pattern.lo -rm -f coders/MagickCore_libMagickCore_la-pcd.$(OBJEXT) @@ -7263,6 +7288,8 @@ mostlyclean-compile: -rm -f coders/coders_otb_la-otb.lo -rm -f coders/coders_palm_la-palm.$(OBJEXT) -rm -f coders/coders_palm_la-palm.lo + -rm -f coders/coders_pango_la-pango.$(OBJEXT) + -rm -f coders/coders_pango_la-pango.lo -rm -f coders/coders_pattern_la-pattern.$(OBJEXT) -rm -f coders/coders_pattern_la-pattern.lo -rm -f coders/coders_pcd_la-pcd.$(OBJEXT) @@ -7645,6 +7672,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-null.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-otb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-palm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-pango.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-pattern.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-pcd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_la-pcl.Plo@am__quote@ @@ -7762,6 +7790,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_null_la-null.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_otb_la-otb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_palm_la-palm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_pango_la-pango.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_pattern_la-pattern.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_pcd_la-pcd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/coders_pcl_la-pcl.Plo@am__quote@ @@ -8876,6 +8905,13 @@ coders/MagickCore_libMagickCore_la-palm.lo: coders/palm.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_la-palm.lo `test -f 'coders/palm.c' || echo '$(srcdir)/'`coders/palm.c +coders/MagickCore_libMagickCore_la-pango.lo: coders/pango.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_la-pango.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_la-pango.Tpo -c -o coders/MagickCore_libMagickCore_la-pango.lo `test -f 'coders/pango.c' || echo '$(srcdir)/'`coders/pango.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_la-pango.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_la-pango.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/pango.c' object='coders/MagickCore_libMagickCore_la-pango.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_la-pango.lo `test -f 'coders/pango.c' || echo '$(srcdir)/'`coders/pango.c + coders/MagickCore_libMagickCore_la-pattern.lo: coders/pattern.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_la-pattern.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_la-pattern.Tpo -c -o coders/MagickCore_libMagickCore_la-pattern.lo `test -f 'coders/pattern.c' || echo '$(srcdir)/'`coders/pattern.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_la-pattern.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_la-pattern.Plo @@ -9933,6 +9969,13 @@ coders/coders_palm_la-palm.lo: coders/palm.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_palm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/coders_palm_la-palm.lo `test -f 'coders/palm.c' || echo '$(srcdir)/'`coders/palm.c +coders/coders_pango_la-pango.lo: coders/pango.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_pango_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/coders_pango_la-pango.lo -MD -MP -MF coders/$(DEPDIR)/coders_pango_la-pango.Tpo -c -o coders/coders_pango_la-pango.lo `test -f 'coders/pango.c' || echo '$(srcdir)/'`coders/pango.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/coders_pango_la-pango.Tpo coders/$(DEPDIR)/coders_pango_la-pango.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/pango.c' object='coders/coders_pango_la-pango.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_pango_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/coders_pango_la-pango.lo `test -f 'coders/pango.c' || echo '$(srcdir)/'`coders/pango.c + coders/coders_pattern_la-pattern.lo: coders/pattern.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_pattern_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/coders_pattern_la-pattern.lo -MD -MP -MF coders/$(DEPDIR)/coders_pattern_la-pattern.Tpo -c -o coders/coders_pattern_la-pattern.lo `test -f 'coders/pattern.c' || echo '$(srcdir)/'`coders/pattern.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/coders_pattern_la-pattern.Tpo coders/$(DEPDIR)/coders_pattern_la-pattern.Plo diff --git a/PerlMagick/Makefile.PL b/PerlMagick/Makefile.PL index 7e68e34d1..66aa18ae2 100644 --- a/PerlMagick/Makefile.PL +++ b/PerlMagick/Makefile.PL @@ -156,11 +156,11 @@ foreach my $delegate (@tested_delegates) { } # defaults for LIBS & INC & CCFLAGS params that we later pass to Writemakefile -my $INC_magick = '-I../ -I.. -I/home/cristy/ImageMagick-7.0.0-0/fpx -I/home/cristy/ImageMagick-7.0.0-0/webp -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"'; +my $INC_magick = '-I../ -I.. -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"'; my $LIBS_magick = '-L../MagickCore/.libs -lMagickCore -lperl -lm'; -my $CCFLAGS_magick = "$Config{'ccflags'} -I/usr/include/lqr-1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -fopenmp -g -O2 -Wall -pthread"; -my $LDFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'ldflags'} -L/home/cristy/ImageMagick-7.0.0-0/fpx/.libs -L/home/cristy/ImageMagick-7.0.0-0/fpx -L/home/cristy/ImageMagick-7.0.0-0/webp -L/usr/lib"; -my $LDDLFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'lddlflags'} -L/home/cristy/ImageMagick-7.0.0-0/fpx/.libs -L/home/cristy/ImageMagick-7.0.0-0/fpx -L/home/cristy/ImageMagick-7.0.0-0/webp -L/usr/lib"; +my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -pthread"; +my $LDFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'ldflags'} -L/usr/lib"; +my $LDDLFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'lddlflags'} -L/usr/lib"; if (($^O eq 'MSWin32') && ($Config{cc} =~ /gcc/)) { my($Ipaths, $Lpaths) = AutodetectWin32gcc(); @@ -201,7 +201,7 @@ WriteMakefile #'CC' => 'gcc -std=gnu99 -std=gnu99', # C pre-processor flags (e.g. -I & -D options) - # 'CPPFLAGS' => "$Config{'cppflags'} -I/home/cristy/ImageMagick-7.0.0-0/fpx -I/home/cristy/ImageMagick-7.0.0-0/webp -I/usr/include/freetype2 -I/usr/include/libxml2", + # 'CPPFLAGS' => "$Config{'cppflags'} -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2", # C compiler flags (e.g. -O -g) 'CCFLAGS' => $CCFLAGS_magick, @@ -228,7 +228,7 @@ WriteMakefile # 'OPTIMIZE' => '', # Use same compiler as ImageMagick - 'PERLMAINCC' => 'g++ -fopenmp', + 'PERLMAINCC' => ' -fopenmp', # Set Perl installation prefix to ImageMagick installation prefix # 'PREFIX' => '/usr/local', diff --git a/coders/Make.com b/coders/Make.com index 9b241d710..3a75af393 100644 --- a/coders/Make.com +++ b/coders/Make.com @@ -79,6 +79,7 @@ $call Make mvg.c $call Make null.c $call Make otb.c $call Make palm.c +$call Make pango.c $call Make pattern.c $call Make pcd.c $call Make pcl.c @@ -141,7 +142,7 @@ $deass wand $library/create libCoders.olb aai,art,avs,bgr,bmp,braille,clip,clipboard,cip, - cmyk,cut,dcm,dds,debug,dib,dng,dps,dpx,emf,ept,exr,fax,fits,fpx,gif, - gradient,gray,hald,histogram,hrz,html,icon,info,inline,ipl,jbig,jpeg,jp2, - - label,cals,caption,palm,mac,magick,map,mat,matte, - + label,cals,caption,palm,pango,mac,magick,map,mat,matte, - meta,miff,mpc,mpr,msl,mpeg,mono,mtv,mvg,null,otb,pattern,pcd,pcl,pcx,pdb, - pdf,pes,pict,pix,plasma,png,pnm,preview,ps,ps2,ps3,psd,pwp,raw,rgb,rla,rle, - sct,sfw,sgi,stegano,sun,svg,tga,thumbnail,tiff,tile,tim,ttf,txt,uil,url, - diff --git a/coders/Makefile.am b/coders/Makefile.am index 055991937..e152466eb 100644 --- a/coders/Makefile.am +++ b/coders/Makefile.am @@ -135,6 +135,7 @@ MAGICKCORE_CODER_SRCS = \ coders/null.c \ coders/otb.c \ coders/palm.c \ + coders/pango.c \ coders/pattern.c \ coders/pcd.c \ coders/pcl.c \ @@ -252,6 +253,7 @@ coders_LTLIBRARIES = \ coders/null.la \ coders/otb.la \ coders/palm.la \ + coders/pango.la \ coders/pattern.la \ coders/pcd.la \ coders/pcl.la \ @@ -362,9 +364,9 @@ coders_cals_la_LIBADD = $(MAGICKCORE_LIBS) # CAPTION coder module coders_caption_la_SOURCES = coders/caption.c -coders_caption_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) $(PANGO_CFLAGS) +coders_caption_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) coders_caption_la_LDFLAGS = $(MODULECOMMONFLAGS) -coders_caption_la_LIBADD = $(MAGICKCORE_LIBS) $(PANGO_LIBS) +coders_caption_la_LIBADD = $(MAGICKCORE_LIBS) # CINEON coder module coders_cin_la_SOURCES = coders/cin.c @@ -690,6 +692,12 @@ coders_palm_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) coders_palm_la_LDFLAGS = $(MODULECOMMONFLAGS) coders_palm_la_LIBADD = $(MAGICKCORE_LIBS) +# PANGO coder module +coders_pango_la_SOURCES = coders/pango.c +coders_pango_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) $(PANGO_CFLAGS) +coders_pango_la_LDFLAGS = $(MODULECOMMONFLAGS) +coders_pango_la_LIBADD = $(MAGICKCORE_LIBS) $(PANGO_LIBS) + # Pattern module coders_pattern_la_SOURCES = coders/pattern.c coders_pattern_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS) diff --git a/coders/caption.c b/coders/caption.c index d9003a79d..fd00f8ae2 100644 --- a/coders/caption.c +++ b/coders/caption.c @@ -61,11 +61,6 @@ #include "MagickCore/string_.h" #include "MagickCore/string-private.h" #include "MagickCore/utility.h" -#if defined(MAGICKCORE_PANGOFT2_DELEGATE) -#include -#include -#include -#endif /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -94,272 +89,6 @@ % o exception: return any errors or warnings in this structure. % */ -#if defined(MAGICKCORE_PANGOFT2_DELEGATE) -static void PangoSubstitute(FcPattern *pattern,void *context) -{ - const char - *option; - - option=(const char *) context; - if (option == (const char *) NULL) - return; - FcPatternDel(pattern,FC_HINTING); - FcPatternAddBool(pattern, FC_HINTING,LocaleCompare(option,"none") != 0); - FcPatternDel(pattern,FC_AUTOHINT); - FcPatternAddBool(pattern,FC_AUTOHINT,LocaleCompare(option,"auto") == 0); -} - -static MagickBooleanType PangoImage(const ImageInfo *image_info,Image *image, - const DrawInfo *draw_info,ExceptionInfo *exception) -{ - const char - *option; - - FT_Bitmap - *canvas; - - PangoAlignment - align; - - PangoContext - *context; - - PangoFontDescription - *description; - - PangoFontMap - *fontmap; - - PangoGravity - gravity; - - PangoLayout - *layout; - - PangoRectangle - extent; - - PixelInfo - fill_color; - - RectangleInfo - page; - - register Quantum - *q; - - register unsigned char - *p; - - ssize_t - y; - - /* - Get context. - */ - fontmap=(PangoFontMap *) pango_ft2_font_map_new(); - pango_ft2_font_map_set_resolution((PangoFT2FontMap *) fontmap, - image->resolution.x,image->resolution.y); - option=GetImageOption(image_info,"caption:hinting"); - pango_ft2_font_map_set_default_substitute((PangoFT2FontMap *) fontmap, - PangoSubstitute,(char *) option,NULL); - context=pango_font_map_create_context(fontmap); - option=GetImageOption(image_info,"caption:language"); - if (option != (const char *) NULL) - pango_context_set_language(context,pango_language_from_string(option)); - pango_context_set_base_dir(context,draw_info->direction == - RightToLeftDirection ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR); - switch (draw_info->gravity) - { - case NorthGravity: gravity=PANGO_GRAVITY_NORTH; break; - case WestGravity: gravity=PANGO_GRAVITY_WEST; break; - case EastGravity: gravity=PANGO_GRAVITY_EAST; break; - case SouthGravity: gravity=PANGO_GRAVITY_SOUTH; break; - default: gravity=PANGO_GRAVITY_AUTO; break; - } - pango_context_set_base_gravity(context,gravity); - option=GetImageOption(image_info,"caption:gravity-hint"); - if (option != (const char *) NULL) - { - if (LocaleCompare(option,"line") == 0) - pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_LINE); - if (LocaleCompare(option,"natural") == 0) - pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_NATURAL); - if (LocaleCompare(option,"strong") == 0) - pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_STRONG); - } - /* - Configure layout. - */ - layout=pango_layout_new(context); - option=GetImageOption(image_info,"caption:auto-dir"); - if (option != (const char *) NULL) - pango_layout_set_auto_dir(layout,1); - option=GetImageOption(image_info,"caption:ellipsize"); - if (option != (const char *) NULL) - { - if (LocaleCompare(option,"end") == 0) - pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_END); - if (LocaleCompare(option,"middle") == 0) - pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_MIDDLE); - if (LocaleCompare(option,"none") == 0) - pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_NONE); - if (LocaleCompare(option,"start") == 0) - pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_START); - } - option=GetImageOption(image_info,"caption:justify"); - if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) - pango_layout_set_justify(layout,1); - option=GetImageOption(image_info,"caption:single-paragraph"); - if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) - pango_layout_set_single_paragraph_mode(layout,1); - option=GetImageOption(image_info,"caption:wrap"); - if (option != (const char *) NULL) - { - if (LocaleCompare(option,"char") == 0) - pango_layout_set_wrap(layout,PANGO_WRAP_CHAR); - if (LocaleCompare(option,"word") == 0) - pango_layout_set_wrap(layout,PANGO_WRAP_WORD); - if (LocaleCompare(option,"word-char") == 0) - pango_layout_set_wrap(layout,PANGO_WRAP_WORD_CHAR); - } - option=GetImageOption(image_info,"caption:indent"); - if (option != (const char *) NULL) - pango_layout_set_indent(layout,(StringToLong(option)*image->resolution.x* - PANGO_SCALE+36)/72); - switch (draw_info->align) - { - case CenterAlign: align=PANGO_ALIGN_CENTER; break; - case RightAlign: align=PANGO_ALIGN_RIGHT; break; - case LeftAlign: align=PANGO_ALIGN_LEFT; break; - default: - { - if (draw_info->gravity == CenterGravity) - { - align=PANGO_ALIGN_CENTER; - break; - } - align=PANGO_ALIGN_LEFT; - break; - } - } - if ((align != PANGO_ALIGN_CENTER) && - (draw_info->direction == RightToLeftDirection)) - align=(PangoAlignment) (PANGO_ALIGN_LEFT+PANGO_ALIGN_RIGHT-align); - pango_layout_set_alignment(layout,align); - description=pango_font_description_from_string(draw_info->font == - (char *) NULL ? "helvetica" : draw_info->font); - pango_font_description_set_size(description,(int) (0.815*PANGO_SCALE* - draw_info->pointsize+0.5)); - pango_layout_set_font_description(layout,description); - pango_font_description_free(description); - /* - Render caption. - */ - option=GetImageOption(image_info,"caption:markup"); - if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) - pango_layout_set_markup(layout,draw_info->text,-1); - else - pango_layout_set_text(layout,draw_info->text,-1); - pango_layout_context_changed(layout); - page.x=0; - page.y=0; - if (image_info->page != (char *) NULL) - (void) ParseAbsoluteGeometry(image_info->page,&page); - if (image->columns == 0) - { - pango_layout_get_pixel_extents(layout,NULL,&extent); - image->columns=extent.x+extent.width; - } - else - { - image->columns-=2*page.x; - pango_layout_set_width(layout,(PANGO_SCALE*image->columns* - image->resolution.x+36.0)/72.0); - } - if (image->rows == 0) - { - pango_layout_get_pixel_extents(layout,NULL,&extent); - image->rows=extent.y+extent.height; - } - else - { - image->rows-=2*page.y; - pango_layout_set_height(layout,(PANGO_SCALE*image->rows* - image->resolution.y+36.0)/72.0); - } - /* - Create canvas. - */ - canvas=(FT_Bitmap *) AcquireMagickMemory(sizeof(*canvas)); - if (canvas == (FT_Bitmap *) NULL) - ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", - image->filename); - canvas->width=image->columns; - canvas->pitch=(canvas->width+3) & ~3; - canvas->rows=image->rows; - canvas->buffer=(unsigned char *) AcquireQuantumMemory(canvas->pitch, - canvas->rows*sizeof(*canvas->buffer)); - if (canvas->buffer == (unsigned char *) NULL) - { - canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); - ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", - image->filename); - } - canvas->num_grays=256; - canvas->pixel_mode=ft_pixel_mode_grays; - ResetMagickMemory(canvas->buffer,0x00,canvas->pitch*canvas->rows); - pango_ft2_render_layout(canvas,layout,0,0); - /* - Convert caption to image. - */ - image->columns+=2*page.x; - image->rows+=2*page.y; - if (SetImageBackgroundColor(image,exception) == MagickFalse) - { - canvas->buffer=(unsigned char *) RelinquishMagickMemory(canvas->buffer); - canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); - image=DestroyImageList(image); - return(MagickFalse); - } - GetPixelInfo(image,&fill_color); - p=canvas->buffer; - for (y=page.y; y < (ssize_t) (image->rows-page.y); y++) - { - register ssize_t - x; - - q=GetAuthenticPixels(image,0,y,image->columns,1,exception); - if (q == (Quantum *) NULL) - break; - q+=page.x*GetPixelChannels(image); - for (x=page.x; x < (ssize_t) (image->columns-page.x); x++) - { - MagickRealType - fill_alpha; - - (void) GetFillColor(draw_info,x,y,&fill_color,exception); - fill_alpha=(MagickRealType) (*p)/(canvas->num_grays-1); - if (draw_info->text_antialias == MagickFalse) - fill_alpha=fill_alpha >= 0.5 ? 1.0 : 0.0; - fill_alpha=fill_alpha*fill_color.alpha; - CompositePixelOver(image,&fill_color,fill_alpha,q,GetPixelAlpha(image,q), - q); - p++; - q+=GetPixelChannels(image); - } - for ( ; x < (ssize_t) ((canvas->width+3) & ~3); x++) - p++; - } - /* - Relinquish resources. - */ - canvas->buffer=(unsigned char *) RelinquishMagickMemory(canvas->buffer); - canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); - return(MagickTrue); -} -#endif - static Image *ReadCAPTIONImage(const ImageInfo *image_info, ExceptionInfo *exception) { @@ -508,11 +237,7 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info, metrics.ascent+draw_info->stroke_width/2.0); draw_info->geometry=AcquireString(geometry); } -#if defined(MAGICKCORE_PANGOFT2_DELEGATE) - status=PangoImage(image_info,image,draw_info,exception); -#else status=AnnotateImage(image,draw_info,exception); -#endif draw_info=DestroyDrawInfo(draw_info); caption=DestroyString(caption); if (status == MagickFalse) @@ -548,22 +273,12 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info, */ ModuleExport size_t RegisterCAPTIONImage(void) { - char - version[MaxTextExtent]; - MagickInfo *entry; - *version='\0'; -#if defined(PANGO_VERSION_STRING) - (void) FormatLocaleString(version,MaxTextExtent,"Pangoft2 %s", - PANGO_VERSION_STRING); -#endif entry=SetMagickInfo("CAPTION"); entry->decoder=(DecodeImageHandler *) ReadCAPTIONImage; entry->description=ConstantString("Caption"); - if (*version != '\0') - entry->version=ConstantString(version); entry->adjoin=MagickFalse; entry->module=ConstantString("CAPTION"); (void) RegisterMagickInfo(entry); diff --git a/coders/pango.c b/coders/pango.c new file mode 100644 index 000000000..fd18ede12 --- /dev/null +++ b/coders/pango.c @@ -0,0 +1,595 @@ +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% PPPP AAA N N GGGG OOO % +% P P A A NN N G O O % +% PPPP AAAAA N N N G GG O O % +% P A A N NN G G O O % +% P A A N N GGG OOO % +% % +% % +% Read Text Caption. % +% % +% Software Design % +% John Cristy % +% February 2002 % +% % +% % +% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization % +% dedicated to making software imaging solutions freely available. % +% % +% You may not use this file except in compliance with the License. You may % +% obtain a copy of the License at % +% % +% http://www.imagemagick.org/script/license.php % +% % +% Unless required by applicable law or agreed to in writing, software % +% distributed under the License is distributed on an "AS IS" BASIS, % +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % +% See the License for the specific language governing permissions and % +% limitations under the License. % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +*/ + +/* + Include declarations. +*/ +#include "MagickCore/studio.h" +#include "MagickCore/annotate.h" +#include "MagickCore/blob.h" +#include "MagickCore/blob-private.h" +#include "MagickCore/composite-private.h" +#include "MagickCore/draw.h" +#include "MagickCore/draw-private.h" +#include "MagickCore/exception.h" +#include "MagickCore/exception-private.h" +#include "MagickCore/image.h" +#include "MagickCore/image-private.h" +#include "MagickCore/list.h" +#include "MagickCore/magick.h" +#include "MagickCore/memory_.h" +#include "MagickCore/module.h" +#include "MagickCore/option.h" +#include "MagickCore/property.h" +#include "MagickCore/quantum-private.h" +#include "MagickCore/static.h" +#include "MagickCore/string_.h" +#include "MagickCore/string-private.h" +#include "MagickCore/utility.h" +#if defined(MAGICKCORE_PANGOFT2_DELEGATE) +#include +#include +#include +#endif + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% R e a d P A N G O I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ReadPANGOImage() reads a PANGO image file and returns it. It +% allocates the memory necessary for the new Image structure and returns a +% pointer to the new image. +% +% The format of the ReadPANGOImage method is: +% +% Image *ReadPANGOImage(const ImageInfo *image_info, +% ExceptionInfo *exception) +% +% A description of each parameter follows: +% +% o image_info: the image info. +% +% o exception: return any errors or warnings in this structure. +% +*/ +#if defined(MAGICKCORE_PANGOFT2_DELEGATE) +static void PangoSubstitute(FcPattern *pattern,void *context) +{ + const char + *option; + + option=(const char *) context; + if (option == (const char *) NULL) + return; + FcPatternDel(pattern,FC_HINTING); + FcPatternAddBool(pattern, FC_HINTING,LocaleCompare(option,"none") != 0); + FcPatternDel(pattern,FC_AUTOHINT); + FcPatternAddBool(pattern,FC_AUTOHINT,LocaleCompare(option,"auto") == 0); +} + +static MagickBooleanType PangoImage(const ImageInfo *image_info,Image *image, + const DrawInfo *draw_info,ExceptionInfo *exception) +{ + const char + *option; + + FT_Bitmap + *canvas; + + PangoAlignment + align; + + PangoContext + *context; + + PangoFontDescription + *description; + + PangoFontMap + *fontmap; + + PangoGravity + gravity; + + PangoLayout + *layout; + + PangoRectangle + extent; + + PixelInfo + fill_color; + + RectangleInfo + page; + + register Quantum + *q; + + register unsigned char + *p; + + ssize_t + y; + + /* + Get context. + */ + fontmap=(PangoFontMap *) pango_ft2_font_map_new(); + pango_ft2_font_map_set_resolution((PangoFT2FontMap *) fontmap, + image->resolution.x,image->resolution.y); + option=GetImageOption(image_info,"caption:hinting"); + pango_ft2_font_map_set_default_substitute((PangoFT2FontMap *) fontmap, + PangoSubstitute,(char *) option,NULL); + context=pango_font_map_create_context(fontmap); + option=GetImageOption(image_info,"caption:language"); + if (option != (const char *) NULL) + pango_context_set_language(context,pango_language_from_string(option)); + pango_context_set_base_dir(context,draw_info->direction == + RightToLeftDirection ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR); + switch (draw_info->gravity) + { + case NorthGravity: gravity=PANGO_GRAVITY_NORTH; break; + case WestGravity: gravity=PANGO_GRAVITY_WEST; break; + case EastGravity: gravity=PANGO_GRAVITY_EAST; break; + case SouthGravity: gravity=PANGO_GRAVITY_SOUTH; break; + default: gravity=PANGO_GRAVITY_AUTO; break; + } + pango_context_set_base_gravity(context,gravity); + option=GetImageOption(image_info,"caption:gravity-hint"); + if (option != (const char *) NULL) + { + if (LocaleCompare(option,"line") == 0) + pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_LINE); + if (LocaleCompare(option,"natural") == 0) + pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_NATURAL); + if (LocaleCompare(option,"strong") == 0) + pango_context_set_gravity_hint(context,PANGO_GRAVITY_HINT_STRONG); + } + /* + Configure layout. + */ + layout=pango_layout_new(context); + option=GetImageOption(image_info,"caption:auto-dir"); + if (option != (const char *) NULL) + pango_layout_set_auto_dir(layout,1); + option=GetImageOption(image_info,"caption:ellipsize"); + if (option != (const char *) NULL) + { + if (LocaleCompare(option,"end") == 0) + pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_END); + if (LocaleCompare(option,"middle") == 0) + pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_MIDDLE); + if (LocaleCompare(option,"none") == 0) + pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_NONE); + if (LocaleCompare(option,"start") == 0) + pango_layout_set_ellipsize(layout,PANGO_ELLIPSIZE_START); + } + option=GetImageOption(image_info,"caption:justify"); + if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) + pango_layout_set_justify(layout,1); + option=GetImageOption(image_info,"caption:single-paragraph"); + if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) + pango_layout_set_single_paragraph_mode(layout,1); + option=GetImageOption(image_info,"caption:wrap"); + if (option != (const char *) NULL) + { + if (LocaleCompare(option,"char") == 0) + pango_layout_set_wrap(layout,PANGO_WRAP_CHAR); + if (LocaleCompare(option,"word") == 0) + pango_layout_set_wrap(layout,PANGO_WRAP_WORD); + if (LocaleCompare(option,"word-char") == 0) + pango_layout_set_wrap(layout,PANGO_WRAP_WORD_CHAR); + } + option=GetImageOption(image_info,"caption:indent"); + if (option != (const char *) NULL) + pango_layout_set_indent(layout,(StringToLong(option)*image->resolution.x* + PANGO_SCALE+36)/72); + switch (draw_info->align) + { + case CenterAlign: align=PANGO_ALIGN_CENTER; break; + case RightAlign: align=PANGO_ALIGN_RIGHT; break; + case LeftAlign: align=PANGO_ALIGN_LEFT; break; + default: + { + if (draw_info->gravity == CenterGravity) + { + align=PANGO_ALIGN_CENTER; + break; + } + align=PANGO_ALIGN_LEFT; + break; + } + } + if ((align != PANGO_ALIGN_CENTER) && + (draw_info->direction == RightToLeftDirection)) + align=(PangoAlignment) (PANGO_ALIGN_LEFT+PANGO_ALIGN_RIGHT-align); + pango_layout_set_alignment(layout,align); + description=pango_font_description_from_string(draw_info->font == + (char *) NULL ? "helvetica" : draw_info->font); + pango_font_description_set_size(description,(int) (0.815*PANGO_SCALE* + draw_info->pointsize+0.5)); + pango_layout_set_font_description(layout,description); + pango_font_description_free(description); + /* + Render caption. + */ + option=GetImageOption(image_info,"caption:markup"); + if ((option != (const char *) NULL) && (IsMagickTrue(option) != MagickFalse)) + pango_layout_set_markup(layout,draw_info->text,-1); + else + pango_layout_set_text(layout,draw_info->text,-1); + pango_layout_context_changed(layout); + page.x=0; + page.y=0; + if (image_info->page != (char *) NULL) + (void) ParseAbsoluteGeometry(image_info->page,&page); + if (image->columns == 0) + { + pango_layout_get_pixel_extents(layout,NULL,&extent); + image->columns=extent.x+extent.width; + } + else + { + image->columns-=2*page.x; + pango_layout_set_width(layout,(PANGO_SCALE*image->columns* + image->resolution.x+36.0)/72.0); + } + if (image->rows == 0) + { + pango_layout_get_pixel_extents(layout,NULL,&extent); + image->rows=extent.y+extent.height; + } + else + { + image->rows-=2*page.y; + pango_layout_set_height(layout,(PANGO_SCALE*image->rows* + image->resolution.y+36.0)/72.0); + } + /* + Create canvas. + */ + canvas=(FT_Bitmap *) AcquireMagickMemory(sizeof(*canvas)); + if (canvas == (FT_Bitmap *) NULL) + ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", + image->filename); + canvas->width=image->columns; + canvas->pitch=(canvas->width+3) & ~3; + canvas->rows=image->rows; + canvas->buffer=(unsigned char *) AcquireQuantumMemory(canvas->pitch, + canvas->rows*sizeof(*canvas->buffer)); + if (canvas->buffer == (unsigned char *) NULL) + { + canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); + ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", + image->filename); + } + canvas->num_grays=256; + canvas->pixel_mode=ft_pixel_mode_grays; + ResetMagickMemory(canvas->buffer,0x00,canvas->pitch*canvas->rows); + pango_ft2_render_layout(canvas,layout,0,0); + /* + Convert caption to image. + */ + image->columns+=2*page.x; + image->rows+=2*page.y; + if (SetImageBackgroundColor(image,exception) == MagickFalse) + { + canvas->buffer=(unsigned char *) RelinquishMagickMemory(canvas->buffer); + canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); + image=DestroyImageList(image); + return(MagickFalse); + } + GetPixelInfo(image,&fill_color); + p=canvas->buffer; + for (y=page.y; y < (ssize_t) (image->rows-page.y); y++) + { + register ssize_t + x; + + q=GetAuthenticPixels(image,0,y,image->columns,1,exception); + if (q == (Quantum *) NULL) + break; + q+=page.x*GetPixelChannels(image); + for (x=page.x; x < (ssize_t) (image->columns-page.x); x++) + { + MagickRealType + fill_alpha; + + (void) GetFillColor(draw_info,x,y,&fill_color,exception); + fill_alpha=(MagickRealType) (*p)/(canvas->num_grays-1); + if (draw_info->text_antialias == MagickFalse) + fill_alpha=fill_alpha >= 0.5 ? 1.0 : 0.0; + fill_alpha=fill_alpha*fill_color.alpha; + CompositePixelOver(image,&fill_color,fill_alpha,q,GetPixelAlpha(image,q), + q); + p++; + q+=GetPixelChannels(image); + } + for ( ; x < (ssize_t) ((canvas->width+3) & ~3); x++) + p++; + } + /* + Relinquish resources. + */ + canvas->buffer=(unsigned char *) RelinquishMagickMemory(canvas->buffer); + canvas=(FT_Bitmap *) RelinquishMagickMemory(canvas); + return(MagickTrue); +} +#endif + +static Image *ReadPANGOImage(const ImageInfo *image_info, + ExceptionInfo *exception) +{ + char + *caption, + geometry[MaxTextExtent], + *property; + + const char + *gravity, + *option; + + DrawInfo + *draw_info; + + Image + *image; + + MagickBooleanType + status; + + register ssize_t + i; + + size_t + height, + width; + + TypeMetric + metrics; + + /* + Initialize Image structure. + */ + assert(image_info != (const ImageInfo *) NULL); + assert(image_info->signature == MagickSignature); + if (image_info->debug != MagickFalse) + (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s", + image_info->filename); + assert(exception != (ExceptionInfo *) NULL); + assert(exception->signature == MagickSignature); + image=AcquireImage(image_info,exception); + if (image->columns == 0) + ThrowReaderException(OptionError,"MustSpecifyImageSize"); + (void) ResetImagePage(image,"0x0+0+0"); + /* + Format caption. + */ + property=InterpretImageProperties(image_info,image,image_info->filename, + exception); + option=GetImageOption(image_info,"filename"); + if (option == (const char *) NULL) + property=InterpretImageProperties(image_info,image,image_info->filename, + exception); + else + if (LocaleNCompare(option,"caption:",8) == 0) + property=InterpretImageProperties(image_info,image,option+8,exception); + else + property=InterpretImageProperties(image_info,image,option,exception); + (void) SetImageProperty(image,"caption",property,exception); + property=DestroyString(property); + caption=ConstantString(GetImageProperty(image,"caption",exception)); + draw_info=CloneDrawInfo(image_info,(DrawInfo *) NULL); + (void) CloneString(&draw_info->text,caption); + gravity=GetImageOption(image_info,"gravity"); + if (gravity != (char *) NULL) + draw_info->gravity=(GravityType) ParseCommandOption(MagickGravityOptions, + MagickFalse,gravity); + if ((*caption != '\0') && (image->rows != 0) && + (image_info->pointsize == 0.0)) + { + char + *text; + + /* + Scale text to fit bounding box. + */ + for ( ; ; ) + { + text=AcquireString(caption); + i=FormatMagickCaption(image,draw_info,MagickFalse,&metrics,&text, + exception); + (void) CloneString(&draw_info->text,text); + text=DestroyString(text); + (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", + -metrics.bounds.x1,metrics.ascent); + if (draw_info->gravity == UndefinedGravity) + (void) CloneString(&draw_info->geometry,geometry); + status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception); + (void) status; + width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5); + height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5); + if ((width > (image->columns+1)) || (height > (image->rows+1))) + break; + draw_info->pointsize*=2.0; + } + draw_info->pointsize/=2.0; + for ( ; ; ) + { + text=AcquireString(caption); + i=FormatMagickCaption(image,draw_info,MagickFalse,&metrics,&text, + exception); + (void) CloneString(&draw_info->text,text); + text=DestroyString(text); + (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", + -metrics.bounds.x1,metrics.ascent); + if (draw_info->gravity == UndefinedGravity) + (void) CloneString(&draw_info->geometry,geometry); + status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception); + width=(size_t) floor(metrics.width+draw_info->stroke_width+0.5); + height=(size_t) floor(metrics.height+draw_info->stroke_width+0.5); + if ((width > (image->columns+1)) || (height > (image->rows+1))) + break; + draw_info->pointsize++; + } + draw_info->pointsize--; + } + i=FormatMagickCaption(image,draw_info,MagickTrue,&metrics,&caption,exception); + if (image->rows == 0) + image->rows=(size_t) ((i+1)*(metrics.ascent-metrics.descent+ + draw_info->interline_spacing+draw_info->stroke_width)+0.5); + if (image->rows == 0) + image->rows=(size_t) ((i+1)*draw_info->pointsize+ + draw_info->interline_spacing+draw_info->stroke_width+0.5); + if (SetImageBackgroundColor(image,exception) == MagickFalse) + { + image=DestroyImageList(image); + return((Image *) NULL); + } + /* + Draw caption. + */ + (void) CloneString(&draw_info->text,caption); + status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception); + if ((draw_info->gravity != UndefinedGravity) && + (draw_info->direction != RightToLeftDirection)) + image->page.x=(ssize_t) (metrics.bounds.x1-draw_info->stroke_width/2.0); + else + { + (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", + -metrics.bounds.x1+draw_info->stroke_width/2.0,metrics.ascent+ + draw_info->stroke_width/2.0); + if (draw_info->direction == RightToLeftDirection) + (void) FormatLocaleString(geometry,MaxTextExtent,"%+g%+g", + image->columns-(metrics.bounds.x2+draw_info->stroke_width/2.0), + metrics.ascent+draw_info->stroke_width/2.0); + draw_info->geometry=AcquireString(geometry); + } +#if defined(MAGICKCORE_PANGOFT2_DELEGATE) + status=PangoImage(image_info,image,draw_info,exception); +#else + status=AnnotateImage(image,draw_info,exception); +#endif + draw_info=DestroyDrawInfo(draw_info); + caption=DestroyString(caption); + if (status == MagickFalse) + { + image=DestroyImageList(image); + return((Image *) NULL); + } + return(GetFirstImageInList(image)); +} + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% R e g i s t e r P A N G O I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% RegisterPANGOImage() adds attributes for the PANGO image format to +% the list of supported formats. The attributes include the image format +% tag, a method to read and/or write the format, whether the format +% supports the saving of more than one frame to the same file or blob, +% whether the format supports native in-memory I/O, and a brief +% description of the format. +% +% The format of the RegisterPANGOImage method is: +% +% size_t RegisterPANGOImage(void) +% +*/ +ModuleExport size_t RegisterPANGOImage(void) +{ + char + version[MaxTextExtent]; + + MagickInfo + *entry; + + *version='\0'; +#if defined(PANGO_VERSION_STRING) + (void) FormatLocaleString(version,MaxTextExtent,"Pangoft2 %s", + PANGO_VERSION_STRING); +#endif + entry=SetMagickInfo("PANGO"); + entry->decoder=(DecodeImageHandler *) ReadPANGOImage; + entry->description=ConstantString("Caption"); + if (*version != '\0') + entry->version=ConstantString(version); + entry->adjoin=MagickFalse; + entry->module=ConstantString("PANGO"); + (void) RegisterMagickInfo(entry); + return(MagickImageCoderSignature); +} + +/* +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% U n r e g i s t e r P A N G O I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% UnregisterPANGOImage() removes format registrations made by the +% PANGO module from the list of supported formats. +% +% The format of the UnregisterPANGOImage method is: +% +% UnregisterPANGOImage(void) +% +*/ +ModuleExport void UnregisterPANGOImage(void) +{ + (void) UnregisterMagickInfo("PANGO"); +} diff --git a/config/ImageMagick.rdf b/config/ImageMagick.rdf index 8c93cb5d1..efc794816 100644 --- a/config/ImageMagick.rdf +++ b/config/ImageMagick.rdf @@ -5,7 +5,7 @@ ImageMagick ImageMagick: convert, edit, and compose images. - 2012-03-09 + 2012-03-14 ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. @@ -57,7 +57,7 @@ Examples of ImageMagick Usage shows how to use ImageMagick from the command-line stable - 2012-03-09 + 2012-03-14 7.0.0 diff --git a/config/configure.xml b/config/configure.xml index 575e04ce5..401ded14d 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -10,8 +10,8 @@ - - + + diff --git a/configure b/configure index 7253eebf6..0572cd355 100755 --- a/configure +++ b/configure @@ -3616,7 +3616,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE` MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE -MAGICK_SVN_REVISION=7084 +MAGICK_SVN_REVISION=7108