groff
[Top][All Lists]
Advanced

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

Re: an observation and proposal about hyphenation codes


From: G. Branden Robinson
Subject: Re: an observation and proposal about hyphenation codes
Date: Tue, 6 Aug 2024 09:48:21 -0500

At 2024-08-06T08:41:49-0500, Dave Kemper wrote:
> On Wed, Jul 31, 2024 at 11:51 PM Werner LEMBERG <wl@gnu.org> wrote:
> > > However, in the meantime, meaning for groff 1.24, I propose to move
> > > `hcode` definitions to where they make more sense: the character set
> > > macro files "koi8-r.tmac", "latin1.tmac", "latin2.tmac", and
> > > "latin9.tmac".  (If/when I do that, I'll need to update the
> > > "tmac/LOCALIZATION" file accordingly.)
> >
> > Probably a good idea.  The few cases where this has to be changed
> > (classical example: Turkish needs 'İ' mapped to 'i' and 'I' mapped to
> > 'ı') can be overridden in a language-specific hyphenation setup.
> 
> This change was made in commit 0629380a9
> (http://git.savannah.gnu.org/cgit/groff.git/commit/?id=0629380a9).
> But it doesn't seem to be the right solution, because now hyphenation
> varies depending on output format.  This surely can't be the intent.
> 
> $ cat test.59397
> .hy 4
> .ll 1u
> resume
> r\['e]sum\['e]
> $ groff --version | head -1
> GNU groff version 1.23.0.1624-4d251-dirty
> $ groff -Wbreak -Tlatin1 test.59397 | cat -s
> re-
> sume
> ré-
> sumé
> 
> $ groff -Wbreak -a test.59397
> <beginning of page>
> re<hy>
> sume
> r<'e>sum<'e>

I'm thinking this has more to do with line length handling than
hyphenation; `-ww` before `-Wbreak` might have helped.

And the line length will of course have a big impact on where
hyphenation breaks occur.

But as it happens I can't reproduce this misbehavior anyway.

$ cat EXPERIMENTS/resume-special.groff
.ec @
.ll 1u
r@['e]sum@['e]
.hcode @['e] e
r@['e]sum@['e]
.hcode @['E] @['e]
R@['E]SUM@['E]
.pl @n[nl]u

(The changed escape character is because the foregoing is the basis of a
regression test; it gets stuff into a shell variable assignment, and I
am fearful of Unix shell vendors not getting backslash handling correct
or consistent.)

$ ./build/test-groff -Tutf8 -ww -Wbreak EXPERIMENTS/resume-special.groff
troff:EXPERIMENTS/resume-special.groff:2: warning: setting computed line length 
0u to device horizontal motion quantum
ré‐
sumé
ré‐
sumé
RÉ‐
SUMÉ
$ ./build/test-groff -Tps -a -ww -Wbreak EXPERIMENTS/resume-special.groff
<beginning of page>
r<'e>sum<'e>
r<'e><hy>
sum<'e>
R<'E><hy>
SUM<'E>

I'm running my working copy, of course, but that hasn't changed much
since I pushed.

99a5af3c7 (HEAD -> master) ChangeLog: Add bug-closer for old entry.
4d2514bd4 (origin/master, origin/HEAD) [docs]: Fix content, style, and markup 
nits.

Can you reproduce my results above, using my input and command lines?

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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