From c8d77ba88d2eff25dae6a20e9d56030e721391a6 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Wed, 9 Aug 2017 04:35:32 +0000 Subject: harfbuzz-1.4.8 git-svn-id: svn://tug.org/texlive/trunk@44996 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/harfbuzz/harfbuzz-src/src/check-defs.sh | 2 +- .../source/libs/harfbuzz/harfbuzz-src/src/check-symbols.sh | 2 +- .../harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc | 2 +- .../libs/harfbuzz/harfbuzz-src/src/hb-ot-var-avar-table.hh | 13 +++++++++---- 4 files changed, 12 insertions(+), 7 deletions(-) (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src') diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-defs.sh index 65a24670e48..480d49992ff 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-defs.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-defs.sh @@ -21,7 +21,7 @@ for def in $defs; do lib=`echo "$def" | sed 's/[.]def$//;s@.*/@@'` so=.libs/lib${lib}.so - EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| llvm_' | cut -d' ' -f3`" + EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| llvm_' | cut -d' ' -f3`" if test -f "$so"; then diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-symbols.sh index ba09ba1cc5e..d4d655d266e 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/check-symbols.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/check-symbols.sh @@ -20,7 +20,7 @@ for suffix in so dylib; do so=.libs/libharfbuzz.$suffix if ! test -f "$so"; then continue; fi - EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| ___gcov_flush\>\| llvm_\| _llvm_' | cut -d' ' -f3`" + EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| ___gcov_flush\>\| llvm_\| _llvm_' | cut -d' ' -f3`" prefix=`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'` diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc index 0232b3057a2..02aab082cd3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc @@ -200,7 +200,7 @@ set_indic_properties (hb_glyph_info_t &info) cat = OT_Symbol; ASSERT_STATIC ((int) INDIC_SYLLABIC_CATEGORY_AVAGRAHA == OT_Symbol); } - else if (unlikely (hb_in_range (u, 0x17CDu, 0x17D1u) || + else if (unlikely (hb_in_range (u, 0x17CDu, 0x17D1u) || u == 0x17CBu || u == 0x17D3u || u == 0x17DDu)) /* Khmer Various signs */ { /* These can occur mid-syllable (eg. before matras), even though Unicode marks them as Syllable_Modifier. diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-avar-table.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-avar-table.hh index ace0f5f285a..464cf35bbd4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-avar-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-var-avar-table.hh @@ -57,8 +57,13 @@ struct SegmentMaps : ArrayOf * that at least -1, 0, and +1 must be mapped. But we include these as * part of a better error recovery scheme. */ - if (!len) - return value; + if (len < 2) + { + if (!len) + return value; + else /* len == 1*/ + return value - array[0].fromCoord + array[0].toCoord; + } if (value <= array[0].fromCoord) return value - array[0].fromCoord + array[0].toCoord; @@ -76,8 +81,8 @@ struct SegmentMaps : ArrayOf int denom = array[i].fromCoord - array[i-1].fromCoord; return array[i-1].toCoord + - (array[i].toCoord - array[i-1].toCoord) * - (value - array[i-1].fromCoord + denom/2) / denom; + ((array[i].toCoord - array[i-1].toCoord) * + (value - array[i-1].fromCoord) + denom/2) / denom; } DEFINE_SIZE_ARRAY (2, array); -- cgit v1.2.3