Rod Sheeter [Sat, 24 Feb 2018 01:53:26 +0000 (17:53 -0800)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
Rod Sheeter [Sat, 24 Feb 2018 01:49:23 +0000 (17:49 -0800)]
[subset] keep glyph trim separate of more general get_offset
Rod Sheeter [Sat, 24 Feb 2018 01:43:00 +0000 (17:43 -0800)]
[subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about
Garret Rieger [Sat, 24 Feb 2018 01:33:25 +0000 (18:33 -0700)]
Merge pull request #829 from googlefonts/test-checksum
[subset] Caclculate head table checksum adjustment
Behdad Esfahbod [Sat, 24 Feb 2018 00:42:06 +0000 (16:42 -0800)]
[subset] Caclculate head table checksum adjustment
Test still fails, because we do not serialize tables in the same
order that fonttools subsetter does.
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.
Behdad Esfahbod [Fri, 23 Feb 2018 23:51:26 +0000 (15:51 -0800)]
[subset] Fix checksum calc out-of-bounds access
Garret Rieger [Fri, 23 Feb 2018 23:45:45 +0000 (15:45 -0800)]
[subset] Fix memory leak in hb-subset-glyf.
Garret Rieger [Fri, 23 Feb 2018 23:44:21 +0000 (15:44 -0800)]
[subset] Fix memory leak in hb-subset-plan.
Garret Rieger [Fri, 23 Feb 2018 23:41:52 +0000 (15:41 -0800)]
[subset] Fix memory leak in hb-subset.
Garret Rieger [Fri, 23 Feb 2018 23:37:43 +0000 (15:37 -0800)]
[subset] Fix memory leak in cmap subsetting.
Garret Rieger [Fri, 23 Feb 2018 23:36:14 +0000 (15:36 -0800)]
[subset] Fix memory leak in hmtx subsetting.
Garret Rieger [Fri, 23 Feb 2018 23:30:14 +0000 (15:30 -0800)]
[subset] Fix memory leak in subset face destroy.
Ben Boeckel [Fri, 23 Feb 2018 21:55:53 +0000 (16:55 -0500)]
autoconf: provide a harfbuzz-config for use from CMake (#822)
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.
Rod Sheeter [Fri, 23 Feb 2018 21:05:58 +0000 (13:05 -0800)]
[subset] clone trim logic from fonttools glyf handling
Garret Rieger [Fri, 23 Feb 2018 19:32:18 +0000 (12:32 -0700)]
Merge pull request #823 from googlefonts/hdmx
[subset] Add hdmx subsetting.
Garret Rieger [Fri, 23 Feb 2018 02:41:50 +0000 (18:41 -0800)]
[subset] Remove commented code from run-tests.py.
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.
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).
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.
Behdad Esfahbod [Fri, 23 Feb 2018 18:45:03 +0000 (10:45 -0800)]
[hdmx] Fix sanitize()
Behdad Esfahbod [Fri, 23 Feb 2018 18:38:35 +0000 (10:38 -0800)]
[hdmx] Minor
Behdad Esfahbod [Fri, 23 Feb 2018 18:34:26 +0000 (10:34 -0800)]
[hdmx] Move DeviceRecord to toplevel again
More readable.
Garret Rieger [Fri, 23 Feb 2018 00:48:28 +0000 (16:48 -0800)]
[subset] More complete sanitization implementation for hdmx.
Garret Rieger [Fri, 23 Feb 2018 00:40:50 +0000 (16:40 -0800)]
[subset] Formatting and comments in hdmx.
Garret Rieger [Thu, 22 Feb 2018 20:00:00 +0000 (12:00 -0800)]
[subset] In hb-ot-hdmx-table, s/glyf/hdmx.
Garret Rieger [Thu, 22 Feb 2018 19:57:35 +0000 (11:57 -0800)]
[subset] Fail subset if a table fails to sanitize.
Garret Rieger [Thu, 22 Feb 2018 01:59:57 +0000 (17:59 -0800)]
[subset] Add a unit test for hdmx subsetting.
Garret Rieger [Thu, 22 Feb 2018 01:43:32 +0000 (17:43 -0800)]
[subset] Enable hdmx subsetting.
Garret Rieger [Thu, 22 Feb 2018 01:42:58 +0000 (17:42 -0800)]
[subset] Move DeviceRecord inside of hdmx.
Garret Rieger [Thu, 22 Feb 2018 00:00:10 +0000 (16:00 -0800)]
[subset] Add hdmx subsetting implementation.
Garret Rieger [Wed, 21 Feb 2018 23:43:47 +0000 (15:43 -0800)]
[subset] In hdmx serialize set the correct value of sizeDeviceRecord.
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.
Garret Rieger [Wed, 21 Feb 2018 23:15:22 +0000 (15:15 -0800)]
[subset] Begin implementing serialize for hdmx.
Garret Rieger [Wed, 21 Feb 2018 22:18:49 +0000 (14:18 -0800)]
[subset] Sketch out a basic hb-ot-hdmx.hh.
Ebrahim Byagowi [Thu, 22 Feb 2018 23:24:12 +0000 (02:54 +0330)]
[util] Implement ppem/ptem on hb-{shape,view} (#811)
Ebrahim Byagowi [Thu, 22 Feb 2018 13:22:56 +0000 (16:52 +0330)]
[dev-run] minor
Ebrahim Byagowi [Thu, 22 Feb 2018 13:18:03 +0000 (16:48 +0330)]
[dev-run] Add gdb/lldb shortcuts
Rod Sheeter [Thu, 22 Feb 2018 06:23:05 +0000 (22:23 -0800)]
[subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected
Rod Sheeter [Wed, 21 Feb 2018 17:42:46 +0000 (09:42 -0800)]
[subset] keep the result of _subset
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
Rod Sheeter [Wed, 21 Feb 2018 19:19:18 +0000 (11:19 -0800)]
[subset] drop hint tables if so flagged. Still need to dump glyf instructions.
Ebrahim Byagowi [Wed, 21 Feb 2018 18:43:58 +0000 (22:13 +0330)]
Add .editorconfig (#810)
More information: http://editorconfig.org/
Rod Sheeter [Wed, 21 Feb 2018 18:34:00 +0000 (10:34 -0800)]
[subset] add --hinting flag
Rod Sheeter [Wed, 21 Feb 2018 17:42:46 +0000 (09:42 -0800)]
[subset] keep the result of _subset
Behdad Esfahbod [Wed, 21 Feb 2018 08:35:23 +0000 (00:35 -0800)]
Use HB_SET_VALUE_INVALID consistently
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).
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.
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.
Garret Rieger [Tue, 20 Feb 2018 23:33:03 +0000 (15:33 -0800)]
[subset] Sanity check that loca writes are inbounds.
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.
Behdad Esfahbod [Tue, 20 Feb 2018 23:02:25 +0000 (15:02 -0800)]
[aat] Cosmetic touch-ups to trak table
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.
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.
Garret Rieger [Tue, 20 Feb 2018 22:07:40 +0000 (14:07 -0800)]
[subset] Move glyf subsetting code into hb-ot-glyf-table.hh
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
Ebrahim Byagowi [Tue, 20 Feb 2018 14:29:04 +0000 (17:59 +0330)]
[dev-run] minor
Ebrahim Byagowi [Tue, 20 Feb 2018 14:19:29 +0000 (17:49 +0330)]
[dev-run] Support autotools builds
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
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
Ebrahim Byagowi [Mon, 19 Feb 2018 19:57:08 +0000 (23:27 +0330)]
[aat] First dig on 'trak'
Behdad Esfahbod [Mon, 19 Feb 2018 19:51:25 +0000 (11:51 -0800)]
Ugh. Really fix build.
Behdad Esfahbod [Mon, 19 Feb 2018 19:49:25 +0000 (11:49 -0800)]
Fix build after previous commit
Behdad Esfahbod [Mon, 19 Feb 2018 19:38:53 +0000 (11:38 -0800)]
[subset] Don't include hb-subset.h from hb.h
Ebrahim Byagowi [Mon, 19 Feb 2018 16:30:07 +0000 (20:00 +0330)]
Check availability of entr instead now that this works with it
Ebrahim Byagowi [Mon, 19 Feb 2018 08:28:20 +0000 (11:58 +0330)]
Simplify hb-fuzzer output printing and fix ArchLinux bot
Ebrahim Byagowi [Mon, 19 Feb 2018 07:36:13 +0000 (11:06 +0330)]
Test debug builds on ArchLinux bot
Fixes #805
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
Behdad Esfahbod [Mon, 19 Feb 2018 01:12:04 +0000 (17:12 -0800)]
[aat] Minor
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.
Behdad Esfahbod [Mon, 19 Feb 2018 00:26:04 +0000 (16:26 -0800)]
[aat] Silence warning
Behdad Esfahbod [Mon, 19 Feb 2018 00:10:15 +0000 (16:10 -0800)]
[ci] Make AppVeyor less noisy
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
Behdad Esfahbod [Sun, 18 Feb 2018 23:42:25 +0000 (15:42 -0800)]
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740
Ebrahim Byagowi [Sun, 18 Feb 2018 23:47:44 +0000 (03:17 +0330)]
[aat] First dig on 'kerx' (#704)
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
Behdad Esfahbod [Sun, 18 Feb 2018 20:41:24 +0000 (12:41 -0800)]
Remove unused check
Ebrahim Byagowi [Fri, 16 Feb 2018 09:23:33 +0000 (12:53 +0330)]
Add a continuous builder using fswatch
Behdad Esfahbod [Sun, 18 Feb 2018 19:55:26 +0000 (11:55 -0800)]
[test] Fix a couple of coverity_scan issues
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
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
Behdad Esfahbod [Sun, 18 Feb 2018 18:50:24 +0000 (10:50 -0800)]
Fix BitScanForward() usage
Should fix Win64 bot.
Behdad Esfahbod [Sun, 18 Feb 2018 18:45:33 +0000 (10:45 -0800)]
Merge branch 'master' into bitops
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.
Behdad Esfahbod [Sat, 17 Feb 2018 02:32:57 +0000 (18:32 -0800)]
[test] Remove unused var
Behdad Esfahbod [Sat, 17 Feb 2018 01:08:44 +0000 (17:08 -0800)]
Update outdated TODO file
Behdad Esfahbod [Sat, 17 Feb 2018 01:02:57 +0000 (17:02 -0800)]
[test/api] Distribute all fonts
Behdad Esfahbod [Sat, 17 Feb 2018 00:58:17 +0000 (16:58 -0800)]
Misc fixes
Should bring bag djgpp bot.
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.
Garret Rieger [Sat, 17 Feb 2018 00:02:15 +0000 (17:02 -0700)]
[subset] missing return.
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.
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.
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.
Garret Rieger [Fri, 16 Feb 2018 18:27:03 +0000 (11:27 -0700)]
[subset] Use complex glyph closure to populate gids_to_retain_sorted.
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
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.
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.
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.
Behdad Esfahbod [Sat, 17 Feb 2018 02:20:12 +0000 (18:20 -0800)]
Another bitops fallback impl fix