Hi onf, At 2025-02-10T18:23:14+0100, onf wrote: > On Mon Feb 10, 2025 at 2:56 PM CET, Tadziu Hoffmann wrote: > > > AT&T troff stores font size in points. This means it > > > converts the argument to .ps from whatever unit it's in > > > (default is points) to basic units and then divides that > > > by the size of 1 point. > > > > Did AT&T troff actually allow the argument to .ps to be > > in anything other than points? The Manual says: > > > > The default scaling is m for the horizontally-oriented > > requests and functions ll, in, ti, ta, lt, po, mc, > > \h, \l, and horizontal coordinates of \D; v for the > > vertically-oriented requests and functions pl, wh, ch, dt, > > sp, sv, ne, rt, \v, \x, \L, and vertical coordinates of > > \D; p for the vs request; and u for the requests nr, if, > > and ie. *All* other requests ignore any scale indicators. > > Speaking of ignoring scale indicators, I wonder why `cs` still > ignores them in groff?
I think for the same reason that they're ignored in the arguments to the `ss` request. These requests (uniquely?) interpret their arguments in bespoke units not used elsewhere. groff(7): .cs f Disable constant‐width glyph spacing mode for font f. .cs f n Enable constant‐width glyph spacing mode for font f at n/36 ems. .cs f n p Enable constant‐width glyph spacing mode for font at n/36 ems, as if one em equals p scaled points. [...] .ss n Set minimum inter‐word space and additional inter‐ sentence space sizes to n 12ths of the selected font’s spacewidth parameter (default: 12). .ss n m As “.ss n”, but set additional inter‐sentence space size to m 12ths of the selected font’s spacewidth parameter. Another reason applicable to `cs` in particular is that, like the `\S` and `\H` escape sequences for applying crude transforms to a font's glyphs, one seldom sees it used. Possibly track kerning `tkf` is thought more appealing for modern digital fonts. groff.info: "Track kerning" expands or reduces the space between glyphs. This can be handy, for example, if you need to squeeze a long word onto a single line or spread some text to fill a narrow column. It must be used with great care since it is usually considered bad typography if the reader notices the effect. -- Request: .tkf f s1 n1 s2 n2 Enable track kerning for font F. If the current font is F the width of every glyph is increased by an amount between N1 and N2 (N1, N2 can be negative); if the current type size is less than or equal to S1 the width is increased by N1; if it is greater than or equal to S2 the width is increased by N2; if the type size is greater than or equal to S1 and less than or equal to S2 the increase in width is a linear function of the type size. The default scaling unit is 'z' for S1 and S2, 'p' for N1 and N2. The track kerning amount is added even to the rightmost glyph in a line; for large values it is thus recommended to increase the line length by the same amount to compensate. Veterans of the typewriter era and those who grew up with early micros with ultra-crude graphic capabilities might recall the use of "constant spacings" larger than 36 36ths of an em for special effects.[1] $ nroff EXPERIMENTS/star-trek-cs.roff S T A R T R E K Do you want instructions? [Y/n] nroff could spare a person some tedious computations. Regards, Branden [1] $ cat EXPERIMENTS/star-trek-cs.roff .cs R 108 .ce 1 STAR TREK .cs R .sp Do you want instructions? [Y/n] .pl \n(nlu
signature.asc
Description: PGP signature