From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Anand Tamariya Newsgroups: gmane.emacs.devel Subject: Re: SVG hack for display engine Date: Tue, 16 Nov 2021 08:31:24 +0530 Message-ID: References: <8335nxtwo7.fsf@gnu.org> <83sfvxsejm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000d169ec05d0df2464" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15221"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs Devel To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 16 04:02:21 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 1mmojl-0003q9-Gi for ged-emacs-devel@m.gmane-mx.org; Tue, 16 Nov 2021 04:02:21 +0100 Original-Received: from localhost ([::1]:56244 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mmojk-0001rI-Kd for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Nov 2021 22:02:20 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmoj7-0001AQ-9r for emacs-devel@gnu.org; Mon, 15 Nov 2021 22:01:41 -0500 Original-Received: from [2607:f8b0:4864:20::d31] (port=44824 helo=mail-io1-xd31.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mmoj5-0000Ew-LU; Mon, 15 Nov 2021 22:01:40 -0500 Original-Received: by mail-io1-xd31.google.com with SMTP id f9so23979317ioo.11; Mon, 15 Nov 2021 19:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JOW4GmhK7RuTgt4EdXz1hhxb58H1BjLnhsoVdM0qi4g=; b=hC8pP3bGLPBOA4m7gV3sRBbdNqGJAD2IAAZzdJ+p5GLQ4PvHd8lTJJxuGoVlNfMeBl 869AyqRaEBnqW83lu3yVmZ2r4WICYzI4YnoJsSYQSn3y1imX1np3Xv05vgKQqF7RHtps ppclZWEF33csqS+cwtFMTG5MA+GFw3Y7ZPhYc7cxzag4IXGAafTjMIkCyR58aid6TaVi esKP791otkT8zwHOZoH/1PizNbSdl2/YRB0dYhMdckP6iCQ2FbOrsMoImTjpmDrdQLfX Tc3LUdWpkz3ZEeNOh+NG8y1YC+dVWZ1UUYRYb0rqTsbulDCdxpt9WKHl0WQXkALeGTwt j9IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JOW4GmhK7RuTgt4EdXz1hhxb58H1BjLnhsoVdM0qi4g=; b=aGnni5dzcGFbnviHh8ya1YZUva7phWsak0zW3zrTfGjf1Jha5FdSRZgNIAFvg0EgJw 2qRvWoQnH8leJmnkvmrSWsHUcQyWmSIcNr1ovjIb3hE+xra/OeD0Gezsg8GZbdeQk2Rg btVyfzWRl3LrxTPTp2gJ5YvPE+YpE55kIZP0kjlPHXpSfzT2qLkwTzTxj3ISRRy5nb6X kz0PtD9p39/TnZFTvZq7XgEa2SIU8auaKn/kAjzAXlWdyzkYNBlOUs+gOyThQbQR92oQ Ur4gnr2HtOedElWTBR+/Ac/G685qyxIW67UsgGyQLdDmYNGcS2/Fts2AL7Khpt83ILYw bFKw== X-Gm-Message-State: AOAM531sUj+JSTq7ZaS/t1zFTb7hPzELGpDYKClGJxDkEfC6ogOl9ZRW x14530HwWe9PzM5b8SjHgvDcWPL/3Yq9OyrNbwh0Ilfc X-Google-Smtp-Source: ABdhPJxIIMz8kz+q6+oGhbNLaW8oyECsjJ3pwwS4zOUlUIGyQEx4j10VZB9u3iZAmvPiPcGK3IvKbTpWPEwV5SMvt9Y= X-Received: by 2002:a5e:9918:: with SMTP id t24mr2552356ioj.161.1637031697540; Mon, 15 Nov 2021 19:01:37 -0800 (PST) In-Reply-To: <83sfvxsejm.fsf@gnu.org> X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::d31 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::d31; envelope-from=atamariya@gmail.com; helo=mail-io1-xd31.google.com X-Spam_score_int: 14 X-Spam_score: 1.4 X-Spam_bar: + X-Spam_report: (1.4 / 5.0 requ) BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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:279525 Archived-At: --000000000000d169ec05d0df2464 Content-Type: text/plain; charset="UTF-8" > So you use the results of the display engine to display the same stuff > differently, is that right? > > If so, I'm not sure I understand how to do it "properly". The Emacs > display engine performs the layout calculations (which determine, for > example, where each screen line ends and the next one begins, or what > stuff fits into a window) by examining each character of buffer text > in turn. Without this examination, how can we know how to display the > text as SVG? And if we use the current code to produce this > information, then what did we gain? > > I'm probably missing something. > Do you notice the popup in the top window in the image attached in OP? It has clean lines over buffer content with mixed (fixed + variable pitch) fonts. Is it possible to have that in graphical Emacs? Precise positioning of popups can open up graphical Emacs to immense possibilities like feature filled tooltips, inline completion popup, multi-column layouts, watermarks etc. --000000000000d169ec05d0df2464 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

So you use the results of the display engine to display the same stuff
differently, is that right?

If so, I'm not sure I understand how to do it "properly".=C2= =A0 The Emacs
display engine performs the layout calculations (which determine, for
example, where each screen line ends and the next one begins, or what
stuff fits into a window) by examining each character of buffer text
in turn.=C2=A0 Without this examination, how can we know how to display the=
text as SVG?=C2=A0 And if we use the current code to produce this
information, then what did we gain?

I'm probably missing something.
Do you notice the = popup in the top window in the image attached in OP? It has clean lines ove= r buffer content with mixed (fixed=C2=A0+ variable pitch) fonts. Is it poss= ible to have that in graphical Emacs? Precise positioning of popups can ope= n up graphical Emacs to immense possibilities like feature filled tooltips,= inline completion popup, multi-column layouts, watermarks etc.=C2=A0
<= /div>
--000000000000d169ec05d0df2464--