Commit Graph

177 Commits

Author SHA1 Message Date
Frédéric Wang ed27db0b91 Add support for the CMake build system.
This brings various improvements to the current Makefile and intends to help
people to package WOFF2:

* Build and install static and shared libraries for encoder and decoder
* Install public headers
* Generate and install pc files for PkgConfig
* Build the woff2_* programs
* Build the fuzzer archives
* Specify a release version (0.0.1 is hardcoded for now)
* Build using a Brotli version installed on the system, instead of the git
  submodule
* Have some CANONICAL_PREFIXES and NOISY_LOGGING configuration options
2017-10-05 16:18:39 -07:00
rsheeter 3060d8b232 Merge pull request #91 from rsheeter/master
Move public headers into a separate include/woff2 directory
2017-10-05 15:48:19 -07:00
Frédéric Wang 9b5a53b1d7 Move public headers into a separate include/woff2 directory
This is a first step to make WOFF2 a shared library. Public headers are moved
in their own directory to make the public API clearer. This is similar to
the c/include/brotli/ directory in Brotli. "using" commands are also removed
from the public headers, so that callers won't have unexpected side effect
when including the files.
2017-10-05 12:04:24 -07:00
rsheeter 914faa323d Merge pull request #72 from JLHwung/fix-macos-compilation-error
remove illegal `-f' ar option on Darwin
2017-10-05 11:27:29 -07:00
rsheeter 4995570f3e Merge pull request #90 from rsheeter/master
Relicense as MIT
2017-10-05 11:25:27 -07:00
Rod Sheeter 53846e1861 Relicense as MIT 2017-10-04 16:12:46 -07:00
rsheeter 0e9850d992 Merge pull request #86 from eustas/brotli-v1
Pull brotli v1.0.1
2017-10-04 10:57:11 -07:00
Eugene Kliuchnikov f07f3fb803 Pull brotli v1.0.0 2017-09-25 11:12:52 +02:00
rsheeter aa283a500a Merge pull request #85 from rsheeter/master
Refuse to decode woff2 files with bounding boxes for empty glyphs
2017-08-23 14:05:59 -07:00
Rod Sheeter 679771f97a Reject fonts with bounding boxes for empty glyphs 2017-08-23 14:03:23 -07:00
Rod Sheeter f3f2f0104f ignore woff2_info binary 2017-08-23 14:03:23 -07:00
rsheeter be080b644e Merge pull request #84 from rsheeter/master
Reject fonts with bad loca origLength or hmtx reserved bits set. Fix a misplaced bracket.
2017-08-23 13:04:11 -07:00
Rod Sheeter e6579e6b12 Reject fonts with bad loca origLength or hmtx reserved bits set. Correct misplaced bracket in type conversion. 2017-08-23 12:59:55 -07:00
rsheeter 36e6555b92 Merge pull request #81 from rsheeter/master
Check glyf/loca pairing for TTC and check glyf/loca matching transform status
2017-07-31 09:22:05 -07:00
Rod Sheeter 2e09253456 Check for non-consecutive glyf/loca. Reject inconsistent xform flags on glyf/loca 2017-07-31 09:16:49 -07:00
Rod Sheeter 2c6c5846dd reminder to update fuzzer on change 2017-07-31 09:14:44 -07:00
rsheeter 7dfff0003d Merge pull request #80 from rsheeter/master
Add woff2_info util
2017-07-27 09:46:26 -07:00
Rod Sheeter a3c61ecad8 Add woff2_info 2017-07-27 09:37:28 -07:00
rsheeter e580ebc30a Merge pull request #78 from garretrieger/master
Various crash fixes for encoder and decoder, mostly found by fuzzing.
2017-07-24 08:38:14 -07:00
Garret Rieger 44ab8c45d7 Fix a crash bug in the woff2 decoder when totalSfntSize in the woff2 header is <= 0. 2017-07-19 17:35:57 -07:00
Garret Rieger 849bdb0d24 Fix a crash in the woff2 encoder when it encounters a loca table with a length of zero. 2017-07-19 17:35:13 -07:00
Garret Rieger 4f659ddbad Allow endian-aware optimizations only on whitelisted CPUs. 2017-07-19 17:34:24 -07:00
Garret Rieger 12141fdaf2 Support tables with 0 length (which previously failed in multiple places). 2017-07-19 17:32:38 -07:00
Rod Sheeter cbea7b962e Make it possible to disable noisy logging in support of #348 2017-03-06 10:30:05 -08:00
rsheeter 68e9ab5d45 Merge pull request #75 from eustas/master
Fix fuzzer library linkage (missing dictionary.o)
2017-02-25 09:17:42 -08:00
Eugene Kliuchnikov a9d21c7d0b Fix fuzzer library linkage (missing dictionary.o) 2017-02-25 18:05:38 +01:00
rsheeter 49abfeab8a Merge pull request #68 from eustas/master
Roll new brotli version
2017-02-23 13:09:31 -08:00
rsheeter cdd19711f4 Merge branch 'master' into master 2017-02-23 13:09:01 -08:00
rsheeter 14715c32c2 Merge pull request #74 from rsheeter/master
Avoid shadowing
2017-02-23 10:45:24 -08:00
Rod Sheeter 086bc06ce9 Avoid shadowing 2017-02-23 10:29:01 -08:00
Rod Sheeter 82a9f3afb2 Add check for size of head table to woff2 enc 2017-02-15 13:52:56 -08:00
J Huang 58bb16a546 remove illegal `-r' ar option on Darwin 2017-02-12 10:41:15 +08:00
rsheeter b91b020ced Merge pull request #71 from google/oss-fuzz
Add fuzzers for consumption by https://github.com/google/oss-fuzz
2017-01-03 16:23:33 -08:00
Rod Sheeter 8109a2cc2b Add fuzzers for consumption by https://github.com/google/oss-fuzz 2017-01-03 16:21:48 -08:00
Eugene Kliuchnikov 9db42c09e9 Roll new brotli version. 2016-12-06 11:14:53 +01:00
Rod Sheeter 63b8fb6d0d Correct comment slightly 2016-09-21 14:48:52 -07:00
Rod Sheeter 58f6fe2aea Add a comment to clarify which ConvertWOFF2ToTTF should be preferred 2016-09-21 14:35:34 -07:00
rsheeter cd3078d6d7 Merge pull request #51 from khaledhosny/write-failure
Don’t ignore write failure
2016-08-09 08:12:39 -07:00
Khaled Hosny cdd850ef52 Don’t ignore write failure
Makes it easy to find the source of the problems than failing later.
2016-08-09 15:59:50 +02:00
Rod Sheeter afbecce5ff Fix TTC detection, based on findings by libFuzzer 2016-05-25 08:53:43 -07:00
Rod Sheeter 8f3ff26c37 Fix an out of bounds access found by libFuzzer 2016-05-17 16:00:38 -07:00
Rod Sheeter a15a8ab86b Fixes for bugs uncovered by libFuzzer analysis. A write past buffer, a potential DOS by way of giant alloc, and an out of range access. 2016-05-06 13:14:42 -07:00
Rod Sheeter 9476664fd6 Fix bug where table could mismatch header vs data when allow_transforms was set false (not easily possible w/current tools) 2016-05-06 13:10:33 -07:00
Rod Sheeter 2bc6acf6df Push fix for https://bugs.chromium.org/p/chromium/issues/detail?id=604649 2016-04-21 09:29:50 -07:00
Rod Sheeter 07cd303dd2 Update to latest brotli. Use size_t more consistently. Remove dead code. 2016-04-21 09:27:28 -07:00
Rod Sheeter 4e698b8c6c Fix clang compile by adding <string> to woff2_out.h 2016-03-09 10:32:53 -08:00
rsheeter a3a4d48f97 Merge pull request #48 from google/length
Stop trusting header totalSfntSize and glyf origLength
2016-03-08 12:50:01 -08:00
Rod Sheeter b220918cab Stop trusting header totalSfntSize and glyf origLength 2016-03-08 12:30:08 -08:00
rsheeter 643c7b4589 Merge pull request #47 from irori/brotli-license
Update comment about Brotli license
2016-02-24 08:55:29 -08:00
Kunihiko Sakamoto df59a8e366 Update comment about Brotli license 2016-02-24 16:00:43 +09:00