src/hb-ot-layout.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 9b043da7 2025-09-24T16:39:38 [shape] Use a buffer scratch flag for fraction slash (#5587) * [shape] Use a buffer scratch flag for fraction slash * Remove unused non-ascii scratch flag
Behdad Esfahbod 62ec6470 2025-09-24T01:49:57 [shape] Use a buffer scratch flag for continuations (#5586) Use it in form_clusters instead of ascii flag, for speedup.
Behdad Esfahbod 6d1c70bf 2025-08-29T17:09:00 Remove unused code
Behdad Esfahbod 724ae78d 2025-08-25T13:14:43 Revert "[check-glyph-properties] Cache current lookup-prop's matching result." (#5497) This reverts commit 5b6836e10802266b4c216208e517d617c0a75693. This broke some shaping, namely, "j̣̈́J̣J̈́" with Google Sans, and is quite tricky to debug. Since this slowed down everything other than Duployan, and we also decided NOT to port it to HarfRust, just revert and keep the simpler and more reasonable code logic.
Behdad Esfahbod 0e6e18e7 2025-08-15T14:27:33 Rename a method
Behdad Esfahbod 5b6836e1 2025-07-25T04:42:49 [check-glyph-properties] Cache current lookup-prop's matching result. Slows down everything other than speeding up Duployan.
Behdad Esfahbod 91fd40ac 2025-04-01T03:57:47 [shape] Skip hidden / ignorables during fallback mark positioning Fixes https://github.com/harfbuzz/harfbuzz/issues/5232
Behdad Esfahbod 9c0ac9ae 2025-03-10T02:52:26 Merge pull request #5069 from harfbuzz/cluster-level-graphemes [buffer] Add HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES
Behdad Esfahbod 9305aae4 2025-02-12T11:49:15 [ot-layout] Revert back logic
Behdad Esfahbod 75187186 2025-02-12T11:39:14 [buffer] Add HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES https://github.com/harfbuzz/harfbuzz/discussions/5026#discussioncomment-12168668
Behdad Esfahbod 0b62666e 2025-03-09T19:38:32 [aat/morx] Use a separate bit for deleted-glyphs Should address: https://github.com/harfbuzz/harfbuzz/pull/5119#issuecomment-2709170388
Behdad Esfahbod e9c2d78d 2025-02-12T10:44:34 [buffer] Clean up some small mess
Behdad Esfahbod c7ef6a2e 2024-09-25T19:42:40 Remove the hack re variation-selectors Instead of abusing an unused Gen_Cat value, use existing facilities to remember variation selectors. Addresses https://github.com/RazrFalcon/rustybuzz/pull/134#issuecomment-2374894164
Behdad Esfahbod 7aace3d3 2024-09-23T07:47:24 Ignore CGJ and Mongolian Variation Selectors during GPOS Fixes https://github.com/harfbuzz/harfbuzz/issues/4869
Behdad Esfahbod b94a39d7 2024-09-22T08:23:34 Follow up to variation-selector-not-found glyph Addresses https://github.com/harfbuzz/harfbuzz/pull/4529#discussion_r1769638033 I'm not sure if this is an improvement. By leaving the var-selector as default-ignorable, ligatures can form around it, and the resulting cluster won't make it clear *which* base+var-selector could not be resolved... That doesn't quite help font fallback the way we want. Putting up for review.
Behdad Esfahbod 287046f7 2023-12-15T10:24:03 [buffer] Hook up not-found-variation-selector-glyph Fixes https://github.com/harfbuzz/harfbuzz/issues/4398
Behdad Esfahbod 3e3820ba 2023-07-08T14:36:23 Simplify a few bool returns Unnecessary. Cast to bool does the job.
Behdad Esfahbod ed43bc51 2022-11-20T13:10:19 [buffer] Move delete_glyphs_inplace() here
Behdad Esfahbod 27a8fe7d 2022-11-16T17:49:44 [layout] Only update buffer digest if buffer changed by a pause
Garret Rieger 5fdae684 2022-06-29T23:52:08 [reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
Behdad Esfahbod 15543f70 2022-06-04T10:55:50 [indic-like] Move allocation of syllable() buffer var to shapers that use it In indic, we don't have a pause location release the var.
Behdad Esfahbod 044d7a06 2022-03-28T12:38:56 [indic-like] Add per-lookup per-syllable flag This allows mix-and-matching per-syllable and other lookups. In fact, removes the clear-syllables call completely. Fixes https://github.com/harfbuzz/harfbuzz/issues/3513
Garret Rieger a9910e25 2022-03-23T16:09:41 [reorg] Move SubstLookup and GSUB into the new layout.
TheBluuDot 7bdc20ec 2022-03-19T17:47:04 restores unintended addition in 43be5ba restores two lines in restore in _hb_allocate_lig_id function that were unintentionally deleted in 43be5ba
Behdad Esfahbod 43be5ba4 2022-01-04T07:26:53 [buffer] Group shape-related members together
Behdad Esfahbod 23159084 2021-12-10T15:00:16 [morx] Reverse graphemese, not whole buffer Fixes https://github.com/harfbuzz/harfbuzz/issues/3314 Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
Behdad Esfahbod e949e512 2021-12-10T12:58:27 [ot-layout] Port foreach_grapheme to buffer foreach_group
David Corbett 4645c3b4 2021-10-07T08:52:02 Update comments for U+180F FVS4
David Corbett 8c654420 2021-09-25T16:38:32 [Unicode 14] Handle U+180F FVS4
Khaled Hosny fcacd177 2021-04-05T22:27:39 [ot] Update _hb_glyph_info_is_default_ignorable_and_not_hidden() Used _hb_glyph_info_substituted() similar to the change made to _hb_glyph_info_is_default_ignorable() in 7686ff854bbb9698bb1469dcfe6d288c695a76b7.
Khaled Hosny 7686ff85 2021-03-04T23:09:32 [ot] Keep substituted Default_Ignorables (#2886) Don’t replace Default_Ignorables with zero-width space if they are substituted or multiplied, not just when ligated. After this change, HarfBuzz output matches that of Uniscribe and CoreText for the new tests. Fixes https://github.com/harfbuzz/harfbuzz/issues/2883
Ebrahim Byagowi 9748ae72 2020-08-11T17:52:48 Revert "Reordering fails when GDEF table is absent #2140" This reverts commit f4cd99f28eefe695b86876736166fd119e22e04e. As requested in https://github.com/harfbuzz/harfbuzz/issues/2516#issuecomment-670969185
Behdad Esfahbod f4cd99f2 2020-04-22T14:45:57 Reordering fails when GDEF table is absent #2140 Preserve glyph class if there's no GDEF and no guess. Fixes https://github.com/harfbuzz/harfbuzz/issues/2140
Behdad Esfahbod d115a9e0 2019-07-02T14:42:45 [amalgam] Fix most duplicate-id instances in Indic-like shapers Part of https://github.com/harfbuzz/harfbuzz/issues/1809
Behdad Esfahbod 7b27fe52 2019-03-11T18:09:51 Remove redundant hb_ot_layout_lookup_would_substitute_fast
Behdad Esfahbod e52ec3fc 2019-03-11T18:09:51 Remove redundant hb_ot_layout_lookup_would_substitute_fast
Ebrahim Byagowi 890d0ee7 2019-02-14T00:27:01 Minor, use a meaningful naming in template parameter (#1582)
Ebrahim Byagowi 1e1d0e63 2019-02-13T12:58:01 Fix djgpp complains by tweaking templates (#1579) For some reasons djgpp doesn't understand "unsigned int" can be same with one of uint*_t anyway so lets do that for it explicitly. Just to note, our CI's djgpp is based GCC 7.2.0 and isn't old.
Behdad Esfahbod 74896226 2018-11-23T11:10:17 [aat] Disable mark advance zeroing if kern table has state-machines Geeza Pro for example, relies on that for fancy mark positioning. Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
Behdad Esfahbod c221dc0b 2018-11-14T14:49:34 [ot-shape] Move code around
Behdad Esfahbod 385f78b3 2018-11-07T17:19:21 [aat] Remove deleted-glyhs after applying kerx/kern Finally: Fixes https://github.com/harfbuzz/harfbuzz/issues/1356 Test case: $ ./hb-shape GeezaPro.ttc -u U+0628,U+064A,U+064E,U+0651,U+0629 [u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656] The mark positioning (kern table CrossStream kerning) only works if deleted glyph (as result of ligation) is still in stream and pushed through the state machine.
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 33b006cc 2018-11-05T23:19:04 [ot-layout] Simplify some access
Behdad Esfahbod 095f5add 2018-11-02T13:23:54 [kern] Push apply loop to each subtable
Behdad Esfahbod 97e5913d 2018-10-10T11:41:05 Move more code
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 b710ea4f 2018-10-03T21:17:59 Clean Fitzpatrick hack
Behdad Esfahbod 95e5f1ae 2018-10-03T21:11:13 Unbreak Fitzpatrick Fixes https://github.com/harfbuzz/harfbuzz/issues/1159
Behdad Esfahbod 68106b1d 2018-10-03T20:50:12 Minor
Behdad Esfahbod 3b783185 2018-10-03T19:44:15 [emoji] Mark emoji contination sequences as continuation This adds a new grapheme bit. Not used yet. Part of https://github.com/harfbuzz/harfbuzz/issues/1159
Behdad Esfahbod 6f39c220 2018-10-03T20:06:32 Add code
Behdad Esfahbod c36f3f5b 2018-10-02T14:34:29 [arabic] Use manual-zwj instead of flipping joiners
Behdad Esfahbod bd07d287 2018-09-30T03:54:40 Use buffer scratch_flags to remember if we had any joiners
Behdad Esfahbod 01b9148d 2018-09-14T14:23:09 [unicode] Move Fitzpatrick hack from ot-layout into unicode.hh
Behdad Esfahbod 6ebbf514 2018-09-14T12:15:53 Minor
Behdad Esfahbod 39990946 2018-08-26T09:12:25 [OT] Use relaxed ops for recursing into GSUB/GPOS lookups again
Behdad Esfahbod d8c57e85 2018-08-26T09:03:31 [GDEF] Move code around
Behdad Esfahbod 4096fbe4 2018-08-26T01:25:54 [ot-face] Port GDEF to unified table accelerator model as well
Behdad Esfahbod b929100f 2018-08-26T01:15:47 [ot-face] Unify GSUB/GPOS accelerators in the table accelerator framework
Behdad Esfahbod 963413fc 2018-08-26T00:47:55 WIP
Behdad Esfahbod 1c48a7ef 2018-08-25T23:54:06 [ot-font] Cache tables on face, not font
Behdad Esfahbod d950022c 2018-08-25T23:06:37 Add hb-ot-face.cc/hh
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.