bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #57448] groff will not break a line at a hard hyphen following some


From: Dave
Subject: [bug #57448] groff will not break a line at a hard hyphen following some letter combinations
Date: Thu, 19 Dec 2019 08:16:38 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0

URL:
  <https://savannah.gnu.org/bugs/?57448>

                 Summary: groff will not break a line at a hard hyphen
following some letter combinations
                 Project: GNU troff
            Submitted by: barx
            Submitted on: Thu 19 Dec 2019 07:16:37 AM CST
                Category: Core
                Severity: 3 - Normal
              Item Group: Incorrect behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

I see this behavior in a build of the latest groff from git sources:

$ groff --version | head -1
GNU groff version 1.22.4.74-b400-dirty

as well as in earlier release versions, going back to at least 1.22.3.

$ groff -a <<EOF
.ll 1i
One has the AB-style switch.
EOF

This produces the output:

<beginning of page>
One has the AB-
style switch.

The same formatting is output by using any two capital letters in place of AB
-- *except* in 19 of the possible 676 combinations.  If the two letters are
AT, AV, AW, AY, DV, DW, DY, LT, LV, LW, LY, OT, OV, OW, OY, RT, RV, RW, or RY,
groff will refuse to break the line at the hyphen, carrying over the entire
"xx-style" phrase to the next line (or putting it all on the first line, if
you increase .ll a bit).

This script generates all 676 combinations and shows which ones won't break at
the hyphen:

#!/bin/bash

(echo .ll 1i
 for first in $(seq 65 90)
 do
   for second in $(seq 65 90)
   do
     echo -e One has the \
             "\x$(printf %x $first)\x$(printf %x $second)"-style \
             switch.
     echo .br
   done
 done
) | groff -a | grep -o ..-style




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]