(DO NOT MERGE) OpenRaster (.ora) decoder support (#2342)

* Started work on OpenRaster (.ora) decoder

* Fix Zip libary name, fix tab indenting in config,
change format type of ORA files from implict to explict.

* Rename var used for libzip to avoid conflict with Window Zip,
created header for libzip support, decoding from ORA now works
as expected

* Fix tabbing of libzip in configure, rename variables to snake_case,
update metainfo of returned image to match that of the ORA file
instead of the temporary PNG file.

* Made ora.c ANSI C compatible, Add entry for ORA with no decoder
instead of adding no entires when the required libaries are not
installed.
diff --git a/MagickCore/config.h_vms b/MagickCore/config.h_vms
index 6e74de2..dfa63b1 100755
--- a/MagickCore/config.h_vms
+++ b/MagickCore/config.h_vms
@@ -233,6 +233,9 @@
 /* Define if you have WMF library */
 #undef MAGICKCORE_WMF_DELEGATE
 
+/* Define if you have LIBZIP library */
+#undef MAGICKCORE_LIBZIP_DELEGATE
+
 /* Define if you have sys_errlist in libc */
 #undef MAGICKCORE_HAVE_SYS_ERRLIST
 
diff --git a/MagickCore/static.h b/MagickCore/static.h
index c03f965..0077ee2 100644
--- a/MagickCore/static.h
+++ b/MagickCore/static.h
@@ -119,6 +119,7 @@
   RegisterNULLImage(void),
   RegisterP7Image(void),
   RegisterPBMImage(void),
+  RegisterORAImage(void),
   RegisterOTBImage(void),
   RegisterPALMImage(void),
   RegisterPANGOImage(void),
@@ -287,6 +288,7 @@
   UnregisterNULLImage(void),
   UnregisterP7Image(void),
   UnregisterPBMImage(void),
+  UnregisterORAImage(void),
   UnregisterOTBImage(void),
   UnregisterPALMImage(void),
   UnregisterPANGOImage(void),
diff --git a/Makefile.in b/Makefile.in
index c6e0816..112698c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -557,43 +557,44 @@
 	coders/mono.h coders/mpc.c coders/mpc.h coders/mpeg.c \
 	coders/mpeg.h coders/mpr.c coders/mpr.h coders/msl.c \
 	coders/msl.h coders/mtv.c coders/mtv.h coders/mvg.c \
-	coders/mvg.h coders/null.c coders/null.h coders/otb.c \
-	coders/otb.h coders/palm.c coders/palm.h coders/pango.c \
-	coders/pango.h coders/pattern.c coders/pattern.h coders/pcd.c \
-	coders/pcd.h coders/pcl.c coders/pcl.h coders/pcx.c \
-	coders/pcx.h coders/pdb.c coders/pdb.h coders/pdf.c \
-	coders/pdf.h coders/pes.c coders/pes.h coders/pgx.c \
-	coders/pgx.h coders/pict.c coders/pict.h coders/pix.c \
-	coders/pix.h coders/plasma.c coders/plasma.h coders/png.h \
-	coders/pnm.c coders/pnm.h coders/ps2.c coders/ps2.h \
-	coders/ps3.c coders/ps3.h coders/ps.c coders/psd.c \
-	coders/psd.h coders/psd-private.h coders/ps.h coders/pwp.c \
-	coders/pwp.h coders/raw.c coders/raw.h coders/rgb.c \
-	coders/rgb.h coders/rgf.c coders/rgf.h coders/rla.c \
-	coders/rla.h coders/rle.c coders/rle.h coders/scr.c \
-	coders/screenshot.c coders/screenshot.h coders/scr.h \
-	coders/sct.c coders/sct.h coders/sfw.c coders/sfw.h \
-	coders/sgi.c coders/sgi.h coders/sixel.c coders/sixel.h \
-	coders/stegano.c coders/stegano.h coders/sun.c coders/sun.h \
-	coders/svg.c coders/svg.h coders/tga.c coders/tga.h \
-	coders/thumbnail.c coders/thumbnail.h coders/tiff.h \
-	coders/tile.c coders/tile.h coders/tim2.c coders/tim2.h \
-	coders/tim.c coders/tim.h coders/ttf.c coders/ttf.h \
-	coders/txt.c coders/txt.h coders/uil.c coders/uil.h \
-	coders/url.c coders/url.h coders/uyvy.c coders/uyvy.h \
-	coders/vicar.c coders/vicar.h coders/vid.c coders/vid.h \
-	coders/viff.c coders/viff.h coders/vips.c coders/vips.h \
-	coders/wbmp.c coders/wbmp.h coders/webp.h coders/wmf.h \
-	coders/wpg.c coders/wpg.h coders/xbm.c coders/xbm.h \
-	coders/xc.c coders/xcf.c coders/xcf.h coders/xc.h coders/x.h \
-	coders/xpm.c coders/xpm.h coders/xps.c coders/xps.h \
-	coders/xtrn.c coders/xtrn.h coders/xwd.h coders/ycbcr.c \
-	coders/ycbcr.h coders/yuv.c coders/yuv.h coders/dps.c \
-	coders/djvu.c coders/exr.c coders/flif.c coders/fpx.c \
-	coders/clipboard.c coders/emf.c coders/heic.c coders/jbig.c \
-	coders/jpeg.c coders/jp2.c coders/jxl.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/mvg.h coders/null.c coders/null.h coders/ora.c \
+	coders/ora.h coders/otb.c coders/otb.h coders/palm.c \
+	coders/palm.h coders/pango.c coders/pango.h coders/pattern.c \
+	coders/pattern.h coders/pcd.c coders/pcd.h coders/pcl.c \
+	coders/pcl.h coders/pcx.c coders/pcx.h coders/pdb.c \
+	coders/pdb.h coders/pdf.c coders/pdf.h coders/pes.c \
+	coders/pes.h coders/pgx.c coders/pgx.h coders/pict.c \
+	coders/pict.h coders/pix.c coders/pix.h coders/plasma.c \
+	coders/plasma.h coders/png.h coders/pnm.c coders/pnm.h \
+	coders/ps2.c coders/ps2.h coders/ps3.c coders/ps3.h \
+	coders/ps.c coders/psd.c coders/psd.h coders/psd-private.h \
+	coders/ps.h coders/pwp.c coders/pwp.h coders/raw.c \
+	coders/raw.h coders/rgb.c coders/rgb.h coders/rgf.c \
+	coders/rgf.h coders/rla.c coders/rla.h coders/rle.c \
+	coders/rle.h coders/scr.c coders/screenshot.c \
+	coders/screenshot.h coders/scr.h coders/sct.c coders/sct.h \
+	coders/sfw.c coders/sfw.h coders/sgi.c coders/sgi.h \
+	coders/sixel.c coders/sixel.h coders/stegano.c \
+	coders/stegano.h coders/sun.c coders/sun.h coders/svg.c \
+	coders/svg.h coders/tga.c coders/tga.h coders/thumbnail.c \
+	coders/thumbnail.h coders/tiff.h coders/tile.c coders/tile.h \
+	coders/tim2.c coders/tim2.h coders/tim.c coders/tim.h \
+	coders/ttf.c coders/ttf.h coders/txt.c coders/txt.h \
+	coders/uil.c coders/uil.h coders/url.c coders/url.h \
+	coders/uyvy.c coders/uyvy.h coders/vicar.c coders/vicar.h \
+	coders/vid.c coders/vid.h coders/viff.c coders/viff.h \
+	coders/vips.c coders/vips.h coders/wbmp.c coders/wbmp.h \
+	coders/webp.h coders/wmf.h coders/wpg.c coders/wpg.h \
+	coders/xbm.c coders/xbm.h coders/xc.c coders/xcf.c \
+	coders/xcf.h coders/xc.h coders/x.h coders/xpm.c coders/xpm.h \
+	coders/xps.c coders/xps.h coders/xtrn.c coders/xtrn.h \
+	coders/xwd.h coders/ycbcr.c coders/ycbcr.h coders/yuv.c \
+	coders/yuv.h coders/dps.c coders/djvu.c coders/exr.c \
+	coders/flif.c coders/fpx.c coders/clipboard.c coders/emf.c \
+	coders/heic.c coders/jbig.c coders/jpeg.c coders/jp2.c \
+	coders/jxl.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/libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-accelerate.lo \
 	MagickCore/libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-animate.lo \
 	MagickCore/libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-annotate.lo \
@@ -763,6 +764,7 @@
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mtv.lo \
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mvg.lo \
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.lo \
+	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo \
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.lo \
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.lo \
 	coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-pango.lo \
@@ -1419,6 +1421,13 @@
 	$(AM_CFLAGS) $(CFLAGS) $(coders_null_la_LDFLAGS) $(LDFLAGS) -o \
 	$@
 @WITH_MODULES_TRUE@am_coders_null_la_rpath = -rpath $(codersdir)
+coders_ora_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1)
+am_coders_ora_la_OBJECTS = coders/ora_la-ora.lo
+coders_ora_la_OBJECTS = $(am_coders_ora_la_OBJECTS)
+coders_ora_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(coders_ora_la_LDFLAGS) $(LDFLAGS) -o $@
+@WITH_MODULES_TRUE@am_coders_ora_la_rpath = -rpath $(codersdir)
 coders_otb_la_DEPENDENCIES = $(MAGICKCORE_LIBS)
 am_coders_otb_la_OBJECTS = coders/otb_la-otb.lo
 coders_otb_la_OBJECTS = $(am_coders_otb_la_OBJECTS)
