src/hb-ot-shape.hh


Log

Author Commit Date CI Message
Behdad Esfahbod dda1d95a 2025-03-27T14:32:13 Revert "[ot-font/trak] Move trak application to ot-font instead of ot-shape" This reverts commits ffae5b040d50d602284ef7426340ff332b811df5 and 17c11ec5238ef7efdcc340a2f578feb668c4252a. Plus manual modifications. See https://github.com/harfbuzz/harfbuzz/issues/5221
Behdad Esfahbod e5a01efd 2025-03-13T02:42:43 [aat] Put back one set of compiled map in the plan Use it if there's no user features. Reduces mallocs.
Behdad Esfahbod ffae5b04 2025-02-09T04:39:32 [ot-font/trak] Move trak application to ot-font instead of ot-shape This is what CoreText does. Fixes https://github.com/harfbuzz/harfbuzz/issues/5049
Behdad Esfahbod 1150d4bf 2025-02-09T04:16:57 [trak] Remove support for disabling using pseudo-font-feature Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
Behdad Esfahbod 9ba286de 2025-02-01T14:23:47 [ot-shape] Micro-optimize ::equal For two integers, it's faster to compare them directly.
Behdad Esfahbod db4c8747 2023-01-09T21:32:15 Revert "Revert "[aat] Support feature ranges"" This reverts commit 6a7a38521f940216f1e9e2fa2bf22f7b45ce2aef.
Behdad Esfahbod 6a7a3852 2023-01-09T21:29:19 Revert "[aat] Support feature ranges" This reverts commit 1b7994cb3a3c35f3618d7f40c7289496bdab6f06. Broke Zapfino with partial ligature disabling. Debugging.
Behdad Esfahbod 1b7994cb 2023-01-09T19:38:50 [aat] Support feature ranges The hard way... A bit uglier than I liked it to be, but is proper at least. Fixes https://github.com/harfbuzz/harfbuzz/issues/4020
Behdad Esfahbod 44a892a2 2022-11-22T12:48:52 [shape] Use hb_memcmp instead of memcmp
Behdad Esfahbod 3fad942e 2022-07-20T15:26:32 Try fix leak
Behdad Esfahbod d57ce300 2022-07-17T21:56:56 [ot-shape] Pass reference to props instead of pointer Since cannot be nullptr.
Behdad Esfahbod 44a7b3b7 2022-06-03T02:42:34 s/ot_complex_shaper/ot_shaper/g
Behdad Esfahbod 79e8b306 2021-07-16T15:06:10 [ot-shape] Fix application of kern table if GPOS kern is missing Was broken sometime after we implemented kerx and tweaking it. Fixes https://github.com/harfbuzz/harfbuzz/issues/3043
Ebrahim Byagowi 071e2e34 2020-03-26T12:01:53 minor
Behdad Esfahbod 2dc20e63 2019-12-05T15:28:42 Implement fallback vertical shaping from Firefox Fixes https://github.com/harfbuzz/harfbuzz/issues/355
Behdad Esfahbod 12092a46 2019-06-26T13:31:01 [config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
Behdad Esfahbod d8bf6723 2019-06-19T17:04:16 [config] Disable more legacy kerning Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 43d7048d 2019-06-19T17:02:32 [config] More trak disabling Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod d84932ba 2019-06-19T16:57:48 [config] add HB_NO_OT_SHAPE_FRACTIONS, enabled in HB_LEAN Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 588697af 2019-06-19T16:24:51 [config] Add HB_NO_OT_KERN, enabled by HB_MINI / HB_NO_LEGACY Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 809c5870 2019-05-13T14:45:51 [config] Better compile away morx/kerx/trak Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod a201fa74 2018-11-22T15:52:29 [aat] Tweak fallback positioning logic when applying morx Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark advance-zeroing / positioning, but we do for Latin, etc. Reuses preferences of our script-specific OpenType shapers for those. Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393 Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264 While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357
Behdad Esfahbod c221dc0b 2018-11-14T14:49:34 [ot-shape] Move code around
Behdad Esfahbod cc842875 2018-11-12T18:48:10 [shape-plan] Cache shape plans with variations based on variation indices
Behdad Esfahbod 10823385 2018-11-12T18:05:02 [shape-plan] Only use shape-plan key to initialize hb_ot_shape_plan_t Such that we don't accidentally use info not in the cache key.
Behdad Esfahbod 3e284e02 2018-11-11T22:51:34 [shape-plan] Minor
Behdad Esfahbod f521a28b 2018-11-11T21:32:01 Embed hb_ot_shape_plan_t into hb_shape_plan_t No other shaper will need shape_plan_data, by definition. So, remove abstraction layer and always create hb_ot_shape_plan_t as part of hb_shape_plan_t.
Behdad Esfahbod ca23567f 2018-11-07T16:19:51 Disable fallback mark positioning if kern table has cross-stream kerning Happens even if the cross-stream kerning is for cursive attachment only. Oh well..
Behdad Esfahbod 5b563640 2018-10-29T15:58:44 Remove HB_DISALLOW_COPY_AND_ASSIGN from hb_ot_shape_planner_t It was arbitrary that this struct had it and not dozens of others.
Behdad Esfahbod ffe34784 2018-10-23T14:14:03 [aat] Allow enabling/disabling features Only works at entire-buffer range, not sub-ranges. Test with: $ hb-shape Zapfino.dfont Zapfino [Z_a_p_f_i_n_o=0+2333] $ hb-shape Zapfino.dfont Zapfino --features=-dlig [Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250] $ hb-shape Zapfino.dfont Zapfino --features=+dlig [Z_a_p_f_i_n_o=0+2333] Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
Behdad Esfahbod 76324d95 2018-10-23T13:09:30 Shift code around
Behdad Esfahbod cf92d657 2018-10-23T03:10:56 [trak] Allow disabling tracking for ranges of text Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
Behdad Esfahbod b59a428a 2018-10-11T13:24:17 Minor
Behdad Esfahbod 60f86d32 2018-10-10T18:10:05 [kerx] Don't loop over kerning subtables if kerning disabled
Behdad Esfahbod d1be805e 2018-10-10T10:49:45 More rewriting plan compile Hopefully more clear.
Behdad Esfahbod 2091b509 2018-10-10T10:41:08 [kerx] Hook up to shaper
Behdad Esfahbod a5195881 2018-10-08T23:57:45 Apply TrueType/OpenType kern table when GPOS kern feature is not available Fixes https://github.com/harfbuzz/harfbuzz/issues/250
Behdad Esfahbod 09ad2613 2018-10-08T23:30:24 Separate fallback kern vs mark positioning
Michiharu Ariza 55942ad5 2018-10-06T14:49:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 14ff3cbe 2018-10-04T11:34:21 Apply morx if there's no GSUB!
Behdad Esfahbod 96eca87f 2018-10-02T13:24:40 Move things
Behdad Esfahbod 10b6c7c6 2018-10-02T13:11:18 Minor include cleanup
Behdad Esfahbod 1d1734e9 2018-10-02T13:04:05 Shuffle code around
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.