Commit Graph

910 Commits

Author SHA1 Message Date
Behdad Esfahbod f673cfbd64 Support scripts that are written both LTR and RTL
Right now only Old Italic is marked as such.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
2018-05-07 14:12:17 -07:00
Garret Rieger b0d7971be0 [subset] Updated expected files for japanese subset integration tests to include cmap4. 2018-05-04 11:20:03 -07:00
Garret Rieger 7947927317 [subset] Update expected files for subset integration tests to include cmap4. 2018-05-04 11:20:03 -07:00
Garret Rieger a8e7f9b958 [subset] Get cmap tests passing again. 2018-05-04 11:20:03 -07:00
Garret Rieger c817992f49 [subset] Write out a format 4, plat 0 encoding record to match fontTools. 2018-05-04 11:20:03 -07:00
violet-sippial 93b03119da [subset] Do not compare ttx progress output in the tests
Suppress progress messages of ttx. This avoids comparing this output to the reference file which lets the test fail.
2018-04-30 17:28:02 -07:00
Ebrahim Byagowi 9925030f19 Don't decompose Bengali Rra and Rha
Fixes #779 and follow up to b01d9b3d90
2018-04-26 13:54:09 -07:00
Ebrahim Byagowi ce17340b23 Add hb_blob_create_from_file, a new API (#926) 2018-04-20 07:59:06 +02:00
Garret Rieger 4fa1c6705a [subset] Check instruction offsets in glyph to ensure they are in bounds. 2018-04-19 17:19:38 -06:00
Garret Rieger 3c97614598 [subset] In subset fuzzer run through drop hints and keep hints pathways. 2018-04-19 17:19:38 -06:00
Garret Rieger 535fb23c02 [subset] Add integration tests for cmap breakge. 2018-04-19 12:51:51 -06:00
Garret Rieger e29c8e33f3 [subset] Add a test for previous cmap breakage. 2018-04-19 12:51:51 -06:00
Garret Rieger 1a309dcd72 [subset] Remove printf's from fuzzing targets. 2018-04-17 19:37:36 -06:00
Garret Rieger c02b40e58f [subset] add a fuzzer target for subset_get_all_codepoints method. (#987) 2018-04-17 16:21:22 +02:00
Garret Rieger 5dadbb0fa0 [subset] Add implementation of cmap format 12 codepoint listing. (#988) 2018-04-17 15:00:23 +02:00
Garret Rieger 21a181af2b [subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table. 2018-04-16 16:29:26 -06:00
Ebrahim Byagowi f24b0b9728 Update the links and revive the dead ones 2018-04-12 13:44:32 +04:30
Ebrahim Byagowi 26e0cbd834
Actual py3 compatibility making on gen-* scripts (#941) 2018-03-29 21:22:47 +04:30
Ebrahim Byagowi cab2c2c08c
Make more gen-* scripts py3 compatible (#940) 2018-03-29 12:48:47 +04:30
Garret Rieger 1c3372786c [subset] fix infinite loop bug in looping through tables for subsetting. 2018-03-27 13:47:42 -06:00
Garret Rieger 07851aae9d [subset] Couple of fixes for fuzzer discovered issues. (#924)
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.

* [subset] Fix out of bounds read with non-two byte align glyphs.

* [subset] Just use size_device_record >= DeviceRecord::min_size.

* [subset] Add TODO.

* [subset] Re-order checks in hdmx sanitize.
2018-03-26 19:56:56 -07:00
Behdad Esfahbod 44b6c77c64 Try fixing linking again
Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.

Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
2018-03-26 14:26:45 -07:00
Garret Rieger 1396614040 [subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc 2018-03-20 19:47:36 -06:00
Garret Rieger 3531efdb4c [subset] Fixed out of bounds read when subsetting hdmx. 2018-03-20 19:47:36 -06:00
Garret Rieger e597436b99 [subset] Disable glyf accelerator_t methods if it didn't successfully init. 2018-03-20 19:47:36 -06:00
Garret Rieger 7251181b56 [subset] Fix infinite loop in there are more then 32 tables. 2018-03-20 19:47:36 -06:00
Garret Rieger 1a94804d35 [subset] Add a fix for segfault in hmtx/vmtx subsetting code. 2018-03-20 19:47:36 -06:00
Garret Rieger 31281d6a17 [subset] Add a test demonstrating a seg fault while subsetting hmtx. 2018-03-20 19:47:36 -06:00
Garret Rieger b5c7d6cffc [subset] Restore subset to hb-subset-fuzzer. 2018-03-19 16:06:17 -06:00
Garret Rieger 584693e0cb [subset] Test not linking libharfbuzz-subset-fuzzing into hb-subset-fuzzer. 2018-03-16 09:04:01 -07:00
Garret Rieger 3f9361fe7a [subset] Test hb-shape-fuzzer in run-subset-fuzzer-tests. 2018-03-16 09:04:01 -07:00
Garret Rieger ce368e0d05 [subset] make libharfbuzz-subset-fuzzing.la depend on lib target. 2018-03-16 09:04:01 -07:00
Garret Rieger 85a57029cd [subset] %d -> %zu 2018-03-16 09:04:01 -07:00
Garret Rieger 318eea5853 [subset] Add some more logging to hb-subset-fuzzer. 2018-03-16 09:04:01 -07:00
Garret Rieger 64bab8b3d0 [subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect paths for input fonts. 2018-03-16 09:04:01 -07:00
Garret Rieger 6f9a584371 [subset] Add more verbose output for subset fuzzer test. 2018-03-16 09:04:01 -07:00
Garret Rieger 0ce0f87812 [subset] Rename hb-fuzzer -> hb-shape-fuzzer. 2018-03-16 09:04:01 -07:00
Garret Rieger 1e9bd6d5ff [subset] Add rub-subset-fuzzer-tests.py to dist files. 2018-03-16 09:04:01 -07:00
Garret Rieger 474afaafd9 [subset] Add a test runner for hb-subset-fuzzer and cmake build config. 2018-03-16 09:04:01 -07:00
Garret Rieger aa9612d35f [subset] Fix fuzzing build for hb-subset-fuzzer. 2018-03-16 09:04:01 -07:00
Garret Rieger b674fc1f9f [subset] Add missing destroy of subsetting result in subset fuzzer. 2018-03-16 09:04:01 -07:00
Garret Rieger 1beb08862e [subset] First pass at setting up a fuzzing program for hb-subset. 2018-03-16 09:04:01 -07:00
Behdad Esfahbod e6e2ee2b92 Remove extra stdbool includes
They are handled in our common header.
2018-03-15 09:05:22 -07:00
Chun-wei Fan 831d4a2dab test/api: Fix building subset tests
Include stdbool.h in hb-setset-test.h instead of in the individual
sources, if it is found; otherwise use a simplistic fallback for it if
it is not found.

Also declare variables at the top of the block, to build on pre-C99
compiliers.
2018-03-13 20:17:58 +08:00
Chun-wei Fan eda6a5ea80 CMake: Fix running tests on Windows
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs.  For
those that are run through the Python wrapper scripts, use
${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python
interpreter is not in the PATH.
2018-03-13 20:17:58 +08:00
Ebrahim Byagowi 9206762bbd
Make subset test runner compatible with py3
Fixes #873
2018-03-09 15:43:03 +03:30
Garret Rieger 8548fa1522 [subset] Drop cmap 12, platform 0 tables from Mplus1p expected files. 2018-03-08 13:44:04 -08:00
Garret Rieger 9b00b9a10d [subset] Fix deadlock waiting for process output in subset test runner. 2018-03-08 13:44:04 -08:00
Garret Rieger bfec28a7db [subset] add some extra logging to subset run-tests.py. 2018-03-08 13:44:04 -08:00
Garret Rieger c7d814eaa8 [subset] Add japanese font file to subset integration tests. 2018-03-08 13:44:04 -08:00
Garret Rieger ec47cd95ba [subset] Unit test to check that post subsetting drops glyph names. 2018-03-07 11:36:54 -08:00
Garret Rieger 362f282406 [subset] fix author. 2018-03-07 11:08:55 -08:00
Garret Rieger 89465cb1c7 [subset] s/hmetrics/vmetrics. 2018-03-07 10:29:15 -08:00
Garret Rieger 91867cda6a [subset] cleanup. 2018-03-07 10:17:06 -08:00
Garret Rieger d9263f0230 [subset] add unit tests for vmtx subsetting. 2018-03-07 10:08:47 -08:00
Behdad Esfahbod 70ad69f244 [test] Fix build with older glib 2018-03-07 16:11:44 +01:00
Garret Rieger 9a6f9b4d42 [set] add a test demonstrating a bug in hb_set_union. 2018-03-07 09:25:53 +01:00
Behdad Esfahbod bcf578fefe [test] Add test suite for Brahmi Number Joiners
https://github.com/harfbuzz/harfbuzz/pull/660
2018-02-28 16:31:46 -08:00
Garret Rieger b4ba71ea7c [subset] In subset integration test pass output through ots-sanitize if present. 2018-02-28 16:16:17 -08:00
rsheeter 588a4e0f9b
Merge pull request #845 from googlefonts/drophints
[subset] drop hints from composites
2018-02-28 13:52:29 -08:00
Ebrahim Byagowi 772274625e
Merge pull request #841 from ebraminio/color
Support CPAL table
2018-02-28 12:05:49 +03:30
Ebrahim Byagowi 0eec33154a
[cmake] cleanup (#846) 2018-02-28 11:53:39 +03:30
Ebrahim Byagowi 5b9c234043 [CPAL] Refactor and address the reviews 2018-02-28 11:25:29 +03:30
Rod Sheeter ffcb5cbf71 [subset] update the test file for composite, fix an offset calculation 2018-02-27 20:17:04 -08:00
Rod Sheeter c8b230e437 Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz into drophints 2018-02-27 17:25:32 -08:00
Garret Rieger 904dd7beea [subset] Add drop hinting profile to full-font.tests 2018-02-27 17:23:44 -08:00
Garret Rieger 70a1049b3f [subset] Add a drop hints profile to basics.tests 2018-02-27 17:23:44 -08:00
Garret Rieger 5241d7f4b9 [subset] apply subset profiles (flags) to the subset integration tests. 2018-02-27 17:23:44 -08:00
Garret Rieger a4aca190a9 [subset] add expected/full-font to dist files. 2018-02-27 17:23:44 -08:00
Garret Rieger d31ace3274 [subset] Add subset integration tests using the full roboto font. 2018-02-27 17:23:44 -08:00
Garret Rieger 33f4381314 [subset] Add some more variations of the basic test. 2018-02-27 17:23:43 -08:00
Rod Sheeter b3790a65a1 [subset] add a (failing for now) test for composite glyf hint dropping 2018-02-27 17:23:30 -08:00
Garret Rieger f14d1b64c2 [subset] when dropping hints, clear hint related fields in maxp. 2018-02-27 13:49:43 -08:00
Ebrahim Byagowi 101850f9e6 Merge with master 2018-02-27 20:17:25 +03:30
rsheeter 4a1d51ef15
Merge pull request #818 from googlefonts/drophints
[subset] Drop hints
2018-02-26 20:23:41 -08:00
Ebrahim Byagowi cd28eb9f5d
Add -Werror=unused-function check to Travis (#832) 2018-02-24 14:17:54 +03:30
Rod Sheeter 5267520e07 [subset] update hdmx test to create input explicitly 2018-02-23 18:36:22 -08:00
Rod Sheeter d78393b554 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints 2018-02-23 17:53:26 -08:00
Rod Sheeter 0ac8c0c1e6 [subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about 2018-02-23 17:43:00 -08:00
Rod Sheeter 9bd6d25254 [subset] clone trim logic from fonttools glyf handling 2018-02-23 13:05:58 -08:00
Garret Rieger b1ec821051
Merge pull request #823 from googlefonts/hdmx
[subset] Add hdmx subsetting.
2018-02-23 12:32:18 -07:00
Garret Rieger e15e41ef12 [subset] Remove commented code from run-tests.py. 2018-02-23 10:51:49 -08:00
Garret Rieger 2b84480343 [subset] Update expected files for subsetting integration test to not include cmap 4. 2018-02-23 10:51:49 -08:00
Garret Rieger a88504c601 [subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored). 2018-02-23 10:51:49 -08:00
Garret Rieger 537698b601 [subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff on failure. 2018-02-23 10:51:49 -08:00
Garret Rieger 15fc45bfed [subset] Add a unit test for hdmx subsetting. 2018-02-22 15:42:39 -08:00
Rod Sheeter 4f07437dfe [subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected 2018-02-21 22:23:05 -08:00
Behdad Esfahbod 0bff6991de Ugh. Really fix build. 2018-02-19 11:51:25 -08:00
Ebrahim Byagowi b095ce59eb
Simplify hb-fuzzer output printing and fix ArchLinux bot 2018-02-19 11:58:20 +03:30
Behdad Esfahbod e2d2d81984 Limit how much work sanitize() can do
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6022
2018-02-18 17:28:53 -08:00
Behdad Esfahbod 246e280d88 [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740 2018-02-18 15:58:09 -08:00
Behdad Esfahbod 279c70a5b3
Merge pull request #796 from ebraminio/dev-run
Add a continuous builder using fswatch
2018-02-18 14:04:33 -08:00
Ebrahim Byagowi 89b82814b6 Add a continuous builder using fswatch 2018-02-18 23:56:00 +03:30
Behdad Esfahbod 0bd2d76bdd [test] Fix a couple of coverity_scan issues 2018-02-18 11:55:46 -08:00
Behdad Esfahbod fe8f40a418
Merge branch 'master' into bitops 2018-02-18 10:45:33 -08:00
Behdad Esfahbod 04dedec96b [test] Remove unused var 2018-02-16 18:32:57 -08:00
Behdad Esfahbod 6d56db8983 [test/api] Distribute all fonts 2018-02-16 18:29:29 -08:00
Garret Rieger df9e22656d [subset] add a glyf subsetting test for a font with composite glyphs. 2018-02-16 18:29:29 -08:00
Garret Rieger c36d015b0e [subset] missing return. 2018-02-16 18:29:29 -08:00
Behdad Esfahbod 7b5ce74047 Fix warnings 2018-02-16 15:38:02 -08:00
Rod Sheeter c7a633f957 [subset] try to get more info from bot where g_assert_cmpmem fails 2018-02-16 11:11:20 -08:00
Rod Sheeter 0bb2d7ac12 [subset] fix int type for blob length in hb-subset-test.h 2018-02-16 06:26:02 -08:00
Rod Sheeter 6122ad2442 [subset] add files to EXTRA_DIST 2018-02-15 11:40:28 -08:00
Rod Sheeter 27012526f9 [subset] whitespace 2018-02-14 19:01:00 -08:00
Behdad Esfahbod 83f57e24bf [test] Reinstate test/shaping/data/in-house/tests/myanmar-syllable.tests 2018-02-14 18:43:53 -08:00
Garret Rieger 04c1ec2b73 [subset] Don't fail on different checksum adjustment in subsetting tests. 2018-02-14 17:01:20 -08:00
Garret Rieger e0ffebead6 [subset] In hb-subset-test use hb_set_union instead of manually copying set. 2018-02-14 16:01:08 -08:00
Rod Sheeter fa87770372 [subset] First pass at hmtx 2018-02-14 14:53:10 -08:00
Garret Rieger e5edcc81bf [subset] Fix codepoint iteration in hb-subset-test. 2018-02-14 11:17:53 -08:00
Garret Rieger 8b1dbbef1a Fix compile error in hb-subset-test. 2018-02-14 11:05:19 -08:00
Behdad Esfahbod f53627e191 [test] Fix warning 2018-02-14 10:59:22 -08:00
Garret Rieger d008b62887 Merge remote-tracking branch 'upstream/master' into fixed 2018-02-14 10:38:52 -08:00
Garret Rieger b0eefacf4c [subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected test outputs. 2018-02-14 10:19:50 -08:00
Garret Rieger df6d780355 [subset] Extract maxp subsetting into hb-ot-maxp-table. 2018-02-14 10:19:50 -08:00
Garret Rieger 865b6971ad [subset] Add a test for OS/2 fixes during subsetting. 2018-02-14 10:19:50 -08:00
Behdad Esfahbod 694eaf6367 [set] Add backwards iterator
New API:
- hb_set_previous()
- hb_set_previous_range()
2018-02-14 01:00:10 -08:00
Behdad Esfahbod 9046e92442 [subset] Rename constructor to hb_subset_input_create_or_fail()
To signify that unlike rest of library, returns nullptr on failure.
2018-02-13 22:07:12 -08:00
Behdad Esfahbod d5b33f2fe1 [subset] hb_subset_input_t changes 2018-02-13 13:55:10 -08:00
Garret Rieger 8cf8b78faa [subset] whitespace 2018-02-12 16:30:21 -08:00
Rod Sheeter 89ee20f1a3 basic wiring for a (failing) cmap test 2018-02-12 16:01:15 -08:00
Garret Rieger 1639bdd331 [subset] Remove test-subset, testing is planned to be done at the table level here with test/subset covering the complete subsetting operation. 2018-02-12 13:40:42 -08:00
Garret Rieger 4cdd1b16c9 [subset] added todo in test-subset-glyf. 2018-02-12 13:36:28 -08:00
Garret Rieger 1714feef4f [subset] re-enable test-subset-glyf. Refactor to use common functions in hb-subset-test.h 2018-02-12 13:35:17 -08:00
Garret Rieger d8d8bd8405 [subset] Add some helper functions for writing tests around subsetting. 2018-02-12 13:34:08 -08:00
Behdad Esfahbod d33ba16361 Fix more warnings 2018-02-11 18:26:41 -08:00
Behdad Esfahbod 41906cd5ef [subset] Another fixup
I broke this in c31fcf4c58
2018-02-11 19:46:06 -06:00
Ebrahim Byagowi ae6d0259b4
Install fonttools on two bots and enable cmake hb-subset test (#777) 2018-02-11 15:40:55 +03:30
Behdad Esfahbod 6c1848b1e3 Misc warning fixes 2018-02-10 15:52:35 -06:00
Behdad Esfahbod 4c5bdb4b39 [test] Disable test-subset-glyf for now 2018-02-10 15:40:54 -06:00
Behdad Esfahbod 43314ff4c0 More fixes
test-subset-glyf still failing. No idea why :(
2018-02-10 15:40:03 -06:00
Behdad Esfahbod 3346ba9cd5 [test/text-rendering-tests] Update from upstream 2018-02-09 11:05:17 -06:00
Garret Rieger 3e81832432 Disable subset tests on cmake for now. 2018-02-08 18:05:48 -06:00
Behdad Esfahbod e081c9e8fc Oops! 2018-02-08 17:44:24 -06:00
Behdad Esfahbod 1c49afe179 Whitespace 2018-02-08 17:38:58 -06:00
Behdad Esfahbod 9682ef135f Minor fixups 2018-02-08 17:35:57 -06:00
Garret Rieger 0f3c756cbf Add CMake config for building a separate harfbuzz-subset. 2018-02-08 17:31:11 -06:00
Garret Rieger d4d120ad79 Skip subset to fonttools comparison test if TTX is not present. 2018-02-08 17:31:11 -06:00
Garret Rieger 29d915284e Whitespace 2018-02-08 17:31:11 -06:00
Garret Rieger f9420d9eff In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables. 2018-02-08 17:31:11 -06:00
Garret Rieger f2ceb5ee4d Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face. 2018-02-08 17:31:11 -06:00
Garret Rieger 89dbebd4ad Add a basic test for glyf subsetting. 2018-02-08 17:31:11 -06:00
Behdad Esfahbod 1242ad8424 [test/text-rendering-tests] Update from upstream 2018-02-08 15:08:46 -06:00
Behdad Esfahbod c479a59988 [subset] Assemble font 2018-02-07 21:26:04 -06:00
Behdad Esfahbod f70100417c [test] Minor 2018-02-07 13:58:23 -05:00
Behdad Esfahbod af02812fc5 [subset] Change hb_subset API to remove hb_subset_face_t 2018-02-07 13:07:46 -05:00
Garret Rieger 7481f0ce21 Add codepoints to subset input. 2018-02-07 12:41:21 -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 b7b7f0ac59 [test] Minor 2018-02-05 19:40:31 -05:00
Garret Rieger 5f6eb1256f Add libharfbuzz-subset.la to linking when building api tests. 2018-02-05 10:23:38 -08: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