Commit Graph

191 Commits

Author SHA1 Message Date
Behdad Esfahbod 0644d92ef3
Merge pull request #1018 from googlefonts/cmap4
[subset] Add cmap format 4 subsetting.
2018-05-08 15:21:09 -07:00
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 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
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 e29c8e33f3 [subset] Add a test for previous cmap breakage. 2018-04-19 12:51:51 -06: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
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
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
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
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
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 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
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