summaryrefslogtreecommitdiff
path: root/src/utils/hpftodit/hpftodit.man
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/hpftodit/hpftodit.man')
-rw-r--r--src/utils/hpftodit/hpftodit.man202
1 files changed, 167 insertions, 35 deletions
diff --git a/src/utils/hpftodit/hpftodit.man b/src/utils/hpftodit/hpftodit.man
index c069752b..b914db9e 100644
--- a/src/utils/hpftodit/hpftodit.man
+++ b/src/utils/hpftodit/hpftodit.man
@@ -1,3 +1,4 @@
+.tr ~
.ig
Copyright (C) 1994-2000, 2001, 2003 Free Software Foundation, Inc.
@@ -23,12 +24,16 @@ the original English.
.el .TP "\\$1"
..
.TH HPFTODIT @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+.\" --------------------------------------------------------------------------
.SH NAME
+.\" --------------------------------------------------------------------------
hpftodit \- create font description files for use with groff \-Tlj4
+.\" --------------------------------------------------------------------------
.SH SYNOPSIS
+.\" --------------------------------------------------------------------------
.B hpftodit
[
-.B \-sv
+.B \-adqsv
]
[
.BI \-i n
@@ -39,33 +44,53 @@ hpftodit \- create font description files for use with groff \-Tlj4
.PP
It is possible to have whitespace between the
.B \-i
-command line option and its parameter.
+option and its parameter.
+.\" --------------------------------------------------------------------------
.SH DESCRIPTION
+.\" --------------------------------------------------------------------------
.B hpftodit
-creates a font file for use with
-.B
-groff \-Tlj4\fR
-from an HP tagged font metric file.
+creates a font file for use with an HP LaserJet printer with
+.BR "groff \-Tlj4" ,
+using data from an HP tagged font metric (TFM) file.
.I tfm_file
-is the name of the tagged font metric file for the font.
+is the name of the tagged font metric file for the font; Intellifont and
+TrueType TFM files are supported, but symbol set TFM files are not.
.I map_file
-is a file giving the groff names for characters in the font;
-this file should consist of a sequence of lines of the form:
+is a file giving the groff names for characters in the font; this file
+should consist of a sequence of lines of the form:
.IP
.I
-n c1 c2 \fR.\|.\|.
+m u c1 c2 \fR.\|.\|.
.LP
where
-.I n
+.I m
is a decimal integer giving the MSL number of the character,
+.I u
+is a hexadecimal integer giving the Unicode value of the character,
and
.IR c1 ,
.IR c2 ,.\|.\|.
are the groff names of the character.
+The values can be separated by any whitespace; the Unicode value must
+use uppercase digits A\^\(en\^F, and must be without a leading `0x', `u', or
+\&`U+'.
+The name for a glyph without a groff name may be given as
+.RI u XXXX
+if the glyph corresponds to a Unicode value, or as an unnamed glyph
+`\-\^\-\^\-'.
+If the given Unicode value is in the Private Use Area
+(0xE000\^\(en\^0xF8FF), the glyph is included as an unnamed glyph.
+Refer to
+.BR groff_diff (@MAN1EXT@)
+for additional information about unnamed glyphs and how to access them.
+.LP
.I font
is the name of the groff font file.
The groff font file is written to
-.IR font .
+.IR font ;
+if
+.I font
+is specified as `\-', the output is written to the standard output.
.LP
The
.B \-s
@@ -75,7 +100,7 @@ option should be given if the font is special
if
.B troff
should search it whenever
-a character is not found in the current font.)
+a character is not found in the current font).
If the font is special,
it should be listed in the
.B fonts
@@ -93,28 +118,97 @@ a left italic correction and a subscript correction
for each character
(the significance of these parameters is explained in
.BR groff_font (@MAN5EXT@)).
+.LP
+The metrics generated by
+.B hpftodit
+assume that the DESC file contains values of 1200 for res and 6350 for
+unitwidth (or any combination (e.g., 2400 and 3175) for which
+res~\(mu~unitwidth~=~7\|620\|000).
+Although HP PCL 5 LaserJet printers support an internal resolution of
+7200 units per inch, they use a 16-bit signed integer for cursor
+positioning; if
+.B devlj4
+is to support U.S. ledger paper (11\(sd~\(mu~17\(sd), the maximum usable
+resolution is 32\|767~/~17, or 1927, units per inch, which rounds down to
+1200 units per inch.
+If the largest required paper size is less (e.g., 8.5\(sd~\(mu~11\(sd or
+A5), a greater resolution (and lesser unitwidth) can be specified.
+.\" --------------------------------------------------------------------------
.SH OPTIONS
+.\" --------------------------------------------------------------------------
+.TP
+.B \-a
+Include characters in the TFM file that do not have groff names and are
+not included in the map file.
+A glyph with corresponding Unicode value is given the name
+.RI u XXXX ;
+a glyph without a Unicode value is included as an unnamed glyph
+`\-\^\-\^\-'.
+A glyph with a Unicode value in the Private Use Area (0xE000\^\(en\^0xF8FF)
+also is included as an unnamed glyph.
+This option has no effect on Unicode-named or unnamed glyphs that are
+specified in the map file.
+.IP
+This option provides a simple means of adding Unicode-named and unnamed
+glyphs to a font without including them in the map file, but it affords
+little control over which glyphs are placed in a regular font and which
+are placed in a special font.
+Although the presence or absence of the
+.B \-s
+option has some effect on which glyphs are included, it isn't very
+selective\(emmany glyphs are placed in both regular and special fonts.
+.\" --------------------------------------------------------------------------
+.TP
+.B \-d
+Dump information about the TFM file to the standard output; this option
+can be useful for ensuring that a TFM file is a proper match for a font,
+and that the contents of the TFM file are suitable.
+The information includes the values of important TFM tags, and a listing
+(by MSL number for Intellifont TFM files or by Unicode value for
+TrueType TFM files) of the glyphs included in the TFM file.
+The unit of measure `DU' for some tags indicates design units; there are
+8782 design units per em for Intellifont fonts, and 2048 design units
+per em for TrueType fonts.
+Note that the accessibility of a glyph depends on its inclusion in a
+symbol set; some TFM files list many glyphs but only a few symbol sets.
+.IP
+With this option,
+.I map_file
+and
+.I font
+are not required, and are ignored if given.
+.\" --------------------------------------------------------------------------
+.TP
+.B \-q
+Suppress warnings about characters in the map file that were not found
+in the TFM file.
+Warnings never are given for unnamed glyphs or by glyphs named by their
+Unicode values.
+This option is useful when sending the output of
+.B hpftodit
+to the standard output.
+.\" --------------------------------------------------------------------------
.TP
.B \-v
Print the version number.
+.\" --------------------------------------------------------------------------
.TP
.B \-s
The font is special.
-The effect of this option is to add the
+This option adds the
.B special
-command to the font file.
+command to the font file, and affects the HP symbol sets that are
+searched for each glyph.
+.\" --------------------------------------------------------------------------
.TP
.BI \-i n
-Generate an italic correction for each character so that
-the character's width plus the character's italic correction
-is equal to
+Generate an italic correction for each character so that the character's
+width plus the character's italic correction is equal to
.I n
-design units
-plus the amount by which the right edge of the character's bounding
-is to the right of the character's origin.
-If this would result in a negative italic correction, use a zero
-italic correction instead.
-There are 8782 design units per em for Intellifont fonts.
+thousandths of an em plus the amount by which the right edge of the character's
+bounding is to the right of the character's origin.
+If this would result in a negative italic correction, use a zero italic
+correction instead.
.IP
Also generate a subscript correction equal to the
product of the tangent of the slant of the font and
@@ -126,13 +220,15 @@ instead.
Also generate a left italic correction for each character
equal to
.I n
-design units
-plus the amount by which the left edge of the character's bounding box
-is to the left of the character's origin.
+thousandths of an em plus the amount by which the left edge of the
+character's bounding box is to the left of the character's origin.
The left italic correction may be negative.
.IP
-This option is normally needed only with italic (or oblique) fonts.
+This option normally is needed only with italic or oblique fonts;
+a value of 50 (0.05 em) usually is a reasonable choice.
+.\" --------------------------------------------------------------------------
.SH FILES
+.\" --------------------------------------------------------------------------
.Tp \w'\fB@FONTDIR@/devlj4/DESC'u+2n
.B @FONTDIR@/devlj4/DESC
Device description file.
@@ -140,17 +236,53 @@ Device description file.
.BI @FONTDIR@/devlj4/ F
Font description file for font
.IR F .
-.SH BUGS
+.\" --------------------------------------------------------------------------
+.SH LIMITATIONS
+.\" --------------------------------------------------------------------------
+Although
+.B hpftodit
+can read TrueType TFM files, most of the HP-supplied TFM files for
+TrueType fonts support relatively few glyphs and include little, if any,
+kerning information.
+When the HP LaserJet 4 printer was first introduced, most of the
+internal scalable fonts were Agfa Intellifont.
+The TFM files provided for these fonts supported 600+ glyphs and
+contained extensive lists of kern pairs.
+.LP
+All scalable internal fonts on LaserJet printers introduced since
+approximately 1996 have been TrueType.
+With most developers using other means of obtaining font metrics by that
+time, support for new TFM files was very limited.
+The TFM files provided for the TrueType fonts support only the Latin 2
+(ISO 8859-2) symbol set, and include no kerning information;
+consequently, they are of little value for any but the most rudimentary
+documents.
.LP
-This program was written without the benefit of complete, official
-documentation on the tagged font metric format.
-It is therefore likely that it will fail to work on tfm files that are
-dissimilar to those for the internal fonts on the Laserjet 4,
-with which it was tested.
+Because the Intellifont TFM files contain considerably more information,
+they generally are preferable to the TrueType TFM files even for the
+TrueType fonts in the newer printers.
+The metrics for the TrueType fonts are very close, though not identical,
+to those for the earlier Intellifont fonts of the same names.
+Although most output using the Intellifont metrics with the newer
+printers is quite acceptable, a few glyphs may fail to print as expected.
.LP
-TrueType tfm files are not supported.
+At the time HP last supported TFM files, only Version 1 of the Unicode
+standard was available.
+Consequently, many glyphs lacking assigned code points were assigned by
+HP to the Private Use Area (PUA).
+Later versions of the Unicode standard included code points outside the
+PUA for many of these glyphs.
+The HP-supplied TrueType TFM files use the PUA assignments;
+TFM files generated from more recent TrueType font files require the
+later Unicode values to access the same glyphs.
+Consequently, two different mapping files may be required: one for the
+HP-supplied TFM files, and one for more recent TFM files.
+.\" --------------------------------------------------------------------------
.SH "SEE ALSO"
+.\" --------------------------------------------------------------------------
+.ad 0
.BR groff (@MAN1EXT@),
+.BR groff_diff (@MAN1EXT@),
.BR grolj4 (@MAN1EXT@),
.BR groff_font (@MAN5EXT@)
.