On Fri, Jul 04, 2025 at 05:49:01PM -0500, G. Branden Robinson wrote:
> At 2025-07-04T22:30:00+0000, Bjarni Ingi Gislason wrote:
> >   This number appeared in an output line of
> > 
> > cannot break line; overset by 0.0832641i
> > 
> >   Such information is hard to grasp
> > 
> > 1) the used unit (inch) is too big
> 
> Use the `warnscale` request to change it.  You might prefer `c`.
> 
> > 2) the number is too small
> 
> This is a restatement of point 1.
> 
> > 3) the number has too many (irrelevant) digits.
> 
> groff is written in C++.  We don't have a numeric tower including
> rationals.
> 
> > a) the unit should be adequate for expressing a number [0.1 1000[
> 
> "Adequacy" is a contingent upon circumstances, and upon the reader.
> 
> > b) be adequate to draw simple conclusions
> 
> I don't have trouble understanding that "less than one one-hundredth of
> an inch" is an almost negligbly small number.  With sufficient demand we
> could add a feature that suppresses these messages below a certain
> threshold.
> 
> >   I find the best information content of such a number is to show how
> > many letters (characters) are approximately behind it.
> > 
> >   So for me, it is the unit en or em.
> 
> ...which isn't going to work.  If you ever change the type size within
> your document, then the size of an "en" or "em" depends on where on the
> page you are.
> 
> How deeply did you think about this complaint before making it?
> 
> Regards,
> Branden

  Changing some lines in "src/roff/troff/env.cpp":

//                   : fabs(dsd / warn_scale),
                     : fabs((dsd * 2) / curenv->get_requested_point_size()),
//                   in_nroff_mode ? 'n' : warn_scaling_unit);
                     in_nroff_mode ? 'n' : 'n');

  can report the overset with an en unit

Example:

.ll 20n
.ad b
.\".if t .fam C
.ps 12
.ll \w'Text\ to\ test\ wider\ than'u
Text\ to\ test\ wider\ than\ 20m
.br
.ps +2
.ll \w'Text\ to\ test\ wider\ than'u
Text\ to\ test\ wider\ than\ 20m
.br
.ps +2
.ll \w'Text\ to\ test\ wider\ than'u
Text\ to\ test\ wider\ than\ 20m
.br
.ps +2
.ll \w'Text\ to\ test\ wider\ than'u
Text\ to\ test\ wider\ than\ 20m

  This shows for nroff

troff:prof.overset:6: warning [page 1, line 1]: cannot adjust line; overset by 
4n
troff:prof.overset:10: warning [page 1, line 2]: cannot adjust line; overset by 
4n
troff:prof.overset:14: warning [page 1, line 3]: cannot adjust line; overset by 
4n
troff:prof.overset:18: warning [page 1, line 4]: cannot adjust line; overset by 
4n

  and for groff

troff:prof.overset:6: warning: [page 1, 0.0i]: cannot adjust line; overset by 
4.056n
troff:prof.overset:10: warning: [page 1, 0.2i]: cannot adjust line; overset by 
4.056n
troff:prof.overset:14: warning: [page 1, 0.3i]: cannot adjust line; overset by 
4.056n
troff:prof.overset:18: warning: [page 1, 0.5i]: cannot adjust line; overset by 
4.056n


Reply via email to