src/hb-ot-shape.cc


Log

Author Commit Date CI Message
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 5e5cd10e 2024-09-22T12:36:51 Don't make variation-selectors default-ignorable if not-found set https://github.com/harfbuzz/harfbuzz/pull/4863#issuecomment-2366908261
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 3e06b705 2024-06-06T12:04:37 [ot-map] Make shaper categorizer independent of shape planner We might want to use it in the subset closure.
Behdad Esfahbod 3d86b360 2024-03-22T10:37:39 [shape] Fix syntax error under some configs Fixes https://github.com/harfbuzz/harfbuzz/issues/4635
Bruce Mitchener f380a328 2023-08-25T14:01:01 Fix some typos.
Behdad Esfahbod 35a026c8 2023-07-30T11:28:59 [shape] Unsafe-to-concat around fraction slash
Behdad Esfahbod f19ca24a 2023-07-30T11:26:11 Revert "Revert "Require numerator and denominator in auto fraction"" This reverts commit 8fe506e153c530affd529e7175e813c3a878faed.
Behdad Esfahbod 8fe506e1 2023-07-30T10:43:28 Revert "Require numerator and denominator in auto fraction" This reverts commit f3e86937df345d7709de879af1d1a1502e84e1e9.
David Corbett f3e86937 2023-07-30T08:28:23 Require numerator and denominator in auto fraction
Behdad Esfahbod 76de3451 2023-07-15T15:00:23 [ot-shape] Short-circuit spaces as well
Behdad Esfahbod 765da4db 2023-07-15T14:55:36 [ot-shape] Minor short-circuit
Behdad Esfahbod 7b8e0bbb 2023-07-15T14:53:15 [ot-shape] Minor short-circuit
Behdad Esfahbod de2c1073 2023-07-02T16:44:48 [ot-map] Speed up for default shaper Sort late, the reduced number of features.
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 adfd5dd7 2023-01-09T21:18:12 Fix TINY build
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 73046d53 2022-11-24T13:49:29 [shaper] Disable dumber shaper if no AAT
Behdad Esfahbod ed43bc51 2022-11-20T13:10:19 [buffer] Move delete_glyphs_inplace() here
Behdad Esfahbod d65af602 2022-10-15T14:26:02 [shape] Adjust Grapheme clusters for Katakana voiced sound marks Fixes https://github.com/harfbuzz/harfbuzz/issues/3844
Behdad Esfahbod a722b3e6 2022-07-30T14:33:33 [shape] Only add any unsafe-to-concat flag if requested Previously it was confusing as random incorrect flags were produced.
Behdad Esfahbod f43dadb8 2022-07-30T10:23:03 Rename kashida -> tatweel
Behdad Esfahbod d277addb 2022-07-30T10:10:21 [buffer] Add HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA
Behdad Esfahbod 915e12cc 2022-07-29T13:55:39 Prototype glyph flag safe-to-kashida Fixes https://github.com/harfbuzz/harfbuzz/issues/3721
Behdad Esfahbod d57ce300 2022-07-17T21:56:56 [ot-shape] Pass reference to props instead of pointer Since cannot be nullptr.
Behdad Esfahbod cc7ebb0f 2022-06-04T05:42:58 Remove remaining mention to complex shapers in the code https://github.com/harfbuzz/harfbuzz/pull/3628#issuecomment-1146248037
Behdad Esfahbod 5bfb0b72 2022-06-03T02:56:41 Rename s/shape-complex/shaper/g
Behdad Esfahbod 6d9e94d2 2022-06-03T02:48:34 s/hb_ot_shape_complex_categorize/hb_ot_shaper_categorize/g
Behdad Esfahbod 44a7b3b7 2022-06-03T02:42:34 s/ot_complex_shaper/ot_shaper/g
Behdad Esfahbod e246723f 2022-06-01T04:54:18 [shape] Fail shaping internally if buffer ops exceeded
Behdad Esfahbod 8575a8f5 2022-04-21T11:14:09 Add _hb_codepoint_is_regional_indicator()
Behdad Esfahbod c1ee7d28 2022-04-20T13:38:05 Typo Co-authored-by: Khaled Hosny <khaled@aliftype.com>
Behdad Esfahbod 4d48fae4 2022-04-20T11:35:19 Enforce Regional_Indicators native direction to LTR And undo the morx direction reversal change introduced in https://github.com/harfbuzz/harfbuzz/pull/3315 23159084b43c1ce429d9e98035bf845919fd8a89 This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314 And the reversion in morx code fixes regressions: https://github.com/harfbuzz/harfbuzz/issues/3528 https://github.com/harfbuzz/harfbuzz/issues/3535 Supersedes: https://github.com/harfbuzz/harfbuzz/pull/3529
Behdad Esfahbod 94f5c630 2022-03-28T11:25:44 [aat] Remove morx deleted-glyphs before GPOS processing Fixes new Apple Color Emoji glyphs sequences rendering. Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
Behdad Esfahbod 3122c2cd 2021-12-04T19:50:33 [buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
luz paz e2e30506 2022-01-16T07:00:53 Fix various typos Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
Behdad Esfahbod bea5369c 2022-01-04T10:52:05 [buffer] Rename swap_buffers() to sync()
Behdad Esfahbod d1e7df5c 2022-01-04T07:32:04 [buffer] Add enter()/leave() pair around shape()
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 53eebc7c 2021-12-08T08:32:41 [CONFIG] Add HB_NO_VERTICAL
Behdad Esfahbod d58f1685 2021-10-04T08:40:24 [ot-shape] Tweak table order some more; apply GPOS with morx During 5bc05ba155 accidentally GPOS was disabled when morx was enabled. Fix that. Fixes https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978
Behdad Esfahbod 5a1a6f1f 2021-09-14T07:14:56 [ot-shape] Enabled two more features: 'Harf' and 'Buzz' Considered 'required', as opposed to existing 'HARF' and 'BUZZ', consider them discretionary. See discussion in https://github.com/harfbuzz/harfbuzz/issues/3200
Behdad Esfahbod f0de40dd 2021-08-23T23:52:17 Whitespace
Behdad Esfahbod 33c82c7d 2021-08-22T22:31:39 [ot-shape] Fix unused-var error when building without AAT Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45
Behdad Esfahbod 368e9578 2021-08-05T10:16:13 [ot-shape] Add comment re `vert` feature
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
Behdad Esfahbod a623446a 2021-07-12T16:55:54 [shape] Remove stray clear_output() call in hb_shape()
Behdad Esfahbod 1cb0ca1f 2021-07-12T16:52:31 Whitespace
Behdad Esfahbod 09696148 2021-06-26T08:52:53 [ot-shape] Rewrite loop without foreach_grapheme() We were not using the graphemes, and that's costlier than just for().
Khaled Hosny c3be28ea 2021-06-23T17:39:23 [ot-shape] Numeric runs native direction is LTR See inline comments. Slightly modified version of the code from Jonathan Kew on the linked issue. Fixes https://github.com/harfbuzz/harfbuzz/issues/501
Behdad Esfahbod 93e6a9bc 2021-06-15T15:38:49 Revert "Remove unneeded buffer clear_output / remove_output calls" This reverts commit 06175b71433bc42edc07d342e6354035e37fb5fd. One of the sanitizers is failing. Pushing again as PR to debug. I have suspicions.
Behdad Esfahbod 06175b71 2021-06-15T14:33:27 Remove unneeded buffer clear_output / remove_output calls Made sure clear_output is always paired with swap_buffers. Trying to see if we can move towards RAII-like buffer iterators instead of the buffer keeping an iterator internally.
Behdad Esfahbod 2b0ced28 2021-06-09T19:06:31 Cluster Regional_Indicator pairs (aka emoji flags) Fixes https://github.com/harfbuzz/harfbuzz/issues/2265
Behdad Esfahbod 5bc05ba1 2021-06-13T05:28:20 Prefer GPOS over kerx, if GSUB was applied Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
Jonathan Kew bbc5fc37 2021-05-13T11:39:09 [aat] If shaping via morx, don't adjust mark positioning when zeroing widths.
Behdad Esfahbod e6be9eb4 2021-03-15T14:12:10 [buffer] HB_NODISCARD output_info()
Behdad Esfahbod 9fcba109 2020-06-28T20:30:39 [buffer] Make swap_buffers() copy rest
Simon Cozens fd8f4ffc 2020-09-18T16:37:22 Trace reorder, not normalize
Simon Cozens 2e0193d7 2020-09-18T16:28:29 Add more cast spaces
Simon Cozens 8e1bedc5 2020-09-18T16:25:43 Keep phase names
Simon Cozens f19018da 2020-09-17T15:08:32 Smaller issues from review
Simon Cozens 8b3b835a 2020-09-17T14:27:31 Trace normalization and preprocessing stages
Nathan Willis eb10ef46 2019-04-22T19:22:24 [Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape.
Ebrahim Byagowi d0e2addd 2020-07-18T22:14:52 minor
Sebastian Rasmussen a373e161 2020-06-28T11:09:45 [ot-shape] Free shape plan maps upon error creating data (#2497)
Ebrahim Byagowi f9070cfe 2020-01-24T22:19:03 Run morx if run is horizontal or GSUB doesn't exist
Dominik Röttsches 298c46af 2020-01-24T12:11:07 Only prefer AAT morx for horizontal layout Fixes #2124.
Dominik Röttsches 66dfd605 2020-01-13T15:50:27 Fix duplicate check in hb_ot_rotate chars Fixes #2099. Fix indentation in mirroring section as well.
Evgeniy Reizner b79ceac3 2019-12-15T16:50:01 Prefer UINT_MAX instead of uint overflow. Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
Behdad Esfahbod f47cbade 2019-12-09T18:10:34 [aat] Adjust fallback positioning logic Fixes https://github.com/harfbuzz/harfbuzz/issues/1528 Wish could add a test... $ ./hb-view --font-file Thonburi.ttc --unicodes U+0E17,U+0E35,U+0E48,U+0E4A --shaper ot ▃ ▂▃▃▄▃▂▁▊ ▃ ▃ ▎ ▗ ▅▆▆▅ ▌ ▆▆▅▆▙ ▌▗ ▗ ▙ ▂ ▎▗ ▟ ▅▆▆▆▇▇▇▇▇▇▇▆▆▅▄ ▇▅▅▅ ▙▆▇ ▁▁▂▁ ▁▁ ▖ ▖ ▂▂ ▉ ▁ ▆▆ ▌ ▆ ▙▄ ▁▁ ▙ ▉ ▃▖ ▟ ▊ ▉ ▅▟ ▗▄ ▊ ▉ ▗ ▏ ▇▆ ▊ ▟ ▉ ▆ ▖ ▊ ▉ ▌ ▂ ▊ ▏ ▉ ▌ ▗ ▄▟ ▊ ▆
Behdad Esfahbod 2dc20e63 2019-12-05T15:28:42 Implement fallback vertical shaping from Firefox Fixes https://github.com/harfbuzz/harfbuzz/issues/355
Behdad Esfahbod 0414341a 2019-12-05T11:26:39 Prefer AAT shaping over OT if both available Fixes https://github.com/harfbuzz/harfbuzz/issues/1529
Behdad Esfahbod 1a1d64bc 2019-10-31T12:50:47 If applying morx, apply kern table even if GPOS is present and has kern Since we won't be applying GPOS if morx... To be adjusted as I receive more information from Ned. But for now fixes this: $ ./hb-shape GillSans.ttc Ty [T=0+1109|y=1@-128,0+769] Fixes https://github.com/harfbuzz/harfbuzz/issues/1982 for now.
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Khaled Hosny 40aef1b4 2019-08-16T01:00:30 [ot-shape] Keep horizontal_features array sorted
Khaled Hosny da5118da 2019-08-16T00:48:26 [ot-shape] Enable abvm/blwm features by default Core Text seems to apply them to Latin text, but Uniscribe doesn’t. See https://github.com/harfbuzz/harfbuzz/pull/1908#issuecomment-521819343
Khaled Hosny 2164bd6f 2019-08-16T00:28:41 [ot-shape] Enable dist feature by default (#1908) Fixes https://github.com/harfbuzz/harfbuzz/issues/1907
Behdad Esfahbod cd65305b 2019-06-26T14:57:48 [config] Don't disable emoji sequences in HB_TINY It makes sense to disable this code these if editing is not needed. However, this is also necessary to correctly display emoji sequences in right-to-left direction. For that reason, don't auto-disable it.
Behdad Esfahbod 5130c90a 2019-06-26T14:29:39 [config] Add HB_NO_EMOJI Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 2804790b 2019-06-26T13:38:14 [config] Add dependency
Behdad Esfahbod 12092a46 2019-06-26T13:31:01 [config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
Behdad Esfahbod 7aad5365 2019-06-26T13:21:03 [config] Add HB_NO_OT_SHAPE / HB_NO_OT Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod f4de0c77 2019-06-19T17:08:26 [config] Disable AAT map Part of https://github.com/harfbuzz/harfbuzz/issues/1652
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 eaf4a736 2019-06-19T16:51:13 [config] Minor trak disable 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 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
Ebrahim Byagowi 9e7c9c3a 2019-05-14T15:58:51 Fix -Wunused-function on HB_NO_SHAPE_AAT We should add a bot for it Part of #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
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
Behdad Esfahbod 41248cce 2019-05-07T20:54:31 Remove MIN/MAX in favor of hb_min/hb_max