src/hb-ot-glyf-table.hh


Log

Author Commit Date CI Message
Ebrahim Byagowi 90048485 2020-03-04T12:12:35 [gvar] Make sure font's num_coords matches with gvar.axisCount
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
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
Evgeniy Reizner f44e1dc0 2020-02-27T02:02:22 Fix spelling.
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 073d4954 2020-02-26T15:40:40 [draw] Port glyf path extract to draw_helper_t
Ebrahim Byagowi b59eb54f 2020-02-25T10:30:59 [glyf] Refactor, move get_points inside Glyph
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.
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 9c6499d9 2020-02-16T00:56:31 rewrite read_points() to take lambda & consts args replacing awkward x/y_setter_t structs
Ebrahim Byagowi 3a98c7fa 2020-02-06T01:11:00 [glyf] Skip empty contours As https://savannah.nongnu.org/bugs/index.php?57701
Ebrahim Byagowi 7f9b2228 2020-02-04T23:05:46 [glyf] minor Improve using https://developer.blender.org/diffusion/B/browse/master/source/blender/blenlib/intern/freetypefont.c$572
Qunxin Liu 0216a96b 2020-01-30T12:36:58 [subset] Fix simple glyph trim_padding in glyf table Detail: when numOfContours = 1 and flag = 0x31 xCoordinates and yCoordinates would be empty
Ebrahim Byagowi d106900b 2020-01-28T15:26:13 [draw][glyf] Implement quadratic to cubic call translation
Ebrahim Byagowi 74fdcdca 2020-01-28T13:45:22 [draw] Rename conic_to to quadratic_to
Ebrahim Byagowi ac81e940 2020-01-28T12:34:47 Rename hb_outline_decompose to hb_font_draw_glyph and hb_outline_decompose_funcs_t to hb_draw_funcs_t
Ebrahim Byagowi 981125aa 2020-01-25T21:31:36 Rename hb_ot_glyph_* to hb_outline_*
Ebrahim Byagowi 02f324c9 2020-01-23T15:12:12 [ot-glyph] remove open callback Apparently it wasn't requested actually and can be detected easily as paths are opened usually when move command is issued anyway.
Ebrahim Byagowi 79fed9a1 2020-01-14T17:23:30 [ot-glyph] Add open/close callbacks
Ebrahim Byagowi ec1fba13 2020-01-13T19:31:18 [ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque
Ebrahim Byagowi 42f4f1ea 2020-01-11T00:00:51 [ot-glyph] Add tests for hb_ot_glyph_decompose
Ebrahim Byagowi 61185235 2020-01-10T21:08:21 [ot-glyph] move glyph decompose logic of glyf to itself One less vector allocation yet isn't zero alloc yet which needs more work.
Ebrahim Byagowi fddf79fc 2019-10-21T14:11:27 [glyf] minor
Ebrahim Byagowi 04ac7fb1 2019-10-21T13:06:12 [ot-glyph] Add cff2 support
Ebrahim Byagowi b8b3ff1a 2019-10-14T15:37:41 [glyph] Don't copy, write directly into result
Ebrahim Byagowi f883c31c 2019-10-13T12:31:53 Implement glyph outline path API Got help from https://github.com/opentypejs/opentype.js/blob/4e0bb99/src/tables/glyf.js#L222
Ebrahim Byagowi 57b15341 2020-01-06T12:46:50 [glyf] minor, fix unlikely statements
Ebrahim Byagowi d67ba649 2019-12-05T13:15:21 Rename hb_array_t::in_range to hb_array_t::check_range
Ebrahim Byagowi 3958f6fb 2019-10-29T22:36:50 Add in_range in hb_bytes_t to merge range_checker_t with it
Ebrahim Byagowi aa3831e2 2019-10-29T21:37:07 [glyf] Use contour_bounds_t::empty to simplify get_extents logic
Ebrahim Byagowi d59ae583 2019-10-29T21:30:04 [glyf] Refactor contour_bounds_t use to make its fields protected
Ebrahim Byagowi 0efbda7a 2019-10-29T21:03:26 Remove contour_point_t so we won't need to zero its unused var
Ebrahim Byagowi b0b8551a 2019-10-12T21:12:19 [glyf] Use range_checker_t in composite_iter_t
Ebrahim Byagowi 06e35ce0 2019-10-12T15:16:31 [glyf] minor
Ebrahim Byagowi d13bb4bd 2019-10-12T12:13:57 [glyf] other cleanups
Ebrahim Byagowi e7aa8c5d 2019-10-12T11:25:32 [glyf] Introduce glyf::Glyph, a hb_bytes_t/GlyphHeader pair
Ebrahim Byagowi 546ffc9f 2019-10-12T09:51:57 [glyf] minor
Ebrahim Byagowi 4299ea26 2019-10-12T09:51:27 [glyf] Move get_contour_points to GlyphHeader
Ebrahim Byagowi dc45f225 2019-10-08T23:27:37 [ot-metrics] Don't use mixed scaled and not scaled for generating extents
Ebrahim Byagowi 6961766d 2019-10-08T16:26:48 [glyf] fix scaling direction
Ebrahim Byagowi b2628f1a 2019-10-08T15:09:09 [glyf] Move glyph bytes drop hints logic to GlyphHeader
Ebrahim Byagowi 1fb9c3b6 2019-10-08T13:50:16 [glyf] Implement depth limit for add_gid_and_children
Ebrahim Byagowi be0eddd4 2019-10-08T13:46:55 [glyf] Move add_gid_and_children to glyf table
Ebrahim Byagowi ad86806d 2019-10-08T12:14:14 [glyf] Move subset related methods inside GlyphHeader
Ebrahim Byagowi 7839e235 2019-10-07T11:14:26 [glyf] minor
Ebrahim Byagowi cbefbb24 2019-10-07T10:15:18 [glyf] Move padding removal logic to GlyphHeader
Ebrahim Byagowi 1ab8f9aa 2019-10-07T08:24:12 [glyf] minor
Ebrahim Byagowi 13fb5612 2019-10-06T23:24:06 [glyf] Aggregate get_offsets uses
Ebrahim Byagowi d73cdcf3 2019-10-06T18:09:14 [ot-font] Apply font scaling before turning to int
Ebrahim Byagowi f2339964 2019-10-06T16:41:52 [glyf] minor, remove GlyphHeader::simple_* helpers
Ebrahim Byagowi 2d7ca6a7 2019-10-06T16:31:29 [glyf] Move get_instruction_length inside GlyphHeader struct
Ebrahim Byagowi 50aef4d7 2019-10-06T14:00:07 [glyf] cleanup
Ebrahim Byagowi ee3f4630 2019-10-06T13:56:35 [glyf] Remove get_composite_iter and refactor bytes_for_glyph for shape uses
Ebrahim Byagowi 8378ab96 2019-10-06T13:49:45 [glyf] Rewrite composite iterator to new iterators convention
Ebrahim Byagowi 57528636 2019-10-05T23:51:50 [glyf][gvar] Make HB_NO_VAR buildable
Ebrahim Byagowi b3afa816 2019-10-04T00:32:04 [glyf] Use common convention of other tables access, format
Ebrahim Byagowi 88bd342c 2019-10-03T22:45:37 [glyf] minor
Michiharu Ariza b9ff43c1 2019-10-01T16:13:40 Implement gvar table and variable glyf Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
Ebrahim Byagowi 19d45dca 2019-10-03T13:39:17 Merge remote-tracking branch 'upstream/master' into var-subset
Ebrahim Byagowi cbc0646a 2019-09-24T12:08:12 Minor, normalize for each calls
Ebrahim Byagowi 6e42a418 2019-09-21T16:25:54 Minor, turn more of hb_apply to for each
Ebrahim Byagowi d512087e 2019-09-14T10:36:29 Rename GlyphID to HBGlyphID Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
Ebrahim Byagowi 8106ba7f 2019-08-29T20:33:36 [glyf] Reapply use of hb_bytes_t.as<GlyphHeader> ()
Ebrahim Byagowi 9e80fc68 2019-08-29T20:17:31 [glyf] Reapply common moving logic to GlyphHeader struct
Ebrahim Byagowi 852c9aa0 2019-08-29T20:12:53 [glyf] Reapply style fixes
Ebrahim Byagowi dce42cef 2019-08-27T14:32:05 [glyf] Move GlyphHeader::from_bytes to hb_bytes_t, introduce .as<T> ()
Ebrahim Byagowi 6e82d59b 2019-08-27T12:33:42 [glyf] Revert the way indexToLocFormat is set
Ebrahim Byagowi 2f8e8233 2019-08-25T12:37:40 [glyf] minor
Ebrahim Byagowi 07e467a3 2019-08-25T00:36:58 [glyf] Move GlyphHeader size checking to a static method
Ebrahim Byagowi 139d14dc 2019-08-24T17:23:16 [glyf] Move GlyphHeader related logics to its, making its fields protected
Ebrahim Byagowi d57819cb 2019-08-24T16:26:42 [glyf] format source
Ebrahim Byagowi 2aef3013 2019-08-24T02:59:18 [subset] Consider instruction length place itself Now fixes https://crbug.com/oss-fuzz/16639 completely
Michiharu Ariza 5763a927 2019-07-01T15:17:19 Merge branch 'master' into var-subset
Ebrahim Byagowi 385e4366 2019-06-07T10:44:53 Minor, fix gcc maybe-uninitialized complain I guess all of its field will be initialized anyway here but lets make it more defensive
Michiharu Ariza 8f8e8a84 2019-06-05T12:59:09 fix build
Michiharu Ariza 4ddab6fa 2019-06-05T11:21:27 Merge branch 'master' into var-subset
rsheeter 49879adb 2019-05-31T15:14:44 [subset] Correct calculation of max offset; fixes bug where loca would erroneously be short
Rod Sheeter 1197bef2 2019-05-24T10:52:49 [subset] Per code review, use hb_array to avoid duplicated type name
Rod Sheeter 13b3cd30 2019-05-24T10:10:12 [subset] Address @behdad review feedback
Rod Sheeter 58ce477a 2019-05-21T20:22:40 [subset] Report failure more often
Rod Sheeter 14e3b0cf 2019-05-21T20:09:36 [subset] Code review feedback
Rod Sheeter 349d692b 2019-05-21T12:38:53 [subset] Iter in and out for loca
Rod Sheeter 95445d79 2019-05-21T11:14:31 [subset] Write loca using more idiomatic harfbuzzese
Rod Sheeter 3a43603e 2019-05-20T20:40:55 [subset] Fix memory leak caused by failure to cleanup glyf accelerator
Rod Sheeter 5cedda5e 2019-05-16T19:16:52 [subset] Fix null pointer deref, tidy up a bit
Rod Sheeter 8a84b540 2019-05-16T19:14:16 [subset] Tests passing using iterator based glyf
rsheeter 9d09ac13 2019-05-11T23:16:40 [subset] Tweak hint stripping