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: Ligature support Date: Fri, 05 Nov 2021 18:39:31 +0200 Message-ID: <83lf22d0ak.fsf@gnu.org> References: <87cznths5j.fsf@gnus.org> <83a6ittp5r.fsf@gnu.org> <8ff3b131c53b9df49236@heytings.org> <834k91th5c.fsf@gnu.org> <8ff3b131c5fe09753ca0@heytings.org> <83mtmtru6l.fsf@gnu.org> <8ff3b131c57f741d04e5@heytings.org> <83lf2drqx6.fsf@gnu.org> <87lf2c3k0z.fsf@gnus.org> <83wnlwqocq.fsf@gnu.org> <87wnlwyox9.fsf@gnus.org> <83lf2cq7n5.fsf@gnu.org> <87wnlnkxbo.fsf@gnus.org> <83cznfdohr.fsf@gnu.org> <87zgqik9bk.fsf@gnus.org> <83v916d64z.fsf@gnu.org> <878ry2k6qz.fsf@gnus.org> <83tugqd488.fsf@gnu.org> <87zgqiiq8c.fsf@gnus.org> <83r1bud3or.fsf@gnu.org> <87r1buipf5.fsf@gnus.org> <87ilx6iokv.fsf@gnus.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16330"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 05 17:41:13 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 1mj2HA-00043W-O1 for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 17:41:12 +0100 Original-Received: from localhost ([::1]:58712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mj2H9-0006dL-OI for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 12:41:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36612) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mj2Fq-0004Wx-Cm for emacs-devel@gnu.org; Fri, 05 Nov 2021 12:39:51 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:58530) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mj2Fq-00041c-2M; Fri, 05 Nov 2021 12:39:50 -0400 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=/PKMpAd7ToGxaKXrcwdzt58a5usbE7j1uq3IAlenZRw=; b=IH782dRWsF7x yr1m5+nOB+QrIVPc+1h4o+LhcIEKr3Mm12o6CNY59jPn9Un+uySxLVnKELcpxSpzh6x3y39VInosk Yx/SAjSmllSOfFmGUzNq+GXxf3+TL6uNMdKv6jwyCGMrjIYxRtv3wNcTaumLuo4hG23OYAkCDD3Ov 0TaRIRWNLkXPycktD0ILQ8lN3PEitnNqYRY0xlY+awLb+Cedh0dH0m92dhwkd2hHNtxMS4R9fpkDj AEeAmtLdsYyoiFP6PQD5Xz1W8Jx4VHRuNE8TdakZvJaNDOLgLhI2FWewPqVNB/6POPFjN7BZMUhn4 DF4WydAjNXwL5SffLYpzTg==; Original-Received: from [87.69.77.57] (port=1613 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 1mj2Fp-0003V6-JV; Fri, 05 Nov 2021 12:39:49 -0400 In-Reply-To: <87ilx6iokv.fsf@gnus.org> (message from Lars Ingebrigtsen on Fri, 05 Nov 2021 16:56:00 +0100) 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:278786 Archived-At: > From: Lars Ingebrigtsen > Cc: emacs-devel@gnu.org > Date: Fri, 05 Nov 2021 16:56:00 +0100 > > I see that the harfbuzz people say that we should just run all the text > through hb_shape instead of doing it selectively like we do it now: > > --- > Full text shaping is the only way to get this right. Everything else > is a hack, and piling hacks on top of hacks is just storing > maintenance problems up for yourself. > --- Yes, I know. But how large chunk of the text they need to see to do the job? Emacs's display engine examines the text one character at a time, so passing large chunks through the shaping engine is out of the question. The want at least words, possibly complete lines. > How big a performance issue would it be to just run all the text through > hb_shape? You can try it by setting composition-function-table slots for every character. E.g., start by doing that for all ASCII and see what happens.