[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#73777: set-fontset-font doesn't set :size for specific characters wh
From: |
Rodrigo Morales |
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 |
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.
- bug#73777: set-fontset-font doesn't set :size for specific characters when using some fonts,
Rodrigo Morales <=