Subject: bug#76967: closed (Re: bug#76967: 30.1; Specific UTF-8 characters causes misalignments on PGTK)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 29 Mar 2025 11:19:02 +0000

Your bug report

#76967: 30.1; Specific UTF-8 characters causes misalignments on PGTK

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
76967: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76967
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#76967: 30.1; Specific UTF-8 characters causes misalignments on PGTK
From: Eli Zaretskii <[email-masked]>
To: Artur Manuel <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 29 Mar 2025 14:18:20 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sat, 15 Mar 2025 11:21:03 +0000
> From: Artur Manuel <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
>  > Can you use some font-viewing utility to check if the default
>  > face's font has glyphs for the problematic characters, when Emacs 
> uses
>  > a different font for them?
> Did that just now on the problematic characters. I can finally conclude
> that this is a font-wise issue. I believe the solution is to just force
> fixed-pitch on fonts (like what foot is doing) instead of allowing fonts
> of varying width to do as they please.
> 
> However, I feel like if forced fixed-width were to be implemented in the
> future, it would need to be done as a special mode which toggles it.
> Since EWW (I think at least) and some Org-mode users would prefer to use
> variable-pitch.

No further comments within 2 weeks, so I'm closing this bug.

Subject: 30.1; Specific UTF-8 characters causes misalignments on PGTK
From: artur <[email-masked]>
To: [email-masked]
Date: Tue, 11 Mar 2025 20:07:11 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

To reproduce this bug, you must:
1. Open a terminal (such as emacs-eat, vterm, the usual emacs terminal)
2. Open btop (I used `nix run "nixpkgs#btop"` but you could use `pacman
-S btop | yes && btop` on Arch Linux)

The effects caused are severe distortion to where the program isn't
really usable. You may see extreme graphical issues such as:
- More violent refreshes
- Characters not lining up either barely or Finnishly gapped

A recipe will not be provided, as the terminals provided by Emacs cannot
render btop period.

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.48,
cairo version 1.18.2)
System Description: NixOS 25.05 (Warbler)

Configured using:
 'configure
 --prefix=/nix/store/q9plzwv5nr7b0napm8wqw7n8diqkzbk9-emacs-pgtk-30.1
 --disable-build-details --with-modules --with-pgtk
 --with-compress-install --with-toolkit-scroll-bars
 --with-native-compilation --without-imagemagick --with-mailutils
 --without-small-ja-dic --with-tree-sitter --without-xinput2
 --without-xwidgets --with-dbus --with-selinux'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $EMACSLOADPATH:
  value of $EMACSNATIVELOADPATH:
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  mood-line-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  savehist-mode: t
  which-key-mode: t
  envrc-global-mode: t
  spacious-padding-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/nix/store/36pj459qgxdr31ck8p34knf62krvp5rn-emacs-packages-deps/share/emacs/site-lisp/site-start 
hides 
/nix/store/q9plzwv5nr7b0napm8wqw7n8diqkzbk9-emacs-pgtk-30.1/share/emacs/site-lisp/site-start
/nix/store/36pj459qgxdr31ck8p34knf62krvp5rn-emacs-packages-deps/share/emacs/site-lisp/elpa/transient-20250306.1916/transient 
hides 
/nix/store/q9plzwv5nr7b0napm8wqw7n8diqkzbk9-emacs-pgtk-30.1/share/emacs/30.1/lisp/transient
/nix/store/36pj459qgxdr31ck8p34knf62krvp5rn-emacs-packages-deps/share/emacs/site-lisp/elpa/seq-2.24/seq 
hides 
/nix/store/q9plzwv5nr7b0napm8wqw7n8diqkzbk9-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/seq
/nix/store/36pj459qgxdr31ck8p34knf62krvp5rn-emacs-packages-deps/share/emacs/site-lisp/elpa/compat-30.0.2.0/compat 
hides 
/nix/store/q9plzwv5nr7b0napm8wqw7n8diqkzbk9-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/compat

Features:
(shadow sort mail-extr emacsbug message yank-media puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr
cl-extra winner cursor-sensor tramp-archive tramp-gvfs dbus xml
helm-command helm-elisp helm-eval edebug helm-info comp-run comp-common
display-line-numbers eglot external-completion jsonrpc xref flymake
thingatpt seq-25 diff ert pp ewoc debug backtrace find-func warnings
compile text-property-search imenu mood-line helm-mode helm-misc
helm-files image-dired image-dired-tags image-dired-external
image-dired-util image-mode dired dired-loaddefs exif filenotify tramp
trampver tramp-integration files-x tramp-message help-mode tramp-compat
xdg shell pcomplete parse-time iso8601 time-date tramp-loaddefs
helm-buffers helm-x-icons helm-occur helm-tags helm-locate helm-grep
helm-regexp format-spec helm-utils helm-help helm-types helm
helm-global-bindings helm-easymenu edmacro kmacro helm-core helm-source
helm-multi-match helm-lib async savehist which-key envrc inheritenv
diff-mode track-changes config spacious-padding cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
python rx project compat pcase treesit comint ansi-osc ring ansi-color
base16-everforest-dark-hard-theme base16-theme bind-key easy-mmode
base16-theme-autoloads envrc-autoloads haskell-mode-autoloads
helm-autoloads helm-core-autoloads async-autoloads inheritenv-autoloads
mood-line-autoloads nix-mode-autoloads magit-section-autoloads
llama-autoloads qml-mode-autoloads rust-mode-autoloads
spacious-padding-autoloads info transient-autoloads vterm-autoloads
wfnames-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
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 emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 321284 30614) (symbols 48 22076 0) (strings 32 70691 3306)
 (string-bytes 1 2695713) (vectors 16 38770)
 (vector-slots 8 464270 12189) (floats 8 153 1264)
 (intervals 56 1019 110) (buffers 992 16))

------------
Artur Manuel
amadaluzia