diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_14.2.0.bb
similarity index 77%
rename from meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb
rename to meta/recipes-graphics/harfbuzz/harfbuzz_14.2.0.bb
index 95aa5ea531c..c130819f317 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_14.2.0.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \
                     "
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6f6db164359a2da5a84ef826615b448b33e6306067ad829d85d5b0bf936f1bb8"
+SRC_URI[sha256sum] = "94017020f96d025bb66ae91574e4cf334bcad23e8175a8a40565b3721bc2eaff"
 
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases
 
@@ -23,11 +23,15 @@ FULL_OPTIMIZATION = "-Os ${DEBUG_LEVELFLAG}"
 
 EXTRA_OEMESON = "-Dtests=disabled"
 
-PACKAGECONFIG ??= "cairo gobject glib icu freetype"
+PACKAGECONFIG ??= "cairo gobject subset glib icu freetype"
 
 # Optional harfbuzz libraries
 PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
 PACKAGECONFIG[gobject] = "-Dgobject=enabled,-Dgobject=disabled,glib-2.0-native glib-2.0"
+PACKAGECONFIG[gpu] = "-Dgpu=enabled,-Dgpu=disabled"
+PACKAGECONFIG[raster] = "-Draster=enabled,-Draster=disabled"
+PACKAGECONFIG[subset] = "-Dsubset=enabled,-Dsubset=disabled"
+PACKAGECONFIG[vector] = "-Dvector=enabled,-Dvector=disabled"
 
 # Unicode providers
 PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
@@ -37,6 +41,10 @@ PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu"
 PACKAGECONFIG[chafa] = "-Dchafa=enabled,-Dchafa=disabled,chafa"
 PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
 PACKAGECONFIG[graphite] = "-Dgraphite2=enabled,-Dgraphite2=disabled,graphite2"
+# Optional dependency in the raster library
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+# Optional dependency in the raster and vector libraries
+PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
 
 do_install:append() {
     # If no tools are installed due to PACKAGECONFIG then this directory might
