src/hb-aat-layout.cc

Branch


Log

Author Commit Date CI Message
Behdad Esfahbod b4fd777c 2025-03-27T15:37:01 [aat] Remove hb_aat_layout_get_tracking() again https://github.com/harfbuzz/harfbuzz/pull/5223
Behdad Esfahbod 208ffb3f 2025-03-27T15:01:39 [coretext-font] Undo tracking in get_[hv]_advances() Fixes https://github.com/harfbuzz/harfbuzz/issues/5221
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 7b8ae3d0 2025-03-13T10:44:40 [kern/kerx] Make zero-malloc
Behdad Esfahbod 0f18838c 2025-03-13T08:52:19 [mort] Update with morx change
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 43d421d3 2025-03-12T23:36:09 [aat] Speed up deleted-glyph removal
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 ff76244e 2025-03-09T17:23:18 [aat/morx] Delete deleted glyphs again But also check for default-ignorable bit this time.
Behdad Esfahbod 4ec560dd 2025-03-07T16:14:24 [aat/morx] Refactor all glyph replacements into the context
Behdad Esfahbod c6972ac6 2025-03-07T15:29:48 [aat] Towards removing special deleting of 0xFFFF See https://github.com/harfbuzz/harfbuzz/discussions/5118 Remove the removal. Depend on the default_ignorable flag to hide them later. Test output adjusted.
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
Khaled Hosny 1e629c35 2025-01-12T23:06:23 [morx] Blocklist dysfunctional morx table of AALMAGHRIBI.ttf font Fixes #4108
Behdad Esfahbod e2ab6c7b 2024-05-12T15:25:13 [kern/kerx] Add accelerator and set-digest filtering
Behdad Esfahbod 23e4a3cf 2024-05-12T10:49:46 [aat/morx] Add an accelerator
Behdad Esfahbod 0c1637b6 2023-05-03T15:04:57 [aat] Fix HB_NO_OT_LAYOUT build
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 622a6869 2023-01-09T18:14:40 Revert "Revert "Revert "[aat] Allow disable feature ranges""" This reverts commit 5202053c2c5fb2c8af9704e690b25a26bf2a0295.
Behdad Esfahbod 5202053c 2023-01-09T17:29:43 Revert "Revert "[aat] Allow disable feature ranges"" This reverts commit 82b3e8af69b09fd908d1cd27b669234328d4a500. Another try. Fixes https://github.com/harfbuzz/harfbuzz/issues/4020
Behdad Esfahbod 82b3e8af 2023-01-09T17:28:52 Revert "[aat] Allow disable feature ranges" This reverts commit 24a4d397bae6b614215086c85a714dc789af3e7f. This was broken.
Behdad Esfahbod 24a4d397 2023-01-09T17:26:08 [aat] Allow disable feature ranges Fixes https://github.com/harfbuzz/harfbuzz/issues/4020 This is a hack. To implement this properly we need to treat runs with different features as independent runs for running the state machine, as the subtable flags might be different. That would be a significant change to our internal implementation.
Behdad Esfahbod ed43bc51 2022-11-20T13:10:19 [buffer] Move delete_glyphs_inplace() here
Jonathan Kew f54d2b3e 2022-09-20T11:42:00 [aat] Map 'rlig' to AAT required-ligatures setting. Fixes #3819.
Khaled Hosny 98e90cc6 2022-06-30T08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
Florian Pircher 05b3bdb0 2022-03-06T03:10:48 [aat] Update OT to AAT mappings for hist and vrtr
Khaled Hosny a9fb6a0c 2021-06-06T14:40:50 [aat] Add start table/end table to buffer messages Related to https://github.com/harfbuzz/harfbuzz/issues/3008
Jonathan Kew 4f1e8d2b 2021-05-05T11:11:43 [aat] Update glyph properties from GDEF if available when doing a replacement.
Khaled Hosny 5151c2b6 2020-12-31T00:28:27 [introspection] Replace deprecated allow-none Use optional or nullable as appropriate.
Khaled Hosny 492a5a90 2020-12-30T23:42:49 [docs] Complete hb-aat docs a bit
Khaled Hosny a8e72ee7 2020-12-30T23:08:40 [docs] Use %true and %false consistently
Khaled Hosny c2e2c40b 2020-12-23T00:49:23 [docs] Fix gtk-doc comment syntax The documentation was not picked otherwise.
n8willis 3c9244e6 2019-05-11T16:44:30 Update src/hb-aat-layout.cc Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
Nathan Willis d619ba06 2019-04-08T20:17:38 Add gtk-doc documentation to AAT layout functions and enums.
Nathan Willis 514e6baa 2019-04-04T10:18:29 [gtk-doc] document AAT functions and enums.
Ebrahim Byagowi a3b9b94b 2020-07-06T00:05:21 [style] Remove fdsc support (#2541) It isn't exposed yet and low use between Apple fonts, 32 fdsc table vs 767 OS/2 tables, even Apple doesn't support it anymore per Ned.
Behdad Esfahbod 1535440b 2020-06-19T08:30:59 [dispatch] Fix debug builds
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi 0133cb55 2020-04-19T22:42:57 Minor, use hb_sorted_array::bsearch where possible
Behdad Esfahbod bd55d4b4 2019-12-06T03:35:24 [algs] Streamline bsearch() API more towards hb_array_t::bsearch_impl() Preparing to merge the two finally!
Behdad Esfahbod ad341d5f 2019-06-28T16:00:37 [config] Fix CoreText build with NO_AAT
Behdad Esfahbod d2ff73b2 2019-06-19T16:28:08 [config] Remove remaining AAT context bits if HB_NO_OT_KERN Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 231d0257 2019-06-18T14:25:52 [config] Don't compile AAT API if HB_NO_AAT Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod bdbabd11 2019-06-18T13:21:25 Minor header include cleanup
Ebrahim Byagowi 33d38e79 2019-06-02T00:19:57 Use a unified bsearch (#1741) A part of #593
Behdad Esfahbod 799c6a50 2019-05-10T23:55:22 [config] Add some
Behdad Esfahbod 2c93f0de 2019-05-10T23:31:05 Add HB_NO_AAT Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Qunxin Liu 1ca4b5c7 2019-04-22T11:31:23 [subset] Add unit test for str de-dup Also move the implementation of some methods from the .cc to the .hh
Behdad Esfahbod 347ad454 2019-01-17T17:47:29 [AAT] Remove unused code
Behdad Esfahbod 4941e95f 2018-12-20T21:48:57 2.3.0
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi 7ee5c523 2018-12-12T15:14:37 minor style fix, use void in methods on no argument
Ebrahim Byagowi 5ab086eb 2018-12-05T14:17:37 [fdsc] Implement the table parsing Related to https://github.com/harfbuzz/harfbuzz/issues/1337 May used in addition to an API related to STAT. Lots of Apple fonts have it.
Ebrahim Byagowi 01f628cf 2018-12-03T22:04:48 [aat] Expose hb_aat_layout_has_tracking API
Behdad Esfahbod d19b1680 2018-12-03T10:41:37 [aat] Expose a couple APIs New API: +hb_aat_layout_has_substitution() +hb_aat_layout_has_positioning()
Behdad Esfahbod dc41ecef 2018-11-29T11:53:53 2.2.0
Behdad Esfahbod 926f512f 2018-11-25T01:14:40 [aat.feat] Rework API and implementation Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
Behdad Esfahbod b206133d 2018-11-23T14:05:11 [aat] Move contents of hb-aat.h to hb-aat-layout.h Since it was pages and pages...
Behdad Esfahbod 2cb235d0 2018-11-23T12:23:35 [aat.feat] Fix enum namespace
Ebrahim Byagowi 54f4c17f 2018-11-23T12:05:06 [feat] Rename API uses of setting to selector
Ebrahim Byagowi 9c64b216 2018-11-23T11:44:53 [feat] Apply renamings and add documentation
Ebrahim Byagowi 4009a05c 2018-11-17T11:30:50 [feat] Address Behdad comments
Ebrahim Byagowi 19b60255 2018-11-17T01:07:09 [feat] Address @behdad comments
Ebrahim Byagowi 9212ec20 2018-11-09T00:50:10 [feat] Complete feature types list
Ebrahim Byagowi fbad794b 2018-11-01T22:24:42 [feat] Add feature iteration API
Ebrahim Byagowi b233fa4b 2018-11-01T20:02:57 [feat] Rename records to selectors as @drott
Ebrahim Byagowi a157b3e4 2018-11-01T19:56:16 [feat] Apply @behdad comments
Ebrahim Byagowi 3aff3f82 2018-11-01T19:20:20 [feat] Apply @drott and @jfkthame comments
Ebrahim Byagowi 7a0471aa 2018-11-01T21:38:54 [feat] Turn AAT feature id into enum
Behdad Esfahbod e20f81f4 2018-11-23T11:57:42 [aat] Rename feat API a bit more
Ebrahim Byagowi 95abd537 2018-11-01T13:14:29 [feat] Expose public API * hb_aat_get_feature_settings
Ebrahim Byagowi b791bbba 2018-11-01T15:15:56 [feat] Apply @jfkthame reviews
Behdad Esfahbod 6910ff03 2018-11-16T16:11:02 [aat] Fix mort shaping Ouch!
Behdad Esfahbod c221dc0b 2018-11-14T14:49:34 [ot-shape] Move code around
Ebrahim Byagowi f9042384 2018-11-08T19:17:02 [just] Initial table implementation (#1364) A starting point, its sanitization is not tested however
Behdad Esfahbod 15326826 2018-11-07T21:58:04 [aat] Ignore cross-stream offset of deleted-glyphs I think it makes sense to accumulate it, but Ned tells me that's what CoreText does.
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.
Ebrahim Byagowi 98b37f0c 2018-11-06T09:16:28 [mort] Fix table detection logic mort really needs some initial tests at least.
Behdad Esfahbod fa3ebf84 2018-11-05T23:34:07 Simplify some more
Behdad Esfahbod a35c92cb 2018-11-05T22:58:43 [ot-face] Simplify table access Yoohoo!
Behdad Esfahbod 03348ce0 2018-11-05T12:59:32 Minor
Behdad Esfahbod b605db2f 2018-11-04T12:58:02 [aat] Clean up ankr table include mess
Behdad Esfahbod 6e3ea269 2018-10-31T19:00:11 [aat] Add 'afrc' feature mapping https://github.com/harfbuzz/harfbuzz/issues/1342#issuecomment-434829028
Behdad Esfahbod 90667b31 2018-10-30T20:15:28 [mort] Hook up more
Behdad Esfahbod c2527a1b 2018-10-30T19:26:16 [mort] Make it compile / hook it up Untested.
Ebrahim Byagowi b053caba 2018-10-30T18:41:34 [mort] Bring back mort generalizations Started by reverting https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5 Just a starting point, if we agree even mort can come back.
Behdad Esfahbod 327546e6 2018-10-23T23:33:44 [name] Hook up ltag table
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 56b8dd17 2018-10-13T19:03:33 [aat] Finish off massaging table
Behdad Esfahbod e0c5e0d9 2018-10-13T18:37:14 [aat] WIP remove feature mapping here from hb-coretext Need to map enum values to numerics since we don't have CoreText headers.
Behdad Esfahbod d6a12dba 2018-10-11T11:10:06 [trak] Fix, and hook up Works beautifully! Test coming.
Behdad Esfahbod 1622ba59 2018-10-11T01:14:18 [kerx] Implement Format4 'ankr'-based mark attachment Tested with Kannada MN: $ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0CCD,0C95,0CD6 [kn_ka.vattu=0+230|kn_ai_length_mark=1@326,0+607]
Behdad Esfahbod 7bb4da7d 2018-10-11T00:52:07 [aat] Wire up 'ankr' table to apply context
Behdad Esfahbod 2091b509 2018-10-10T10:41:08 [kerx] Hook up to shaper
Behdad Esfahbod 4b461785 2018-10-09T22:46:30 Fix check
Behdad Esfahbod 53e55945 2018-10-09T22:35:22 [kerx] Implement Format0 apply() Not hooked up to be called yet.
Michiharu Ariza 55942ad5 2018-10-06T14:49:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 3417037e 2018-10-04T11:08:15 [aat] Add +hb_aat_layout_has_substitution
Behdad Esfahbod a2680680 2018-08-26T15:18:46 [ot-face] Remove tables_t. The face_data_t is what tables_t was