summaryrefslogtreecommitdiff
path: root/Build/source/texk/ttf2pk/ttf2tfm.1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/ttf2pk/ttf2tfm.1')
-rw-r--r--Build/source/texk/ttf2pk/ttf2tfm.11133
1 files changed, 0 insertions, 1133 deletions
diff --git a/Build/source/texk/ttf2pk/ttf2tfm.1 b/Build/source/texk/ttf2pk/ttf2tfm.1
deleted file mode 100644
index 8dc131697e1..00000000000
--- a/Build/source/texk/ttf2pk/ttf2tfm.1
+++ /dev/null
@@ -1,1133 +0,0 @@
-.\" man page for ttf2tfm
-.
-.TH TTF2TFM 1 27-Jun-2013 "FreeType version 1.5"
-.SH NAME
-ttf2tfm \- build TeX metric files from a TrueType font
-.SH SYNOPSIS
-.na
-.nh
-.B ttf2tfm
-'in +\n(.ku
-.IR ttffile [ .ttf | .ttc ]
-[\c
-.BI \-c \ \%caps-height-factor\c
-]
-[\c
-.BI \-e \ \%extension-factor\c
-]
-[\c
-.BI \-E \ \%encoding-id\^\c
-]
-[\c
-.BI \-f \ \%font-index\c
-]
-[\c
-.B \-l\c
-]
-[\c
-.B \-L\ \c
-.IR \%ligature-file [ .sfd ]\c
-]
-[\c
-.B \-n\c
-]
-[\c
-.B \-N\c
-]
-[\c
-.B \-O\c
-]
-[\c
-.B \-p\ \c
-.IR \%inencfile [ .enc ]\c
-]
-[\c
-.BI \-P \ \%platform-id\^\c
-]
-[\c
-.B \-q\c
-]
-[\c
-.BI \-r \ \%old-glyphname\ \%new-glyphname\c
-]
-[\c
-.B \-R\ \c
-.IR \%replacement-file [ .rpl ]\c
-]
-[\c
-.BI \-s \ \%slant-factor\c
-]
-[\c
-.B \-t\ \c
-.IR \%outencfile [ .enc ]\c
-]
-[\c
-.B \-T\ \c
-.IR \%inoutencfile [ .enc ]\c
-]
-[\c
-.B \-u\c
-]
-[\c
-.B \-v\ \c
-.IR \%vplfile [ .vpl ]\c
-]
-[\c
-.B \-V\ \c
-.IR \%scvplfile [ .vpl ]\c
-]
-[\c
-.B \-w\c
-]
-[\c
-.B \-x\c
-]
-[\c
-.BI \-y \ \%vertical-shift-factor\c
-]
-[\c
-.IR \%tfmfile [ .tfm ]\c
-]
-.br
-.in
-.B "ttf2tfm \-\^\-version"
-|
-.B \-\^\-help
-.ad
-.hy
-.
-.
-.
-.\" ====
-.\" ==== macro definitions
-.\" ====
-.
-.\" here we define \TeX for troff and nroff
-.if t .ds TX T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X
-.if n .ds TX TeX
-.
-.\" and here the same for \LaTeX
-.if t \{\
-.ie '\*(.T'dvi' \
-.ds LX L\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\*(TX
-.el .ds LX L\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\*(TX
-.\}
-.if n .ds LX LaTeX
-.
-.\" \LaTeXe
-.\" note that we need \vareps for TeX instead of \eps which can only be
-.\" accessed with the \N escape sequence (in the Math Italic font)
-.if t \{\
-.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v'
-.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v'
-.\}
-.if n .ds LE LaTeX\ 2e
-.
-.\" a typewriter font
-.if t \{\
-.de C
-\fC\\$1\fP\\$2\fC\\$3\fP\\$4
-..
-.\}
-.if n \{\
-.de C
-\\$1\\$2\\$3\\$4
-..
-.\}
-.
-.\" ====
-.\" ==== end of macro definitions
-.\" ====
-.
-.
-.
-.SH DESCRIPTION
-This program extracts the metric and kerning information of a TrueType
-font and converts it into metric files usable by \*(TX
-(quite similar to
-.B afm2tfm
-which is part of the
-.B dvips
-package; please consult its info files for more details on the various
-parameters (especially encoding files).
-.PP
-Since a TrueType font often contains more than 256\ glyphs, some means
-are necessary to map a subset of the TrueType glyphs onto a \*(TX
-font.
-To do this, two mapping tables are needed: the first (called `input' or
-`raw' encoding) maps the TrueType font to a raw \*(TX font (this mapping
-table is used by both
-.B ttf2tfm
-and
-.BR ttf2pk ),
-and the second (called `output' or `virtual' encoding) maps the raw \*(TX
-font to another (virtual) \*(TX
-font, providing all kerning and ligature information needed by \*(TX.
-.PP
-This two stage mapping has the advantage that one raw font can be
-accessed with various \*(LX
-encodings (e.g.\ T1 and OT1) via the virtual font mechanism, and just
-one
-.C PK
-file is necessary.
-.PP
-For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a different
-mechanism is provided (see
-.B "SUBFONT DEFINITION FILES"
-below).
-.
-.
-.SH PARAMETERS
-Most of the command line switch names are the same as in
-.B afm2tfm
-for convenience.
-One or more space characters between an option and its value is mandatory;
-options can't be concatenated.
-For historical reasons, the first parameter can
-.I not
-be a switch but must be the font name.
-.TP
-.BI \-c \ caps-height-factor
-The height of small caps made with the
-.B \-V
-switch.
-Default value of this real number is\ 0.8 times the height of uppercase
-glyphs.
-.IP
-Will be ignored in subfont mode.
-.TP
-.BI \-e \ extension-factor
-The extension factor to stretch the characters horizontally.
-Default value of this real number is\ 1.0; if less than\ 1.0, you get a
-condensed font.
-.TP
-.BI \-E \ encoding-id
-The TrueType encoding ID.
-Default value of this non-negative integer is\ 1.
-.IP
-Will be ignored if
-.B \-N
-is used.
-.TP
-.BI \-f \ font-index
-The font index in a TrueType Collection.
-Default is the first font (index\ 0).
-[TrueType collections are usually found in some CJK fonts; e.g.\ the first
-font index specifies glyphs and metrics for horizontal writing, and the
-second font index does the same for vertical writing.
-TrueType collections usually have the extension `\c
-.C \&.ttc '.]
-.IP
-Will be ignored for ordinary TrueType fonts.
-.TP
-.B \-l
-Create ligatures in subfonts between first and second bytes of all the
-original character codes.
-Example: Character code\ 0xABCD maps to character position\ 123 in
-subfont\ 45.
-Then a ligature in subfont\ 45 between position 0xAB and\ 0xCD pointing
-to character\ 123 will be produced.
-The fonts of the Korean H\*(LX
-package use this feature.
-Note that this option generates correct ligatures only for TrueType fonts
-where the input cmap is identical to the output encoding.
-In case of H\*(LX, TTFs must have platform ID\ 3 and encoding ID\ 5.
-.IP
-Will be ignored if not in subfont mode.
-.TP
-.BI \-L \ ligature-file
-Same as
-.BR \-l ,
-but character codes for ligatures are specified in
-.IR \%ligature-file .
-For example, `\c
-.C \-L\ \%KS-HLaTeX '
-generates correct ligatures for the Korean H\*(LX
-package regardless of the platform and encoding ID of the used TrueType
-font (the file
-.C KS-HLaTeX.sfd
-is part of the ttf2pk package).
-.IP
-Ligature files have the same format and extension as
-.C SFD
-files.
-This option will be ignored if not in subfont mode.
-.TP
-.B \-n
-Use PS names (of glyphs) of the TrueType font.
-Only glyphs with a valid entry in the selected cmap are used.
-.IP
-Will be ignored in subfont mode.
-.TP
-.B \-N
-Use only PS names of the TrueType font.
-No cmap is used, thus the switches
-.B \-E
-and
-.B \-P
-have no effect, causing a warning message.
-.IP
-Will be ignored in subfont mode.
-.TP
-.B \-O
-Use octal values for all character codes in the
-.C VPL
-file rather than names; this is useful for symbol or CJK fonts where
-character names such as `A' are meaningless.
-.TP
-.BI \-p \ inencfile
-The input encoding file name for the TTF\(->raw\ \*(TX
-mapping.
-This parameter has to be specified in a map file
-(default:
-.C \%ttfonts.map )
-recorded in
-.C \%ttf2pk.cfg
-for successive
-.B ttf2pk
-calls.
-.IP
-Will be ignored in subfont mode.
-.TP
-.BI \-P \ platform-id
-The TrueType platform ID.
-Default value of this non-negative integer is\ 3.
-.IP
-Will be ignored if
-.B \-N
-is used.
-.TP
-.B \-q
-Make
-.B ttf2tfm
-quiet.
-It suppresses any informational output except warning and error
-messages.
-For CJK fonts, the output can get quite large if you don't specify
-this switch.
-.TP
-.BI \-r \ old-glyphname\ new-glyphname
-Replaces
-.I \%old-glyphname
-with
-.IR \%new-glyphname .
-This switch is useful if you want to give an unnamed glyph (i.e., a glyph
-which can be represented with `.gXXX' or `.cXXX' only) a name or if you want
-to rename an already existing glyph name.
-You can't use the `.gXXX' or `.cXXX' glyph name constructs for
-.IR \%new-glyphname ;
-multiple occurrences of
-.B \-r
-are possible.
-.IP
-If in subfont mode or if no encoding file is specified, this switch is
-ignored.
-.TP
-.BI \-R \ replacement-file
-Use this switch if you have many replacement pairs; they can be collected
-in a file which should have `\c
-.C \&.rpl '
-as extension.
-The syntax used in such replacement files is simple: Each non-empty
-line must contain a pair `\c
-.IR "\%old-glyphname \%new-glyphname" '
-separated by whitespace (without the quotation marks).
-A percent sign starts a line comment; you can continue a line on the next
-line with a backslash as the last character.
-.IP
-If in subfont mode or if no encoding file is specified, this switch is
-ignored.
-.TP
-.BI \-s \ slant-factor
-The obliqueness factor to slant the font, usually much smaller than\ 1.
-Default of this real number is\ 0.0; if the value is larger than zero,
-the characters slope to the right, otherwise to the left.
-.TP
-.BI \-t \ outencfile
-The output encoding file name for the virtual font(s).
-Only characters in the raw \*(TX
-font are used.
-.IP
-Will be ignored in subfont mode.
-.TP
-.BI \-T \ inoutencfile
-This is equivalent to
-.RB ` \-p
-.I inoutencfile
-.B \-t
-.IR inoutencfile '.
-.IP
-Will be ignored in subfont mode.
-.TP
-.B \-u
-Use only those characters specified in the output encoding, and no
-others.
-By default,
-.B ttf2tfm
-tries to include all characters in the virtual font, even those not
-present in the encoding for the virtual font (it puts them into
-otherwise-unused positions, rather arbitrarily).
-.IP
-Will be ignored in subfont mode.
-.TP
-.BI \-v \ vplfile
-Output a
-.C VPL
-file in addition to the
-.C TFM
-file.
-If no output encoding file is specified,
-.B ttf2tfm
-uses a default font encoding (cmtt10).
-.B Note:
-Be careful to use different names for the virtual font and the raw font!
-.IP
-Will be ignored in subfont mode.
-.TP
-.BI \-V \ scvplfile
-Same as
-.BR \-v ,
-but the virtual font generated is a pseudo small caps font obtained by
-scaling uppercase letters by\ 0.8 (resp. the value specified with
-.BR \-c )
-to typeset lowercase.
-This font handles accented letters and retains proper kerning.
-.IP
-Will be ignored in subfont mode.
-.TP
-.B \-w
-Generate PostScript encoding vectors containing glyph indices, primarily
-used to embed TrueType fonts in pdf\*(TX.
-.B ttf2tfm
-takes the
-.C TFM
-names and replaces the suffix with
-.C \&.enc ;
-that is, for files
-.C foo01.tfm ,
-.C foo02.tfm ,\ \&.\|.\|.\&
-it creates
-.C foo01.enc ,
-.C foo02.enc ,\ \&.\|.\|.\|\&
-at the same place.
-.IP
-Will be ignored if not in subfont mode.
-.TP
-.B \-x
-Rotate all glyphs by 90 degrees counter-clockwise.
-If no
-.B \-y
-parameter is given, the rotated glyphs are shifted down vertically
-by\ 0.25em.
-.IP
-Will be ignored if not in subfont mode.
-.TP
-.BI \-y \ vertical-shift-factor
-Shift down rotated glyphs by the given amount (the unit is
-.IR em ).
-.IP
-Ignored if not in subfont mode or glyphs are not rotated.
-.TP
-.B \-\^\-version
-Shows the current version of
-.B ttf2tfm
-and the used file search library (e.g.
-.BR kpathsea ).
-.TP
-.B \-\^\-help
-Shows usage information.
-.PP
-If no
-.C TFM
-file name is given, the name of the
-.C TTF
-file is used, including the full path and replacing the extension with `\c
-.C \&.tfm '.
-.
-.
-.SH CMAPS
-Contrary to Type\ 1 PostScript fonts (but similar to the new CID
-PostScript font format), most TrueType fonts have more than one native
-mapping table, also called `cmap', which maps the (internal) TTF glyph
-indices to the (external) TTF character codes.
-Common examples are a mapping table to Unicode encoded character
-positions, and the standard Macintosh mapping.
-
-To specify a TrueType mapping table, use the options
-.B \-P
-and
-.BR \-E .
-With
-.B \-P
-you specify the platform ID; defined values are:
-.PP
-.TS
-l l.
-\fIplatform\fP \fIplatform ID (pid)\fP
-_
-Apple Unicode 0
-Macintosh 1
-ISO 2
-Microsoft 3
-.TE
-.PP
-The encoding ID depends on the platform.
-For pid=0, we ignore the
-.B \-E
-parameter (setting it to zero) since the mapping table is always
-Unicode version\ 2.0.
-For pid=1, the following table lists the defined values:
-.PP
-.RS
-platform ID = 1
-.RE
-.TS
-l l.
-\fIscript\fP \fIencoding ID (eid)\fP
-_
-Roman 0
-Japanese 1
-Chinese 2
-Korean 3
-Arabic 4
-Hebrew 5
-Greek 6
-Russian 7
-Roman Symbol 8
-Devanagari 9
-Gurmukhi 10
-Gujarati 11
-Oriya 12
-Bengali 13
-Tamil 14
-Telugu 15
-Kannada 16
-Malayalam 17
-Sinhalese 18
-Burmese 19
-Khmer 20
-Thai 21
-Laotian 22
-Georgian 23
-Armenian 24
-Maldivian 25
-Tibetan 26
-Mongolian 27
-Geez 28
-Slavic 29
-Vietnamese 30
-Sindhi 31
-Uninterpreted 32
-.TE
-.PP
-Here are the ISO encoding IDs:
-.PP
-.RS
-platform ID = 2
-.RE
-.TS
-l l.
-\fIencoding\fP \fIencoding ID (eid)\fP
-ASCII 0
-ISO 10646 1
-ISO 8859-1 2
-.TE
-.PP
-And finally, the Microsoft encoding IDs:
-.PP
-.RS
-platform ID = 3
-.RE
-.TS
-l l.
-\fIencoding\fP \fIencoding ID (eid)\fP
-Symbol 0
-Unicode 2.0 1
-Shift JIS 2
-GB 2312 (1980) 3
-Big 5 4
-KS X 1001 (Wansung) 5
-KS X 1001 (Johab) 6
-UCS-4 10
-.TE
-.PP
-The program will abort if you specify an invalid platform/encoding ID
-pair.
-It will then show the possible pid/eid pairs.
-Please note that most fonts have at most two or three cmaps, usually
-corresponding to the pid/eid pairs (1,0), (3,0), or (3,1) in case of
-Latin based fonts.
-Valid Microsoft fonts should have a (3,1) mapping table, but some
-fonts exist (mostly Asian fonts) which have a (3,1) cmap not encoded
-in Unicode.
-The reason for this strange behavior is the fact that some old
-MS\ Windows versions will reject fonts having a non-(3,1) cmap (since
-all non-Unicode Microsoft encoding IDs are for Asian MS\ Windows
-versions).
-.PP
-The
-.B \-P
-and
-.B \-E
-options of
-.B ttf2tfm
-must be equally specified for
-.BR ttf2pk ;
-the corresponding parameters in a map file are `Pid' and `Eid',
-respectively.
-.PP
-The default pid/eid pair is (3,1).
-.PP
-Similarly, an
-.B \-f
-option must be specified as `Fontindex' parameter in a map file.
-.PP
-If you use the
-.B \-N
-switch, all cmaps are ignored, using only the PostScript names in the
-TrueType font.
-The corresponding option in a map file is \%`PS=Only'.
-If you use the
-.B \-n
-switch, the default glyph names built into
-.B ttf2tfm
-are replaced with the PS glyph names found in the font.
-In many cases this is not what you want because the glyph names in the
-font are often incorrect or non-standard.
-The corresponding option in a map file is \%`PS=Yes'.
-.PP
-Single replacement glyph names specified with
-.B \-r
-must be given directly as `\c
-.IR "old-glyphname new-glyphname" '
-in a map file;
-.B \-R
-is equivalent to the `Replacement' option.
-.
-.
-.SH INPUT AND OUTPUT ENCODINGS
-You must specify the encoding vectors from the TrueType font to the
-raw \*(TX
-font and from the raw \*(TX
-font to the virtual \*(TX
-font exactly as with
-.BR afm2tfm ,
-but you have more possibilities to address the character codes.
-[With `encoding vector' a mapping table with 256\ entries in form of a
-PostScript vector is meant; see the file
-.C \%T1-WGL4.enc
-of this package for an example.]
-With
-.BR afm2tfm ,
-you must access each glyph with its Adobe glyph name, e.g.\ \c
-\%`/quotedsingle' or \%`/Acircumflex'.
-This has been extended with
-.BR ttf2tfm ;
-now you can (and sometimes must) access the code points and/or glyphs
-directly, using the following syntax for specifying the character position
-in decimal, octal, or hexadecimal notation:
-`/.c\c
-.IR <decimal-number> ',
-`/.c0\c
-.IR <octal-number> ',
-or `/.c0x\c
-.IR <hexadecimal-number> '.
-Examples: \%`/.c72', \%`/.c0646', \%`/.c0x48'.
-To access a glyph index directly, use the character `g' instead of `c' in
-the just introduced notation.
-Example: \%`/.g0x32'.
-[Note: The `.cXXX' notation makes no sense if
-.B \-N
-is used.]
-.PP
-For pid/eid pairs (1,0) and (3,1), both
-.B ttf2tfm
-and
-.B ttf2pk
-recognize built-in default Adobe glyph names; the former follows the names
-given in Appendix\ E of the book `Inside Macintosh', volume\ 6, the latter
-uses the names given in the TrueType Specification (WGL4, a Unicode subset).
-Note that Adobe names for a given glyph are often not unique and do
-sometimes differ, e.g., many PS fonts have the glyph `mu', whereas this
-glyph is called `mu1' in the WGL4 character set to distinguish it from the
-real Greek letter mu.
-Be also aware that OpenType (i.e. TrueType\ 2.0) fonts use an updated WGL4
-table; we use the data from the latest published TrueType specification
-(1.66).
-You can find those mapping tables in the source code file
-.C \%ttfenc.c .
-.PP
-On the other hand, the switches
-.B \-n
-and
-.B \-N
-makes
-.B ttf2tfm
-read in and use the PostScript names in the TrueType font itself (stored
-in the `post' table) instead of the default Adobe glyph names.
-.PP
-Use the
-.B \-r
-switch to remap single glyph names and
-.B \-R
-to specify a file containing replacement glyph name pairs.
-.PP
-If you don't select an input encoding, the first 256\ glyphs of the
-TrueType font with a valid entry in the selected cmap will be mapped
-to the \*(TX
-raw font (without the
-.B \-q
-option,
-.B ttf2tfm
-prints this mapping table to standard output), followed by all glyphs
-not yet addressed in the selected cmap.
-However, some code points for the (1,0) pid/eid pair are omitted since
-they do not represent glyphs useful for \*(TX:
-0x00 (null), 0x08 (backspace), 0x09 (horizontal tabulation), 0x0d
-(carriage return), and 0x1d (group separator).
-The `invalid character' with glyph index\ 0 will be omitted too.
-.PP
-If you select the
-.B \-N
-switch, the first 256\ glyphs of the TrueType font with a valid PostScript
-name will be used in case no input encoding is specified.
-Again, some glyphs are omitted: `.notdef', `.null', and
-`nonmarkingreturn'.
-.PP
-If you don't select an output encoding,
-.B ttf2tfm
-uses the same mapping table as
-.B afm2tfm
-would use (you can find it in the source code file
-.C \%texenc.c );
-it corresponds to \*(TX
-typewriter text.
-Unused positions (either caused by empty code points in the mapping
-table or missing glyphs in the TrueType font) will be filled (rather
-arbitrarily) with characters present in the input encoding but not
-specified in the output encoding (without the
-.B \-q
-option
-.B ttf2tfm
-prints the final output encoding to standard output).
-Use the
-.B \-u
-option if you want only glyphs in the virtual font which are defined
-in the output encoding file, and nothing more.
-.PP
-One feature missing in
-.B afm2tfm
-has been added which is needed by \*(LX's T1 encoding:
-.B ttf2tfm
-will construct the glyph `Germandbls' (by simply concatenating two `S'
-glyphs) even for normal fonts if possible.
-It appears in the glyph list as the last item, marked with an asterisk.
-Since this isn't a real glyph it will be available only in the virtual
-font.
-.PP
-For both input and output encoding, an empty code position is
-represented by the glyph name \%`/.notdef'.
-.PP
-In encoding files, you can use `\\' as the final character of a line to
-indicate that the input is continued on the next line.
-The backslash and the following newline character will be removed.
-.PP
-.
-.
-.SH SUBFONT DEFINITION FILES
-CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain
-several thousand glyphs; to use them with \*(TX
-it is necessary to split such large fonts into subfonts.
-Subfont definition files (usually having the extension `\c
-.C \&.sfd ')
-are a simple means to do this smoothly.
-.PP
-A subfont file name usually consists of a prefix, a subfont infix, and
-a postfix (which is empty in most cases), e.g.
-.PP
-.in +2m
-ntukai23 \(-> prefix: ntukai, infix: 23, postfix: (empty)
-.PP
-Here the syntax of a line in an
-.C SFD
-file, describing one subfont:
-.in +2m
-.TP
-.I <whitespace> <infix> <whitespace> <ranges> <whitespace>
-.sp
-.TP
-.IR <infix> \ :=
-anything except whitespace.
-It is best to use only alphanumerical characters.
-.TP
-.IR <whitespace> \ :=
-space, formfeed, carriage return, horizontal and vertical tabs -- no
-newline characters.
-.TP
-.IR <ranges> \ :=
-.IR "<ranges> <whitespace> <codepoint>" \ |
-.br
-.IR "<ranges> <whitespace> <range>" \ |
-.br
-.I <ranges> <whitespace> <offset> <whitespace> <range>
-.TP
-.IR <codepoint> \ :=
-.I <number>
-.br
-.TP
-.IR <range> \ :=
-.IR <number> \ `_' \ <number>
-.br
-.TP
-.IR <offset> \ :=
-.IR <number> \ `:'
-.TP
-.IR <number> \ :=
-hexadecimal (prefix `0x'), decimal, or octal (prefix `0')
-.PP
-A line can be continued on the next line with a backslash ending the line.
-The ranges must not overlap; offsets have to be in the range 0-255.
-.PP
-Example:
-.PP
-.in +2m
-The line
-.PP
-.in +4m
-.C "03 10: 0x2349 0x2345_0x2347"
-.PP
-.in +2m
-assigns to the code positions 10, 11, 12, and\ 13 of the subfont
-having the infix `03' the character codes 0x2349, 0x2345, 0x2346, and
-0x2347 respectively.
-.PP
-The
-.C SFD
-files in the distribution are customized for the CJK package for
-\*(LX.
-.PP
-You have to embed the
-.C SFD
-file name into the
-.C TFM
-font name (at the place where the infix will appear) surrounded by two
-`@' signs, on the command line resp.\ a map file;
-both
-.B ttf2tfm
-and
-.B ttf2pk
-switch then to subfont mode.
-.PP
-It is possible to use more than a single
-.C SFD
-file by separating them with commata and no whitespace; for a given
-subfont, the first file is scanned for an entry, then the next file,
-and so on.
-Later entries override entries found earlier (possibly only partially).
-For example, the first
-.C SFD
-file sets up range 0x10-0xA0, and the next one modifies entries
-0x12 and 0x25.
-As can be easily seen, this algorithm allows for adding and replacing,
-but not for removing entries.
-.PP
-Subfont mode disables the options
-.BR \-n ,
-.BR \-N ,
-.BR \-p ,
-.BR \-r ,
-.BR \-R ,
-.BR \-t ,
-.BR \-T ,
-.BR \-u ,
-.BR \-v ,
-.BR \-V
-and
-.B \-w
-for
-.BR ttf2tfm ;
-similarly, no `Encoding' or `Replacement' parameter is allowed in
-a map file.
-Single replacement glyph names are ignored too.
-.PP
-.B ttf2tfm
-will create all subfont
-.C TFM
-files specified in the
-.C SFD
-files (provided the subfont contains glyphs) in one run.
-.PP
-Example:
-.PP
-.in +2m
-The call
-.PP
-.in +4m
-.C "ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@"
-.PP
-.in +2m
-will use
-.C Big5.sfd
-and
-.C Big5-supp.sfd ,
-producing
-.I all
-subfont files
-.C ntukai01.tfm ,
-.C ntukai02.tfm ,
-etc.
-.
-.
-.SH "RETURN VALUE"
-ttf2tfm returns 0 on success and 1 on error; warning and error
-messages are written to standard error.
-.
-.
-.SH "SOME NOTES ON FILE SEARCHING"
-Both
-.B ttf2pk
-and
-.B ttf2tfm
-use either the
-.BR kpathsea ,
-.BR emtexdir ,
-or
-.B MiK\*(TX
-library for searching files
-.RB ( emtexdir
-will work only on operating systems which have an MS-DOSish background, i.e.
-MS-DOS, OS/2, Windows;
-.B Mik\*(TX
-is specific to MS Windows).
-.PP
-As a last resort, both programs can be compiled without a search library;
-the searched files must be then in the current directory or specified with a
-path.
-Default extensions will be appended also (with the exception that only `\c
-.C \&.ttf '
-is appended and not `\c
-.C \&.ttc ').
-.
-.
-.SS kpathsea
-Please note that older versions of
-.B kpathsea
-(<3.2) have no special means to seach for TrueType fonts and related
-files, thus we use the paths for PostScript related stuff.
-The actual version of kpathsea is displayed on screen if you call
-either
-.B ttf2pk
-or
-.B ttf2tfm
-with the
-.B \-\^\-version
-command line switch.
-.PP
-Here is a table of the file type and the corresponding
-.B kpathsea
-variables.
-.C TTF2PKINPUTS
-and
-.C TTF2TFMINPUTS
-are program specific environment variables introduced in
-.B kpathsea
-version\ 3.2:
-.PP
-.RS
-.TS
-l l.
-\&.ttf and .ttc TTFONTS
-ttf2pk.cfg TTF2PKINPUTS
-\&.map TTF2PKINPUTS
-\&.enc TTF2PKINPUTS, TTF2TFMINPUTS
-\&.rpl TTF2PKINPUTS, TTF2TFMINPUTS
-\&.tfm TFMFONTS
-\&.sfd TTF2PKINPUTS, TTF2TFMINPUTS
-.TE
-.RE
-
-.PP
-And here the same for pre-3.2-versions of
-.B kpathsea:
-.PP
-.RS
-.TS
-l l.
-\&.ttf and .ttc T1FONTS
-ttf2pk.cfg TEXCONFIG
-\&.map TEXCONFIG
-\&.enc TEXPSHEADERS
-\&.rpl TEXPSHEADERS
-\&.tfm TFMFONTS
-\&.sfd TEXPSHEADERS
-.TE
-.RE
-.PP
-Finally, the same for pre-3.0-versions (as used e.g. in te\*(TX\ 0.4):
-.PP
-.RS
-.TS
-l l.
-\&.ttf and .ttc DVIPSHEADERS
-ttf2pk.cfg TEXCONFIG
-\&.map TEXCONFIG
-\&.enc DVIPSHEADERS
-\&.rpl DVIPSHEADERS
-\&.tfm TFMFONTS
-\&.sfd DVIPSHEADERS
-.TE
-.RE
-.PP
-Please consult the info files of
-.B kpathsea
-for details on these variables.
-The decision whether to use the old or the new scheme will be done
-during compilation.
-.PP
-You should set the
-.C TEXMFCNF
-variable to the directory where your
-.C texmf.cnf
-configuration file resides.
-.PP
-Here is the proper command to find out to which value a
-.B kpathsea
-variable is set (we use
-.C TTFONTS
-as an example).
-This is especially useful if a variable isn't set in
-.C texmf.cnf
-or in the environment, thus pointing to the default value which is
-hard-coded into the
-.B kpathsea
-library.
-.PP
-.RS
-.C "kpsewhich -progname=ttf2tfm -expand-var='$TTFONTS'"
-.RE
-.PP
-We select the program name also since it is possible to specify
-variables which are searched only for a certain program -- in our
-example it would be
-.C TTFONTS.ttf2tfm .
-.PP
-A similar but not identical method is to say
-.PP
-.in +2m
-.C "kpsewhich -progname=ttf2tfm -show-path='truetype fonts'"
-.PP
-[A full list of format types can be obtained by saying `\c
-.C "kpsewhich --help" '
-on the command line prompt.]
-This is exactly how
-.B ttf2tfm
-(and
-.BR ttf2pk )
-searches for files; the disadvantage is that all variables are expanded
-which can cause very long strings.
-.
-.
-.SS emtexdir
-Here the list of suffixes and their related environment variables to be
-set in
-.C autoexec.bat
-(resp. in
-.C config.sys
-for OS/2):
-.PP
-.RS
-.TS
-l l.
-\&.ttf and .ttc TTFONTS
-ttf2pk.cfg TTFCFG
-\&.map TTFCFG
-\&.enc TTFCFG
-\&.rpl TTFCFG
-\&.tfm TEXTFM
-\&.sfd TTFCFG
-.TE
-.RE
-.PP
-If one of the variables isn't set, a warning message is emitted.
-The current directory will always be searched.
-As usual, one exclamation mark appended to a directory path causes
-subdirectories one level deep to be searched, two exclamation marks cause
-all subdirectories to be searched.
-Example:
-.PP
-.in +2m
-.C TTFONTS=c:\\\\fonts\\\\truetype!!;d:\\\\myfonts\\\\truetype!
-.PP
-Constructions like `\c
-.C c:\\\\fonts!!\\\\truetype '
-aren't possible.
-.
-.
-.SS MiK\*(TX
-Both
-.B ttf2tfm
-and
-.B ttf2pk
-have been fully integrated into
-.BR MiK\*(TX .
-Please refer to the documentation of
-.B MiK\*(TX
-for more details on file searching.
-.
-.
-.SH PROBLEMS
-Many
-.B vptovf
-implementations allow only 100\ bytes for the
-.C TFM
-header (the limit is 1024 in the
-.C TFM
-file format itself): 8\ bytes for checksum and design size, 40\ bytes for the
-family name, 20\ bytes for the encoding, and 4\ bytes for a face byte.
-There remain only 28\ bytes for some additional information which is used by
-.B ttf2tfm
-for an identification string (which is essentially a copy of the command
-line), and this limit is always exceeded.
-
-The optimal solution is to increase the value of
-.I \%max_header_bytes
-in the file
-.C vptovf.web
-(and probably
-.C pltotf.web
-too) to, say,\ 400
-and recompile
-.B vptovf
-(and
-.BR pltotf ).
-Otherwise you'll get some (harmless) error messages like
-.PP
-.in +2m
-.C "This HEADER index is too big for my present table size"
-.PP
-which can be safely ignored.
-.
-.
-.SH "SEE ALSO"
-.BR ttf2pk (1),
-.BR afm2tfm (1),
-.BR vptovf (1),
-.br
-the info pages for
-.B dvips
-and
-.B kpathsea
-.
-.
-.SH AVAILABILITY
-.B ttf2tfm
-is part of the FreeType\ 1 package, a high quality TrueType rendering
-library.
-.
-.
-.SH AUTHORS
-Werner LEMBERG
-.C <wl@gnu.org>
-.br
-Fr\('ed\('eric LOYER
-.C <loyer@ensta.fr>