Package: emacs;
Reported by: Ori <ori <at> oribarbut.com>
Date: Sun, 28 Jun 2020 15:50:01 UTC
Severity: normal
Found in version 27.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ori <ori <at> oribarbut.com> To: bug-gnu-emacs <at> gnu.org Subject: 27.0.91; Cannot use italics with some fonts Date: Sun, 28 Jun 2020 11:01:12 -0400
Hi, I can't figure out how to get some fonts to show up with an italic face, while others work without a problem. I'm comparing DejaVu Sans Mono and JetBrains Mono, both of which are ttf with an italic face having the same dimensions the roman face. All of this happens in emacs -Q and isn't related to a theme. ;; 1. Works, italic and roman everywhere as expected (set-frame-font "DejaVu Sans Mono-16") ;; 2. Works, italic everywhere and faces that explicitly set ;; :slant 'normal will use the roman variant of the same font (set-frame-font "JetBrains Mono-16:slant=italic") ;; 3. Does not work, all text is rendered roman. In 1 this works with a ;; different font. From result of 2, there exists an italic face for ;; this font which works with the roman face (set-frame-font "JetBrains Mono-16") ;; 4. Does not work, all text is rendered roman, same as 3. Both fonts ;; have same dimensions per 'describe-font, verified in 2 and 3 (set-frame-font "JetBrains Mono-16") (set-face-font 'italic "JetBrains Mono-16:slant=italic") ;; 5. Partly works, will show italics in some buffers which seem to ;; support different fonts together (org-mode, helm-mini) but not others ;; (emacs-lisp-mode with font-lock-comment-face customized to :slant ;; 'italic, still shown in JetBrains Mono roman). Similar to 4 but with ;; a different font for italic. Sizes between these two fonts aren't ;; equal though, char heights are different but I've read something ;; about that being an issue in emacs. (set-frame-font "JetBrains Mono-16") (set-face-font 'italic "DejaVu Sans Mono-16") ;; 6. Same results as 5, although using fonts that are equal in char ;; dimensions (height, ascent, width), but techincally different 'size' ;; (21 for JetBrains, 22 for DejaVu) (set-frame-font "JetBrains Mono-16") (set-face-font 'italic "-PfEd-DejaVu Sans Mono-normal-oblique-normal-*-22-*-*-*-m-0-iso10646-1") ;; 7. Size isn't consistent for roman/italic at different sizes, seen by ;; evaluating each statement separately to switch between italic and ;; roman faces. eg, at -16 the characters are the same size, but -14 has ;; slightly larger italic (width 11 vs 12, same other dimensions). This ;; isn't true in other programs, eg LibreOffice or font-manager. (set-frame-font "JetBrains Mono-16") (set-frame-font "JetBrains Mono-16:slant=italic") (set-frame-font "JetBrains Mono-14") (set-frame-font "JetBrains Mono-14:slant=italic") Some other things I've tried: - Different font sizes - Explicitly set char dimensions with the expanded style, eg: "-JB -JetBrains Mono-normal-*-*-*-21-13-27-*-m-0-iso10646-1" - Convert JetBrains Mono to otf (from woff), remove the ttf version and rebuild font cache - Same issues in GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11) of 2019-09-23, modified by Debian built on lgw01-amd64-032 - Same issues when using recommended font setting via 'default-frame-alist Any ideas what else I might try here? Thanks! Ori In GNU Emacs 27.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.18) of 2020-06-27 built on difference-engine Repository revision: 0121db27021ce77350999b108b4e5aed21d73064 Repository branch: emacs-27 Windowing system distributor 'The X.Org Foundation', version 11.0.12008000 System Description: Ubuntu 20.04 LTS Recent messages: Quit Making completion list... Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP Important settings: value of $LANG: en_CA.UTF-8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-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 line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (misearch multi-isearch pp shadow sort mail-extr emacsbug sendmail eieio-opt cl-extra speedbar sb-image ezimage dframe help-fns radix-tree help-mode apropos vc-git diff-mode cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs org-element avl-tree generator ol-eww 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 url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs json map url-vars svg xml dom browse-url 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 password-cache 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 seq byte-opt gv bytecomp byte-compile cconv mail-utils mm-util mail-prsvr 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 subr-x 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 kmacro crm thingatpt cus-edit easymenu cus-start cus-load wid-edit cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 206117 26336) (symbols 48 22389 3) (strings 32 70493 2946) (string-bytes 1 2441537) (vectors 16 37519) (vector-slots 8 792526 127340) (floats 8 223 497) (intervals 56 1297 16) (buffers 1000 23))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.