platform/upstream/libHarfBuzzSharp.git
6 years agoMerge pull request #828 from googlefonts/mem-fixes
Garret Rieger [Sat, 24 Feb 2018 00:59:08 +0000 (17:59 -0700)]
Merge pull request #828 from googlefonts/mem-fixes

[subset] Fix several memory leaks in subsetting.

6 years ago[subset] Fix checksum calc out-of-bounds access
Behdad Esfahbod [Fri, 23 Feb 2018 23:51:26 +0000 (15:51 -0800)]
[subset] Fix checksum calc out-of-bounds access

6 years ago[subset] Fix memory leak in hb-subset-glyf.
Garret Rieger [Fri, 23 Feb 2018 23:45:45 +0000 (15:45 -0800)]
[subset] Fix memory leak in hb-subset-glyf.

6 years ago[subset] Fix memory leak in hb-subset-plan.
Garret Rieger [Fri, 23 Feb 2018 23:44:21 +0000 (15:44 -0800)]
[subset] Fix memory leak in hb-subset-plan.

6 years ago[subset] Fix memory leak in hb-subset.
Garret Rieger [Fri, 23 Feb 2018 23:41:52 +0000 (15:41 -0800)]
[subset] Fix memory leak in hb-subset.

6 years ago[subset] Fix memory leak in cmap subsetting.
Garret Rieger [Fri, 23 Feb 2018 23:37:43 +0000 (15:37 -0800)]
[subset] Fix memory leak in cmap subsetting.

6 years ago[subset] Fix memory leak in hmtx subsetting.
Garret Rieger [Fri, 23 Feb 2018 23:36:14 +0000 (15:36 -0800)]
[subset] Fix memory leak in hmtx subsetting.

6 years ago[subset] Fix memory leak in subset face destroy.
Garret Rieger [Fri, 23 Feb 2018 23:30:14 +0000 (15:30 -0800)]
[subset] Fix memory leak in subset face destroy.

