Hi Mychaela, *My feeling is that the task would require hiring a professional typeface > designer*
I'm a professional graphic designer with access to commercial typeface authoring software. Send me the highest-quality and most comprehensive scans of a C/A/T-printed document, and I'll get to work. *John Gardner wrote yet another [cat2dit] but it's in JavaScript so not > maximally convenient for a Unix command line grognard.* Thanks for reminding me, Branden. :) I've yet to get V7 Unix working with the latest release of SimH, so that's kind of stalled my ability to develop something in K&R-friendly C. I'm still up for this, assuming you've not already started. The JavaScript utility was just a Q&D script added to an already rushed project (Roff.js), and I"m certainly not counting on it being palatable to anybody. — John On Tue, 9 Jan 2024 at 00:08, Mychaela Falconia <fal...@freecalypso.org> wrote: > G. Branden Robinson <g.branden.robin...@gmail.com> wrote: > > > This sort of broad, nonspecific, reflexive derogation of groff (or GNU > > generally) is unproductive and frequently indicative of ignorance. > > I don't have enough spoons to engage in political fights any more, so > I'll just focus on technical aspects. > > > The C/A/T's fonts did not even exist in the digital domain. They were > > produced from photographic plates. Their reproduction is consequently > > something of a pickle. > > I am very keenly aware of this fact! > > > But if you are going for pixel-perfect reproduction of documents that > > used fonts you don't have, you're going to need to recreate the fonts > > somehow--perfectly (at least for the glyphs that a given document uses). > > The problem you are describing is one which I am *not* actively working > on presently. I am _contemplating_ this problem, but not actively > working on it. In my current stage of 4.3BSD document set reprinting, > I am willing to accept that hyphenations, line breaks and page breaks > will be different from the original because of slightly different font > metrics, and accept the use of only fi and fl ligatures (in running > text, outside of explicit demonstrations) because Adobe's version > dropped ff, ffi and ffl. (In places where original troff docs > explicitly demonstrate the use of all 5 ligatures, I have a hack that > pulls the missing ligs from a different, not-really-matching font.) > > I am willing to accept this imperfection because it is fundamentally > no different from what UCB/Usenix themselves did in 1986: they took > Bell Labs docs that were originally written for CAT and troffed them > on their APS-5 ditroff setup - but those two typesetters also had > slight diffs in their font metrics, causing line and page breaks to > move around! > > OTOH I am very willing to entertain, as an intellectual exercise, what > would it take to produce a new font set that would *truly* replicate > the CAT font set at Bell Labs. The spacing widths of the original > fonts (the key determinant of where breaks will land) are known, right > here: > > https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/troff/tab3.c > > Back in 2004 in one afternoon I threw together a quick-hack program > that takes the output of original troff (CAT binary codes) and prints > it in PostScript, using standard Adobe fonts. The character > positioning is that of original troff, but because the actual font > characters don't perfectly match these metrics, the result is not > pretty - but the non-pretty result does show *exactly* where every > line and page break lands per original intent! > > So what would it take to do such a re-creation properly? My feeling > is that the task would require hiring a professional typeface designer > to produce a modified version of Times font family: modify the fonts > to produce good visual results (change actual characters as needed) to > fit the prescribed, unchangeable metrics as in spacing widths. And > design all 5 f-ligatures while at it. > > I have no slightest idea how much it would cost to hire a professional > typeface designer to do what I just described, hence I have no idea > whether or not it is something that the hobbyist community could > potentially afford, even collectively. But it is an interesting idea > to ponder nonetheless - which is where I leave it for now. > > > There is a third problem, whose resolution is in progress, when > > producing PDF output from this document; slanted Greek symbols are > > present but "not quite right". This is because unlike PostScript, PDF > > font repertoires generally don't provide a "slanted symbol" face. > > Can you please elaborate? I personally hate PDF with a passion, but I > concede that in order to make my documents readable by people other > than me, I have to rcp my .ps file from the 4.3BSD machine to a > semi-modern-ish (Slackware) Linux box and run ps2pdf on the file. > But what "slanted symbol" font are you talking about that exists in > PostScript but not in PDF? The only PostScript fonts whose existence > I take as a given (as opposed to downloading the font explicitly) are > the standard 14: 4 Times family fonts, 4 Helvetica family fonts, 4 > Courier family fonts, Symbol and ZapfDingbats. Which of these 14 is > missing in PDF, and how does "standard" ps2pdf (Ghostscript) handle it? > > > Like AT&T troff, groff attempts to be a practical typesetting system. > > I wrote *my* version of troff with exact same goals, and I've been > using it as my personal everyday TPS report formatter for the past 20 y. > It's just that for deeply personal reasons which I would rather not go > into on this list, I chose to develop my own tool instead of using one > that bears GNU branding. I also wanted my troff to run under 4.3BSD, > using only K&R C, which I reason would probably be impossible with > groff. (I recall reading somewhere that groff is written in C++ - so > it is completely out of consideration for something that needs to run > under 4.3BSD.) > > > But there is room in the world for such things, particularly if they are > > Free Software. I was unable to determine that qjtroff is, except for a > > few portions retaining UC Regents' copyright notices from the 1980s,[3] > > My software is written BY a pirate (me) FOR other pirates. If you are > not a pirate, my sw is not for you. > > M~ > >