[webkit-changes] [WebKit/WebKit] 7bf0c3: [GTK][WPE] Regression: ot-svg font support lost in...
Adrian Perez
noreply at github.com
Sun Dec 15 15:23:18 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7bf0c3997b61bfa7e3410d5452fd23d82b7570ab
https://github.com/WebKit/WebKit/commit/7bf0c3997b61bfa7e3410d5452fd23d82b7570ab
Author: Adrian Perez de Castro <aperez at igalia.com>
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 <htl10 at users.sourceforge.net>.
* 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
More information about the webkit-changes
mailing list