diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-26 16:38:00 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-26 16:38:00 -0400 |
| commit | 97d5c458cfa039d857301e1ca7d5af3beb37131d (patch) | |
| tree | b460cd850d0537eb71806ba30358840377b27688 /static/v10/man5/font.5 | |
| parent | b89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff) | |
build: Better Build System
Diffstat (limited to 'static/v10/man5/font.5')
| -rw-r--r-- | static/v10/man5/font.5 | 413 |
1 files changed, 0 insertions, 413 deletions
diff --git a/static/v10/man5/font.5 b/static/v10/man5/font.5 deleted file mode 100644 index 39d4c7a3..00000000 --- a/static/v10/man5/font.5 +++ /dev/null @@ -1,413 +0,0 @@ -.TH FONT 5 -.CT 1 writing_output -.SH NAME -font \- description files for troff -.SH DESCRIPTION -Directories -.BI /usr/lib/font/dev dest -describe typesetters, -where -.I dest -is as in the -.B -T -option of -.IR troff (1). -Such directories contain files named as in FILES below. -.PP -Lines of a typesetter description in file -.F DESC -have the following forms. -.TF paperlength\ n -.TP -.BI res " n -Resolution of device is -.I n -basic units per inch. -.PD0 -.TP -.BI hor " n -Horizontal motion occurs in increments of -.I n -units. -.TP -.BI vert " n -Vertical motion occurs in increments of -.I n -units. -.TP -.BI unitwidth " n -Widths are given for pointsize -.I n. -.TP -.BI sizescale " n -Scaling for fractional pointsizes, not used. -.TP -.BI paperwidth " n -Width of paper is -.I n -units. -.TP -.BI paperlength " n -Length of paper is -.I n -units. -.TP -.BI biggestfont " n -Maximum number of characters in a font is -.I n. -.TP -.BI sizes " n n n ... " 0 -Pointsizes -.I "n ... -are available. -.TP -.BI fonts " n name ... -Number of initial fonts followed by their names, -for example -.br -.L -fonts 4 R I B S -.TP -.B charset -This line comes last, followed by -a list of special character names for -the device, separated by spaces or newlines, as -.BR bu -for -.BR \e(bu -.PD -.PP -Lines of a font description file have the following forms. -.TF paperlength\ n -.TP -.BI name " name -name of the font, -such as -.B R -or -.B CW -.PD 0 -.TP -.BI internalname " name -The typesetter's name for the font, independent of the -.I troff -name or font position. -.TP -.B special -A -.I troff -special font, logically part of all non-special fonts. -.TP -.BI ligatures " name ... " 0 -The named ligatures are available. -Legal names are -.BR "ff fi fl ffi ffl" . -.TP -.BI spacewidth " n -Space is -.I n -units wide (default 1/3 of an em). -.TP -.B charset -Must come last. -Each line following -.B charset -describes one character thus: -.PD -.IP -.I "name width height code -.IP -.I Name -is either a single ASCII character or a special character listed in -.FR DESC . -.I Width -is in basic units. -.I Height -is 1 if the character descends below -the baseline, -2 if it rises above the letter `a', -3 if it both rises and -descends, 0 for neither. -.I Code -is the number sent to the typesetter to produce the character. -If a character name is a synonym for the preceding one, -its width, height, and code may be replaced by one double quote -\fL"\fR. -.PP -Lines beginning with -.B # -are comments in both -.B DESC -and font description files. -.PP -.I Troff -and its postprocessors use the binary versions as compiled by -a program -.I makedev. -.ig -.PP -The file -.I DESC.out -starts with the -.I dev -structure, -defined by -.IR dev.h : -.CW -.ta0.6i 1.8i - /* -dev.h: characteristics of a typesetter -* / - -\s-1struct dev { -unsigned short\ filesize;\ \ /* number of bytes in file, */ -\0\0 \0\0\0\0\0 /* excluding dev part */ -short res; /* basic resolution in goobies/inch */ -short hor; /* goobies horizontally */ -short vert; -short unitwidth; /* size at which widths are given*/ -short nfonts;\0 /* number fonts physically available */ -short nsizes;\0 /* number of pointsizes */ -short sizescale; /* scaling for fractional pointsizes */ -short paperwidth; /* max line length in units */ -short paperlength; /* max paper length in units */ -short nchtab;\0 /* number of funny names in chtab */ -short lchname; /* length of chname table */ -short biggestfont; /* max # of chars in a font */ -short spare; /* in case of expansion */\f1 -}; -.CE -.IR filesize -is just the size of everything in -.I DESC.out -excluding the -.I dev -structure. -.I nfonts -is the number of different font positions available. -.I nsizes -is the number of different pointsizes supported by this typesetter. -.I nchtab -is the number of special character names. -.I lchname -is the total number of characters, -including nulls, -needed to list all -the special character names. -At the end of the structure is one spare for later expansions. -.PP -Immediately following the -.I dev -structure are a number of tables. -First is the -.I sizes -table, -which contains -.I nsizes -+ 1 shorts(a null at the end), -describing the pointsizes of text -available on this device. -The second table is the -.IR funny_char_index_table . -It contains indexes into the table that follows it, -the -.IR funny_char_strings . -The indexes point to the beginning of each special character name -that is stored in the -.I funny_char_strings -table. -The -.I funny_char_strings -table is -.I lchname -characters long, -while the -.I funny_char_index_table -is -.I nchtab -shorts long. -.PP -Following the -.I dev -structure will occur -.I nfonts -.I {font}.out -files, -which are used to initialize the font positions. -These -.I {font}.out -files, -which also exist as separate files, -begin with a -.I Font -structure and then are followed by four character arrays: -.CW -\s-1struct Font { /* characteristics of a font */ -char nwfont; /* number of width entries */ -char specfont; /* 1 == special font */ -char ligfont; /* 1 == ligatures exist on this font */ -char namefont[10]; /* name of this font, e.g., R */ -char intname[10]; /* internal name of font, in ASCII */ -}\s+1; -.CE -The -.I Font -structure tells how many defined characters there are in -the font, whether the font is a "special" font and if it contains -ligatures. -It also has the ASCII name of the font, -which should -match the name of the file it appears in, -and the internal -name of the font on the typesetting device -.RI ( intname ). -The internal name is -independent of the font position and name that -.B troff -knows about. -For -example, you might say mount R in position 4, -but when asking -the typesetter to actually produce a character from the R -font, -the postprocessor which instructs the typesetter would -use -.IR intname . -.PP -The first three character arrays are specific for the font and run -in parallel. -The first array, -.IR widths , -contains the width of each character -relative to -.IR unitwidth . -.I unitwidth -is defined in -.IR DESC . -The second array, -.IR height , -contains height information. -If a character rises -above the letter 'a', -02 is set. -If it descends below the line, -01 is set. -The third array, -.IR codes , -contains the code that is sent to -the typesetter to produce the character. -.PP -The fourth array is defined by the device description in -.IR DESC . -It is the -.IR font_index_table . -This table contains indexes into the -.IR width , -.IR height , -and -.I code -tables for each character. -The order that characters appear in these three -tables is arbitrary and changes from one font to the next. -In order for -.B troff -to be able to translate from ASCII and the special character names to these -arbitrary tables, -the -.I font_index_table -is created with an order that is constant for each device. -The number of entries in this table is 96 plus the number of special -character names for this device. -The value -96 is -128 - 32, -the number of printable characters in the -ASCII alphabet. -To determine whether a normal ASCII character exists, -.B troff -takes the ASCII value of the character, -subtracts 32, -and looks in the -.IR font_index_table . -If it finds a 0, -the character is not defined in this font. -If it -finds anything else, -that is the index into -.IR widths , -.IR height , -and -.I codes -that describe that character. -.PP -To look up a special character name, -for example -.BR \e(pl , -the mathematical plus sign, -and determine whether it appears -in a particular font or not, -the following procedure is followed. -A -.I counter -is set to 0 and an index to a special character name -is picked out of the -.I counter'th -position in the -.IR funny_char_index_table . -A string comparison is performed between -.I funny_char_strings [ funny_char_index_table -.I [ counter ] ] -and the special character name, -in -our example -.BR pl , -and if it matches, -then -.B troff -refers to this character as (96 + -.IR counter ). -When it wants to -determine whether a specific font supports this character, -it -looks in -.IR font_index_table "[96 + " counter ]. -.PP -The 0th element of the -.I width -array defines the width of a space. -If that element is 0, the width of -a space is taken to be 1/3 the width of the -.LR \e(em -character. -.. -.SH FILES -.TF /usr/lib/font/dev* -.TP -.F /usr/lib/font/dev* -typesetter description directory -.TP -.F DESC -typesetter description (ASCII) -.TP -.F DESC.out -typesetter description (binary); created by -.I makedev -.TP -.I font -description of the named -.I font -(ASCII) -.TP -.IB font .out -description of the named -.I font -(binary); created by -.I makedev -.TP -.F /n/bowell/usr/src/cmd/troff/makedev -.SH "SEE ALSO" -.IR troff (1) -.br -B. W. Kernighan, -`A Typesetter-Independent Troff', -this manual, Volume 2 |
