From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Horizontal centering in the display engine Date: Thu, 15 Apr 2021 10:04:51 +0300 Message-ID: <83zgy0xc30.fsf@gnu.org> References: <66A8ED9D-F4C1-4DC0-9D8D-7EB82EA82DF4@bydasein.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13889"; mail-complaints-to="usenet@ciao.gmane.io" Cc: sbaugh@catern.com, emacs-devel@gnu.org To: "Paul W. Rankin" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 15 09:05:52 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lWw4W-0003UO-6Q for ged-emacs-devel@m.gmane-mx.org; Thu, 15 Apr 2021 09:05:52 +0200 Original-Received: from localhost ([::1]:47342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lWw4V-0003HP-8l for ged-emacs-devel@m.gmane-mx.org; Thu, 15 Apr 2021 03:05:51 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lWw3g-0002pX-BY for emacs-devel@gnu.org; Thu, 15 Apr 2021 03:05:00 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:59019) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lWw3f-0005dH-EF; Thu, 15 Apr 2021 03:04:59 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2891 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lWw3e-0004io-PA; Thu, 15 Apr 2021 03:04:59 -0400 In-Reply-To: <66A8ED9D-F4C1-4DC0-9D8D-7EB82EA82DF4@bydasein.com> (pwr@bydasein.com) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268077 Archived-At: > From: "Paul W. Rankin" > Date: Thu, 15 Apr 2021 15:13:43 +1000 > Cc: Eli Zaretskii , > emacs-devel@gnu.org > > (defun center-align-line () > (let (line-width align-col) > (setq line-width (- (line-end-position) > (line-beginning-position))) This calculation of line-width is, of course, only valid when there's a single face used by the line's characters. Using window-text-pixel-size will produce more accurate results, but OP's main problem is not how to compute the line's width, it is how to make the alignment adjust itself automatically to any changes in the line's text and in the window's width.