Discussion:
[bug #58450] additional inter-sentence spaces should be stretched in fully justified text
(too old to reply)
Dave
2020-05-27 04:37:51 UTC
Permalink
URL:
<https://savannah.gnu.org/bugs/?58450>

Summary: additional inter-sentence spaces should be stretched
in fully justified text
Project: GNU troff
Submitted by: barx
Submitted on: Tue 26 May 2020 11:37:49 PM CDT
Category: Core
Severity: 3 - Normal
Item Group: New feature
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: None

_______________________________________________________

Details:

== Background ==

The groff .ss request takes two parameters, the second one specifying the
additional inter-sentence space. This is a groff extension; classical troff's
.ss request (as documented in CSTR #54) took only one parameter.

In fully justified text, groff stretches inter-word spaces, while keeping this
additional inter-sentence space at a fixed width.

== The problem ==

On output lines where spaces are stretched for justification, stretching one
type of space but not the other alters the ratio of inter-word space to
inter-sentence space that the user has requested with the two parameters to
.ss.

In extreme cases, where inter-word spaces are significantly stretched, the
additional inter-sentence space can become dwarfed by the amount of stretching
done to the inter-word spaces on the line, rendering the additional
inter-sentence space imperceptible. _Comment #4 of bug #54101
<http://savannah.gnu.org/bugs/?54101#comment4>_ contains an example of this,
showing that with large adjustments, spaces between words and those between
sentences become nigh indistinguishable (to the point that the person who
created the example thought no additional inter-sentence space was being added
at all), surely not the desired outcome when the user has asked for
inter-sentence spaces to be two to four times the width of inter-word spaces.

== The solution ==

Further discussion in bug #54101 came to no resolution how best to address
this. According to this ranting but well-documented blog post
<http://web.archive.org/web/20171217060354/http://www.heracliteanriver.com/?p=324>,
professional typography stopped using extra sentence spacing between the 1920s
and the 1950s, breaking with two centuries of nearly universal typographic
practice. Ideally, when a groff user asks for additional inter-sentence space
with the second parameter of .ss, groff would adjust these spaces in line with
that historical practice.

I do not know the details of that practice. This blog post states, "when a
line needed to be expanded or compressed ... the aesthetics of how to handle
the various width spaces... had complex rules that can be found in many of the
manuals cited above," a vagueness that makes sense given that the question of
adjusting is beyond this post's scope. But it does quote a passage from the
1906 Chicago Manual of Style with some Byzantine (and, to my modern eyes, not
entirely comprehensible) rules for adjusting a line, wherein space is added or
removed depending on the shapes of the adjacent characters, among other
considerations. This is probably not only inadvisable in modern groff (it
concerns a typesetting paradigm where other marks of punctuation also got
something other than a standard word space after them), but not even possible,
as I don't think groff has any awareness of letter shapes (else why would user
intervention be required to avoid a collision between an italic _f_ and a
roman end parenthesis?).

Since bug #54101 was primarily concerned with a different (though related)
issue, I'm opening this bug report to track this one. Much of the text here
comes from that bug report.




_______________________________________________________

Reply to this item at:

<https://savannah.gnu.org/bugs/?58450>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
Dave
2020-06-02 00:47:54 UTC
Permalink
Follow-up Comment #1, bug #58450 (project groff):

[comment #0 original submission:]
This is a groff extension; classical troff's .ss request (as documented in
CSTR #54) took only one parameter.

As a further historical note, while classical troff lacked a mechanism for
specifying the amount of additional inter-sentence space, it _did_ add such
space, and seemingly with the same (subpar) algorithm that this bug report
bemoans: stretching inter-word spaces without restriction but keeping the size
of additional inter-sentence spaces fixed.

That is, running classical troff on the input file attached to _comment #4 of
bug #54101 <http://savannah.gnu.org/bugs/?54101#comment4>_ produces four lines
of output identical to one another -- because the second parameter to .ss is
ignored -- but the same problematic spacing as in groff's output, where spaces
between sentences are only infinitesimally wider than those between words.
(The difference is really not even detectable to the naked eye; you have to
measure it.)

_______________________________________________________

Reply to this item at:

<https://savannah.gnu.org/bugs/?58450>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Loading...