unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#54646: 29.0.50; set-fontset-font and font clipping issues
@ 2022-03-31  3:37 Visuwesh
  2022-03-31  5:34 ` Eli Zaretskii
  0 siblings, 1 reply; 53+ messages in thread
From: Visuwesh @ 2022-03-31  3:37 UTC (permalink / raw)
  To: 54646

[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

I have the following line [1] in my init.el to make Emacs use "Kurinto
Seri" for the Tamil script,

    (set-fontset-font t 'tamil "Kurinto Seri")

and this leads to font "clipping" issues.  The text is shaped properly
in that it combines the diacritics but I see "clipping" problems
instead.  See screenshot below:


[-- Attachment #2: screenshot_202203310850.png --]
[-- Type: image/png, Size: 5856 bytes --]

[-- Attachment #3: Type: text/plain, Size: 125 bytes --]


I type C-x C-+, then the clipping problem goes away until I increase the
font size again a bit and the problem gets worse:


[-- Attachment #4: screenshot_202203310853.png --]
[-- Type: image/png, Size: 14012 bytes --]

[-- Attachment #5: Type: text/plain, Size: 9533 bytes --]


I cannot seem to reproduce this from emacs -Q, nor do I see this issue
when I start Emacs up (I use the daemon if that makes a difference [2]).
It naturally shows up after using Emacs for a while, sometimes reopening
the frame fixes the clipping problems, sometimes I have to reevaluate
the set-fontset-font form to fix it.  And this issue isn't font-specific
as well: I had the same problem with "Noto Serif."  I would highly any
hints towards nailing the problem down; I'm really out of ideas.

If I didn't make it clear, there are no such problems if I don't modify
the default fontset.

[1] I also modify the default fontset for other scripts,

      (set-fontset-font t 'mathematical "Kurinto Mono" nil 'prepend)
      (set-fontset-font t 'mathematical "Latin Modern Math" nil 'append)
      (set-fontset-font t 'symbol "Latin Modern Math" nil 'append)
      (set-fontset-font t 'emoji "Kurinto Mono")
      (set-fontset-font t 'emoji "Kurinto Sans" nil 'append)
      (set-fontset-font t 'emoji "DejaVu Sans" nil 'append)

    and I set the language and the locale environment to Tamil and
    ta_IN.utf8 respectively, before modifying the fontset.

[2] Modifying the fontset in `server-after-make-frame-hook' does not
    make a difference.  I don't see the issue when I do not use the
    daemon but I believe I haven't run the non-daemon session long
    enough.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars)
Repository revision: ca3858563c7ba8ee3caa82fbd2b7c386ea60c0d3
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: NixOS 21.11 (Porcupine)

Configured using:
 'configure
 --prefix=/nix/store/iqqk7iqfwmfc6r78xg2knyq7hww2mhs4-emacs-git-20220225.0
 --disable-build-details --with-modules --with-x-toolkit=lucid
 --with-xft --with-cairo --with-native-compilation'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $EMACSLOADPATH: 
  value of $EMACSNATIVELOADPATH: /nix/store/5gh4w50dhchhcyjm6ysh17h7y4i5vasf-emacs-packages-deps/share/emacs/native-lisp::
  value of $LC_MONETARY: ta_IN.UTF-8
  value of $LC_NUMERIC: ta_IN.UTF-8
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode)  S)))
  gnus-agent-group-mode: t
  gnus-undo-mode: t
  recentf-mode: t
  shell-dirtrack-mode: t
  eros-mode: t
  pdf-occur-global-minor-mode: t
  minibuffer-depth-indicate-mode: t
  repeat-mode: t
  display-time-mode: t
  display-battery-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  undelete-frame-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/viz/.nix-profile/share/emacs/site-lisp/site-start hides /nix/store/5gh4w50dhchhcyjm6ysh17h7y4i5vasf-emacs-packages-deps/share/emacs/site-lisp/site-start
