|
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.
|
|
75187186
|
2025-02-12T11:39:14
|
|
[buffer] Add HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES
https://github.com/harfbuzz/harfbuzz/discussions/5026#discussioncomment-12168668
|
|
ff76244e
|
2025-03-09T17:23:18
|
|
[aat/morx] Delete deleted glyphs again
But also check for default-ignorable bit this time.
|
|
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.
|
|
694ffa87
|
2025-02-20T23:56:59
|
|
10.3.0
|
|
cf336f17
|
2025-02-10T14:15:25
|
|
[shape-plan] Rename hb_ot_shape_plan_get_features to get_feature_tags
Simplify the API by returning only feature tags. The users of this API
would be interested only in feature enabled by default and whether the
feature is globally or partially enabled wouldn’t be of much interest in
that case. For user features, the user of the API already have full
access to them.
|
|
a7d7715f
|
2025-02-02T23:06:11
|
|
[shape-plan] Add hb_ot_shape_plan_get_features
This should get the features on a shape plan after executing it.
Initially I wanted to return an array of tags, but then there can be
user features that are not enabled globally, so I thought returning
hb_feature_t with value and range would be better. There is a TODO since
I couldn’t figure out how to get the value and range from the feature
mask. But also it may be overkill and a simple boolean indicating wither
it is a global feature or not would be enough.
I wounder also what should happen to non-user features that are applied
selectively, like init or medi, does ot make sense to indicate whether
they are global or not?
This is inspired by the discussion in:
https://github.com/fontforge/fontforge/pull/5522#pullrequestreview-2574321449,
but it might be useful to other HarfBuzz users.
|
|
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
|
|
f840480f
|
2025-02-09T04:27:20
|
|
[trak] Remove leftover
|
|
1150d4bf
|
2025-02-09T04:16:57
|
|
[trak] Remove support for disabling using pseudo-font-feature
Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
|
|
691cc939
|
2025-02-06T20:08:16
|
|
[trak] Fix build without STAT
|
|
f394206b
|
2025-02-06T19:48:56
|
|
[ot-shape] Only apply trak'ing if STAT table present
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
3d86b360
|
2024-03-22T10:37:39
|
|
[shape] Fix syntax error under some configs
Fixes https://github.com/harfbuzz/harfbuzz/issues/4635
|
|
f380a328
|
2023-08-25T14:01:01
|
|
Fix some typos.
|
|
35a026c8
|
2023-07-30T11:28:59
|
|
[shape] Unsafe-to-concat around fraction slash
|
|
f19ca24a
|
2023-07-30T11:26:11
|
|
Revert "Revert "Require numerator and denominator in auto fraction""
This reverts commit 8fe506e153c530affd529e7175e813c3a878faed.
|
|
8fe506e1
|
2023-07-30T10:43:28
|
|
Revert "Require numerator and denominator in auto fraction"
This reverts commit f3e86937df345d7709de879af1d1a1502e84e1e9.
|
|
f3e86937
|
2023-07-30T08:28:23
|
|
Require numerator and denominator in auto fraction
|
|
76de3451
|
2023-07-15T15:00:23
|
|
[ot-shape] Short-circuit spaces as well
|
|
765da4db
|
2023-07-15T14:55:36
|
|
[ot-shape] Minor short-circuit
|
|
7b8e0bbb
|
2023-07-15T14:53:15
|
|
[ot-shape] Minor short-circuit
|
|
de2c1073
|
2023-07-02T16:44:48
|
|
[ot-map] Speed up for default shaper
Sort late, the reduced number of features.
|
|
db4c8747
|
2023-01-09T21:32:15
|
|
Revert "Revert "[aat] Support feature ranges""
This reverts commit 6a7a38521f940216f1e9e2fa2bf22f7b45ce2aef.
|
|
6a7a3852
|
2023-01-09T21:29:19
|
|
Revert "[aat] Support feature ranges"
This reverts commit 1b7994cb3a3c35f3618d7f40c7289496bdab6f06.
Broke Zapfino with partial ligature disabling. Debugging.
|
|
adfd5dd7
|
2023-01-09T21:18:12
|
|
Fix TINY build
|
|
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
|
|
622a6869
|
2023-01-09T18:14:40
|
|
Revert "Revert "Revert "[aat] Allow disable feature ranges"""
This reverts commit 5202053c2c5fb2c8af9704e690b25a26bf2a0295.
|
|
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
|
|
82b3e8af
|
2023-01-09T17:28:52
|
|
Revert "[aat] Allow disable feature ranges"
This reverts commit 24a4d397bae6b614215086c85a714dc789af3e7f.
This was broken.
|
|
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.
|
|
73046d53
|
2022-11-24T13:49:29
|
|
[shaper] Disable dumber shaper if no AAT
|
|
ed43bc51
|
2022-11-20T13:10:19
|
|
[buffer] Move delete_glyphs_inplace() here
|
|
d65af602
|
2022-10-15T14:26:02
|
|
[shape] Adjust Grapheme clusters for Katakana voiced sound marks
Fixes https://github.com/harfbuzz/harfbuzz/issues/3844
|
|
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.
|
|
f43dadb8
|
2022-07-30T10:23:03
|
|
Rename kashida -> tatweel
|
|
d277addb
|
2022-07-30T10:10:21
|
|
[buffer] Add HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA
|
|
915e12cc
|
2022-07-29T13:55:39
|
|
Prototype glyph flag safe-to-kashida
Fixes https://github.com/harfbuzz/harfbuzz/issues/3721
|
|
d57ce300
|
2022-07-17T21:56:56
|
|
[ot-shape] Pass reference to props instead of pointer
Since cannot be nullptr.
|
|
cc7ebb0f
|
2022-06-04T05:42:58
|
|
Remove remaining mention to complex shapers in the code
https://github.com/harfbuzz/harfbuzz/pull/3628#issuecomment-1146248037
|
|
5bfb0b72
|
2022-06-03T02:56:41
|
|
Rename s/shape-complex/shaper/g
|
|
6d9e94d2
|
2022-06-03T02:48:34
|
|
s/hb_ot_shape_complex_categorize/hb_ot_shaper_categorize/g
|
|
44a7b3b7
|
2022-06-03T02:42:34
|
|
s/ot_complex_shaper/ot_shaper/g
|
|
e246723f
|
2022-06-01T04:54:18
|
|
[shape] Fail shaping internally if buffer ops exceeded
|
|
8575a8f5
|
2022-04-21T11:14:09
|
|
Add _hb_codepoint_is_regional_indicator()
|
|
c1ee7d28
|
2022-04-20T13:38:05
|
|
Typo
Co-authored-by: Khaled Hosny <khaled@aliftype.com>
|
|
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
|
|
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
|
|
3122c2cd
|
2021-12-04T19:50:33
|
|
[buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
|
|
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`
|
|
bea5369c
|
2022-01-04T10:52:05
|
|
[buffer] Rename swap_buffers() to sync()
|
|
d1e7df5c
|
2022-01-04T07:32:04
|
|
[buffer] Add enter()/leave() pair around shape()
|
|
43be5ba4
|
2022-01-04T07:26:53
|
|
[buffer] Group shape-related members together
|
|
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
|
|
53eebc7c
|
2021-12-08T08:32:41
|
|
[CONFIG] Add HB_NO_VERTICAL
|
|
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
|
|
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
|
|
f0de40dd
|
2021-08-23T23:52:17
|
|
Whitespace
|
|
33c82c7d
|
2021-08-22T22:31:39
|
|
[ot-shape] Fix unused-var error when building without AAT
Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45
|
|
368e9578
|
2021-08-05T10:16:13
|
|
[ot-shape] Add comment re `vert` feature
|
|
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
|
|
a623446a
|
2021-07-12T16:55:54
|
|
[shape] Remove stray clear_output() call in hb_shape()
|
|
1cb0ca1f
|
2021-07-12T16:52:31
|
|
Whitespace
|
|
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().
|
|
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
|
|
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.
|
|
2b0ced28
|
2021-06-09T19:06:31
|
|
Cluster Regional_Indicator pairs (aka emoji flags)
Fixes https://github.com/harfbuzz/harfbuzz/issues/2265
|
|
5bc05ba1
|
2021-06-13T05:28:20
|
|
Prefer GPOS over kerx, if GSUB was applied
Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
|
|
bbc5fc37
|
2021-05-13T11:39:09
|
|
[aat] If shaping via morx, don't adjust mark positioning when zeroing widths.
|
|
e6be9eb4
|
2021-03-15T14:12:10
|
|
[buffer] HB_NODISCARD output_info()
|
|
9fcba109
|
2020-06-28T20:30:39
|
|
[buffer] Make swap_buffers() copy rest
|
|
fd8f4ffc
|
2020-09-18T16:37:22
|
|
Trace reorder, not normalize
|
|
2e0193d7
|
2020-09-18T16:28:29
|
|
Add more cast spaces
|
|
8e1bedc5
|
2020-09-18T16:25:43
|
|
Keep phase names
|
|
f19018da
|
2020-09-17T15:08:32
|
|
Smaller issues from review
|
|
8b3b835a
|
2020-09-17T14:27:31
|
|
Trace normalization and preprocessing stages
|
|
eb10ef46
|
2019-04-22T19:22:24
|
|
[Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape.
|
|
d0e2addd
|
2020-07-18T22:14:52
|
|
minor
|
|
a373e161
|
2020-06-28T11:09:45
|
|
[ot-shape] Free shape plan maps upon error creating data (#2497)
|
|
f9070cfe
|
2020-01-24T22:19:03
|
|
Run morx if run is horizontal or GSUB doesn't exist
|
|
298c46af
|
2020-01-24T12:11:07
|
|
Only prefer AAT morx for horizontal layout
Fixes #2124.
|
|
66dfd605
|
2020-01-13T15:50:27
|
|
Fix duplicate check in hb_ot_rotate chars
Fixes #2099. Fix indentation in mirroring section as well.
|
|
b79ceac3
|
2019-12-15T16:50:01
|
|
Prefer UINT_MAX instead of uint overflow.
Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
|
|
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
▃
▂▃▃▄▃▂▁▊ ▃ ▃ ▎
▗ ▅▆▆▅ ▌ ▆▆▅▆▙ ▌▗
▗ ▙ ▂ ▎▗ ▟
▅▆▆▆▇▇▇▇▇▇▇▆▆▅▄ ▇▅▅▅ ▙▆▇
▁▁▂▁ ▁▁
▖ ▖ ▂▂
▉ ▁ ▆▆ ▌ ▆ ▙▄ ▁▁
▙ ▉ ▃▖ ▟
▊ ▉ ▅▟ ▗▄
▊ ▉ ▗ ▏ ▇▆
▊ ▟ ▉ ▆ ▖
▊ ▉ ▌ ▂
▊ ▏ ▉ ▌ ▗ ▄▟
▊ ▆
|
|
2dc20e63
|
2019-12-05T15:28:42
|
|
Implement fallback vertical shaping from Firefox
Fixes https://github.com/harfbuzz/harfbuzz/issues/355
|
|
0414341a
|
2019-12-05T11:26:39
|
|
Prefer AAT shaping over OT if both available
Fixes https://github.com/harfbuzz/harfbuzz/issues/1529
|
|
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.
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
40aef1b4
|
2019-08-16T01:00:30
|
|
[ot-shape] Keep horizontal_features array sorted
|
|
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
|
|
2164bd6f
|
2019-08-16T00:28:41
|
|
[ot-shape] Enable dist feature by default (#1908)
Fixes https://github.com/harfbuzz/harfbuzz/issues/1907
|
|
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.
|
|
5130c90a
|
2019-06-26T14:29:39
|
|
[config] Add HB_NO_EMOJI
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
2804790b
|
2019-06-26T13:38:14
|
|
[config] Add dependency
|
|
12092a46
|
2019-06-26T13:31:01
|
|
[config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
|
|
7aad5365
|
2019-06-26T13:21:03
|
|
[config] Add HB_NO_OT_SHAPE / HB_NO_OT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|