From cf040c0fef4a049a75a5ec7972f518b9034bdc76 Mon Sep 17 00:00:00 2001 From: Egor Pugin Date: Thu, 28 Mar 2019 19:06:12 +0300 Subject: [PATCH 1/5] Disable unwanted C++ definitions for MSVC. MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords. --- src/hb.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hb.hh b/src/hb.hh index 5b66ba85d..67f09b981 100644 --- a/src/hb.hh +++ b/src/hb.hh @@ -214,7 +214,7 @@ extern "C" int hb_memalign_impl(void **memptr, size_t alignment, size_t size); * Compiler attributes */ -#if __cplusplus < 201103L +#if __cplusplus < 201103L && !defined(_MSC_VER) #ifndef nullptr #define nullptr NULL From a7eed7e41dba8e583a9c740a4ca7ddf53e77de63 Mon Sep 17 00:00:00 2001 From: punchcutter Date: Wed, 27 Mar 2019 23:12:58 -0700 Subject: [PATCH 2/5] Override USE category for Grantha and Tirhuta visargas to allow marks --- src/gen-use-table.py | 3 ++- src/hb-ot-shape-complex-use-table.cc | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gen-use-table.py b/src/gen-use-table.py index c725bb2c0..029e66e53 100755 --- a/src/gen-use-table.py +++ b/src/gen-use-table.py @@ -368,7 +368,8 @@ def map_to_use(data): # TODO: These are not in USE's override list that we have, nor are they in Unicode 12.0 if 0xA926 <= U <= 0xA92A: UIPC = Top # TODO: https://github.com/harfbuzz/harfbuzz/pull/1037 - if U == 0x11302: UIPC = Top + # and https://github.com/harfbuzz/harfbuzz/issues/1631 + if U in [0x11302, 0x11303, 0x114C1]: UIPC = Top if U == 0x1171E: UIPC = Left if 0x1CF8 <= U <= 0x1CF9: UIPC = Top diff --git a/src/hb-ot-shape-complex-use-table.cc b/src/hb-ot-shape-complex-use-table.cc index 4de538209..cb5c358cd 100644 --- a/src/hb-ot-shape-complex-use-table.cc +++ b/src/hb-ot-shape-complex-use-table.cc @@ -581,7 +581,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = { /* Grantha */ - /* 11300 */ VMAbv, VMAbv, VMAbv, VMPst, O, B, B, B, B, B, B, B, B, O, O, B, + /* 11300 */ VMAbv, VMAbv, VMAbv, VMAbv, O, B, B, B, B, B, B, B, B, O, O, B, /* 11310 */ B, O, O, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 11320 */ B, B, B, B, B, B, B, B, B, O, B, B, B, B, B, B, /* 11330 */ B, O, B, B, O, B, B, B, B, B, O, CMBlw, CMBlw, B, VPst, VPst, @@ -610,7 +610,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = { /* 11490 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 114A0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 114B0 */ VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, VBlw, VBlw, VPre, VAbv, VPst, VPst, VPst, VPst, VMAbv, - /* 114C0 */ VMAbv, VMPst, H, CMBlw, B, O, O, O, O, O, O, O, O, O, O, O, + /* 114C0 */ VMAbv, VMAbv, H, CMBlw, B, O, O, O, O, O, O, O, O, O, O, O, /* 114D0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O, #define use_offset_0x11580u 4720 From 8665b9b0a24e4d46e486057d72c0486b9da16523 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 28 Mar 2019 11:11:52 -0700 Subject: [PATCH 3/5] Comment --- src/hb.hh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hb.hh b/src/hb.hh index 67f09b981..ec24c1ae0 100644 --- a/src/hb.hh +++ b/src/hb.hh @@ -214,6 +214,7 @@ extern "C" int hb_memalign_impl(void **memptr, size_t alignment, size_t size); * Compiler attributes */ +/* https://github.com/harfbuzz/harfbuzz/issues/1634 */ #if __cplusplus < 201103L && !defined(_MSC_VER) #ifndef nullptr From 160b4a2b01e925812fbf0e7db5bc9dcb90dc81cc Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 28 Mar 2019 13:44:38 -0700 Subject: [PATCH 4/5] Fix shell syntax error Fixes https://github.com/harfbuzz/harfbuzz/issues/1612 --- src/check-symbols.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/check-symbols.sh b/src/check-symbols.sh index cea868488..423d18613 100755 --- a/src/check-symbols.sh +++ b/src/check-symbols.sh @@ -26,7 +26,7 @@ for soname in harfbuzz harfbuzz-subset harfbuzz-icu harfbuzz-gobject; do symprefix= if test $suffix = dylib; then symprefix=_; fi - EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRST] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`" + EXPORTED_SYMBOLS=`nm "$so" | grep ' [BCDGINRST] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt` prefix=$symprefix`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'` From a548d1da78b506cc6460fdde3715f6ef13ccad48 Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Thu, 28 Mar 2019 15:42:45 -0700 Subject: [PATCH 5/5] [ci] Use only CircleCI for macOS (#1637) --- .circleci/config.yml | 5 +++-- .travis.yml | 18 ------------------ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 54385bba2..af5b478ba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,8 +27,9 @@ jobs: xcode: "10.2.0" steps: - checkout - - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo - - run: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo + - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c + - run: brew link --force icu4c + - run: export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig" && ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-coretext - run: make -j4 - run: make check || .ci/fail.sh diff --git a/.travis.yml b/.travis.yml index 681471dc0..703fac25c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,16 +45,6 @@ matrix: - make - make check || .ci/fail.sh - - os: osx - compiler: clang - install: - - brew link --force icu4c - script: - - ./autogen.sh - - ./configure $CONFIGURE_OPTS --with-coretext - - make - - make check || .ci/fail.sh - notifications: irc: "irc.freenode.org#harfbuzz" email: harfbuzz-bots-chatter@googlegroups.com @@ -76,14 +66,6 @@ addons: - libicu-dev # for extra unicode functions - libgraphite2-dev # for extra shapers #- libgirepository1.0-dev # for gobject-introspection - homebrew: - packages: - - cairo - - freetype - - glib - - graphite2 - - icu4c - #- gobject-introspection coverity_scan: project: