Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OTFTOTFM(1)		    General Commands Manual		   OTFTOTFM(1)

NAME
       otftotfm	- create TeX font metrics from OpenType	fonts

SYNOPSIS
       otftotfm	[-a] [options] fontfile	[texname]

DESCRIPTION
       Otftotfm	 creates the font metric and encoding files required to	use an
       OpenType	font with TeX.	You supply an OpenType ".otf" or  ".ttf"  font
       file,  a	base ".enc" encoding, and a TeX	name "texname" for the result-
       ing font, and say which OpenType	features should	be  turned  on.	  Then
       otftotfm	 generates  and	 installs the corresponding TeX-related	metric
       files (".tfm" TeX font metrics, ".vf" virtual fonts, and	".enc"	encod-
       ing files).  It works on	both PostScript-flavored and TrueType-flavored
       OpenType	 fonts,	although TrueType-flavor support will only work	easily
       with pdftex.

       The easiest way to use otftotfm is with the -a  option;	see  Automatic
       Mode  below.   Without  -a, otftotfm writes all its output files	to the
       current directory.

       After running "otftotfm fontfile	texname" and  installing  the  results
       (manually  or with -a), you can use the OpenType	font in	plain TeX with
       a command like this:

	   \font\myfont=texname	at 10pt
	   {\myfont This text uses the OpenType	font.}

       LaTeX users will	generally make a ".fd" input  file  so	that  commands
       like  "\renewcommand{\rmdefault}{TeXName}" work correctly.  See the EX-
       AMPLE section for more; check  the  DIAGNOSTICS	and  FREQUENTLY	 ASKED
       QUESTIONS sections if you have trouble.

   OpenType Features
       OpenType	 fonts support optional	features that change their appearance.
       Use the -f option to turn on selected features.	For example,  "-fsmcp"
       replaces	 lower-case  letters with the corresponding small capitals, in
       fonts that support this.

       You'll generally	provide	at least the "-fkern"  and  "-fliga"  options,
       which  activate pair kerns and f-ligatures.  Other interesting features
       include "-fcpsp", for capital spacing;  "-fdlig",  for  optional	 liga-
       tures;  "-flnum",  "-fonum",  "-fpnum",	and "-ftnum", to control digit
       glyphs; "-fsmcp", for small capitals; "-fswsh", for swash variants; and
       "-fcswh", for contextual	swash.	See the	FEATURE	DIRECTORY section  be-
       low for more.  The otfinfo(1) program will report which features	a font
       supports; run "otfinfo -f fontfile".

       Feature	options	 can also apply	a feature to a subset of characters in
       the font.  For example, "--lf smcp" only	replaces  letters  with	 small
       capitals,  whereas "-fsmcp" might additionally replace digits and punc-
       tuation marks with small-capital	versions.

   Automatic Mode
       Automatic mode, triggered by the	-a/--automatic option,	installs  font
       metrics	and  encoding  files where TeX can find	them, and additionally
       installs	a Type 1 font and mapping for 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.

       Automatic mode should run seamlessly out	of the box.  Otftotfm will in-
       stall metrics files, encodings,	map  files,  and  Type	1  fonts  into
       $HOME/.texmf-var	 or  any  other	 writable TEXMF	directory, and run up-
       dmap(1) to update the global lists of installed fonts.  (On older teTeX
       installations, you may first need to copy the system's updmap.cfg  file
       to  $HOME/texmf/web2c  and run mktexlsr(1).  On newer TeXLive installa-
       tions, you may need to set the TEXMFVAR environment variable.)  You can
       then run	"otftotfm -a fontfile texname" and immediately	refer  to  the
       font  in	 TeX  using the	texname	you supplied.  Again, you will have to
       write ".fd" files and/or	typescripts to make the	font conveniently  ac-
       cessible	 from  LaTeX  or  ConTeXt.  See	the DIAGNOSTICS	section	if you
       have problems with these	instructions.

       In automatic mode, otftotfm searches your $TEXMFVAR or $TEXMF path  for
       a  writable directory, then installs files under	that directory tree as
       follows:
       File type   Directory			      Filename
       TFM	   TEXMF/fonts/tfm/vendor/typeface/   texname[--base].tfm
       VF	   TEXMF/fonts/vf/vendor/typeface/    texname.vf
       PL	   TEXMF/fonts/pl/vendor/typeface/    texname[--base].pl
       VPL	   TEXMF/fonts/vpl/vendor/typeface/   texname.vpl
       encoding	   TEXMF/fonts/enc/dvips/vendor/      a_signature.enc
		   or TEXMF/dvips/vendor/
       font map	   TEXMF/fonts/map/dvips/vendor/      vendor.map
		   or TEXMF/dvips/vendor/

       "TEXMF" stands for the writable TEXMF directory.	 Texname is  the  font
       name  supplied  as otftotfm's second argument.  The vendor and typeface
       strings are required by TDS; they default to "lcdftools"	and the	font's
       family name, respectively, but see the --vendor and --typeface options.
       Signature is an opaque 6-character encoding signature.

       Otftotfm	also installs a	font file suitable for printing.   PostScript-
       flavored	 OpenType  fonts are translated	to Type	1 format and installed
       as PFB fonts.  TrueType-flavored	fonts are normally  installed  as  is,
       since  pdftex  and pdflatex can read TrueType directly; but if you pro-
       vide the	--type42 option, otftotfm will	translate  TrueType  fonts  to
       Type  42	 format, which dvips understands.  Otftotfm does not overwrite
       existing	font files.

       The installation	paths are as follows, where PSname is the font's Post-
       Script name.
       PFB	  TEXMF/fonts/type1/vendor/typeface/	  PSname.pfb
       TrueType	  TEXMF/fonts/truetype/vendor/typeface/	  fontfile
       Type 42	  TEXMF/fonts/type42/vendor/typeface/	  PSname.t42

       You can override	these directories with environment variables  and  op-
       tions as	follows.  Options take precedence over environment variables.
       File type   Environment variable	  Option
       TFM	   TFMDESTDIR		  --tfm-directory
       VF	   VFDESTDIR		  --vf-directory
       PL	   PLDESTDIR		  --pl-directory
       VPL	   VPLDESTDIR		  --vpl-directory
       encoding	   ENCODINGDESTDIR	  --encoding-directory
       PFB	   T1DESTDIR		  --type1-directory
       TrueType	   TRUETYPEDESTDIR	  --truetype-directory
       Type 42	   T42DESTDIR		  --type42-directory
       font map	   -			  --map-file

       Otftotfm	 will  update  the TEXMF/ls-R file when	installing files under
       TEXMF.  It will also run	the updmap(1) program  after  changing	a  map
       file,  unless the --no-updmap option was	supplied.  However, if an exe-
       cutable file called TEXMF/dvips/updmap exists, this  file  is  executed
       (from  the  TEXMF/dvips directory) rather than the global updmap.  This
       is so you can write a fast, customized version of updmap	if desired.

