Dave
2020-02-17 07:43:05 UTC
URL:
<https://savannah.gnu.org/bugs/?57836>
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:
<https://savannah.gnu.org/bugs/?57836>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
<https://savannah.gnu.org/bugs/?57836>
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:
<https://savannah.gnu.org/bugs/?57836>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/