6 years agoautoconf: provide a harfbuzz-config for use from CMake (#822)
Ben Boeckel [Fri, 23 Feb 2018 21:55:53 +0000 (16:55 -0500)]
autoconf: provide a harfbuzz-config for use from CMake (#822)

6 years agoClean up check-defs and check-symbols (#821)
Behdad Esfahbod [Fri, 23 Feb 2018 21:19:34 +0000 (13:19 -0800)]
Clean up check-defs and check-symbols (#821)

Also, call c++filt on their results.

Also build and fix and check harfbuzz-gobject.def

Also changes harfbuzz-gobject to distribute generated enum sources.

6 years agoMerge pull request #823 from googlefonts/hdmx
Garret Rieger [Fri, 23 Feb 2018 19:32:18 +0000 (12:32 -0700)]
Merge pull request #823 from googlefonts/hdmx

[subset] Add hdmx subsetting.

6 years ago[subset] Remove commented code from run-tests.py.
Garret Rieger [Fri, 23 Feb 2018 02:41:50 +0000 (18:41 -0800)]
[subset] Remove commented code from run-tests.py.

6 years ago[subset] Update expected files for subsetting integration test to not include cmap 4.
Garret Rieger [Fri, 23 Feb 2018 02:38:44 +0000 (18:38 -0800)]
[subset] Update expected files for subsetting integration test to not include cmap 4.

6 years ago[subset] Fix checksum clearning in subset test diff. Add an updated expected file...
Garret Rieger [Thu, 22 Feb 2018 22:28:18 +0000 (14:28 -0800)]
[subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored).

6 years ago[subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff...
Garret Rieger [Thu, 22 Feb 2018 22:07:52 +0000 (14:07 -0800)]
[subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff on failure.

6 years ago[hdmx] Fix sanitize()
Behdad Esfahbod [Fri, 23 Feb 2018 18:45:03 +0000 (10:45 -0800)]
[hdmx] Fix sanitize()

6 years ago[hdmx] Minor
Behdad Esfahbod [Fri, 23 Feb 2018 18:38:35 +0000 (10:38 -0800)]
[hdmx] Minor

6 years ago[hdmx] Move DeviceRecord to toplevel again
Behdad Esfahbod [Fri, 23 Feb 2018 18:34:26 +0000 (10:34 -0800)]
[hdmx] Move DeviceRecord to toplevel again

More readable.

6 years ago[subset] More complete sanitization implementation for hdmx.
Garret Rieger [Fri, 23 Feb 2018 00:48:28 +0000 (16:48 -0800)]
[subset] More complete sanitization implementation for hdmx.

6 years ago[subset] Formatting and comments in hdmx.
Garret Rieger [Fri, 23 Feb 2018 00:40:50 +0000 (16:40 -0800)]
[subset] Formatting and comments in hdmx.

6 years ago[subset] In hb-ot-hdmx-table, s/glyf/hdmx.
Garret Rieger [Thu, 22 Feb 2018 20:00:00 +0000 (12:00 -0800)]
[subset] In hb-ot-hdmx-table, s/glyf/hdmx.

6 years ago[subset] Fail subset if a table fails to sanitize.
Garret Rieger [Thu, 22 Feb 2018 19:57:35 +0000 (11:57 -0800)]
[subset] Fail subset if a table fails to sanitize.

6 years ago[subset] Add a unit test for hdmx subsetting.
Garret Rieger [Thu, 22 Feb 2018 01:59:57 +0000 (17:59 -0800)]
[subset] Add a unit test for hdmx subsetting.

6 years ago[subset] Enable hdmx subsetting.
Garret Rieger [Thu, 22 Feb 2018 01:43:32 +0000 (17:43 -0800)]
[subset] Enable hdmx subsetting.

6 years ago[subset] Move DeviceRecord inside of hdmx.
Garret Rieger [Thu, 22 Feb 2018 01:42:58 +0000 (17:42 -0800)]
[subset] Move DeviceRecord inside of hdmx.

6 years ago[subset] Add hdmx subsetting implementation.
Garret Rieger [Thu, 22 Feb 2018 00:00:10 +0000 (16:00 -0800)]
[subset] Add hdmx subsetting implementation.

6 years ago[subset] In hdmx serialize set the correct value of sizeDeviceRecord.
Garret Rieger [Wed, 21 Feb 2018 23:43:47 +0000 (15:43 -0800)]
[subset] In hdmx serialize set the correct value of sizeDeviceRecord.

6 years ago[subset] When serializing a DeviceRecord in hdmx pad to make 32 bit aligned.
Garret Rieger [Wed, 21 Feb 2018 23:36:09 +0000 (15:36 -0800)]
[subset] When serializing a DeviceRecord in hdmx pad to make 32 bit aligned.

6 years ago[subset] Begin implementing serialize for hdmx.
Garret Rieger [Wed, 21 Feb 2018 23:15:22 +0000 (15:15 -0800)]
[subset] Begin implementing serialize for hdmx.

6 years ago[subset] Sketch out a basic hb-ot-hdmx.hh.
Garret Rieger [Wed, 21 Feb 2018 22:18:49 +0000 (14:18 -0800)]
[subset] Sketch out a basic hb-ot-hdmx.hh.

6 years ago[util] Implement ppem/ptem on hb-{shape,view} (#811)
Ebrahim Byagowi [Thu, 22 Feb 2018 23:24:12 +0000 (02:54 +0330)]
[util] Implement ppem/ptem on hb-{shape,view} (#811)

6 years ago[dev-run] minor
Ebrahim Byagowi [Thu, 22 Feb 2018 13:22:56 +0000 (16:52 +0330)]
[dev-run] minor

6 years ago[dev-run] Add gdb/lldb shortcuts
Ebrahim Byagowi [Thu, 22 Feb 2018 13:18:03 +0000 (16:48 +0330)]
[dev-run] Add gdb/lldb shortcuts

6 years ago[subset] keep the result of _subset
Rod Sheeter [Wed, 21 Feb 2018 17:42:46 +0000 (09:42 -0800)]
[subset] keep the result of _subset

6 years agoAdd two more ragel-generated headers
Behdad Esfahbod [Wed, 21 Feb 2018 22:38:02 +0000 (14:38 -0800)]
Add two more ragel-generated headers

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

6 years agoAdd .editorconfig (#810)
Ebrahim Byagowi [Wed, 21 Feb 2018 18:43:58 +0000 (22:13 +0330)]
Add .editorconfig (#810)

More information: http://editorconfig.org/

6 years agoUse HB_SET_VALUE_INVALID consistently
Behdad Esfahbod [Wed, 21 Feb 2018 08:35:23 +0000 (00:35 -0800)]
Use HB_SET_VALUE_INVALID consistently

6 years ago[subset] fix calculation of range shiftz. Should be 16 * len - searchRange not 16...
Garret Rieger [Wed, 21 Feb 2018 02:13:41 +0000 (18:13 -0800)]
[subset] fix calculation of range shiftz. Should be 16 * len - searchRange not 16 * (len - searchRange).

6 years ago[subset] Reverse table order for font serialization to match what OTS expects.
Garret Rieger [Wed, 21 Feb 2018 01:36:54 +0000 (17:36 -0800)]
[subset] Reverse table order for font serialization to match what OTS expects.

6 years ago[subset] sanity check glyph data writes during glyph subsetting to ensure they are...
Garret Rieger [Wed, 21 Feb 2018 00:48:52 +0000 (16:48 -0800)]
[subset] sanity check glyph data writes during glyph subsetting to ensure they are inbounds.

6 years ago[subset] Sanity check that loca writes are inbounds.
Garret Rieger [Tue, 20 Feb 2018 23:33:03 +0000 (15:33 -0800)]
[subset] Sanity check that loca writes are inbounds.

6 years agoMerge pull request #812 from googlefonts/cleanup
Garret Rieger [Wed, 21 Feb 2018 00:34:59 +0000 (17:34 -0700)]
Merge pull request #812 from googlefonts/cleanup

Clean up of glyf subsetting.

6 years ago[aat] Cosmetic touch-ups to trak table
Behdad Esfahbod [Tue, 20 Feb 2018 23:02:25 +0000 (15:02 -0800)]
[aat] Cosmetic touch-ups to trak table

6 years agoAdd Ragel-generated files to git
Behdad Esfahbod [Tue, 20 Feb 2018 22:34:16 +0000 (14:34 -0800)]
Add Ragel-generated files to git

I know it's bad form; I know I've said no to this multiple times...
But this is part of an experiment to see if we can make rolling HarfBuzz
into Chrome much faster. That will give us a lot more testing exposure
that currently Chrome does.

Doing this while those files are still considered ignored by our
gitignore rules; will see how that flies.

6 years ago[subset] Switch to hb_blob_copy_writable_or_fail in glyf subsetting.
Garret Rieger [Tue, 20 Feb 2018 22:29:21 +0000 (14:29 -0800)]
[subset] Switch to hb_blob_copy_writable_or_fail in glyf subsetting.

6 years ago[subset] Move glyf subsetting code into hb-ot-glyf-table.hh
Garret Rieger [Tue, 20 Feb 2018 22:07:40 +0000 (14:07 -0800)]
[subset] Move glyf subsetting code into hb-ot-glyf-table.hh

6 years agoDon't use %zu
Behdad Esfahbod [Tue, 20 Feb 2018 18:32:09 +0000 (10:32 -0800)]
Don't use %zu

Some of our bots / compilers don't like it. Wasn't caught by bots because this
is only in debug code.

https://github.com/harfbuzz/harfbuzz/pull/809/commits/825ad378e0f0e6e6bb690894a0d5d25f198be21b

6 years ago[dev-run] minor
Ebrahim Byagowi [Tue, 20 Feb 2018 14:29:04 +0000 (17:59 +0330)]
[dev-run] minor

6 years ago[dev-run] Support autotools builds
Ebrahim Byagowi [Tue, 20 Feb 2018 14:19:29 +0000 (17:49 +0330)]
[dev-run] Support autotools builds

6 years agoUse %zu format specifier for size_t to fix cross platform build
Dominik Röttsches [Tue, 20 Feb 2018 08:26:07 +0000 (10:26 +0200)]
Use %zu format specifier for size_t to fix cross platform build

Fixes Chromium Android builds, compare
https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/491787

6 years agoChange Alpine and ArchLinux bot to test O3 and O0 on gcc, #801
Ebrahim Byagowi [Tue, 20 Feb 2018 07:23:10 +0000 (10:53 +0330)]
Change Alpine and ArchLinux bot to test O3 and O0 on gcc, #801

6 years ago[aat] First dig on 'trak'
Ebrahim Byagowi [Mon, 19 Feb 2018 19:57:08 +0000 (23:27 +0330)]
[aat] First dig on 'trak'

6 years agoUgh. Really fix build.
Behdad Esfahbod [Mon, 19 Feb 2018 19:51:25 +0000 (11:51 -0800)]
Ugh. Really fix build.

6 years agoFix build after previous commit
Behdad Esfahbod [Mon, 19 Feb 2018 19:49:25 +0000 (11:49 -0800)]
Fix build after previous commit

6 years ago[subset] Don't include hb-subset.h from hb.h
Behdad Esfahbod [Mon, 19 Feb 2018 19:38:53 +0000 (11:38 -0800)]
[subset] Don't include hb-subset.h from hb.h

6 years agoCheck availability of entr instead now that this works with it
Ebrahim Byagowi [Mon, 19 Feb 2018 16:30:07 +0000 (20:00 +0330)]
Check availability of entr instead now that this works with it

6 years agoSimplify hb-fuzzer output printing and fix ArchLinux bot
Ebrahim Byagowi [Mon, 19 Feb 2018 08:28:20 +0000 (11:58 +0330)]
Simplify hb-fuzzer output printing and fix ArchLinux bot

6 years agoTest debug builds on ArchLinux bot
Ebrahim Byagowi [Mon, 19 Feb 2018 07:36:13 +0000 (11:06 +0330)]
Test debug builds on ArchLinux bot

Fixes #805

6 years agoLimit how much work sanitize() can do
Behdad Esfahbod [Mon, 19 Feb 2018 01:28:53 +0000 (17:28 -0800)]
Limit how much work sanitize() can do

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

6 years ago[aat] Minor
Behdad Esfahbod [Mon, 19 Feb 2018 01:12:04 +0000 (17:12 -0800)]
[aat] Minor

6 years agoFix debug build
Behdad Esfahbod [Mon, 19 Feb 2018 00:27:59 +0000 (16:27 -0800)]
Fix debug build

Context needs to be called 'c'. The TRACE_* rely on that.

6 years ago[aat] Silence warning
Behdad Esfahbod [Mon, 19 Feb 2018 00:26:04 +0000 (16:26 -0800)]
[aat] Silence warning

6 years ago[ci] Make AppVeyor less noisy
Behdad Esfahbod [Mon, 19 Feb 2018 00:10:15 +0000 (16:10 -0800)]
[ci] Make AppVeyor less noisy

6 years agoReadjust mark attachment heuristic a bit more
Behdad Esfahbod [Sun, 18 Feb 2018 23:57:09 +0000 (15:57 -0800)]
Readjust mark attachment heuristic a bit more

Previously adjusted logic could fail if nothing around was ligated,
and something moved.  This should take care of that.

CC https://github.com/harfbuzz/harfbuzz/issues/740

6 years ago[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740
Behdad Esfahbod [Sun, 18 Feb 2018 23:42:25 +0000 (15:42 -0800)]
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740

6 years ago[aat] First dig on 'kerx' (#704)
Ebrahim Byagowi [Sun, 18 Feb 2018 23:47:44 +0000 (03:17 +0330)]
[aat] First dig on 'kerx' (#704)

6 years agoMerge pull request #796 from ebraminio/dev-run
Behdad Esfahbod [Sun, 18 Feb 2018 22:04:33 +0000 (14:04 -0800)]
Merge pull request #796 from ebraminio/dev-run

Add a continuous builder using fswatch

6 years agoRemove unused check
Behdad Esfahbod [Sun, 18 Feb 2018 20:41:24 +0000 (12:41 -0800)]
Remove unused check

6 years agoAdd a continuous builder using fswatch
Ebrahim Byagowi [Fri, 16 Feb 2018 09:23:33 +0000 (12:53 +0330)]
Add a continuous builder using fswatch

6 years ago[test] Fix a couple of coverity_scan issues
Behdad Esfahbod [Sun, 18 Feb 2018 19:55:26 +0000 (11:55 -0800)]
[test] Fix a couple of coverity_scan issues

6 years agoAnother attempt on fixing coverity
Ebrahim Byagowi [Sun, 18 Feb 2018 19:55:15 +0000 (23:25 +0330)]
Another attempt on fixing coverity

I hope I am in a correct direction at least

6 years agoMerge pull request #800 from harfbuzz/bitops
Behdad Esfahbod [Sun, 18 Feb 2018 19:35:51 +0000 (11:35 -0800)]
Merge pull request #800 from harfbuzz/bitops

Optimize set through optimized bit operations

6 years agoFix BitScanForward() usage
Behdad Esfahbod [Sun, 18 Feb 2018 18:50:24 +0000 (10:50 -0800)]
Fix BitScanForward() usage

Should fix Win64 bot.

6 years agoMerge branch 'master' into bitops
Behdad Esfahbod [Sun, 18 Feb 2018 18:45:33 +0000 (10:45 -0800)]
Merge branch 'master' into bitops

6 years agoDo not mark the first glyph as unsafe to break
David Corbett [Fri, 16 Feb 2018 17:08:55 +0000 (12:08 -0500)]
Do not mark the first glyph as unsafe to break

Fixes #791.

6 years ago[test] Remove unused var
Behdad Esfahbod [Sat, 17 Feb 2018 02:32:57 +0000 (18:32 -0800)]
[test] Remove unused var

6 years agoUpdate outdated TODO file
Behdad Esfahbod [Sat, 17 Feb 2018 01:08:44 +0000 (17:08 -0800)]
Update outdated TODO file

6 years ago[test/api] Distribute all fonts
Behdad Esfahbod [Sat, 17 Feb 2018 01:02:57 +0000 (17:02 -0800)]
[test/api] Distribute all fonts

6 years agoMisc fixes
Behdad Esfahbod [Sat, 17 Feb 2018 00:58:17 +0000 (16:58 -0800)]
Misc fixes

Should bring bag djgpp bot.

6 years ago[subset] add a glyf subsetting test for a font with composite glyphs.
Garret Rieger [Sat, 17 Feb 2018 00:02:51 +0000 (17:02 -0700)]
[subset] add a glyf subsetting test for a font with composite glyphs.

6 years ago[subset] missing return.
Garret Rieger [Sat, 17 Feb 2018 00:02:15 +0000 (17:02 -0700)]
[subset] missing return.

6 years ago[subset] Add support for updating reference gids in components to their new values.
Garret Rieger [Sat, 17 Feb 2018 00:01:00 +0000 (17:01 -0700)]
[subset] Add support for updating reference gids in components to their new values.

6 years ago[subset] Refactor composite glyf iteration code into an Iterator outside of the accel...
Garret Rieger [Fri, 16 Feb 2018 23:56:15 +0000 (16:56 -0700)]
[subset] Refactor composite glyf iteration code into an Iterator outside of the accelerator.

6 years ago[subset] Use gids_to_retain_sorted to produce old gid -> new gid mapping since it...
Garret Rieger [Fri, 16 Feb 2018 22:20:14 +0000 (15:20 -0700)]
[subset] Use gids_to_retain_sorted to produce old gid -> new gid mapping since it now has the more complete set.

6 years ago[subset] Use complex glyph closure to populate gids_to_retain_sorted.
Garret Rieger [Fri, 16 Feb 2018 18:27:03 +0000 (11:27 -0700)]
[subset] Use complex glyph closure to populate gids_to_retain_sorted.

6 years ago[subset] add constant to get_composite and in_table methods in hb-ot-glyf-table
Garret Rieger [Fri, 16 Feb 2018 18:20:38 +0000 (11:20 -0700)]
[subset] add constant to get_composite and in_table methods in hb-ot-glyf-table

6 years ago[subset] Add a DFS search to produce a closure of composite glyphs.
Garret Rieger [Thu, 15 Feb 2018 22:41:56 +0000 (14:41 -0800)]
[subset] Add a DFS search to produce a closure of composite glyphs.

6 years ago[subset] add helper methods to glyf accelerator for reading composite glyph information.
Garret Rieger [Thu, 15 Feb 2018 22:03:34 +0000 (14:03 -0800)]
[subset] add helper methods to glyf accelerator for reading composite glyph information.

6 years agoAnother bitops fallback fix
Behdad Esfahbod [Sat, 17 Feb 2018 02:28:58 +0000 (18:28 -0800)]
Another bitops fallback fix

I'm confident that all bugs are hashed out now.

6 years agoAnother bitops fallback impl fix
Behdad Esfahbod [Sat, 17 Feb 2018 02:20:12 +0000 (18:20 -0800)]
Another bitops fallback impl fix

6 years ago[set] Implement iteration using bitop intrinsics
Behdad Esfahbod [Sat, 17 Feb 2018 02:14:41 +0000 (18:14 -0800)]
[set] Implement iteration using bitop intrinsics

6 years agoFix wide bitops implemenetation
Behdad Esfahbod [Sat, 17 Feb 2018 01:49:41 +0000 (17:49 -0800)]
Fix wide bitops implemenetation

6 years ago[set] Readjust parameters
Behdad Esfahbod [Sat, 17 Feb 2018 01:45:09 +0000 (17:45 -0800)]
[set] Readjust parameters

6 years agoFix bitops fallback impl
Behdad Esfahbod [Sat, 17 Feb 2018 01:33:26 +0000 (17:33 -0800)]
Fix bitops fallback impl

6 years agoFlesh out other bit ops some more for 128bit as well
Behdad Esfahbod [Sat, 17 Feb 2018 00:52:09 +0000 (16:52 -0800)]
Flesh out other bit ops some more for 128bit as well

6 years agoClean up bit functions
Behdad Esfahbod [Fri, 16 Feb 2018 22:21:40 +0000 (14:21 -0800)]
Clean up bit functions

Compile all code-paths possible, to better catch errors.
Also enable MSVC ones on mingw which seems to support them.

6 years agoImprove _hb_popcount()
Behdad Esfahbod [Sat, 17 Feb 2018 00:06:17 +0000 (16:06 -0800)]
Improve _hb_popcount()

Support 128bit type.

6 years agoFix warnings
Behdad Esfahbod [Fri, 16 Feb 2018 23:37:22 +0000 (15:37 -0800)]
Fix warnings

6 years agoEnable C99 if available
Behdad Esfahbod [Fri, 16 Feb 2018 23:36:20 +0000 (15:36 -0800)]
Enable C99 if available

Hopefully we can now mix-and-match code and declaration in the C test files.

6 years agoMerge pull request #792 from googlefonts/master
rsheeter [Fri, 16 Feb 2018 23:27:29 +0000 (15:27 -0800)]
Merge pull request #792 from googlefonts/master

Support more tables in subsetter