src


Log

Author Commit Date CI Message
ariza 5935a1dc 2020-03-03T12:12:51 add pop_discard() calls to errror returns
ariza c05458ec 2020-03-02T16:51:19 update cff & cff2 subsetters
Ebrahim Byagowi 90048485 2020-03-04T12:12:35 [gvar] Make sure font's num_coords matches with gvar.axisCount
Ebrahim Byagowi 1af3363f 2020-03-04T11:32:01 [gvar] Use hb_array_t instead indexing raw pointers
Ebrahim Byagowi 99b5b3f1 2020-03-04T11:15:46 [gvar] Make sure TupleVarHeader has the needed size Fixes https://crbug.com/oss-fuzz/21026
Ebrahim Byagowi b398748d 2020-03-04T11:18:19 [algs] Add hb_clamp Similar to stl and glsl's clamp
Ebrahim Byagowi f745777c 2020-03-03T19:14:41 minor, debug bit, ops
Ebrahim Byagowi f253f06c 2020-03-03T18:57:13 [fuzz] Add another fixed case https://crbug.com/oss-fuzz/14626 another numerous subtables count which is fixed by d38360397
Ebrahim Byagowi d3836039 2020-03-02T22:41:08 Limit OT::Lookup subtables (#2219) Fixes https://crbug.com/oss-fuzz/13943
Ebrahim Byagowi 60262e4c 2020-02-29T22:57:59 [var] Build end-points array on gvar itself
Ebrahim Byagowi 44169f33 2020-02-29T16:04:03 [draw] Fix invalid rendering of some glyph on Estedad-VF Basically reverts 11f3fca so I can do the same tested and better later Fixes #2215
Michiharu Ariza 5ab50eeb 2020-02-29T01:32:29 collect_unicodes() with clamp, calling add_range() Use add_range instead an inner loop, clamp its input number by number of glyphs a face has. Even the face cmap12 and 13 have 32-bit hb_codepoint_t, which is here used to make timeout, face's maxp has 16-bit gid limitation at least for now, using that makes sure we both fix and the timeout and don't need to change much things here also in order to support 32-bit gids also someday. Fixes #2204
Garret Rieger 414529e4 2020-02-28T15:15:55 [subset] Limit the number of feature indices processed during script subsetting.
Garret Rieger 75622b0d 2020-02-28T14:11:48 [subset] Limit the number of features processed in the feature closure.
Garret Rieger c66ee213 2020-02-27T12:25:01 Limit the number of feature indices processed during feature collection.
Ebrahim Byagowi 758fda72 2020-02-28T23:19:06 [glyf] Don't accept gids higher than maxp's glyphs number This specially becomes concerning on sub-components where a gvar table that is sanitized using maxp's glyphs number overflows when a high gid accepted here goes to it, maybe an additional check can be put there also, this however feels to be enough. Fixes https://crbug.com/oss-fuzz/20944
Ebrahim Byagowi e642aab1 2020-02-28T22:24:25 [subset] Add source_blob as a hb_subset_context_t field (#2203) So no more double sanitizing source table.
Ebrahim Byagowi e9021386 2020-02-28T21:24:27 Revert "collect_unicodes() to check gid < num_glyphs with cmap 12" Didn't fix the case actually, making bots to fail. This reverts commit 15b43a410400c74a32d40f4b89dbea02fa7cd6e1.
Ebrahim Byagowi 61208401 2020-02-28T21:09:07 [gvar] Use hb_bytes_t.check_range instead having in house one And use TupleVarHeader calculated size for validity check. Fixes https://crbug.com/oss-fuzz/20919 and possibly other gvar related issues
Michiharu Ariza 15b43a41 2020-02-28T08:45:39 collect_unicodes() to check gid < num_glyphs with cmap 12 fixes #2204
Qunxin Liu b0749bfa 2020-02-14T13:49:44 [subset] GDEF LigCaretList subsetting support
ariza 002f0e20 2020-02-27T17:34:26 reimplment serialize_int using check_assign()
Ebrahim Byagowi 14b13437 2020-02-27T15:58:58 [gvar] Minor, check whether sub_array result also have enough room
Ebrahim Byagowi 8eba66c1 2020-02-27T15:58:58 [gvar] Fix invalid memory access by refactoring GlyphVarData fetch logic Fixes https://crbug.com/oss-fuzz/20906
Evgeniy Reizner f44e1dc0 2020-02-27T02:02:22 Fix spelling.
Qunxin Liu 5ad761b9 2020-02-11T13:05:40 [subset] GDEF MarkGlyphSets subsetting support
Qunxin Liu fcd7f33b 2020-02-10T10:36:50 [subset] GDEF glyphClassDef subsetting support glyphClassDef uses the same ClassDef format. However, glyphClassDef table uses predefined class values so we do not remap class values.
Garret Rieger 50129b03 2020-02-25T17:39:59 Add a reverse () call to hb_array_t.
Garret Rieger 38c6598c 2020-02-25T17:20:05 Switch to C style comments.
Garret Rieger 52b6e0ba 2020-02-10T12:26:40 When serializing cmap14 order the offsets from smallest to largest. Current versions of OTS fail fonts with cmap 14's who's last offset does not point to the a block at the end of the table.
ariza d0aaba5c 2020-02-26T09:35:32 fixes oss-fuzz 20886 hb_set_t::resize () is needed after compact()
Ebrahim Byagowi 05a25c1a 2020-02-26T19:35:27 [cff] minor, remove unused fields
Ebrahim Byagowi 9fe0dc34 2020-02-26T17:40:44 [draw] Pass draw_helper_t itself around instead recreating it Specially helpful if we want to change the design
Ebrahim Byagowi 4cdaa9d1 2020-02-26T16:27:04 [glyf] Simplify contour end logic So no need for infinite loop here
Ebrahim Byagowi 84163c83 2020-02-26T15:58:11 [draw] Skip commands and paths not contributing anything They aren't contributing to rendering and making issue for stroking, let's skip them ourselves as Skia does also https://skia-review.googlesource.com/c/skia/+/268166 They are useful for extracting extents and so which that functionality won't be effected by this change.
Ebrahim Byagowi 073d4954 2020-02-26T15:40:40 [draw] Port glyf path extract to draw_helper_t
Ebrahim Byagowi 0ebf3a4e 2020-02-26T15:14:41 [draw] Move common CFF path building logic to draw_helper_t
Michiharu Ariza c400cb88 2020-02-25T16:06:03 Re-implement hb_set_t::del_range (#2194) * optimize hb_set_del_range() fix issue #2193 * fixed bug & added tests * coding & comment tweaks
Ebrahim Byagowi c21eb86b 2020-02-26T02:54:38 Merge pull request #2163 from harfbuzz/absolute-link added add_link_abs()
ariza 4081439d 2020-02-25T15:03:12 tweak reflecting review & add test cases
ariza de896278 2020-02-25T07:12:20 coding & comment tweaks
Ebrahim Byagowi 2f97aa65 2020-02-25T18:07:44 [cff] Make sure previous is ended on processing a seac
Ebrahim Byagowi acc2d473 2020-02-25T18:05:48 [cff] Make path extract easier to read and more defensive
Ebrahim Byagowi b59eb54f 2020-02-25T10:30:59 [glyf] Refactor, move get_points inside Glyph
ariza 173b745d 2020-02-24T22:56:57 fixed bug & added tests
ariza a5012e97 2020-02-24T17:09:48 optimize hb_set_del_range() fix issue #2193
Ebrahim Byagowi 1f5a54c7 2020-02-24T13:18:24 [gvar] fix infinite loop introduced by 11f3fca The attempt on removing end_points had made the code unreadable and has intrdouced infinite, fixed by making the code clear what it tries to achieve.
Ebrahim Byagowi f00eb4eb 2020-02-24T09:21:25 [gvar] Don't compare against Null address
Ebrahim Byagowi 19b78d56 2020-02-24T09:08:01 [gvar] Accept coord_count even if is higher than gvar's axisCount
Ebrahim Byagowi 197e2e92 2020-02-24T08:53:53 [gvar] Return gracefully even if gvar wasn't used at all
Ebrahim Byagowi 346ab988 2020-02-24T08:46:08 [gvar] Return gracefully even if coords_count != gvar's axis count It shouldn't be that common to have the situation, even so, no need to reject entire a glyph even if gvar isn't used.
Ebrahim Byagowi 5f23a76e 2020-02-24T08:23:23 [cff] Don't remove coords const qualification We should find some way to audit all the const removals, perhaps by enabling -Wold-style-cast warning on the project and turning all the implicit const removals to const_cast.
Michiharu Ariza ff5223ba 2020-02-23T15:53:21 remove invalid glyphs from closure (#2188) fix issue #2186
Ebrahim Byagowi e17fd0d9 2020-02-23T23:58:39 [tools] More on py3 compatibility
Ebrahim Byagowi 0cf050a7 2020-02-23T23:00:48 [draw] Merge consequent move-to commands of CFF/CFF2
Ebrahim Byagowi 86bd5a0b 2020-02-23T22:46:26 [draw] End CFF paths with a line-to Issue a line-to command when start and end point of a path isn't same, matches freetype also.
Ebrahim Byagowi a46ba770 2020-02-22T17:15:00 [number] minor
ariza 4aa354be 2020-02-20T05:03:15 chain second OffsetTo::serialize_copy() to first
ariza 6120f50c 2020-02-19T13:55:39 fix Head with link.bias
ariza e65bff09 2020-02-19T13:38:04 workaround whence_t as bit-field
ariza 1aed6d22 2020-02-19T13:20:29 fix whence=Head; position as 28 bits
ariza 4ca8e0d9 2020-02-19T12:52:18 re-implement Tail; rewrote name table with it
ariza c1313e4b 2020-02-17T17:33:18 minor: undid unintended change
ariza 9c65680b 2020-02-17T16:59:45 rename enums to avoid conflict on win
ariza 555f6f1d 2020-02-17T16:29:40 merge add_link_abs() into add_link()
ariza 017cd945 2020-02-06T16:11:58 added add_link_abs()
Ebrahim Byagowi 07504569 2020-02-21T13:05:44 [gsub] minor format
Garret Rieger 41122542 2020-02-20T13:43:06 Fix glyph closure for alternate substitution. It was not filtering on the glyphs to be retained.
Ebrahim Byagowi da37880e 2020-02-20T19:01:43 [draw] Add a private bit field instead null-checking quad-to callback This doesn't imply the the design is good or stable just is better to not fail due to null quad-to callback so as our quad-cubic curves translation is currently table limited which can be revisited anytime.
Ebrahim Byagowi 8c652f72 2020-02-19T16:32:44 Minor, switch to https links where possible
Ebrahim Byagowi bbcbcafc 2020-02-19T16:21:47 [tool] Minor, move input files link
Ebrahim Byagowi 8d199077 2020-02-19T14:56:55 Remove python2 support from tests/utils scripts
Rico Tzschichholz 2c9fbf55 2020-02-12T14:59:52 Improve GIR build
Qunxin Liu 493e40ff 2020-02-18T13:09:08 [subset] add one empty byte to glyf table if it's going to end up empty after subsetting This will make OTS happy and match what fontTools is doing now.
Ebrahim Byagowi a7dec0cb 2020-02-18T16:22:12 [glyf] Tweak path_builder_t
Ebrahim Byagowi d52ea2a4 2020-02-18T15:46:02 [glyf] minor
Ebrahim Byagowi 3b0c58f8 2020-02-18T15:42:48 [glyf] minor, use private font coords to simplify
Ebrahim Byagowi dcd2729e 2020-02-18T15:38:57 [glyf] Move contour_bounds_t into scope it is actually used
Ebrahim Byagowi 8bb47fa1 2020-02-18T15:06:43 [glyf] minor, spacing
Ebrahim Byagowi 21a5fe4f 2020-02-18T14:38:55 [glyf] Make returning phantoms to not require another vector
Ebrahim Byagowi 5c03fbe7 2020-02-18T13:55:28 [glyf] do a phantom only iteration when possible
Ebrahim Byagowi 11f3fca0 2020-02-18T12:53:20 [glyf/gvar] Remove need of passing end points vector around
Ebrahim Byagowi 0f2c2d98 2020-02-18T11:52:16 [glyf] Push consumer machine one more level further
Ebrahim Byagowi 11f5f7c5 2020-02-17T23:44:31 [glyf] Adopt a state machine like style for the path builder Toward making glyf path reader alloc free at least on gvar absence.
Ebrahim Byagowi 60f8f384 2020-02-17T10:11:49 [glyf] Switch to ttf-parser's glyf to path algorithm It consumes each point at a time and doesn't need to know contour size before hand
ariza 3c792c2a 2020-02-17T07:18:08 add test cases for hb_unwrap_type
ariza 168ceeac 2020-02-14T11:56:56 renamed to hb_unrwap_type(); now recursive
ariza 71552ecc 2020-02-13T12:58:22 add hb_get_type
ariza 65858463 2020-02-16T17:16:29 pop_pack(share=false) in end_serialize() issue #2177
Michiharu Ariza 39fb57c0 2020-02-16T08:38:41 add share option to pop_pack() (#2176) as a solution for #2164
ariza 9c6499d9 2020-02-16T00:56:31 rewrite read_points() to take lambda & consts args replacing awkward x/y_setter_t structs
Behdad Esfahbod d663e28a 2020-02-12T15:41:21 [serialize] Catch signedness overflows in check_assign() Should address https://github.com/harfbuzz/harfbuzz/pull/2163#pullrequestreview-355137936
Ebrahim Byagowi ff984ed3 2020-02-11T19:50:51 Use multiplication to avoid undefined behaviour per clang Newer versions of MSVC with /we4146 don't like putting negative sign behind a unsigned number as https://github.com/harfbuzz/harfbuzz/pull/2069 That however have made https://crbug.com/1050424 this complain: src/hb-ot-color-sbix-table.hh:304:28: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself which apparently can be fixed using this change. Let's see if this won't make another ubsan complain!
Ebrahim Byagowi 21e1b131 2020-02-11T17:08:55 [colr] minor style fix
Ebrahim Byagowi cbb45c3e 2020-02-11T16:46:14 [subset/colr] minor improve to resolve msvc complain MSVC says, hb-ot-color-colr-table.hh(215): warning C4700: uninitialized local variable 'new_record' used [build\harfbuzz-subset.vcxproj] harfbuzz-subset.vcxproj -> build\Debug\harfbuzz-subset.lib
Ebrahim Byagowi 352ac63e 2020-02-11T03:03:03 Fix an unlikely UAF on the deprecated _set_glyph_func API Fixes https://github.com/harfbuzz/harfbuzz/issues/2168
Ebrahim Byagowi 6a390df8 2020-02-10T17:19:23 [tools] Print unicode links on gen-* tools output As Behdad's review
Evgeniy Reizner 4dc87365 2020-02-09T18:39:33 Add links to files used by python scripts. Closes #2150
Ebrahim Byagowi 40166eb0 2020-02-08T13:17:06 [var] Fix the just introduced hb_font_set_var_coords_design storing bug The memcpy call was using the current coords count which is zero initially so no copy at all. Sad that no test has caught it, should see why, will however with the upcoming style API tests.
Ebrahim Byagowi 5c1a023f 2020-02-08T10:57:07 [tool] Optimize COLR glyph dump Move palette colors fetching out of gid iteration so not fetching all the colors of a palette each time.