platform/upstream/libHarfBuzzSharp.git
6 years agoAdd API tests to cmake build
Khaled Hosny [Tue, 5 Dec 2017 22:43:28 +0000 (00:43 +0200)]
Add API tests to cmake build

6 years agoWe are already inside “if HAVE_GLIB” check
Khaled Hosny [Tue, 5 Dec 2017 20:52:54 +0000 (22:52 +0200)]
We are already inside “if HAVE_GLIB” check

6 years ago[ci] Don't cache msys2 folder
ebraminio [Wed, 6 Dec 2017 10:52:19 +0000 (14:22 +0330)]
[ci] Don't cache msys2 folder

6 years ago[ci] Enable glib and freetype on appveyor cmake (#643)
ebraminio [Wed, 6 Dec 2017 10:21:04 +0000 (13:51 +0330)]
[ci] Enable glib and freetype on appveyor cmake (#643)

6 years ago[debug] Use %p to print pointers
Behdad Esfahbod [Tue, 5 Dec 2017 21:12:11 +0000 (13:12 -0800)]
[debug] Use %p to print pointers

Fixes https://github.com/harfbuzz/harfbuzz/issues/640

6 years ago[ci] Fix appveyor badge
Ebrahim Byagowi [Tue, 5 Dec 2017 20:34:30 +0000 (00:04 +0330)]
[ci] Fix appveyor badge

6 years agoIndic: always hyphenate pre-base-reordering, for clarity.
Nathan Willis [Tue, 5 Dec 2017 17:43:09 +0000 (17:43 +0000)]
Indic: always hyphenate pre-base-reordering, for clarity.

6 years agoSilence unused-variables warning on MSVC
Behdad Esfahbod [Tue, 5 Dec 2017 17:01:28 +0000 (09:01 -0800)]
Silence unused-variables warning on MSVC

Fixes https://github.com/harfbuzz/harfbuzz/issues/635

6 years agoAllow digits in language system tags
David Corbett [Tue, 5 Dec 2017 13:28:42 +0000 (08:28 -0500)]
Allow digits in language system tags

6 years agoFix string matching in parse_bool
David Corbett [Mon, 4 Dec 2017 20:15:27 +0000 (15:15 -0500)]
Fix string matching in parse_bool

6 years ago[hb-ft] Fix build when Multiple Master font support is disabled in freetype
Olivier Blin [Mon, 4 Dec 2017 17:58:41 +0000 (18:58 +0100)]
[hb-ft] Fix build when Multiple Master font support is disabled in freetype

FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg

6 years ago1.7.2
Behdad Esfahbod [Mon, 4 Dec 2017 16:52:39 +0000 (08:52 -0800)]
1.7.2

6 years ago[set] Actually commit fixes mentioned in previous commit!
Behdad Esfahbod [Sat, 2 Dec 2017 23:22:04 +0000 (15:22 -0800)]
[set] Actually commit fixes mentioned in previous commit!

6 years ago[set] Fix recent changes
Behdad Esfahbod [Sat, 2 Dec 2017 23:14:26 +0000 (15:14 -0800)]
[set] Fix recent changes

Ouch!

Add tests.

6 years ago[set] Protect against bad input in hb_set_add_range()
Behdad Esfahbod [Sat, 2 Dec 2017 23:06:15 +0000 (15:06 -0800)]
[set] Protect against bad input in hb_set_add_range()

6 years ago[coretext] Add hb_coretext_font_create()
Behdad Esfahbod [Wed, 29 Nov 2017 07:11:34 +0000 (23:11 -0800)]
[coretext] Add hb_coretext_font_create()

Fixes https://github.com/harfbuzz/harfbuzz/issues/628

New API:
hb_coretext_font_create()

6 years ago[set] Optimize add_range() some more
Behdad Esfahbod [Fri, 1 Dec 2017 21:56:06 +0000 (13:56 -0800)]
[set] Optimize add_range() some more

It's as good as it gets, and seems to be on par with previous set implementation
in my benchmark.

Would be great if someone can double-check my bitops.

6 years ago[set] Optimize add_range()
Behdad Esfahbod [Fri, 1 Dec 2017 21:34:14 +0000 (13:34 -0800)]
[set] Optimize add_range()

With new set implementation, this became really costy.  Optimize it.
There's more to be done, but this shaves off most of the fat.

Part of fixing https://bugs.chromium.org/p/chromium/issues/detail?id=782220

6 years ago[ot] Ensure layout in hb_ot_layout_table_get_lookup_count()
Behdad Esfahbod [Fri, 1 Dec 2017 20:36:26 +0000 (12:36 -0800)]
[ot] Ensure layout in hb_ot_layout_table_get_lookup_count()

6 years agoAdd another test for previous commit
Behdad Esfahbod [Thu, 30 Nov 2017 00:18:18 +0000 (16:18 -0800)]
Add another test for previous commit

From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273

6 years ago[ot] Fix Extension type recurse to disallow recursing to another Extension
Behdad Esfahbod [Thu, 30 Nov 2017 00:08:11 +0000 (16:08 -0800)]
[ot] Fix Extension type recurse to disallow recursing to another Extension

Particularly hazardous if the second layer mixes forward and backward lookups.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336

6 years agoTry fixing Mac build with 10.12
Behdad Esfahbod [Wed, 29 Nov 2017 22:20:09 +0000 (14:20 -0800)]
Try fixing Mac build with 10.12

Related
https://github.com/harfbuzz/harfbuzz/issues/345
https://github.com/harfbuzz/harfbuzz/pull/629

6 years agoMinor
Behdad Esfahbod [Wed, 29 Nov 2017 06:20:57 +0000 (22:20 -0800)]
Minor

6 years ago[doc] Optimize HarfBuzz.png; add HarfBuzz.svg
Behdad Esfahbod [Wed, 22 Nov 2017 00:36:07 +0000 (16:36 -0800)]
[doc] Optimize HarfBuzz.png; add HarfBuzz.svg

SVG is unused. Just keeping it here.

6 years agoImprove the docs commit message a bit
Khaled Hosny [Tue, 21 Nov 2017 22:14:29 +0000 (00:14 +0200)]
Improve the docs commit message a bit

6 years agoMove gh-pages docs to harfbuzz.github.io
Ebrahim Byagowi [Tue, 21 Nov 2017 06:22:18 +0000 (09:52 +0330)]
Move gh-pages docs to harfbuzz.github.io

6 years agoCategorize U+A8B4 as Consonant_Medial
David Corbett [Tue, 21 Nov 2017 19:16:10 +0000 (14:16 -0500)]
Categorize U+A8B4 as Consonant_Medial

6 years ago[ci] Add Oracle Developer Studio (former Sun Studio) based compiler (#621)
ebraminio [Tue, 21 Nov 2017 06:07:26 +0000 (01:07 -0500)]
[ci] Add Oracle Developer Studio (former Sun Studio) based compiler (#621)

6 years agoFix fallback positioning of double diacritic marks
Behdad Esfahbod [Tue, 21 Nov 2017 03:43:22 +0000 (19:43 -0800)]
Fix fallback positioning of double diacritic marks

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284

6 years agoMinor
Behdad Esfahbod [Tue, 21 Nov 2017 03:39:47 +0000 (19:39 -0800)]
Minor

6 years ago[docs] s/Harfbuzz/HarfBuzz/g
Behdad Esfahbod [Mon, 20 Nov 2017 23:07:48 +0000 (15:07 -0800)]
[docs] s/Harfbuzz/HarfBuzz/g

6 years agoCategorize U+0C80 as Consonant_Placeholder
David Corbett [Mon, 20 Nov 2017 18:19:34 +0000 (13:19 -0500)]
Categorize U+0C80 as Consonant_Placeholder

6 years agoMove all references of old url to the new address (#622)
ebraminio [Mon, 20 Nov 2017 19:49:22 +0000 (14:49 -0500)]
Move all references of old url to the new address (#622)

6 years agoLimit how much recursion GSUB/GPOS does
Behdad Esfahbod [Wed, 15 Nov 2017 05:53:48 +0000 (21:53 -0800)]
Limit how much recursion GSUB/GPOS does

This only counts recursions right now.  Good start.

Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429

6 years agoMinor move
Behdad Esfahbod [Wed, 15 Nov 2017 05:27:24 +0000 (21:27 -0800)]
Minor move

6 years agoAdd Offset16 and Offset32
Behdad Esfahbod [Wed, 15 Nov 2017 05:09:03 +0000 (21:09 -0800)]
Add Offset16 and Offset32

6 years agoReplace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc
Behdad Esfahbod [Wed, 15 Nov 2017 05:06:07 +0000 (21:06 -0800)]
Replace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc

6 years agoRemove a couple of unused consts
Behdad Esfahbod [Wed, 15 Nov 2017 04:30:03 +0000 (20:30 -0800)]
Remove a couple of unused consts

6 years ago[glyf] Try fixing undefined-behavior
Behdad Esfahbod [Wed, 15 Nov 2017 04:25:29 +0000 (20:25 -0800)]
[glyf] Try fixing undefined-behavior

Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1463

6 years ago[ot] Remove unneeded TODO item
Behdad Esfahbod [Wed, 15 Nov 2017 04:22:05 +0000 (20:22 -0800)]
[ot] Remove unneeded TODO item

Looks like hb-ot-font is complete after all!

CFF font names and CFF glyph metrics don't work though...

6 years ago[hmtx] Use curiously recurring template pattern
Behdad Esfahbod [Wed, 15 Nov 2017 04:16:45 +0000 (20:16 -0800)]
[hmtx] Use curiously recurring template pattern

https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern

6 years ago[ot] Move hb_ot_face_cmap_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 04:06:19 +0000 (20:06 -0800)]
[ot] Move hb_ot_face_cmap_accelerator_t

6 years agoShuffle
Behdad Esfahbod [Wed, 15 Nov 2017 04:02:24 +0000 (20:02 -0800)]
Shuffle

6 years ago[ot] Move hb_ot_face_metrics_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 04:00:34 +0000 (20:00 -0800)]
[ot] Move hb_ot_face_metrics_accelerator_t

6 years agoAdjust privacy for recent changes
Behdad Esfahbod [Wed, 15 Nov 2017 03:54:48 +0000 (19:54 -0800)]
Adjust privacy for recent changes

6 years ago[ot] Move hb_ot_face_glyf_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 03:52:09 +0000 (19:52 -0800)]
[ot] Move hb_ot_face_glyf_accelerator_t

6 years ago[ot] Move hb_ot_face_cbdt_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 03:47:31 +0000 (19:47 -0800)]
[ot] Move hb_ot_face_cbdt_accelerator_t

6 years ago[ot] Fold hb_ot_face_post_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 03:31:50 +0000 (19:31 -0800)]
[ot] Fold hb_ot_face_post_accelerator_t

6 years ago[ot] Fold hb_ot_face_kern_accelerator_t
Behdad Esfahbod [Wed, 15 Nov 2017 03:25:38 +0000 (19:25 -0800)]
[ot] Fold hb_ot_face_kern_accelerator_t

6 years agoMinor build fix
Behdad Esfahbod [Wed, 15 Nov 2017 00:22:52 +0000 (16:22 -0800)]
Minor build fix

6 years agoAdd test for previous commit
Behdad Esfahbod [Tue, 14 Nov 2017 23:56:21 +0000 (15:56 -0800)]
Add test for previous commit

At some point we should run tests under valgrind...

6 years agoFix invalid buffer access in OOM times
Behdad Esfahbod [Tue, 14 Nov 2017 23:47:55 +0000 (15:47 -0800)]
Fix invalid buffer access in OOM times

Hopefully fully fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1856

6 years agoFix more compiler warnings
Behdad Esfahbod [Tue, 14 Nov 2017 22:40:21 +0000 (14:40 -0800)]
Fix more compiler warnings

6 years agoFix compiler warning
Behdad Esfahbod [Tue, 14 Nov 2017 22:40:11 +0000 (14:40 -0800)]
Fix compiler warning

6 years agoAllow U+20F0 in USE clusters
David Corbett [Thu, 2 Nov 2017 14:59:25 +0000 (10:59 -0400)]
Allow U+20F0 in USE clusters

6 years ago1.7.1
Behdad Esfahbod [Tue, 14 Nov 2017 19:09:19 +0000 (11:09 -0800)]
1.7.1

6 years agoRevert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"
Behdad Esfahbod [Tue, 14 Nov 2017 18:59:54 +0000 (10:59 -0800)]
Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"

This reverts commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd.

If other atexit callbacks try to destruct the objects we destruct
in atexit callbacks, bad things will happen.

I'll come up with some other way to catch premature destruction
of HB-owned objects.

Fixes https://github.com/behdad/harfbuzz/issues/618

6 years agoWhitespace
Behdad Esfahbod [Tue, 14 Nov 2017 04:26:29 +0000 (20:26 -0800)]
Whitespace

6 years agoClean up GlyphID
Behdad Esfahbod [Tue, 14 Nov 2017 04:25:02 +0000 (20:25 -0800)]
Clean up GlyphID

After 4a27c17ea0234dfe33e62f5830d9f92c26d48d30 we do not need
the special GlyphID.cmp(hb_codepoint_t), so just make GlyphID
a typedef.

Fixes https://github.com/behdad/harfbuzz/issues/612

6 years agoImplement strtod_l() on MSVC
Behdad Esfahbod [Mon, 13 Nov 2017 23:04:13 +0000 (15:04 -0800)]
Implement strtod_l() on MSVC

Patch from Jean Ghali on mailing list.

6 years ago1.7.0
Behdad Esfahbod [Mon, 13 Nov 2017 17:42:37 +0000 (09:42 -0800)]
1.7.0

6 years ago[coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break
Behdad Esfahbod [Sat, 11 Nov 2017 01:14:27 +0000 (17:14 -0800)]
[coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break

Fixes https://github.com/behdad/harfbuzz/issues/615

We'll see which bots I broke.

6 years agoFix graphite intergration reordered clusters problem
Martin Hosken [Fri, 10 Nov 2017 06:47:38 +0000 (13:47 +0700)]
Fix graphite intergration reordered clusters problem

6 years ago[kern] Fix invalid memory access if offset is zero
Behdad Esfahbod [Fri, 10 Nov 2017 02:09:40 +0000 (18:09 -0800)]
[kern] Fix invalid memory access if offset is zero

If offset is zero, we return Null() object.  Wasn't prepared for that.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088

6 years ago[test] Use glyph ids instead of forcing ft funcs
Khaled Hosny [Fri, 3 Nov 2017 12:27:33 +0000 (14:27 +0200)]
[test] Use glyph ids instead of forcing ft funcs

We were using ft funcs because these are CFF fonts, but we can avoid
glyph names instead and keep testing both ot and ft.

6 years ago[test] Fix another instance of component rounding
Khaled Hosny [Thu, 2 Nov 2017 07:45:06 +0000 (09:45 +0200)]
[test] Fix another instance of component rounding

See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673

6 years agoFix indexing in unsafe-to-break marking for 'stch' feature
Behdad Esfahbod [Thu, 9 Nov 2017 01:04:31 +0000 (17:04 -0800)]
Fix indexing in unsafe-to-break marking for 'stch' feature

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4099

6 years ago[tests/arabic-stch.tests] Don't show flags
Behdad Esfahbod [Thu, 9 Nov 2017 01:03:55 +0000 (17:03 -0800)]
[tests/arabic-stch.tests] Don't show flags

We don't need to test the actual flag values.  For unsafe-to-break,
the --verify in run-tests.sh checks what we are interested in.

6 years agoMinor
Behdad Esfahbod [Thu, 9 Nov 2017 01:02:54 +0000 (17:02 -0800)]
Minor

6 years agoMark non-initial left matras as unsafe to break
David Corbett [Wed, 8 Nov 2017 18:15:27 +0000 (13:15 -0500)]
Mark non-initial left matras as unsafe to break

6 years ago[kern] Implement format-2 kern subtable
Behdad Esfahbod [Mon, 6 Nov 2017 20:40:07 +0000 (15:40 -0500)]
[kern] Implement format-2 kern subtable

6 years ago[kern] Allow subtables longer than 64kb
Behdad Esfahbod [Mon, 6 Nov 2017 20:28:24 +0000 (15:28 -0500)]
[kern] Allow subtables longer than 64kb

Apparently calibri.ttf does this:
https://github.com/fonttools/fonttools/pull/1094#discussion_r148933791

6 years ago[kern] Towards implementing format-2
Behdad Esfahbod [Sat, 4 Nov 2017 16:01:11 +0000 (12:01 -0400)]
[kern] Towards implementing format-2

6 years agoMark glyphs involved in 'stch' as unsafe to break
David Corbett [Mon, 6 Nov 2017 19:41:55 +0000 (14:41 -0500)]
Mark glyphs involved in 'stch' as unsafe to break

6 years ago[configure] Fix gobject default value in help output
Behdad Esfahbod [Sat, 4 Nov 2017 00:34:11 +0000 (20:34 -0400)]
[configure] Fix gobject default value in help output

Fixes https://github.com/behdad/harfbuzz/issues/607

6 years agoSimplify tracing code when tracing is disabled
Behdad Esfahbod [Fri, 3 Nov 2017 21:16:26 +0000 (17:16 -0400)]
Simplify tracing code when tracing is disabled

Fixes https://github.com/behdad/harfbuzz/pull/605

6 years agoConsolidate debug stuff into hb-debug.hh
Behdad Esfahbod [Fri, 3 Nov 2017 20:57:30 +0000 (16:57 -0400)]
Consolidate debug stuff into hb-debug.hh

Part of fixing https://github.com/behdad/harfbuzz/pull/605

6 years agoRemove NO_COPY()
Behdad Esfahbod [Fri, 3 Nov 2017 20:31:47 +0000 (16:31 -0400)]
Remove NO_COPY()

6 years agoTrivial typos
Unknown [Fri, 3 Nov 2017 13:05:00 +0000 (09:05 -0400)]
Trivial typos

Found using `codespell -i 3 -w -I '../harf-whitelist.txt'`
whereas the whitelist contents were:
```
beng
iff
pres
ot
te
teh
```

6 years ago[ci] Add ArchLinux (#604)
ebraminio [Thu, 2 Nov 2017 16:33:12 +0000 (09:33 -0700)]
[ci] Add ArchLinux (#604)

6 years agoCopy dummy docs/circle.yml to gh-pages branch (#603)
ebraminio [Thu, 2 Nov 2017 14:56:25 +0000 (07:56 -0700)]
Copy dummy docs/circle.yml to gh-pages branch (#603)

6 years agoAdd a dummy CircleCI config to gh-pages branch (#602)
ebraminio [Thu, 2 Nov 2017 11:55:46 +0000 (04:55 -0700)]
Add a dummy CircleCI config to gh-pages branch (#602)

6 years ago[ot] Hook up horizontal kerning to kern table
Behdad Esfahbod [Thu, 2 Nov 2017 01:41:29 +0000 (19:41 -0600)]
[ot] Hook up horizontal kerning to kern table

Seems to work.  Yay!

Still to do: run kerning if GPOS doesn't have 'kern' feature.

6 years ago[kern] More...
Behdad Esfahbod [Thu, 2 Nov 2017 01:33:09 +0000 (19:33 -0600)]
[kern] More...

Almost there.

6 years ago[kern] See if this helps with making VS bot happy
Behdad Esfahbod [Thu, 2 Nov 2017 00:16:07 +0000 (18:16 -0600)]
[kern] See if this helps with making VS bot happy

6 years ago[uniscribe] Fix a couple of VS warnings
Behdad Esfahbod [Thu, 2 Nov 2017 00:13:35 +0000 (18:13 -0600)]
[uniscribe] Fix a couple of VS warnings

6 years ago[kern] Implement Format0
Behdad Esfahbod [Thu, 2 Nov 2017 00:12:26 +0000 (18:12 -0600)]
[kern] Implement Format0

6 years ago[kern] Implement some more
Behdad Esfahbod [Wed, 1 Nov 2017 23:54:56 +0000 (17:54 -0600)]
[kern] Implement some more

6 years ago[kern] Start implementing kern table
Behdad Esfahbod [Wed, 1 Nov 2017 23:31:29 +0000 (17:31 -0600)]
[kern] Start implementing kern table

Pushing this out early to catch bot errors since I'm using template tricks
we were not using in HarfBuzz before.

6 years ago[ci] minor cleanup (#600)
ebraminio [Wed, 1 Nov 2017 23:24:46 +0000 (16:24 -0700)]
[ci] minor cleanup (#600)

6 years ago[ci] Add Fedora builder (#598)
ebraminio [Wed, 1 Nov 2017 21:10:55 +0000 (14:10 -0700)]
[ci] Add Fedora builder (#598)

6 years ago[test] Fix difference between ft and ot font funcs
Khaled Hosny [Wed, 1 Nov 2017 18:49:42 +0000 (20:49 +0200)]
[test] Fix difference between ft and ot font funcs

See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673.

I simply removed the composite glyph and use the referenced simple
glyph directly.

6 years agoRevert "[test] We don’t care about glyph positions here"
Khaled Hosny [Wed, 1 Nov 2017 18:33:43 +0000 (20:33 +0200)]
Revert "[test] We don’t care about glyph positions here"

This reverts commit 70137e2b4b46918d9608f824a4b4b5cef2819158.

6 years ago[test] Run shaping tests with both ot and ft funcs
Khaled Hosny [Wed, 1 Nov 2017 10:06:59 +0000 (12:06 +0200)]
[test] Run shaping tests with both ot and ft funcs

6 years ago[test] We don’t care about glyph positions here
Khaled Hosny [Wed, 1 Nov 2017 10:03:39 +0000 (12:03 +0200)]
[test] We don’t care about glyph positions here

Freetype and OT font functions give different positions for some glyphs
in this font (OT seems to be correct), but that is not what we are
interested in in this test.

See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223.

6 years ago[test] Use ft functions for this test
Khaled Hosny [Wed, 1 Nov 2017 08:34:36 +0000 (10:34 +0200)]
[test] Use ft functions for this test

https://github.com/behdad/harfbuzz/pull/590#issuecomment-340967271

6 years ago[test] Always use ft font funcs for these tests
Khaled Hosny [Mon, 30 Oct 2017 20:02:50 +0000 (22:02 +0200)]
[test] Always use ft font funcs for these tests

These are CFF fonts and ot functions don’t support CFF glyph names yet.
The next commit will run all tests with ot functions.

6 years ago[ci] Add FreeBSD9 (gcc4) (#595)
ebraminio [Wed, 1 Nov 2017 10:05:46 +0000 (03:05 -0700)]
[ci] Add FreeBSD9 (gcc4) (#595)

6 years agoEnable PSVita (arm-none-eabi) compile again and add it to CI (#594)
ebraminio [Wed, 1 Nov 2017 09:10:18 +0000 (02:10 -0700)]
Enable PSVita (arm-none-eabi) compile again and add it to CI (#594)

6 years ago[CircleCI] Ignore gh-pages branch
Behdad Esfahbod [Wed, 1 Nov 2017 07:15:27 +0000 (01:15 -0600)]
[CircleCI] Ignore gh-pages branch

https://github.com/behdad/harfbuzz/pull/592