EXAMPLE
       This section uses MinionPro to show one way to install  OpenType	 fonts
       for  LaTeX.  We begin with six fonts: "MinionPro-Regular.otf", "Minion-
       Pro-It.otf",   "MinionPro-Semibold.otf",	   "MinionPro-SemiboldIt.otf",
       "MinionPro-Bold.otf", and "MinionPro-BoldIt.otf".

       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 has reasonable accent support and
       is a good choice	for many OpenType fonts.  LY1 corresponds to the "tex-
       nansx.enc" encoding file, so we will supply otftotfm with the "-e  tex-
       nansx" option.

	      Expert  note:  Strictly  speaking,  LY1 corresponds to the "tex-
	      nansi.enc" encoding  file.   Since  the  "texnansx.enc"  version
	      omits  duplicate	characters, it has more	room for font-specific
	      glyphs and is generally a	better choice; but if you plan to type
	      characters like "ae" directly into your editor, rather than  us-
	      ing TeX commands like \ae, you should use	"texnansi.enc".

       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.

       We're  now  ready to run	otftotfm for the first set of fonts.  Note the
       "-fkern -fliga" options,	which access pair kerns	and  the  default  "f"
       ligatures.

	   otftotfm -a -e texnansx MinionPro-Regular.otf \
		   -fkern -fliga LY1--MinionPro-Regular
	   otftotfm -a -e texnansx MinionPro-It.otf \
		   -fkern -fliga LY1--MinionPro-It
	   otftotfm -a -e texnansx MinionPro-Semibold.otf \
		   -fkern -fliga LY1--MinionPro-Semibold
	   otftotfm -a -e texnansx MinionPro-SemiboldIt.otf \
		   -fkern -fliga LY1--MinionPro-SemiboldIt
	   otftotfm -a -e texnansx MinionPro-Bold.otf \
		   -fkern -fliga LY1--MinionPro-Bold
	   otftotfm -a -e texnansx MinionPro-BoldIt.otf	\
		   -fkern -fliga LY1--MinionPro-BoldIt

       The  small-caps fonts are generated with	an additional "-fsmcp" 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.

	   otftotfm -a -e texnansx MinionPro-Regular.otf \
		   -fkern -fliga -fsmcp	LY1--MinionPro-Regular--fsmcp
	   otftotfm -a -e texnansx MinionPro-Semibold.otf \
		   -fkern -fliga -fsmcp	LY1--MinionPro-Semibold--fsmcp
	   otftotfm -a -e texnansx MinionPro-Bold.otf \
		   -fkern -fliga -fsmcp	LY1--MinionPro-Bold--fsmcp

       To get old-style	numerals, just add the "-fonum"	option to each invoca-
       tion -- and, to reduce confusion, append	"--fonum" to the  font	metric
       names.

       At  this	 point,	 all our font metric files are installed, and it's fi-
       nally time to create the	".fd" file.  (The ".fd"	format	is  documented
       in The LaTeX Companion.)	 Let's call the	LaTeX font family "MinionPro".
       Then the	".fd" file is "LY1MinionPro.fd", and it	contains:

	   \DeclareFontFamily{LY1}{MinionPro}{}
	   \DeclareFontShape{LY1}{MinionPro}{m}{n}%
		   { <-> LY1--MinionPro-Regular	}{}
	   \DeclareFontShape{LY1}{MinionPro}{m}{it}{ <-> LY1--MinionPro-It }{}
	   \DeclareFontShape{LY1}{MinionPro}{m}{sc}%
		   { <-> LY1--MinionPro-Regular--fsmcp }{}
	   \DeclareFontShape{LY1}{MinionPro}{sb}{n}%
		   { <-> LY1--MinionPro-Semibold }{}
	   \DeclareFontShape{LY1}{MinionPro}{sb}{it}%
		   { <-> LY1--MinionPro-SemiboldIt }{}
	   \DeclareFontShape{LY1}{MinionPro}{sb}{sc}%
		   { <-> LY1--MinionPro-Semibold--fsmcp	}{}
	   \DeclareFontShape{LY1}{MinionPro}{b}{n}{ <->	LY1--MinionPro-Bold }{}
	   \DeclareFontShape{LY1}{MinionPro}{b}{it}%
		   { <-> LY1--MinionPro-BoldIt }{}
	   \DeclareFontShape{LY1}{MinionPro}{b}{sc}%
		   { <-> LY1--MinionPro-Bold--fsmcp }{}
	   \DeclareFontShape{LY1}{MinionPro}{bx}{n}%
		   { <-> ssub *	MinionPro/b/n }{}
	   \DeclareFontShape{LY1}{MinionPro}{bx}{it}%
		   { <-> ssub *	MinionPro/b/it }{}
	   \DeclareFontShape{LY1}{MinionPro}{bx}{sc}%
		   { <-> ssub *	MinionPro/b/sc }{}

       We're  now ready	to use MinionPro in LaTeX, with	lines like this	in the
       document	preamble:

	   \usepackage[LY1]{fontenc}
	   \renewcommand{\rmdefault}{MinionPro}
	   \renewcommand{\bfdefault}{b}

       Of course, we're	free at	any time to add	more MinionPro	variants  with
       otftotfm;  they'll  become  accessible  to LaTeX	as soon	as we edit the
       "MinionPro.fd" file.

