src/OT


Log

Author Commit Date CI Message
Behdad Esfahbod 02751514 2023-01-09T12:26:39 [paint] Align deptch/edge count conditions across two backends
Behdad Esfahbod f46dcf14 2023-01-08T14:33:54 [paint/COLR] Fix clip transform Sigh. So complicated.
Behdad Esfahbod f283d4d3 2023-01-08T12:42:34 [paint] Try to adjust both renderers to use same clip order
Behdad Esfahbod 5bd6fc1a 2023-01-07T16:32:50 Comment
Behdad Esfahbod 432afa9d 2023-01-07T16:25:30 [paint] Fix paint_extents usage It was broken all this time :(. The two backends do this slightly differently...
Behdad Esfahbod 65c3cde5 2023-01-07T14:29:18 [COLRv1] Fix scale variation
Behdad Esfahbod c8486b63 2023-01-07T14:15:17 [open-type] Add to_int to fixed types To make sure we don't accidentally forget to_float(). As we did recently in COLRv1 code.
Behdad Esfahbod dfd9bf8a 2023-01-07T14:05:02 [COLRv1] Fix a couple of missing to_float() calls Ouch!
Behdad Esfahbod d045de78 2023-01-07T13:55:17 [paint] Optimize PAINT_COMPOSITE At the start of each paint call the current group is clear. So we don't need to start a new group for the backdrop paint. A paint composite really needs one group push, not two.
Matthias Clasen 4adc748b 2023-01-01T09:46:11 Move Color tables to src/OT/Color/
Behdad Esfahbod 2eacc37e 2022-12-31T12:27:13 [vector] Add internal API for exact-size allocation Use it from a couple of places.
Behdad Esfahbod ae208963 2022-12-26T12:30:39 Add hb-limits.hh
Behdad Esfahbod f3985d94 2022-12-22T10:11:28 [paint] Fix drawing non-color glyphs
Matthias Clasen c2219339 2022-12-21T18:39:27 [paint] Preserve foreground information
Matthias Clasen 6387004c 2022-12-21T16:43:19 [paint] Simplify api Drop the hb_paint_context_t struct from the API, and only pass the font where we need it.
Matthias Clasen 71bd5a0d 2022-12-21T16:18:46 [paint] Resolve colors We don't need to pass the index/alpha pairs to client callbacks, and can just resolve the colors internally. Update test results.
Matthias Clasen 9be01b6b 2022-12-21T14:04:32 [paint] Pass hb_paint_context_t along Replace the font argument with a hb_paint_context_t that carries the font, the palette index and the foreground color. The hb_font_paint_glyph() api now takes the palette index and the foreground color as extra arguments. Update all callers and regenerate test results.
Matthias Clasen 97224f3b 2022-12-21T02:11:36 [paint] Pass font to all callbacks This will lead to easier implementations. At the same time, we change the push_clip_glyph callback to use the font as-is, no unscaling needed. Update all callers and expected test results.
Matthias Clasen 686e627b 2022-12-17T12:44:16 [paint] Set up root transform in one place Instead of spreading this in all the tables, make hb_paint_funcs_t provide a push/pop_root_transform that does all the setup.
Behdad Esfahbod 601a596c 2022-12-17T09:22:55 [paint] Fix include path
Matthias Clasen 2edd771c 2022-12-16T23:32:15 glyf: Implement paint_glyph
Behdad Esfahbod 9a0ebd2b 2022-12-22T10:21:07 [glyf] Fix slant-scaling in GlyphHeader too
Behdad Esfahbod b0abbfd8 2022-12-22T07:26:14 [font] Centralize glyph-extents scaling Needs more testing... Some rounding was removed, namely in cff1 and cff2.
Behdad Esfahbod 97b8ada8 2022-12-21T19:52:20 [varc] Reset component coordinates to that of the font Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/78
Behdad Esfahbod 9b5b4da0 2022-12-20T09:57:32 [varc] Set coordinates as absolute values
Behdad Esfahbod 80e68f09 2022-12-19T19:15:44 [VarC] Change rotation/skew representation Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/77
Behdad Esfahbod 03a16856 2022-12-19T17:11:34 [VarC] Change representation of scale from 4.12 to 6.10 Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/76
Jordan Petridis 79285a99 2022-12-13T20:14:20 VarC: cast ints (#3934) msvc is rightfully complaining that the types on the sides of the ternary are not matching: ``` C:\pango\subprojects\harfbuzz\src\OT\glyf\VarCompositeGlyph.hh(317): error C2446: ':': no conversion from 'const OT::HBUINT16' to 'const OT::HBUINT8' ```
Behdad Esfahbod bd7cb384 2022-12-12T14:10:13 [VarC] Remove unused variable
Behdad Esfahbod 1b278c76 2022-12-12T13:57:05 [VarC] Update for new format https://github.com/harfbuzz/boring-expansion-spec/issues/71
Behdad Esfahbod 6bb478ee 2022-12-12T11:39:06 [VarC] Clamp after addition
Behdad Esfahbod 80a5011e 2022-12-12T11:37:59 [VarC] Fix coord setting Those are additive.
Behdad Esfahbod 9ab2c803 2022-12-11T12:00:54 Revert "[glyf] Use component phantom points after transformation" This reverts commit a756bd1944404da6e53173c4061a2aef262e60f3. Fixes https://github.com/harfbuzz/harfbuzz/issues/3929
Behdad Esfahbod bf2e8175 2022-12-09T23:15:26 [VarComposites] Support GID24
Behdad Esfahbod 10d38dcd 2022-12-09T19:19:57 [varc] Change format slightly Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/70
Behdad Esfahbod 5cf0b9ae 2022-12-09T18:59:43 [varc] Mark as experimental feature with HB_NO_VAR_COMPOSITES
Behdad Esfahbod 82b4f379 2022-12-09T18:45:37 [coord-setter] Don't modify font coords
Behdad Esfahbod e9e503b8 2022-12-09T18:42:46 [Glyph] Pass down coords to get_points
Behdad Esfahbod 8e468700 2022-12-09T18:35:30 [gvar] Take coords in instead of font in apply_deltas_to_points
Behdad Esfahbod 3caa42a4 2022-12-09T14:48:41 Fix build after rebase
Behdad Esfahbod bbe59e42 2022-12-08T16:04:19 Whitespace
Behdad Esfahbod 13deea7c 2022-10-18T13:38:12 [glyf/VarComposite] Clamp axis coordinates
Behdad Esfahbod a975be4c 2022-10-18T11:00:35 [glyf/VarComposite] Minor rename
Behdad Esfahbod 1e71db2d 2022-10-18T10:47:32 [glyf/VarComposite] Fix transformation
Behdad Esfahbod 1233be61 2022-10-17T14:06:44 [glyf/VarComposite] Remove unneeded resize
Behdad Esfahbod 1a906162 2022-10-17T14:01:34 [glyf/coord-setter] Fix memory issue
Behdad Esfahbod 7efd68da 2022-10-17T13:05:22 [glyf/VarComposite] Set coordinates Code is untested but complete!
Behdad Esfahbod 4ec77814 2022-10-17T12:53:58 [glyf] Move coord-setter to its own file
Behdad Esfahbod dadb4ed7 2022-10-17T12:48:24 [glyf/VarComposite] More, almost there
Behdad Esfahbod 0a939b48 2022-10-17T12:12:40 [glyf/VarComposite] Implement more
Behdad Esfahbod 65cc3b5e 2022-10-13T17:11:12 [glyf/VarComposite] More
Behdad Esfahbod 60d959a6 2022-10-13T14:15:36 [glyf/VarComposite] Add use_my_metrics()
Behdad Esfahbod 575d9940 2022-10-13T13:12:26 [glyf] Flesh out VarCompositeGlyph
Behdad Esfahbod 21f671bc 2022-10-13T11:25:29 [glyf] Add stub VarCompositeGlyph
Behdad Esfahbod 435c5eef 2022-10-13T10:54:58 [glyf] Split composite-iter
Behdad Esfahbod 1024a013 2022-08-22T09:49:30 [glyf] Add CoordSetter
Behdad Esfahbod aa7f5e37 2022-12-04T15:31:47 [subset] Conditionalize call to hb_font_set_variations
Behdad Esfahbod 301f6e4b 2022-12-04T11:46:10 [Coverage] Remove TODO
Behdad Esfahbod dbbb8e80 2022-12-04T11:13:39 Revert "[map] Add hb_map_filter_invalid" This reverts commit 8d7e92111786b21906157127c24b72b1e444e6e7. Surprisingly this slowed NotoNastaliqUrdu benchmark down by a couple percent instead of speeding it up.
Behdad Esfahbod 8d7e9211 2022-12-04T11:01:45 [map] Add hb_map_filter_invalid Use it in one place.
Behdad Esfahbod 41a8597f 2022-12-03T13:23:26 [layout] Simplify CoverageFormat2 intersects_coverage()
Behdad Esfahbod 1f4d8cca 2022-12-03T13:17:15 [CoverageFormat2] Optimize intersects()
Behdad Esfahbod c482b061 2022-12-03T13:14:31 [gpos] Optimize PairPosFormat1::intersects
Behdad Esfahbod 4d19c724 2022-12-03T09:57:29 [CoverageFormat1] Speed up intersects() Speeds up SourceHanSerif/10000 benchmark (not in test suite) by 32%!
Behdad Esfahbod 2a7a1d5a 2022-12-02T12:33:24 [Coverage] Avoid timeout on broken ranges Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53929
Behdad Esfahbod 72fabef0 2022-11-30T11:37:49 [SingleSubstFormat2] Speed up closure
Behdad Esfahbod d2a2670e 2022-11-28T19:42:27 [iter] Simplify has() interface implementations
Behdad Esfahbod 3e151139 2022-11-28T14:23:49 [PairPos] Optimize get_effective_value_format Speeds up BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/nohinting/512 12%.
Behdad Esfahbod 26ad7a60 2022-11-28T14:09:21 [gpos] Minor micro-optimize
Behdad Esfahbod c769d7e1 2022-11-28T14:03:58 [gpos] Whitespace
Behdad Esfahbod e3cc6183 2022-11-26T13:58:04 [PairPos] Adjust kerning buffer messages
Behdad Esfahbod 6aaa1662 2022-11-24T14:58:42 [Coverage] Comment
Behdad Esfahbod 6f133ccf 2022-11-24T12:59:55 [glyf] Fix build with HB_NO_VERTICAL
Behdad Esfahbod 05aa084e 2022-11-24T12:13:31 [PairPos] Another attempt at fixing unsafe-to-break with ValueFormat2 Fixes https://github.com/harfbuzz/harfbuzz/issues/3888#issuecomment-1326781116 Test: $ hb-shape XBRoya34.ttf ' الأ' --show-flags --script=arab
Garret Rieger 81640fdf 2022-11-23T20:22:36 [subset] fix leaked font in glyf::subset(...)
Behdad Esfahbod 1e8f1ac6 2022-11-23T12:28:29 [subset-glyf] Micro-optimize array access
Behdad Esfahbod 356d135e 2022-11-23T12:20:51 [subset-glyf] Reduce roundf calls Saves 7% on MPLUS1-Variable/6000 benchmark.
Garret Rieger 463ae07e 2022-11-23T18:41:23 [subset] In the preprocess subset call always use long loca. Long loca is needed so that we can store the trimmed glyph bytes to allow us to safely skip trimming in the later subset.
Behdad Esfahbod 299ec902 2022-11-22T16:03:02 [glyf] Move instanciation to serialize()
Behdad Esfahbod d8d881f2 2022-11-22T15:24:16 [subset-glyf] Don't create a second glyf accelerator
Behdad Esfahbod 75609300 2022-11-22T15:22:25 [glyf] Add _create_font_for_instancing
Behdad Esfahbod 40634cee 2022-11-22T15:07:16 [glyf] Adjust data types
Behdad Esfahbod ba0d28ea 2022-11-22T15:01:48 [glyf] Fix font error check
Behdad Esfahbod 04c52501 2022-11-22T14:54:55 [glyf] Use a malloc instead of calloc
Behdad Esfahbod 024aa818 2022-11-22T14:51:42 [glyf] Micro-optimize encode_coord
Behdad Esfahbod b6694597 2022-11-22T14:49:01 [glyf] Micro-optimize encode_flag()
Behdad Esfahbod d47cfe79 2022-11-22T14:45:04 [glyf] Minor use operator ++
Behdad Esfahbod 03e6bde7 2022-11-22T14:40:36 [glyf] Minor adjustment to lastflag handling No logic change.
Behdad Esfahbod 0ca9fda8 2022-11-22T14:39:10 [glyf] Remove misplaced comment
Behdad Esfahbod 4afcdf67 2022-11-22T12:56:48 More hb_memcpy
Behdad Esfahbod 58a696d8 2022-11-22T12:56:05 More hb_memset
Behdad Esfahbod 1758ee66 2022-11-22T10:45:49 [glyf] Minor write loop more idiomatically
Behdad Esfahbod b567ce51 2022-11-21T20:08:54 [subset] Don't trim glyf's again if preprocessed Speeds up M1/10000 benchmark by 30%!
Behdad Esfahbod a0bde1e1 2022-11-16T21:27:12 [open-type] Remove (Sorted)ArrayOf.sub_array()
Behdad Esfahbod f2b5db70 2022-11-16T21:22:43 [vector] Remove .sub_array ()
Behdad Esfahbod ea63e95e 2022-11-11T12:45:12 [GPOS.PairPos] Adjust unsafe-to-break for non-zero ValueFormat2 Fixes https://github.com/harfbuzz/harfbuzz/issues/3824
Behdad Esfahbod fc935fb8 2022-11-01T14:39:33 Fix snprintf use https://github.com/harfbuzz/harfbuzz/pull/3495#issuecomment-1299107964
Behdad Esfahbod 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
Behdad Esfahbod 477d7172 2022-10-26T13:11:47 [glyf] Limit points in a glyf to 10000 roughly Only enforced when components are being expanded. Fixes https://github.com/harfbuzz/harfbuzz/issues/3838
Behdad Esfahbod 9aad3dba 2022-10-26T13:04:02 [SingleSubst] Fix degenerate-lookup test Part of https://github.com/harfbuzz/harfbuzz/issues/3853