all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Rodrigo Morales <rodrigo-mailing-lists@morales.pe>
To: 73777@debbugs.gnu.org
Subject: bug#73777: set-fontset-font doesn't set :size for specific characters when using some fonts
Date: Sat, 12 Oct 2024 14:10:25 -0500	[thread overview]
Message-ID: <87wmiddtni.fsf@morales.pe> (raw)


I am using GNU Emacs 29.4 in Ubuntu 22.04.5 LTS.

Today, I was trying to change the font size for the character =“= (#x201C, LEFT DOUBLE QUOTATION MARK) using the sexp shown below. I noticed an inconsistency: that sexp only sets the size for the character =“= when specific fonts are used.

#+BEGIN_SRC elisp
(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))
#+END_SRC

In the section below, I describe minimal reproducible experiments. In the experiments, I use the file =/tmp/a.txt= containing the contents of the code block below:

#+HEADER: :tangle /tmp/a.txt
#+BEGIN_SRC text
a “ b
#+END_SRC

** Experiment 1 (:size for #x201C is not set): Set :size for #x201C

I started Emacs using the command shown below:

#+HEADER: :eval no
#+BEGIN_SRC sh
./src/emacs -Q /tmp/a.txt
#+END_SRC

The code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.is/9LxOH

#+BEGIN_SRC text
a: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x44)
“: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x209)
b: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x45)
#+END_SRC

Then, I evaluated the sexp shown below. Upon evaluating it, the size of the character “ (#x201C, LEFT DOUBLE QUOTATION MARK) didn't seem to increase. The second code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.ph/rVZSt

#+begin_src elisp
(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))
#+end_src

#+BEGIN_SRC text
a: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x44)
“: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x209)
b: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x45)
#+END_SRC

** Experiment 2 (:size for #x201C is not set): Pass "Noto Sans Mono 10" to set-frame-font, then set :size for #x201C

I started Emacs using the command shown below:

#+HEADER: :eval no
#+BEGIN_SRC sh
./src/emacs -Q /tmp/a.txt
#+END_SRC

First, I evaluated the sexp shown in the first code block below. The second code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.ph/PVc8q

#+begin_src elisp
(set-frame-font "Noto Sans Mono 10" nil t)
#+end_src

#+BEGIN_SRC text
a: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x44)
“: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x209)
b: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x45)
#+END_SRC

Then, I evaluated the sexp shown below. Upon evaluating it, the size of the character “ (#x201C, LEFT DOUBLE QUOTATION MARK) didn't seem to increase. The second code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.is/AIuP0

#+begin_src elisp
(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))
#+end_src

#+BEGIN_SRC text
a: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x44)
“: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x209)
b: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-15-*-*-*-*-0-iso10646-1 (#x45)
#+END_SRC

** Experiment 3 (:size for #x201C is set): Pass "Fixed 5" to set-frame-font, then set :family and :size for #x201C

I started Emacs using the command shown below:

#+HEADER: :eval no
#+BEGIN_SRC sh
./src/emacs -Q /tmp/a.txt
#+END_SRC

First, I evaluated the sexp shown in the first code block below. The second code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.is/v4Sr9

#+begin_src elisp
(set-frame-font "Fixed 5" nil t)
#+end_src

#+BEGIN_SRC text
a: ftcrhb:-Misc-Fixed-regular-normal-normal-*-7-*-*-*-c-50-iso10646-1 (#x62)
“: ftcrhb:-Misc-Fixed-medium-normal-normal-ja-13-*-*-*-c-120-iso10646-1 (#x3A3)
b: ftcrhb:-Misc-Fixed-regular-normal-normal-*-7-*-*-*-c-50-iso10646-1 (#x63)
#+END_SRC

Then, I evaluated the sexp shown below. Upon evaluating it, the size of the character “ (#x201C, LEFT DOUBLE QUOTATION MARK) significantly increased. The second code block below shows the font reported for each character by calling =what-cursor-position= with a prefix argument. Screenshot: https://archive.is/KYRGd

#+begin_src elisp
(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))
#+end_src

#+BEGIN_SRC text
a: ftcrhb:-Misc-Fixed-regular-normal-normal-*-7-*-*-*-c-50-iso10646-1 (#x62)
“: ftcrhb:-GOOG-Noto Sans Mono-regular-normal-normal-*-50-*-*-*-*-0-iso10646-1 (#x209)
b: ftcrhb:-Misc-Fixed-regular-normal-normal-*-7-*-*-*-c-50-iso10646-1 (#x63)
#+END_SRC

** Conclusion

When the default font is not changed (see experiment 1) or is set using =(set-frame-font "Noto Sans Mono 10" nil t)= (see experiment 2), the sexp =(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))= didn't seem to increase the size of the character “ (#x201C, LEFT DOUBLE QUOTATION MARK).

When the default font is set using =(set-frame-font "Fixed 5" nil t)= (see experiment 3), the sexp =(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))= significantly increased the size of the character “ (#x201C, LEFT DOUBLE QUOTATION MARK).

To me, the expected behavior is that =(set-fontset-font t ?“ (font-spec :family "Noto Sans Mono" :size 50))= sets =:family= and =:size= for “ (#x201C, LEFT DOUBLE QUOTATION MARK) regardless of the font that is being used.





             reply	other threads:[~2024-10-12 19:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-12 19:10 Rodrigo Morales [this message]
2024-10-18  6:27 ` bug#73777: set-fontset-font doesn't set :size for specific characters when using some fonts Eli Zaretskii

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=87wmiddtni.fsf@morales.pe \
    --to=rodrigo-mailing-lists@morales.pe \
    --cc=73777@debbugs.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.