OPTIONS
       With long options, you need type	only as	many characters	as  will  make
       the option unique.

   Font	Feature	and Transformation Options
       -s script[.lang], --script=script[.lang]
	    Apply  features  suitable to the script system script and language
	    system 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 lang is not specified, otftotfm will
	    use	 the  default  language	 system	for that script.  You can give
	    this option	multiple times.	 Run "otfinfo -s font" to see the list
	    of scripts and languages a font supports.  Defaults	to "latn".

       -f feature, --feature=feature
	    Activate the feature  named	 feature.   Features  are  four-letter
	    names  assigned  by	 Microsoft and Adobe; they are meant to	corre-
	    spond to font behaviors, such as kerning or	small-capitals.	 Exam-
	    ples include "liga"	 (default  ligatures),	"dlig"	(discretionary
	    ligatures),	 "kern"	(kerning), and "c2sc" (replacing capitals with
	    small capitals).  Give this	option multiple	times to apply	multi-
	    ple	 features.  Run	"otfinfo -f [--script option] font" to see the
	    list of features a font supports for a specified script.  Defaults
	    to any features required by	the selected scripts.

       --lf feature, --letter-feature=feature
	    Activate the feature named feature,	but only for letters.  For in-
	    stance, 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"  op-
	    tion  will	apply  the small-caps feature only to letters, meaning
	    characters with the	"Letter" Unicode property.

       --subs-filter pattern
       --include-subs pattern
       --exclude-subs pattern
       --clear-subs
	    Limit the characters that otftotfm will substitute.	  Substitution
	    is allowed on an input character if	it matches at least one	of the
	    --include patterns,	and none of the	--exclude patterns.  Each pat-
	    tern  applies  to  all following features, except that the --clear
	    option clears any accumulated patterns.  The --subs-filter pattern
	    option acts	like --clear-subs followed by --include-subs  pattern.
	    For	pattern	syntax,	see GLYPH PATTERNS, below.

	    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 charac-
	    ter.
		otftotfm -fsalt	--include-subs="<Number>" -fonum ...

       -E fac, --extend=fac
	    Widen,  or extend, the font	by a factor of fac.  Like afm2tfm(1)'s
	    -e option.

       -S amt, --slant=amt
	    Oblique, or	slant, the font	by amt.	 Like afm2tfm(1)'s -s option.

       -L amt, --letterspacing=amt
	    Letterspace	each character by amt units, where 1000	 units	equals
	    one	 em.   The width of each character increases by	amt, with half
	    the	space distributed  to  each  sidebearing.   Boundary-character
	    kerns are added to maintain	alignment at the ends of lines.

       --math-spacing[=skewchar]
	    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.

	    If you provide skewchar, a number between 0	and 255	 or  a	single
	    character,	then  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 skewchar with	a command like
	    "\skewchar\font=skewchar".

       -k N, --min-kern=N
	    Only  output  kerning  pairs  whose	absolute value is 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.

       --space-factor=fac
	    Scale the width of the inter-word space by a factor	of fac.

       --design-size=size
	    Set	 the output font's design size to 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.

       --fixed-width
	    Set	the font to fixed-width	(its  space  character	will  have  no
	    stretch or shrink).	 Normally you won't need this option; the font
	    will  tell	otftotfm  whether  it is fixed width.  The opposite of
	    --fixed-width is --proportional-width.

       --italic-angle=angle
	    Set	the output font's default italic angle to angle, a  number  of
	    degrees.  This value is used by TeX	to position accents.  Normally
	    you	won't need this	option;	the font will tell otftotfm its	italic
	    angle.

       --x-height=val
	    Set	 the output font's x-height to val.  This value	is used	by TeX
	    to position	accents. Normally you won't need this option.  Val may
	    be a number	expressed in font units; `x', which uses the height of
	    the	font's lowercase x; or `font', which uses the font's  declared
	    x-height metric.

   Encoding Options
       -e encoding, --encoding=encoding
	    Select the output metrics's	base dvips(1) encoding.	 Otftotfm will
	    search  for	 encoding[.enc]	 the same way that dvips would,	so you
	    may	not need to give a full	pathname.  Say -e - to start with  the
	    font's  default encoding.  See ENCODINGS, below, for more informa-
	    tion.

       --boundary-char=char
	    Set	the font's boundary character to char, which should either  be
	    a  single non-digit	character, or a	number between -1 and 255. The
	    default is taken from the encoding.

       --altselector-char=char
	    Set	the font's alternate selector character	to char, which	should
	    either be a	single non-digit character, or a number	between	-1 and
	    255.   Alternate  selectors	 let TeX authors explicitly choose be-
	    tween versions of a	character.   For  instance,  the  '--altselec-
	    tor-char="*"' option turns the "*" character into a	special	switch
	    that  cycles  between alternates.  For instance, the TeX input "A"
	    would produce the normal version of	 the  "A"  Unicode  character,
	    "A*"  would	 produce  the first alternate, "A**" would produce the
	    second alternate, and so forth.  Furthermore, "s*t"	will  activate
	    any	discretionary "s_t" ligature in	the font.

	    The	 --altselector-char  mechanism	uses the features specified by
	    --altselector-feature options.

	    The	alternate-selector character may also be specified in the  en-
	    coding; see	ENCODINGS, below.  See Sivan Toledo's article cited in
	    the	SEE ALSO section for more information.

       --altselector-feature=feature
	    Activate  the  feature  named  feature  for	the --altselector-char
	    mechanism.	Give this option multiple times	to  activate  multiple
	    features.  This option activates features only for use with	--alt-
	    selector-char; use the --feature option to activate	features glob-
	    ally.  Defaults to the salt	and dlig features.

       --alternates-filter=pattern
       --include-alternates=pattern
       --exclude-alternates=pattern
       --clear-alternates
	    Limit  the alternate characters that otftotfm will select.	An al-
	    ternate is used if it matches at least one of the  --include  pat-
	    terns,  and	 none of the --exclude patterns.  Each pattern applies
	    to all following features, except that the --clear	option	clears
	    any	 accumulated patterns.	The --alternates-filter	pattern	option
	    acts like --clear-alternates followed by --include-alternates pat-
	    tern.  For pattern syntax, see GLYPH PATTERNS, below.

	    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	--altselector-char op-
	    tion 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 '--include-alternates="*.end"' option.

	    In	the  command  line  below,  the	 '*.end' pattern will apply to
	    "aalt" alternates, but not to "salt" alternates.
		otftotfm -fsalt	--include-alternates="*.end" -faalt ...

       --ligkern=command
	    Add	a LIGKERN command to the encoding.  For	example, '--ligkern "T
	    {L}	h"' suppresses any T_h ligature	in the font.  You  can	supply
	    multiple --ligkern options.	 See ENCODINGS,	below.

       --position=command
	    Add	 a POSITION command to the encoding.  For example, '--position
	    "T 10 0 20"' adds ten units	of space to either  side  of  the  "T"
	    character.	 You  can supply multiple --position options.  See EN-
	    CODINGS, below.

       --unicoding=command
	    Add	a UNICODING command to the encoding.  For example,  '--unicod-
	    ing	 "pi1  =:  uni03D6"' tells otftotfm to encode "/pi1" as	U+03D6
	    GREEK PI SYMBOL.  You can  supply  multiple	 --unicoding  options.
	    See	ENCODINGS, below.

       --no-encoding-commands
	    Ignore any LIGKERN and/or UNICODING	commands in the	encoding file.

       --no-default-ligkern
	    Don't include otftotfm's default LIGKERN commands.

       --coding-scheme=scheme
	    Add	a CODINGSCHEME to the encoding.	 See ENCODINGS,	below.

       --warn-missing
	    Warn  about	encoded	characters not supported by the	font.  See the
	    WARNMISSING	command	in ENCODINGS, below.

       --literal-encoding=encoding
	    Select the dvips(1)	encoding used for the font.  No	glyph  substi-
	    tutions  will  be permitted, so the	output encoding	will equal the
	    input encoding (and	otftotfm will not generate  an	output	encod-
	    ing).

       --base-encodings=file
	    Experts  only.   Allow the output font to refer to existing	"base"
	    fonts.  This can greatly reduce the	number of base fonts generated
	    by otftotfm.  Each line in the file	argument contains a  TeX  font
	    name (as for --name) and a corresponding literal encoding file (as
	    for	--literal-encoding); for example:
		WarnoProReg--eka eka
		WarnoProReg--exp1 exp1
	    The	 named	fonts must have	been created by	prior runs of otftotfm
	    on the same	input  OpenType	 font,	with  the  same	 --extend  and
	    --slant  options as	the current run.  The current output font will
	    refer to glyphs from the named base	fonts when possible.   If  the
	    base  fonts	cover all glyphs required by the output	font, otftotfm
	    won't generate any new base	fonts at all.  The file	can also refer
	    to dotless-J fonts using the following syntax:
		WarnoProReg--lcdfj - dotlessj

   Automatic Mode Options
       -a, --automatic
	    Select automatic mode.

       -v vendor, --vendor=vendor
	    Set	the font vendor	name, which is used to locate files within the
	    TDS.  Defaults to "lcdftools".

	    In automatic mode, TeX and friends will  generally	find  required
	    font files independently of	the vendor you select.

       --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  un-
	    suiable characters removed.

       --no-type1
	    Do	not use	cfftot1(1) to create Type 1 fonts corresponding	to the
	    OpenType input fonts.

       --no-dotlessj
	    Do not use t1dotlessj(1) to	create a special dotless-j  font  when
	    the	input font doesn't have	dotless-j.

       --no-truetype
	    Do not install TrueType-flavored fonts.

       --type42
	    Install TrueType-flavored fonts in translated Type 42 format.

       --no-updmap
	    Do not run an updmap(1) program.  This can be useful if you're in-
	    stalling  a	 bunch of fonts; it is much faster to run updmap once,
	    at the end,	than to	run it once per	font.

   Output Options
       -n texname, --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  fea-
	    tures you selected.

       -p, --pl
	    Output  human-readable  PL	and VPL	metrics, not binary TFM	and VF
	    metrics.  Note: Otftotfm's PL and VPL output files are legal,  but
	    the	 fontinst program may not accept them (it has a	picky parser).
	    Make sure to supply	a --coding-scheme; if that doesn't  help,  run
	    the	TFM output through tftopl(1).

       --no-virtual
	    Do	not generate virtual fonts (VFs	and VPLs).  Otftotfm will warn
	    if the selected font features cannot be implemented	 without  vir-
	    tual fonts.

       --no-encoding
	    Do not generate an encoding	file.

       --output-encoding[=file]
	    Only  generate an encoding file; do	not generate any other output.
	    The	encoding file is written to file, or to	standard output	if  no
	    file argument is supplied.

       --no-map
	    Do not generate a font map line for	the font.

   File	Location Options
       --tfm-directory=dir
       --pl-directory=dir
       --vf-directory=dir
       --vpl-directory=dir
       --encoding-directory=dir
       --type1-directory=dir
       --truetype-directory=dir
       --type42-directory=dir
       --directory=dir
	    Set	 the  directory	used for various output	types.	Each directory
	    may	be set by an environment variable, and defaults	to a  TDS  di-
	    rectory in automatic mode, or to "." otherwise.  Environment vari-
	    able  names	 and  default TDS locations are	described in the Auto-
	    matic Mode section above.  The --directory option sets the default
	    directory for all output types.

       --map-file=filename
	    Set	file in	which otftotfm will write a  font  map	line  for  the
	    font.   The	 default  is  the  standard output in manual mode, and
	    "TEXMF/fonts/map/dvips/vendor/vendor.map"  (or   "TEXMF/dvips/ven-
	    dor/vendor.map" on older installations) in automatic mode.

   Miscellaneous Options
       --glyphlist=file
	    Use	 file as a Adobe glyph list, which helps translate glyph names
	    to Unicode code points.  Give multiple options to include multiple
	    files.  See	ENCODINGS, below, for more information.

       -V, --verbose
	    Write progress messages to standard	error.

       --no-create
	    Do not create or modify any	files.	Instead, write messages	 about
	    the	program's hypothetical progress	to standard error.

       --force
	    Generate all files,	even if	it looks like versions are already in-
	    stalled.

       -q, --quiet
	    Do not generate any	error messages.

       --kpathsea-debug=flags
	    Set	 path  searching debugging flags.  See the Kpathsea manual for
	    details.

       -h, --help
	    Print usage	information and	exit.

       --version
	    Print the version number and some short  non-warranty  information
	    and	exit.

ENCODINGS
       Otftotfm	interprets encoding files as Unicode.  For example, say	an in-
       put encoding has	"/dotlessi" at position	10.  Otftotfm detects that po-
       sition  10  should  contain Unicode character U+0131 LATIN SMALL	LETTER
       DOTLESS I, and uses the font's glyph for	that character (possibly modi-
       fied by any active features).  The selected glyph might	not  be	 named
       "dotlessi"; only	the Unicode value matters.

       Otftotfm	 assigns Unicode values	to glyph names using a table published
       by Adobe	(SEE ALSO has a	reference), with extensions for	TeX.  For more
       fine-grained control, add UNICODING  commands  to  the  input  encoding
       file.  These commands have the following	format:
	   % UNICODING glyph =:	choice1	[choice2 ...] ;
       This  tells  otftotfm  that  the	 glyph named glyph translates into the
       first Unicode value in the choice list that  has	 a  character  in  the
       font.   Glyph  and  the choices are PostScript glyph names; the initial
       "%" sign	is required; and each UNICODING	line can contain multiple com-
       mands, separated	by spaced semicolons.  For example,
	   % UNICODING pi1 =: uni03D6 ;
       encodes the character "/pi1" as U+03D6 GREEK PI SYMBOL, and
	   % UNICODING Delta =:	uni0394	uni2206	;
       makes U+0394 GREEK CAPITAL LETTER DELTA preferred to  U+2206  INCREMENT
       as an encoding for "/Delta".  You can also supply glyph names:
	   % UNICODING Delta =:	Deltagreek Delta ;
       A  mapping with no Unicode values removes that glyph from the input en-
       coding.	For instance, this erases any f-ligature characters  from  the
       encoding:
	   % UNICODING ff =: ; fi =: ; fl =: ; ffi =: ;	ffl =: ;
       The  slots  are	available  for otftfm's	own use, for example for other
       characters required by the font.	 (If the  f-ligatures  themselves  are
       required	 by the	font, for instance by a	'liga' feature,	then they will
       be stored into their old	slots when possible.)  Map a glyph to 'emptys-
       lot' if you don't want otftotfm to use the  slot.   For	example,  this
       will leave the 'ff' slot	unused if the font has no 'ff' glyph:
	   % UNICODING ff =: ff	emptyslot ;
       (Note that most OpenType	fonts provide a	visible	representation for un-
       used encoding slots, namely a box with an X inside.)

       LIGKERN	comments  in the encoding can add ligatures and	inhibit	kerns,
       as in afm2tfm(1).  To add a ligature, say:
	   % LIGKERN glyph1 glyph2 =: result ;
       The "=:"	operator indicates a normal ligature,  where  both  the	 input
       glyphs  are  removed and	replaced by result.  To	preserve the left-hand
       glyph, for an effect like "glyph1 glyph2	=: glyph1 result",  use	 "|=:"
       instead;	 to  preserve  the right-hand glyph, use "=:|".	 To remove all
       kerns between two characters, say:
	   % LIGKERN glyph1 {} glyph2 ;
       A "*" matches any character, so
	   % LIGKERN a {} * ;
       removes all kerns with "a" as the left-hand character, and
	   % LIGKERN * {} * ;
       removes all kerns.

       Otftotfm	also supports extended syntax for setting kern values and  in-
       hibiting	ligatures.  To add an n-unit kern between two glyphs, say:
	   % LIGKERNX glyph1 {n} glyph2	;
       where n is an integer.  This:
	   % LIGKERNX glyph1 {L} glyph2	;
       inhibits	any ligature between glyph1 and	glyph2.	 "{LK}"	and "{KL}" in-
       hibit both ligatures and	kerns.

       You can set the --boundary-char and --altselector-char from an encoding
       file with commands like this:
	   % LIGKERN ||	= boundarychar ;
	   % LIGKERNX ^^ = altselectorchar ;
       As  with	 UNICODING, each LIGKERN or LIGKERNX line can contain multiple
       commands, separated by spaced semicolons.

       Otftotfm	has a default set of eight ligatures, namely:
	   space l =: lslash ; space L =: Lslash ;
	   question quoteleft =: questiondown ;	exclam quoteleft =: exclamdown ;
	   hyphen hyphen =: endash ; endash hyphen =: emdash ;
	   quoteleft quoteleft =: quotedblleft ;
	   quoteright quoteright =: quotedblright
       LIGKERN commands	in the encoding	file and --ligkern options  can	 over-
       ride  these defaults, or	supply the --no-default-ligkern	option to turn
       them off.

       The POSITION command shifts a glyph within its bounding box.  The  syn-
       tax is
	   % POSITION glyph pdx	pdy adx	;
       This  will  add pdx units of space to glyph's left edge;	raise it up by
       pdy units; and add adx units to its width.   For	 example,  to  add  10
       units of	space to either	side of	the "T"	glyph, supply
	   % POSITION T	10 0 20
       To move the "degree" symbol up by 20 units, supply
	   % POSITION degree 0 20 0

       The  CODINGSCHEME  command  specifies the coding	scheme for fonts using
       this encoding.  This is a string, less than 40 characters long and con-
       taining no parentheses, that classifies the  encoding  for  TeX's  pur-
       poses.	Sample	coding	schemes	include	"TEX TEXT", "TEX MATH ITALIC",
       and "EXTENDED TEX FONT ENCODING - LATIN".  For example:
	   % CODINGSCHEME EXTENDED TEX FONT ENCODING - LATIN
       Most  tools  ignore  the	 coding	 scheme;  fontinst  is	an  exception.
       Otftotfm	 uses  the  encoding's	PostScript name	for the	default	coding
       scheme.

       Finally,	the WARNMISSING	command	makes any glyphs not supported by  the
       input  font  appear  as	black boxes.  The dvips(1) processor will also
       print a warning when encountering these glyphs.	For example:
	   % WARNMISSING yes

       The   --unicoding,   --ligkern,	 --position,   --coding-scheme,	   and
       --warn-missing  options add UNICODING, LIGKERN/LIGKERNX,	POSITION, COD-
       INGSCHEME, and WARNMISSING commands to an encoding,  and	 can  override
       commands	 in the	encoding itself.  Some common encoding files have com-
       mands that are inappropriate for	OpenType fonts;	for example,  "t1.enc"
       hard-codes  f-ligatures,	which can cause	problems with small-cap	fonts.
       Supply the --no-encoding-commands option	to ignore  all	commands  from
       the  encoding file.  Commands from options like --ligkern are processed
       in any case.

   New Glyphs
       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	prece-
       dence.

   Synthetic Glyphs
       Otftotfm	can synthesize some glyphs using virtual  font	manipulations,
       if  a  required glyph is	not available in the input font. Specifically,
       it will synthesize:

       cwm		     TeX's compound word mark  (a  zero-width  "strut"
			     rule with height equal to the font's x-height)
       ascendercompwordmark  "cwm" with	height equal to	the font's ascenders
       capitalcompwordmark   "cwm" with	height equal to	the font's capitals
       visualspace	     A square cup used to represent spaces
       dotlessj		     A dotless "j", synthesized	with t1dotlessj(1)
       dblbracketleft	     Kerned version of "[["
       dblbracketright	     Kerned version of "]]"
       bardbl		     The parallel symbol "||"
       asteriskmath	     Vertically-centered "*"
       ringfitted	     Ring accent centered on the width of "A"
       twelveudash	     2/3-em-wide dash
       threequartersemdash   3/4-em-wide dash
       centigrade	     "(degrees)C"
       interrobang	     Combined "?!" symbol
       interrobangdown	     Inverted interrobang
       pertenthousand	     Per-ten-thousand sign (% with two extra 0s)
       IJ		     "IJ" ligature
       ij		     "ij" ligature
       Germandbls	     "SS" (a capital sharp-s)
       SSsmall		     Small-capital version of "SS"
       FFsmall		     Small-capital version of "FF"
       FIsmall		     Small-capital version of "FI"
       FLsmall		     Small-capital version of "FL"
       FFIsmall		     Small-capital version of "FFI"
       FFLsmall		     Small-capital version of "FFL"

