Behdad Esfahbod [Sat, 10 Feb 2018 19:35:17 +0000 (13:35 -0600)]
[aat] Add buffer messages
Behdad Esfahbod [Sat, 10 Feb 2018 19:25:49 +0000 (13:25 -0600)]
Minor
Behdad Esfahbod [Sat, 10 Feb 2018 19:24:22 +0000 (13:24 -0600)]
[subset] Merge remote-tracking branch 'googlefonts/master'
Behdad Esfahbod [Sat, 10 Feb 2018 19:15:57 +0000 (13:15 -0600)]
Replace Supplier.advance with Supplier::operator+=
Behdad Esfahbod [Sat, 10 Feb 2018 18:45:28 +0000 (12:45 -0600)]
[util] Use setlinebuf() if present
To work around mysterious bug on OS X.
Fixes https://github.com/harfbuzz/harfbuzz/issues/727
Ebrahim Byagowi [Sat, 10 Feb 2018 16:20:11 +0000 (19:50 +0330)]
Fix cast warnings on clang (#768)
Garret Rieger [Sat, 10 Feb 2018 02:41:21 +0000 (18:41 -0800)]
In glyf subsetting add suport for writing out a short loca table when possible.
Rod Sheeter [Sat, 10 Feb 2018 01:33:34 +0000 (17:33 -0800)]
First pass at building a cmap
Garret Rieger [Sat, 10 Feb 2018 01:24:16 +0000 (17:24 -0800)]
Check for failures from add table.
Rod Sheeter [Sat, 10 Feb 2018 01:14:37 +0000 (17:14 -0800)]
add missing return
Garret Rieger [Sat, 10 Feb 2018 00:22:09 +0000 (16:22 -0800)]
Keep a second set of glyph ids in subset plan which is sorted by glyph id and always has gid 0
Garret Rieger [Sat, 10 Feb 2018 00:06:33 +0000 (16:06 -0800)]
Formatting for hb-subset-plan.
Behdad Esfahbod [Fri, 9 Feb 2018 22:04:23 +0000 (16:04 -0600)]
Try fixing build with Sun Studio
Trying to fix:
https://circleci.com/gh/harfbuzz/harfbuzz/6635
Also part of:
https://github.com/harfbuzz/harfbuzz/issues/630
Garret Rieger [Fri, 9 Feb 2018 21:54:43 +0000 (13:54 -0800)]
Return empty face on hb_subset failure instead of null. Plus some minor cleanups for _add_head_and_set_loca_version
Behdad Esfahbod [Fri, 9 Feb 2018 21:51:45 +0000 (15:51 -0600)]
Typo
Behdad Esfahbod [Fri, 9 Feb 2018 21:43:20 +0000 (15:43 -0600)]
[docs] Improve UNSAFE_TO_BREAK docs
bungeman [Thu, 1 Feb 2018 18:31:25 +0000 (13:31 -0500)]
Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK.
HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is somehow affected by the previous logical glyph (the previous index in the buffer if ltr and the next index if the buffer is rtl). If these two glyphs are separated by a break (line or otherwise) then the underlying text should be re-shaped on both sides up to corresponding position in the text of some glyph not marked with this flag.
Garret Rieger [Fri, 9 Feb 2018 20:52:08 +0000 (12:52 -0800)]
Update head table with loca format selected by glyf+loca subsetting.
Garret Rieger [Fri, 9 Feb 2018 18:55:15 +0000 (10:55 -0800)]
Remove uneeded code in hb-subset.
Behdad Esfahbod [Fri, 9 Feb 2018 17:05:17 +0000 (11:05 -0600)]
[test/text-rendering-tests] Update from upstream
Rod Sheeter [Fri, 9 Feb 2018 03:39:57 +0000 (19:39 -0800)]
Create the groups for a cmap format12. Does not yet build the actual table.
Rod Sheeter [Fri, 9 Feb 2018 03:22:47 +0000 (19:22 -0800)]
capture codepoints sorted so we can use them for cmap later. one day we will have a map
Rod Sheeter [Fri, 9 Feb 2018 03:20:58 +0000 (19:20 -0800)]
remove output noise
Rod Sheeter [Fri, 9 Feb 2018 03:05:46 +0000 (19:05 -0800)]
fix comment
Rod Sheeter [Fri, 9 Feb 2018 03:03:41 +0000 (19:03 -0800)]
comment the serialization of table
Garret Rieger [Fri, 9 Feb 2018 02:32:24 +0000 (18:32 -0800)]
Add an extra entry to the end of the loca table to identify the end of the last glyph's data.
Garret Rieger [Fri, 9 Feb 2018 02:18:16 +0000 (18:18 -0800)]
Apply per table subsetting while building the new face in hb_subset.
Garret Rieger [Thu, 8 Feb 2018 23:55:12 +0000 (15:55 -0800)]
Disable subset tests on cmake for now.
Garret Rieger [Thu, 8 Feb 2018 23:55:12 +0000 (15:55 -0800)]
Disable subset tests on cmake for now.
Behdad Esfahbod [Thu, 8 Feb 2018 23:44:24 +0000 (17:44 -0600)]
Oops!
Behdad Esfahbod [Thu, 8 Feb 2018 23:38:58 +0000 (17:38 -0600)]
Whitespace
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.