Behdad Esfahbod [Thu, 8 Feb 2018 23:35:57 +0000 (17:35 -0600)]
Minor fixups
Garret Rieger [Thu, 8 Feb 2018 23:17:34 +0000 (15:17 -0800)]
Don't include subset headers in libharfbuzz.
Garret Rieger [Thu, 8 Feb 2018 23:11:15 +0000 (15:11 -0800)]
Fix include gaurds and include order in hb-subset-glyf and hb-subset-plan
Garret Rieger [Thu, 8 Feb 2018 22:59:32 +0000 (14:59 -0800)]
Add CMake config for building a separate harfbuzz-subset.
Garret Rieger [Thu, 8 Feb 2018 22:26:18 +0000 (14:26 -0800)]
Skip subset to fonttools comparison test if TTX is not present.
Garret Rieger [Thu, 8 Feb 2018 19:31:27 +0000 (11:31 -0800)]
Whitespace
Garret Rieger [Thu, 8 Feb 2018 19:30:36 +0000 (11:30 -0800)]
In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables.
Garret Rieger [Thu, 8 Feb 2018 03:01:21 +0000 (19:01 -0800)]
Implement basic loca (long version only) subsetting.
Garret Rieger [Thu, 8 Feb 2018 00:53:18 +0000 (16:53 -0800)]
Update interface to hb-subset-glyf to subset glyf and loca.
Garret Rieger [Thu, 8 Feb 2018 00:47:31 +0000 (16:47 -0800)]
Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face.
Garret Rieger [Thu, 8 Feb 2018 00:32:56 +0000 (16:32 -0800)]
Add a basic test for glyf subsetting.
Garret Rieger [Thu, 8 Feb 2018 00:30:07 +0000 (16:30 -0800)]
Cleanups in hb-subset-glyf and hb-subset-plan.
Rod Sheeter [Thu, 8 Feb 2018 00:09:52 +0000 (16:09 -0800)]
move to the hb_face_t dest pattern
Rod Sheeter [Wed, 7 Feb 2018 23:59:36 +0000 (15:59 -0800)]
sketch a subset<T> and call it for cmap. Add subset to cmap, albeit not working even for the msot basic case just yet
Behdad Esfahbod [Thu, 8 Feb 2018 23:22:07 +0000 (17:22 -0600)]
Fix overflow in space fallback shaping
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=657466
Behdad Esfahbod [Thu, 8 Feb 2018 23:14:52 +0000 (17:14 -0600)]
Avoid undefined-behavior in fallback mark positioning
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5584
Behdad Esfahbod [Thu, 8 Feb 2018 23:00:37 +0000 (17:00 -0600)]
[fuzzer] Minor
Behdad Esfahbod [Thu, 8 Feb 2018 22:27:57 +0000 (16:27 -0600)]
[util] Minor
Behdad Esfahbod [Thu, 8 Feb 2018 21:11:28 +0000 (15:11 -0600)]
[aat] Minor
Behdad Esfahbod [Thu, 8 Feb 2018 20:10:01 +0000 (14:10 -0600)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 8 Feb 2018 03:54:33 +0000 (21:54 -0600)]
TODO
Behdad Esfahbod [Thu, 8 Feb 2018 03:49:01 +0000 (21:49 -0600)]
[subset] Fix thinko
Behdad Esfahbod [Thu, 8 Feb 2018 03:42:03 +0000 (21:42 -0600)]
Fix another thinko
Behdad Esfahbod [Thu, 8 Feb 2018 03:37:03 +0000 (21:37 -0600)]
[subset] Fix thinko
Behdad Esfahbod [Thu, 8 Feb 2018 03:34:05 +0000 (21:34 -0600)]
Build
Behdad Esfahbod [Thu, 8 Feb 2018 03:13:10 +0000 (21:13 -0600)]
[subset] Assemble font
Behdad Esfahbod [Thu, 8 Feb 2018 00:07:45 +0000 (18:07 -0600)]
[set] Respect stride
Ouch!
Behdad Esfahbod [Wed, 7 Feb 2018 23:38:40 +0000 (17:38 -0600)]
[subset] Fixup
Behdad Esfahbod [Wed, 7 Feb 2018 23:12:55 +0000 (17:12 -0600)]
Whitespace
Behdad Esfahbod [Wed, 7 Feb 2018 22:44:52 +0000 (16:44 -0600)]
[subset] Create new face and copy all tables to it
test-subset fails now because subset-face does not know how to compile itself.
Garret Rieger [Wed, 7 Feb 2018 21:28:11 +0000 (13:28 -0800)]
Refactor subset glyf to remove multiple calls to glyf.fini()
Garret Rieger [Wed, 7 Feb 2018 21:09:54 +0000 (13:09 -0800)]
Add implementation of glyf subsetting.
Garret Rieger [Wed, 7 Feb 2018 18:55:30 +0000 (10:55 -0800)]
Extract glyf offset calculation into it's own method.
Behdad Esfahbod [Wed, 7 Feb 2018 20:09:56 +0000 (14:09 -0600)]
Fix two undefined-behavior issues
Fixes https://github.com/harfbuzz/harfbuzz/issues/761
Fixes https://github.com/harfbuzz/harfbuzz/issues/762
Behdad Esfahbod [Wed, 7 Feb 2018 19:11:26 +0000 (14:11 -0500)]
Try fixing build for platforms that have no visibility attributes
Behdad Esfahbod [Wed, 7 Feb 2018 18:58:23 +0000 (13:58 -0500)]
[test] Minor
Behdad Esfahbod [Wed, 7 Feb 2018 18:47:35 +0000 (13:47 -0500)]
[subset] Add hb_subset_face
It's a hb_face_t that has add_table() and in the future knows how to
compile itself into a font blob.
Behdad Esfahbod [Wed, 7 Feb 2018 18:07:46 +0000 (13:07 -0500)]
[subset] Change hb_subset API to remove hb_subset_face_t
Behdad Esfahbod [Wed, 7 Feb 2018 17:44:35 +0000 (12:44 -0500)]
Remove NullPool visibility hack
We keep a separate private NullPool in libharfbuzz-subset.so
This can fire back later since now there are two separate null objects,
and comparisons to the null pool can be confused. Something to deal
with when it comes up. Ouch!
Rod Sheeter [Wed, 7 Feb 2018 17:37:06 +0000 (09:37 -0800)]
glyph ids to retain should most likely keep the glyph id not the codepoint
Rod Sheeter [Wed, 7 Feb 2018 17:35:59 +0000 (09:35 -0800)]
Remove \ns leftover from fprintf
Rod Sheeter [Wed, 7 Feb 2018 17:32:36 +0000 (09:32 -0800)]
Horrid hack to assign new gids. Use DEBUG_MSG over fprintf
Rod Sheeter [Wed, 7 Feb 2018 17:31:31 +0000 (09:31 -0800)]
Add a subset debug category
Behdad Esfahbod [Wed, 7 Feb 2018 17:30:18 +0000 (12:30 -0500)]
[aat] Set debug lookup_index
Rod Sheeter [Wed, 7 Feb 2018 15:58:58 +0000 (07:58 -0800)]
TEMPORARY: remove HB_INTERNAL from null pool so subset builds again
Garret Rieger [Wed, 7 Feb 2018 01:05:22 +0000 (17:05 -0800)]
Add an instance of glyf::accelerator_t to hb-subset-glyf.
Rod Sheeter [Wed, 7 Feb 2018 01:12:17 +0000 (17:12 -0800)]
add back assert_pod
Rod Sheeter [Wed, 7 Feb 2018 00:58:35 +0000 (16:58 -0800)]
Resolve codepoints:glyph ids. Does not compile; undefined reference to OT::_hb_NullPool
Garret Rieger [Wed, 7 Feb 2018 00:04:09 +0000 (16:04 -0800)]
Add skeleton of hb-subset-glyf, call if from hb_subset(...)
Garret Rieger [Tue, 6 Feb 2018 23:37:34 +0000 (15:37 -0800)]
Create a subset plan in hb_subset.
Rod Sheeter [Tue, 6 Feb 2018 23:31:14 +0000 (15:31 -0800)]
capture the set of codepoints passed by --unicodes
Garret Rieger [Tue, 6 Feb 2018 01:26:25 +0000 (17:26 -0800)]
Make hb-subset-plan private.
Garret Rieger [Tue, 6 Feb 2018 01:14:46 +0000 (17:14 -0800)]
Move definition of hb_subset_input into hb-subset-private.hh.
Garret Rieger [Tue, 6 Feb 2018 00:05:12 +0000 (16:05 -0800)]
Add codepoints to subset input.
Garret Rieger [Mon, 5 Feb 2018 23:22:30 +0000 (15:22 -0800)]
Add a basic sketch of hb-subset-plan.
Behdad Esfahbod [Wed, 7 Feb 2018 17:26:41 +0000 (12:26 -0500)]
[aat] Fix debug compile
Ebrahim Byagowi [Tue, 6 Feb 2018 17:10:42 +0000 (20:40 +0330)]
[test] Fix test-subset on old distros (#758)
https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem
Behdad Esfahbod [Tue, 6 Feb 2018 16:48:04 +0000 (11:48 -0500)]
[aat] Adjust unsafe-to-break logic some more
I believe I'm happy with it now.
Behdad Esfahbod [Tue, 6 Feb 2018 16:39:36 +0000 (11:39 -0500)]
[aat] Simplify unsafe-to-break logic
Behdad Esfahbod [Tue, 6 Feb 2018 15:20:48 +0000 (10:20 -0500)]
[buffer] Tweak diff re glyph_flags again
We expect the buffer to have no flags that the reference doesn't...
Meh. Makes MORX tests pass now. Need to better define the behavior.
Ebrahim Byagowi [Tue, 6 Feb 2018 10:18:10 +0000 (13:48 +0330)]
Fix hb-buffer logic error
Ebrahim Byagowi [Tue, 6 Feb 2018 09:50:38 +0000 (13:20 +0330)]
[subset] Fix Windows issue on endlines (#756)
Behdad Esfahbod [Tue, 6 Feb 2018 00:51:09 +0000 (19:51 -0500)]
Fix fallthrough compiler warning with gcc >= 7
Fixes https://github.com/harfbuzz/harfbuzz/issues/755
Behdad Esfahbod [Tue, 6 Feb 2018 00:40:31 +0000 (19:40 -0500)]
[test] Minor
Behdad Esfahbod [Mon, 5 Feb 2018 01:22:07 +0000 (20:22 -0500)]
[subset] Minor
Garret Rieger [Mon, 5 Feb 2018 23:35:13 +0000 (15:35 -0800)]
Merge pull request #754 from googlefonts/master
Fix build for subsetting code.
Garret Rieger [Mon, 5 Feb 2018 23:10:01 +0000 (15:10 -0800)]
ssize_t -> size_t
Garret Rieger [Mon, 5 Feb 2018 22:35:32 +0000 (14:35 -0800)]
Switch to fopen() instead of open() in subset test. open wasn't compiling on windows.
Garret Rieger [Mon, 5 Feb 2018 19:12:33 +0000 (11:12 -0800)]
Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for.
Garret Rieger [Mon, 5 Feb 2018 18:24:16 +0000 (10:24 -0800)]
Wrap unistd.h include in ifdef.
Garret Rieger [Mon, 5 Feb 2018 18:23:38 +0000 (10:23 -0800)]
Add libharfbuzz-subset.la to linking when building api tests.
Behdad Esfahbod [Mon, 5 Feb 2018 01:18:52 +0000 (20:18 -0500)]
[subset] Build hb-subset into separate libharfbuzz-subset.so
Behdad Esfahbod [Mon, 5 Feb 2018 01:08:50 +0000 (20:08 -0500)]
[subset] Minor
Behdad Esfahbod [Mon, 5 Feb 2018 01:01:35 +0000 (20:01 -0500)]
Merge pull request #745 from googlefonts/master
Interface for hb_subset, skeleton for the hb-subset cli, and basic testing rigging.
Behdad Esfahbod [Sun, 4 Feb 2018 22:19:58 +0000 (17:19 -0500)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Sun, 4 Feb 2018 19:58:02 +0000 (14:58 -0500)]
[aat] Fix unsafe-to-break
At any position, if state is not zero, mark unsafe-to-break before,
unless we can reason it safe.
At any position, if there's an action entry for end-of-text, mark
unsafe to break.
Also changes buffer diff impl to allow for flag differences as long
as the buffer glyph flags are superset of reference glyph flags.
With this, all MORX tests pass.
Rod Sheeter [Sun, 4 Feb 2018 20:31:24 +0000 (12:31 -0800)]
Actually call hb_subset
Garret Rieger [Sat, 3 Feb 2018 01:54:11 +0000 (17:54 -0800)]
Add CMakeLists.txt to dist files for subset test.
Garret Rieger [Sat, 3 Feb 2018 01:50:45 +0000 (17:50 -0800)]
Add CMake configuration for all of the new subsetting code.
Garret Rieger [Sat, 3 Feb 2018 01:49:14 +0000 (17:49 -0800)]
Add missing unistd header to hb-subset.
Garret Rieger [Fri, 2 Feb 2018 02:36:15 +0000 (18:36 -0800)]
Properly include subset test data files.
Garret Rieger [Fri, 2 Feb 2018 02:22:14 +0000 (18:22 -0800)]
Re-write hb-subset utility to use main-font-text driver.
Garret Rieger [Fri, 2 Feb 2018 01:17:36 +0000 (17:17 -0800)]
Whitespace
Garret Rieger [Fri, 2 Feb 2018 01:14:51 +0000 (17:14 -0800)]
Include subset test files in distribution.
Garret Rieger [Fri, 2 Feb 2018 00:50:18 +0000 (16:50 -0800)]
Whitespace
Garret Rieger [Wed, 31 Jan 2018 23:43:24 +0000 (15:43 -0800)]
Get test-subset to pass.
Garret Rieger [Wed, 31 Jan 2018 23:20:52 +0000 (15:20 -0800)]
Attach add a hb_face_t to hb_subset_face_t.
Garret Rieger [Wed, 31 Jan 2018 22:53:28 +0000 (14:53 -0800)]
Whitespace
Garret Rieger [Wed, 31 Jan 2018 22:53:09 +0000 (14:53 -0800)]
Add a basic implementation of hb-subset to enable compilation of test-subset.
Garret Rieger [Wed, 31 Jan 2018 19:32:23 +0000 (11:32 -0800)]
Make the expected output for subsetting basics test be equal to the input file for now.
Garret Rieger [Wed, 31 Jan 2018 19:14:53 +0000 (11:14 -0800)]
Add the beginning of a unit test for hb-subset
Rod Sheeter [Wed, 31 Jan 2018 03:27:11 +0000 (19:27 -0800)]
tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
Garret Rieger [Wed, 31 Jan 2018 02:40:23 +0000 (18:40 -0800)]
Add hb-subset.h to hb.h
Garret Rieger [Wed, 31 Jan 2018 02:39:41 +0000 (18:39 -0800)]
Fix typo in hb-subset.h
Garret Rieger [Tue, 30 Jan 2018 22:03:16 +0000 (14:03 -0800)]
Remove basic subset test from XFAIL
Garret Rieger [Mon, 29 Jan 2018 21:31:49 +0000 (13:31 -0800)]
Whitespace
Garret Rieger [Mon, 29 Jan 2018 21:30:02 +0000 (13:30 -0800)]
Configure automake to run the new subset tests.
Garret Rieger [Sat, 27 Jan 2018 00:57:42 +0000 (16:57 -0800)]
WIP test runner for subset tests.
Garret Rieger [Fri, 26 Jan 2018 22:25:39 +0000 (14:25 -0800)]
In generate-expected-outputs read the test definition with utf8 encoding.
Garret Rieger [Fri, 26 Jan 2018 21:57:48 +0000 (13:57 -0800)]
Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files.