From: Dima Kogan <dima@secretsauce.net>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 19117@debbugs.gnu.org
Subject: bug#19117: 25.0.50; emacs on x11 chooses different fonts for the same face sometimes
Date: Tue, 30 Dec 2014 10:33:17 -0800 [thread overview]
Message-ID: <87lhlonc7c.fsf@secretsauce.net> (raw)
In-Reply-To: <jwvtx0daxeh.fsf-monnier+emacsbugs@gnu.org>
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> 2. Do not set scalable-fonts-allowed to t in realize_basic_faces(). Does
>> anybody know why this is desirable?
>
> Have you looked at the "git blame" output to try and see when/why we do that?
I did look at earlier it without any particular enlightenment. But I
just looked at it again, and it IS helpful, actually. This is all from
2001, written by Gerd Moellmann. Here are the changes in chronological
order
https://github.com/emacs-mirror/emacs/commit/702a1e8e
https://github.com/emacs-mirror/emacs/commit/441bf856
https://github.com/emacs-mirror/emacs/commit/eeffb293
The logic was using a realizing_default_face_p variable (changed in the
last commit), anad roughtly it did this:
x_face_list_fonts()
{
get_all_fonts();
for(fonts)
{
if(!font_scalable)
add to list;
}
if (realizing_default_face_p
&& no fonts in list
&& some were scalable)
{
for(fonts)
{
if(!font_scalable)
add to list;
}
}
...
}
So we only added the scalable fonts if no other fonts were found. The
new logic does not do this; it always adds the scalable fonts. The
docstring of scalable-fonts-allowed further indicates that the original
intent was a last-resort like before:
Note that if value is nil, a scalable font might still be used, if no
other font of the appropriate family and registry is available.
I will patch xfont_list_pattern() to accept a 3rd type of
scalable-fonts-allowed: 'fallback where we add these fonts only if no
others are available, and in realize_basic_faces() I'll use THAT value.
Does that sound reasonable?
next prev parent reply other threads:[~2014-12-30 18:33 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 6:13 bug#19117: 25.0.50; emacs on x11 chooses different fonts for the same face sometimes Dima Kogan
2014-11-20 16:10 ` Eli Zaretskii
2014-12-07 7:28 ` Dima Kogan
2014-12-07 16:12 ` Eli Zaretskii
2014-12-17 5:36 ` Dima Kogan
2014-12-17 6:57 ` Dima Kogan
2014-12-18 16:24 ` Eli Zaretskii
2014-12-20 8:08 ` Jan Djärv
2014-12-19 15:28 ` Dmitry Antipov
2014-12-19 22:46 ` Dima Kogan
2014-12-22 8:01 ` Dmitry Antipov
2014-12-22 8:28 ` Jan Djärv
2014-12-26 19:43 ` Dima Kogan
2014-12-27 2:17 ` Stefan Monnier
2014-12-27 9:17 ` Dima Kogan
2014-12-30 9:44 ` Dima Kogan
2014-12-30 16:57 ` Stefan Monnier
2014-12-30 18:33 ` Dima Kogan [this message]
2014-12-30 20:05 ` Eli Zaretskii
2014-12-31 4:06 ` Dima Kogan
2015-01-02 9:43 ` Eli Zaretskii
2015-01-02 21:07 ` Dima Kogan
2015-02-02 8:10 ` Dima Kogan
2015-02-03 17:53 ` Stefan Monnier
2015-02-05 2:41 ` handa
2015-02-15 13:47 ` K. Handa
2015-02-05 15:08 ` Jan D.
2015-02-05 20:41 ` Dima Kogan
2015-02-07 7:24 ` Jan D.
2015-02-07 7:59 ` Jan D.
2015-02-07 8:28 ` Dima Kogan
2015-02-09 14:58 ` Jan D.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lhlonc7c.fsf@secretsauce.net \
--to=dima@secretsauce.net \
--cc=19117@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.