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: Variable pitch text filling Date: Sat, 04 Dec 2021 09:45:48 +0200 Message-ID: <83czmc7qz7.fsf@gnu.org> References: <87ilwft1ph.fsf@gnus.org> <87sfvessx6.fsf@gnus.org> <87wnkp9c3t.fsf@gnus.org> <87ee6wanra.fsf@gnus.org> <83r1awse4k.fsf@gnu.org> <87sfvc8kdw.fsf@gnus.org> <83czmgs7t1.fsf@gnu.org> <87k0go8ios.fsf@gnus.org> <83bl20s2dp.fsf@gnu.org> <87wnkojmny.fsf@gnus.org> <837dcos1oy.fsf@gnu.org> <87o860jm27.fsf@gnus.org> <831r2ws0jf.fsf@gnu.org> <87fsrcjkik.fsf@gnus.org> <83ee6uao67.fsf@gnu.org> <83sfva92vo.fsf@gnu.org> <83czme85xk.fsf@gnu.org> <877dclzoeo.fsf@gnus.org> <83pmqd7a3j.fsf@gnu.org> <871r2tw6kr.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39719"; mail-complaints-to="usenet@ciao.gmane.io" Cc: tumashu@163.com, larsi@gnus.org, casouri@gmail.com, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Dec 04 08:46:45 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 1mtPkq-000A92-FF for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 08:46:44 +0100 Original-Received: from localhost ([::1]:59558 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtPkp-0003k2-5v for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 02:46:43 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:52540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtPk7-00033V-VG for emacs-devel@gnu.org; Sat, 04 Dec 2021 02:46:02 -0500 Original-Received: from [2001:470:142:3::e] (port=52416 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtPk7-0007Fs-HD; Sat, 04 Dec 2021 02:45:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=U8Bsbpa9gpQyMhlQe4VyxRoVVGe7JZBBfJlnWocKWOc=; b=NGu+Czf9JOwV JBsEGKSAmZb43P37YL+wAaC0Pi1HYDX5xV0ie7PrkgVGZY1UFpS/kn2dK+cZSJFIqAi1fCMz5+2be y6V/IDaKAhW0NhNtTjnRabkcwQUdQru2euyWJcE+VP4pz0+dtmDJvuA0+c4QNdKeWz7RTG8ZZUOLU 69J1ROXYo/H778k7rz+jP6h7dsttGo4Q6WSZCRpGl44KRhsCdyM7S7gPLsjNAjl54u7//Uj8XZmCo BHI6G9nt2YVyHQzzZDFz94VCaaQjAOZa0MZSGl/HzZcmEnEeGSrcG+MjMznchwq1aqH4e3j+ySYEK TgGS5DSkF4dxTBp2HpNVvw==; Original-Received: from [87.69.77.57] (port=3422 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtPk4-0000pW-Jh; Sat, 04 Dec 2021 02:45:58 -0500 In-Reply-To: <871r2tw6kr.fsf@yahoo.com> (message from Po Lu on Sat, 04 Dec 2021 08:35:00 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:280895 Archived-At: > From: Po Lu > Cc: Lars Ingebrigtsen , tumashu@163.com, > casouri@gmail.com, emacs-devel@gnu.org > Date: Sat, 04 Dec 2021 08:35:00 +0800 > > Eli Zaretskii writes: > > > That'd be much slower, I guess? For each such separate glyph we need > > first clear the background with the color of the face, then draw the > > glyph itself. Right now, we clear the background for all of the > > glyphs in one GUI call, then write all of the glyphs in a single call > > to the font driver. > > Every decent font system has the ability to specify glyph advances > manually. > > Perhaps we could extend the font driver's draw function with another > `advance' parameter that specifies the width of each glyph? If you find a way of doing that with the main font drivers we have on all the supported platforms, I don't see why not.