Subject: 27.1.91; Font weight issue on MacOS Big Sur

From: Arnaud Antkowiak <[email-masked]>
Date: Thu, 11 Feb 2021 10:24:38 +0100

Hello,

All the informations on font weight appear to be stripped out in Mac OS Big Sur ; as a result, a single weight takes precedence over the others.
As an example, if I install say Roboto Mono Light, I can see the font via M-x describe-font as :

-*-Roboto Mono-bold-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-bold-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-normal-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1

The ‘light’ weight information does not appear. As a consequence, if I now install Roboto Mono Regular, this is what I get:

-*-Roboto Mono-bold-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-bold-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-normal-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1

The two fonts having the same handler, one takes precedence over the other (and all the text now appears as a long fat headline).
Testing the same process under macOS Catalina (the previous OS) on another computer, this is what I get after installing Roboto Mono Light :

-*-Roboto Mono-bold-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-bold-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-normal-normal-*-14-*-*-*-m-0-fontset-auto1

And after installing Roboto Mono Regular :

-*-Roboto Mono-bold-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-bold-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-normal-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-light-normal-normal-*-14-*-*-*-m-0-fontset-auto1
-*-Roboto Mono-normal-italic-normal-*-*-*-*-*-m-0-iso10646-1
-*-Roboto Mono-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1

The font weight information is here preserved and I can select different variants of the font. So it seems like the problem really pertains to MacOS Big Sur.
Many thanks in advance for your help,

Arnaud

——

In GNU Emacs 27.1.91 (build 1, x86_64-apple-darwin20.3.0, NS appkit-2022.30 Version 11.2 (Build 20D64))
 of 2021-02-11 built on Arnauds-MacBook-Pro.local
Repository revision: d03f2a6ee942882c5bc78226b4730dac6f1d0916
Repository branch: emacs-27
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.2

Recent messages:
Loading /Users/antko/.emacs.d/sanity.el (source)...done
Loading /Users/antko/.emacs.d/elegance_big_sur.el (source)...
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...
End of buffer [7 times]
Quit
Making completion list... [2 times]
Quit [2 times]
Making completion list...

Configured using:
 'configure --with-ns'

Configured features:
RSVG GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS XIM
NS MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LC_CTYPE: UTF-8
  value of $LANG: en_FR.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Special

Minor modes in effect:
  save-place-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail mule-diag image-file
org-element avl-tree generator cl-extra help-mode ol-eww eww mm-url
thingatpt url-queue ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum
url url-proxy url-privacy url-expand url-methods url-history mailcap shr
url-cookie url-domsuf url-util svg xml dom gnus-group gnus-undo
gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo
parse-time iso8601 gnus-spec gnus-int gnus-range message rmc puny rfc822
mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search mail-utils mm-util mail-prsvr wid-edit ol-docview
doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex
ol-bbdb ol-w3m org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color
ring org-list org-faces org-entities time-date noutline outline
easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table ol
org-keys org-compat advice org-macs org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs warnings sanity saveplace edmacro kmacro
info package easymenu browse-url url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 165247 123245)
 (symbols 48 19621 24)
 (strings 32 64282 17031)
 (string-bytes 1 2243748)
 (vectors 16 30013)
 (vector-slots 8 336656 166950)
 (floats 8 206 698)
 (intervals 56 254 103)
 (buffers 1000 13))