From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tomas Hlavaty Newsgroups: gmane.emacs.devel Subject: Re: Emacs Survey: Toolbars Date: Wed, 23 Dec 2020 16:42:42 +0100 Message-ID: <874kkcil59.fsf@logand.com> References: <87o8iv3ac3.fsf@gnus.org> <877dpjp30g.fsf@ucl.ac.uk> <87zh2fnmwq.fsf@gnus.org> <87o8ivumn5.fsf@telefonica.net> <87v9d3nkxk.fsf@gnus.org> <83k0t9rfj5.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17334"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 23 16:43:55 2020 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 1ks6It-0004P2-9M for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Dec 2020 16:43:55 +0100 Original-Received: from localhost ([::1]:42770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ks6Is-0007j8-Be for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Dec 2020 10:43:54 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54014) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ks6Hs-0006r3-4X for emacs-devel@gnu.org; Wed, 23 Dec 2020 10:42:52 -0500 Original-Received: from logand.com ([37.48.87.44]:60054) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ks6Hm-0005ul-Hb for emacs-devel@gnu.org; Wed, 23 Dec 2020 10:42:51 -0500 Original-Received: by logand.com (Postfix, from userid 1001) id 0283819F440; Wed, 23 Dec 2020 16:42:43 +0100 (CET) X-Mailer: emacs 26.3 (via feedmail 11-beta-1 I) In-Reply-To: Received-SPF: pass client-ip=37.48.87.44; envelope-from=tom@logand.com; helo=logand.com 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:261604 Archived-At: On Tue 22 Dec 2020 at 23:21, Richard Stallman wrote: > One interesting question is how to make text flow between pages. In > Emacs, a page boundary is a ^L character (formfeed). To make text > flow between pages would require deleting and inserting ^L characters > as needed. Is that workable? > > (I remember when ^L made the line printer skip to the next page.) In emacs-pdf, I respect ^L and start a new page. Additionally, a new pdf page is automatically started when the page gets full (but this is not indicated in the original text buffer). It could probably be feasible to indicate the additional computed page break in the original text buffer but then there should be a concept of user-entered page break (e.g. ^L) and computed page break (how to indicated that?). Another problem with pages is that it requires user configuration (like emacs has for postcript printing which could be reused) and whole complexity of fonts and layout. So far emacs-pdf handles ascii monospace monochrome buffers only thus in a sense it is already WYSIWYG. I get the same thing on the paper as on the screen (minus headers and footers). Should headers and footers be also displayed in the original text buffer? Should they be editable? How should it be handled at the low level, e.g. as a text property? Another problem is inserting computed values, e.g. current page number or total number of pages, which is often used in headers and footers. This means that the whole rendering becomes a fixed-point computation. In emacs-pdf, I simply process the whole document twice and assume that the layout would not change further anymore but that is not a general solution.