File chromium-older-harfbuzz.patch of Package chromium.openSUSE_Backports_SLE-15-SP3_Update

From 9e00e702633c47c590a869bc66b5c2ceec09da50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= <drott@chromium.org>
Date: Tue, 28 Sep 2021 15:31:50 +0000
Subject: [PATCH] Roll src/third_party/harfbuzz-ng/src/ 6602cbb70..a52c6df38
 (80 commits)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes an issue with subsetting of the DFKai font on Windows.

https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/6602cbb7062b..a52c6df38a38

$ git log 6602cbb70..a52c6df38 --date=short --no-merges --format='%ad %ae %s'
2021-09-27 grieger [subset] Fix bug in composite operation counting.
2021-09-24 grieger [repacker] fix bug in subgraph isolation.
2021-09-23 behdad [getn-hb-version.py] Open old output in UTF-8 mode as well
2021-09-22 grieger [repacker] s/0/HB_TAG_NONE
2021-09-10 grieger [repacker] handle a couple of duplication edge cases.
2021-09-09 grieger [repacker] reduce the bits used by order by 2 to give more bits to distance.
2021-09-09 grieger [repacker] add repacker isolation test on real font.
2021-09-09 grieger [repacker] add a couple more complex isolation tests.
2021-09-09 grieger [repacker] correctly update incoming_edges in duplicate.
2021-09-08 grieger [repacker] default space to 0.
2021-09-08 grieger [repacker] put each 32 bit subgraph into it's own packing space.
2021-09-08 grieger [repacker] Add repacker test for subgraph isolation.
2021-09-08 grieger [repacker] recursively duplicate nodes during isolation.
2021-09-08 grieger [repacker] do extension subtable isolation before starting resolution attempts.
2021-09-07 grieger [repacker] extract overflows processing into its own method.
2021-09-07 grieger [repacker] begin implementing the ability to isolate extension subtables.
2021-09-07 grieger Add a debug message when offset overflow resolution fails.
2021-07-30 bungeman [mutex] Add hb_mutex_t std::mutex implementation
2021-09-22 behdad [atomic] Cannot fail anymore
2021-09-20 qxliu [subset] subset MATH table
2021-09-22 grieger [subset] Fix subset_offset_array adding unused space to serializer.
2021-09-12 qxliu [subset] fix find_duplicate_features
2021-09-19 qxliu [subset] add closure_glyphs () method for MATH table
2021-09-21 behdad [set-digest] Use using instead of typedef
2021-09-20 simon Add support for Pwo Karen / Ason Chin medial la
2021-09-20 behdad [khmer] Towards separating Khmer from Indic table
2021-09-20 behdad [myanmar] Towards separating Myanmar from Indic table
2021-09-20 khaled Make the file UTF-8 again
2021-09-19 behdad Add stub HBUINT15
2021-09-19 behdad Rename HBGlyphID to HBGlyphID16
2021-09-17 grieger [repacker] fix heap use after free in repacker.
2021-09-18 ActuallyaDeviloper Make the code able to compile with MSVC++ from Visual Studio 2015 (Version 14.0.25431.01, Update 3) sucessfully again.
2021-09-18 khaled [doc] Add missing version tags
2021-09-17 khaled 3.0.0
2021-09-17 behdad Centralize math include
2021-09-15 khaled [ci] meson 0.55.0 didn’t work for harfbuzz
2021-09-15 khaled [ci] Ragel subproject requires meson 0.55.0
2021-09-15 khaled [ci] Build ragel on the Linux CI job
2021-09-15 khaled [meson] Add ragel_subproject option
2021-09-16 grieger [subset] restore hb_subset_input_unicode/glyph_set () to documentation.
2021-09-16 grieger [subset] In preperation for 3.0.0 release remove legacy subsetting api methods.
2021-09-15 nfeodonit CMake: Detect pthread with module FindThread
2021-09-15 behdad [style] Change tag type to hb_style_tag_t
2021-09-14 corbett.dav [USE] Send Khitan Small Script and Yezidi to USE
2021-09-14 khaled [meson] Add ragel subproject
2021-09-14 khaled [ragel] Regenerate state machine files with 6.10
2021-09-14 khaled [meson] Require ragel 6.10
2021-09-14 corbett.dav [Unicode 14] Update the Arabic joining script list
2021-09-14 corbett.dav [Unicode 14] Add tests
2021-09-14 corbett.dav [Unicode 14] Send all the new scripts to USE
2021-09-14 corbett.dav [Unicode 14] Update the USE table
2021-09-14 corbett.dav [Unicode 14] Update the emoji table
2021-09-14 corbett.dav [Unicode 14] Update the vowel constraint table
2021-09-14 corbett.dav [Unicode 14] Update the Indic table
2021-09-14 corbett.dav [Unicode 14] Update the Arabic table
2021-09-14 corbett.dav [Unicode 14] Update the script direction list
2021-09-14 corbett.dav [Unicode 14] Update the UCD table
2021-09-14 corbett.dav [Unicode 14] Add new `hb_script_t` values
2021-09-14 behdad [util] Fix leak of an hb_font_t
2021-09-14 behdad [util/shape-consumer] Simplify font tracking
2021-09-14 behdad Add fallback atexit implementation using template descrutors
2021-09-14 behdad [style] Fix another float conversion warning
2021-09-14 behdad [ot-shape] Enabled two more features: 'Harf' and 'Buzz'
2021-09-14 behdad Call atexit() via hb_atexit()
2021-09-14 behdad [style] Fix float conversion warning
2021-09-13 behdad [style] Change private slant tag
2021-09-11 khaled [style] Try harder to fix MSVC build
2021-09-11 khaled [style] Try to fix MSVC build
2021-09-11 khaled [style] Fix documentation
2021-09-11 khaled [style] Prepare for release
2021-09-11 khaled Fix build with -Dexperimental_api=true
2021-09-09 behdad [style] Add HB_STYLE_TAG_SLANT_RATIO
2021-09-09 behdad [style] Rename HB_STYLE_TAG_SLANT to HB_STYLE_TAG_SLANT_ANGLE
2021-09-09 behdad [style] Fall back to GPOS 'size' feature for optical size in style API
2021-09-02 qxliu [subset] fox for (Chain)ContextFormat3: subset lookupRecord
2021-09-08 khaled [subset] Improve alignment of --help-all message
2021-09-07 khaled [docs] Fix subset documentation
2021-09-07 khaled [ci] Use different executer for win64 jobs
2021-09-07 khaled Typo
2021-09-07 khaled 2.9.1

