.circleci/config.yml | 2 +- appveyor.yml | 6 +++--- src/hb-ot-shape-fallback.cc | 9 ++++++++- test/api/test-multithread.c | 12 ++++++++---- 4 files changed, 20 insertions(+), 9 deletions(-)
New commits: commit c763b9440189b541316054ba4f623e728b5aae77 Author: Behdad Esfahbod <[email protected]> Date: Fri Sep 28 20:53:07 2018 -0400 [test-multithread] Disable FreeType funcs diff --git a/test/api/test-multithread.c b/test/api/test-multithread.c index 63dd8d7e..116260bd 100644 --- a/test/api/test-multithread.c +++ b/test/api/test-multithread.c @@ -153,8 +153,12 @@ main (int argc, char **argv) fill_the_buffer (ref_buffer); test_body (); - hb_ft_font_set_funcs (font); - test_body (); + + /* hb-font backed by FreeType functions can only be used from + * one thread at a time, because that's FT_Face's MT guarantee. + * So, disable this, even though it works "most of the time". */ + //hb_ft_font_set_funcs (font); + //test_body (); hb_buffer_destroy (ref_buffer); commit 9b0b40b3c1ac8155c80ed5dc976228f4d3ec7e1f Author: Behdad Esfahbod <[email protected]> Date: Fri Sep 28 11:16:18 2018 -0400 Fix fallback kerning to check for current glyph's mask diff --git a/src/hb-ot-shape-fallback.cc b/src/hb-ot-shape-fallback.cc index 5f43023b..5fec9d87 100644 --- a/src/hb-ot-shape-fallback.cc +++ b/src/hb-ot-shape-fallback.cc @@ -444,7 +444,8 @@ _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan, if (!plan->has_kern) return; OT::hb_ot_apply_context_t c (1, font, buffer); - c.set_lookup_mask (plan->kern_mask); + hb_mask_t kern_mask = plan->kern_mask; + c.set_lookup_mask (kern_mask); c.set_lookup_props (OT::LookupFlag::IgnoreMarks); OT::hb_ot_apply_context_t::skipping_iterator_t &skippy_iter = c.iter_input; skippy_iter.init (&c); @@ -454,6 +455,12 @@ _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan, hb_glyph_position_t *pos = buffer->pos; for (unsigned int idx = 0; idx < count;) { + if (!(buffer->cur().mask & kern_mask)) + { + idx++; + continue; + } + skippy_iter.reset (idx, 1); if (!skippy_iter.next ()) { commit 909a07b587884e9cd1d92ba9f3d5b96d8774c67a Author: Ebrahim Byagowi <[email protected]> Date: Sat Sep 29 03:10:13 2018 +0330 [circleci] Improve clang-everything bot log, more to come #1196 diff --git a/.circleci/config.yml b/.circleci/config.yml index c3271599..67caff06 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,7 +91,7 @@ jobs: - run: apt update || true - run: apt install -y clang lld binutils libtool autoconf automake make pkg-config gtk-doc-tools ragel libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python python-pip - run: pip install fonttools - - run: CFLAGS="-Weverything -Wno-padded -Wno-cast-qual -Wno-sign-conversion -Wno-conversion" CXXFLAGS="-Weverything -Wno-old-style-cast -Wno-documentation -Wno-conversion -Wno-sign-conversion -Wno-c++98-compat -Wno-extra-semi -Wno-c++98-compat-pedantic -Wno-documentation-unknown-command -Wno-padded -Wno-shift-sign-overflow -Wno-missing-field-initializers -Wno-double-promotion -Wno-reserved-id-macro -Wno-cast-qual -Wno-unused-parameter -Wno-comma -Wno-shadow -Wno-used-but-marked-unused -Wno-format-pedantic -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion -Wno-covered-switch-default -Wno-conditional-uninitialized -Wno-unreachable-code -Wno-unused-macros -Wno-float-equal -Wno-missing-prototypes" CC=clang CXX=clang++ ./autogen.sh --with-freetype --with-glib --with-cairo --with-icu --with-graphite2 + - run: CFLAGS="-Weverything -Wno-padded -Wno-cast-qual -Wno-sign-conversion -Wno-conversion -Wno-documentation -Wno-documentation-unknown-command" CXXFLAGS="-Weverything -Wno-old-style-cast -Wno-documentation -Wno-documentation-unknown-command -Wno-conversion -Wno-sign-conversion -Wno-c++98-compat -Wno-extra-semi -Wno-c++98-compat-pedantic -Wno-padded -Wno-shift-sign-overflow -Wno-missing-field-initializers -Wno-double-promotion -Wno-reserved-id-macro -Wno-cast-qual -Wno-unused-parameter -Wno-comma -Wno-shadow -Wno-used-but-marked-unused -Wno-format-pedantic -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion -Wno-covered-switch-default -Wno-conditional-uninitialized -Wno-unreachable-code -Wno-unused-macros -Wno-float-equal -Wno-missing-prototypes" CC=clang CXX=clang++ ./autogen.sh --with-freetype --with-glib --with-cairo --with-icu --with-graphite2 - run: make - run: make check || .ci/fail.sh commit 9be8062b4d241f02bb96df436e98f10f08bda4f8 Author: Ebrahim Byagowi <[email protected]> Date: Sat Sep 29 02:11:05 2018 +0330 [ci] Another try on mingw bot diff --git a/appveyor.yml b/appveyor.yml index 30bcb0a2..f10078fd 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,7 +29,7 @@ environment: MSYS2_ARCH: i686 install: - - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman -Sy && pacman -S pacman-mirrors && pacman --force -Syu --noconfirm"' + - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --force --noconfirm -Sy && pacman --noconfirm --force -S pacman-mirrors && pacman --force -Syu --noconfirm"' - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel" build_script: @@ -44,8 +44,8 @@ build_script: - 'if "%compiler%"=="msvc" msbuild harfbuzz.sln /p:Configuration=%configuration% /p:Platform=%platform%' - 'if "%compiler%"=="msvc" if not "%platform%"=="ARM" ctest --output-on-failure -C %configuration%' - - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyu mingw-w64-$MSYS2_ARCH-gcc"' - - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S --needed mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config,python2}"' + - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm --force -Syyu mingw-w64-$MSYS2_ARCH-gcc"' + - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm --force -S --needed mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config,python2}"' - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "curl https://raw.githubusercontent.com/mirror/mingw-w64/023eb04c396d4e8d8fcf604cfababc53dae13398/mingw-w64-headers/include/dwrite_1.h > %MINGW_PREFIX%/%MINGW_CHOST%/include/dwrite_1.h"' - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --with-directwrite --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || .ci/fail.sh"' commit d4d261a97723b27fb9ad9a69b8dc7fd8c560a98b Author: Ebrahim Byagowi <[email protected]> Date: Sat Sep 29 01:57:50 2018 +0330 [ci] Another try on fixing mingw bots Per https://github.com/Alexpux/MSYS2-packages/issues/163#issuecomment-73555971 diff --git a/appveyor.yml b/appveyor.yml index 356afce6..30bcb0a2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,7 +29,7 @@ environment: MSYS2_ARCH: i686 install: - - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --force -Syu --noconfirm"' + - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman -Sy && pacman -S pacman-mirrors && pacman --force -Syu --noconfirm"' - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel" build_script: commit 7b68edf2abc7680199360d52ed283cfc4f49b7d5 Author: Ebrahim Byagowi <[email protected]> Date: Fri Sep 28 20:53:48 2018 +0330 [tests] Don't try to get glyph names on failures As it may cause a race unrelated to the issue actually happened diff --git a/test/api/test-multithread.c b/test/api/test-multithread.c index a75feffa..63dd8d7e 100644 --- a/test/api/test-multithread.c +++ b/test/api/test-multithread.c @@ -69,13 +69,13 @@ validity_check (hb_buffer_t *buffer) { hb_buffer_serialize_glyphs (buffer, 0, hb_buffer_get_length (ref_buffer), out, sizeof (out), NULL, font, HB_BUFFER_SERIALIZE_FORMAT_TEXT, - HB_BUFFER_SERIALIZE_FLAG_DEFAULT); + HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES); fprintf (stderr, "Actual: %s\n", out); hb_buffer_serialize_glyphs (ref_buffer, 0, hb_buffer_get_length (ref_buffer), out, sizeof (out), NULL, font, HB_BUFFER_SERIALIZE_FORMAT_TEXT, - HB_BUFFER_SERIALIZE_FLAG_DEFAULT); + HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES); fprintf (stderr, "Expected: %s\n", out); exit (1); commit d289d6381864649504abfb1196ac20a1d4664a4e Author: Ebrahim Byagowi <[email protected]> Date: Fri Sep 28 20:47:21 2018 +0330 [ci] Trying to fix mingw bot As https://github.com/Alexpux/MSYS2-packages/issues/702 diff --git a/appveyor.yml b/appveyor.yml index cc4acec1..356afce6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -29,7 +29,7 @@ environment: MSYS2_ARCH: i686 install: - - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman -Syu --noconfirm"' + - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --force -Syu --noconfirm"' - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel" build_script: _______________________________________________ HarfBuzz mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/harfbuzz