@@ -2300,6 +2309,7 @@
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mtv.Plo \
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mvg.Plo \
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.Plo \
+	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Plo \
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Plo \
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.Plo \
 	coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-pango.Plo \
@@ -2432,6 +2442,7 @@
 	coders/$(DEPDIR)/mtv_la-mtv.Plo \
 	coders/$(DEPDIR)/mvg_la-mvg.Plo \
 	coders/$(DEPDIR)/null_la-null.Plo \
+	coders/$(DEPDIR)/ora_la-ora.Plo \
 	coders/$(DEPDIR)/otb_la-otb.Plo \
 	coders/$(DEPDIR)/palm_la-palm.Plo \
 	coders/$(DEPDIR)/pango_la-pango.Plo \
@@ -2574,39 +2585,39 @@
 	$(coders_mpeg_la_SOURCES) $(coders_mpr_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_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_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \
-	$(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \
-	$(coders_png_la_SOURCES) $(coders_pnm_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_rgf_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_sixel_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_tim2_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_vips_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_xtrn_la_SOURCES) \
-	$(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \
-	$(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \
-	$(Magick___demo_analyze_SOURCES) \
+	$(coders_ora_la_SOURCES) $(coders_otb_la_SOURCES) \
+	$(coders_palm_la_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_pgx_la_SOURCES) \
+	$(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \
+	$(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \
+	$(coders_pnm_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_rgf_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_sixel_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_tim2_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_vips_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_xtrn_la_SOURCES) $(coders_xwd_la_SOURCES) \
+	$(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \
+	$(filters_analyze_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) \
@@ -2664,39 +2675,39 @@
 	$(coders_mpeg_la_SOURCES) $(coders_mpr_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_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_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \
-	$(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \
-	$(coders_png_la_SOURCES) $(coders_pnm_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_rgf_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_sixel_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_tim2_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_vips_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_xtrn_la_SOURCES) \
-	$(coders_xwd_la_SOURCES) $(coders_ycbcr_la_SOURCES) \
-	$(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \
-	$(Magick___demo_analyze_SOURCES) \
+	$(coders_ora_la_SOURCES) $(coders_otb_la_SOURCES) \
+	$(coders_palm_la_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_pgx_la_SOURCES) \
+	$(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \
+	$(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \
+	$(coders_pnm_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_rgf_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_sixel_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_tim2_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_vips_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_xtrn_la_SOURCES) $(coders_xwd_la_SOURCES) \
+	$(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \
+	$(filters_analyze_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) \
@@ -3155,6 +3166,8 @@
 
 # Automagically reconfigure libtool
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBZIP_CFLAGS = @LIBZIP_CFLAGS@
+LIBZIP_LIBS = @LIBZIP_LIBS@
 LIBZSTD_CFLAGS = @LIBZSTD_CFLAGS@
 LIBZSTD_LIBS = @LIBZSTD_LIBS@
 LIB_BIN_BASEDIRNAME = @LIB_BIN_BASEDIRNAME@
@@ -3765,6 +3778,8 @@
 	coders/mvg.h \
 	coders/null.c \
 	coders/null.h \
+	coders/ora.c \
+	coders/ora.h \
 	coders/otb.c \
 	coders/otb.h \
 	coders/palm.c \
@@ -3980,6 +3995,7 @@
 	coders/mtv.h \
 	coders/mvg.h \
 	coders/null.h \
+	coders/ora.h \
 	coders/otb.h \
 	coders/palm.h \
 	coders/pango.h \
@@ -4103,6 +4119,7 @@
 @WITH_MODULES_TRUE@	coders/mtv.la \
 @WITH_MODULES_TRUE@	coders/mvg.la \
 @WITH_MODULES_TRUE@	coders/null.la \
+@WITH_MODULES_TRUE@	coders/ora.la \
 @WITH_MODULES_TRUE@	coders/otb.la \
 @WITH_MODULES_TRUE@	coders/palm.la \
 @WITH_MODULES_TRUE@	coders/pango.la \
@@ -4586,6 +4603,12 @@
 coders_null_la_LDFLAGS = $(MODULECOMMONFLAGS)
 coders_null_la_LIBADD = $(MAGICKCORE_LIBS)
 
+# ORA coder module
+coders_ora_la_SOURCES = coders/ora.c
+coders_ora_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
+coders_ora_la_LDFLAGS = $(MODULECOMMONFLAGS)
+coders_ora_la_LIBADD = $(MAGICKCORE_LIBS) $(LIBZIP_LIBS)
+
 # OTB coder module
 coders_otb_la_SOURCES = coders/otb.c
 coders_otb_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
@@ -6796,6 +6819,8 @@
 	coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
 coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.lo:  \
 	coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
+coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo:  \
+	coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
 coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.lo:  \
 	coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
 coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.lo:  \
@@ -7382,6 +7407,11 @@
 
 coders/null.la: $(coders_null_la_OBJECTS) $(coders_null_la_DEPENDENCIES) $(EXTRA_coders_null_la_DEPENDENCIES) coders/$(am__dirstamp)
 	$(AM_V_CCLD)$(coders_null_la_LINK) $(am_coders_null_la_rpath) $(coders_null_la_OBJECTS) $(coders_null_la_LIBADD) $(LIBS)
+coders/ora_la-ora.lo: coders/$(am__dirstamp) \
+	coders/$(DEPDIR)/$(am__dirstamp)
+
+coders/ora.la: $(coders_ora_la_OBJECTS) $(coders_ora_la_DEPENDENCIES) $(EXTRA_coders_ora_la_DEPENDENCIES) coders/$(am__dirstamp)
+	$(AM_V_CCLD)$(coders_ora_la_LINK) $(am_coders_ora_la_rpath) $(coders_ora_la_OBJECTS) $(coders_ora_la_LIBADD) $(LIBS)
 coders/otb_la-otb.lo: coders/$(am__dirstamp) \
 	coders/$(DEPDIR)/$(am__dirstamp)
 
@@ -8182,6 +8212,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mtv.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mvg.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-pango.Plo@am__quote@ # am--include-marker
@@ -8314,6 +8345,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/mtv_la-mtv.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/mvg_la-mvg.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/null_la-null.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/ora_la-ora.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/otb_la-otb.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/palm_la-palm.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/pango_la-pango.Plo@am__quote@ # am--include-marker
@@ -9458,6 +9490,13 @@
 @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_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.lo `test -f 'coders/null.c' || echo '$(srcdir)/'`coders/null.c
 
+coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo: coders/ora.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_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo `test -f 'coders/ora.c' || echo '$(srcdir)/'`coders/ora.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coders/ora.c' object='coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.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_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.lo `test -f 'coders/ora.c' || echo '$(srcdir)/'`coders/ora.c
+
 coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.lo: coders/otb.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_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.lo `test -f 'coders/otb.c' || echo '$(srcdir)/'`coders/otb.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Plo
@@ -10648,6 +10687,13 @@
 @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_null_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/null_la-null.lo `test -f 'coders/null.c' || echo '$(srcdir)/'`coders/null.c
 
+coders/ora_la-ora.lo: coders/ora.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_ora_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/ora_la-ora.lo -MD -MP -MF coders/$(DEPDIR)/ora_la-ora.Tpo -c -o coders/ora_la-ora.lo `test -f 'coders/ora.c' || echo '$(srcdir)/'`coders/ora.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) coders/$(DEPDIR)/ora_la-ora.Tpo coders/$(DEPDIR)/ora_la-ora.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coders/ora.c' object='coders/ora_la-ora.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_ora_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/ora_la-ora.lo `test -f 'coders/ora.c' || echo '$(srcdir)/'`coders/ora.c
+
 coders/otb_la-otb.lo: coders/otb.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_otb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/otb_la-otb.lo -MD -MP -MF coders/$(DEPDIR)/otb_la-otb.Tpo -c -o coders/otb_la-otb.lo `test -f 'coders/otb.c' || echo '$(srcdir)/'`coders/otb.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) coders/$(DEPDIR)/otb_la-otb.Tpo coders/$(DEPDIR)/otb_la-otb.Plo
@@ -12601,6 +12647,7 @@
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mtv.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mvg.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.Plo
+	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-pango.Plo
@@ -12733,6 +12780,7 @@
 	-rm -f coders/$(DEPDIR)/mtv_la-mtv.Plo
 	-rm -f coders/$(DEPDIR)/mvg_la-mvg.Plo
 	-rm -f coders/$(DEPDIR)/null_la-null.Plo
+	-rm -f coders/$(DEPDIR)/ora_la-ora.Plo
 	-rm -f coders/$(DEPDIR)/otb_la-otb.Plo
 	-rm -f coders/$(DEPDIR)/palm_la-palm.Plo
 	-rm -f coders/$(DEPDIR)/pango_la-pango.Plo
@@ -13085,6 +13133,7 @@
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mtv.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-mvg.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-null.Plo
+	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-ora.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-otb.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-palm.Plo
 	-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-pango.Plo
@@ -13217,6 +13266,7 @@
 	-rm -f coders/$(DEPDIR)/mtv_la-mtv.Plo
 	-rm -f coders/$(DEPDIR)/mvg_la-mvg.Plo
 	-rm -f coders/$(DEPDIR)/null_la-null.Plo
+	-rm -f coders/$(DEPDIR)/ora_la-ora.Plo
 	-rm -f coders/$(DEPDIR)/otb_la-otb.Plo
 	-rm -f coders/$(DEPDIR)/palm_la-palm.Plo
 	-rm -f coders/$(DEPDIR)/pango_la-pango.Plo
diff --git a/coders/Make.com b/coders/Make.com
index 9bc5967..4c1cfe0 100755
--- a/coders/Make.com
+++ b/coders/Make.com
@@ -82,6 +82,7 @@
 $call Make mtv.c
 $call Make mvg.c
 $call Make null.c
+$call Make ora.c
 $call Make otb.c
 $call Make palm.c
 $call Make pango.c
@@ -154,7 +155,7 @@
   cmyk,cut,dcm,dds,debug,dib,dng,dps,dpx,emf,ept,exr,fax,fd,fits,fpx,gif, -
   gradient,gray,hald,histogram,hrz,html,icon,info,inline,ipl,jbig,jpeg,jp2, -
   jnx,json,hdr,label,cals,caption,palm,mac,magick,map,mat,matte,pango,rgf, -
-  meta,miff,mpc,mpr,msl,mpeg,mono,mtv,mvg,null,otb,pattern,pcd,pcl,pcx,pdb, -
+  meta,miff,mpc,mpr,msl,mpeg,mono,mtv,mvg,null,ora,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,tim2,ttf,txt,uil,url, -
   uyvy,vicar,vid,viff,wbmp,webp,wmf,wpg,x,xbm,xc,xcf,xpm,xps,xwd,ycbcr,yuv, -
diff --git a/coders/Makefile.am b/coders/Makefile.am
index f7ad884..0ce9422 100644
--- a/coders/Makefile.am
+++ b/coders/Makefile.am
@@ -230,6 +230,8 @@
 	coders/mvg.h \
 	coders/null.c \
 	coders/null.h \
+	coders/ora.c \
+	coders/ora.h \
 	coders/otb.c \
 	coders/otb.h \
 	coders/palm.c \
@@ -445,6 +447,7 @@
 	coders/mtv.h \
 	coders/mvg.h \
 	coders/null.h \
+	coders/ora.h \
 	coders/otb.h \
 	coders/palm.h \
 	coders/pango.h \
@@ -568,6 +571,7 @@
 	coders/mtv.la \
 	coders/mvg.la \
 	coders/null.la \
+	coders/ora.la \
 	coders/otb.la \
 	coders/palm.la \
 	coders/pango.la \
@@ -1053,6 +1057,12 @@
 coders_null_la_LDFLAGS     = $(MODULECOMMONFLAGS)
 coders_null_la_LIBADD      = $(MAGICKCORE_LIBS)
 
+# ORA coder module
+coders_ora_la_SOURCES     = coders/ora.c
+coders_ora_la_CPPFLAGS    = $(MAGICK_CODER_CPPFLAGS)
+coders_ora_la_LDFLAGS     = $(MODULECOMMONFLAGS)
+coders_ora_la_LIBADD      = $(MAGICKCORE_LIBS) $(LIBZIP_LIBS)
+
 # OTB coder module
 coders_otb_la_SOURCES      = coders/otb.c
 coders_otb_la_CPPFLAGS     = $(MAGICK_CODER_CPPFLAGS)
diff --git a/coders/coders-list.h b/coders/coders-list.h
index db23cce..6775d8d 100644
--- a/coders/coders-list.h
+++ b/coders/coders-list.h
@@ -110,6 +110,7 @@
 AddMagickCoder(MTV)
 AddMagickCoder(MVG)
 AddMagickCoder(NULL)
+AddMagickCoder(ORA)
 AddMagickCoder(OTB)
 AddMagickCoder(PALM)
 AddMagickCoder(PANGO)
diff --git a/coders/coders.h b/coders/coders.h
index 163bfee..dc07920 100644
--- a/coders/coders.h
+++ b/coders/coders.h
@@ -113,6 +113,7 @@
 #include "coders/mtv.h"
 #include "coders/mvg.h"
 #include "coders/null.h"
+#include "coders/ora.h"
 #include "coders/otb.h"
 #include "coders/palm.h"
 #include "coders/pango.h"
diff --git a/coders/ora.c b/coders/ora.c
new file mode 100644
index 0000000..86bc16f
--- /dev/null
+++ b/coders/ora.c
@@ -0,0 +1,332 @@
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%                         OOOOOOO RRRRRR     A                                %
+%                         O     O R     R   A A                               %
+%                         O     O R     R  A   A                              %
+%                         O     O RRRRRR  A     A                             %
+%                         O     O R   R   AAAAAAA                             %
+%                         O     O R    R  A     A                             %
+%                         OOOOOOO R     R A     A                             %
+%                                                                             %
+%                                                                             %
+%                       Read OpenRaster (.ora) files                          %
+%                                                                             %
+%                             OpenRaster spec:                                %
+%         https://www.freedesktop.org/wiki/Specifications/OpenRaster/         %
+%                                                                             %
+%                                Implementer                                  %
+%                           Christopher Chianelli                             %
+%                                August 2020                                  %
+%                                                                             %
+%                                                                             %
+%  Copyright 1999-2020 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                                            %
+%                                                                             %
+%    https://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/blob.h"
+#include "MagickCore/blob-private.h"
+#include "MagickCore/constitute.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/quantum-private.h"
+#include "MagickCore/static.h"
+#include "MagickCore/resource_.h"
+#include "MagickCore/string_.h"
+#include "MagickCore/utility.h"
+
+#if defined(MAGICKCORE_LIBZIP_DELEGATE)
+#include <zip.h>
+#endif
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   R e a d O R A I m a g e                                                   %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  ReadORAImage reads an ORA file in the most basic way possible: by
+%  reading it as a ZIP File and extracting the mergedimage.png file
+%  from it (see https://www.freedesktop.org/wiki/Specifications/OpenRaster/Draft/FileLayout/)
+%  it, which is then passed to ReadPNGImage.
+%
+%  The format of the ReadORAImage method is:
+%
+%      Image *ReadORAImage(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(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#if defined(MAGICKCORE_PNG_DELEGATE)
+#if defined(MAGICKCORE_LIBZIP_DELEGATE)
+static Image *ReadORAImage(const ImageInfo *image_info,ExceptionInfo *exception)
+{
+#define MaxBufferExtent  8192
+
+  char
+    image_data_buffer[MaxBufferExtent];
+
+  const char
+    *MERGED_IMAGE_PATH = "mergedimage.png";
+
+   FILE
+    *file;
+
+  Image
+    *image_metadata,
+		*out_image;
+
+  ImageInfo
+    *read_info;
+
+  int
+    unique_file;
+
+  zip_t
+    *zip_archive;
+
+  zip_file_t
+    *merged_image_file;
+
+  zip_uint64_t
+    read_bytes,
+    offset;
+
+  int zipError;
+
+  struct stat stat_info;
+
+  image_metadata=AcquireImage(image_info,exception);
+  read_info=CloneImageInfo(image_info);
+  SetImageInfoBlob(read_info,(void *) NULL,0);
+
+  stat(image_info->filename, &stat_info);
+
+  zip_archive = zip_open(image_info->filename, ZIP_RDONLY, &zipError);
+  if (zip_archive == NULL) {
+    ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
+      image_info->filename);
+    read_info=DestroyImageInfo(read_info);
+    image_metadata=DestroyImage(image_metadata);
+    return((Image *) NULL);
+  }
+
+  merged_image_file = zip_fopen(zip_archive, MERGED_IMAGE_PATH, ZIP_FL_UNCHANGED);
+  if (merged_image_file == NULL) {
+    ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
+      image_info->filename);
+    read_info=DestroyImageInfo(read_info);
+    image_metadata=DestroyImage(image_metadata);
+    zip_discard(zip_archive);
+    return((Image *) NULL);
+  }
+
+  /* Get a temporary file to write the mergedimage.png of the ZIP to */
+  (void) CopyMagickString(read_info->magick, "PNG", MagickPathExtent);
+  unique_file = AcquireUniqueFileResource(read_info->unique);
+  (void) CopyMagickString(read_info->filename, read_info->unique,
+		  MagickPathExtent);
+
+  if (unique_file != -1)
+    file=fdopen(unique_file,"wb");
+  if ((unique_file == -1) || (file == (FILE *) NULL))
+    {
+      ThrowFileException(exception,FileOpenError,"UnableToCreateTemporaryFile",
+        read_info->filename);
+      read_info=DestroyImageInfo(read_info);
+      image_metadata=DestroyImage(image_metadata);
+      zip_fclose(merged_image_file);
+      zip_discard(zip_archive);
+      return((Image *) NULL);
+    }
+
+  /* Write the uncompressed mergedimage.png to the temporary file */
+  offset = 0;
+  do
+  {
+    read_bytes = zip_fread(merged_image_file, image_data_buffer + offset, MaxBufferExtent - offset);
+    if (read_bytes == -1) {
+      ThrowFileException(exception,FileOpenError,"UnableToCreateTemporaryFile",
+          read_info->filename);
+      fclose(file);
+      RelinquishUniqueFileResource(read_info->filename);
+      read_info=DestroyImageInfo(read_info);
+      image_metadata=DestroyImage(image_metadata);
+      zip_fclose(merged_image_file);
+      zip_discard(zip_archive);
+      zip_fclose(merged_image_file);
+      return((Image *) NULL);
+    }
+    if (read_bytes == 0) {
+        /* Write up to offset of image_data_buffer to temp file */
+        if (!fwrite(image_data_buffer,offset,1,file)) {
+          ThrowFileException(exception,FileOpenError,"UnableToCreateTemporaryFile",
+            read_info->filename);
+          fclose(file);
+          RelinquishUniqueFileResource(read_info->filename);
+          read_info=DestroyImageInfo(read_info);
+          image_metadata=DestroyImage(image_metadata);
+          zip_fclose(merged_image_file);
+          zip_discard(zip_archive);
+          zip_fclose(merged_image_file);
+          return((Image *) NULL);
+        }
+    }
+    else if (read_bytes == MaxBufferExtent - offset) {
+        /* Write the entirely of image_data_buffer to temp file */
+        if (!fwrite(image_data_buffer,MaxBufferExtent,1,file)) {
+          ThrowFileException(exception,FileOpenError,"UnableToCreateTemporaryFile",
+            read_info->filename);
+          fclose(file);
+          RelinquishUniqueFileResource(read_info->filename);
+          read_info=DestroyImageInfo(read_info);
+          image_metadata=DestroyImage(image_metadata);
+          zip_fclose(merged_image_file);
+          zip_discard(zip_archive);
+          zip_fclose(merged_image_file);
+          return((Image *) NULL);
+        }
+        offset = 0;
+    }
+    else {
+        offset += read_bytes;
+    }
+  }
+  while (read_bytes > 0);
+
+  zip_fclose(merged_image_file);
+  zip_discard(zip_archive);
+  fclose(file);
+
+  /* delegate to ReadImage to read mergedimage.png */
+  out_image = ReadImage(read_info, exception);
+  RelinquishUniqueFileResource(read_info->filename);
+  read_info=DestroyImageInfo(read_info);
+
+  /* Update fields of image from fields of png_image */
+  if (image_metadata != NULL && out_image != NULL) {
+    (void) CopyMagickString(out_image->filename, image_metadata->filename,
+      MagickPathExtent);
+    (void) CopyMagickString(out_image->magick_filename,
+      image_metadata->magick_filename, MagickPathExtent);
+    out_image->timestamp = time(&stat_info.st_mtime);
+    (void) CopyMagickString(out_image->magick, image_metadata->magick,
+      MagickPathExtent);
+    out_image->extent = stat_info.st_size;
+    DestroyImage(image_metadata);
+  }
+  return out_image;
+}
+#endif /* #if defined(MAGICKCORE_LIBZIP_DELEGATE) */
+#endif /* defined(MAGICKCORE_PNG_DELEGATE) */
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   R e g i s t e r O R A I m a g e                                           %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  RegisterORAImage() adds attributes for the ORA 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 RegisterORAImage method is:
+%
+%      size_t RegisterORAImage(void)
+%
+*/
+ModuleExport size_t RegisterORAImage(void)
+{
+  MagickInfo
+    *entry;
+
+  entry=AcquireMagickInfo("ORA","ORA","OpenRaster format");
+
+#if defined(MAGICKCORE_PNG_DELEGATE)
+#if defined(MAGICKCORE_LIBZIP_DELEGATE)
+  entry->decoder=(DecodeImageHandler *) ReadORAImage;
+#endif
+#endif
+
+  entry->format_type=ExplicitFormatType;
+  (void) RegisterMagickInfo(entry);
+  return(MagickImageCoderSignature);
+}
+
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   U n r e g i s t e r O R A I m a g e                                       %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  UnregisterORAImage() removes format registrations made by the
+%  ORA module from the list of supported formats.
+%
+%  The format of the UnregisterORAImage method is:
+%
+%      UnregisterORAImage(void)
+%
+*/
+ModuleExport void UnregisterORAImage(void)
+{
+  (void) UnregisterMagickInfo("ORA");
+}
diff --git a/coders/ora.h b/coders/ora.h
new file mode 100644
index 0000000..21eeb8b
--- /dev/null
+++ b/coders/ora.h
@@ -0,0 +1,29 @@
+/*
+  Copyright 1999-2020 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
+  
+    https://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 "coders/coders-private.h"
+#define MagickORAHeaders
+
+#define MagickORAAliases
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+MagickCoderExports(ORA)
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
diff --git a/config/config.h.in b/config/config.h.in
index fc60343..f83deda 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -12,6 +12,9 @@
 /* Define if you have the bzip2 library */
 #undef BZLIB_DELEGATE
 
+/* Define if you have the libzip library */
+#undef LIBZIP_DELEGATE
+
 /* Define if you have CAIRO library */
 #undef CAIRO_DELEGATE
 
diff --git a/configure b/configure
index e43ec4e..2f58d5e 100755
--- a/configure
+++ b/configure
@@ -882,6 +882,10 @@
 ZSTD_DELEGATE_TRUE
 LIBZSTD_LIBS
 LIBZSTD_CFLAGS
+LIBZIP_DELEGATE_FALSE
+LIBZIP_DELEGATE_TRUE
+LIBZIP_LIBS
+LIBZIP_CFLAGS
 ZLIB_DELEGATE_FALSE
 ZLIB_DELEGATE_TRUE
 ZLIB_LIBS
@@ -1205,6 +1209,7 @@
 with_bzlib
 with_x
 with_zlib
+with_libzip
 with_zstd
 with_apple_font_dir
 with_autotrace
@@ -1262,6 +1267,8 @@
 XMKMF
 ZLIB_CFLAGS
 ZLIB_LIBS
+LIBZIP_CFLAGS
+LIBZIP_LIBS
 LIBZSTD_CFLAGS
 LIBZSTD_LIBS
 AUTOTRACE_CFLAGS
@@ -2019,6 +2026,7 @@
   --without-bzlib         disable BZLIB support
   --with-x                use the X Window System
   --without-zlib          disable ZLIB support
+  --without-libzip        disable libzip support
   --without-zstd          disable ZSTD support
   --with-apple-font-dir=DIR
                           Apple font directory
@@ -2081,6 +2089,9 @@
   XMKMF       Path to xmkmf, Makefile generator for X Window System
   ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config
   ZLIB_LIBS   linker flags for ZLIB, overriding pkg-config
+  LIBZIP_CFLAGS
+              C compiler flags for LIBZIP, overriding pkg-config
+  LIBZIP_LIBS linker flags for LIBZIP, overriding pkg-config
   LIBZSTD_CFLAGS
               C compiler flags for LIBZSTD, overriding pkg-config
   LIBZSTD_LIBS
@@ -4566,7 +4577,7 @@
 
 MAGICK_VERSION=7.0.10-26
 
-MAGICK_GIT_REVISION=17501:3f353426f:20200801
+MAGICK_GIT_REVISION=17505:9b7bef169:20200801
 
 
 # Substitute library versioning
@@ -22784,7 +22795,7 @@
 
 
 # Enable build using delegate libraries built in subdirectories rather than installed
-# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib)
+# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib zip)
 # Check whether --enable-delegate-build was given.
 if test "${enable_delegate_build+set}" = set; then :
   enableval=$enable_delegate_build; enable_delegate_build=$enableval
@@ -27066,7 +27077,7 @@
     # Most delegates have includes in the same directory as the library, but not all...
     #
     # Includes
-    for dir in bzlib fftw fpx gslib/src jp2 jbig/libjbig jpeg lcms/include lzma magick openjp2/include png tiff/libtiff ttf/include wand webp/src wmf/include xml/include zlib; do
+    for dir in zip bzlib fftw fpx gslib/src jp2 jbig/libjbig jpeg lcms/include lzma magick openjp2/include png tiff/libtiff ttf/include wand webp/src wmf/include xml/include zlib; do
         if test -d "$builddir/$dir"; then
             CPPFLAGS="$CPPFLAGS -I$builddir/$dir"
         else
@@ -27077,7 +27088,7 @@
     done
 
     # Libraries
-    for dir in bzlib fftw fpx gslib/src jbig/libjbig jpeg lcms/src lzma magick openjp2 png tiff/libtiff ttf/objs wand webp wmf/src xml zlib; do
+    for dir in zip bzlib fftw fpx gslib/src jbig/libjbig jpeg lcms/src lzma magick openjp2 png tiff/libtiff ttf/objs wand webp wmf/src xml zlib; do
     if test -d "$builddir/$dir/.libs"; then
         LDFLAGS="$LDFLAGS -L$builddir/$dir/.libs"
     else
@@ -29043,6 +29054,125 @@
 
 
 #
+# Check for libzip
+#
+
+# Check whether --with-libzip was given.
+if test "${with_libzip+set}" = set; then :
+  withval=$with_libzip; with_libzip=$withval
+else
+  with_libzip='yes'
+fi
+
+
+if test "$with_libzip" != 'yes'; then
+    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-libzip=$with_libzip "
+fi
+
+have_libzip='no'
+LIBZIP_CFLAGS=""
+LIBZIP_LIBS=""
+LIBZIP_PKG=""
+if test "x$with_libzip" = "xyes"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5
+$as_echo "-------------------------------------------------------------" >&6; }
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libzip >= 1.0.0" >&5
+$as_echo_n "checking for libzip >= 1.0.0... " >&6; }
+
+if test -n "$LIBZIP_CFLAGS"; then
+    pkg_cv_LIBZIP_CFLAGS="$LIBZIP_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libzip >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBZIP_CFLAGS=`$PKG_CONFIG --cflags "libzip >= 1.0.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$LIBZIP_LIBS"; then
+    pkg_cv_LIBZIP_LIBS="$LIBZIP_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libzip >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBZIP_LIBS=`$PKG_CONFIG --libs "libzip >= 1.0.0" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LIBZIP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libzip >= 1.0.0" 2>&1`
+        else
+	        LIBZIP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libzip >= 1.0.0" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LIBZIP_PKG_ERRORS" >&5
+
+	have_libzip=no
+elif test $pkg_failed = untried; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	have_libzip=no
+else
+	LIBZIP_CFLAGS=$pkg_cv_LIBZIP_CFLAGS
+	LIBZIP_LIBS=$pkg_cv_LIBZIP_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	have_libzip=yes
+fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+fi
+
+if test "$have_libzip" = 'yes'; then
+
+$as_echo "#define LIBZIP_DELEGATE 1" >>confdefs.h
+
+  CFLAGS="$LIBZIP_CFLAGS $CFLAGS"
+  LIBS="$LIBZIP_LIBS $LIBS"
+fi
+
+ if test "$have_libzip" = 'yes'; then
+  LIBZIP_DELEGATE_TRUE=
+  LIBZIP_DELEGATE_FALSE='#'
+else
+  LIBZIP_DELEGATE_TRUE='#'
+  LIBZIP_DELEGATE_FALSE=
+fi
+
+
+
+
+
+
+#
 # Check for ZSTD
 #
 
@@ -36414,6 +36544,9 @@
 if test "$have_xml"      = 'yes' ; then
    MAGICK_DELEGATES="$MAGICK_DELEGATES xml"
 fi
+if test "$have_libzip"      = 'yes' ; then
+   MAGICK_DELEGATES="$MAGICK_DELEGATES libzip"
+fi
 if test "$have_zlib"   = 'yes' ; then
    MAGICK_DELEGATES="$MAGICK_DELEGATES zlib"
 fi
@@ -36557,9 +36690,9 @@
 #
 
 if test "$build_modules" != 'no'; then
-    MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $XML_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
+    MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $XML_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $LIBZIP_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
 else
-    MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $JXL_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIF_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
+    MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $JXL_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIF_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $LIBZIP_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
 fi
 MAGICK_EXTRA_DEP_LIBS="$GOMP_LIBS"
 
@@ -36861,6 +36994,10 @@
   as_fn_error $? "conditional \"ZLIB_DELEGATE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${LIBZIP_DELEGATE_TRUE}" && test -z "${LIBZIP_DELEGATE_FALSE}"; then
+  as_fn_error $? "conditional \"LIBZIP_DELEGATE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${ZSTD_DELEGATE_TRUE}" && test -z "${ZSTD_DELEGATE_FALSE}"; then
   as_fn_error $? "conditional \"ZSTD_DELEGATE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -39629,7 +39766,7 @@
   HEIC              --with-heic=$with_heic             $have_heic
   JBIG              --with-jbig=$with_jbig		$have_jbig
   JPEG v1           --with-jpeg=$with_jpeg		$have_jpeg
-  JPEG XL           --with-jxl=$with_jxl    $have_jxl
+  JPEG XL           --with-jxl=$with_jxl	    	$have_jxl
   LCMS              --with-lcms=$with_lcms		$have_lcms
   LQR               --with-lqr=$with_lqr		$have_lqr
   LTDL              --with-ltdl=$with_ltdl		$have_ltdl
@@ -39649,6 +39786,7 @@
   X11               --with-x=$with_x			$have_x
   XML               --with-xml=$with_xml		$have_xml
   ZLIB              --with-zlib=$with_zlib		$have_zlib
+  LIBZIP            --with-libzip=$with_libzip  		$have_libzip
   ZSTD              --with-zstd=$with_zstd		$have_zstd
 
 Delegate program configuration:
@@ -39727,7 +39865,7 @@
   HEIC              --with-heic=$with_heic             $have_heic
   JBIG              --with-jbig=$with_jbig		$have_jbig
   JPEG v1           --with-jpeg=$with_jpeg		$have_jpeg
-  JPEG XL           --with-jxl=$with_jxl    $have_jxl
+  JPEG XL           --with-jxl=$with_jxl	    	$have_jxl
   LCMS              --with-lcms=$with_lcms		$have_lcms
   LQR               --with-lqr=$with_lqr		$have_lqr
   LTDL              --with-ltdl=$with_ltdl		$have_ltdl
@@ -39747,6 +39885,7 @@
   X11               --with-x=$with_x			$have_x
   XML               --with-xml=$with_xml		$have_xml
   ZLIB              --with-zlib=$with_zlib		$have_zlib
+  LIBZIP            --with-libzip=$with_libzip  		$have_libzip
   ZSTD              --with-zstd=$with_zstd		$have_zstd
 
 Delegate program configuration:
diff --git a/configure.ac b/configure.ac
index 88c31a9..f3023b6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -615,7 +615,7 @@
 AM_CONDITIONAL(WITH_MODULES, test "$build_modules" != 'no')
 
 # Enable build using delegate libraries built in subdirectories rather than installed
-# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib)
+# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib zip)
 AC_ARG_ENABLE([delegate-build],
     [AC_HELP_STRING([--enable-delegate-build],
                     [look for delegate libraries in build directory])],
@@ -1174,7 +1174,7 @@
     # Most delegates have includes in the same directory as the library, but not all...
     #
     # Includes
-    for dir in bzlib fftw fpx gslib/src jp2 jbig/libjbig jpeg lcms/include lzma magick openjp2/include png tiff/libtiff ttf/include wand webp/src wmf/include xml/include zlib; do
+    for dir in zip bzlib fftw fpx gslib/src jp2 jbig/libjbig jpeg lcms/include lzma magick openjp2/include png tiff/libtiff ttf/include wand webp/src wmf/include xml/include zlib; do
         if test -d "$builddir/$dir"; then
             CPPFLAGS="$CPPFLAGS -I$builddir/$dir"
         else
@@ -1185,7 +1185,7 @@
     done
 
     # Libraries
-    for dir in bzlib fftw fpx gslib/src jbig/libjbig jpeg lcms/src lzma magick openjp2 png tiff/libtiff ttf/objs wand webp wmf/src xml zlib; do
+    for dir in zip bzlib fftw fpx gslib/src jbig/libjbig jpeg lcms/src lzma magick openjp2 png tiff/libtiff ttf/objs wand webp wmf/src xml zlib; do
     if test -d "$builddir/$dir/.libs"; then
         LDFLAGS="$LDFLAGS -L$builddir/$dir/.libs"
     else
@@ -1578,6 +1578,42 @@
 dnl ===========================================================================
 
 #
+# Check for libzip
+#
+AC_ARG_WITH([libzip],
+    [AC_HELP_STRING([--without-libzip],
+                    [disable libzip support])],
+    [with_libzip=$withval],
+    [with_libzip='yes'])
+
+if test "$with_libzip" != 'yes'; then
+    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-libzip=$with_libzip "
+fi
+
+have_libzip='no'
+LIBZIP_CFLAGS=""
+LIBZIP_LIBS=""
+LIBZIP_PKG=""
+if test "x$with_libzip" = "xyes"; then
+  AC_MSG_RESULT([-------------------------------------------------------------])
+  PKG_CHECK_MODULES(LIBZIP,[libzip >= 1.0.0], have_libzip=yes, have_libzip=no)
+  AC_MSG_RESULT([])
+fi
+
+if test "$have_libzip" = 'yes'; then
+  AC_DEFINE(LIBZIP_DELEGATE,1,Define if you have libzip library)
+  CFLAGS="$LIBZIP_CFLAGS $CFLAGS"
+  LIBS="$LIBZIP_LIBS $LIBS"
+fi
+
+AM_CONDITIONAL(LIBZIP_DELEGATE, test "$have_libzip" = 'yes')
+AC_SUBST(LIBZIP_CFLAGS)
+AC_SUBST(LIBZIP_LIBS)
+
+
+dnl ===========================================================================
+
+#
 # Check for ZSTD
 #
 AC_ARG_WITH([zstd],
@@ -3817,6 +3853,9 @@
 if test "$have_xml"      = 'yes' ; then
    MAGICK_DELEGATES="$MAGICK_DELEGATES xml"
 fi
+if test "$have_libzip"      = 'yes' ; then
+   MAGICK_DELEGATES="$MAGICK_DELEGATES libzip"
+fi
 if test "$have_zlib"   = 'yes' ; then
    MAGICK_DELEGATES="$MAGICK_DELEGATES zlib"
 fi
@@ -3872,9 +3911,9 @@
 #
 
 if test "$build_modules" != 'no'; then
-    MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $XML_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
+    MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $XML_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $LIBZIP_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
 else
-    MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $JXL_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIF_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
+    MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $JXL_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIF_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $LIBZIP_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $WS2_32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
 fi
 MAGICK_EXTRA_DEP_LIBS="$GOMP_LIBS"
 AC_SUBST(MAGICK_DEP_LIBS)
@@ -4033,7 +4072,7 @@
   HEIC              --with-heic=$with_heic             $have_heic
   JBIG              --with-jbig=$with_jbig		$have_jbig
   JPEG v1           --with-jpeg=$with_jpeg		$have_jpeg
-  JPEG XL           --with-jxl=$with_jxl    $have_jxl
+  JPEG XL           --with-jxl=$with_jxl	    	$have_jxl
   LCMS              --with-lcms=$with_lcms		$have_lcms
   LQR               --with-lqr=$with_lqr		$have_lqr
   LTDL              --with-ltdl=$with_ltdl		$have_ltdl
@@ -4053,6 +4092,7 @@
   X11               --with-x=$with_x			$have_x
   XML               --with-xml=$with_xml		$have_xml
   ZLIB              --with-zlib=$with_zlib		$have_zlib
+  LIBZIP            --with-libzip=$with_libzip  		$have_libzip
   ZSTD              --with-zstd=$with_zstd		$have_zstd
 
 Delegate program configuration: