diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2013-08-17 14:47:55 +0200 |
---|---|---|
committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-08-19 09:13:45 +0000 |
commit | 3bd7d5520fc15ee0e0cf930e73041ce6a18cb619 (patch) | |
tree | 8c13702e7c0be27aa6c298b9ff3bbd9bb0b41b90 /harfbuzz | |
parent | acd9f66f2834c16650d37109650ed47e491a0241 (diff) |
Update internal HarfBuzz to 0.9.19
Change-Id: I520832508a8d419e394817a0e25949071928f612
Reviewed-on: https://gerrit.libreoffice.org/5478
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'harfbuzz')
-rw-r--r-- | harfbuzz/ExternalPackage_harfbuzz.mk | 5 | ||||
-rw-r--r-- | harfbuzz/ExternalProject_harfbuzz.mk | 6 | ||||
-rw-r--r-- | harfbuzz/UnpackedTarball_harfbuzz.mk | 5 | ||||
-rw-r--r-- | harfbuzz/harfbuzz-0.9.16-winxp.patch.1 | 137 | ||||
-rw-r--r-- | harfbuzz/harfbuzz.configure.patch.1 | 108 |
5 files changed, 9 insertions, 252 deletions
diff --git a/harfbuzz/ExternalPackage_harfbuzz.mk b/harfbuzz/ExternalPackage_harfbuzz.mk index cb3339d21661..e6420aaec9c2 100644 --- a/harfbuzz/ExternalPackage_harfbuzz.mk +++ b/harfbuzz/ExternalPackage_harfbuzz.mk @@ -11,7 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,harfbuzz,harfbuzz)) $(eval $(call gb_ExternalPackage_use_external_project,harfbuzz,harfbuzz)) -$(eval $(call gb_ExternalPackage_add_file,harfbuzz,lib/libharfbuzz.a,src/.libs/libharfbuzz.a)) +$(eval $(call gb_ExternalPackage_add_files,harfbuzz,lib,\ + src/.libs/libharfbuzz.a \ + src/.libs/libharfbuzz-icu.a \ +)) # vim: set noet sw=4 ts=4: diff --git a/harfbuzz/ExternalProject_harfbuzz.mk b/harfbuzz/ExternalProject_harfbuzz.mk index 007e3dd0fc59..f49553d4b6c8 100644 --- a/harfbuzz/ExternalProject_harfbuzz.mk +++ b/harfbuzz/ExternalProject_harfbuzz.mk @@ -25,8 +25,12 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) : --enable-static \ --disable-shared \ --with-pic \ + --with-icu=yes \ + --with-freetype=no \ + --with-cairo=no \ + --with-glib=no \ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ - && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE) libharfbuzz.la) \ + && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE)) \ ) # vim: set noet sw=4 ts=4: diff --git a/harfbuzz/UnpackedTarball_harfbuzz.mk b/harfbuzz/UnpackedTarball_harfbuzz.mk index 9c6d81f592eb..0bda2a186e2a 100644 --- a/harfbuzz/UnpackedTarball_harfbuzz.mk +++ b/harfbuzz/UnpackedTarball_harfbuzz.mk @@ -11,9 +11,4 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,harfbuzz)) $(eval $(call gb_UnpackedTarball_set_tarball,harfbuzz,$(HARFBUZZ_TARBALL),,harfbuzz)) -$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \ - harfbuzz/harfbuzz.configure.patch.1 \ - harfbuzz/harfbuzz-0.9.16-winxp.patch.1 \ -)) - # vim: set noet sw=4 ts=4: diff --git a/harfbuzz/harfbuzz-0.9.16-winxp.patch.1 b/harfbuzz/harfbuzz-0.9.16-winxp.patch.1 deleted file mode 100644 index 3787136039bb..000000000000 --- a/harfbuzz/harfbuzz-0.9.16-winxp.patch.1 +++ /dev/null @@ -1,137 +0,0 @@ ---- harfbuzz-0.9.16/src/hb-uniscribe.cc 2013-04-19 03:36:12.000000000 +0200 -+++ harfbuzz-0.9.16/src/hb-uniscribe.cc 2013-05-08 17:13:37.874217344 +0200 -@@ -44,6 +44,10 @@ - #endif - - -+typedef HRESULT WINAPI (*SIOT)(const WCHAR*,int,int,const SCRIPT_CONTROL*,const SCRIPT_STATE*,SCRIPT_ITEM*,OPENTYPE_TAG*,int*); -+typedef HRESULT WINAPI (*SSOT)(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,int,int,WORD*,SCRIPT_CHARPROP*,WORD*,SCRIPT_GLYPHPROP*,int*); -+typedef HRESULT WINAPI (*SPOT)(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,const WORD*,const SCRIPT_CHARPROP*,int,const WORD*,const SCRIPT_GLYPHPROP*,int,int*,GOFFSET*,ABC*); -+ - /* - DWORD GetFontData( - __in HDC hdc, -@@ -240,6 +244,11 @@ - hb_face_t *face = font->face; - hb_uniscribe_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face); - hb_uniscribe_shaper_font_data_t *font_data = HB_SHAPER_DATA_GET (font); -+ SIOT siot = NULL; -+ SSOT ssot = NULL; -+ SPOT spot = NULL; -+ HMODULE hinstLib = GetModuleHandle("usp10.dll"); -+ - - #define FAIL(...) \ - HB_STMT_START { \ -@@ -249,6 +258,15 @@ - - HRESULT hr; - -+ if (hinstLib) -+ { -+ siot = (SIOT)GetProcAddress(hinstLib, "ScriptItemizeOpenType"); -+ -+ ssot = (SSOT)GetProcAddress(hinstLib, "ScriptShapeOpenType"); -+ -+ spot = (SPOT)GetProcAddress(hinstLib, "ScriptPlaceOpenType"); -+ } -+ - retry: - - unsigned int scratch_size; -@@ -291,6 +309,7 @@ - - ALLOCATE_ARRAY (WORD, glyphs, glyphs_size); - ALLOCATE_ARRAY (SCRIPT_GLYPHPROP, glyph_props, glyphs_size); -+ ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size); - ALLOCATE_ARRAY (int, advances, glyphs_size); - ALLOCATE_ARRAY (GOFFSET, offsets, glyphs_size); - ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size); -@@ -312,7 +331,8 @@ - bidi_state.uBidiLevel = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1; - bidi_state.fOverrideDirection = 1; - -- hr = ScriptItemizeOpenType (wchars, -+ if (siot && ssot && spot) { -+ hr = siot (wchars, - chars_len, - MAX_ITEMS, - &bidi_control, -@@ -320,6 +340,16 @@ - items, - script_tags, - &item_count); -+ } -+ else { -+ hr = ScriptItemize(wchars, -+ chars_len, -+ MAX_ITEMS, -+ &bidi_control, -+ &bidi_state, -+ items, -+ &item_count); -+ } - if (unlikely (FAILED (hr))) - FAIL ("ScriptItemizeOpenType() failed: 0x%08xL", hr); - -@@ -344,7 +374,8 @@ - unsigned int item_chars_len = items[i + 1].iCharPos - chars_offset; - - retry_shape: -- hr = ScriptShapeOpenType (font_data->hdc, -+ if (siot && ssot && spot) { -+ hr = ssot (font_data->hdc, - &font_data->script_cache, - &items[i].a, - script_tags[i], -@@ -361,6 +392,20 @@ - glyphs + glyphs_offset, - glyph_props + glyphs_offset, - (int *) &glyphs_len); -+ } -+ else { -+ hr = ScriptShape (font_data->hdc, -+ &font_data->script_cache, -+ wchars + chars_offset, -+ item_chars_len, -+ glyphs_size - glyphs_offset, -+ &items[i].a, -+ /* out */ -+ glyphs + glyphs_offset, -+ log_clusters + chars_offset, -+ vis_attr + glyphs_offset, -+ (int *) &glyphs_len); -+ } - - if (unlikely (items[i].a.fNoGlyphIndex)) - FAIL ("ScriptShapeOpenType() set fNoGlyphIndex"); -@@ -386,7 +431,8 @@ - for (unsigned int j = chars_offset; j < chars_offset + item_chars_len; j++) - log_clusters[j] += glyphs_offset; - -- hr = ScriptPlaceOpenType (font_data->hdc, -+ if (siot && ssot && spot) { -+ hr = spot (font_data->hdc, - &font_data->script_cache, - &items[i].a, - script_tags[i], -@@ -405,6 +451,19 @@ - advances + glyphs_offset, - offsets + glyphs_offset, - NULL); -+ } -+ else { -+ hr = ScriptPlace (font_data->hdc, -+ &font_data->script_cache, -+ glyphs + glyphs_offset, -+ glyphs_len, -+ vis_attr + glyphs_offset, -+ &items[i].a, -+ /* out */ -+ advances + glyphs_offset, -+ offsets + glyphs_offset, -+ NULL); -+ } - if (unlikely (FAILED (hr))) - FAIL ("ScriptPlaceOpenType() failed: 0x%08xL", hr); - diff --git a/harfbuzz/harfbuzz.configure.patch.1 b/harfbuzz/harfbuzz.configure.patch.1 deleted file mode 100644 index c66e2b74d60a..000000000000 --- a/harfbuzz/harfbuzz.configure.patch.1 +++ /dev/null @@ -1,108 +0,0 @@ -diff -ur harfbuzz.org/configure harfbuzz/configure ---- harfbuzz.org/configure 2013-04-22 20:45:32.738213297 +0200 -+++ harfbuzz/configure 2013-04-22 20:46:56.334209801 +0200 -@@ -16813,7 +16885,7 @@ - - - --have_hb_old=true -+have_hb_old=false - if $have_hb_old; then - - $as_echo "#define HAVE_HB_OLD 1" >>confdefs.h -@@ -16829,7 +16901,7 @@ - - - --have_ucdn=true -+have_ucdn=false - if $have_ucdn; then - - $as_echo "#define HAVE_UCDN 1" >>confdefs.h -@@ -16914,7 +16986,7 @@ - GLIB_LIBS=$pkg_cv_GLIB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_glib=true -+ have_glib=false - fi - if $have_glib; then - -@@ -16999,7 +17071,7 @@ - GOBJECT_LIBS=$pkg_cv_GOBJECT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_gobject=true -+ have_gobject=false - fi - if $have_gobject; then - -@@ -17087,7 +17159,7 @@ - CAIRO_LIBS=$pkg_cv_CAIRO_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_cairo=true -+ have_cairo=false - fi - if $have_cairo; then - -@@ -17172,7 +17244,7 @@ - CAIRO_FT_LIBS=$pkg_cv_CAIRO_FT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_cairo_ft=true -+ have_cairo_ft=false - fi - if $have_cairo_ft; then - -@@ -17457,7 +17529,7 @@ - ICU_LE_LIBS=$pkg_cv_ICU_LE_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_icu_le=true -+ have_icu_le=false - fi - if test "$have_icu_le" != "true"; then - if test -n "$ac_tool_prefix"; then -@@ -17555,12 +17555,12 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICU_LE by using icu-config fallback" >&5 - $as_echo_n "checking for ICU_LE by using icu-config fallback... " >&6; } - if test "$ICU_CONFIG" != "no" && "$ICU_CONFIG" --version >/dev/null; then -- have_icu_le=true -+ have_icu_le=false - # We don't use --cflags as this gives us a lot of things that we don't - # necessarily want, like debugging and optimization flags - # See man (1) icu-config for more info. - ICU_LE_CFLAGS=`$ICU_CONFIG --cppflags` -- ICU_LE_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly --ldflags-layout` -+ ICU_LE_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly --ldflags-layout | tr "\n" " "` - - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -@@ -17654,7 +17654,7 @@ - GRAPHITE2_LIBS=$pkg_cv_GRAPHITE2_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_graphite=true -+ have_graphite=false - fi - if $have_graphite; then - -@@ -17740,7 +17812,7 @@ - FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } -- have_freetype=true -+ have_freetype=false - fi - if $have_freetype; then - -@@ -17825,7 +17897,7 @@ - ac_fn_c_check_type "$LINENO" "CTFontRef" "ac_cv_type_CTFontRef" "#include <ApplicationServices/ApplicationServices.h> - " - if test "x$ac_cv_type_CTFontRef" = xyes; then : -- have_coretext=true -+ have_coretext=false - else - have_coretext=false - fi |