/home/viz/lib/emacs/straight/build/map/map hides /nix/store/iqqk7iqfwmfc6r78xg2knyq7hww2mhs4-emacs-git-20220225.0/share/emacs/29.0.50/lisp/emacs-lisp/map
/home/viz/lib/emacs/straight/build/let-alist/let-alist hides /nix/store/iqqk7iqfwmfc6r78xg2knyq7hww2mhs4-emacs-git-20220225.0/share/emacs/29.0.50/lisp/emacs-lisp/let-alist

Features:
(shadow emacsbug sendmail ecomplete vc ind-util shortdoc smerge-mode
diff find-dired dired-aux gnus-dired flow-fill notifications xref
timezone shr-color descr-text url-http url-gw url-cache url-auth
pdf-sync pdf-outline pdf-links pdf-history icomplete tabify
writegood-mode org-agenda cal-islam holidays hol-loaddefs mule-util
cal-move flyspell ispell org-pdftools pdf-annot facemenu org-noter
goto-addr org-indent org-element avl-tree generator org-capture doct
org-refile ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs ob-shell ob-racket async ob-async
tempo ol-eww eww xdg url-queue mm-url ol-rmail ol-mhe ol-irc ol-info
ol-gnus nnselect ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi
org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob-core ob-eval org-table
oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs
mm-archive sort gnus-cite mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check gnus-bcklg gnus-async qp
gnus-ml gnutls network-stream nsm nndraft nnmh nnfolder nnmaildir
nnagent nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp
gnus-cache gnus-sum shr pixel-fill kinsoku url-file url-dired svg dom
gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message
yank-media rmc puny rfc822 mml mml-sec epa epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader
gnus-util mail-utils range mm-util mail-prsvr tramp-cmds rfc2104
tramp-cache tramp-sh tramp tramp-loaddefs trampver tramp-integration
cus-start files-x tramp-compat parse-time iso8601 ls-lisp shell-command+
view executable time-stamp pulse color cl-print help-fns misearch
multi-isearch reveal noutline outline recentf tree-widget vc-git
diff-mode vc-dispatcher cursor-sensor face-remap shell pcomplete server
paredit edmacro kmacro eros time-date checkdoc flymake-proc flymake
project thingatpt hl-todo wordel-autoloads sokoban-autoloads
ement-autoloads ts-autoloads map-autoloads plz-autoloads nov-autoloads
esxml-autoloads kv-autoloads transmission-autoloads lua-mode-autoloads
nix-mode-autoloads magit-section-autoloads dash-autoloads
racket-mode-autoloads eros-autoloads flymake-shellcheck-autoloads
writegood-mode-autoloads avy avy-autoloads siege-mode-autoloads
paredit-autoloads puni-autoloads expand-region-autoloads
filladapt-autoloads compose quail scroll-other-window
org-pdftools-autoloads org-noter-autoloads math-delimiters-autoloads
doct-autoloads ob-async-autoloads async-autoloads
emacs-ob-racket-autoloads valign-autoloads org-starless-autoloads
cdlatex-autoloads auctex-autoloads tex-site easy-mmode pdf-occur
ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local find-func cedet pdf-isearch let-alist pdf-misc
imenu pdf-tools package browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
url-handlers url-parse auth-source eieio eieio-core eieio-loaddefs json
map url-vars compile comint ansi-color ring cus-edit wid-edit pdf-view
password-cache jka-compr pdf-cache pdf-info tq pdf-util pdf-macs
image-mode dired-x dired dired-loaddefs exif pdf-tools-autoloads
let-alist-autoloads tablist-autoloads derived mb-depth cus-load repeat
visual-fill-autoloads olivetti-autoloads hl-todo-autoloads time
format-spec battery dbus filenotify xml disp-table lacarte-autoloads
shell-command-plus-autoloads icalendar diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs filecache flymake-grammarly-autoloads
grammarly-autoloads websocket-autoloads finder-inf request-autoloads
s-autoloads chemtable-autoloads comp comp-cstr warnings rx autoload
radix-tree lisp-mnt saveplace-pdf-view saveplace bookmark
text-property-search pp saveplace-pdf-view-autoloads pcase
straight-autoloads info cl-seq cl-extra help-mode straight cl-macs
cl-loaddefs cl-lib vz-nh-theme seq gv subr-x byte-opt bytecomp
byte-compile cconv iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode 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 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 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 emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
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 x-toolkit
x multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1396059 197130)
 (symbols 48 51447 4)
 (strings 32 326304 31436)
 (string-bytes 1 73415709)
 (vectors 16 135734)
 (vector-slots 8 3276991 368443)
 (floats 8 9251 1289)
 (intervals 56 69814 2502)
 (buffers 992 63))

