From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alexandre Garreau Newsgroups: gmane.emacs.devel Subject: Re: Future of display engine and lines Date: Fri, 22 Oct 2021 13:56:35 +0200 Message-ID: <1747754.lAEpolAV24@galex-713.eu> References: <2108181.AU8Z245p1N@galex-713.eu> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28096"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org, rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 22 13:57:49 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 1mdtBE-00077D-PG for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Oct 2021 13:57:48 +0200 Original-Received: from localhost ([::1]:33118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mdtBC-0008Pq-QX for ged-emacs-devel@m.gmane-mx.org; Fri, 22 Oct 2021 07:57:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mdtAF-0007h4-Hb for emacs-devel@gnu.org; Fri, 22 Oct 2021 07:56:47 -0400 Original-Received: from portable.galex-713.eu ([2a00:5884:8305::1]:34516 helo=galex-713.eu) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mdtAC-0002It-Ok; Fri, 22 Oct 2021 07:56:47 -0400 Original-Received: from gal by galex-713.eu with local (Exim 4.92) (envelope-from ) id 1mdtA6-0005t1-MU; Fri, 22 Oct 2021 13:56:38 +0200 In-Reply-To: Received-SPF: pass client-ip=2a00:5884:8305::1; envelope-from=galex-713@galex-713.eu; helo=galex-713.eu X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:277556 Archived-At: Le vendredi 22 octobre 2021, 00:43:05 CEST Richard Stallman a =C3=A9crit : > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Can you design a data structure for it that can represent TeX-style > formatted output as well as LibreOffice formatting? Or one that could > be extended to reach that point? I really don=E2=80=99t know how LibreOffice formatting works, and LibreOffi= ce looks=20 like a pretty complex and inelegant piece of software. However TeX is a=20 general-purpose layout engine and I=E2=80=99m persuaded it=E2=80=99s superi= or and can=20 emulate anything possible with LibreOffice. I didn=E2=80=99t read know the= precise=20 C implementation, but afair, having read the TeXbook a long time ago=20 (unfortunately since it=E2=80=99s proprietary it=E2=80=99s sometimes hard t= o find again and=20 sometimes esoteric to compile) I know the fundamental elements of TeX=20 formatting are hbox (h for horizontal) and vbox (v for vertical), and have= =20 an important concept of glue (both stretchable and shrinkable, including=20 values of various levels of infinity) and depth (distinct from height, to=20 determine the baseline). That would result in a graph, and that=E2=80=99s= =20 fundamentally different of emacs=E2=80=99 way=E2=80=A6 which is only a line= =2Ddivided=20 sequence of chars=E2=80=A6 only a 2D graph. Where is best documented the graphical engine of Emacs (the C part then),=20 because it always made me curious=E2=80=A6 > Powerful extensions in what can be displayed would be very important. I wonder if something as powerful as TeX existed in relation with emacs,=20 given its hackability, userbase and momentum (and those of lisp in=20 general), emacs could quickly become a fully-fledged browser on par with=20 firefox. I also had a long dream of seeing a hackable-as-emacs TeX-style engine to=20 make GUIs, especially as TeX is currently still the state of the art of=20 how to make *correct* typography (but suffering of an esoteric, poor and=20 hardly known programming language (they have macros, but no real functions= =20 yet, except in the yet-to-come LaTeX 3)), that would easily become better=20 than anything currently made with a browser (which are still considered of= =20 bad quality compared to TeX or anything from standard DAO (like Scribus)),= =20 but for GUIs in general. But that was an idea already existing for instance in the genesis of=20 TeXmacs I believe, except it=E2=80=99s less ambitious (just a (actually hea= vy,=20 more than emacs) word processor, not a GUI, IDE, browser, etc. while emacs= =20 do those). I=E2=80=99m also afraid it may make emacs slower or heavier=E2=80=A6