Skip to content

[Skia] Symbols with the emoji variation selector are rendered with the text version #47179

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

Merged

Conversation

carlosgcampos
Copy link
Contributor

@carlosgcampos carlosgcampos commented Jun 25, 2025

718cbaa

[Skia] Symbols with the emoji variation selector are rendered with the text version
https://bugs.webkit.org/show_bug.cgi?id=294966

Reviewed by Adrian Perez de Castro.

The system fallback fonts code only supports querying the font by a
single charater, so in case of a cluster consisting of base character +
emoji variation selector, the variation selector is ignored and if
there's a non-emoji font supporting the base character it's used instead.
In that case we can override the base character with an emoji character
when querying the font to try to ensure an emoji font is retrieved.

Canonical link: https://commits.webkit.org/296658@main

b9a88b5

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ⏳ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🛠 🧪 jsc ✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 🧪 jsc-arm64 ✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 🧪 unsafe-merge ✅ 🛠 tv ✅ 🛠 mac-safer-cpp ✅ 🛠 jsc-armv7
✅ 🛠 tv-sim ❌ 🧪 jsc-armv7-tests
✅ 🛠 watch
✅ 🛠 watch-sim

@carlosgcampos carlosgcampos added Platform Portability improvements and other general platform improvements not driven directly by site bugs. GLib Suggested Backport - 2.48 Suggest this merge request be backported to webkitglib/2.48 branch labels Jun 25, 2025
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Jun 25, 2025
@philn
Copy link
Member

philn commented Jun 25, 2025

CI failures clearly are relevant (specially imported/w3c/web-platform-tests/css/css-fonts/font-variant-emoji-2.html).

@carlosgcampos
Copy link
Contributor Author

CI failures clearly are relevant (specially imported/w3c/web-platform-tests/css/css-fonts/font-variant-emoji-2.html).

Yes, I know. fast/text/emoji.html just needs a rebaseline and imported/w3c/web-platform-tests/css/css-fonts/font-variant-emoji-2.html is one of those cases in which the test passed because we were rendering wrong both the reference and the test. Now it has improved, but there's a case not correctly handled causing the failure. I'm working on it.

@carlosgcampos carlosgcampos removed the merging-blocked Applied to prevent a change from being merged label Jun 26, 2025
@carlosgcampos carlosgcampos force-pushed the skia-emoji-variation-selector branch from 6fddbca to 274c8c1 Compare June 26, 2025 07:22
@carlosgcampos carlosgcampos force-pushed the skia-emoji-variation-selector branch from 274c8c1 to b9a88b5 Compare June 26, 2025 09:56
@carlosgcampos carlosgcampos added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 26, 2025
…e text version

https://bugs.webkit.org/show_bug.cgi?id=294966

Reviewed by Adrian Perez de Castro.

The system fallback fonts code only supports querying the font by a
single charater, so in case of a cluster consisting of base character +
emoji variation selector, the variation selector is ignored and if
there's a non-emoji font supporting the base character it's used instead.
In that case we can override the base character with an emoji character
when querying the font to try to ensure an emoji font is retrieved.

Canonical link: https://commits.webkit.org/296658@main
@webkit-commit-queue webkit-commit-queue force-pushed the skia-emoji-variation-selector branch from b9a88b5 to 718cbaa Compare June 26, 2025 11:15
@webkit-commit-queue
Copy link
Collaborator

Committed 296658@main (718cbaa): https://commits.webkit.org/296658@main

Reviewed commits have been landed. Closing PR #47179 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 718cbaa into WebKit:main Jun 26, 2025
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 26, 2025
@carlosgcampos carlosgcampos deleted the skia-emoji-variation-selector branch June 26, 2025 14:38
@aperezdc
Copy link
Contributor

Backported into webkitglib/2.48 as commit 7cebac8

@aperezdc aperezdc removed the GLib Suggested Backport - 2.48 Suggest this merge request be backported to webkitglib/2.48 branch label Jun 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Platform Portability improvements and other general platform improvements not driven directly by site bugs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants