summaryrefslogtreecommitdiff
path: root/external/harfbuzz
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2017-08-13 23:03:43 +0200
committerMichael Stahl <mstahl@redhat.com>2017-08-15 13:02:17 +0200
commit5aab2900dfdc9f12adda378470149670a2a069df (patch)
tree62f9fb087a3771086e7af0e061e7f3bd2977b0ae /external/harfbuzz
parenta69850bc0bb8ff90d5676259c42c5e98a7f11150 (diff)
tdf#109142: Update to HarfBuzz 1.4.8
Should fix the Tibetan long U issue. Also reverts this commit as depending on auto-detection for a required feature is not a very good idea. The underlying issue is fixed upstream: commit 5985bed1764358a515c378c80bb60b4d35bad6b1 Author: jan Iversen <jani@libreoffice.org> Date: Mon Jun 12 14:51:42 2017 +0200 iOS, harfbuzz libcoretext not found changed --with-libcoretext from "yes" to "auto" for IOS and MACOSX which seems to be a misguided attemp to fix the build breakage introduced in: commit b3559e5c6ce036b1a4fe96c0ffc935e0c94a7b10 Author: jan Iversen <jani@libreoffice.org> Date: Sun Jun 11 19:35:53 2017 +0200 iOS, patch harfbuzz Add support for arm64 Also had to drop ubsan.patch as it no longer applies, hopefully it is no longer needed, otherwise it is always good idea to submit such patches upstream. Change-Id: I91643c542c0a5a00f36d5564052787eedef8c9cf Reviewed-on: https://gerrit.libreoffice.org/41124 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'external/harfbuzz')
-rw-r--r--external/harfbuzz/ExternalProject_harfbuzz.mk3
-rw-r--r--external/harfbuzz/UnpackedTarball_harfbuzz.mk1
-rw-r--r--external/harfbuzz/ubsan.patch64
3 files changed, 2 insertions, 66 deletions
diff --git a/external/harfbuzz/ExternalProject_harfbuzz.mk b/external/harfbuzz/ExternalProject_harfbuzz.mk
index 839bf49ff50d..adc3e4c1bf59 100644
--- a/external/harfbuzz/ExternalProject_harfbuzz.mk
+++ b/external/harfbuzz/ExternalProject_harfbuzz.mk
@@ -36,8 +36,9 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) :
--with-fontconfig=no \
--with-cairo=no \
--with-glib=no \
+ --with-ucdn=no \
--with-graphite2=yes \
- $(if $(filter IOS MACOSX,$(OS)),--with-coretext=auto) \
+ $(if $(filter IOS MACOSX,$(OS)),--with-coretext=yes) \
$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
--libdir=$(call gb_UnpackedTarball_get_dir,harfbuzz/src/.libs) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
index 888251f1187f..178627a32574 100644
--- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk
+++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
@@ -14,7 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,harfbuzz,$(HARFBUZZ_TARBALL),,harfb
$(eval $(call gb_UnpackedTarball_set_patchlevel,harfbuzz,0))
$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \
- external/harfbuzz/ubsan.patch \
external/harfbuzz/clang-cl.patch \
))
diff --git a/external/harfbuzz/ubsan.patch b/external/harfbuzz/ubsan.patch
deleted file mode 100644
index fde85cf81761..000000000000
--- a/external/harfbuzz/ubsan.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- src/hb-ot-font.cc
-+++ src/hb-ot-font.cc
-@@ -125,7 +125,7 @@
- if (glyph >= this->num_advances)
- glyph = this->num_advances - 1;
-
-- return this->table->longMetric[glyph].advance;
-+ return static_cast<OT::LongMetric const *>(this->table->longMetric)[glyph].advance;
- }
- };
-
-@@ -394,8 +394,9 @@
- }
-
- static void
--_hb_ot_font_destroy (hb_ot_font_t *ot_font)
-+_hb_ot_font_destroy (void *ot_font_)
- {
-+ hb_ot_font_t *ot_font = static_cast<hb_ot_font_t *>(ot_font_);
- ot_font->cmap.fini ();
- ot_font->h_metrics.fini ();
- ot_font->v_metrics.fini ();
---- src/hb-ot-map-private.hh
-+++ src/hb-ot-map-private.hh
-@@ -52,8 +52,11 @@
- unsigned int needs_fallback : 1;
- unsigned int auto_zwj : 1;
-
-- static int cmp (const feature_map_t *a, const feature_map_t *b)
-- { return a->tag < b->tag ? -1 : a->tag > b->tag ? 1 : 0; }
-+ static int cmp (void const * a_, void const * b_) {
-+ feature_map_t const * a = static_cast<feature_map_t const *>(a_);
-+ feature_map_t const * b = static_cast<feature_map_t const *>(b_);
-+ return a->tag < b->tag ? -1 : a->tag > b->tag ? 1 : 0;
-+ }
- };
-
- struct lookup_map_t {
---- src/hb-ot-tag.cc
-+++ src/hb-ot-tag.cc
-@@ -778,9 +778,11 @@
- };
-
- static int
--lang_compare_first_component (const char *a,
-- const char *b)
-+lang_compare_first_component (void const * a_,
-+ void const * b_)
- {
-+ char const * a = static_cast<char const *>(a_);
-+ char const * b = static_cast<char const *>(b_);
- unsigned int da, db;
- const char *p;
-
---- src/hb-private.hh
-+++ src/hb-private.hh
-@@ -466,6 +466,7 @@
- template <typename T>
- inline const Type *bsearch (T *key) const
- {
-+ if (len == 0) return NULL;
- return (const Type *) ::bsearch (key, array, len, sizeof (Type), (hb_compare_func_t) Type::cmp);
- }
-