GLYPH PATTERNS
       The  --include-subs  and	 --include-alternates options, and their --ex-
       clude and --*-filter variants, accept the following types of pattern.

         Glyph	names.	Example: "Aacute".  For	PostScript-flavored fonts, use
	  otfinfo(1)'s -g option to see	a font's  glyph	 names,	 and  "cfftot1
	  font.otf  |  t1testpage"  to generate	a PostScript file showing each
	  glyph.

         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".

         Unicode category properties in  angle	 brackets.   Examples:	"<Let-
	  ter>", "<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, Enclos-
	  ingMark/Me, NonspacingMark/Mn; Separator/Z, SpaceSeparator/Zs, Line-
	  Separator/Zl,	 ParagraphSeparator/Zp;	 Other/C,  Surrogate/Cs,  For-
	  mat/Cf,  Control/Cc,	PrivateUse/Co, Unassigned/Cn.  Category	values
	  current as of	Unicode	4.0.

         Unicode ranges.  Example: "U+007f-U+008C".

       The "!" prefix negates a	pattern, and you can  separate	multiple  pat-
       terns by	spaces.

FEATURE	DIRECTORY
       This  section  lists  features common to	Western	OpenType fonts and de-
       scribes how otftotfm handles them for common fonts.   Please  send  the
       author  mail if otftotfm	does not handle	a feature you need, or you be-
       lieve it	handles	some feature incorrectly.

       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	 orna-
	    ments.  The	--altselector-feature=aalt option can help an --altse-
	    lector-char	provide	useful access to alternates, but the aalt fea-
	    ture  isn't	usually	useful on its own.  Try	the salt and calt fea-
	    tures instead.
       c2sc, Small Capitals From Capitals
	    Replaces capital letters with small	capitals: a sort  of  converse
	    of	the  more conventional smcp feature, which replaces lower-case
	    letters with small capitals.  Supported.
       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  let-
	    ter,  in  which case the user should be able to select among them.
	    TeX	can't support complex contextual alternates, or	alternate  se-
	    lection,  but  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 cswh.
       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 fig-
	    ures with lining figures, and accent marks with forms more	appro-
	    priate for capitals.  Supported.
       cpsp, Capital Spacing
	    Adds  a  bit of space on either side of each capital letter.  Sup-
	    ported.  (However, the OpenType tag	registry suggests that cpsp be
	    on by default, but applying	to all-caps text only; TeX cannot eas-
	    ily	implement that contextual intelligence.)
       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.	Otftotfm  sup-
	    ports  some	fonts quite well.  The input encoding should have lots
	    of empty space for swash variants, and it should specify a	bound-
	    ary	character.  See	also calt and swsh.
       dlig, Discretionary Ligatures
	    Activates  uncommon	 ligatures,  such  as "c_t", "s_p", and	"s_t".
	    Supported.
       dnom, Denominators
	    Replaces digits and	some punctuation marks with smaller forms sit-
	    ting on the	baseline, intended for	fraction  denominators.	  Sup-
	    ported.
       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  in-
	    clude  punctuation too.  See cswh for selecting swash variants ac-
	    tive at the	ends of	words.
       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".
       hist, Historical	Forms
	    Replaces characters	with historical	variants.  Usually, this means
	    at least translating regular "s" to	long "s".  Supported.
       kern, Kerning
	    Adjusts the	space between characters  (pair	 kerning).   Generally
	    supported, and you should probably turn it on.  As a special case,
	    "-fkern"  can  also	read kerning information from the "kern" table
	    in conventional TrueType fonts.
       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.
       lnum, Lining Figures
	    Uses  lining figures, the set of digits that are all about as high
	    as capital letters.	 Supported.  Compare onum; see also  pnum  and
	    tnum.
       numr, Numerators
	    Replaces  digits  and  some	punctuation marks with smaller,	raised
	    forms intended for fraction	numerators.  Supported,	but  not  usu-
	    ally useful.
       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 lnum;	see also pnum and tnum.
       ordn, Ordinals
	    Designed  for  Spanish and French.	Replaces ordinal numbers, such
	    as "2.o", with forms where the "o" is raised, and replaces the se-
	    quence "No"	with an	integrated glyph.  Supported.
       ornm, Ornaments
	    Replaces some alphabetic characters	in the	font  with  ornaments,
	    and	 links	the bullet character to	a set of all bullet-like orna-
	    ments, from	which the user can choose.  Partially  supported:  TeX
	    can	handle alphabetic substitutions, but not bullet	choice.
       pnum, Proportional Figures
	    Digits  will have different	widths.	 Supported.  Compare tnum; see
	    also lnum and onum.
       salt, Stylistic Alternates
	    Lets the user choose between stylistic alternate forms for a char-
	    acter.  The	--altselector-char mechanism provides useful access to
	    this feature.  If you turn on salt globally,  otftotfm  takes  the
	    first  alternate  form whenever there's more than one choice.  See
	    also aalt and ss01;	salt is	generally more useful  than  aalt  for
	    TeX, since it refers exclusively to	stylistic alternates.
       sinf, Scientific	Inferiors
	    Replaces  digits  and some punctuation marks with smaller, lowered
	    forms intended for subscripts.  Supported.	Compare	subs.
       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 otftotfm, since it should not change the font's appearance
	    in any way.
       smcp, Small Capitals
	    Replaces lower-case	letters	with small capitals.  Supported.  Com-
	    pare c2sc.
       ss01-ss20, Stylistic Sets 1-20
	    Replaces characters	with a uniform set  of	stylistic  alternates.
	    Differs  from  features  like salt in that a Stylistic Set is uni-
	    form: an ssXX feature should never involve selection from a	set of
	    possible alternate characters.  Supported.
       subs, Subscript
	    Replaces characters	with smaller, lowered forms intended for  sub-
	    scripts.   Supported.   Compare  sinf; some	fonts support sinf but
	    not	subs.
       sups, Superscript
	    Replaces digits, some punctuation marks, and some lower-case  let-
	    ters  with	smaller, raised	forms intended for superscripts.  Sup-
	    ported.
       swsh, Swash
	    Activates all swash	forms for each character. There	 may  be  more
	    than  one  swash  form, in which case otftotfm will	pick the first
	    one	listed.	 Supported, except that	swash variants other than  the
	    first  are inaccessible.  Note that	some fonts with	swash variants
	    support the	cswh feature exclusively.
       tnum, Tabular Figures
	    All	digits will have the same width, so that tables	and  the  like
	    will  align	visually.  Supported.  Compare pnum; see also lnum and
	    onum.
       zero, Slashed Zero
	    Replaces the zero character	with a slashed zero.  Supported.

