Commit Graph

5698 Commits

Author SHA1 Message Date
Behdad Esfahbod
577becaf7b [subset] Fixup 2018-02-07 17:38:40 -06:00
Behdad Esfahbod
c9acab3cfb Whitespace 2018-02-07 17:28:43 -06:00
Behdad Esfahbod
7fd0b61dee [subset] Create new face and copy all tables to it
test-subset fails now because subset-face does not know how to compile itself.
2018-02-07 17:28:43 -06:00
Garret Rieger
4e1abe2ce0 Refactor subset glyf to remove multiple calls to glyf.fini() 2018-02-07 17:28:43 -06:00
Garret Rieger
0a5d1440f8 Add implementation of glyf subsetting. 2018-02-07 17:28:43 -06:00
Garret Rieger
05d65baa1b Extract glyf offset calculation into it's own method. 2018-02-07 17:28:43 -06:00
Behdad Esfahbod
6d7c6e19dc Fix two undefined-behavior issues
Fixes https://github.com/harfbuzz/harfbuzz/issues/761
Fixes https://github.com/harfbuzz/harfbuzz/issues/762
2018-02-07 14:09:56 -06:00
Behdad Esfahbod
b87cbe2bec Try fixing build for platforms that have no visibility attributes 2018-02-07 14:11:26 -05:00
Behdad Esfahbod
f70100417c [test] Minor 2018-02-07 13:58:23 -05:00
Behdad Esfahbod
6804b61d2e [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.
2018-02-07 13:47:35 -05:00
Behdad Esfahbod
af02812fc5 [subset] Change hb_subset API to remove hb_subset_face_t 2018-02-07 13:07:46 -05:00
Behdad Esfahbod
2da0d87e76 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!
2018-02-07 12:44:35 -05:00
Rod Sheeter
b95aa204ee glyph ids to retain should most likely keep the glyph id not the codepoint 2018-02-07 12:41:21 -05:00
Rod Sheeter
91428713bd Remove \ns leftover from fprintf 2018-02-07 12:41:21 -05:00
Rod Sheeter
eb485bb9e9 Horrid hack to assign new gids. Use DEBUG_MSG over fprintf 2018-02-07 12:41:21 -05:00
Rod Sheeter
8b80cbb1dd Add a subset debug category 2018-02-07 12:41:21 -05:00
Behdad Esfahbod
ee433d36fa [aat] Set debug lookup_index 2018-02-07 12:41:21 -05:00
Rod Sheeter
38df1ec8e0 TEMPORARY: remove HB_INTERNAL from null pool so subset builds again 2018-02-07 12:41:21 -05:00
Garret Rieger
53aa0e9542 Add an instance of glyf::accelerator_t to hb-subset-glyf. 2018-02-07 12:41:21 -05:00
Rod Sheeter
ef62dfed3f add back assert_pod 2018-02-07 12:41:21 -05:00
Rod Sheeter
d0ce3c66e2 Resolve codepoints:glyph ids. Does not compile; undefined reference to OT::_hb_NullPool 2018-02-07 12:41:21 -05:00
Garret Rieger
6a45e5df24 Add skeleton of hb-subset-glyf, call if from hb_subset(...) 2018-02-07 12:41:21 -05:00
Garret Rieger
31ec3c2ec4 Create a subset plan in hb_subset. 2018-02-07 12:41:21 -05:00
Rod Sheeter
6c52d94fd1 capture the set of codepoints passed by --unicodes 2018-02-07 12:41:21 -05:00
Garret Rieger
25e9173fe8 Make hb-subset-plan private. 2018-02-07 12:41:21 -05:00
Garret Rieger
af46a4da5a Move definition of hb_subset_input into hb-subset-private.hh. 2018-02-07 12:41:21 -05:00
Garret Rieger
7481f0ce21 Add codepoints to subset input. 2018-02-07 12:41:21 -05:00
Garret Rieger
1cfe650f02 Add a basic sketch of hb-subset-plan. 2018-02-07 12:41:21 -05:00
Behdad Esfahbod
126ffdbe95 [aat] Fix debug compile 2018-02-07 12:26:57 -05:00
Ebrahim Byagowi
8cb8bfd5b5
[test] Fix test-subset on old distros (#758)
https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem
2018-02-06 20:40:42 +03:30
Behdad Esfahbod
2971e9da49 [aat] Adjust unsafe-to-break logic some more
I believe I'm happy with it now.
2018-02-06 11:48:04 -05:00
Behdad Esfahbod
f49256d80f [aat] Simplify unsafe-to-break logic 2018-02-06 11:39:36 -05:00
Behdad Esfahbod
cc1e0840ba [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.
2018-02-06 10:20:48 -05:00
Ebrahim Byagowi
d49ae5154e Fix hb-buffer logic error 2018-02-06 10:13:11 -05:00
Ebrahim Byagowi
70e13ade81
[subset] Fix Windows issue on endlines (#756) 2018-02-06 13:20:38 +03:30
Behdad Esfahbod
f41b92134a Fix fallthrough compiler warning with gcc >= 7
Fixes https://github.com/harfbuzz/harfbuzz/issues/755
2018-02-05 19:51:09 -05:00
Behdad Esfahbod
b7b7f0ac59 [test] Minor 2018-02-05 19:40:31 -05:00
Behdad Esfahbod
0ff007daaa [subset] Minor 2018-02-05 19:36:38 -05:00
Garret Rieger
fc1e82a5ae
Merge pull request #754 from googlefonts/master
Fix build for subsetting code.
2018-02-05 15:35:13 -08:00
Garret Rieger
2ea228935d ssize_t -> size_t 2018-02-05 15:10:01 -08:00
Garret Rieger
c25898eb54 Switch to fopen() instead of open() in subset test. open wasn't compiling on windows. 2018-02-05 14:35:32 -08:00
Garret Rieger
fc04f11ce1 Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for. 2018-02-05 11:12:33 -08:00
Garret Rieger
e428f7b1c2 Wrap unistd.h include in ifdef. 2018-02-05 10:24:16 -08:00
Garret Rieger
5f6eb1256f Add libharfbuzz-subset.la to linking when building api tests. 2018-02-05 10:23:38 -08:00
Behdad Esfahbod
ae39fc8171 [subset] Build hb-subset into separate libharfbuzz-subset.so 2018-02-04 20:18:52 -05:00
Behdad Esfahbod
eac20e4595 [subset] Minor 2018-02-04 20:08:50 -05:00
Behdad Esfahbod
257022b178
Merge pull request #745 from googlefonts/master
Interface for hb_subset, skeleton for the hb-subset cli, and basic testing rigging.
2018-02-04 20:01:35 -05:00
Behdad Esfahbod
3615f344ec [test/text-rendering-tests] Update from upstream 2018-02-04 17:21:27 -05:00
Behdad Esfahbod
54e6efadd6 [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.
2018-02-04 17:18:54 -05:00
Rod Sheeter
edcd3b80e9 Actually call hb_subset 2018-02-04 12:57:34 -08:00