all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Morgan <tlm@ziiuu.com>
To: handa <handa@gnu.org>
Cc: 29630@debbugs.gnu.org
Subject: bug#29630: 25.3; Unable to change fontset using :family face attribute
Date: Sat, 23 Dec 2017 21:25:22 -0800	[thread overview]
Message-ID: <87zi68elz1.fsf@ziiuu.com> (raw)
In-Reply-To: <87d1382jnv.fsf@gnu.org> (handa@gnu.org's message of "Fri, 22 Dec 2017 00:19:16 +0900")

handa <handa@gnu.org> writes:

> Here, fontset works as just a provider of font-related properties
> (family, weight, size, etc), and then, based on the selected font, a new
> fontset is automatically created.  This roundabout behavior was not to
> break (Emacs-internal) backward compatibility by introducing the concept
> of fontset.

Thank you, Handa-san.

(elisp)Face Attributes says this:

`:font'
     [...] If you specify a string, the contents of the string should
     be a font name (*note (emacs)Fonts::); if the font name is an XLFD
     containing wildcards, Emacs chooses the first font matching those
     wildcards. [...]

Would it make sense to add the following after the quoted sentence?

  You may also specify a fontset name as a string.  For reasons of
  backward compatibility, in the case of the `default' face this may
  automatically generate a new fontset based on the family, weight,
  size, and other font-related properties of the specified fontset.

It would probably also be helpful to document the :fontset attribute
in the manual, if that's the proper way to specify a fontset for the
the frame's default face.

> At least, calling set-fontset-font for the fontset of the current frame
> should work... and worked as far as I rememnber... but I've just found
> that this does not work with the latest Emacs?!?
>
> (set-fontset-font nil 'unicode-bmp "dejavu sans mono")
> (set-fontset-font nil 'unicode-bmp "Freemono" nil 'append)
>
> I'm now checking what is wrong.

This seems to work for me with Emacs 25.3.1.  To test it I started Emacs
with `emacs -Q' and evaluated this in *scratch*:

(progn
  (set-fontset-font nil 'unicode-bmp "DejaVu Sans Mono")
  (set-fontset-font nil 'unicode-bmp "FreeMono" nil 'append)
  (list (font-at 0 nil "G") (font-at 0 nil "⅁")))

(The second character is TURNED SANS-SERIF CAPITAL G, which is covered
by FreeMono but not by DejaVu Sans Mono.)

As expected, this was displayed in the echo area:

(#<font-object "-PfEd-DejaVu Sans Mono-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1">
 #<font-object "-GNU -FreeMono-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1">)





  reply	other threads:[~2017-12-24  5:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-09 21:26 bug#29630: 25.3; Unable to change fontset using :family face attribute Thomas Morgan
2017-12-10 17:24 ` Eli Zaretskii
2017-12-21 15:19   ` handa
2017-12-24  5:25     ` Thomas Morgan [this message]
2017-12-27 12:33       ` handa

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=87zi68elz1.fsf@ziiuu.com \
    --to=tlm@ziiuu.com \
    --cc=29630@debbugs.gnu.org \
    --cc=handa@gnu.org \
    /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.