Created with:
  roll-dep src/third_party/harfbuzz-ng/src
R=bashi@chromium.org,behdad@chromium.org,bungeman@chromium.org,drott@chromium.org,jshin@chromium.org,kojii@chromium.org

Fixed: 1252284
Change-Id: Ie2ff99da5e41ca97b8881e1bd3e158881f4d5a8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3190252
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#925776}
---
 DEPS                                             | 2 +-
 components/paint_preview/common/subset_font.cc   | 2 +-
 third_party/harfbuzz-ng/README.chromium          | 8 ++++----
 third_party/harfbuzz-ng/fuzz/hb_subset_fuzzer.cc | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
index 45daea7b1529d..43a448ec10191 100644
--- a/components/paint_preview/common/subset_font.cc
+++ b/components/paint_preview/common/subset_font.cc
@@ -79,7 +79,11 @@
   // Retain all variation information for OpenType variation fonts. See:
   // https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview
   hb_set_t* skip_subset =
+#if HB_VERSION_ATLEAST(3,0,0)
+      hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG);
+#else
       hb_subset_input_no_subset_tables_set(input.get());  // Owned by |input|.
+#endif
   hb_set_add(skip_subset, HB_TAG('a', 'v', 'a', 'r'));
   hb_set_add(skip_subset, HB_TAG('c', 'v', 'a', 'r'));
   hb_set_add(skip_subset, HB_TAG('f', 'v', 'a', 'r'));
diff --git a/third_party/harfbuzz-ng/README.chromium b/third_party/harfbuzz-ng/README.chromium
index 030fcb4154557..e1eddcd49ff0d 100644
--- a/third_party/harfbuzz-ng/README.chromium
+++ b/third_party/harfbuzz-ng/README.chromium
@@ -1,10 +1,10 @@
 Name: harfbuzz-ng
 Short Name: harfbuzz-ng
 URL: http://harfbuzz.org
-Version: 2.9.0-122
-CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:2.9.0
-Date: 20210907
-Revision: 6602cbb7062bf92e6824ae6bc0e5d3aad4b85939
+Version: 3.0.0-33
+CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:3.0.0
+Date: 20210928
+Revision: a52c6df38a38c4e36ff991dfb4b7d92e48a44553
 Security Critical: yes
 License: MIT
 License File: src/COPYING
diff --git a/third_party/harfbuzz-ng/fuzz/hb_subset_fuzzer.cc b/third_party/harfbuzz-ng/fuzz/hb_subset_fuzzer.cc
index 7631ccf9eb07e..d0df26572e6a3 100644
--- a/third_party/harfbuzz-ng/fuzz/hb_subset_fuzzer.cc
+++ b/third_party/harfbuzz-ng/fuzz/hb_subset_fuzzer.cc
@@ -32,11 +32,23 @@ void TrySubset(hb_face_t* face,
   hb_set_t* codepoints = hb_subset_input_unicode_set(input.get());
 
   if (!drop_layout) {
+#if HB_VERSION_ATLEAST(3,0,0)
+    hb_set_del(hb_subset_input_set(input.get(), HB_SUBSET_SETS_DROP_TABLE_TAG),
+#else
     hb_set_del(hb_subset_input_drop_tables_set(input.get()),
+#endif
                HB_TAG('G', 'S', 'U', 'B'));
+#if HB_VERSION_ATLEAST(3,0,0)
+    hb_set_del(hb_subset_input_set(input.get(), HB_SUBSET_SETS_DROP_TABLE_TAG),
+#else
     hb_set_del(hb_subset_input_drop_tables_set(input.get()),
+#endif
                HB_TAG('G', 'P', 'O', 'S'));
+#if HB_VERSION_ATLEAST(3,0,0)
+    hb_set_del(hb_subset_input_set(input.get(), HB_SUBSET_SETS_DROP_TABLE_TAG),
+#else
     hb_set_del(hb_subset_input_drop_tables_set(input.get()),
+#endif
                HB_TAG('G', 'D', 'E', 'F'));
   }
openSUSE Build Service is sponsored by