emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41174: closed (Epiphany can't find fonts)


From: GNU bug Tracking System
Subject: bug#41174: closed (Epiphany can't find fonts)
Date: Sun, 16 Aug 2020 20:21:01 +0000

Your message dated Sun, 16 Aug 2020 16:19:53 -0400
with message-id <87a6yuxs0m.fsf@gmail.com>
and subject line Re: bug#41174: [PATCH] gnu: webkitgtk: Add patch to share all 
fonts.
has caused the debbugs.gnu.org bug report #41174,
regarding Epiphany can't find fonts
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
41174: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41174
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Epiphany can't find fonts Date: Sun, 10 May 2020 15:02:58 +0200 User-agent: Evolution 3.34.2
Hi Guix,

when trying to set fonts in Epiphany, it appears as though fonts other
than "Serif", "Sans" and "Monospace" do not apply.  Some symbols, such
as CJK, are also missing in text (but not tooltips interestingly) even
if a font supporting them is installed.  I tried refreshing and also
removing the fontconfig cache, but that didn't help.

Regards, Leo




--- End Message ---
--- Begin Message --- Subject: Re: bug#41174: [PATCH] gnu: webkitgtk: Add patch to share all fonts. Date: Sun, 16 Aug 2020 16:19:53 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Hi Leo,

Leo Prikler <leo.prikler@student.tugraz.at> writes:

> * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: New file.
> * gnu/packages/webkit.scm (webkitgtk)[source]<patches>: Use it here.
> * gnu/local.mk: Add it here.

I've expounded a bit the commit message,

> ---
>  gnu/local.mk                                  |  1 +
>  .../patches/webkitgtk-bind-all-fonts.patch    | 37 +++++++++++++++++++
>  gnu/packages/webkit.scm                       |  3 +-
>  3 files changed, 40 insertions(+), 1 deletion(-)
>  create mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index d34e7e6ae5..7a694e551a 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1580,6 +1580,7 @@ dist_patch_DATA =                                       
>         \
>    %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch     \
>    %D%/packages/patches/weasyprint-library-paths.patch                \
>    %D%/packages/patches/webkitgtk-share-store.patch           \
> +  %D%/packages/patches/webkitgtk-bind-all-fonts.patch                \
>    %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch  \
>    %D%/packages/patches/wicd-bitrate-none-fix.patch           \
>    %D%/packages/patches/wicd-get-selected-profile-fix.patch   \
> diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch 
> b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> new file mode 100644
> index 0000000000..fec0b812f1
> --- /dev/null
> +++ b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> @@ -0,0 +1,37 @@
> +Add fonts from all XDG_DATA_DIRS, not just XDG_DATA_HOME.
> +
> +See <http://bugs.gnu.org/41174>.
> +Author: Leo Prikler <leo.prikler@student.tugraz.at>
> +Index: 
> webkitgtk-2.28.2/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> +===================================================================
> +--- 
> webkitgtk-2.28.2.orig/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> ++++ 
> webkitgtk-2.28.2/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> +@@ -385,8 +385,8 @@ static void bindFonts(Vector<CString>& a
> + {
> +     const char* configDir = g_get_user_config_dir();
> +     const char* homeDir = g_get_home_dir();
> +-    const char* dataDir = g_get_user_data_dir();
> +     const char* cacheDir = g_get_user_cache_dir();
> ++    const char* const * dataDirs = g_get_system_data_dirs();
> +
> +     // Configs can include custom dirs but then we have to parse them...
> +     GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", 
> nullptr));
> +@@ -394,15 +394,17 @@ static void bindFonts(Vector<CString>& a
> +     GUniquePtr<char> fontCache(g_build_filename(cacheDir, "fontconfig", 
> nullptr));
> +     GUniquePtr<char> fontHomeConfig(g_build_filename(homeDir, 
> ".fonts.conf", nullptr));
> +     GUniquePtr<char> fontHomeConfigDir(g_build_filename(configDir, 
> ".fonts.conf.d", nullptr));
> +-    GUniquePtr<char> fontData(g_build_filename(dataDir, "fonts", nullptr));
> +     GUniquePtr<char> fontHomeData(g_build_filename(homeDir, ".fonts", 
> nullptr));
> +     bindIfExists(args, fontConfig.get());
> +     bindIfExists(args, fontConfigHome.get());
> +     bindIfExists(args, fontCache.get(), BindFlags::ReadWrite);
> +     bindIfExists(args, fontHomeConfig.get());
> +     bindIfExists(args, fontHomeConfigDir.get());
> +-    bindIfExists(args, fontData.get());

removed the above deleted lines from your patch, so as to continue
honoring XDG_DATA_HOME,

> +     bindIfExists(args, fontHomeData.get());
> ++    for (auto dataDir = dataDirs; dataDir != nullptr && *dataDir != 
> nullptr; dataDir++) {
> ++        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", 
> nullptr));
> ++        bindIfExists(args, fontDataDir.get());
> ++    }
> +     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
> + }
> diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
> index 90be7d2625..a5c2b3fee2 100644
> --- a/gnu/packages/webkit.scm
> +++ b/gnu/packages/webkit.scm
> @@ -129,7 +129,8 @@ engine that uses Wayland for graphics output.")
>                (sha256
>                 (base32
>                  "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr"))
> -              (patches (search-patches "webkitgtk-share-store.patch"))))
> +              (patches (search-patches "webkitgtk-share-store.patch"
> +                                       "webkitgtk-bind-all-fonts.patch"))))
>      (build-system cmake-build-system)
>      (outputs '("out" "doc"))
>      (arguments

And validated it worked well with a './pre-inst-env guix system vm
epiphany-ratpoison.scm' generated VM (it exhibited the problem after
all, when used in a VM).

For completeness sake, the test VM operating system is attached. It's
not necessary to include bubblewrap to trigger the font problem.

Attachment: epiphany-ratpoison.scm
Description: Text document

The fix is now merged in master as of commit bc549a276c.

Thanks for investigating and fixing the issue!

Closing,

Maxim

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]