Behdad Esfahbod
a7f4c985a8
[ot-layout] Always swap_buffers() even if no substitutions happened
2021-07-12 17:00:46 -06:00
Behdad Esfahbod
62b441e6ff
[layout] Use Proxy::inplace instead of table index check
...
Equivalent.
2021-07-12 16:59:34 -06:00
Behdad Esfahbod
431f164003
[layout] Don't call clear_output() before pause-func
2021-07-12 16:57:25 -06:00
Behdad Esfahbod
1cb0ca1f2c
Whitespace
2021-07-12 16:52:51 -06:00
Behdad Esfahbod
40884af17e
[ot-layout] Narrow down random feature logic vs safe-to-break
2021-07-09 16:34:08 -07:00
Behdad Esfahbod
33b579d0ad
[ot-layout] Clear random flag for subsequent flags
...
Ouch!
2021-07-09 16:34:08 -07:00
Behdad Esfahbod
bb48bf52a4
Rename misc uses of "free"
...
In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
2021-07-08 10:54:09 -07:00
Garret Rieger
bc06af977f
[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.
2021-06-20 17:45:19 -07:00
Behdad Esfahbod
93e6a9bc4e
Revert "Remove unneeded buffer clear_output / remove_output calls"
...
This reverts commit 06175b7143
.
One of the sanitizers is failing. Pushing again as PR to debug.
I have suspicions.
2021-06-15 15:38:49 -06:00
Behdad Esfahbod
06175b7143
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.
2021-06-15 14:33:27 -06:00
Khaled Hosny
a9fb6a0c3c
[aat] Add start table/end table to buffer messages
...
Related to https://github.com/harfbuzz/harfbuzz/issues/3008
2021-06-06 10:35:28 -07:00
Behdad Esfahbod
cf9538e808
Removal remaining uses of "blacklist" terminology
2021-06-04 22:33:16 -06:00
Khaled Hosny
90713f270e
[hb-ot-layout] Document some return values
2021-04-30 14:05:33 -06:00
Qunxin Liu
0e1c0fa404
[subset] optimize glyph closure method: step 5
...
add testcase and some fixes
2021-03-17 15:22:07 -06:00
Behdad Esfahbod
8450f43ae1
[buffer] HB_NODISCARD next_glyph()
2021-03-15 16:01:35 -06:00
Khaled Hosny
5151c2b668
[introspection] Replace deprecated allow-none
...
Use optional or nullable as appropriate.
2020-12-30 19:21:49 -08:00
Khaled Hosny
8e8c3e5878
[docs] Complete hb-ot-layout docs a bit
2020-12-30 19:21:49 -08:00
Khaled Hosny
a8e72ee784
[docs] Use %true and %false consistently
2020-12-30 23:28:26 +02:00
Khaled Hosny
e93de6362b
[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
2020-12-30 11:53:46 -08:00
Simon Cozens
428c111f13
Fix spacing around casts
2020-11-17 09:05:40 +00:00
Nathan Willis
70331ca485
[Docs] Minor
...
update GTK-Doc comments in hb-ot-layout.
2020-09-26 09:47:13 +02:00
Ebrahim Byagowi
122a2897e4
[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.
2020-07-06 00:05:36 +04:30
Ebrahim Byagowi
e4203c1469
2.6.8
2020-06-22 12:51:22 +04:30
Ebrahim Byagowi
d38eb49f46
Move the iteration logic to FeatureParamsCharacterVariants
...
Hopefully I can make members protected also.
2020-06-19 23:46:49 +04:30
Ebrahim Byagowi
9b3d4f457e
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.
2020-06-19 23:46:44 +04:30
Ebrahim Byagowi
63422c4cbc
[ot-layout] simplify
2020-06-19 23:26:18 +04:30
Ebrahim Byagowi
f1488152bd
[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.
2020-06-19 23:07:30 +04:30
Behdad Esfahbod
70d6696cc6
[dispatch] Don't require debug_depth for untraced objects
2020-06-18 17:09:39 -07:00
Behdad Esfahbod
5bc4cedde6
Rename
2020-06-18 17:04:35 -07:00
Behdad Esfahbod
8d0a90ac1b
[dispatch] Default debug level to 0
2020-06-18 16:53:54 -07:00
Behdad Esfahbod
e47a2ab8f8
Remove unused dispatcher names
2020-06-18 16:48:07 -07:00
Behdad Esfahbod
b2a1acccd9
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).
2020-06-18 16:41:31 -07:00
Behdad Esfahbod
ffe8d3f39d
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.
2020-06-18 16:31:39 -07:00
Behdad Esfahbod
5bede33885
Whitespace
2020-06-18 15:25:19 -07:00
Ebrahim Byagowi
1bac85828c
[layout] Rename _get_alternates to _get_glyph_alternates
2020-06-18 22:56:07 +04:30
Ebrahim Byagowi
d3c169792b
[layout] move alternate buffer iteration logic to AlternateSet
2020-06-18 09:23:13 +04:30
Ebrahim Byagowi
1348a2c865
[layout] hb_ot_layout_lookup_get_alternates, a new API
...
An API to retrieve one-to-one alternates from a given GSUB lookup index.
2020-06-18 09:11:07 +04:30
Behdad Esfahbod
e7c79e16b8
Merge pull request #2287 from simoncozens/instrumentation
...
Add messages for GPOS/GSUB (take 2)
2020-06-17 15:32:40 -07:00
Simon Cozens
fe926970bc
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)
2020-06-16 09:12:44 +01:00
Qunxin Liu
973c47f6c9
[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
2020-06-12 01:20:30 +04:30
Behdad Esfahbod
56719474c2
s/blacklist/blocklist/g
2020-06-05 12:57:23 -07:00
Qunxin Liu
d7c012a08e
[subset] GDEF Variation Store: step 2
...
do subset based on variation indices collected in step 1
2020-05-21 12:43:24 -07:00
Qunxin Liu
8200e48ffc
[subset] GDEF Variation Store: step 1
...
closure device variation indexes, create old->new variation idx mapping
and store them in subset-plan
2020-05-21 12:43:24 -07:00
Pip Cet
461cd5a158
minor: fix hb_ot_layout_get_ligature_carets
2020-05-20 10:01:24 +00:00
Khaled Hosny
c7afb6d7b8
[docs] Fix broken link
2020-04-22 15:19:37 +02:00
Ebrahim Byagowi
2be859d289
minor, replace nullptr checks with implicit ones
2020-04-21 00:30:34 +04:30
Ebrahim Byagowi
2dda6dd744
minor, tweak spacing
...
turn 8 spaces to tab, add space before Null/Crap
2020-04-20 16:18:29 +04:30
Ebrahim Byagowi
a8455292f4
[layout] minor on doc
2020-04-17 22:50:48 +04:30
Ebrahim Byagowi
29c903223b
Move hb_ot_layout_closure_{features,lookups} behind EXPERIMENTAL flag
2020-04-17 22:25:45 +04:30
Simon Cozens
bdda2ff609
More strictly follow noun/verb/identifier format for GPOS/GSUB lookups
...
Less generic than the previous commit, but more descriptive and more consistent.
2020-03-30 16:40:29 +01:00