[php-src] master: Sync gd 2 4 (#22532)
Pierre Joye via GitHub <[email protected]>
| Newsgroups | gmane.comp.php.cvs.general |
|---|---|
| Message-ID | <[email protected]> |
Author: Pierre Joye (pierrejoye) Committer: GitHub (web-flow) Pusher: pierrejoye Date: 2026-07-16T21:46:18+07:00 Commit: https://github.com/php/php-src/commit/d826d4948324d50a6ae36b4fb8606061b866e54c Raw diff: https://github.com/php/php-src/commit/d826d4948324d50a6ae36b4fb8606061b866e54c.diff Sync gd 2 4 (#22532) 1st part of syncing bundled LibGd to ext/gd/libgd # Updated/Fixed - Color Match improvement using Lab* + Delta-E and actual % as input - Fix and improve freetype rendering and merge both php's libgd + libgd "new encoding" - Fix RAMQ rendering - All codecs with conformance tests (upstream, C) - Perceptual difference (upstream C, will be exposed so php's tests can rely on it - libgd codecs include gif, bmp, webp and jxl full support including animation. Tiff read/write multipages. all BMP format supported but OS/2. Many of these additions or changes work already with existing php's apis. 2D vector APIs and all new Codecs or Gd\* APIs will be a separe PR+RFC. See https://wiki.php.net/rfc/ext-gd-2.4 Changed paths: A ext/gd/libgd/.clang-format A ext/gd/libgd/entities.h A ext/gd/libgd/ftraster/gd_ft_math.c A ext/gd/libgd/ftraster/gd_ft_math.h A ext/gd/libgd/ftraster/gd_ft_raster.c A ext/gd/libgd/ftraster/gd_ft_raster.h A ext/gd/libgd/ftraster/gd_ft_stroker.c A ext/gd/libgd/ftraster/gd_ft_stroker.h A ext/gd/libgd/ftraster/gd_ft_types.h A ext/gd/libgd/gd_array.c A ext/gd/libgd/gd_array.h A ext/gd/libgd/gd_color.c A ext/gd/libgd/gd_color.h A ext/gd/libgd/gd_color_map.c A ext/gd/libgd/gd_color_map.h A ext/gd/libgd/gd_compositor.c A ext/gd/libgd/gd_compositor.h A ext/gd/libgd/gd_draw.c A ext/gd/libgd/gd_draw_blend.c A ext/gd/libgd/gd_draw_blend.h A ext/gd/libgd/gd_filename.c A ext/gd/libgd/gd_fixed.h A ext/gd/libgd/gd_gradient.c A ext/gd/libgd/gd_gradient.h A ext/gd/libgd/gd_heif.c A ext/gd/libgd/gd_jxl.c A ext/gd/libgd/gd_metadata.c A ext/gd/libgd/gd_nnquant.c A ext/gd/libgd/gd_nnquant.h A ext/gd/libgd/gd_path.c A ext/gd/libgd/gd_path.h A ext/gd/libgd/gd_path_arc.c A ext/gd/libgd/gd_path_arc.h A ext/gd/libgd/gd_path_dash.c A ext/gd/libgd/gd_path_dash.h A ext/gd/libgd/gd_path_matrix.c A ext/gd/libgd/gd_path_matrix.h A ext/gd/libgd/gd_path_outline.h A ext/gd/libgd/gd_path_stroke.c A ext/gd/libgd/gd_perceptual_diff.c A ext/gd/libgd/gd_qoi.c A ext/gd/libgd/gd_qoi.h A ext/gd/libgd/gd_readimage.c A ext/gd/libgd/gd_span_rle.c A ext/gd/libgd/gd_span_rle.h A ext/gd/libgd/gd_surface.c A ext/gd/libgd/gd_surface.h A ext/gd/libgd/gd_tiff.c A ext/gd/libgd/gd_uhdr.c A ext/gd/libgd/gd_vector2d.h A ext/gd/libgd/gd_vector2d_private.h A ext/gd/libgd/gd_version.c A ext/gd/libgd/gdfx.c A ext/gd/libgd/gdfx.h A ext/gd/tests/imagepng_filters.phpt M ext/gd/config.m4 M ext/gd/config.w32 M ext/gd/gd.c M ext/gd/libgd/bmp.h M ext/gd/libgd/gd.c M ext/gd/libgd/gd.h M ext/gd/libgd/gd2copypal.c M ext/gd/libgd/gd2time.c M ext/gd/libgd/gd2topng.c M ext/gd/libgd/gd_avif.c M ext/gd/libgd/gd_bmp.c M ext/gd/libgd/gd_color_match.c M ext/gd/libgd/gd_crop.c M ext/gd/libgd/gd_errors.h M ext/gd/libgd/gd_filter.c M ext/gd/libgd/gd_gd.c M ext/gd/libgd/gd_gd2.c M ext/gd/libgd/gd_gif_in.c M ext/gd/libgd/gd_gif_out.c M ext/gd/libgd/gd_intern.h M ext/gd/libgd/gd_interpolation.c M ext/gd/libgd/gd_io.c M ext/gd/libgd/gd_io.h M ext/gd/libgd/gd_io_dp.c M ext/gd/libgd/gd_io_file.c M ext/gd/libgd/gd_io_ss.c M ext/gd/libgd/gd_jpeg.c M ext/gd/libgd/gd_matrix.c M ext/gd/libgd/gd_png.c M ext/gd/libgd/gd_rotate.c M ext/gd/libgd/gd_security.c M ext/gd/libgd/gd_ss.c M ext/gd/libgd/gd_tga.c M ext/gd/libgd/gd_tga.h M ext/gd/libgd/gd_topal.c M ext/gd/libgd/gd_transform.c M ext/gd/libgd/gd_wbmp.c M ext/gd/libgd/gd_webp.c M ext/gd/libgd/gd_xbm.c M ext/gd/libgd/gdcache.c M ext/gd/libgd/gdcache.h M ext/gd/libgd/gddemo.c M ext/gd/libgd/gdfontg.c M ext/gd/libgd/gdfontg.h M ext/gd/libgd/gdfontl.c M ext/gd/libgd/gdfontl.h M ext/gd/libgd/gdfontmb.c M ext/gd/libgd/gdfontmb.h M ext/gd/libgd/gdfonts.c M ext/gd/libgd/gdfonts.h M ext/gd/libgd/gdfontt.c M ext/gd/libgd/gdfontt.h M ext/gd/libgd/gdft.c M ext/gd/libgd/gdhelpers.c M ext/gd/libgd/gdhelpers.h M ext/gd/libgd/gdkanji.c M ext/gd/libgd/gdparttopng.c M ext/gd/libgd/gdtables.c M ext/gd/libgd/gdtest.c M ext/gd/libgd/gdtestft.c M ext/gd/libgd/gdtopng.c M ext/gd/libgd/gdxpm.c M ext/gd/libgd/jisx0208.h M ext/gd/libgd/pngtogd.c M ext/gd/libgd/pngtogd2.c M ext/gd/libgd/testac.c M ext/gd/libgd/wbmp.c M ext/gd/libgd/wbmp.h M ext/gd/libgd/webpng.c M ext/gd/tests/bug43073.phpt M ext/gd/tests/bug48732-mb.phpt M ext/gd/tests/bug48732.phpt M ext/gd/tests/bug48801-mb.phpt M ext/gd/tests/bug48801.phpt M ext/gd/tests/bug53504.phpt M ext/gd/tests/bug65148.phpt M ext/gd/tests/bug73272.png M ext/gd/tests/bug73291.phpt M ext/gd/tests/createfromwbmp2_extern.phpt M ext/gd/tests/gd223.png M main/php_compat.h Diff exceeded maximum size.