Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Dave Newsgroups: gnu.groff.bug Subject: [bug #57836] grotty's adjustment algorithm is not diversion-aware Date: Mon, 17 Feb 2020 02:43:05 -0500 (EST) Lines: 94 Approved: bug-groff@gnu.org Message-ID: References: <20200217-014304.sv93119.56915@savannah.gnu.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain;charset=UTF-8 X-Trace: usenet.stanford.edu 1581925390 26074 209.51.188.17 (17 Feb 2020 07:43:10 GMT) X-Complaints-To: action@cs.stanford.edu To: Dave , bug-groff@gnu.org Envelope-to: bug-groff@gnu.org X-PHP-Originating-Script: 1001:sendmail.php X-Savane-Server: savannah.gnu.org:443 [2001:470:142::72] X-Savane-Project: groff X-Savane-Tracker: bugs X-Savane-Item-ID: 57836 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 X-Apparently-From: 2605:a601:aac3:e300:55b7:e0e9:96ca:b482 (Savane authenticated user barx) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.72 X-BeenThere: bug-groff@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Bug reports for the GNU version of nroff, troff et al" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <20200217-014304.sv93119.56915@savannah.gnu.org> Xref: csiph.com gnu.groff.bug:1758 URL: Summary: grotty's adjustment algorithm is not diversion-aware Project: GNU troff Submitted by: barx Submitted on: Mon 17 Feb 2020 01:43:04 AM CST Category: Device - others Severity: 3 - Normal Item Group: Incorrect behaviour Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Planned Release: None _______________________________________________________ Details: $ groff -Tascii tty_example | head -14 For TTY output with full justification, grotty pads by adding extra spaces alternating every line left-to-right and right-to- left, as can be seen in this paragraph. This helps to preserve overall uniform grayness throughout the text, as well as a monospaced typeface allows. But diversions requiring adjustment apparently are included in this sequence even if they are not output right away (or ever, for that matter). This means that a number of closely spaced diversion definitions can break grotty's balancing algorithm, putting all the space on the same end of every line, as this paragraph demonstrates. $ cat tty_example .nh For TTY output with full justification, grotty pads by adding extra spaces alternating every line left-to-right and right-to-left, as can be seen in this paragraph. This helps to preserve overall uniform grayness throughout the text, as well as a monospaced typeface allows. . .sp . But diversions requiring adjustment apparently are included in this sequence even if they are not output right away (or ever, .box dummy This is some dummy text, enough to kick in the adjustment algorithm. .box for that matter). This means that a number of closely spaced .box dummy This is some dummy text, enough to kick in the adjustment algorithm. .box diversion definitions can break grotty's balancing algorithm, .box dummy This is some dummy text, enough to kick in the adjustment algorithm. .box putting all the space on the same end of every line, as this .box dummy This is some dummy text, enough to kick in the adjustment algorithm. .box paragraph demonstrates. $ groff -Tascii --version GNU groff version 1.22.4.74-b400-dirty Copyright (C) 2018 Free Software Foundation, Inc. GNU groff comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of groff and its subprograms under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. called subprograms: GNU grotty (groff) version 1.22.4.74-b400-dirty GNU troff (groff) version 1.22.4.74-b400-dirty _______________________________________________________ Reply to this item at: _______________________________________________ Message sent via Savannah https://savannah.gnu.org/