Behdad Esfahbod
4d48fae4f2
Enforce Regional_Indicators native direction to LTR
...
And undo the morx direction reversal change introduced in
https://github.com/harfbuzz/harfbuzz/pull/3315
23159084b4
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
2022-04-21 11:15:34 -06:00
Behdad Esfahbod
94f5c630fc
[aat] Remove morx deleted-glyphs before GPOS processing
...
Fixes new Apple Color Emoji glyphs sequences rendering.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3512
2022-03-28 13:10:56 -06:00
Behdad Esfahbod
3122c2cdc4
[buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
2022-01-22 11:53:18 -07:00
luz paz
e2e305066a
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`
2022-01-16 05:39:03 -08:00
Behdad Esfahbod
bea5369c6d
[buffer] Rename swap_buffers() to sync()
2022-01-04 10:52:05 -07:00
Behdad Esfahbod
d1e7df5c3f
[buffer] Add enter()/leave() pair around shape()
2022-01-04 07:32:04 -07:00
Behdad Esfahbod
43be5ba442
[buffer] Group shape-related members together
2022-01-04 07:26:53 -07:00
Behdad Esfahbod
23159084b4
[morx] Reverse graphemese, not whole buffer
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3314
Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
2021-12-10 15:02:57 -07:00
Behdad Esfahbod
53eebc7cd2
[CONFIG] Add HB_NO_VERTICAL
2021-12-08 08:34:20 -08:00
Behdad Esfahbod
d58f1685ce
[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
2021-10-04 08:40:24 -06:00
Behdad Esfahbod
5a1a6f1fe3
[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
2021-09-14 07:14:56 -04:00
Behdad Esfahbod
f0de40dd61
Whitespace
2021-08-24 10:35:33 -06:00
Behdad Esfahbod
33c82c7dad
[ot-shape] Fix unused-var error when building without AAT
...
Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45
2021-08-22 22:31:39 -06:00
Behdad Esfahbod
368e957887
[ot-shape] Add comment re `vert` feature
2021-08-05 10:41:18 -06:00
Behdad Esfahbod
79e8b30609
[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
2021-07-16 16:29:44 -06:00
Behdad Esfahbod
a623446a34
[shape] Remove stray clear_output() call in hb_shape()
2021-07-12 16:55:54 -06:00
Behdad Esfahbod
1cb0ca1f2c
Whitespace
2021-07-12 16:52:51 -06:00
Behdad Esfahbod
0969614865
[ot-shape] Rewrite loop without foreach_grapheme()
...
We were not using the graphemes, and that's costlier than just for().
2021-06-26 08:52:53 -06:00
Khaled Hosny
c3be28ea26
[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
2021-06-23 13:11:27 -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
Behdad Esfahbod
2b0ced28b6
Cluster Regional_Indicator pairs (aka emoji flags)
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2265
2021-06-14 06:34:58 -07:00
Behdad Esfahbod
5bc05ba155
Prefer GPOS over kerx, if GSUB was applied
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
2021-06-13 05:28:20 -06:00
Jonathan Kew
bbc5fc3731
[aat] If shaping via morx, don't adjust mark positioning when zeroing widths.
2021-05-17 21:44:29 -06:00
Behdad Esfahbod
e6be9eb4fb
[buffer] HB_NODISCARD output_info()
2021-03-15 14:12:10 -06:00
Behdad Esfahbod
9fcba109bf
[buffer] Make swap_buffers() copy rest
2021-02-19 18:40:48 -07:00
Simon Cozens
fd8f4ffcc6
Trace reorder, not normalize
2020-11-17 09:05:40 +00:00
Simon Cozens
2e0193d741
Add more cast spaces
2020-11-17 09:05:40 +00:00
Simon Cozens
8e1bedc50b
Keep phase names
2020-11-17 09:05:40 +00:00
Simon Cozens
f19018da41
Smaller issues from review
2020-11-17 09:05:40 +00:00
Simon Cozens
8b3b835a0a
Trace normalization and preprocessing stages
2020-11-17 09:05:40 +00:00
Nathan Willis
eb10ef46aa
[Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape.
2020-09-26 09:46:15 +02:00
Ebrahim Byagowi
d0e2addd43
minor
2020-07-18 22:16:02 +04:30
Sebastian Rasmussen
a373e16131
[ot-shape] Free shape plan maps upon error creating data ( #2497 )
2020-06-27 20:09:45 -07:00
Ebrahim Byagowi
f9070cfef8
Run morx if run is horizontal or GSUB doesn't exist
2020-01-25 00:36:36 +03:30
Dominik Röttsches
298c46afbf
Only prefer AAT morx for horizontal layout
...
Fixes #2124 .
2020-01-24 19:48:36 +03:30
Dominik Röttsches
66dfd605b5
Fix duplicate check in hb_ot_rotate chars
...
Fixes #2099 . Fix indentation in mirroring section as well.
2020-01-13 18:20:12 +03:30
Evgeniy Reizner
b79ceac3c6
Prefer UINT_MAX instead of uint overflow.
...
Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
2019-12-15 11:46:05 -08:00
Behdad Esfahbod
f47cbade18
[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
▃
▂▃▃▄▃▂▁▊ ▃ ▃ ▎
▗ ▅▆▆▅ ▌ ▆▆▅▆▙ ▌▗
▗ ▙ ▂ ▎▗ ▟
▅▆▆▆▇▇▇▇▇▇▇▆▆▅▄ ▇▅▅▅ ▙▆▇
▁▁▂▁ ▁▁
▖ ▖ ▂▂
▉ ▁ ▆▆ ▌ ▆ ▙▄ ▁▁
▙ ▉ ▃▖ ▟
▊ ▉ ▅▟ ▗▄
▊ ▉ ▗ ▏ ▇▆
▊ ▟ ▉ ▆ ▖
▊ ▉ ▌ ▂
▊ ▏ ▉ ▌ ▗ ▄▟
▊ ▆
2019-12-09 18:11:04 -06:00
Behdad Esfahbod
2dc20e632e
Implement fallback vertical shaping from Firefox
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/355
2019-12-05 15:28:42 +00:00
Behdad Esfahbod
0414341ac5
Prefer AAT shaping over OT if both available
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1529
2019-12-05 11:26:39 +00:00
Behdad Esfahbod
1a1d64bc6f
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.
2019-10-31 12:51:40 -07:00
Ebrahim Byagowi
a0b4ac4dce
Turn 8 spaces to tab across the project
...
According to the current code style of the project
2019-08-27 02:40:41 +04:30
Khaled Hosny
40aef1b473
[ot-shape] Keep horizontal_features array sorted
2019-08-16 02:17:32 +02:00
Khaled Hosny
da5118da77
[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
2019-08-16 02:17:32 +02:00
Khaled Hosny
2164bd6f29
[ot-shape] Enable dist feature by default ( #1908 )
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1907
2019-08-16 00:28:41 +02:00
Behdad Esfahbod
cd65305b05
[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.
2019-06-26 14:57:48 -07:00
Behdad Esfahbod
5130c90ac0
[config] Add HB_NO_EMOJI
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 14:29:39 -07:00
Behdad Esfahbod
2804790bce
[config] Add dependency
2019-06-26 13:38:14 -07:00
Behdad Esfahbod
12092a46d8
[config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
2019-06-26 13:31:01 -07:00