Commit Graph

5306 Commits

Author SHA1 Message Date
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
Garret Rieger 7b01761ade Add CMakeLists.txt to dist files for subset test. 2018-02-04 12:57:34 -08:00
Garret Rieger f83a43b561 Add CMake configuration for all of the new subsetting code. 2018-02-04 12:57:34 -08:00
Garret Rieger 5bc0cda179 Add missing unistd header to hb-subset. 2018-02-04 12:57:34 -08:00
Garret Rieger 06fe297f2a Properly include subset test data files. 2018-02-04 12:57:34 -08:00
Garret Rieger 058b1260ad Re-write hb-subset utility to use main-font-text driver. 2018-02-04 12:57:34 -08:00
Garret Rieger ede84ffa42 Whitespace 2018-02-04 12:57:34 -08:00
Garret Rieger 2763a2c598 Include subset test files in distribution. 2018-02-04 12:57:34 -08:00
Garret Rieger 34fa7b3ad2 Whitespace 2018-02-04 12:57:34 -08:00
Garret Rieger 8c3a672737 Get test-subset to pass. 2018-02-04 12:57:34 -08:00
Garret Rieger 74d39ed263 Attach add a hb_face_t to hb_subset_face_t. 2018-02-04 12:57:34 -08:00
Garret Rieger 76b84c36b9 Whitespace 2018-02-04 12:57:34 -08:00
Garret Rieger a2965f2ea5 Add a basic implementation of hb-subset to enable compilation of test-subset. 2018-02-04 12:57:33 -08:00
Garret Rieger 38af23b8df Make the expected output for subsetting basics test be equal to the input file for now. 2018-02-04 12:57:33 -08:00
Garret Rieger b59c08eb04 Add the beginning of a unit test for hb-subset 2018-02-04 12:57:33 -08:00
Rod Sheeter e9d154ac8d tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input 2018-02-04 12:57:33 -08:00
Garret Rieger cf403e1a53 Add hb-subset.h to hb.h 2018-02-04 12:57:33 -08:00
Garret Rieger c02573516c Fix typo in hb-subset.h 2018-02-04 12:57:33 -08:00
Garret Rieger 76351518ca Remove basic subset test from XFAIL 2018-02-04 12:57:33 -08:00
Garret Rieger b029b7c19a Whitespace 2018-02-04 12:57:33 -08:00
Garret Rieger 0853260e99 Configure automake to run the new subset tests. 2018-02-04 12:57:33 -08:00
Garret Rieger 5c63c37b2b WIP test runner for subset tests. 2018-02-04 12:57:33 -08:00
Garret Rieger cc46cd88a1 In generate-expected-outputs read the test definition with utf8 encoding. 2018-02-04 12:57:33 -08:00
Garret Rieger 4cdae914e2 Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files. 2018-02-04 12:57:33 -08:00
Rod Sheeter 9ccb8366f6 Start to sketch APIs for subsetting 2018-02-04 12:57:33 -08:00
Behdad Esfahbod 89b1906d99 [aat] More adjustment to ContextualSubtable
See comment.

With this, MORX-20 passes if I turn --verify off.  Our unsafe-to-break
logic is currently broken in presence of end-of-text actions.  That's,
ugh, extra work to fix.  Let me try...
2018-02-04 14:45:02 -05:00
Behdad Esfahbod 8be596f0b7 [aat] In ContextualSubstitute, apply end-of-text action to last glyph 2018-02-04 14:40:17 -05:00
Behdad Esfahbod c0b1c7eb2e [aat] Remove unneeded check 2018-02-04 14:19:41 -05:00
Behdad Esfahbod fcb8be1a38 [configure] Fix wording
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
2018-02-04 12:38:18 -05:00
Behdad Esfahbod aed32589af [aat] In ContextualSubtable, mark mark after substituting mark
Fixes MORX-21.
2018-02-04 12:36:54 -05:00
Behdad Esfahbod fe5f9b1ae3 [aat] Fix ContextualSubtable sanitization
Fixes MORX-18, MORX-19, and MORX-22.
2018-02-04 12:36:54 -05:00