-
Notifications
You must be signed in to change notification settings - Fork 1.5k
font/shaper/harfbuzz: Update position logic to match recent CoreText changes #10332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
34204eb to
80bf50b
Compare
92dd48e to
c587d7a
Compare
|
Ran CI with some real failures! |
|
Ah shoot, I thought it passed locally. I'll check tomorrow! Might be time for me to invest in a linux laptop |
|
Okay, yeah, I confirmed running |
|
I use a Linux VM on Mac to great success. Running tests you can do with any provider but running the GUI requires VMware due to OpenGL 4.3 |
|
I can run the GUI no problem in my UTM/QEMU Linux VM on a mac host. Just select virtio-gpu-pci as GPU and install virtio drivers on the guest. |
|
Okay, I'll look at running a linux VM on Tuesday! |
|
Taking a bit to get set up on linux and also work's been busy. Maybe I'll be up and running tomorrow, if not early next week |
This PR incorporates the recent changes made to CoreText in the following PRs:
Tests have been added verifying the behavior. Below are all the changes in shaping from the above PRs but now using HarfBuzz.
Tai Tham vowels (#9883)
Browser:
ᨯᩰ
Before:
(Note that this worked correctly with the old logic for HarfBuzz in contrast to CoreText)
After:
Tibetan characters (discussion #8054)
Browser:
ༀ
Before (with Noto Serif Tibetan):
After:
Tai Tham ligature (#10179 and #10295)
Browser:
ᩉ᩠ᨿᩩ
Before:
After:
Javanese ligature (#10295)
Browser:
ᩉ᩠ᨿᩩ
Before:
After:
Chakma ligature (#10295)
Browser:
𑄝𑄖𑄳𑄠𑄬
Before:
After:
Bengali ligature (#10295)
Browser:
রাষ্ট্রে
Before:

After:

Devanagari string (test changed in #10295)
Browser:
अपार्टमेंट
Before:
After:
AI disclaimer
I used Amp to copy the logic from CoreText, but had to help it along. I took over after I noticed the different behavior with HarfBuzz's default cluster level.
Adopt CoreText changes to HarfBuzz shaper
Rename debug_codepoints, explore HarfBuzz alternatives
Fix cluster indexing in codepoints array