Roll third_party/harfbuzz/src/ a243dcb5c..e6741e220 (406 commits) https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/a243dcb5c447..e6741e220530 [1] introduces a relationship between HB_NO_DRAW and HB_NO_OT_FONT_CFF in hb-config.hh. PDFium wants HB_NO_DRAW but still needs CFF support for subsetting. Use the same temporary override as https://crrev.com/c/7799984. Created with: roll-dep third_party/harfbuzz/src [1] https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+/bd645e5573a435e7cd4dfbce0c0a6f9334b8cfa1 Bug: 507839557 Change-Id: I2a12d8ae729c9924b694eecb51c9eb3db263afbb Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/147054 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Andy Phan <andyphan@chromium.org>
diff --git a/DEPS b/DEPS index 127b036..deb91a0 100644 --- a/DEPS +++ b/DEPS
@@ -154,7 +154,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling HarfBuzz # and whatever else without interference from each other. - 'harfbuzz_revision': 'a243dcb5c4479eebf91caa84daa51cfdd3d608bf', + 'harfbuzz_revision': 'e6741e2205309752839da60ff075b7fa2e7cddd3', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling highway # and whatever else without interference from each other.
diff --git a/third_party/harfbuzz/BUILD.gn b/third_party/harfbuzz/BUILD.gn index c0a5647..a7aea21 100644 --- a/third_party/harfbuzz/BUILD.gn +++ b/third_party/harfbuzz/BUILD.gn
@@ -25,7 +25,10 @@ } } else { config("harfbuzz_config") { - include_dirs = [ "src/src" ] + include_dirs = [ + "src/src", + ".", + ] } config("harfbuzz_warnings") { @@ -405,6 +408,11 @@ # We're not using HarfBuzz' drawing functions or debug tools in this build. "HB_NO_DRAW", + # Workaround: We want HB_NO_DRAW but we still need CFF support for subsetting. + # TODO(crbug.com/507839557): Need to remove config override workaround after + # https://github.com/harfbuzz/harfbuzz/issues/5955 is resolved. + "HB_CONFIG_OVERRIDE_LAST_H=\"pdfium-config-override.h\"", + # Don't ship experimental extensions. "HB_NO_BORING_EXPANSION",
diff --git a/third_party/harfbuzz/README.pdfium b/third_party/harfbuzz/README.pdfium index 4898ee4..a44e022 100644 --- a/third_party/harfbuzz/README.pdfium +++ b/third_party/harfbuzz/README.pdfium
@@ -1,10 +1,10 @@ Name: harfbuzz Short Name: harfbuzz URL: http://harfbuzz.org -Version: 12.3.0-20 -CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:12.3.0 -Date: 2026-01-08 -Revision: fa2908bf16d2ccd6623f4d575455fea72a1a722b +Version: 14.2.0-11 +CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:14.2.0 +Date: 2026-04-29 +Revision: e6741e2205309752839da60ff075b7fa2e7cddd3 Update Mechanism: Manual Security Critical: yes Shipped: yes
diff --git a/third_party/harfbuzz/pdfium-config-override.h b/third_party/harfbuzz/pdfium-config-override.h new file mode 100644 index 0000000..5dd9c33 --- /dev/null +++ b/third_party/harfbuzz/pdfium-config-override.h
@@ -0,0 +1,19 @@ +/* Copyright 2026 The PDFium Authors + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef PDFIUM_CONFIG_OVERRIDE_H +#define PDFIUM_CONFIG_OVERRIDE_H + +/* HarfBuzz 14.2.0 introduced a relationship between HB_NO_DRAW and + * HB_NO_OT_FONT_CFF in hb-config.hh. PDFium wants HB_NO_DRAW to reduce binary + * size, but still needs CFF support for variable font subsetting. + * This override unsets HB_NO_OT_FONT_CFF after hb-config.hh has set it. + * TODO(crbug.com/507839557): Need to remove config override workaround after + * https://github.com/harfbuzz/harfbuzz/issues/5955 is resolved. + */ +#undef HB_NO_OT_FONT_CFF + +#endif /* PDFIUM_CONFIG_OVERRIDE_H */ +