GNU bug report logs - #67269
30.0.50; italic face fallback does not assume italic properties

Previous Next

Package: emacs;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Sun, 19 Nov 2023 06:02:01 UTC

Severity: normal

Tags: notabug

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #31 received at 67269 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 67269 <at> debbugs.gnu.org
Subject: Re: bug#67269: 30.0.50; italic face fallback does not assume italic
 properties
Date: Mon, 20 Nov 2023 20:00:36 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

> If so, then it is strange that we haven't heard about this issue
> before.
>
> Maybe we should do something like the below, and leave the rest to end
> users and downstream distros.
>
>> > I don't understand how shr-tag-i is relevant.  I'm probably missing
>> > something.
>> 
>> It combines a variable pitch face with italic, and so loses when the
>> italic face doesn't support slant properties, even if the variable pitch
>> one does.
>
> Yes, you already said that in your original message.  I thought
> shr-tag-i provides some additional insight.

Ah, I'm sorry for the misunderstanding then.

> diff --git a/lisp/faces.el b/lisp/faces.el
> index 7eacc40..8eaabbf 100644
> --- a/lisp/faces.el
> +++ b/lisp/faces.el
> @@ -2440,7 +2440,10 @@ italic
>    '((((supports :slant italic))
>       :slant italic)
>      (((supports :underline t))
> -     :underline t)
> +     ;; Include italic, even if it isn't supported by the default
> +     ;; font, because this face could be merged with another face
> +     ;; which uses font that does have an italic variant.
> +     :underline t :slant italic)
>      (t
>       ;; Default to italic, even if it doesn't appear to be supported,
>       ;; because in some cases the display engine will do its own
> @@ -2457,7 +2460,9 @@ bold-italic
>  (defface underline
>    '((((supports :underline t))
>       :underline t)
> -    (((supports :weight bold))
> +    ;; Include underline, for when this face is merged with another
> +    ;; whose font does support underline.
> +    (((supports :weight bold :underline t))
>       :weight bold)
>      (t :underline t))
>    "Basic underlined face."

That's alright by me, thanks.




This bug report was last modified 1 year and 258 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.