diff options
Diffstat (limited to 'gnu/usr.bin/groff/man/groff_font.5_in')
-rw-r--r-- | gnu/usr.bin/groff/man/groff_font.5_in | 368 |
1 files changed, 368 insertions, 0 deletions
diff --git a/gnu/usr.bin/groff/man/groff_font.5_in b/gnu/usr.bin/groff/man/groff_font.5_in new file mode 100644 index 00000000000..97b6480274b --- /dev/null +++ b/gnu/usr.bin/groff/man/groff_font.5_in @@ -0,0 +1,368 @@ +.ig \"-*- nroff -*- +Copyright (C) 1989-1995 Free Software Foundation, Inc. + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that this permission notice may be included in +translations approved by the Free Software Foundation instead of in +the original English. +.. +.de TQ +.br +.ns +.TP \\$1 +.. +.\" Like TP, but if specified indent is more than half +.\" the current line-length - indent, use the default indent. +.de Tp +.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP +.el .TP "\\$1" +.. +.TH GROFF_FONT @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@" +.SH NAME +groff_font \- format of groff device and font description files +.SH DESCRIPTION +The groff font format is roughly a superset of the ditroff +font format. +Unlike the ditroff font format, there is no associated binary +format. +The font files for device +.I name +are stored in a directory +.BI dev name. +There are two types of file: a +device description file called +.B DESC +and for each font +.I F +a font file called +.IR F . +These are text files; +there is no associated binary format. +.SS DESC file format +The DESC file can contain the following types of line: +.TP +.BI res\ n +There are +.I n +machine units per inch. +.TP +.BI hor\ n +The horizontal resolution is +.I n +machine units. +.TP +.BI vert\ n +The vertical resolution is +.I n +machine units. +.TP +.BI sizescale\ n +The scale factor for pointsizes. +By default this has a value of 1. +One +.I +scaled point +is equal to +one +.RI point/ n . +The arguments to the +.B unitwidth +and +.B sizes +commands are given in scaled points. +.TP +.BI unitwidth\ n +Quantities in the font files are given in machine units +for fonts whose point size is +.I n +scaled points. +.TP +.B tcommand +This means that the postprocessor can handle the +.B t +and +.B u +output commands. +.TP +.BI sizes\ s1\ s2\|.\|.\|.\|sn\ 0 +This means that the device has fonts at +.IR s1 , +.IR s2 ,\|.\|.\|.\| sn +scaled points. +The list of sizes must be terminated by a +.BR 0 . +Each +.BI s i +can also be a range of sizes +.IR m \- n . +The list can extend over more than one line. +.TP +.BI styles\ S1\ S2\|.\|.\|.\|Sm +The first +.I m +font positions will be associated with styles +.IR S1\|.\|.\|.\|Sm . +.TP +.BI fonts\ n\ F1\ F2\ F3\|.\|.\|.\|Fn +Fonts +.I F1\|.\|.\|.\|Fn +will be mounted in the font positions +.IR m +1,\|.\|.\|., m + n +where +.I m +is the number of styles. +This command may extend over more than one line. +A font name of +.B 0 +will cause no font to be mounted on the corresponding font position. +.TP +.BI family\ fam +The default font family is +.IR fam . +.TP +.B charset +This line and everything following in the file are ignored. +It is allowed for the sake of backwards compatibility. +.LP +The res, unitwidth, fonts and sizes lines are compulsory. +Other commands are ignored by +.B troff +but may be used by postprocessors to store arbitrary information +about the device in the DESC file. +.SS Font file format +A font file has two sections. The first section is a sequence +of lines each containing a sequence of blank delimited +words; the first word in the line is a key, and subsequent +words give a value for that key. +.TP +.BI name\ F +The name of the font is +.IR F . +.TP +.BI spacewidth\ n +The normal width of a space is +.IR n . +.TP +.BI slant\ n +The characters of the font have a slant of +.I n +degrees. (Positive means forward.) +.TP +.BI ligatures\ lig1\ lig2\|.\|.\|.\|lign\ \fR[ 0 \fR] +Characters +.IR lig1 , +.IR lig2 ,\|.\|.\|., lign +are ligatures; possible ligatures are +.BR ff , +.BR fi , +.BR fl +and +.BR ffl . +For backwards compatibility, the list of ligatures may be terminated +with a +.BR 0. +The list of ligatures may not extend over more than one line. +.TP +.B special +The font is +.IR special ; +this means that when a character is requested that is not present in +the current font, it will be searched for in any special fonts that +are mounted. +.LP +Other commands are ignored by +.B troff +but may be used by postprocessors to store arbitrary information +about the font in the font file. +.LP +The first section can contain comments which start with the +.B # +character and extend to the end of a line. +.LP +The second section contains one or two subsections. +It must contain a +.I charset +subsection +and it may also contain a +.I kernpairs +subsection. +These subsections can appear in any order. +Each subsection starts with a word on a line by itself. +.LP +The word +.B charset +starts the charset subsection. +The +.B charset +line is followed by a sequence of lines. +Each line gives information for one character. +A line comprises a number of fields separated +by blanks or tabs. The format is +.IP +.I +name metrics type code comment +.LP +.I name +identifies the character: +if +.I name +is a single character +.I c +then it corresponds to the groff input character +.IR c ; +if it is of the form +.BI \e c +where c is a single character, then it +corresponds to the groff input character +.BI \e c\fR; +otherwise it corresponds to the groff input character +.BI \e[ name ] +(if it is exactly two characters +.I xx +it can be entered as +.BI \e( xx\fR.) +Groff supports eight bit characters; however some utilities +has difficulties with eight bit characters. +For this reason, there is a convention that the name +.BI char n +is equivalent to the single character whose code is +.I n . +For example, +.B char163 +would be equivalent to the character with code 163 +which is the pounds sterling sign in ISO Latin-1. +The name +.B \-\-\- +is special and indicates that the character is unnamed; +such characters can only be used by means of the +.B \eN +escape sequence in +.BR troff . +.LP +The +.I type +field gives the character type: +.TP +1 +means the character has an descender, for example, p; +.TP +2 +means the character has an ascender, for example, b; +.TP +3 +means the character has both an ascender and a descender, for example, +(. +.LP +The +.I code +field gives the code which the postprocessor uses to print the character. +The character can also be input to groff using this code by means of the +.B \eN +escape sequence. +The code can be any integer. +If it starts with a +.B 0 +it will be interpreted as octal; +if it starts with +.B 0x +or +.B 0X +it will be intepreted as hexadecimal. +.LP +Anything on the line after the code field will be ignored. +.LP +The +.I metrics +field has the form: +.IP +.IR width [\fB, height [\fB, depth [\fB, italic_correction [\fB, \ +left_italic_correction [\fB, subscript_correction ]]]]] +.LP +There must not be any spaces between these subfields. +Missing subfields are assumed to be 0. +The subfields are all decimal integers. +Since there is no associated binary format, these +values are not required to fit into a variable of type +.B char +as they are in ditroff. +The +.I width +subfields gives the width of the character. +The +.I height +subfield gives the height of the character (upwards is positive); +if a character does not extend above the baseline, it should be +given a zero height, rather than a negative height. +The +.I depth +subfield gives the depth of the character, that is, the distance +below the lowest point below the baseline to which the +character extends (downwards is positive); +if a character does not extend below above the baseline, it should be +given a zero depth, rather than a negative depth. +The +.I italic_correction +subfield gives the amount of space that should be added after the +character when it is immediately to be followed by a character +from a roman font. +The +.I left_italic_correction +subfield gives the amount of space that should be added before the +character when it is immediately to be preceded by a character +from a roman font. +The +.I subscript_correction +gives the amount of space that should be added after a character +before adding a subscript. +This should be less than the italic correction. +.LP +A line in the charset section can also have the format +.IP +.I +name \fB" +.LP +This indicates that +.I name +is just another name for the character mentioned in the +preceding line. +.LP +The word +.B kernpairs +starts the kernpairs section. +This contains a sequence of lines of the form: +.IP +.I +c1 c2 n +.LP +This means that when character +.I c1 +appears next to character +.I c2 +the space between them should be increased by +.IR n . +Most entries in kernpairs section will have a negative value for +.IR n . +.SH FILES +.Tp \w'@FONTDIR@/devname/DESC'u+3n +.BI @FONTDIR@/dev name /DESC +Device description file for device +.IR name . +.TP +.BI @FONTDIR@/dev name / F +Font file for font +.I F +of device +.IR name . +.SH "SEE ALSO" +.BR groff_out (@MAN5EXT@), +.BR @g@troff (@MAN1EXT@). |