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: Mon, 15 Nov 2021 18:57:20 +0530 Message-ID: References: <8335nxtwo7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000578d7905d0d3c553" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39980"; 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 Mon Nov 15 14:29:54 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 1mmc3W-000A9t-DW for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Nov 2021 14:29:54 +0100 Original-Received: from localhost ([::1]:43022 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mmc3V-0004Lq-B2 for ged-emacs-devel@m.gmane-mx.org; Mon, 15 Nov 2021 08:29:53 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60400) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmc1G-0002BG-VU for emacs-devel@gnu.org; Mon, 15 Nov 2021 08:27:34 -0500 Original-Received: from [2607:f8b0:4864:20::d34] (port=39865 helo=mail-io1-xd34.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mmc1E-0002Ez-RM for emacs-devel@gnu.org; Mon, 15 Nov 2021 08:27:34 -0500 Original-Received: by mail-io1-xd34.google.com with SMTP id c3so21402833iob.6; Mon, 15 Nov 2021 05:27:32 -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=+a3aeSYTs13EdaGSjn5NBeqHzz7amS5WcuTr7YP24Bo=; b=BfEdfcQSE32LkoPzoOS1S20E5T+DwSz1vmenLeSfLvSegnA1Jgg9H0CX90J3dwNAkI 3gxDEUQVp4WnYdMg3jqT09PTY1zU9fDayBhFPQhB9x5O8/upJ8J+O3unsynzPJirM0pT RsRl4tWp6owZZUC2sA5qC25u0QgrdcI4BPdKaGqZRFAWEuYCRmIEffSBfRa51kAag8Qb Gt1lCoAYpioMFJvZF9I0pfPKhpS9R8ISAtB84tWSYt57RMyRVYMeDT265QRG6uuFA8kd SUBJUdBP5sSj1FZMdDXqhyUoSc5yqQB0cSzBAsfzNdthkHUYqnHlyxzeFSDFvSTM9pcu p5sA== 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=+a3aeSYTs13EdaGSjn5NBeqHzz7amS5WcuTr7YP24Bo=; b=mGD+Ppa4sLjeKJR5p938QzhAAqY/xGFT5jH7TqCCkN6g6aHP8q7v/nPejrs2AlfPUf jKrsKUGoazt4OKY2HYAShYR7Wh2nWjG15lGEQo2ad9OkyAHN6VNdCgWu2DcExERjGg2J Pzq+dThOr+WqedBX1kDntgoG7o9iPM9u7lHk7Ls8HkMJHXrfBGUrVRwAB8SaqxnSRlsr JtqTCZd5RTPuHPWjOOg2s+POMNPHOdQwVyDcApGE9tlUHY8FoajHWDnOhMFvF7EnLkPd vs8du2SpuK9GU5lGASIKBkB9enz+7xDWyUJd9eU+V+xZidXyXPGsp/+9/BZVOUzEWW2h YpQQ== X-Gm-Message-State: AOAM530rVtww5RNYmRL3dwHgrLG/KP+4goD6b3VnZcmHq1uc00oOKmjI pRm4zTZqcZ6sqYkXtnyKKZwGwUwGFFCwvDoaX1noY23r/kQ= X-Google-Smtp-Source: ABdhPJy9C7lDOFrYXnx1t+l3G6Y2DGFJtGZRciFrkLVmShWVz8JkLIKGsgYYP9sLQNdiSPMIsn/kIRwBhxfPxqf3z/U= X-Received: by 2002:a6b:4e07:: with SMTP id c7mr24571783iob.23.1636982851077; Mon, 15 Nov 2021 05:27:31 -0800 (PST) In-Reply-To: <8335nxtwo7.fsf@gnu.org> X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::d34 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::d34; envelope-from=atamariya@gmail.com; helo=mail-io1-xd34.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, 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:279502 Archived-At: --000000000000578d7905d0d3c553 Content-Type: text/plain; charset="UTF-8" In this hack, the elisp code navigates from (window-start) to (window-end) reading a line of text from the associated buffer and displays the same in SVG. I've used (read-event) and (lookup-key) to allow for key translations for navigation commands. Hopefully with a tighter integration, all of this will not be required. Positioning of the point is one open area. We would need the bounding box of text for accurate positioning. We have three sources for this - librsvg, pango or the current display engine. On Mon, Nov 15, 2021 at 6:15 PM Eli Zaretskii wrote: > > From: Anand Tamariya > > Date: Mon, 15 Nov 2021 08:09:22 +0530 > > > > How about using SVG for rendering in the display engine? > > Please elaborate what you mean by that. How would the display engine > work under this idea? > > The image you posted doesn't tell enough to understand what's > involved, and thus it is very hard to think about possible > implications of such a change. > > Thanks. > --000000000000578d7905d0d3c553 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

In this hack, the elisp code navigates from (window-sta= rt) to=20 (window-end) reading a line of text from the associated buffer and=20 displays the same in SVG. I've used (read-event) and (lookup-key) to=20 allow for key translations for navigation commands. Hopefully with a=20 tighter integration, all of this will not be required.

Positionin= g of the point is one open area. We would need the bounding box of text for= =20 accurate positioning. We have three sources for this - librsvg, pango or the current display engine.


On Mon, Nov 15, 2021 at 6:15 PM Eli Zaretsk= ii <eliz@gnu.org> wrote:
> From: Anand Tamariy= a <atamariya@gm= ail.com>
> Date: Mon, 15 Nov 2021 08:09:22 +0530
>
> How about using SVG for rendering in the display engine?

Please elaborate what you mean by that.=C2=A0 How would the display engine<= br> work under this idea?

The image you posted doesn't tell enough to understand what's
involved, and thus it is very hard to think about possible
implications of such a change.

Thanks.
--000000000000578d7905d0d3c553--