|
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
|
|
b342adeb
|
2022-03-23T16:28:22
|
|
[reorg] Move GSUB into OT::Layout::GSUB namespace.
|
|
cad2fe8e
|
2022-03-15T10:49:29
|
|
[baseline] Fix HB_NO_METRICS build
Fixes https://github.com/harfbuzz/harfbuzz/issues/3482
|
|
a8a89b80
|
2022-03-15T10:48:03
|
|
[layout] Whitespace
|
|
6bf8f0a3
|
2022-03-15T10:44:41
|
|
[baseline] Use ot-metrics fallback API
|
|
e7ab42b2
|
2022-03-10T09:05:43
|
|
[layout] Fix handling of baseline variations
For BASE table format 1.1, the handling of design
space vs user space coordinates was inconsistent.
We were applying design -> user transformation
twice for the deltas, leading to wrong baseline
values.
Patch by Ebrahim Byagowi <ebrahim@gnu.org>
Fixes: #3476
|
|
8d1b000a
|
2022-03-01T21:27:32
|
|
4.0.0
|
|
95bb2ff7
|
2022-02-16T13:10:52
|
|
[ot-layout] Add central baselines
Add HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL
and HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL
which are the centers of the ideographic em-box
and face box.
|
|
f81578fd
|
2022-02-13T19:15:36
|
|
[ot-layout] Synthesize missing baselines
Add a variation of hb_ot_layout_get_baseline that
synthesizes missing baselines, using heuristics in part
taken from the CSS Inline Layout Module, Level 3.
Includes some new tests for synthesized baselines.
The base2.ttf is a subset of Noto Sans Bengali that
includes just the Bengali Ka.
New API: hb_ot_layout_get_baseline_with_fallback
|
|
98079109
|
2022-02-13T18:15:32
|
|
[ot-layout] Add +hb_ot_layout_get_horizontal_baseline_tag_for_script()
New API:
+hb_ot_layout_get_horizontal_baseline_tag_for_script()
|
|
9909e332
|
2022-02-15T18:02:09
|
|
Improve docs for hb_ot_layout_get_ligature_carets
Add some relevant details to the documentation
for this function.
Fixes: #3168
|
|
bc899650
|
2022-01-28T13:54:10
|
|
[subset] Fix for issue #3397.
cur_intersected_glyphs gets modified during recursion leading to incorrect filtering of sub tables in some cases. So don't use cur_intersected_glyphs. Instead just add an additional entry onto the parent_active_glyphs () stack.
Additionaly expands NotoNastaliqUrdu tests to include coverage of the issue from #3397.
|
|
bea5369c
|
2022-01-04T10:52:05
|
|
[buffer] Rename swap_buffers() to sync()
|
|
d6702570
|
2021-12-10T13:52:05
|
|
[subset] reset the visited lookup count before each closure iteration.
|
|
394f7729
|
2021-11-19T11:49:23
|
|
[map] Allow storing classes in the hashmap
Fixes https://github.com/harfbuzz/harfbuzz/issues/3293
The trick was to change the type of the invalid key/value to be non-class.
|
|
1e07d42a
|
2021-11-07T01:19:42
|
|
Typo fix
|
|
1fd7fd98
|
2021-11-06T10:18:20
|
|
Cosmetics: Avoid confusing indentation
This line had me confused for a second because
the condition looked like a cast and the if just
looked misplaced. Add a line break to prevent
such confusion.
|
|
3471f8f6
|
2021-11-06T10:17:20
|
|
docs: Clarify a doc comment
Reword the docs for hb_ot_layout_script_select_language and
be a bit more specific about the returned index.
|
|
364b6b39
|
2021-10-31T14:38:20
|
|
[subset] Don't assume FeatureList is sorted
Though the spec said FeatureRecords are sorted alphabetically by feature
tag, there're font files with unsorted FeatureList. And harfbuzz is not
able to subset these files correctly because we use binary search in
finding featureRecords when collecting lookups. Also
find_duplicate_features needs to be updated to handle this.
|
|
6d555ce8
|
2021-11-02T00:18:22
|
|
[meta] Use std::forward instead of hb_forward()
|
|
b36f1510
|
2021-09-18T23:09:07
|
|
[doc] Add missing version tags
|
|
95b04f74
|
2021-07-12T17:35:45
|
|
[buffer] Remove unnecessary have_separate_output()
|
|
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.
|
|
a7f4c985
|
2021-07-12T17:00:46
|
|
[ot-layout] Always swap_buffers() even if no substitutions happened
|
|
62b441e6
|
2021-07-12T16:59:34
|
|
[layout] Use Proxy::inplace instead of table index check
Equivalent.
|
|
431f1640
|
2021-07-12T16:57:25
|
|
[layout] Don't call clear_output() before pause-func
|
|
1cb0ca1f
|
2021-07-12T16:52:31
|
|
Whitespace
|
|
40884af1
|
2021-07-09T17:17:05
|
|
[ot-layout] Narrow down random feature logic vs safe-to-break
|
|
33b579d0
|
2021-07-09T17:12:09
|
|
[ot-layout] Clear random flag for subsequent flags
Ouch!
|
|
bb48bf52
|
2021-07-08T10:53:45
|
|
Rename misc uses of "free"
In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
|
|
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.
|
|
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.
|
|
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.
|
|
a9fb6a0c
|
2021-06-06T14:40:50
|
|
[aat] Add start table/end table to buffer messages
Related to https://github.com/harfbuzz/harfbuzz/issues/3008
|
|
cf9538e8
|
2021-06-04T22:33:16
|
|
Removal remaining uses of "blacklist" terminology
|
|
90713f27
|
2021-04-30T16:56:39
|
|
[hb-ot-layout] Document some return values
|
|
0e1c0fa4
|
2021-01-12T10:17:14
|
|
[subset] optimize glyph closure method: step 5
add testcase and some fixes
|
|
8450f43a
|
2021-03-15T15:18:06
|
|
[buffer] HB_NODISCARD next_glyph()
|
|
5151c2b6
|
2020-12-31T00:28:27
|
|
[introspection] Replace deprecated allow-none
Use optional or nullable as appropriate.
|
|
8e8c3e58
|
2020-12-30T23:37:49
|
|
[docs] Complete hb-ot-layout docs a bit
|
|
a8e72ee7
|
2020-12-30T23:08:40
|
|
[docs] Use %true and %false consistently
|
|
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
|
|
428c111f
|
2020-09-18T16:24:47
|
|
Fix spacing around casts
|
|
70331ca4
|
2019-04-22T19:25:42
|
|
[Docs] Minor
update GTK-Doc comments in hb-ot-layout.
|
|
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.
|
|
e4203c14
|
2020-06-22T05:03:27
|
|
2.6.8
|
|
d38eb49f
|
2020-06-19T23:40:42
|
|
Move the iteration logic to FeatureParamsCharacterVariants
Hopefully I can make members protected also.
|
|
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.
|
|
63422c4c
|
2020-06-19T23:24:04
|
|
[ot-layout] simplify
|
|
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.
|
|
70d6696c
|
2020-06-18T17:09:39
|
|
[dispatch] Don't require debug_depth for untraced objects
|
|
5bc4cedd
|
2020-06-18T17:04:35
|
|
Rename
|
|
8d0a90ac
|
2020-06-18T16:53:54
|
|
[dispatch] Default debug level to 0
|
|
e47a2ab8
|
2020-06-18T16:48:07
|
|
Remove unused dispatcher names
|
|
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).
|
|
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.
|
|
5bede338
|
2020-06-18T15:25:19
|
|
Whitespace
|
|
1bac8582
|
2020-06-18T22:56:07
|
|
[layout] Rename _get_alternates to _get_glyph_alternates
|
|
d3c16979
|
2020-06-18T08:37:21
|
|
[layout] move alternate buffer iteration logic to AlternateSet
|
|
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.
|
|
e7c79e16
|
2020-06-17T15:32:40
|
|
Merge pull request #2287 from simoncozens/instrumentation
Add messages for GPOS/GSUB (take 2)
|
|
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)
|
|
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
|
|
56719474
|
2020-06-05T12:57:23
|
|
s/blacklist/blocklist/g
|
|
d7c012a0
|
2020-02-26T13:11:42
|
|
[subset] GDEF Variation Store: step 2
do subset based on variation indices collected in step 1
|
|
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
|
|
461cd5a1
|
2020-05-20T10:01:24
|
|
minor: fix hb_ot_layout_get_ligature_carets
|
|
c7afb6d7
|
2020-04-22T15:18:40
|
|
[docs] Fix broken link
|
|
2be859d2
|
2020-04-20T23:48:23
|
|
minor, replace nullptr checks with implicit ones
|
|
2dda6dd7
|
2020-04-20T14:12:45
|
|
minor, tweak spacing
turn 8 spaces to tab, add space before Null/Crap
|
|
a8455292
|
2020-04-17T22:50:48
|
|
[layout] minor on doc
|
|
29c90322
|
2020-04-17T22:11:40
|
|
Move hb_ot_layout_closure_{features,lookups} behind EXPERIMENTAL flag
|
|
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.
|
|
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.
|
|
2cea796b
|
2020-03-30T16:04:17
|
|
Instrument entering GSUB/GPOS tables
|
|
1b64b730
|
2020-03-30T16:49:23
|
|
Revert "Add messages for GPOS/GSUB phases"
This reverts commit b07714d6b53bb20a2796f5efa607dc32aac587f1.
|
|
b07714d6
|
2020-03-14T17:55:27
|
|
Add messages for GPOS/GSUB phases
|
|
c66ee213
|
2020-02-27T12:25:01
|
|
Limit the number of feature indices processed during feature collection.
|
|
b4377afd
|
2020-01-31T15:11:45
|
|
Minor hb_ot_layout documentation fixes.
|
|
8ffc9add
|
2019-10-31T15:59:02
|
|
[subset] layout closure_features and store them in subset-plan
|
|
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.
|
|
0b39c480
|
2019-10-22T16:00:43
|
|
[subset] closure lookups for GSUB/GPOS
|
|
0414341a
|
2019-12-05T11:26:39
|
|
Prefer AAT shaping over OT if both available
Fixes https://github.com/harfbuzz/harfbuzz/issues/1529
|
|
4dae7cee
|
2019-11-13T10:08:35
|
|
[minor] Fix common typos: substition, the the.
s/substition/substitution/
s/the the/the/
|
|
d6ad6131
|
2019-09-10T15:31:44
|
|
[docs] Misc fixes
|
|
8a16d6f1
|
2019-09-15T20:43:33
|
|
[doc] fix minor typo
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
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.
|
|
6461143b
|
2019-08-13T22:20:54
|
|
2.6.0
|
|
60d9f009
|
2019-08-11T16:15:19
|
|
Implement opbd table parsing
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
|
|
9f2b4956
|
2019-07-30T04:42:51
|
|
[base] Add hb_ot_layout_get_baseline API
|
|
3ac03bd6
|
2019-07-22T23:35:08
|
|
[meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
|
|
069872c5
|
2019-07-25T14:27:43
|
|
minor
|
|
737eb85a
|
2019-07-25T14:26:30
|
|
Add _MAX_VALUE to disabled baseline types enum
|
|
41ab56e0
|
2019-07-22T18:46:52
|
|
Implement meta table parsing
|
|
87e62843
|
2018-11-20T23:26:46
|
|
Implement a simple API for fetching opentype metrics
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
|
|
8fe15485
|
2019-06-26T13:49:42
|
|
[config] Add HB_NO_OT_TAG
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
12092a46
|
2019-06-26T13:31:01
|
|
[config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
|
|
bb4bbe61
|
2019-06-26T13:29:58
|
|
[config] Add HB_NO_OT_LAYOUT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
fce3bf81
|
2019-06-19T20:34:29
|
|
[config] Add HB_NO_LAYOUT_COLLECT_GLYPHS
Part of
|