summaryrefslogtreecommitdiff
path: root/Build/source/utils/lcdf-typetools/otftotfm/otftotfm.1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/lcdf-typetools/otftotfm/otftotfm.1')
-rw-r--r--Build/source/utils/lcdf-typetools/otftotfm/otftotfm.11473
1 files changed, 1473 insertions, 0 deletions
diff --git a/Build/source/utils/lcdf-typetools/otftotfm/otftotfm.1 b/Build/source/utils/lcdf-typetools/otftotfm/otftotfm.1
new file mode 100644
index 00000000000..a5450d3e290
--- /dev/null
+++ b/Build/source/utils/lcdf-typetools/otftotfm/otftotfm.1
@@ -0,0 +1,1473 @@
+'\"t
+.ds V 2.34
+.de M
+.BR "\\$1" "(\\$2)\\$3"
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.de BUP
+.IP \(bu 3n
+..
+.TH OTFTOTFM 1 "LCDF Typetools" "Version \*V"
+.SH NAME
+otftotfm \- create TeX font metrics from PostScript OpenType fonts
+.SH SYNOPSIS
+.B otftotfm
+\%[\fB\-a\fR]
+\%[\fBoptions\fR]
+\%\fIfontfile\fR.otf [\fItexname\fR]
+'
+.SH DESCRIPTION
+.BR Otftotfm
+creates the font metric and encoding files required to use an OpenType font
+with TeX. You supply an OpenType ".otf" font file, a base ".enc" encoding,
+and a TeX name "\fItexname\fR" for the resulting font, and say which
+OpenType features should be turned on. Then
+.B otftotfm
+generates and installs the corresponding TeX-related metric files
+(".tfm" TeX font metrics, ".vf" virtual fonts, and ".enc"
+encoding files). It only works on PostScript-flavored OpenType fonts.
+.LP
+The easiest way to use
+.B otftotfm
+is with the
+.B \-a
+option; see Automatic Mode below. Without
+.BR \-a ,
+.B otftotfm
+writes all its output files to the current directory.
+.LP
+After running "\fBotftotfm\fR \fIfontfile\fR.otf \fItexname\fR" and
+installing the results (manually or with
+.BR \-a ),
+you can use the OpenType font in plain TeX with a command like this:
+.Sp
+.nf
+ \efont\emyfont=\fItexname\fR at 10pt
+ {\emyfont This text uses the OpenType font.}
+.fi
+.Sp
+LaTeX users will generally make a ".fd" input file so that commands like
+"\erenewcommand{\ermdefault}{TeXName}" work correctly. See the EXAMPLE
+section for more; check the DIAGNOSTICS and FREQUENTLY ASKED QUESTIONS
+sections if you have trouble.
+'
+.SS "OpenType Features"
+.LP
+OpenType fonts support optional
+.I features
+that change their appearance. Use the
+.B \-f
+option to turn on selected features. For example, "\fB\-f\fRsmcp" replaces
+lower-case letters with the corresponding small capitals, in fonts that
+support this.
+'
+.PP
+You'll generally provide at least the "\fB\-f\fRkern" and "\fB\-f\fRliga"
+options, which activate pair kerns and f-ligatures. Other interesting
+features include "\fB\-f\fRcpsp", for capital spacing; "\fB\-f\fRdlig", for
+optional ligatures; "\fB\-f\fRlnum", "\fB\-f\fRonum", "\fB\-f\fRpnum", and
+"\fB\-f\fRtnum", to control digit glyphs; "\fB\-f\fRsmcp", for small
+capitals; "\fB\-f\fRswsh", for swash variants; and "\fB\-f\fRcswh", for
+contextual swash. See the FEATURE DIRECTORY section below for more. The
+.M otfinfo 1
+program will report which features a font supports; run "\fBotfinfo\fR
+\fB\-f\fR \fIfontfile\fR.otf".
+'
+.PP
+Feature options can also apply a feature to a subset of characters in the
+font. For example, "\fB\-\-lf\fR smcp"
+.I only
+replaces letters with small capitals, whereas "\fB\-f\fRsmcp" might
+additionally replace digits and punctuation marks with small-capital
+versions.
+'
+.SS Automatic Mode
+.PP
+Automatic mode, triggered by the
+.BR \-a / \-\-automatic
+option, installs font metrics and encoding files where TeX can find them,
+and additionally installs a Type 1 font and mapping for
+.M dvips 1 .
+This requires a TeX installation that follows the TeX Directory Structure
+standard (http://www.tug.org/tds/), such as most Unix TeX installations.
+'
+.PP
+Automatic mode should run seamlessly out of the box.
+.B Otftotfm
+will install metrics files, encodings, map files, and Type\~1 fonts into
+.I $HOME/.texmf-var
+or any other writable TEXMF directory, and run
+.M updmap 1
+to update the global lists of installed fonts. (On older teTeX
+installations, you may first need to copy the system's
+.I updmap.cfg
+file to
+.I $HOME/texmf/web2c
+and run
+.M mktexlsr 1 .)
+You can then run "\fBotftotfm\fR
+.B \-a
+.IR file .otf
+.IR texname \&"
+and immediately refer to the font in TeX using the
+.I texname
+you supplied. Again, you will have to write ".fd" files and/or typescripts
+to make the font conveniently accessible from LaTeX or ConTeXt. See the
+DIAGNOSTICS section if you have problems with these instructions.
+'
+.PP
+In automatic mode,
+.B otftotfm
+searches your $TEXMFVAR or $TEXMF path for a writable directory, then
+installs files under that directory tree as follows:
+'
+.TS
+l l l .
+\fBFile type\fR \fBDirectory\fR \fBFilename\fR
+TFM TEXMF/fonts/tfm/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[--base].tfm
+VF TEXMF/fonts/vf/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vf
+PL TEXMF/fonts/pl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR[--base].pl
+VPL TEXMF/fonts/vpl/\fIvendor\fR/\fItypeface\fR/ \fItexname\fR.vpl
+encoding TEXMF/fonts/enc/dvips/\fIvendor\fR/ a_\fIsignature\fR.enc
+ or TEXMF/dvips/\fIvendor\fR/
+PFB font TEXMF/fonts/type1/\fIvendor\fR/\fItypeface\fR/ \fIPStexname\fR.pfb
+font map TEXMF/fonts/map/dvips/\fIvendor\fR/ \fIvendor\fR.map
+ or TEXMF/dvips/\fIvendor\fR/
+.TE
+.PP
+"TEXMF" stands for the writable TEXMF directory. \fITexname\fR is the
+font name supplied as
+.BR otftotfm 's
+second argument, and \fIPStexname\fR is the PostScript name of the input
+font. The \fIvendor\fR and \fItypeface\fR strings are required by TDS;
+they default to "lcdftools" and the font's family name, respectively, but
+see the
+.B \-\-vendor
+and
+.B \-\-typeface
+options. \fISignature\fR is an opaque 6-character encoding signature.
+.PP
+You can override these directories with environment variables and options
+as follows. Options take precedence over environment variables.
+'
+.TS
+l l l .
+\fBFile type\fR \fBEnvironment variable\fR \fBOption\fR
+TFM TFMDESTDIR \-\-tfm\-directory
+VF VFDESTDIR \-\-vf\-directory
+PL PLDESTDIR \-\-pl\-directory
+VPL VPLDESTDIR \-\-vpl\-directory
+encoding ENCODINGDESTDIR \-\-encoding\-directory
+PFB font T1DESTDIR \-\-type1\-directory
+font map \- \-\-map\-file
+.TE
+.PP
+.B Otftotfm
+will update the
+.I TEXMF/ls-R
+file when installing files under TEXMF. It will also run the
+.M updmap 1
+program after changing a map file, unless the
+.B \-\-no\-updmap
+option was supplied. However, if an executable file called
+.IR TEXMF/dvips/updmap
+exists, this file is executed (from the
+.I TEXMF/dvips
+directory) rather than the global
+.BR updmap .
+This is so you can write a fast, customized version of
+.B updmap
+if desired.
+'
+.SH EXAMPLE
+This section uses MinionPro to show one way to install OpenType fonts for
+LaTeX. We begin with six fonts: "MinionPro-Regular.otf",
+"MinionPro-It.otf", "MinionPro-Semibold.otf", "MinionPro-SemiboldIt.otf",
+"MinionPro-Bold.otf", and "MinionPro-BoldIt.otf".
+.PP
+Our first task is to decide how to encode the fonts. The "encoding scheme"
+is used by TeX to decide how to typeset accents and symbols like "$". The
+"LY1" encoding scheme is a good choice for many OpenType fonts; it
+corresponds to the "texnansx.enc" encoding file, so we will supply
+.B otftotfm
+with the "\fB\-e\fR texnansx" option.
+.PP
+Next, we decide on a naming scheme for the font metric files. Let's use
+the OpenType font names as a base. (There's generally no need to follow
+the six-character "Karl Berry" naming scheme.) Just in case we come back
+later and add a different encoding scheme, we'll prepend "LY1--" to each
+name.
+.PP
+We're now ready to run
+.B otftotfm
+for the first set of fonts. Note the "\fB\-f\fRkern \fB\-f\fRliga"
+options, which access pair kerns and the default "f" ligatures.
+.Sp
+.nf
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Regular.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Regular
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-It.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-It
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Semibold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Semibold
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-SemiboldIt.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-SemiboldIt
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Bold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-Bold
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-BoldIt.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga LY1--MinionPro-BoldIt
+.fi
+.Sp
+The small-caps fonts are generated with an additional "\fB\-f\fRsmcp"
+option. We append "--fsmcp" to the font metric names as well,
+differentiating them from the regular fonts. Although MinionPro's italic
+fonts support small-caps, the LaTeX font selection scheme can't access them
+easily, so we've left them off.
+.Sp
+.nf
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Regular.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Regular--fsmcp
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Semibold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Semibold--fsmcp
+ \fBotftotfm\fR \fB\-a\fR \fB\-e\fR texnansx MinionPro-Bold.otf \e
+ \fB\-f\fRkern \fB\-f\fRliga \fB\-f\fRsmcp LY1--MinionPro-Bold--fsmcp
+.fi
+.Sp
+To get old-style numerals, just add the "\fB\-f\fRonum" option to each
+invocation -- and, to reduce confusion, append "--fonum" to the font metric
+names.
+.PP
+At this point, all our font metric files are installed, and it's finally
+time to create the ".fd" file. (The ".fd" format is documented in
+.IR "The LaTeX Companion" .)
+Let's call the LaTeX font family "MinionPro". Then the ".fd" file is
+"LY1MinionPro.fd", and it contains:
+.Sp
+.nf
+ \eDeclareFontFamily{LY1}{MinionPro}{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{n}%
+ { <\-> LY1--MinionPro-Regular }{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{it}{ <\-> LY1--MinionPro-It }{}
+ \eDeclareFontShape{LY1}{MinionPro}{m}{sc}%
+ { <\-> LY1--MinionPro-Regular--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{n}%
+ { <\-> LY1--MinionPro-Semibold }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{it}%
+ { <\-> LY1--MinionPro-SemiboldIt }{}
+ \eDeclareFontShape{LY1}{MinionPro}{sb}{sc}%
+ { <\-> LY1--MinionPro-Semibold--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{n}{ <\-> LY1--MinionPro-Bold }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{it}%
+ { <\-> LY1--MinionPro-BoldIt }{}
+ \eDeclareFontShape{LY1}{MinionPro}{b}{sc}%
+ { <\-> LY1--MinionPro-Bold--fsmcp }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{n}%
+ { <\-> ssub * MinionPro/b/n }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{it}%
+ { <\-> ssub * MinionPro/b/it }{}
+ \eDeclareFontShape{LY1}{MinionPro}{bx}{sc}%
+ { <\-> ssub * MinionPro/b/sc }{}
+.fi
+.PP
+We're now ready to use MinionPro in LaTeX, with lines like this in the
+document preamble:
+.Sp
+.nf
+ \eusepackage[LY1]{fontenc}
+ \erenewcommand{\ermdefault}{MinionPro}
+ \erenewcommand{\ebfdefault}{b}
+.fi
+.PP
+Of course, we're free at any time to add more MinionPro variants with
+.BR otftotfm ;
+they'll become accessible to LaTeX as soon as we edit the "MinionPro.fd"
+file.
+'
+.SH OPTIONS
+With long options, you need type only as many characters as will make the
+option unique.
+.SS Font Feature and Transformation Options
+.PD 0
+.TP 5
+.BI \-s " script\fR[.\fIlang\fR], " \-\-script= "script\fR[.\fIlang\fR]"
+Apply features suitable to the script system
+.I script
+and language system
+.IR lang .
+Scripts and language systems are two-to-four-letter names assigned by
+Microsoft and Adobe. Examples include "latn" (Latin script), "grek" (Greek
+script), and "yi.YIC" (Yi script with classic characters). If
+.I lang
+is not specified,
+.B otftotfm
+will use the default language system for that
+script. You can give this option multiple times. Run "\fBotfinfo\fR
+\-s \fIfont\fR" to see the list of scripts and languages a
+font supports. Defaults to "latn".
+'
+.Sp
+.TP 5
+.BI \-f " feature\fR, " \-\-feature= "feature"
+Activate the feature named
+.IR feature .
+Features are four-letter names assigned by Microsoft and Adobe; they are
+meant to correspond to font behaviors, such as kerning or small-capitals.
+Examples include "liga" (default ligatures), "dlig" (discretionary
+ligatures), "kern" (kerning), and "c2sc" (replacing capitals with small
+capitals). Give this option multiple times to apply multiple features. Run
+"\fBotfinfo\fR \-f [\-\-script option] \fIfont\fR" to see the list
+of features a font supports for a specified script.
+Defaults to any features required by the selected scripts.
+'
+.Sp
+.TP 5
+.BI \-\-lf " feature\fR, " \-\-letter\-feature= "feature"
+Activate the feature named
+.IR feature ,
+but only for letters. For instance, the "\-f smcp" option will apply the
+small-caps feature to all characters in the encoding; this may result in
+changes to punctuation and numbers as well as letters. The "\-\-lf smcp"
+option will apply the small-caps feature only to letters, meaning
+characters with the "Letter" Unicode property.
+'
+.Sp
+.TP 5
+.BI \-\-subs\-filter " pattern"
+.TP 5
+.BI \-\-include\-subs " pattern"
+.TP 5
+.BI \-\-exclude\-subs " pattern"
+.TP 5
+.BI \-\-clear\-subs
+Limit the characters that
+.B otftotfm
+will substitute. Substitution is allowed on an input character if it
+matches at least one of the
+.B \-\-include
+patterns, and none of the
+.B \-\-exclude
+patterns. Each pattern applies to all following features, except that the
+.B \-\-clear
+option clears any accumulated patterns. The
+.BI \-\-subs\-filter " pattern"
+option acts like
+.B \-\-clear\-subs
+followed by
+.BI \-\-include\-subs " pattern\fR. "
+For pattern syntax, see CHARACTER PATTERNS, below.
+.Sp
+In the command line below, the '<Number>' pattern will force the "onum"
+feature to substitute only numbers (and not, for example, punctuation).
+The "salt" feature can still substitute any character.
+.nf
+ \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-subs\fR='<Number>' \fB\-f\fRonum \.\.\.
+.fi
+'
+.Sp
+.TP 5
+.BI \-E " fac\fR, " \-\-extend= fac
+Widen, or extend, the font by a factor of
+.IR fac .
+Like
+.M afm2tfm 1 's
+.B \-e
+option.
+'
+.Sp
+.TP 5
+.BI \-S " amt\fR, " \-\-slant= amt
+Oblique, or slant, the font by
+.IR amt .
+Like
+.M afm2tfm 1 's
+.B \-s
+option.
+'
+.Sp
+.TP 5
+.BI \-L " amt\fR, " \-\-letterspacing= amt
+Letterspace each character by
+.IR amt
+units, where 1000 units equals one em. The width of each character
+increases by
+.IR amt ,
+with half the space distributed to each sidebearing. Boundary-character
+kerns are added to maintain alignment at the ends of lines.
+'
+.Sp
+.TP 5
+.BR \-\-math\-spacing "[=\fIskewchar\fR]"
+Ignore the font's claimed character widths, deriving horizontal metrics
+from bounding boxes instead. This results in similar spacing as the
+Computer Modern Math Italic font, with increased sidebearings for letters
+like f and j.
+.Sp
+If you provide
+.IR skewchar ,
+a number between 0 and 255 or a single character, then
+.B otftotfm
+adds heuristically-derived kerns to the font that may improve accent
+positions in math mode. To get the benefits, you must tell TeX about the
+.I skewchar
+with a command like "\eskewchar\efont=\fIskewchar\fR".
+'
+.Sp
+.TP 5
+.BI "\-k " "N\fR, " \-\-min\-kern= N
+Only output kerning pairs whose absolute value is
+.IR N
+or larger. Larger minimum kerns make kerning less precise, but shrink the
+output TFM file. The default minimum kern is 2.0, or 0.002 em.
+'
+.Sp
+.TP 5
+.BI \-\-space\-factor= fac
+Scale the width of the inter-word space by a factor of
+.IR fac .
+'
+.Sp
+.TP 5
+.BI \-\-design\-size= size
+Set the output font's design size to
+.IR size ,
+a value in TeX points. This value is mostly just documentation, since LaTeX
+essentially ignores fonts' design sizes, but plain TeX may occasionally use
+the design size to decide how large a font should be. (Loading a font in
+TeX "at" a particular size effectively ignores the design size; loading a
+font plain or "scaled" by a given factor uses the design size.) The default
+is taken from the input font's optical size feature, or 10pt if it has no
+such feature.
+.PD
+'
+'
+.SS Encoding Options
+'
+.PD 0
+.TP 5
+.BI \-e " encoding\fR, " \-\-encoding= encoding
+Select the output metrics's base
+.M dvips 1
+encoding.
+.B Otftotfm
+will search for
+.IR encoding [.enc]
+the same way that
+.B dvips
+would, so you may not need to give a full pathname. Say
+.B \-e \-
+to start with the font's default encoding.
+See ENCODINGS, below,
+for more information.
+'
+.Sp
+.TP 5
+.BI \-\-literal\-encoding= encoding
+Select the
+.M dvips 1
+encoding used for the font. No glyph substitutions will be permitted, so
+the output encoding will equal the input encoding (and
+.B otftotfm
+will not generate an output encoding).
+'
+.Sp
+.TP 5
+.BI \-\-ligkern= command
+Execute the specified LIGKERN
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-ligkern\fR 'T {L}
+h'" suppresses any T_h ligature in the font. You can supply multiple
+.B \-\-ligkern
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-position= command
+Execute the specified POSITION
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-position\fR 'T 10
+0 20'" adds ten units of space to either side of the "T" character. You
+can supply multiple
+.B \-\-position
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-unicoding= command
+Execute the specified UNICODING
+.IR command
+in addition to any in the encoding. For example, "\fB\-\-unicoding\fR 'pi1
+=: uni03D6'" tells
+.B otftotfm
+to encode "/pi1" as U+03D6 GREEK PI SYMBOL. You can supply multiple
+.B \-\-unicoding
+options. See ENCODINGS, below.
+'
+.Sp
+.TP 5
+.BI \-\-no\-encoding\-commands
+Ignore any LIGKERN and/or UNICODING commands in the encoding file.
+'
+.Sp
+.TP 5
+.BI \-\-no\-default\-ligkern
+Don't include
+.BR otftotfm 's
+default LIGKERN commands.
+'
+.Sp
+.TP 5
+.BI \-\-coding\-scheme= scheme
+Set the font's TFM coding scheme to
+.IR scheme ,
+which must be a string less than 40 characters long containing no
+parentheses. The default is the encoding's PostScript name. Most tools
+ignore the coding scheme, so you probably don't need to worry about this
+command unless you are using fontinst.
+'
+.Sp
+.TP 5
+.BI \-\-boundary\-char= char
+Set the font's boundary character to
+.IR char ,
+which should either be a single non-digit character, or a number between \-1
+and 255. The default is taken from the encoding.
+'
+.Sp
+.TP 5
+.BI \-\-altselector\-char= char
+Set the font's alternate-selector character to
+.IR char ,
+which should either be a single non-digit character, or a number between \-1
+and 255. Use an alternate selector if you want to choose between different
+versions of a character from within a TeX file. For instance, say that your
+font provides three versions of "A". If you want to access them all, pick a
+character to be your alternate selector -- say "*". Then give
+.B otftotfm
+the
+.BR \-\-altselector\-char= '*'
+option. In TeX, "A" will produce the normal version, "A*" will produce the
+first alternate, and "A**" will produce the second alternate. Furthermore,
+"s*t" will activate any discretionary "s_t" ligature in the font. The
+default alternate-selector character is taken from the encoding.
+.Sp
+The
+.B \-\-altselector\-char
+mechanism uses the features specified by
+.BR \-\-altselector\-feature
+options. You don't need to turn on those features if you use
+.BR \-\-altselector .
+.Sp
+See Sivan Toledo's article cited in the SEE ALSO section for more
+information.
+'
+.Sp
+.TP 5
+.BI \-\-altselector\-feature= feature
+Activate the feature named
+.I feature
+for the
+.B \-\-altselector\-char
+mechanism. Give this option multiple times to activate multiple
+features. This option activates features only for use with
+.BR \-\-altselector\-char ;
+use the
+.B \-\-feature
+option to activate features globally. Defaults to the
+.I salt
+and
+.I dlig
+features.
+'
+.Sp
+.TP 5
+.BI \-\-alternates\-filter= pattern
+.TP 5
+.BI \-\-include\-alternates= pattern
+.TP 5
+.BI \-\-exclude\-alternates= pattern
+.TP 5
+.BI \-\-clear\-alternates
+Limit the alternate characters that
+.B otftotfm
+will select. An alternate is used if it matches at least one of the
+.B \-\-include
+patterns, and none of the
+.B \-\-exclude
+patterns. Each pattern applies to all following features, except that the
+.B \-\-clear
+option clears any accumulated patterns. The
+.BI \-\-alternates\-filter " pattern"
+option acts like
+.B \-\-clear\-alternates
+followed by
+.BI \-\-include\-alternates " pattern\fR. "
+For pattern syntax, see CHARACTER PATTERNS, below.
+.Sp
+OpenType fonts can have many alternates per character, most of which aren't
+interesting. For example, the character "a" in WarnockPro-Regular has five
+alternates, "ordfeminine", "Asmall", "asuperior", "a.end", and
+"orn.013". The
+.B \-\-altselector\-char
+option lets you cycle through these alternates, but it's better to leave
+out the ones you don't want, to avoid overfull encodings. Thus, if you were
+only interested in ".end" variants, you might supply an
+.BR \-\-include\-alternates= "'*.end'"
+option.
+.Sp
+In the command line below, the '*.end' pattern will apply to "aalt"
+alternates, but not to "salt" alternates.
+.nf
+ \fBotftotfm\fR \fB\-f\fRsalt \fB\-\-include\-alternates\fR='*.end' \fB\-f\fRaalt \.\.\.
+.fi
+'
+.PD
+'
+'
+.SS Automatic Mode Options
+'
+.PD 0
+.TP 5
+.BI \-a "\fR, " \-\-automatic
+Select automatic mode.
+'
+.Sp
+.TP 5
+.BI \-v " vendor\fR, " \-\-vendor= vendor
+Set the font vendor name, which is used to locate files within the TDS.
+Defaults to "lcdftools".
+.Sp
+In automatic mode, TeX and friends will generally find required font files
+independently of the vendor you select.
+'
+.Sp
+.TP 5
+.BI \-\-typeface= typeface
+Set the font typeface name, which is used to locate files within the TDS.
+Defaults to the current font's family name with unsuiable characters
+removed.
+'
+.Sp
+.TP 5
+.BI \-\-no\-type1
+Do not use
+.M cfftot1 1
+to create Type 1 fonts corresponding to the OpenType input fonts.
+'
+.Sp
+.TP 5
+.BI \-\-no\-dotlessj
+Do not use
+.M t1dotlessj 1
+to create a special dotless-j font when the input font doesn't have
+dotless-j.
+'
+.Sp
+.TP 5
+.BI \-\-no\-updmap
+Do not run an
+.M updmap 1
+program. This can be useful if you're installing a bunch of fonts; it is
+much faster to run
+.B updmap
+once, at the end, than to run it once per font.
+.PD
+'
+'
+.SS Output Options
+.PD 0
+.TP 5
+.BI \-n " texname\fR, " \-\-name= texname
+Set the TeX name of the output font, which is used in font map files and,
+in automatic mode, to generate the output filename. The default is derived
+from the OpenType font's name and the features you selected.
+'
+.Sp
+.TP 5
+.BI \-p "\fR, " \-\-pl
+Output human-readable PL and VPL metrics, not binary TFM and VF metrics.
+Note:
+.BR Otftotfm 's
+PL and VPL output files are legal, but the
+.B fontinst
+program may not accept them (it has a picky parser). Make sure to supply a
+.BR \-\-coding\-scheme ;
+if that doesn't help, run the TFM output through
+.M tftopl 1 .
+'
+.Sp
+.TP 5
+.BI \-\-no\-virtual
+Do not generate virtual fonts (VFs and VPLs).
+.B Otftotfm
+will warn if the selected font features cannot be implemented without
+virtual fonts.
+'
+.Sp
+.TP 5
+.BI \-\-no\-encoding
+Do not generate an encoding file.
+'
+.Sp
+.TP 5
+.BR \-\-output\-encoding [=\fIfile\fR]
+Only generate an encoding file; do not generate any other output. The
+encoding file is written to
+.IR file ,
+or to standard output if no
+.I file
+argument is supplied.
+'
+.Sp
+.TP 5
+.BI \-\-no\-map
+Do not generate a font map line for the font.
+.PD
+'
+'
+.SS File Location Options
+.PD 0
+.TP 5
+.BI \-\-tfm\-directory= dir
+.TP 5
+.BI \-\-pl\-directory= dir
+.TP 5
+.BI \-\-vf\-directory= dir
+.TP 5
+.BI \-\-vpl\-directory= dir
+.TP 5
+.BI \-\-encoding\-directory= dir
+.TP 5
+.BI \-\-type1\-directory= dir
+Set the directory used for various output types. Each directory may be set
+by an environment variable, and defaults to a TDS directory in automatic
+mode, or to "." otherwise. Environment variable names and default TDS
+locations are described in the Automatic Mode section above.
+'
+.Sp
+.TP 5
+.BI \-\-map\-file= filename
+Set file in which
+.B otftotfm
+will write a font map
+line for the font. The default is the standard output in manual mode, and
+"TEXMF/fonts/map/dvips/\fIvendor\fR/\fIvendor\fR.map" (or
+"TEXMF/dvips/\fIvendor\fR/\fIvendor\fR.map" on older installations) in
+automatic mode.
+.PD
+'
+'
+.SS Miscellaneous Options
+.PD 0
+.TP 5
+.BI \-\-glyphlist= file
+Use
+.I file
+as the Adobe glyph list, which helps translate glyph names to Unicode code
+points. See ENCODINGS, below, for more information.
+'
+.Sp
+.TP 5
+.BR \-V ", " \-\-verbose
+Write progress messages to standard error.
+'
+.Sp
+.TP 5
+.BR \-\-no\-create
+Do not create or modify any files. Instead, write messages about the
+program's hypothetical progress to standard error.
+'
+.Sp
+.TP 5
+.BR \-\-force
+Generate all files, even if it looks like versions are already installed.
+'
+.Sp
+.TP 5
+.BR \-q ", " \-\-quiet
+Do not generate any error messages.
+'
+.Sp
+.TP 5
+.BI \-\-kpathsea\-debug= flags
+Set path searching debugging flags. See the
+.I Kpathsea
+manual for details.
+'
+.Sp
+.TP 5
+.BR \-h ", " \-\-help
+Print usage information and exit.
+'
+.Sp
+.TP 5
+.BR \-\-version
+Print the version number and some short non-warranty information and exit.
+.PD
+'
+.SH ENCODINGS
+.B Otftotfm
+interprets encoding files as Unicode. For example, if an input encoding
+has "/dotlessi" at position 10, then
+.B otftotfm
+detects that the user wants to encode Unicode character U+0131 LATIN SMALL
+LETTER DOTLESS I at position 10. The output encoding will use whatever
+glyph the font suggests for that Unicode character, given the collection of
+features you chose.
+.PP
+You can control this process with "UNICODING" comments in the input
+encoding file. UNICODING comments have the following format:
+.nf
+ % UNICODING \fIglyph\fR =: \fIchoice1\fR [\fIchoice2\fR ...] ;
+.fi
+\fIGlyph\fR and the
+.IR choice s
+are PostScript glyph names. This comment tells
+.B otftotfm
+that the glyph named
+.I glyph
+translates into the first Unicode value in the
+.I choice
+list that has a character in the font. For example,
+.nf
+ % UNICODING pi1 =: uni03D6 ;
+.fi
+tells otftotfm that the character "/pi1" encodes as U+03D6 GREEK PI SYMBOL,
+and
+.nf
+ % UNICODING Delta =: uni0394 uni2206 ;
+.fi
+tells it that U+0394 GREEK CAPITAL LETTER DELTA should be preferred to
+U+2206 INCREMENT as an encoding for "/Delta". You can also supply regular
+glyph names:
+.nf
+ % UNICODING Delta =: Deltagreek Delta ;
+.fi
+.B Otftotfm
+uses Adobe's
+.I glyphlist.txt
+file to translate glyph names to Unicode; see
+.IR http://partners.adobe.com/asn/developer/type/unicodegn.html .
+.LP
+You can map a glyph to nothing to remove that glyph from the input
+encoding. This is useful to remove optional characters; for instance:
+.nf
+ % UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
+.fi
+The f-ligatures will be added back to the encoding, preferably at their
+original locations, if some font feature requires them.
+.LP
+Map a glyph to 'emptyslot' if you don't want
+.B otftotfm
+to use the slot for a ligature character. For example, given this
+UNICODING,
+.nf
+ % UNICODING ff =: ff emptyslot ;
+.fi
+.B otftotfm
+will leave the 'ff' encoding slot unused if the font has no 'ff' glyph.
+(Note that most OpenType fonts provide a visible representation for unused
+encoding slots, namely a box with an X inside.)
+.LP
+Each UNICODING line can contain multiple commands, separated by spaced
+semicolons.
+.PP
+LIGKERN comments in the encoding can add ligatures and inhibit kerns, as in
+.M afm2tfm 1 .
+To add a ligature, say:
+.nf
+ % LIGKERN \fIglyph1\fR \fIglyph2\fR =: \fIresult\fR ;
+.fi
+The "=:" operator indicates a normal ligature, where both the input glyphs
+are removed and replaced by
+.IR result .
+To preserve the left-hand glyph, for an effect like "\fIglyph1\fR
+\fIglyph2\fR =: \fIglyph1\fR \fIresult\fR", use "|=:" instead; to preserve
+the right-hand glyph, use "=:|". The other five ligature operators are not
+yet supported.
+To remove all kerns between two characters, say:
+.nf
+ % LIGKERN \fIglyph1\fR {} \fIglyph2\fR ;
+.fi
+A "*" matches any character, so
+.nf
+ % LIGKERN a {} * ;
+.fi
+removes all kerns with "a" as the left-hand character, and
+.nf
+ % LIGKERN * {} * ;
+.fi
+removes all kerns.
+.PP
+.B Otftotfm
+also supports extended syntax for setting kern values and inhibiting
+ligatures. To add an \fIn\fR-unit kern between two glyphs, say:
+.nf
+ % LIGKERNX \fIglyph1\fR {\fIn\fR} \fIglyph2\fR ;
+.fi
+where \fIn\fR is an integer. This:
+.nf
+ % LIGKERNX \fIglyph1\fR {L} \fIglyph2\fR ;
+.fi
+inhibits any ligature between
+.I glyph1
+and
+.IR glyph2 .
+"{LK}" and "{KL}" inhibit both ligatures and kerns.
+.PP
+You can set the
+.B \-\-boundary\-char
+and
+.B \-\-altselector\-char
+from an encoding file with commands like this:
+.nf
+ % LIGKERN || = \fIboundarychar\fR ;
+ % LIGKERNX ^^ = \fIaltselectorchar\fR ;
+.fi
+As with UNICODING, each LIGKERN or LIGKERNX line can contain multiple
+commands, separated by spaced semicolons.
+.PP
+The POSITION command shifts a glyph within its bounding box. The syntax is
+.nf
+ % POSITION \fIglyph\fR \fIpdx\fR \fIpdy\fR \fIadx\fR ;
+.fi
+This will add
+.I pdx
+units of space to
+.IR glyph 's
+left edge; raise it up by
+.I pdy
+units; and add
+.I adx
+units to its width. For example, to add 10 units of space to either side
+of the "T" glyph, supply
+.nf
+ % POSITION T 10 0 20
+.fi
+To move the "degree" symbol up by 20 units, supply
+.nf
+ % POSITION degree 0 20 0
+.fi
+.PP
+Finally, the CODINGSCHEME command specifies a default
+.B \-\-coding\-scheme
+for the encoding; for example:
+.nf
+ % CODINGSCHEME EXTENDED TEX FONT ENCODING
+.fi
+.PP
+The
+.BR \-\-unicoding ,
+.BR \-\-ligkern ,
+and
+.B \-\-position
+options let you add virtual UNICODING, LIGKERN/LIGKERNX, and POSITION
+comments to an encoding.
+.PP
+.B Otftotfm
+has a default set of eight ligatures, namely:
+.nf
+ space l =: lslash ; space L =: Lslash ;
+ question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+ hyphen hyphen =: endash ; endash hyphen =: emdash ;
+ quoteleft quoteleft =: quotedblleft ;
+ quoteright quoteright =: quotedblright
+.fi
+LIGKERN commands in the encoding file and
+.B \-\-ligkern
+options can override these defaults, or supply the
+.B \-\-no\-default\-ligkern
+option to turn them off.
+.PP
+Some common encoding files have commands that are inappropriate for
+OpenType fonts. For example, "t1.enc" hard-codes f-ligatures, which can
+cause problems with small-cap fonts. Supply the
+.B \-\-no\-encoding\-commands
+option to ignore all commands from the encoding file. Explicit
+.B \-\-ligkern
+and
+.B \-\-unicoding
+options are processed in any case.
+'
+.SS New Glyphs
+.PP
+New glyphs, such as ligatures and contextual substitutions, are added to
+the encoding in any empty spaces, using their original locations when
+possible. If the encoding doesn't have enough space for all new glyphs,
+shorter ligatures composed of unaccented letters get precedence.
+'
+.SS Synthetic Glyphs
+.PP
+.B Otftotfm
+can synthesize some glyphs using virtual font manipulations, if a required
+glyph is not available in the input font. Specifically, it will synthesize:
+.Sp
+.PD 0
+.TP 22
+cwm
+TeX's compound word mark (a zero-width "strut" rule with height equal to the font's x-height)
+.TP
+ascendercompwordmark
+"cwm" with height equal to the font's ascenders
+.TP
+capitalcompwordmark
+"cwm" with height equal to the font's capitals
+.TP
+visualspace
+A square cup used to represent spaces
+.TP
+dotlessj
+A dotless "j", synthesized with
+.M t1dotlessj 1
+.TP
+dblbracketleft
+Kerned version of "[["
+.TP
+dblbracketright
+Kerned version of "]]"
+.TP
+bardbl
+The parallel symbol "||"
+.TP
+asteriskmath
+Vertically-centered "*"
+.TP
+twelveudash
+2/3-em-wide dash
+.TP
+threequartersemdash
+3/4-em-wide dash
+.TP
+centigrade
+"(degrees)C"
+.TP
+interrobang
+Combined "?!" symbol
+.TP
+interrobangdown
+Inverted interrobang
+.TP
+pertenthousand
+Per-ten-thousand sign (% with two extra 0s)
+.TP
+IJ
+"IJ" ligature
+.TP
+ij
+"ij" ligature
+.TP
+Germandbls
+"SS" (a capital sharp-s)
+.TP
+SSsmall
+Small-capital version of "SS"
+.TP
+FFsmall
+Small-capital version of "FF"
+.TP
+FIsmall
+Small-capital version of "FI"
+.TP
+FLsmall
+Small-capital version of "FL"
+.TP
+FFIsmall
+Small-capital version of "FFI"
+.TP
+FFIsmall
+Small-capital version of "FFL"
+.PD
+'
+'
+.SH "GLYPH PATTERNS"
+.LP
+The
+.BR \-\-include\-subs
+and
+.BR \-\-include\-alternates
+options, and their
+.B \-\-exclude
+variants, accept the following types of pattern.
+.BUP
+Glyph names. Example: "Aacute". Use
+.M otfinfo 1 's
+.B \-g
+option to see a font's glyph names, and "\fBcfftot1\fR \fIfont\fR.otf |
+\fBt1testpage\fR" to generate a PostScript file showing each glyph.
+.BUP
+Glyph name patterns using the shell-style glob-matching rules: "*" matches
+any number of characters, "?" matches any single character, and "[...]"
+matches any character in a set. Example: "*.end".
+.BUP
+Unicode category properties in angle brackets. Examples: "<Letter>",
+"<UppercaseLetter>", "<Lu>". The complete list of both short and long
+names: Letter/L, UppercaseLetter/Lu, LowercaseLetter/Ll,
+TitlecaseLetter/Lt, ModifierLetter/Lm, OtherLetter/Lo; Number/N,
+DecimalNumber/Nd, LetterNumber/Nl, OtherNumber/No; Punctuation/P,
+ConnectorPunctuation/Pc, DashPunctuation/Pd, OpenPunctuation/Ps,
+ClosePunctuation/Pe, InitialPunctuation/Pi, FinalPunctuation/Pf,
+OtherPunctuation/Po; Symbol/S, MathSymbol/Sm, CurrencySymbol/Sc,
+ModifierSymbol/Sk, OtherSymbol/So; Mark/M, SpacingMark/Mc,
+EnclosingMark/Me, NonspacingMark/Mn; Separator/Z, SpaceSeparator/Zs,
+LineSeparator/Zl, ParagraphSeparator/Zp; Other/C, Surrogate/Cs, Format/Cf,
+Control/Cc, PrivateUse/Co, Unassigned/Cn. Category values current as of
+Unicode 4.0.
+.BUP
+Unicode ranges. Example: "U+007f-U+008C".
+.PP
+The "!" prefix negates a pattern, and you can separate multiple patterns by
+spaces.
+'
+.SH "FEATURE DIRECTORY"
+.LP
+This section lists features common to Western OpenType fonts and describes
+how
+.B otftotfm
+handles them for common fonts. Please send the author mail if
+.B otftotfm
+does not handle a feature you need, or you believe it handles some feature
+incorrectly.
+.Sp
+.PD 0
+.TP 5
+.IR aalt ", Access All Alternates"
+Lets the user choose between all available alternate forms for a character.
+This includes things like superscript and subscript variants, different
+styles (swash, for example), and even ornaments. The
+.BR \-\-altselector\-feature= aalt
+option can help an
+.BR \-\-altselector\-char
+provide useful access to alternates, but the
+.I aalt
+feature isn't usually useful on its own. Try the
+.IR salt " and " calt
+features instead.
+.TP 5
+.IR c2sc ", Small Capitals From Capitals"
+Replaces capital letters with small capitals: a sort of converse of the
+more conventional
+.I smcp
+feature, which replaces lower-case letters with small capitals. Supported.
+.TP 5
+.IR calt ", Contextual Alternates"
+Lets the user choose between context-appropriate swash forms for each
+character. For example, given the word "DREW" in a cursive typeface, the "R
+E W" might be translated to calmer forms than the initial "D". There may be
+more than one choice for a given letter, in which case the user should be
+able to select among them. TeX can't support complex contextual alternates,
+or alternate selection, but
+.B otftotfm
+supports some fonts quite well. The input encoding should have lots of
+empty space for variants, and it should specify a boundary character. See
+also
+.IR cswh .
+.TP 5
+.IR case ", Case-Sensitive Forms"
+Shifts punctuation marks up to a position that works well with
+all-capital-letter sequences. For example, the hyphen character, which
+generally centers vertically on the x-height, is raised up to center
+vertically on a capital letter. Also replaces text figures with lining
+figures, and accent marks with forms more appropriate for capitals.
+Supported.
+.TP 5
+.IR cpsp ", Capital Spacing"
+Adds a bit of space on either side of each capital letter. Supported.
+(However, the OpenType tag registry suggests that
+.I cpsp
+be on by default, but applying to all-caps text only; TeX cannot easily
+implement that contextual intelligence.)
+.TP 5
+.IR cswh ", Contextual Swash"
+Lets the user choose between context-appropriate swash forms for each
+character. For example, in the words "Ab AC", the first "A" might be
+translated to a swash form, while the second might not. There may be more
+than one choice for a given letter, in which case the user should be able
+to select among them. TeX can't support complex contextual swashes, or
+alternate selection, but
+.B otftotfm
+supports some fonts quite well. The input encoding should have lots of
+empty space for swash variants, and it should specify a boundary
+character. See also
+.IR calt .
+.TP 5
+.IR dlig ", Discretionary Ligatures"
+Activates uncommon ligatures, such as "c_t", "s_p", and "s_t". Supported.
+.TP 5
+.IR dnom ", Denominators"
+Replaces digits and some punctuation marks with smaller forms sitting on
+the baseline, intended for fraction denominators. Supported.
+.TP 5
+.IR fina ", Terminal Forms"
+Substitutes appropriate forms for letters occurring at the ends of words.
+This feature doesn't select swash variants; it's intended for normal use,
+and the specification recommends that it be on by default. Partially
+supported: TeX will only treat spaces as the ends of words, where a correct
+implementation would probably include punctuation too. See
+.IR cswh
+for selecting swash variants active at the ends of words.
+.TP 5
+.IR frac ", Fractions"
+Replaces simple sequences like "1/2" with nice-looking fractions.
+Supported, but beware: many fonts will translate "11/32" into "1" + "1/3" +
+"2".
+.TP 5
+.IR hist ", Historical Forms"
+Replaces characters with historical variants. Usually, this means at least
+translating regular "s" to long "s". Supported.
+.TP 5
+.IR kern ", Kerning"
+Adjusts the space between characters (pair kerning). Generally supported,
+and you should probably turn it on.
+.TP 5
+.IR liga ", Standard Ligatures"
+Activates common ligatures, such as "f_f", "f_i", "f_f_j", and (in some
+Adobe fonts) "T_h". Generally supported, and you should probably turn it
+on.
+.TP 5
+.IR lnum ", Lining Figures"
+Uses lining figures, the set of digits that are all about as high as
+capital letters.
+Supported. Compare
+.IR onum ;
+see also
+.IR pnum
+and
+.IR tnum.
+.TP 5
+.IR numr ", Numerators"
+Replaces digits and some punctuation marks with smaller, raised forms
+intended for fraction numerators. Supported, but not usually useful.
+.TP 5
+.IR onum ", Oldstyle Figures"
+Uses old-style figures, also known as text figures. This is the set of
+digits that have ascenders and descenders like lower-case letters.
+Supported. Compare
+.IR lnum ;
+see also
+.IR pnum
+and
+.IR tnum .
+.TP 5
+.IR ordn ", Ordinals"
+Designed for Spanish and French. Replaces ordinal numbers, such as "2.o",
+with forms where the "o" is raised, and replaces the sequence "No" with an
+integrated glyph. Supported.
+.TP 5
+.IR ornm ", Ornaments"
+Replaces some alphabetic characters in the font with ornaments, and links
+the bullet character to a set of all bullet-like ornaments, from which the
+user can choose. Partially supported: TeX can handle alphabetic
+substitutions, but not bullet choice.
+.TP 5
+.IR pnum ", Proportional Figures"
+Digits will have different widths. Supported. Compare
+.IR tnum ;
+see also
+.IR lnum
+and
+.IR onum.
+.TP 5
+.IR salt ", Stylistic Alternates"
+Lets the user choose between stylistic alternate forms for a character.
+The
+.BR \-\-altselector\-char
+mechanism provides useful access to this feature. If you turn on
+.IR salt
+globally,
+.B otftotfm
+takes the first alternate form whenever there's more than one choice. See
+also
+.IR aalt
+and
+.IR ss01 ;
+.IR salt
+is generally more useful than
+.IR aalt
+for TeX, since it refers exclusively to stylistic alternates.
+.TP 5
+.IR sinf ", Scientific Inferiors"
+Replaces digits and some punctuation marks with smaller, lowered forms
+intended for subscripts. Supported.
+.TP 5
+.IR size ", Optical Size"
+This feature stores information about the range of optical sizes for which
+the font was intended. There is no point in selecting it with
+.BR otftotfm ,
+since it should not change the font's appearance in any way.
+.TP 5
+.IR smcp ", Small Capitals"
+Replaces lower-case letters with small capitals. Supported. Compare
+.IR c2sc .
+.TP 5
+.IR ss01 - ss20 ", Stylistic Sets 1-20"
+Replaces characters with a uniform set of stylistic alternates. Differs
+from features like
+.I salt
+in that a Stylistic Set is uniform: an
+.I ssXX
+feature should never involve selection from a set of possible alternate
+characters. Supported.
+.TP 5
+.IR sups ", Superscript"
+Replaces digits, some punctuation marks, and some lower-case letters with
+smaller, raised forms intended for superscripts. Supported.
+.TP 5
+.IR swsh ", Swash"
+Activates all swash forms for each character. There may be more than one
+swash form, in which case
+.B otftotfm
+will pick the first one listed. Supported, except that swash variants
+other than the first are inaccessible.
+.TP 5
+.IR tnum ", Tabular Figures"
+All digits will have the same width, so that tables and the like will align
+visually. Supported. Compare
+.IR pnum ;
+see also
+.IR lnum
+and
+.IR onum.
+.TP 5
+.IR zero ", Slashed Zero"
+Replaces the zero character with a slashed zero. Supported.
+.PD
+'
+.SH "DIAGNOSTICS AND TROUBLESHOOTING"
+'
+.TP 5
+no writable directory found in $TEXMF
+'
+.B Otftotfm
+could not find a writable directory in your $TEXMFVAR or $TEXMF path. Did
+you create a
+.I $HOME/.texmf-var
+or
+.I $HOME/texmf
+directory? If so, run the command "kpsewhich \-\-expand\-path='$TEXMF'" to
+verify that directory is not being found. You may need to set your TEXMF
+environment variable, to '{!!'"$HOME"'/texmf,!!$TEXMFMAIN}', for instance
+(note the different kinds of quotes; on my machine, this expands to
+\&'{!!/home/kohler/texmf,!!$TEXMFMAIN}').
+'
+.TP 5
+\&'\fIchar\fR' has no encoding, ignoring kern removal
+.PD 0
+.TP 5
+(or ligature removal, lig/kern removal, or ligature)
+.PD
+'
+These messages indicate a slight problem with your encoding file: one of
+the LIGKERN commands referred to a character not present in the encoding.
+This might be due to a misspelling in the LIGKERN command or the encoding
+file, or it might be an oversight. Either fix the encoding file or ignore
+the warning.
+'
+.TP 5
+can't map '\fIchar\fR' to Unicode
+'
+Another encoding file problem: One of the glyph names in an UNICODING block
+could not be converted to Unicode. This is problematic since UNICODING
+exists wholly to translate glyph names into Unicode. Fix the encoding file
+or ignore the warning.
+'
+.TP 5
+not enough room in encoding, ignoring \fIN\fR glyph(s) ...
+'
+There wasn't space in the encoding for all the glyphs referred to by the
+features you selected. For example, maybe the font had more ligatures than
+there were empty slots in the encoding. Fix this warning by selecting fewer
+features, or by using an encoding with more empty slots, such as the 7t.enc
+encoding distributed with
+.BR otftotfm .
+'
+.SH "FREQUENTLY ASKED QUESTIONS"
+.TP 5
+How can I get a small-caps "SS" in place of the German sharp-S?
+'
+Supply the option "\fB\-\-unicoding\fR 'germandbls =: SSsmall'".
+'
+.TP 5
+How can I prevent f-ligatures from forming in a small-caps font?
+'
+This should happen automatically, but some overzealous encoding files add
+f-ligatures even when the font doesn't request them. Try the
+"\fB\-\-no\-encoding\-commands\fR" option if this is a problem for you.
+'
+.TP 5
+\fBOtftotfm\fR seems to take a long time.
+'
+Use the
+.B \-V
+option to see what it's doing. Often the culprit is the
+.M updmap 1
+program; if you're planning to run
+.B otftotfm
+multiple times, give it the
+.B \-\-no\-updmap
+option and run
+.B updmap
+manually when you're done.
+'
+.SH "BUGS"
+.\" .LP
+.\" Presumably some context-sensitive positionings and ligatures could be
+.\" implemented with TeX's boundary character, but
+.\" .B otftotfm
+.\" doesn't do that yet.
+.LP
+See the documentation for
+.B \-\-pl
+above if you have problems running
+.BR otftotfm 's
+output through
+.BR fontinst .
+'
+.SH "SEE ALSO"
+.LP
+.M pltotf 1 ,
+.M tftopl 1 ,
+.M vptovf 1 ,
+.M afm2tfm 1 ,
+.M dvips 1 ,
+.M cfftot1 1 ,
+.M otfinfo 1 ,
+.M t1dotlessj 1 ,
+.M t1testpage 1 ,
+.M kpsewhich 1 ,
+.M updmap 1
+.LP
+.I "Adobe Type 1 Font Format"
+.LP
+Adobe Technical Notes #5176,
+.IR "The Compact Font Format Specification" ,
+and #5177,
+.I "The Type 2 Charstring Format"
+.LP
+.IR "OpenType Specification" ,
+Version 1.4
+.LP
+.IR "A Directory Structure for TeX Files" ,
+http://www.tug.org/tds/
+.LP
+.IR "Kpathsea: A library for path searching" ,
+http://www.tug.org/kpathsea/
+.LP
+Sivan Toledo,
+.IR "Exploiting Rich Fonts" ,
+TUGboat 21(2), 2000,
+http://www.tug.org/TUGboat/Articles/tb21-2/tb67tole.pdf
+.LP
+Michel Goossens, Frank Mittelbach, and Alexander Samarin,
+.IR "The LaTeX Companion"
+(for information on the .fd file format).
+'
+.SH AUTHOR
+Eddie Kohler (kohler@cs.ucla.edu)
+.PP
+Thanks to Karl Berry, Marco Kuhlmann, Adam Lindsay, Bruce D'Arcus, Thomas
+Esser, Claire Connelly, Nelson H.F. Beebe, and Ryuji Suzuki for
+suggestions, bug reports, and help. Particular thanks to Achim Blumensath
+and Michael Zedler for suggestions and patches, some of them extensive.
+