src/hb-ot-layout.cc


Log

Author Commit Date CI Message
Behdad Esfahbod 95b04f74 2021-07-12T17:35:45 [buffer] Remove unnecessary have_separate_output()
Behdad Esfahbod 3807061d 2021-07-12T17:02:03 [ot-layout] Don't remove_output() before reverse substitution No need anymore, because of new swap_buffers() semantics. Just assert instead.
Behdad Esfahbod a7f4c985 2021-07-12T17:00:46 [ot-layout] Always swap_buffers() even if no substitutions happened
Behdad Esfahbod 62b441e6 2021-07-12T16:59:34 [layout] Use Proxy::inplace instead of table index check Equivalent.
Behdad Esfahbod 431f1640 2021-07-12T16:57:25 [layout] Don't call clear_output() before pause-func
Behdad Esfahbod 1cb0ca1f 2021-07-12T16:52:31 Whitespace
Behdad Esfahbod 40884af1 2021-07-09T17:17:05 [ot-layout] Narrow down random feature logic vs safe-to-break
Behdad Esfahbod 33b579d0 2021-07-09T17:12:09 [ot-layout] Clear random flag for subsequent flags Ouch!
Behdad Esfahbod bb48bf52 2021-07-08T10:53:45 Rename misc uses of "free" In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
Garret Rieger bc06af97 2021-06-16T15:49:14 [subset] speed up feature collection when tags are specified. Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
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.
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
Behdad Esfahbod cf9538e8 2021-06-04T22:33:16 Removal remaining uses of "blacklist" terminology
Khaled Hosny 90713f27 2021-04-30T16:56:39 [hb-ot-layout] Document some return values
Qunxin Liu 0e1c0fa4 2021-01-12T10:17:14 [subset] optimize glyph closure method: step 5 add testcase and some fixes
Behdad Esfahbod 8450f43a 2021-03-15T15:18:06 [buffer] HB_NODISCARD next_glyph()
Khaled Hosny 5151c2b6 2020-12-31T00:28:27 [introspection] Replace deprecated allow-none Use optional or nullable as appropriate.
Khaled Hosny 8e8c3e58 2020-12-30T23:37:49 [docs] Complete hb-ot-layout docs a bit
Khaled Hosny a8e72ee7 2020-12-30T23:08:40 [docs] Use %true and %false consistently
Khaled Hosny e93de636 2020-12-27T00:57:29 [docs] Document unused language in get_baseline Document that language_tag in hb_ot_layout_get_baseline() is currently unused. Fixes https://github.com/harfbuzz/harfbuzz/issues/2662
Simon Cozens 428c111f 2020-09-18T16:24:47 Fix spacing around casts
Nathan Willis 70331ca4 2019-04-22T19:25:42 [Docs] Minor update GTK-Doc comments in hb-ot-layout.
Ebrahim Byagowi 122a2897 2020-07-05T22:45:11 [aat] Remove lcar support Very low use, only two distinct font files, Apple Chancery.ttf and Hoefler Text.ttc have it so it really doesn't worth the size addition and so, but one may argue that whole ligature caret is low use but guess we better to encourage GDEF one anyway.
Ebrahim Byagowi e4203c14 2020-06-22T05:03:27 2.6.8
Ebrahim Byagowi d38eb49f 2020-06-19T23:40:42 Move the iteration logic to FeatureParamsCharacterVariants Hopefully I can make members protected also.
Ebrahim Byagowi 9b3d4f45 2020-06-19T23:33:07 Use dagger in hb_ot_layout_feature_get_characters The way it used to work was a bit nonidiomatic but the replacment is idiomatic way of iterating used elsewhere. The new code just doesn't check nullability of "characters", which isn't what we do anywhere else.
Ebrahim Byagowi 63422c4c 2020-06-19T23:24:04 [ot-layout] simplify
Ebrahim Byagowi f1488152 2020-06-19T23:07:28 [doc] Remove the not needed comment All the other similar iterating API are like this and don't have such comment, written at the time I wasn't familiar enough with the way such API are shaped.
Behdad Esfahbod 70d6696c 2020-06-18T17:09:39 [dispatch] Don't require debug_depth for untraced objects
Behdad Esfahbod 5bc4cedd 2020-06-18T17:04:35 Rename
Behdad Esfahbod 8d0a90ac 2020-06-18T16:53:54 [dispatch] Default debug level to 0
Behdad Esfahbod e47a2ab8 2020-06-18T16:48:07 Remove unused dispatcher names
Behdad Esfahbod b2a1accc 2020-06-18T16:41:31 Simplify get_glyph_alternates() dispatcher Trying to make it **very simple** to add a specialized dispatcher for one API to be routed to just a few objects (one in this case).
Behdad Esfahbod ffe8d3f3 2020-06-18T16:31:39 Use dispatch for get_glyph_alternates_t First time we do this in a way that if target object doesn't have the matching function we basically "ignore". Risky but I feel like is the right decision for this case. I'm going to put back the template varargs and use those, which would make the dispatcher be just that: "dispatcher", and wouldn't need to carry the call context. That would be a refreshing change I think.
Behdad Esfahbod 5bede338 2020-06-18T15:25:19 Whitespace
Ebrahim Byagowi 1bac8582 2020-06-18T22:56:07 [layout] Rename _get_alternates to _get_glyph_alternates
Ebrahim Byagowi d3c16979 2020-06-18T08:37:21 [layout] move alternate buffer iteration logic to AlternateSet
Ebrahim Byagowi 1348a2c8 2020-06-16T21:05:16 [layout] hb_ot_layout_lookup_get_alternates, a new API An API to retrieve one-to-one alternates from a given GSUB lookup index.
Behdad Esfahbod e7c79e16 2020-06-17T15:32:40 Merge pull request #2287 from simoncozens/instrumentation Add messages for GPOS/GSUB (take 2)
Simon Cozens fe926970 2020-06-16T09:12:44 Reformat messages again Messages can be: start/end table XXXX start/end lookup NNNN start/end subtable NNNN (for kerx/kern) start/end chainsubtable NNNN (for morx)
Qunxin Liu 973c47f6 2020-06-11T11:27:57 [subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS. 2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
Behdad Esfahbod 56719474 2020-06-05T12:57:23 s/blacklist/blocklist/g
Qunxin Liu d7c012a0 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 2 do subset based on variation indices collected in step 1
Qunxin Liu 8200e48f 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 1 closure device variation indexes, create old->new variation idx mapping and store them in subset-plan
Pip Cet 461cd5a1 2020-05-20T10:01:24 minor: fix hb_ot_layout_get_ligature_carets
Khaled Hosny c7afb6d7 2020-04-22T15:18:40 [docs] Fix broken link
Ebrahim Byagowi 2be859d2 2020-04-20T23:48:23 minor, replace nullptr checks with implicit ones
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi a8455292 2020-04-17T22:50:48 [layout] minor on doc
Ebrahim Byagowi 29c90322 2020-04-17T22:11:40 Move hb_ot_layout_closure_{features,lookups} behind EXPERIMENTAL flag
Simon Cozens bdda2ff6 2020-03-30T16:40:29 More strictly follow noun/verb/identifier format for GPOS/GSUB lookups Less generic than the previous commit, but more descriptive and more consistent.
Simon Cozens 42aac640 2020-03-30T16:06:30 Add table index to lookup messages We could say GSUB/GPOS explicitly, but using the index is more general, in case future tables (such as JSTF, Silf) become supported.
Simon Cozens 2cea796b 2020-03-30T16:04:17 Instrument entering GSUB/GPOS tables
Khaled Hosny 1b64b730 2020-03-30T16:49:23 Revert "Add messages for GPOS/GSUB phases" This reverts commit b07714d6b53bb20a2796f5efa607dc32aac587f1.
Simon Cozens b07714d6 2020-03-14T17:55:27 Add messages for GPOS/GSUB phases
Garret Rieger c66ee213 2020-02-27T12:25:01 Limit the number of feature indices processed during feature collection.
Evgeniy Reizner b4377afd 2020-01-31T15:11:45 Minor hb_ot_layout documentation fixes.
Qunxin Liu 8ffc9add 2019-10-31T15:59:02 [subset] layout closure_features and store them in subset-plan
Ebrahim Byagowi 1a4c658b 2020-01-11T01:30:05 Use REPLACEME tag So we can use the version we like when we decide what it should be while the next release and can review the API before the release one other time.
Qunxin Liu 0b39c480 2019-10-22T16:00:43 [subset] closure lookups for GSUB/GPOS
Behdad Esfahbod 0414341a 2019-12-05T11:26:39 Prefer AAT shaping over OT if both available Fixes https://github.com/harfbuzz/harfbuzz/issues/1529
Hal Canary 4dae7cee 2019-11-13T10:08:35 [minor] Fix common typos: substition, the the. s/substition/substitution/ s/the the/the/
Behdad Esfahbod d6ad6131 2019-09-10T15:31:44 [docs] Misc fixes
Ebrahim Byagowi 8a16d6f1 2019-09-15T20:43:33 [doc] fix minor typo
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
Ebrahim Byagowi 3ae44645 2019-08-14T14:34:55 Fix caret_count value when AAT is disabled Set caret_count to zero as that is what we want to happen inside lcar when there is no result.
Behdad Esfahbod 6461143b 2019-08-13T22:20:54 2.6.0
Ebrahim Byagowi 60d9f009 2019-08-11T16:15:19 Implement opbd table parsing https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
Ebrahim Byagowi 9f2b4956 2019-07-30T04:42:51 [base] Add hb_ot_layout_get_baseline API
Ebrahim Byagowi 3ac03bd6 2019-07-22T23:35:08 [meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
Ebrahim Byagowi 069872c5 2019-07-25T14:27:43 minor
Ebrahim Byagowi 737eb85a 2019-07-25T14:26:30 Add _MAX_VALUE to disabled baseline types enum
Ebrahim Byagowi 41ab56e0 2019-07-22T18:46:52 Implement meta table parsing
Ebrahim Byagowi 87e62843 2018-11-20T23:26:46 Implement a simple API for fetching opentype metrics Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
Behdad Esfahbod 8fe15485 2019-06-26T13:49:42 [config] Add HB_NO_OT_TAG Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 12092a46 2019-06-26T13:31:01 [config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
Behdad Esfahbod bb4bbe61 2019-06-26T13:29:58 [config] Add HB_NO_OT_LAYOUT Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod fce3bf81 2019-06-19T20:34:29 [config] Add HB_NO_LAYOUT_COLLECT_GLYPHS Part of
Behdad Esfahbod 6c725c77 2019-06-19T20:12:25 [config] Add HB_NO_LAYOUT_FEATURE_PARAMS 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 631da9d8 2019-06-19T15:36:14 [config] Remove tables from hb_face_t for disabled features Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod f0b0fd4e 2019-06-18T14:40:24 Remove dead code
Behdad Esfahbod f08066ce 2019-06-18T14:29:27 [config] One more morx disabling Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod bf9424a9 2019-06-18T13:31:35 [config] Don't compile unused layout API if HB_NO_LAYOUT_UNUSED Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 65392b73 2019-05-22T16:21:21 [ucdn] Replace UCDN with a new UCD implementation UCDN was ~120kb of data. New implementatoin is 69kb in default builds, and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__. The latter automatically enabled if built with -Os or -Oz. There's room to shave off another 10kb or 20kb. That will follow later. Fixes https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 7f45ce42 2019-05-11T01:28:31 [config] Rename
Behdad Esfahbod fca27860 2019-05-11T00:37:01 [config] Make HB_DISABLE_DEPRECATED actually compile Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 5a48611c 2019-05-11T00:19:03 [config] Add HB_NO_OT_LAYOUT_UNUSED Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 227d85e1 2019-05-10T23:15:58 Minor
Behdad Esfahbod 41248cce 2019-05-07T20:54:31 Remove MIN/MAX in favor of hb_min/hb_max
Behdad Esfahbod 9ddbfa00 2019-04-12T09:33:25 Add HB_NO_OT_LAYOUT_BLACKLIST Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Nathan Willis 3db22726 2019-04-02T18:49:40 Update gtk-doc annotations for inout counts on various getter functions.
Nathan Willis c08ddbd9 2019-03-24T15:07:07 [Docs] Minor edits to gtk-doc inline comment review.
Nathan Willis af5230bc 2019-03-18T14:03:16 [Docs] Minor; fix formatting for gtk-doc multiple-annotations.
Nathan Willis 6c0a1e8c 2019-03-17T14:50:47 [Docs] Annotate gtk-doc formatting with some un-annotated (out)s.
Nathan Willis 5122805c 2019-03-17T14:43:06 [Docs] Fix gtk-doc formatting for (out) and (inout).
Nathan Willis d3178aa5 2019-03-17T14:27:27 [Docs] Fix gtk-doc references to 'kern' table functions, clarifying that GPOS is not examined.
Nathan Willis 930f6fc3 2019-03-16T15:10:21 [Docs] Add inlind gtk-doc comments for hb-ot-layout functions.
Behdad Esfahbod 7b27fe52 2019-03-11T18:09:51 Remove redundant hb_ot_layout_lookup_would_substitute_fast