^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2022-10-09 11:59 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-31  3:37 bug#54646: 29.0.50; set-fontset-font and font clipping issues Visuwesh
2022-03-31  5:34 ` Eli Zaretskii
2022-03-31  7:03   ` Visuwesh
2022-03-31  7:11     ` Eli Zaretskii
2022-03-31  7:35       ` Visuwesh
2022-03-31  8:45       ` Visuwesh
2022-03-31  9:04         ` Eli Zaretskii
2022-03-31  9:29           ` Visuwesh
2022-03-31  9:41             ` Eli Zaretskii
2022-03-31 12:16               ` Visuwesh
2022-03-31 14:04                 ` Eli Zaretskii
2022-03-31 13:44               ` Visuwesh
2022-03-31 14:10                 ` Eli Zaretskii
2022-03-31 14:12                   ` Eli Zaretskii
2022-03-31 15:07                   ` Visuwesh
2022-03-31 16:49                     ` Eli Zaretskii
2022-03-31 17:38                       ` Robert Pluim
2022-04-01  1:05                         ` Visuwesh
2022-04-01  3:08                           ` Visuwesh
2022-04-01  8:49                             ` Robert Pluim
2022-04-01 10:54                               ` Eli Zaretskii
2022-04-01 11:38                                 ` Visuwesh
2022-04-01 12:14                                   ` Eli Zaretskii
2022-04-01 13:10                                     ` Visuwesh
2022-04-01 14:19                                       ` Eli Zaretskii
2022-04-01 14:58                                 ` Visuwesh
2022-04-01 15:27                                   ` Eli Zaretskii
2022-04-01 16:40                                     ` Visuwesh
2022-04-01 17:58                                       ` Eli Zaretskii
2022-04-03  9:15                                         ` Visuwesh
2022-04-03 10:06                                           ` Eli Zaretskii
2022-04-03 10:26                                             ` Visuwesh
2022-04-03 10:50                                               ` Eli Zaretskii
2022-04-03 11:10                                                 ` Visuwesh
2022-04-21 14:50                                                   ` Visuwesh
2022-04-22  7:23                                                     ` Eli Zaretskii
2022-04-22 10:46                                                       ` Visuwesh
2022-04-22 10:48                                                         ` Eli Zaretskii
2022-06-11 13:54                                                           ` Visuwesh
2022-06-12  1:34                                                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-12  5:55                                                               ` Eli Zaretskii
2022-06-12  4:49                                                             ` Visuwesh
2022-06-12  5:53                                                             ` Eli Zaretskii
2022-06-12  7:47                                                               ` Visuwesh
2022-06-12 10:16                                                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-10-08 11:48                                                             ` Visuwesh
2022-10-08 12:42                                                               ` Eli Zaretskii
2022-10-08 12:53                                                                 ` Visuwesh
2022-10-08 13:00                                                                   ` Eli Zaretskii
2022-10-09 11:31                                                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-10-09 11:59                                                                     ` Visuwesh
2022-03-31  7:48     ` Eli Zaretskii
2022-03-31  8:47       ` Visuwesh

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).