DIAGNOSTICS AND	TROUBLESHOOTING
       no writable directory found in $TEXMF
	    Otftotfm could not find a writable directory in your $TEXMFVAR  or
	    $TEXMF path.  Did you create a $HOME/.texmf-var or $HOME/texmf di-
	    rectory?	 If    so,    run   the	  command   "kpsewhich	 --ex-
	    pand-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 differ-
	    ent	 kinds	of  quotes;   on   my	machine,   this	  expands   to
	    '{!!/home/kohler/texmf,!!$TEXMFMAIN}').

       'char' has no encoding, ignoring	kern removal
       (or ligature removal, lig/kern removal, or ligature)
	    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.

       can't map 'char'	to Unicode
	    Another  encoding  file problem: One of the	glyph names in an UNI-
	    CODING block could not be converted	to Unicode.  This is  problem-
	    atic  since	 UNICODING exists wholly to translate glyph names into
	    Unicode.  Fix the encoding file or ignore the warning.

       not enough room in encoding, ignoring N 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 otftotfm.

       The '-a'	option did not install my font correctly.
	    Try	 again	with  the '--verbose' option, which causes otftotfm to
	    explain its	behavior.  Note	that by	default, otftotfm will not re-
	    install files already present in your system's  TeX	 search	 paths
	    (in	 the current directory,	for instance).	Use '--force' to over-
	    ride this behavior.

