Subject: bug#53729: closed (Re: bug#53729: 29.0.50; Tamil text not shaped in modeline)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 19 Feb 2022 12:40:01 +0000

Your bug report

#53729: 29.0.50; Tamil text not shaped in modeline

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].

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

Subject: Re: bug#53729: 29.0.50; Tamil text not shaped in modeline
From: Eli Zaretskii <[email-masked]>
To: Visuwesh <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 19 Feb 2022 14:38:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Visuwesh <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Sat, 19 Feb 2022 15:57:14 +0530
> 
> [சனி, பிப்ரவரி 19 2022] Eli Zaretskii wrote:
> 
> >> IOW, the problem happens when the buffer is unibyte, probably because
> >> we disable text shaping (a.k.a. "character compositions") in that
> >> case.
> >
> > I hope I've now fixed this on the master branch, please test.
> 
> Can confirm that it is fixed.  Thanks a lot, Eli!

Thanks, closing.

Subject: 29.0.50; Tamil text not shaped in modeline
From: Visuwesh <[email-masked]>
To: [email-masked]
Date: Wed, 02 Feb 2022 22:25:48 +0530
List-Id: <debbugs-submit.debbugs.gnu.org>

Tamil text is not shaped properly in the modeline.  Please view the
attached file "Noto_Serif_modeline.jpg" to see what I mean.  I set
"tamil" script to use "Noto Serif Tamil" in the default fontset like so,

    (set-fontset-font "fontset-default" 'tamil '("Noto Serif Tamil" . "iso10646-1"))

Changing the font to "Lohit Tamil" [1] does not fix the shaping issue so
Noto Serif Tamil is not the problem (See file
"Lohit_Tamil_modeline.png").

As shown in "Noto_Serif_Expected.png", the text is shaped as I would
expect, in the minibuffer.

To see if this was specific to Tamil, I tried creating a buffer named
"मेरा" and "नमस्कार" ("mera" and "namaskaar C-b DEL" in devanagari-itrans)
but they are shaped better (but not the same as in-buffer text).  I also
set "devanagari" script to use "Noto Serif Devanagari" in the default
fontset.

I also see the problem in a GTK3 build of Emacs 27.2 (sorry, I do not
have the time to check Emacs 28 or Emacs 29 GTK3, PGTK build right now).

1. https://releases.pagure.org/lohit/lohit-tamil-ttf-2.91.3.tar.gz

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: 58bb9eb4005599155a8fce8d5c5beb531a72c534
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/0m0yw7b3zly74ljs3qmkblb780xg03id-emacs-git-20220130.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/07cbjwzil3jfhyifj15h60k7yvixzqxs-emacs-packages-deps/share/emacs/native-lisp::
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gpm-mouse-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  gnus-undo-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
  auto-composition-mode: linux
  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/07cbjwzil3jfhyifj15h60k7yvixzqxs-emacs-packages-deps/share/emacs/site-lisp/site-start
/home/viz/lib/emacs/straight/build/map/map hides /nix/store/0m0yw7b3zly74ljs3qmkblb780xg03id-emacs-git-20220130.0/share/emacs/29.0.50/lisp/emacs-lisp/map
/home/viz/lib/emacs/straight/build/let-alist/let-alist hides /nix/store/0m0yw7b3zly74ljs3qmkblb780xg03id-emacs-git-20220130.0/share/emacs/29.0.50/lisp/emacs-lisp/let-alist

Features:
(shadow emacsbug ind-util thai-util thai-word lao-util enriched
find-dired shell-command+ subword-mode-expansions cap-words superword
subword nix-mode ffap smie nix-repl nix-shell nix-store magit-section
dash nix-instantiate nix-shebang nix-format nix follow dabbrev cal-iso
wdired t-mouse term/linux org-capture doct chemtable timezone nnfolder
gnus-draft tabify man hippie-exp siege-mode comp comp-cstr log-edit
pcvs-util add-log vc url-http url-gw url-cache url-auth sendmail lacarte
icomplete ecomplete writegood-mode cal-islam holidays hol-loaddefs
mule-util cal-move calc-math calcalg2 calccomp calc-arith calc-alg
calc-aent calc-ext calc-misc calc-menu calc calc-loaddefs rect calc-macs
dired-aux pdf-sync pdf-outline pdf-links pdf-history org-agenda flyspell
ispell org-pdftools pdf-annot facemenu org-noter org-refile goto-addr
org-indent org-element avl-tree generator the-org-mode-expansions ob-C
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs ob-shell 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 gnus-search eieio-opt speedbar ezimage dframe
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 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 cl-print debug backtrace
expand-region text-mode-expansions er-basic-expansions
expand-region-core expand-region-custom pulse xref view descr-text
time-stamp misearch multi-isearch shortdoc help-fns radix-tree
face-remap reveal noutline outline recentf tree-widget executable vc-git
vc-dispatcher smerge-mode diff diff-mode gnus-fun flow-fill shr-color
color mm-archive sort gnus-cite mail-extr textsec uni-scripts
idna-mapping ucs-normalize uni-confusable textsec-check gnus-async
gnus-bcklg qp gnus-ml gnutls network-stream nsm nndraft nnmh 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 svg dom gnus-group gnus-undo
gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 netrc
nnoo parse-time iso8601 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 mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util mail-utils range server paredit edmacro kmacro eros
time-date checkdoc lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr flymake-proc flymake project warnings thingatpt
hl-todo writegood-mode-autoloads wordel-autoloads sokoban-autoloads
ement-autoloads ts-autoloads s-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 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 finder-inf
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 bookmark
text-property-search pp 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 rx icalendar
diary-lib diary-loaddefs cal-menu calendar cal-loaddefs
chemtable-autoloads molar-mass-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 2101434 313772)
 (symbols 48 56342 74)
 (strings 32 371367 47970)
 (string-bytes 1 159337297)
 (vectors 16 144937)
 (vector-slots 8 3674344 378355)
 (floats 8 35189 1747)
 (intervals 56 182734 6086)
 (buffers 992 90))