[HarfBuzz] harfbuzz: Branch 'master' - 7 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Sat Sep 29 00:53:31 UTC 2018
.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 <behdad at behdad.org>
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 <behdad at behdad.org>
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 <ebrahim at gnu.org>
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 <ebrahim at gnu.org>
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 <ebrahim at gnu.org>
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 <ebrahim at gnu.org>
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 <ebrahim at gnu.org>
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:
More information about the HarfBuzz
mailing list