Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7bf0c3997b61bfa7e3410d5452fd23d82b7570ab
https://github.com/WebKit/WebKit/commit/7bf0c3997b61bfa7e3410d5452fd23d82b7570ab
Author: Adrian Perez de Castro <[email protected]>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M Source/ThirdParty/skia/CMakeLists.txt
M Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp
M Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp
M Source/cmake/OptionsGTK.cmake
M Source/cmake/OptionsWPE.cmake
M Tools/gtk/manifest.txt.in
M Tools/wpe/manifest.txt.in
Log Message:
-----------
[GTK][WPE] Regression: ot-svg font support lost in 2.46 with Skia
https://bugs.webkit.org/show_bug.cgi?id=283246
Reviewed by Michael Catanzaro.
Make Skia use its own SVG render module in order to support OpenType
fonts with SVG glyph data. A new USE_SKIA_OPENTYPE_SVG build option
may be used to toggle this feature, which is enabled by default.
While it would be tempting to use WebKit's SVG renderer to handle this
case, in practice it gets complicated because handling such fonts will
attempt to render SVG while holding font-related locks, and using a
WebKit document to render SVG will try to enumerate fonts, resulting in
deadlocks. Moreover, WebKit's SVG rendering support is oriented towards
inclusion of SVG content into Web content, and is more heavyweight than
the (relatively small) Skia SVG renderer.
Based on a patchset originally by Hin-Tak Leung <[email protected]>.
* Source/ThirdParty/skia/CMakeLists.txt: Build SVG module and needed
support files when the USE_SKIA_OPENTYPE_SVG option is enabled. This
adds a new dependency on the Expat XML parser library. The symlinks
to the include directories are rearranged in order to allow paths
like <skia/modulename/file.h>.
* Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp: Set the OpenType
SVG decoder factory function to enable the OpenType-SVG support.
* Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp: Ditto.
* Source/cmake/OptionsGTK.cmake: Add a new USE_SKIA_OPENTYPE_SVG option,
enabled by default.
* Source/cmake/OptionsWPE.cmake: Ditto.
* Tools/gtk/manifest.txt.in: Include files from the Skia svg, skshaper,
and skresources modules in tarballs.
* Tools/wpe/manifest.txt.in: Ditto.
Canonical link: https://commits.webkit.org/287859@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes