Hi Alex, At 2024-04-18T18:00:09+0200, Alejandro Colomar wrote: > Hi, > > I find the following section very opaque. > > Font installation > The following is a step‐by‐step font installation guide for > gropdf. > > • Convert your font to something groff understands. This is a > PostScript Type 1 font in PFA or PFB format, together with an > AFM file. A PFA file begins as follows. > %!PS-AdobeFont-1.0: > A PFB file contains this string as well, preceded by some non‐ > printing bytes. In the following steps, we will consider the > use of CTAN’s BrushScriptX‐Italic font in PFA format. > > This mention of an AFM file is the first mention in the page, and has > no information about it at all.
It's background that experienced users of PostScript Type 1 fonts would be expected to have. This is one of those situations where the oft-repeated principle "man pages are a reference, not a tutorial" frustrates people. As a system, groff cares nothing for PFA, PFB, or AFM files except insofar as it needs to prepare PostScript or PDF output. Here is some foundational material from groff(7). I wrote this shortly before the groff 1.23.0 release. Using fonts In digital typography, a font is a collection of characters in a specific typeface that a device can render as glyphs at a desired size. (Terminals and some typesetters have fonts that render at only one or two sizes. As examples, take the groff lj4 device’s Lineprinter, and lbp’s Courier and Elite faces.) A roff formatter can change typefaces at any point in the text. The basic faces are a set of styles combining upright and slanted shapes with normal and heavy stroke weights: “R”, “I”, “B”, and “BI”—these stand for roman, bold, italic, and bold‐italic. For linguistic text, GNU troff groups typefaces into families containing each of these styles. (Font designers prepare families such that the styles share esthetic properties.) A text font is thus often a family combined with a style, but it need not be: consider the ps and pdf devices’ ZCMI (Zapf Chancery Medium italic)—often, no other style of Zapf Chancery Medium is provided. On typesetters, at least one special font is available, comprising unstyled glyphs for mathematical operators and other purposes. Like the AT&T troff formatter, GNU troff does not itself load or manipulate a digital font file; instead it works with a font description file that characterizes it, including its glyph repertoire and the metrics (dimensions) of each glyph. This information permits the formatter to accurately place glyphs with respect to each other. Before using a font description, the formatter associates it with a mounting position, a place in an ordered list of available typefaces. So that a document need not be strongly coupled to a specific font family, in GNU troff an output device can associate a style in the abstract sense with a mounting position. Thus the default family can be combined with a style dynamically, producing a resolved font name. A user‐ specified font name that combines family and style (or refers to a font that is not a member of a family) is already “resolved”. Fonts often have trademarked names, and even Free Software fonts can require renaming upon modification. groff maintains a convention that a device’s serif font family is given the name T (“Times”), its sans‐serif family H (“Helvetica”), and its monospaced family C (“Courier”). Historical inertia has driven groff’s font identifiers to short uppercase abbreviations of font names, as with TR, TB, TI, TBI, and a special font S. The default family used with abstract styles can be changed at any time; initially, it is T. Typically, abstract styles are arranged in the first four mounting positions in the order shown above. The default mounting position, and therefore style, is always 1 (R). By issuing appropriate formatter instructions, you can override these defaults before your document writes its first glyph. Terminals cannot change font families and lack special fonts. They support style changes by overstriking, or by altering ISO 6429/ ECMA‐48 graphic renditions (character cell attributes). The ft request and \f escape sequence select a typeface by name, abstract style, or mounting position. The fam request and \F escape sequence set the default font family. The ftr request translates one font name to another; fzoom magnifies a resolved one. sty and fp associate abstract styles and font names with mounting positions. Of course if you read that in your terminal emulator, you'll enjoy the benefit of bold and italic faces to set literals and instances of jargon into relief. > Nope. Can you please explain what I need to do to generate a TINOR > file (or TinosR, or whatever it's called; I'm confused by the naming > inconsistency) Font description file names in groff are like file extensions in Unix file names; they can look however you like, but following certain conventions makes things more convenient. I believe this point is covered in the quoted material above. Regards, Branden
signature.asc
Description: PGP signature