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
rsheeter
cdd19711f4
Merge branch 'master' into master
2017-02-23 13:09:01 -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
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
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
Rod Sheeter
b220918cab
Stop trusting header totalSfntSize and glyf origLength
2016-03-08 12:30:08 -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
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
Rod Sheeter
c817c969bf
hmtx optimization decoding. never encodes hmtx optimized as yet; need a cli param.
2016-01-20 14:10:02 -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
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
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
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
Khaled Hosny
c3d35ba2e1
Fix building with FONT_COMPRESSION_DEBUG
2015-05-01 01:01:11 +03: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
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
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
Rod Sheeter
90603761c7
Mark as transformed. Correct how table records were used by font.cc when writing collections.
2015-04-09 07:47:55 -07:00
Rod Sheeter
ab99e2f8bd
Per discussion with WG, update table ordering to what OTS expects. Once browsers are on latest cut of OTS we will go back to spec order.
2015-03-04 12:27:22 -08:00
Rod Sheeter
498c637024
Correct decoder output table ordering
2015-03-03 09:30:12 -08:00
Rod Sheeter
538b401b77
tweak to how index by offset is built
2015-02-25 09:22:45 -08:00
Rod Sheeter
4e48243b3a
In some build environments this results in off-by-one
2015-02-24 16:04:13 -08:00
Rod Sheeter
1c975530b9
Adding TTC support, take 1
2015-02-24 13:53:35 -08:00
Rod Sheeter
445f541996
Sort tables when decoding
2015-02-12 09:56:29 -08:00
Rod Sheeter
0a8567d4f9
Minor updates from internal copy
2015-02-12 09:30:22 -08:00
Roderick Sheeter
2b35420fa9
As suggested in https://github.com/google/woff2/pull/2 , correct const for top 7 bits
2014-11-24 07:11:04 -08:00