FREQUENTLY ASKED QUESTIONS
       How can I get a small-caps "SS" in place	of the German sharp-S?
	    Supply the option '--unicoding "germandbls =: SSsmall"'.

       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 "--no-encoding-commands" option if this is a  problem  for
	    you.

       Otftotfm	seems to take a	long time.
	    Use	 the  -V  option to see	what it's doing.  Often	the culprit is
	    the	updmap(1) program; if you're planning to run otftotfm multiple
	    times, give	it the --no-updmap option and run updmap manually when
	    you're done.

       How can I refer to the different	forms of phi?
	    Otftotfm follows TeX practice and widely-distributed TeX  encoding
	    vectors,  so  "/phi"  in  an input encoding	vector should map to a
	    "straight" phi and "/phi1" should map to a "loopy" phi.  Note that
	    TeX	practice differs from the PostScript standard  naming  conven-
	    tions,  in which "/phi" is "loopy" and "/phi1" is "straight"; this
	    means that otftotfm	may map	"/phi" in an input encoding vector  to
	    a  font's  "/phi1"	glyph, and vice	versa.	Perhaps	most unambigu-
	    ously,  you	 can  use  "/uni03D5"  for  the	 "straight"  form  and
	    "/uni03C6" for the "loopy" form.

       How can I get lining figures (that is, normal line-height digits) with
       small caps ('-fsmcp')?
	    Many fonts use old-style figures by	default	with small caps. Since
	    the	 default  is  not  specified,  it's  wise to explicitly	supply
	    '-flnum' or	'-fonum'.

