URL:
<
https://savannah.gnu.org/bugs/?55070>
Summary: [wishlist] Next-generation hyphenation control
Project: GNU troff
Submitted by: gbranden
Submitted on: Wed 21 Nov 2018 08:00:51 PM UTC
Category: Core
Severity: 1 - Wish
Item Group: Wishlist
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release: None
_______________________________________________________
Details:
See comments on <
https://savannah.gnu.org/bugs/index.php?55066> for
background. Someone may be willing to add comments linking to past mailing
list discussions as well.
In summary:
Three orthogonal ideas are intermixed in the semantics of the roff .hy
request. Quoting CSTR #54:
"Automatic hyphenation is turned on for N ≥ 1, or off for N = 0. If N = 2,
last lines (ones that will cause a trap) are not hyphenated. For N = 4 and 8,
the last and first two characters respectively of a word are not split off.
These values are additive; i.e., N = 14 will invoke all three restrictions."
However this design does not scale to languages which permit hyphenation after
the first or before the last letter of a word.
There should therefore be 3 separate controls:
* minimum left-length before hyphenation occurs;
* minimum right-length before hyphenation occurs;
* whether hyphenation of the last line of a page or column is permitted.
And in fact, the last item could also be split in two; column-hyphenated
orphans could be permitted when page ones are not (or, _very_ perversely, vice
versa).
The orthogonality of these concepts is not theoretically perfect, as in the
case where left-minimum + right-minimum > word-length, there is some
ambiguity, but this is only in theory. In practice the result is that such a
word is not hyphenated.
_______________________________________________________
Reply to this item at:
<
https://savannah.gnu.org/bugs/?55070>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/