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