Commit Graph

186 Commits

Author SHA1 Message Date
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
rsheeter fb1ae7c877 Merge pull request #45 from ssinger/issue44
Fix issue #44
2016-02-19 10:42:40 -08:00
Rod Sheeter f4bb8b83c5 Add CONTRIBUTING.md 2016-02-18 09:46:27 -08:00
Steve Singer 9ba0580721 Fix issue #44
Use a static_cast instead of a reinterpert_cast so the code compiles
2016-02-10 22:25:06 -05:00
Rod Sheeter d1efde9124 Update woff2_dec.cc range checking 2016-02-04 08:24:36 -08:00
rsheeter ee1b44e0b4 Merge pull request #43 from google/hmtx
Tweaks requested by @fred-wang; null transform support
2016-01-28 11:38:36 -08:00
Rod Sheeter bdf886a06b Allow WOFF2Params to specify no transformations at all 2016-01-28 11:36:18 -08:00
Rod Sheeter 14f4cb67ec Tweaks requested by @fred-wang to help Mozilla build 2016-01-28 11:34:31 -08:00
rsheeter 256cca5b2c Merge pull request #42 from google/hmtx
hmtx optimization decoding. never encodes hmtx optimized as yet
2016-01-20 14:24:57 -08:00
Rod Sheeter c817c969bf hmtx optimization decoding. never encodes hmtx optimized as yet; need a cli param. 2016-01-20 14:10:02 -08:00
rsheeter db0448815a Merge pull request #41 from Lucas-C/master
Definining __STDC_FORMAT_MACROS to support old gcc versions
2016-01-04 12:32:09 -08:00
Lucas Cimon 1414a2690b Definining __STDC_FORMAT_MACROS to support old gcc versions + explicitly raising an error when Brotli submodule is not initialized - cf. issue #19 2015-12-31 09:20:31 +01:00
rsheeter b2e7af9f6f Merge pull request #39 from irori/c4018-fix
Fix signed/unsigned comparison warnings on MSVC
2015-11-30 07:21:35 -08:00
Kunihiko Sakamoto 965d077bde Fix signed/unsigned comparison warnings on MSVC 2015-11-17 18:20:03 +09:00
rsheeter 6dbcb5844e Merge pull request #34 from khaledhosny/master
Don’t print to stderr unless a standalone binary
2015-10-28 10:28:58 -07:00
Rod Sheeter fde07429be Be more accepting of fonts with unusual sets of tables 2015-10-26 07:16:42 -07:00
Khaled Hosny 17ed658d0a Don’t print to stderr unless a standalone binary
We will use woff2 code from OTS and it is undesirable for a library to
print messages to stderr.
2015-08-28 01:30:03 +02:00
Rod Sheeter eeec219f20 Only reorder the table directory 2015-07-27 08:47:58 -07:00
rsheeter 600ffc29d5 Merge pull request #27 from khaledhosny/kill-continuestream
Kill kWoff2FlagsContinueStream
2015-07-15 11:34:35 -04:00
Khaled Hosny 208c8f854e Kill kWoff2FlagsContinueStream
There is only a single data stream for all the compressed tables, but
the code was originally written for separately compressed tables then
retrofitted, so this is an attempt to streamline it a bit.
2015-07-15 11:25:52 +02:00
Rod Sheeter 4e3bb3418f Merge PR #16 (reject composite glyphs w/o bbox), slightly modified to match recent code updates (mostly just adding branch predictions) 2015-07-14 10:12:40 -07:00
rsheeter 3fdb28894a Merge pull request #14 from CoolOppo/patch-1
Clone recursively rather than manually for Brotli
2015-07-13 12:18:04 -04:00
Rod Sheeter e31c8abfeb Update brotli to head from google/brotli. 2015-07-13 09:09:01 -07:00
Rod Sheeter ea4c87a2c5 Updates from internal copy. Better branch prediction, ability to set Brotli quality on ConvertTTFToWOFF2 2015-07-13 09:08:04 -07:00
rsheeter e3ea2285a7 Merge pull request #25 from khaledhosny/invalid-base128
Reject UIntBase128 with leading zeros
2015-06-29 15:30:13 -04:00
rsheeter 50fe91ba1a Merge pull request #24 from khaledhosny/clang-warning
Fix compiler warning for clang
2015-06-29 11:22:01 -04:00
Khaled Hosny f43ad22271 Reject UIntBase128 with leading zeros
Fixes #23.
2015-06-25 06:53:21 +02:00
Khaled Hosny c54533f47f Fix compiler warning on Mac OS X
warning: format specifies type 'unsigned long' but the argument has type
'uint64_t' (aka 'unsigned long long') [-Wformat]
2015-06-25 03:32:08 +02:00
rsheeter 2855ee7b8b Merge pull request #17 from khaledhosny/fix-debug
Fix building with FONT_COMPRESSION_DEBUG
2015-05-06 09:19:40 -07:00
Khaled Hosny c3d35ba2e1 Fix building with FONT_COMPRESSION_DEBUG 2015-05-01 01:01:11 +03:00
Rod Sheeter 93699d2659 Merge branch 'mitya57-master' 2015-04-27 08:56:21 -07:00
Rod Sheeter 75e9553b35 Update to latest brotli 2015-04-27 08:55:38 -07:00
Rod Sheeter 1c0bd585ac Merge branch 'master' of https://github.com/mitya57/woff2 into mitya57-master 2015-04-27 08:14:59 -07:00
Rod Sheeter cbd682fcc9 remove comment that has been addressed 2015-04-22 15:55:53 -07:00
rsheeter 56e5e74d34 Merge pull request #13 from khaledhosny/bbox
Fix simple glyph bounding box handling
2015-04-22 15:52:54 -07:00
rsheeter ad8c15fa7d Merge pull request #4 from khaledhosny/master
Some spec conformance fixes
2015-04-22 08:44:51 -07:00
Khaled Hosny 531adab1fe Reject non-zero loca transformLength 2015-04-20 00:21:05 +02:00
Khaled Hosny 3f91c6e58f Check matadata and private blocks offsets & length
So that we can reject fonts with extraneous data between blocks, as the
spec says we should reject says we should reject such fonts.
2015-04-20 00:11:04 +02:00
Khaled Hosny 0634e0a719 Don't accept too long totalSfntSize
Per the spec (WOFF 2.0 spec just refer to WOFF 1.0 spec here):
http://www.w3.org/TR/2012/REC-WOFF-20121213/#conform-totalsize-longword-reject
2015-04-20 00:11:04 +02:00
CoolOppo 8a7eec25df Clone recursively rather than manually for Brotli 2015-04-14 18:57:19 -04:00
Khaled Hosny de2cabb897 Fix simple glyph bounding box handling
Per the spec[1], the bounding box should be calculated and if it differs
from the one stored on the font, the original should be written
otherwise it should be omitted. On the other hand, the bounding box of
composite glyphs should be always written.

Fixes #12.

1. http://dev.w3.org/webfonts/WOFF2/spec/#conform-mustCalculateOmitBBoxValues
2015-04-10 22:07:56 +02:00
rsheeter 7375be53fc Merge pull request #11 from google/rsheeter-master
Mark as transformed. Correct how TTC table records were used by font.cc.
2015-04-09 07:50:53 -07:00