BUGS
       See the documentation for --pl  above  if  you  have  problems  running
       otftotfm's output through fontinst.

SEE ALSO
       pltotf(1),  tftopl(1),  vptovf(1),  afm2tfm(1),	dvips(1),  cfftot1(1),
       otfinfo(1), t1dotlessj(1), t1testpage(1), ttftotype42(1), kpsewhich(1),
       updmap(1)

       Adobe Type 1 Font Format

       Adobe Technical Notes #5176, The	Compact	Font Format Specification, and
       #5177, The Type 2 Charstring Format

       OpenType	Specification, Version 1.4

       A Directory Structure for TeX Files, http://www.tug.org/tds/

       Kpathsea: A library for path searching, http://www.tug.org/kpathsea/

       Sivan   Toledo,	 Exploiting   Rich   Fonts,   TUGboat	21(2),	 2000,
       http://www.tug.org/TUGboat/Articles/tb21-2/tb67tole.pdf

       Michel  Goossens,  Frank	 Mittelbach,  and Alexander Samarin, The LaTeX
       Companion (for information on the .fd file format)

       Adobe Systems, "Unicode and Glyph Names".  Refers to the	 glyphlist.txt
       file   used   to	  translate   glyph  names  to	Unicode	 code  points.
       http://partners.adobe.com/public/developer/opentype/index_glyph.html

AUTHOR
       Eddie Kohler (ekohler@gmail.com)

       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 Blumen-
       sath and	Michael	Zedler for suggestions and patches, some of  them  ex-
       tensive.

Version	2.110			LCDF Typetools			   OTFTOTFM(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=otftotfm&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help