summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-06-17 23:47:12 +0000
committerKarl Berry <karl@freefriends.org>2017-06-17 23:47:12 +0000
commit536a7489973eccaff138ee09ae1cbb4f1a43563a (patch)
tree51054b07720c5248f9165a567bd082642791935f
parenta70c3b1833479b4409e5b938d82f0dbb3539f4c4 (diff)
fontools (17jun17
git-svn-id: svn://tug.org/texlive/trunk@44626 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/fontools/autoinst302
-rw-r--r--Master/texmf-dist/doc/man/man1/afm2afm.man1.pdfbin9958 -> 9958 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/autoinst.1238
-rw-r--r--Master/texmf-dist/doc/man/man1/autoinst.man1.pdfbin37080 -> 36930 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdfbin9463 -> 9463 bytes
-rw-r--r--Master/texmf-dist/doc/support/fontools/README4
-rwxr-xr-xMaster/texmf-dist/scripts/fontools/autoinst302
7 files changed, 415 insertions, 431 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/fontools/autoinst b/Build/source/texk/texlive/linked_scripts/fontools/autoinst
index ffbe7211c3d..963bb89b2fc 100755
--- a/Build/source/texk/texlive/linked_scripts/fontools/autoinst
+++ b/Build/source/texk/texlive/linked_scripts/fontools/autoinst
@@ -118,8 +118,8 @@ my %FD_SHAPE = (
=begin Comment
- The next table is used to generate extra DeclareFontShape rules
- in the .fd files to map missing slanted shapes to italic or vice versa.
+ The next table is used to generate extra DeclareFontShape rules in
+ the .fd files to map missing slanted shapes to italic or vice versa.
=end Comment
@@ -154,6 +154,9 @@ my %FD_SSUB = (
The 'reqd' and 'nice' subtables for the TLF, LF, TOsF and OsF styles
are empty; these are filled in at run time, depending on
which figure style is default for the current font.
+
+ The 'reqd' subtable for the Inf style is also empty; this may be filled
+ with either 'sinf' or 'subs' depending on the -inferiors options.
Ornaments are treated as a separate 'figure style'.
This may seem a bit weird, but that's the easiest way to handle them.
@@ -194,7 +197,7 @@ my %STYLE = (
shapes => ['normal'],
},
Inf => {
- reqd => ['sinf'],
+ reqd => [],
nice => [],
extra => '--ligkern="* {KL} *"',
shapes => ['normal'],
@@ -369,9 +372,7 @@ sub main {
[ $minsize, $maxsize, $item->{fontname} ];
}
- if ($ARGV{verbose}) {
- create_logfile(@worklist);
- }
+ create_logfile(@worklist);
if (!$ARGV{dryrun}) {
# Create the LaTeX support files
@@ -546,18 +547,16 @@ I'm using the following options:
swash: @{[ $ARGV{swash} ? 'yes' : 'no' ]}
titling: @{[ $ARGV{titling} ? 'yes' : 'no' ]}
superiors: @{[ $ARGV{superiors} ? 'yes' : 'no' ]}
- inferiors: @{[ $ARGV{inferiors} ? 'yes' : 'no' ]}
+ inferiors: $ARGV{inferiors}
ornaments: @{[ $ARGV{ornaments} ? 'yes' : 'no' ]}
fractions: @{[ $ARGV{fractions} ? 'yes' : 'no' ]}
- verbosity level: $ARGV{verbose}
-
- dryrun: @{[ $ARGV{dryrun} ? 'true' : 'false' ]}
- auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
+ dry run/real: @{[ $ARGV{dryrun} ? 'dry run' : 'real' ]}
+ auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
target: $ARGV{target}
extra: @{[ $ARGV{extra} || '<empty>' ]}
- figurekern: @{[ $ARGV{figurekern} ? 'keep' : 'discard' ]}
+ figurekern: @{[ $ARGV{figurekern} ? 'no action' : 'remove' ]}
font files:
@@ -569,7 +568,7 @@ END_ARGUMENTS
my @cmds;
for my $item (@worklist) {
if ($prevfn ne $item->{font}{filename}) {
- push @cmds, "\n" . '*' x 76 . "\n";
+ push @cmds, "\n" . '*' x 76;
print {$LOG} <<"END_FONTINFO";
@@ -610,14 +609,8 @@ END_FONTINFO
push @cmds, $item->{cmdline};
}
- if ($ARGV{verbose} >= 2) {
- print {$LOG} <<"END_COMMANDS";
-
- @{[ join "\n\n ", @cmds ]}
-
-END_COMMANDS
- }
-
+ print {$LOG} join "\n\n", @cmds;
+ print {$LOG} "\n";
close $LOG;
}
@@ -640,7 +633,7 @@ sub make_commands {
}
else {
if (grep { system $_ } @commands) {
- warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!";
+ warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!\n";
}
}
@@ -743,7 +736,7 @@ Possible options:
-(no)swash Toggle creation of swash shape
-(no)titling Toggle creation of titling shape
-(no)superiors Toggle creation of fonts with superior characters
- -(no)inferiors Toggle creation of fonts with inferior characters
+ -inferiors=[sinf|subs] Use this style for subscripts (see docs)
-(no)ornaments Toggle creation of ornament fonts
-(no)fractions Toggle creation of fonts with digits for fractions
@@ -766,11 +759,7 @@ Possible options:
-help Print this text and exit
-doc Print the complete documentation and exit
- -verbose Show info about which fonts are generated
- (repeat for even more detailed info)
- -logfile="LOGFILE" Print info to LOGFILE (default: autoinst.log)
-dryrun Don't generate fonts, only log what would be done
- (implies -verbose)
font[s] The fonts (.otf or .ttf format) to install.
@@ -789,7 +778,7 @@ END_USAGE
swash => '1', # 0 = no, 1 = yes
titling => '1', # 0 = no, 1 = yes
superiors => '1', # 0 = no, 1 = yes
- inferiors => '0', # 0 = no, 1 = yes
+ inferiors => '', # possible values: '', 'sinf', 'subs', 'dnom'
ornaments => '1', # 0 = no, 1 = yes
fractions => '0', # 0 = no, 1 = yes
nfss => 'rm',
@@ -802,7 +791,6 @@ END_USAGE
updmap => '1', # 0 = no, 1 = yes
manual => '0', # 0 = no, 1 = yes
dryrun => '0', # 0 = no, 1 = yes
- verbose => '0', # 0 = no, 1 = yes
logfile => 'autoinst.log',
figurekern => '1', # 0 = no, 1 = yes
);
@@ -811,7 +799,7 @@ END_USAGE
# Process command-line arguments
#-----------------------------------------------------------------------
sub parse_options {
- $ARGV{cmdline} = "$0 " . join ' ', @ARGV;
+ $ARGV{cmdline} = join ' ', ($0, @ARGV);
Getopt::Long::GetOptions(
'help|?' => sub { print $USAGE; exit; },
@@ -826,7 +814,7 @@ sub parse_options {
'swash!' => \$ARGV{swash},
'titling!' => \$ARGV{titling},
'superiors!' => \$ARGV{superiors},
- 'inferiors!' => \$ARGV{inferiors},
+ 'inferiors=s' => \$ARGV{inferiors},
'ornaments!' => \$ARGV{ornaments},
'fractions!' => \$ARGV{fractions},
'sanserif' => sub { $ARGV{nfss} = 'sf' },
@@ -843,8 +831,7 @@ sub parse_options {
'dryrun' => \$ARGV{dryrun},
'manual' => \$ARGV{manual},
'figurekern!' => \$ARGV{figurekern},
- 'verbose+' => \$ARGV{verbose},
- 'logfile=s' => \$ARGV{logfile},
+ 'verbose+' => sub {},
)
or die "$USAGE";
@@ -855,9 +842,17 @@ sub parse_options {
delete $SHAPE{titling} unless $ARGV{titling};
delete $STYLE{Sup} unless $ARGV{superiors};
- delete $STYLE{Inf} unless $ARGV{inferiors};
delete $STYLE{Orn} unless $ARGV{ornaments};
delete @STYLE{qw(Numr Dnom)} unless $ARGV{fractions};
+ if ($ARGV{inferiors} eq 'sinf') { $STYLE{Inf}{reqd} = ['sinf'] }
+ elsif ($ARGV{inferiors} eq 'subs') { $STYLE{Inf}{reqd} = ['subs'] }
+ elsif ($ARGV{inferiors} eq 'dnom') { $STYLE{Inf}{reqd} = ['dnom'] }
+ else {
+ warn "[WARNING] unknown value -inferiors=$ARGV{inferiors} ignored!\n"
+ if $ARGV{inferiors};
+ $ARGV{inferiors} = 'no';
+ delete $STYLE{Inf}
+ }
$ARGV{encoding} =~ s/\s+//xmsg;
my @textencodings = grep { $_ ne 'TS1' }
@@ -884,7 +879,7 @@ sub parse_options {
delete @STYLE{qw(TLF TOsF)} unless $ARGV{tabular};
if ($ARGV{manual}) {
- warn "[WARNING] option '--target' overridden by '--manual'!"
+ warn "[WARNING] option '-target' overridden by '-manual'!\n"
if $ARGV{target};
$ARGV{target} = File::Spec->curdir();
}
@@ -907,10 +902,6 @@ sub parse_options {
$STYLE{TLF}{extra} = $tkern;
$STYLE{TOsF}{extra} = $tkern;
}
-
- if ($ARGV{dryrun} && $ARGV{verbose} == 0) {
- $ARGV{verbose} = 1;
- }
}
@@ -1546,7 +1537,7 @@ __END__
=head1 NAME
autoinst - wrapper around the F<LCDF TypeTools>,
-for installing OpenType fonts in LaTeX.
+for installing and using OpenType fonts in (La)TeX.
=head1 SYNOPSIS
@@ -1573,8 +1564,8 @@ B<autoinst> will create several LaTeX font families:
=item -
-Four text families (with lining and oldstyle digits, in both tabular
-and proportional variants), each with the following shapes:
+Four text families (with lining and oldstyle digits, each in both tabular
+and proportional variants), all with the following shapes:
=over 2
@@ -1610,7 +1601,8 @@ Italic and slanted small caps
=item I<nw>
-"Upright swash"; usually normal text with "oldstyle" ligatures such as ct, sp and st.
+"Upright swash"; usually roman text with a few "oldstyle" ligatures
+like ct, sp and st.
=item I<tlit>, I<tlsl>
@@ -1622,12 +1614,12 @@ Italic and slanted titling text
=item -
-For each text family: a family of TS1-encoded symbol fonts,
+For each T1-encoded text family: a family of TS1-encoded symbol fonts,
in roman, italic and slanted shapes.
=item -
-Four families with superiors, inferiors, numerators and denominators,
+Families with superiors, inferiors, numerators and denominators,
in roman, italic and slanted shapes.
=item -
@@ -1640,8 +1632,8 @@ An ornament family, in roman, italic and slanted shapes.
Of course, if the fonts don't contain italics, oldstyle digits, small caps
etc., the corresponding shapes and families are not created.
-Furthermore, the creation of most families and shapes can be controlled by
-command-line options (see L</"COMMAND-LINE OPTIONS"> below).
+In addition, the creation of most families and shapes can be controlled
+by options (see L</"COMMAND-LINE OPTIONS"> below).
These families use the I<FontPro> project's naming scheme:
I<< <FontFamily>-<Suffix> >>, where I<< <Suffix> >> is:
@@ -1666,8 +1658,8 @@ tabular oldstyle figures
=item I<Sup>
-superior characters (many fonts have only an incomplete set of superior
-characters: digits, some punctuation and the letters I<abdeilmnorst>;
+superior characters (note that most fonts have only an incomplete set of
+superior characters: digits, some punctuation and the letters I<abdeilmnorst>;
normal forms are used for other characters)
=item I<Inf>
@@ -1692,17 +1684,17 @@ denominators
The generated fonts are named I<< <FontName>-<suffix>-<shape>-<enc> >>,
where I<< <suffix> >> is the same as above (but in lowercase),
I<< <shape> >> is either empty, "sc", "swash" or "titling",
-and I<< <enc> >> is the encoding.
-A typical name in this scheme is "LinLibertineO-osf-sc-ly1".
+and I<< <enc> >> is the encoding (also in lowercase).
+A typical name in this scheme would be "FiraSans-Light-osf-sc-ly1".
=head2 On the choice of text encoding
By default, B<autoinst> generates text fonts with OT1, T1 and LY1
encodings, and the generated style files use LY1 as the default text encoding.
-LY1 has been chosen over T1 because it has some empty slots to accomodate
+LY1 has been chosen over T1 because it has some empty slots to accommodate
the additional ligatures provided by many OpenType fonts.
-Different encodings can be chosen using the I<-encoding> command-line option
+Other encodings can be chosen using the I<-encoding> option
(see L</"COMMAND-LINE OPTIONS"> below).
@@ -1711,7 +1703,7 @@ Different encodings can be chosen using the I<-encoding> command-line option
B<autoinst> generates a style file for using the font in LaTeX documents,
named F<< <FontFamily>.sty >>. This style file also takes care of loading the
F<fontenc> and F<textcomp> packages.
-To use the font, simply put C<<< \usepackage{I<< <FontFamily> >>} >>>
+To use the font, put the command C<<< \usepackage{I<< <FontFamily> >>} >>>
in the preamble of your document.
This style file defines a number of options:
@@ -1726,33 +1718,35 @@ The defaults are "oldstyle" and "proportional" (if available).
=item C<<< scale=I<< <number> >> >>>
Scale the font by a factor of I<< <number> >>.
-For example: to increase the size of the font by 5%, use
+E.g., to increase the size of the font by 5%, use
C<<< \usepackage[scale=1.05]{I<< <FontFamily> >>} >>>.
May also be spelled C<scaled>.
This option is only available when you have the F<xkeyval> package installed.
-=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>,
- C<extrabold>, C<demibold>, C<semibold>, C<bold>
+=item C<light>, C<medium>, C<regular>
-Choose the weight that LaTeX will use for the "bold" weight.
+Select the weight that LaTeX will use as the "regular" weight;
+the default is C<regular>.
-=item C<light>, C<medium>, C<regular>
+=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>,
+ C<extrabold>, C<demibold>, C<semibold>, C<bold>
-Choose the weight that LaTeX will use for the "regular" weight.
+Select the weight that LaTeX will use as the "bold" weight;
+the default is C<bold>.
=back
-These last two groups of options will only work if
+The previous two groups of options will only work if
you have the F<mweights> package installed.
The style file will also try to load the F<fontaxes> package
-(available on CTAN),
-which gives easy access to various font shapes and styles.
+(available on CTAN), which gives easy access to various font shapes and styles.
Using the machinery set up by F<fontaxes>, the generated style file
defines a number of commands (which take the text to be typeset as argument)
and declarations (which don't take arguments, but affect all text up to
-the end of the current group) of its own:
+the end of the current group) to access titling, superior and inferior
+characters:
DECLARATION COMMAND SHORT FORM OF COMMAND
@@ -1764,7 +1758,7 @@ the end of the current group) of its own:
In addition, the C<\swshape> and C<\textsw> commands are redefined to place
swash on the secondary shape axis (F<fontaxes> places it on the primary
-shape axis); this makes these commands behave properly when nested, so that
+shape axis) to make them behave properly when nested, so that
C<\swshape\upshape> will give upright swash.
There are no commands for accessing the numerator and denominator
@@ -1786,27 +1780,26 @@ encoding vector, e.g. if your fonts use non-standard glyph names for ornaments.
These commands are only generated for existing shapes and number styles;
no commands are generated for shapes and styles that don't exist,
-or whose generation has been turned off using command-line options.
-Also: these commands are built on top of F<fontaxes>;
-if that package cannot be found, you're limited to using the
-lower-level commands from standard NFSS (C<\fontfamily>, C<\fontseries>,
-C<\fontshape> etc.).
+or whose generation was turned off by the user.
+Also these commands are built on top of F<fontaxes>, so if that package
+cannot be found, you're limited to using the lower-level commands from
+standard NFSS (C<\fontfamily>, C<\fontseries>, C<\fontshape> etc.).
=head2 Using multiple font families in one document
Style files generated by versions of B<autoinst> older dan 2013-07-25
redefined C<\mddefault> and C<\bfdefault>, whereas newer style files
-use the F<mweights> package instead.
+build on the facilities of the F<mweights> package instead.
If you use multiple B<autoinst>-generated font familes in the same document,
-it is best if all style files are generated by the same version of
+it might be best if all style files are generated by the same version of
B<autoinst>; re-generate the older families if necessary.
=head2 NFSS codes
-NFSS identifies fonts by a combination of family, series (weight plus width),
-shape and size.
+NFSS identifies fonts by a combination of family, series
+(the concatenation of weight and width), shape and size.
B<autoinst> parses the output of C<otfinfo --info> to determine
these parameters. When this fails
(e.g., because the font family contains uncommon widths or weights),
@@ -1821,15 +1814,14 @@ this strategy is only used as a last resort.)
If such a proliferation of font families is unwanted,
either run B<autoinst> on a smaller set of fonts or
add the missing widths, weights and shapes to the tables C<%FD_WIDTH>,
-C<%FD_WEIGHT> and C<%FD_SHAPE>, at the top of the source code.
+C<%FD_WEIGHT> and C<%FD_SHAPE>, at the beginning of the source code.
Please also send a bug report (see L<AUTHOR> below).
B<autoinst> maps widths, weights and shapes to NFSS codes using
-the following tables. These are based as much as possible
-on the standard I<Fontname> scheme and Philipp Lehman's
-F<Font Installation Guide>,
-but some changes were made to avoid name clashes in font families
-with many widths and weights.
+the following tables. These are based on the standard I<Fontname> scheme
+and Philipp Lehman's F<Font Installation Guide>, but some changes were made
+to avoid name clashes in font families with many different widths and weights,
+such as Helvetica Neue.
WEIGHT WIDTH
@@ -1860,7 +1852,7 @@ with many widths and weights.
Incline(d) sl [3]
-=head3 Notes:
+=head3 Notes
=over 4
@@ -1875,7 +1867,7 @@ the first of these is mapped to "n", the second one to "it".
=item [3]
-New in release 2014-01-21; before that, slanted fonts were mapped to "it".
+Since release 2014-01-21; before that, slanted shapes were mapped to "it".
=back
@@ -1883,7 +1875,7 @@ New in release 2014-01-21; before that, slanted fonts were mapped to "it".
=head2 A note for MiKTeX users
Automatically installing the fonts into a suitable TEXMF tree
-(as B<autoinst> does by default) requires a TeX-installation that uses
+(as B<autoinst> tries to do by default) requires a TeX-installation that uses
the F<kpathsea> library; with TeX distributions that implement their
own directory searching (such as MiKTeX), B<autoinst> will complain that
it cannot find the F<kpsewhich> program and install all generated files
@@ -1895,41 +1887,41 @@ to their correct destinations by hand, or use the I<-target> option
Also, some OpenType fonts may lead to F<pl> and F<vpl> files that
are too big for MiKTeX's F<pltotf> and F<vptovf>;
the versions that come with W32TeX (F<http://www.w32tex.org>)
-and TeXLive (F<http://tug.org/texlive>) don't have this problem.
+and TeXLive (F<http://tug.org/texlive>) don't seem to have this problem.
=head1 COMMAND-LINE OPTIONS
B<autoinst> tries hard to do The Right Thing (TM) by default,
so in many cases you won't need these options;
-but most aspects of its operation can be changed if you want to.
+but most aspects of its operation can be fine-tuned if you want to.
You may use either one or two dashes before options,
and option names may be shortened to a unique prefix
(e.g., B<-encoding> may be abbreviated to B<-enc> or even B<-en>,
-but B<-e> is ambiguous (B<-encoding>, B<-extra>).
+but B<-e> is ambiguous (it may mean either B<-encoding> or B<-extra>)).
=over 4
=item B<-dryrun>
-Don't actually generate any fonts and files, only create a logfile
-showing which fonts would be generated.
-By default, this information is written to F<autoinst.log>;
-use the B<-logfile> option to specify a different filename.
+Don't actually do anything, only create the logfile F<autoinst.log>
+showing which fonts would have been generated.
=item B<-encoding>=I<encoding[,encoding]>
-Generate the specified encoding(s) for the text fonts. The default is "OT1,T1,LY1".
-For each encoding, a file F<< <encoding>.enc >> (I<lowercase>)
+Generate the specified encoding(s) for the text fonts. The default is
+"OT1,T1,LY1".
+For each encoding, a file F<< <encoding>.enc >> (in all I<lowercase>!)
should be somewhere where F<otftotfm> can find it. Suitable encoding files
for OT1, T1/TS1 and LY1 come with B<autoinst>. (These files are
called F<fontools_ot1.enc> etc. to avoid name clashes with other packages;
the "fontools_" prefix may be omitted.)
Multiple text encodings can be specified as a comma-separated list:
-C<-encoding=OT1,T1>. The encodings are passed to F<fontenc> in the order
-specified, so the last one will be the default text encoding.
+C<-encoding=OT1,T1> (without spaces!). The generated style file passes these encodings
+to F<fontenc> in the specified order, so the last one will become
+the default text encoding for your documents.
=item B<-ts1> / B<-nots1>
@@ -1988,10 +1980,20 @@ Control the creation of titling fonts. The default is B<-titling>.
Control the creation of fonts with superior characters.
The default is B<-superiors>.
-=item B<-inferiors> / B<-noinferiors>
+=item B<-inferiors>=[ B<sinf> | B<subs> | B<dnom> ]
+
+The OpenType standard defines several kinds of digits that might be used
+as inferiors or subscripts: "Scientific Inferiors"
+(OpenType feature "sinf"), "Subscripts" ("subs") and "Denominators" ("dnom").
+This option allows the user to determine which of these styles B<autoinst>
+should use for the inferior characters. The default is not to create fonts
+with inferior characters.
-Control the creation of fonts with inferior digits.
-The default is B<-noinferiors>.
+Note that many fonts contain only one (or even none) of these types
+of inferior characters. If you specify a style of inferiors that isn't
+actually present in the font, B<autoinst> silently falls back to its default
+of not creating fonts with inferiors; it doesn't try to substitute one of
+the other features.
=item B<-fractions> / B<-nofractions>
@@ -2002,17 +2004,6 @@ The default is B<-nofractions>.
Control the creation of ornament fonts. The default is B<-ornaments>.
-=item B<-verbose>
-
-Verbose mode; print detailed information about which fonts B<autoinst>
-is generating. By default, this information is written to F<autoinst.log>;
-a different filename can be specified using the B<-logfile> option.
-Repeat this option for even more detailed information.
-
-=item B<-logfile>=I<LOGFILE>
-
-Write the logging information to F<LOGFILE> instead of F<autoinst.log>.
-
=item B<-defaultlining> / B<-defaultoldstyle>
=item B<-defaulttabular> / B<-defaultproportional>
@@ -2020,49 +2011,48 @@ Write the logging information to F<LOGFILE> instead of F<autoinst.log>.
Tell B<autoinst> which figure style is the current font family's default
(i.e., which figures you get when you don't specify any OpenType features).
-I<< Don't use these options unless you are certain you need them!
+I<Don't use these options unless you are certain you need them!>
They are only needed for fonts that don't provide OpenType features
for their default figure style; and even in that case,
-the default values (B<-defaultlining> and B<-defaulttabular>)
-are usually correct. >>
+B<autoinst>'s default values (B<-defaultlining> and B<-defaulttabular>)
+are usually correct.
-=item B<-figurekern> / B<-nofigurekern>
+=item B<-nofigurekern>
Some fonts provide kerning pairs for tabular figures.
This is very probably not what you want
(e.g., numbers in tables won't line up exactly).
-The option B<-nofigurekern> adds extra I< --ligkern> options
-to the commands for I<otftotfm> to suppress such kerns
-(but of course only for the families with tabular figures).
-Since this leads to very long commands (one hundred such options in total!)
-and the problem only occurs in very few fonts,
-the default is B<-figurekern>.
+This option adds extra I< --ligkern> options
+to the commands for I<otftotfm> to suppress such kerns.
+Note that this option leads to very long commands (it adds
+one hundred I< --ligkern> options), which may cause problems on some systems.
=item B<-extra>=I<text>
-Add I<text> to the command line to I<otftotfm>. To prevent I<text> from
-accidentily being interpreted as options to B<autoinst>, it should be
-properly quoted.
+Append I<text> as extra options to the command lines for I<otftotfm>.
+To prevent I<text> from accidentily being interpreted as options to B<autoinst>,
+it should be properly quoted.
=item B<-manual>
-Manual mode. By default, B<autoinst> executes all F<otftotfm>
+Manual mode. By default, B<autoinst> immediately executes all F<otftotfm>
commands it generates; with the B<-manual> option, these commands are
instead written to a file F<autoinst.bat>.
-Also, the generated F<otftotfm> commands specify the I< --pl> option
+Furthermore it adds the I< --pl> option
(which tells F<otftotfm> to generate human readable/editable F<pl>
and F<vpl> files instead of the default F<tfm> and F<vf> files)
-and omit the I< --automatic> option (which causes F<otftotfm> to
+and omits the I< --automatic> option (which causes F<otftotfm> to
leave all generated files in the current directory, rather than install
-them into your TEXMF tree).
+them into your TEXMF tree). Manual mode is meant to enable tweaking
+the generated commands and post-processing the generated files.
-When using this option, you should run F<pltotf> and F<vptovf> after
-executing all commands,
-to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format.
+When using this option, run F<pltotf> and F<vptovf> after executing
+the commands (to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format)
+and move all generated files to their proper destinations.
=back
-The following options are only meaningful in automatic mode,
+All following options are only meaningful in automatic mode,
and hence ignored in manual mode:
=over 4
@@ -2100,18 +2090,18 @@ The default is B<-updmap>.
Eddie Kohler's B<TypeTools> (F<http://www.lcdf.org/type>).
-B<Perl> can be downloaded from F<http://www.perl.org>; it is
-pre-installed on many Linux distributions.
+B<Perl> can be obtained from F<http://www.perl.org>;
+it is a standard part of many Linux distributions.
For Windows, try ActivePerl (F<http://www.activestate.com>)
or Strawberry Perl (F<http://strawberryperl.com>).
-The B<FontPro> project (F<https://github.com/sebschub/FontPro>)
-offers very complete LaTeX support for Adobe's Minion Pro and Myriad Pro
-(including math), and is currently working on Cronos Pro.
-
B<XeTeX> (F<http://www.tug.org/xetex>) and B<LuaTeX> (F<http://www.luatex.org>)
-are TeX engines that can use fonts in many formats
-(including both flavours of OpenType) without TeX-specific support files.
+are Unicode-aware TeX engines that can use OpenType fonts directly,
+without the need for any (La)TeX-specific support files.
+
+The B<FontPro> project (F<https://github.com/sebschub/FontPro>)
+offers very complete LaTeX support (including math) for Adobe's Minion Pro,
+Myriad Pro and Cronos Pro font families.
John Owens' B<otfinst> (available from CTAN) is another wrapper
around F<otftotfm>.
@@ -2122,9 +2112,10 @@ around F<otftotfm>.
Marc Penninga <marcpenninga@gmail.com>
When sending a bug report, please give as much relevant information as
-possible; this includes at least (but may not be limited to) the output
-from running B<autoinst> with the I<-verbose> option.
-Please include all (if any) error messages as well.
+possible; this includes at least (but may not be limited to)
+the log file F<autoinst.log>.
+If you see any error messages (either from B<autoinst> itself, from Perl or
+from the OS), please include these I<verbatim> as well; don't paraphrase them.
=head1 COPYRIGHT
@@ -2153,13 +2144,27 @@ GNU General Public License for more details.
=head1 RECENT CHANGES
-(See the source code for the rest of the story.)
+(See the source for the full story, all the way back to 2005.)
=over 12
+=item I<2017-06-16>
+
+Changed the I<-inferiors> option from a binary yes-or-no choice to allow
+the user to choose one of the "sinf", "subs" and "dnom" features.
+B<autoinst> now always creates a log file.
+
=item I<2017-03-21>
-Updated the F<fontools_ot1.enc> encoding file to include the Lslash and lslash glyphs (thanks to Bob Tennent).
+Updated the F<fontools_ot1.enc> encoding file to include the "Lslash"
+and "lslash" glyphs (thanks to Bob Tennent).
+
+=back
+
+
+=begin Really_old_history
+
+=over 12
=item I<2015-11-22>
@@ -2186,13 +2191,6 @@ Added the I<-lining>, I<-oldstyle>, I<-tabular> and I<-proportional>
options; the old options with those names have been renamed to
I<-defaultlining>, I<-defaultoldstyle> etc.
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
=item I<2013-10-31>
The previous change required Perl v5.14 or newer;
@@ -2368,8 +2366,8 @@ Also elaborated the documentation somewhat and fixed a small bug.
=item I<2005-09-22>
Added check to see if filename parsing succeeded;
-updated the filename parsing code to cater for GaramondPremier, Silentium
-and some non-Adobe fonts;
+updated the filename parsing code to cater for GaramondPremier Pro,
+Silentium Pro and some non-Adobe fonts;
added the I<-sanserif> and I<-typewriter> options and hacked the
style files to support using several different font families in one document.
@@ -2383,7 +2381,7 @@ and improved the layout of the generated files.
=item I<2005-08-11>
-The generated commands weren't actually executed, only printed....
+The generated commands weren't actually executed, only printed...
Also added a small hack to cater for fonts
(such as some recent versions of MinionPro)
that contain swash characters but don't provide a "swsh" feature.
diff --git a/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf
index 502d8585be3..2a573de6587 100644
--- a/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/autoinst.1 b/Master/texmf-dist/doc/man/man1/autoinst.1
index ce17295f5bd..918e252a0d7 100644
--- a/Master/texmf-dist/doc/man/man1/autoinst.1
+++ b/Master/texmf-dist/doc/man/man1/autoinst.1
@@ -129,14 +129,14 @@
.\" ========================================================================
.\"
.IX Title "AUTOINST 1"
-.TH AUTOINST 1 "2017-03-21" "fontools" "Marc Penninga"
+.TH AUTOINST 1 "2017-06-16" "fontools" "Marc Penninga"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
autoinst \- wrapper around the LCDF TypeTools,
-for installing OpenType fonts in LaTeX.
+for installing and using OpenType fonts in (La)TeX.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBautoinst\fR [\fIoptions\fR] \fBfontfile(s)\fR
@@ -154,8 +154,8 @@ Given a family of font files (in \fIotf\fR or \fIttf\fR format),
\&\fBautoinst\fR will create several LaTeX font families:
.RS 2
.IP "\-" 3
-Four text families (with lining and oldstyle digits, in both tabular
-and proportional variants), each with the following shapes:
+Four text families (with lining and oldstyle digits, each in both tabular
+and proportional variants), all with the following shapes:
.RS 3
.RS 2
.IP "\fIn\fR" 8
@@ -182,7 +182,8 @@ since old-style digits make no sense with all-caps text.)
Italic and slanted small caps
.IP "\fInw\fR" 8
.IX Item "nw"
-\&\*(L"Upright swash\*(R"; usually normal text with \*(L"oldstyle\*(R" ligatures such as ct, sp and st.
+\&\*(L"Upright swash\*(R"; usually roman text with a few \*(L"oldstyle\*(R" ligatures
+like ct, sp and st.
.IP "\fItlit\fR, \fItlsl\fR" 8
.IX Item "tlit, tlsl"
Italic and slanted titling text
@@ -193,10 +194,10 @@ Italic and slanted titling text
.RS 3
.RE
.IP "\-" 3
-For each text family: a family of TS1\-encoded symbol fonts,
+For each T1\-encoded text family: a family of TS1\-encoded symbol fonts,
in roman, italic and slanted shapes.
.IP "\-" 3
-Four families with superiors, inferiors, numerators and denominators,
+Families with superiors, inferiors, numerators and denominators,
in roman, italic and slanted shapes.
.IP "\-" 3
An ornament family, in roman, italic and slanted shapes.
@@ -206,8 +207,8 @@ An ornament family, in roman, italic and slanted shapes.
.PP
Of course, if the fonts don't contain italics, oldstyle digits, small caps
etc., the corresponding shapes and families are not created.
-Furthermore, the creation of most families and shapes can be controlled by
-command-line options (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below).
+In addition, the creation of most families and shapes can be controlled
+by options (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below).
.PP
These families use the \fIFontPro\fR project's naming scheme:
\&\fI<FontFamily>\-<Suffix>\fR, where \fI<Suffix>\fR is:
@@ -225,8 +226,8 @@ proportional oldstyle figures
tabular oldstyle figures
.IP "\fISup\fR" 8
.IX Item "Sup"
-superior characters (many fonts have only an incomplete set of superior
-characters: digits, some punctuation and the letters \fIabdeilmnorst\fR;
+superior characters (note that most fonts have only an incomplete set of
+superior characters: digits, some punctuation and the letters \fIabdeilmnorst\fR;
normal forms are used for other characters)
.IP "\fIInf\fR" 8
.IX Item "Inf"
@@ -245,22 +246,22 @@ denominators
The generated fonts are named \fI<FontName>\-<suffix>\-<shape>\-<enc>\fR,
where \fI<suffix>\fR is the same as above (but in lowercase),
\&\fI<shape>\fR is either empty, \*(L"sc\*(R", \*(L"swash\*(R" or \*(L"titling\*(R",
-and \fI<enc>\fR is the encoding.
-A typical name in this scheme is \*(L"LinLibertineO\-osf\-sc\-ly1\*(R".
+and \fI<enc>\fR is the encoding (also in lowercase).
+A typical name in this scheme would be \*(L"FiraSans\-Light\-osf\-sc\-ly1\*(R".
.SS "On the choice of text encoding"
.IX Subsection "On the choice of text encoding"
By default, \fBautoinst\fR generates text fonts with \s-1OT1, T1\s0 and \s-1LY1\s0
encodings, and the generated style files use \s-1LY1\s0 as the default text encoding.
-\&\s-1LY1\s0 has been chosen over T1 because it has some empty slots to accomodate
+\&\s-1LY1\s0 has been chosen over T1 because it has some empty slots to accommodate
the additional ligatures provided by many OpenType fonts.
-Different encodings can be chosen using the \fI\-encoding\fR command-line option
+Other encodings can be chosen using the \fI\-encoding\fR option
(see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below).
.SS "Using the fonts in your LaTeX documents"
.IX Subsection "Using the fonts in your LaTeX documents"
\&\fBautoinst\fR generates a style file for using the font in LaTeX documents,
named \fI<FontFamily>.sty\fR. This style file also takes care of loading the
\&\fIfontenc\fR and \fItextcomp\fR packages.
-To use the font, simply put \f(CW\*(C`\eusepackage{\f(CI<FontFamily>\f(CW}\*(C'\fR
+To use the font, put the command \f(CW\*(C`\eusepackage{\f(CI<FontFamily>\f(CW}\*(C'\fR
in the preamble of your document.
.PP
This style file defines a number of options:
@@ -273,30 +274,32 @@ The defaults are \*(L"oldstyle\*(R" and \*(L"proportional\*(R" (if available).
.el .IP "\f(CWscale=\f(CI<number>\f(CW\fR" 4
.IX Item "scale=<number>"
Scale the font by a factor of \fI<number>\fR.
-For example: to increase the size of the font by 5%, use
+E.g., to increase the size of the font by 5%, use
\&\f(CW\*(C`\eusepackage[scale=1.05]{\f(CI<FontFamily>\f(CW}\*(C'\fR.
May also be spelled \f(CW\*(C`scaled\*(C'\fR.
.Sp
This option is only available when you have the \fIxkeyval\fR package installed.
-.ie n .IP """ultrablack"", ""ultrabold"", ""heavy"", ""extrablack"", ""black"", ""extrabold"", ""demibold"", ""semibold"", ""bold""" 4
-.el .IP "\f(CWultrablack\fR, \f(CWultrabold\fR, \f(CWheavy\fR, \f(CWextrablack\fR, \f(CWblack\fR, \f(CWextrabold\fR, \f(CWdemibold\fR, \f(CWsemibold\fR, \f(CWbold\fR" 4
-.IX Item "ultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold"
-Choose the weight that LaTeX will use for the \*(L"bold\*(R" weight.
.ie n .IP """light"", ""medium"", ""regular""" 4
.el .IP "\f(CWlight\fR, \f(CWmedium\fR, \f(CWregular\fR" 4
.IX Item "light, medium, regular"
-Choose the weight that LaTeX will use for the \*(L"regular\*(R" weight.
+Select the weight that LaTeX will use as the \*(L"regular\*(R" weight;
+the default is \f(CW\*(C`regular\*(C'\fR.
+.ie n .IP """ultrablack"", ""ultrabold"", ""heavy"", ""extrablack"", ""black"", ""extrabold"", ""demibold"", ""semibold"", ""bold""" 4
+.el .IP "\f(CWultrablack\fR, \f(CWultrabold\fR, \f(CWheavy\fR, \f(CWextrablack\fR, \f(CWblack\fR, \f(CWextrabold\fR, \f(CWdemibold\fR, \f(CWsemibold\fR, \f(CWbold\fR" 4
+.IX Item "ultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold"
+Select the weight that LaTeX will use as the \*(L"bold\*(R" weight;
+the default is \f(CW\*(C`bold\*(C'\fR.
.PP
-These last two groups of options will only work if
+The previous two groups of options will only work if
you have the \fImweights\fR package installed.
.PP
The style file will also try to load the \fIfontaxes\fR package
-(available on \s-1CTAN\s0),
-which gives easy access to various font shapes and styles.
+(available on \s-1CTAN\s0), which gives easy access to various font shapes and styles.
Using the machinery set up by \fIfontaxes\fR, the generated style file
defines a number of commands (which take the text to be typeset as argument)
and declarations (which don't take arguments, but affect all text up to
-the end of the current group) of its own:
+the end of the current group) to access titling, superior and inferior
+characters:
.PP
.Vb 1
\& DECLARATION COMMAND SHORT FORM OF COMMAND
@@ -308,7 +311,7 @@ the end of the current group) of its own:
.PP
In addition, the \f(CW\*(C`\eswshape\*(C'\fR and \f(CW\*(C`\etextsw\*(C'\fR commands are redefined to place
swash on the secondary shape axis (\fIfontaxes\fR places it on the primary
-shape axis); this makes these commands behave properly when nested, so that
+shape axis) to make them behave properly when nested, so that
\&\f(CW\*(C`\eswshape\eupshape\*(C'\fR will give upright swash.
.PP
There are no commands for accessing the numerator and denominator
@@ -330,23 +333,22 @@ encoding vector, e.g. if your fonts use non-standard glyph names for ornaments.
.PP
These commands are only generated for existing shapes and number styles;
no commands are generated for shapes and styles that don't exist,
-or whose generation has been turned off using command-line options.
-Also: these commands are built on top of \fIfontaxes\fR;
-if that package cannot be found, you're limited to using the
-lower-level commands from standard \s-1NFSS \s0(\f(CW\*(C`\efontfamily\*(C'\fR, \f(CW\*(C`\efontseries\*(C'\fR,
-\&\f(CW\*(C`\efontshape\*(C'\fR etc.).
+or whose generation was turned off by the user.
+Also these commands are built on top of \fIfontaxes\fR, so if that package
+cannot be found, you're limited to using the lower-level commands from
+standard \s-1NFSS \s0(\f(CW\*(C`\efontfamily\*(C'\fR, \f(CW\*(C`\efontseries\*(C'\fR, \f(CW\*(C`\efontshape\*(C'\fR etc.).
.SS "Using multiple font families in one document"
.IX Subsection "Using multiple font families in one document"
Style files generated by versions of \fBautoinst\fR older dan 2013\-07\-25
redefined \f(CW\*(C`\emddefault\*(C'\fR and \f(CW\*(C`\ebfdefault\*(C'\fR, whereas newer style files
-use the \fImweights\fR package instead.
+build on the facilities of the \fImweights\fR package instead.
If you use multiple \fBautoinst\fR\-generated font familes in the same document,
-it is best if all style files are generated by the same version of
+it might be best if all style files are generated by the same version of
\&\fBautoinst\fR; re-generate the older families if necessary.
.SS "\s-1NFSS\s0 codes"
.IX Subsection "NFSS codes"
-\&\s-1NFSS\s0 identifies fonts by a combination of family, series (weight plus width),
-shape and size.
+\&\s-1NFSS\s0 identifies fonts by a combination of family, series
+(the concatenation of weight and width), shape and size.
\&\fBautoinst\fR parses the output of \f(CW\*(C`otfinfo \-\-info\*(C'\fR to determine
these parameters. When this fails
(e.g., because the font family contains uncommon widths or weights),
@@ -361,15 +363,14 @@ this strategy is only used as a last resort.)
If such a proliferation of font families is unwanted,
either run \fBautoinst\fR on a smaller set of fonts or
add the missing widths, weights and shapes to the tables \f(CW%FD_WIDTH\fR,
-\&\f(CW%FD_WEIGHT\fR and \f(CW%FD_SHAPE\fR, at the top of the source code.
+\&\f(CW%FD_WEIGHT\fR and \f(CW%FD_SHAPE\fR, at the beginning of the source code.
Please also send a bug report (see \s-1AUTHOR\s0 below).
.PP
\&\fBautoinst\fR maps widths, weights and shapes to \s-1NFSS\s0 codes using
-the following tables. These are based as much as possible
-on the standard \fIFontname\fR scheme and Philipp Lehman's
-\&\fIFont Installation Guide\fR,
-but some changes were made to avoid name clashes in font families
-with many widths and weights.
+the following tables. These are based on the standard \fIFontname\fR scheme
+and Philipp Lehman's \fIFont Installation Guide\fR, but some changes were made
+to avoid name clashes in font families with many different widths and weights,
+such as Helvetica Neue.
.PP
.Vb 1
\& WEIGHT WIDTH
@@ -400,8 +401,8 @@ with many widths and weights.
\& Incline(d) sl [3]
.Ve
.PP
-\fINotes:\fR
-.IX Subsection "Notes:"
+\fINotes\fR
+.IX Subsection "Notes"
.IP "[1]" 4
.IX Item "[1]"
When \fIboth\fR weight and width are empty, the \*(L"series\*(R" attribute becomes \*(L"m\*(R".
@@ -411,11 +412,11 @@ Adobe Silentium Pro contains two \*(L"Roman\*(R" shapes (\*(L"RomanI\*(R" and \*
the first of these is mapped to \*(L"n\*(R", the second one to \*(L"it\*(R".
.IP "[3]" 4
.IX Item "[3]"
-New in release 2014\-01\-21; before that, slanted fonts were mapped to \*(L"it\*(R".
+Since release 2014\-01\-21; before that, slanted shapes were mapped to \*(L"it\*(R".
.SS "A note for MiKTeX users"
.IX Subsection "A note for MiKTeX users"
Automatically installing the fonts into a suitable \s-1TEXMF\s0 tree
-(as \fBautoinst\fR does by default) requires a TeX-installation that uses
+(as \fBautoinst\fR tries to do by default) requires a TeX-installation that uses
the \fIkpathsea\fR library; with TeX distributions that implement their
own directory searching (such as MiKTeX), \fBautoinst\fR will complain that
it cannot find the \fIkpsewhich\fR program and install all generated files
@@ -427,35 +428,35 @@ to their correct destinations by hand, or use the \fI\-target\fR option
Also, some OpenType fonts may lead to \fIpl\fR and \fIvpl\fR files that
are too big for MiKTeX's \fIpltotf\fR and \fIvptovf\fR;
the versions that come with W32TeX (\fIhttp://www.w32tex.org\fR)
-and TeXLive (\fIhttp://tug.org/texlive\fR) don't have this problem.
+and TeXLive (\fIhttp://tug.org/texlive\fR) don't seem to have this problem.
.SH "COMMAND-LINE OPTIONS"
.IX Header "COMMAND-LINE OPTIONS"
\&\fBautoinst\fR tries hard to do The Right Thing (\s-1TM\s0) by default,
so in many cases you won't need these options;
-but most aspects of its operation can be changed if you want to.
+but most aspects of its operation can be fine-tuned if you want to.
.PP
You may use either one or two dashes before options,
and option names may be shortened to a unique prefix
(e.g., \fB\-encoding\fR may be abbreviated to \fB\-enc\fR or even \fB\-en\fR,
-but \fB\-e\fR is ambiguous (\fB\-encoding\fR, \fB\-extra\fR).
+but \fB\-e\fR is ambiguous (it may mean either \fB\-encoding\fR or \fB\-extra\fR)).
.IP "\fB\-dryrun\fR" 4
.IX Item "-dryrun"
-Don't actually generate any fonts and files, only create a logfile
-showing which fonts would be generated.
-By default, this information is written to \fIautoinst.log\fR;
-use the \fB\-logfile\fR option to specify a different filename.
+Don't actually do anything, only create the logfile \fIautoinst.log\fR
+showing which fonts would have been generated.
.IP "\fB\-encoding\fR=\fIencoding[,encoding]\fR" 4
.IX Item "-encoding=encoding[,encoding]"
-Generate the specified encoding(s) for the text fonts. The default is \*(L"\s-1OT1,T1,LY1\*(R".\s0
-For each encoding, a file \fI<encoding>.enc\fR (\fIlowercase\fR)
+Generate the specified encoding(s) for the text fonts. The default is
+\&\*(L"\s-1OT1,T1,LY1\*(R".\s0
+For each encoding, a file \fI<encoding>.enc\fR (in all \fIlowercase\fR!)
should be somewhere where \fIotftotfm\fR can find it. Suitable encoding files
for \s-1OT1, T1/TS1\s0 and \s-1LY1\s0 come with \fBautoinst\fR. (These files are
called \fIfontools_ot1.enc\fR etc. to avoid name clashes with other packages;
the \*(L"fontools_\*(R" prefix may be omitted.)
.Sp
Multiple text encodings can be specified as a comma-separated list:
-\&\f(CW\*(C`\-encoding=OT1,T1\*(C'\fR. The encodings are passed to \fIfontenc\fR in the order
-specified, so the last one will be the default text encoding.
+\&\f(CW\*(C`\-encoding=OT1,T1\*(C'\fR (without spaces!). The generated style file passes these encodings
+to \fIfontenc\fR in the specified order, so the last one will become
+the default text encoding for your documents.
.IP "\fB\-ts1\fR / \fB\-nots1\fR" 4
.IX Item "-ts1 / -nots1"
Control the creation of TS1\-encoded fonts. The default is \fB\-ts1\fR
@@ -502,10 +503,20 @@ Control the creation of titling fonts. The default is \fB\-titling\fR.
.IX Item "-superiors / -nosuperiors"
Control the creation of fonts with superior characters.
The default is \fB\-superiors\fR.
-.IP "\fB\-inferiors\fR / \fB\-noinferiors\fR" 4
-.IX Item "-inferiors / -noinferiors"
-Control the creation of fonts with inferior digits.
-The default is \fB\-noinferiors\fR.
+.IP "\fB\-inferiors\fR=[ \fBsinf\fR | \fBsubs\fR | \fBdnom\fR ]" 4
+.IX Item "-inferiors=[ sinf | subs | dnom ]"
+The OpenType standard defines several kinds of digits that might be used
+as inferiors or subscripts: \*(L"Scientific Inferiors\*(R"
+(OpenType feature \*(L"sinf\*(R"), \*(L"Subscripts\*(R" (\*(L"subs\*(R") and \*(L"Denominators\*(R" (\*(L"dnom\*(R").
+This option allows the user to determine which of these styles \fBautoinst\fR
+should use for the inferior characters. The default is not to create fonts
+with inferior characters.
+.Sp
+Note that many fonts contain only one (or even none) of these types
+of inferior characters. If you specify a style of inferiors that isn't
+actually present in the font, \fBautoinst\fR silently falls back to its default
+of not creating fonts with inferiors; it doesn't try to substitute one of
+the other features.
.IP "\fB\-fractions\fR / \fB\-nofractions\fR" 4
.IX Item "-fractions / -nofractions"
Control the creation of fonts with numerators and denominators.
@@ -513,15 +524,6 @@ The default is \fB\-nofractions\fR.
.IP "\fB\-ornaments\fR / \fB\-noornaments\fR" 4
.IX Item "-ornaments / -noornaments"
Control the creation of ornament fonts. The default is \fB\-ornaments\fR.
-.IP "\fB\-verbose\fR" 4
-.IX Item "-verbose"
-Verbose mode; print detailed information about which fonts \fBautoinst\fR
-is generating. By default, this information is written to \fIautoinst.log\fR;
-a different filename can be specified using the \fB\-logfile\fR option.
-Repeat this option for even more detailed information.
-.IP "\fB\-logfile\fR=\fI\s-1LOGFILE\s0\fR" 4
-.IX Item "-logfile=LOGFILE"
-Write the logging information to \fI\s-1LOGFILE\s0\fR instead of \fIautoinst.log\fR.
.IP "\fB\-defaultlining\fR / \fB\-defaultoldstyle\fR" 4
.IX Item "-defaultlining / -defaultoldstyle"
.PD 0
@@ -531,44 +533,43 @@ Write the logging information to \fI\s-1LOGFILE\s0\fR instead of \fIautoinst.log
Tell \fBautoinst\fR which figure style is the current font family's default
(i.e., which figures you get when you don't specify any OpenType features).
.Sp
-\&\fIDon't use these options unless you are certain you need them!
+\&\fIDon't use these options unless you are certain you need them!\fR
They are only needed for fonts that don't provide OpenType features
for their default figure style; and even in that case,
-the default values (\f(BI\-defaultlining\fI and \f(BI\-defaulttabular\fI)
-are usually correct.\fR
-.IP "\fB\-figurekern\fR / \fB\-nofigurekern\fR" 4
-.IX Item "-figurekern / -nofigurekern"
+\&\fBautoinst\fR's default values (\fB\-defaultlining\fR and \fB\-defaulttabular\fR)
+are usually correct.
+.IP "\fB\-nofigurekern\fR" 4
+.IX Item "-nofigurekern"
Some fonts provide kerning pairs for tabular figures.
This is very probably not what you want
(e.g., numbers in tables won't line up exactly).
-The option \fB\-nofigurekern\fR adds extra \fI \-\-ligkern\fR options
-to the commands for \fIotftotfm\fR to suppress such kerns
-(but of course only for the families with tabular figures).
-Since this leads to very long commands (one hundred such options in total!)
-and the problem only occurs in very few fonts,
-the default is \fB\-figurekern\fR.
+This option adds extra \fI \-\-ligkern\fR options
+to the commands for \fIotftotfm\fR to suppress such kerns.
+Note that this option leads to very long commands (it adds
+one hundred \fI \-\-ligkern\fR options), which may cause problems on some systems.
.IP "\fB\-extra\fR=\fItext\fR" 4
.IX Item "-extra=text"
-Add \fItext\fR to the command line to \fIotftotfm\fR. To prevent \fItext\fR from
-accidentily being interpreted as options to \fBautoinst\fR, it should be
-properly quoted.
+Append \fItext\fR as extra options to the command lines for \fIotftotfm\fR.
+To prevent \fItext\fR from accidentily being interpreted as options to \fBautoinst\fR,
+it should be properly quoted.
.IP "\fB\-manual\fR" 4
.IX Item "-manual"
-Manual mode. By default, \fBautoinst\fR executes all \fIotftotfm\fR
+Manual mode. By default, \fBautoinst\fR immediately executes all \fIotftotfm\fR
commands it generates; with the \fB\-manual\fR option, these commands are
instead written to a file \fIautoinst.bat\fR.
-Also, the generated \fIotftotfm\fR commands specify the \fI \-\-pl\fR option
+Furthermore it adds the \fI \-\-pl\fR option
(which tells \fIotftotfm\fR to generate human readable/editable \fIpl\fR
and \fIvpl\fR files instead of the default \fItfm\fR and \fIvf\fR files)
-and omit the \fI \-\-automatic\fR option (which causes \fIotftotfm\fR to
+and omits the \fI \-\-automatic\fR option (which causes \fIotftotfm\fR to
leave all generated files in the current directory, rather than install
-them into your \s-1TEXMF\s0 tree).
+them into your \s-1TEXMF\s0 tree). Manual mode is meant to enable tweaking
+the generated commands and post-processing the generated files.
.Sp
-When using this option, you should run \fIpltotf\fR and \fIvptovf\fR after
-executing all commands,
-to convert the \fIpl\fR and \fIvf\fR files to \fItfm\fR and \fIvf\fR format.
+When using this option, run \fIpltotf\fR and \fIvptovf\fR after executing
+the commands (to convert the \fIpl\fR and \fIvf\fR files to \fItfm\fR and \fIvf\fR format)
+and move all generated files to their proper destinations.
.PP
-The following options are only meaningful in automatic mode,
+All following options are only meaningful in automatic mode,
and hence ignored in manual mode:
.IP "\fB\-target\fR=\fI\s-1DIRECTORY\s0\fR" 4
.IX Item "-target=DIRECTORY"
@@ -599,18 +600,18 @@ The default is \fB\-updmap\fR.
.IX Header "SEE ALSO"
Eddie Kohler's \fBTypeTools\fR (\fIhttp://www.lcdf.org/type\fR).
.PP
-\&\fBPerl\fR can be downloaded from \fIhttp://www.perl.org\fR; it is
-pre-installed on many Linux distributions.
+\&\fBPerl\fR can be obtained from \fIhttp://www.perl.org\fR;
+it is a standard part of many Linux distributions.
For Windows, try ActivePerl (\fIhttp://www.activestate.com\fR)
or Strawberry Perl (\fIhttp://strawberryperl.com\fR).
.PP
-The \fBFontPro\fR project (\fIhttps://github.com/sebschub/FontPro\fR)
-offers very complete LaTeX support for Adobe's Minion Pro and Myriad Pro
-(including math), and is currently working on Cronos Pro.
-.PP
\&\fBXeTeX\fR (\fIhttp://www.tug.org/xetex\fR) and \fBLuaTeX\fR (\fIhttp://www.luatex.org\fR)
-are TeX engines that can use fonts in many formats
-(including both flavours of OpenType) without TeX-specific support files.
+are Unicode-aware TeX engines that can use OpenType fonts directly,
+without the need for any (La)TeX\-specific support files.
+.PP
+The \fBFontPro\fR project (\fIhttps://github.com/sebschub/FontPro\fR)
+offers very complete LaTeX support (including math) for Adobe's Minion Pro,
+Myriad Pro and Cronos Pro font families.
.PP
John Owens' \fBotfinst\fR (available from \s-1CTAN\s0) is another wrapper
around \fIotftotfm\fR.
@@ -619,9 +620,10 @@ around \fIotftotfm\fR.
Marc Penninga <marcpenninga@gmail.com>
.PP
When sending a bug report, please give as much relevant information as
-possible; this includes at least (but may not be limited to) the output
-from running \fBautoinst\fR with the \fI\-verbose\fR option.
-Please include all (if any) error messages as well.
+possible; this includes at least (but may not be limited to)
+the log file \fIautoinst.log\fR.
+If you see any error messages (either from \fBautoinst\fR itself, from Perl or
+from the \s-1OS\s0), please include these \fIverbatim\fR as well; don't paraphrase them.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (C) 2005\-2017 Marc Penninga.
@@ -641,27 +643,13 @@ but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
\&\s-1GNU\s0 General Public License for more details.
.SH "RECENT CHANGES"
.IX Header "RECENT CHANGES"
-(See the source code for the rest of the story.)
+(See the source for the full story, all the way back to 2005.)
+.IP "\fI2017\-06\-16\fR" 12
+.IX Item "2017-06-16"
+Changed the \fI\-inferiors\fR option from a binary yes-or-no choice to allow
+the user to choose one of the \*(L"sinf\*(R", \*(L"subs\*(R" and \*(L"dnom\*(R" features.
+\&\fBautoinst\fR now always creates a log file.
.IP "\fI2017\-03\-21\fR" 12
.IX Item "2017-03-21"
-Updated the \fIfontools_ot1.enc\fR encoding file to include the Lslash and lslash glyphs (thanks to Bob Tennent).
-.IP "\fI2015\-11\-22\fR" 12
-.IX Item "2015-11-22"
-Bugfix: Latex doesn't like command names with dashes in it.
-.IP "\fI2015\-05\-13\fR" 12
-.IX Item "2015-05-13"
-Fixed an error message that mixed up width and weight.
-.IP "\fI2014\-04\-04\fR" 12
-.IX Item "2014-04-04"
-Fixed a bug in the font info parsing code.
-.IP "\fI2014\-01\-21\fR" 12
-.IX Item "2014-01-21"
-\&\*(L"Oblique\*(R" or \*(L"slanted\*(R" fonts are now mapped to \s-1NFSS\s0 code \*(L"sl\*(R" instead
-of \*(L"it\*(R"; added \*(L"ssub\*(R" rules to the \fIfd\fR files to substitute slanted fonts
-for italic ones if the latter are missing. Fixed a few bugs.
-.IP "\fI2014\-01\-03\fR" 12
-.IX Item "2014-01-03"
-Added the \fI\-dryrun\fR and \fI\-logfile\fR options; changed which info is logged.
-Added the \fI\-lining\fR, \fI\-oldstyle\fR, \fI\-tabular\fR and \fI\-proportional\fR
-options; the old options with those names have been renamed to
-\&\fI\-defaultlining\fR, \fI\-defaultoldstyle\fR etc.
+Updated the \fIfontools_ot1.enc\fR encoding file to include the \*(L"Lslash\*(R"
+and \*(L"lslash\*(R" glyphs (thanks to Bob Tennent).
diff --git a/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf
index c284b69f756..90a493a8c7e 100644
--- a/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf
index 6bcf226c812..d8ea9629da3 100644
--- a/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/fontools/README b/Master/texmf-dist/doc/support/fontools/README
index e78049bad4f..1307cad6d85 100644
--- a/Master/texmf-dist/doc/support/fontools/README
+++ b/Master/texmf-dist/doc/support/fontools/README
@@ -45,7 +45,7 @@ Kpathsea
Other
The encoding files in the "share" directory should be installed
- somewhere where otftotfm can find them.
+ in a standard location where otftotfm can find them.
DISCLAIMER
@@ -65,4 +65,4 @@ the terms of the GNU General Public Licence; see the file GPLv2.txt for
the license conditions.
- Marc Penninga, 2017/03/21
+ Marc Penninga, 2017/06/16
diff --git a/Master/texmf-dist/scripts/fontools/autoinst b/Master/texmf-dist/scripts/fontools/autoinst
index ffbe7211c3d..963bb89b2fc 100755
--- a/Master/texmf-dist/scripts/fontools/autoinst
+++ b/Master/texmf-dist/scripts/fontools/autoinst
@@ -118,8 +118,8 @@ my %FD_SHAPE = (
=begin Comment
- The next table is used to generate extra DeclareFontShape rules
- in the .fd files to map missing slanted shapes to italic or vice versa.
+ The next table is used to generate extra DeclareFontShape rules in
+ the .fd files to map missing slanted shapes to italic or vice versa.
=end Comment
@@ -154,6 +154,9 @@ my %FD_SSUB = (
The 'reqd' and 'nice' subtables for the TLF, LF, TOsF and OsF styles
are empty; these are filled in at run time, depending on
which figure style is default for the current font.
+
+ The 'reqd' subtable for the Inf style is also empty; this may be filled
+ with either 'sinf' or 'subs' depending on the -inferiors options.
Ornaments are treated as a separate 'figure style'.
This may seem a bit weird, but that's the easiest way to handle them.
@@ -194,7 +197,7 @@ my %STYLE = (
shapes => ['normal'],
},
Inf => {
- reqd => ['sinf'],
+ reqd => [],
nice => [],
extra => '--ligkern="* {KL} *"',
shapes => ['normal'],
@@ -369,9 +372,7 @@ sub main {
[ $minsize, $maxsize, $item->{fontname} ];
}
- if ($ARGV{verbose}) {
- create_logfile(@worklist);
- }
+ create_logfile(@worklist);
if (!$ARGV{dryrun}) {
# Create the LaTeX support files
@@ -546,18 +547,16 @@ I'm using the following options:
swash: @{[ $ARGV{swash} ? 'yes' : 'no' ]}
titling: @{[ $ARGV{titling} ? 'yes' : 'no' ]}
superiors: @{[ $ARGV{superiors} ? 'yes' : 'no' ]}
- inferiors: @{[ $ARGV{inferiors} ? 'yes' : 'no' ]}
+ inferiors: $ARGV{inferiors}
ornaments: @{[ $ARGV{ornaments} ? 'yes' : 'no' ]}
fractions: @{[ $ARGV{fractions} ? 'yes' : 'no' ]}
- verbosity level: $ARGV{verbose}
-
- dryrun: @{[ $ARGV{dryrun} ? 'true' : 'false' ]}
- auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
+ dry run/real: @{[ $ARGV{dryrun} ? 'dry run' : 'real' ]}
+ auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
target: $ARGV{target}
extra: @{[ $ARGV{extra} || '<empty>' ]}
- figurekern: @{[ $ARGV{figurekern} ? 'keep' : 'discard' ]}
+ figurekern: @{[ $ARGV{figurekern} ? 'no action' : 'remove' ]}
font files:
@@ -569,7 +568,7 @@ END_ARGUMENTS
my @cmds;
for my $item (@worklist) {
if ($prevfn ne $item->{font}{filename}) {
- push @cmds, "\n" . '*' x 76 . "\n";
+ push @cmds, "\n" . '*' x 76;
print {$LOG} <<"END_FONTINFO";
@@ -610,14 +609,8 @@ END_FONTINFO
push @cmds, $item->{cmdline};
}
- if ($ARGV{verbose} >= 2) {
- print {$LOG} <<"END_COMMANDS";
-
- @{[ join "\n\n ", @cmds ]}
-
-END_COMMANDS
- }
-
+ print {$LOG} join "\n\n", @cmds;
+ print {$LOG} "\n";
close $LOG;
}
@@ -640,7 +633,7 @@ sub make_commands {
}
else {
if (grep { system $_ } @commands) {
- warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!";
+ warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!\n";
}
}
@@ -743,7 +736,7 @@ Possible options:
-(no)swash Toggle creation of swash shape
-(no)titling Toggle creation of titling shape
-(no)superiors Toggle creation of fonts with superior characters
- -(no)inferiors Toggle creation of fonts with inferior characters
+ -inferiors=[sinf|subs] Use this style for subscripts (see docs)
-(no)ornaments Toggle creation of ornament fonts
-(no)fractions Toggle creation of fonts with digits for fractions
@@ -766,11 +759,7 @@ Possible options:
-help Print this text and exit
-doc Print the complete documentation and exit
- -verbose Show info about which fonts are generated
- (repeat for even more detailed info)
- -logfile="LOGFILE" Print info to LOGFILE (default: autoinst.log)
-dryrun Don't generate fonts, only log what would be done
- (implies -verbose)
font[s] The fonts (.otf or .ttf format) to install.
@@ -789,7 +778,7 @@ END_USAGE
swash => '1', # 0 = no, 1 = yes
titling => '1', # 0 = no, 1 = yes
superiors => '1', # 0 = no, 1 = yes
- inferiors => '0', # 0 = no, 1 = yes
+ inferiors => '', # possible values: '', 'sinf', 'subs', 'dnom'
ornaments => '1', # 0 = no, 1 = yes
fractions => '0', # 0 = no, 1 = yes
nfss => 'rm',
@@ -802,7 +791,6 @@ END_USAGE
updmap => '1', # 0 = no, 1 = yes
manual => '0', # 0 = no, 1 = yes
dryrun => '0', # 0 = no, 1 = yes
- verbose => '0', # 0 = no, 1 = yes
logfile => 'autoinst.log',
figurekern => '1', # 0 = no, 1 = yes
);
@@ -811,7 +799,7 @@ END_USAGE
# Process command-line arguments
#-----------------------------------------------------------------------
sub parse_options {
- $ARGV{cmdline} = "$0 " . join ' ', @ARGV;
+ $ARGV{cmdline} = join ' ', ($0, @ARGV);
Getopt::Long::GetOptions(
'help|?' => sub { print $USAGE; exit; },
@@ -826,7 +814,7 @@ sub parse_options {
'swash!' => \$ARGV{swash},
'titling!' => \$ARGV{titling},
'superiors!' => \$ARGV{superiors},
- 'inferiors!' => \$ARGV{inferiors},
+ 'inferiors=s' => \$ARGV{inferiors},
'ornaments!' => \$ARGV{ornaments},
'fractions!' => \$ARGV{fractions},
'sanserif' => sub { $ARGV{nfss} = 'sf' },
@@ -843,8 +831,7 @@ sub parse_options {
'dryrun' => \$ARGV{dryrun},
'manual' => \$ARGV{manual},
'figurekern!' => \$ARGV{figurekern},
- 'verbose+' => \$ARGV{verbose},
- 'logfile=s' => \$ARGV{logfile},
+ 'verbose+' => sub {},
)
or die "$USAGE";
@@ -855,9 +842,17 @@ sub parse_options {
delete $SHAPE{titling} unless $ARGV{titling};
delete $STYLE{Sup} unless $ARGV{superiors};
- delete $STYLE{Inf} unless $ARGV{inferiors};
delete $STYLE{Orn} unless $ARGV{ornaments};
delete @STYLE{qw(Numr Dnom)} unless $ARGV{fractions};
+ if ($ARGV{inferiors} eq 'sinf') { $STYLE{Inf}{reqd} = ['sinf'] }
+ elsif ($ARGV{inferiors} eq 'subs') { $STYLE{Inf}{reqd} = ['subs'] }
+ elsif ($ARGV{inferiors} eq 'dnom') { $STYLE{Inf}{reqd} = ['dnom'] }
+ else {
+ warn "[WARNING] unknown value -inferiors=$ARGV{inferiors} ignored!\n"
+ if $ARGV{inferiors};
+ $ARGV{inferiors} = 'no';
+ delete $STYLE{Inf}
+ }
$ARGV{encoding} =~ s/\s+//xmsg;
my @textencodings = grep { $_ ne 'TS1' }
@@ -884,7 +879,7 @@ sub parse_options {
delete @STYLE{qw(TLF TOsF)} unless $ARGV{tabular};
if ($ARGV{manual}) {
- warn "[WARNING] option '--target' overridden by '--manual'!"
+ warn "[WARNING] option '-target' overridden by '-manual'!\n"
if $ARGV{target};
$ARGV{target} = File::Spec->curdir();
}
@@ -907,10 +902,6 @@ sub parse_options {
$STYLE{TLF}{extra} = $tkern;
$STYLE{TOsF}{extra} = $tkern;
}
-
- if ($ARGV{dryrun} && $ARGV{verbose} == 0) {
- $ARGV{verbose} = 1;
- }
}
@@ -1546,7 +1537,7 @@ __END__
=head1 NAME
autoinst - wrapper around the F<LCDF TypeTools>,
-for installing OpenType fonts in LaTeX.
+for installing and using OpenType fonts in (La)TeX.
=head1 SYNOPSIS
@@ -1573,8 +1564,8 @@ B<autoinst> will create several LaTeX font families:
=item -
-Four text families (with lining and oldstyle digits, in both tabular
-and proportional variants), each with the following shapes:
+Four text families (with lining and oldstyle digits, each in both tabular
+and proportional variants), all with the following shapes:
=over 2
@@ -1610,7 +1601,8 @@ Italic and slanted small caps
=item I<nw>
-"Upright swash"; usually normal text with "oldstyle" ligatures such as ct, sp and st.
+"Upright swash"; usually roman text with a few "oldstyle" ligatures
+like ct, sp and st.
=item I<tlit>, I<tlsl>
@@ -1622,12 +1614,12 @@ Italic and slanted titling text
=item -
-For each text family: a family of TS1-encoded symbol fonts,
+For each T1-encoded text family: a family of TS1-encoded symbol fonts,
in roman, italic and slanted shapes.
=item -
-Four families with superiors, inferiors, numerators and denominators,
+Families with superiors, inferiors, numerators and denominators,
in roman, italic and slanted shapes.
=item -
@@ -1640,8 +1632,8 @@ An ornament family, in roman, italic and slanted shapes.
Of course, if the fonts don't contain italics, oldstyle digits, small caps
etc., the corresponding shapes and families are not created.
-Furthermore, the creation of most families and shapes can be controlled by
-command-line options (see L</"COMMAND-LINE OPTIONS"> below).
+In addition, the creation of most families and shapes can be controlled
+by options (see L</"COMMAND-LINE OPTIONS"> below).
These families use the I<FontPro> project's naming scheme:
I<< <FontFamily>-<Suffix> >>, where I<< <Suffix> >> is:
@@ -1666,8 +1658,8 @@ tabular oldstyle figures
=item I<Sup>
-superior characters (many fonts have only an incomplete set of superior
-characters: digits, some punctuation and the letters I<abdeilmnorst>;
+superior characters (note that most fonts have only an incomplete set of
+superior characters: digits, some punctuation and the letters I<abdeilmnorst>;
normal forms are used for other characters)
=item I<Inf>
@@ -1692,17 +1684,17 @@ denominators
The generated fonts are named I<< <FontName>-<suffix>-<shape>-<enc> >>,
where I<< <suffix> >> is the same as above (but in lowercase),
I<< <shape> >> is either empty, "sc", "swash" or "titling",
-and I<< <enc> >> is the encoding.
-A typical name in this scheme is "LinLibertineO-osf-sc-ly1".
+and I<< <enc> >> is the encoding (also in lowercase).
+A typical name in this scheme would be "FiraSans-Light-osf-sc-ly1".
=head2 On the choice of text encoding
By default, B<autoinst> generates text fonts with OT1, T1 and LY1
encodings, and the generated style files use LY1 as the default text encoding.
-LY1 has been chosen over T1 because it has some empty slots to accomodate
+LY1 has been chosen over T1 because it has some empty slots to accommodate
the additional ligatures provided by many OpenType fonts.
-Different encodings can be chosen using the I<-encoding> command-line option
+Other encodings can be chosen using the I<-encoding> option
(see L</"COMMAND-LINE OPTIONS"> below).
@@ -1711,7 +1703,7 @@ Different encodings can be chosen using the I<-encoding> command-line option
B<autoinst> generates a style file for using the font in LaTeX documents,
named F<< <FontFamily>.sty >>. This style file also takes care of loading the
F<fontenc> and F<textcomp> packages.
-To use the font, simply put C<<< \usepackage{I<< <FontFamily> >>} >>>
+To use the font, put the command C<<< \usepackage{I<< <FontFamily> >>} >>>
in the preamble of your document.
This style file defines a number of options:
@@ -1726,33 +1718,35 @@ The defaults are "oldstyle" and "proportional" (if available).
=item C<<< scale=I<< <number> >> >>>
Scale the font by a factor of I<< <number> >>.
-For example: to increase the size of the font by 5%, use
+E.g., to increase the size of the font by 5%, use
C<<< \usepackage[scale=1.05]{I<< <FontFamily> >>} >>>.
May also be spelled C<scaled>.
This option is only available when you have the F<xkeyval> package installed.
-=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>,
- C<extrabold>, C<demibold>, C<semibold>, C<bold>
+=item C<light>, C<medium>, C<regular>
-Choose the weight that LaTeX will use for the "bold" weight.
+Select the weight that LaTeX will use as the "regular" weight;
+the default is C<regular>.
-=item C<light>, C<medium>, C<regular>
+=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>,
+ C<extrabold>, C<demibold>, C<semibold>, C<bold>
-Choose the weight that LaTeX will use for the "regular" weight.
+Select the weight that LaTeX will use as the "bold" weight;
+the default is C<bold>.
=back
-These last two groups of options will only work if
+The previous two groups of options will only work if
you have the F<mweights> package installed.
The style file will also try to load the F<fontaxes> package
-(available on CTAN),
-which gives easy access to various font shapes and styles.
+(available on CTAN), which gives easy access to various font shapes and styles.
Using the machinery set up by F<fontaxes>, the generated style file
defines a number of commands (which take the text to be typeset as argument)
and declarations (which don't take arguments, but affect all text up to
-the end of the current group) of its own:
+the end of the current group) to access titling, superior and inferior
+characters:
DECLARATION COMMAND SHORT FORM OF COMMAND
@@ -1764,7 +1758,7 @@ the end of the current group) of its own:
In addition, the C<\swshape> and C<\textsw> commands are redefined to place
swash on the secondary shape axis (F<fontaxes> places it on the primary
-shape axis); this makes these commands behave properly when nested, so that
+shape axis) to make them behave properly when nested, so that
C<\swshape\upshape> will give upright swash.
There are no commands for accessing the numerator and denominator
@@ -1786,27 +1780,26 @@ encoding vector, e.g. if your fonts use non-standard glyph names for ornaments.
These commands are only generated for existing shapes and number styles;
no commands are generated for shapes and styles that don't exist,
-or whose generation has been turned off using command-line options.
-Also: these commands are built on top of F<fontaxes>;
-if that package cannot be found, you're limited to using the
-lower-level commands from standard NFSS (C<\fontfamily>, C<\fontseries>,
-C<\fontshape> etc.).
+or whose generation was turned off by the user.
+Also these commands are built on top of F<fontaxes>, so if that package
+cannot be found, you're limited to using the lower-level commands from
+standard NFSS (C<\fontfamily>, C<\fontseries>, C<\fontshape> etc.).
=head2 Using multiple font families in one document
Style files generated by versions of B<autoinst> older dan 2013-07-25
redefined C<\mddefault> and C<\bfdefault>, whereas newer style files
-use the F<mweights> package instead.
+build on the facilities of the F<mweights> package instead.
If you use multiple B<autoinst>-generated font familes in the same document,
-it is best if all style files are generated by the same version of
+it might be best if all style files are generated by the same version of
B<autoinst>; re-generate the older families if necessary.
=head2 NFSS codes
-NFSS identifies fonts by a combination of family, series (weight plus width),
-shape and size.
+NFSS identifies fonts by a combination of family, series
+(the concatenation of weight and width), shape and size.
B<autoinst> parses the output of C<otfinfo --info> to determine
these parameters. When this fails
(e.g., because the font family contains uncommon widths or weights),
@@ -1821,15 +1814,14 @@ this strategy is only used as a last resort.)
If such a proliferation of font families is unwanted,
either run B<autoinst> on a smaller set of fonts or
add the missing widths, weights and shapes to the tables C<%FD_WIDTH>,
-C<%FD_WEIGHT> and C<%FD_SHAPE>, at the top of the source code.
+C<%FD_WEIGHT> and C<%FD_SHAPE>, at the beginning of the source code.
Please also send a bug report (see L<AUTHOR> below).
B<autoinst> maps widths, weights and shapes to NFSS codes using
-the following tables. These are based as much as possible
-on the standard I<Fontname> scheme and Philipp Lehman's
-F<Font Installation Guide>,
-but some changes were made to avoid name clashes in font families
-with many widths and weights.
+the following tables. These are based on the standard I<Fontname> scheme
+and Philipp Lehman's F<Font Installation Guide>, but some changes were made
+to avoid name clashes in font families with many different widths and weights,
+such as Helvetica Neue.
WEIGHT WIDTH
@@ -1860,7 +1852,7 @@ with many widths and weights.
Incline(d) sl [3]
-=head3 Notes:
+=head3 Notes
=over 4
@@ -1875,7 +1867,7 @@ the first of these is mapped to "n", the second one to "it".
=item [3]
-New in release 2014-01-21; before that, slanted fonts were mapped to "it".
+Since release 2014-01-21; before that, slanted shapes were mapped to "it".
=back
@@ -1883,7 +1875,7 @@ New in release 2014-01-21; before that, slanted fonts were mapped to "it".
=head2 A note for MiKTeX users
Automatically installing the fonts into a suitable TEXMF tree
-(as B<autoinst> does by default) requires a TeX-installation that uses
+(as B<autoinst> tries to do by default) requires a TeX-installation that uses
the F<kpathsea> library; with TeX distributions that implement their
own directory searching (such as MiKTeX), B<autoinst> will complain that
it cannot find the F<kpsewhich> program and install all generated files
@@ -1895,41 +1887,41 @@ to their correct destinations by hand, or use the I<-target> option
Also, some OpenType fonts may lead to F<pl> and F<vpl> files that
are too big for MiKTeX's F<pltotf> and F<vptovf>;
the versions that come with W32TeX (F<http://www.w32tex.org>)
-and TeXLive (F<http://tug.org/texlive>) don't have this problem.
+and TeXLive (F<http://tug.org/texlive>) don't seem to have this problem.
=head1 COMMAND-LINE OPTIONS
B<autoinst> tries hard to do The Right Thing (TM) by default,
so in many cases you won't need these options;
-but most aspects of its operation can be changed if you want to.
+but most aspects of its operation can be fine-tuned if you want to.
You may use either one or two dashes before options,
and option names may be shortened to a unique prefix
(e.g., B<-encoding> may be abbreviated to B<-enc> or even B<-en>,
-but B<-e> is ambiguous (B<-encoding>, B<-extra>).
+but B<-e> is ambiguous (it may mean either B<-encoding> or B<-extra>)).
=over 4
=item B<-dryrun>
-Don't actually generate any fonts and files, only create a logfile
-showing which fonts would be generated.
-By default, this information is written to F<autoinst.log>;
-use the B<-logfile> option to specify a different filename.
+Don't actually do anything, only create the logfile F<autoinst.log>
+showing which fonts would have been generated.
=item B<-encoding>=I<encoding[,encoding]>
-Generate the specified encoding(s) for the text fonts. The default is "OT1,T1,LY1".
-For each encoding, a file F<< <encoding>.enc >> (I<lowercase>)
+Generate the specified encoding(s) for the text fonts. The default is
+"OT1,T1,LY1".
+For each encoding, a file F<< <encoding>.enc >> (in all I<lowercase>!)
should be somewhere where F<otftotfm> can find it. Suitable encoding files
for OT1, T1/TS1 and LY1 come with B<autoinst>. (These files are
called F<fontools_ot1.enc> etc. to avoid name clashes with other packages;
the "fontools_" prefix may be omitted.)
Multiple text encodings can be specified as a comma-separated list:
-C<-encoding=OT1,T1>. The encodings are passed to F<fontenc> in the order
-specified, so the last one will be the default text encoding.
+C<-encoding=OT1,T1> (without spaces!). The generated style file passes these encodings
+to F<fontenc> in the specified order, so the last one will become
+the default text encoding for your documents.
=item B<-ts1> / B<-nots1>
@@ -1988,10 +1980,20 @@ Control the creation of titling fonts. The default is B<-titling>.
Control the creation of fonts with superior characters.
The default is B<-superiors>.
-=item B<-inferiors> / B<-noinferiors>
+=item B<-inferiors>=[ B<sinf> | B<subs> | B<dnom> ]
+
+The OpenType standard defines several kinds of digits that might be used
+as inferiors or subscripts: "Scientific Inferiors"
+(OpenType feature "sinf"), "Subscripts" ("subs") and "Denominators" ("dnom").
+This option allows the user to determine which of these styles B<autoinst>
+should use for the inferior characters. The default is not to create fonts
+with inferior characters.
-Control the creation of fonts with inferior digits.
-The default is B<-noinferiors>.
+Note that many fonts contain only one (or even none) of these types
+of inferior characters. If you specify a style of inferiors that isn't
+actually present in the font, B<autoinst> silently falls back to its default
+of not creating fonts with inferiors; it doesn't try to substitute one of
+the other features.
=item B<-fractions> / B<-nofractions>
@@ -2002,17 +2004,6 @@ The default is B<-nofractions>.
Control the creation of ornament fonts. The default is B<-ornaments>.
-=item B<-verbose>
-
-Verbose mode; print detailed information about which fonts B<autoinst>
-is generating. By default, this information is written to F<autoinst.log>;
-a different filename can be specified using the B<-logfile> option.
-Repeat this option for even more detailed information.
-
-=item B<-logfile>=I<LOGFILE>
-
-Write the logging information to F<LOGFILE> instead of F<autoinst.log>.
-
=item B<-defaultlining> / B<-defaultoldstyle>
=item B<-defaulttabular> / B<-defaultproportional>
@@ -2020,49 +2011,48 @@ Write the logging information to F<LOGFILE> instead of F<autoinst.log>.
Tell B<autoinst> which figure style is the current font family's default
(i.e., which figures you get when you don't specify any OpenType features).
-I<< Don't use these options unless you are certain you need them!
+I<Don't use these options unless you are certain you need them!>
They are only needed for fonts that don't provide OpenType features
for their default figure style; and even in that case,
-the default values (B<-defaultlining> and B<-defaulttabular>)
-are usually correct. >>
+B<autoinst>'s default values (B<-defaultlining> and B<-defaulttabular>)
+are usually correct.
-=item B<-figurekern> / B<-nofigurekern>
+=item B<-nofigurekern>
Some fonts provide kerning pairs for tabular figures.
This is very probably not what you want
(e.g., numbers in tables won't line up exactly).
-The option B<-nofigurekern> adds extra I< --ligkern> options
-to the commands for I<otftotfm> to suppress such kerns
-(but of course only for the families with tabular figures).
-Since this leads to very long commands (one hundred such options in total!)
-and the problem only occurs in very few fonts,
-the default is B<-figurekern>.
+This option adds extra I< --ligkern> options
+to the commands for I<otftotfm> to suppress such kerns.
+Note that this option leads to very long commands (it adds
+one hundred I< --ligkern> options), which may cause problems on some systems.
=item B<-extra>=I<text>
-Add I<text> to the command line to I<otftotfm>. To prevent I<text> from
-accidentily being interpreted as options to B<autoinst>, it should be
-properly quoted.
+Append I<text> as extra options to the command lines for I<otftotfm>.
+To prevent I<text> from accidentily being interpreted as options to B<autoinst>,
+it should be properly quoted.
=item B<-manual>
-Manual mode. By default, B<autoinst> executes all F<otftotfm>
+Manual mode. By default, B<autoinst> immediately executes all F<otftotfm>
commands it generates; with the B<-manual> option, these commands are
instead written to a file F<autoinst.bat>.
-Also, the generated F<otftotfm> commands specify the I< --pl> option
+Furthermore it adds the I< --pl> option
(which tells F<otftotfm> to generate human readable/editable F<pl>
and F<vpl> files instead of the default F<tfm> and F<vf> files)
-and omit the I< --automatic> option (which causes F<otftotfm> to
+and omits the I< --automatic> option (which causes F<otftotfm> to
leave all generated files in the current directory, rather than install
-them into your TEXMF tree).
+them into your TEXMF tree). Manual mode is meant to enable tweaking
+the generated commands and post-processing the generated files.
-When using this option, you should run F<pltotf> and F<vptovf> after
-executing all commands,
-to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format.
+When using this option, run F<pltotf> and F<vptovf> after executing
+the commands (to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format)
+and move all generated files to their proper destinations.
=back
-The following options are only meaningful in automatic mode,
+All following options are only meaningful in automatic mode,
and hence ignored in manual mode:
=over 4
@@ -2100,18 +2090,18 @@ The default is B<-updmap>.
Eddie Kohler's B<TypeTools> (F<http://www.lcdf.org/type>).
-B<Perl> can be downloaded from F<http://www.perl.org>; it is
-pre-installed on many Linux distributions.
+B<Perl> can be obtained from F<http://www.perl.org>;
+it is a standard part of many Linux distributions.
For Windows, try ActivePerl (F<http://www.activestate.com>)
or Strawberry Perl (F<http://strawberryperl.com>).
-The B<FontPro> project (F<https://github.com/sebschub/FontPro>)
-offers very complete LaTeX support for Adobe's Minion Pro and Myriad Pro
-(including math), and is currently working on Cronos Pro.
-
B<XeTeX> (F<http://www.tug.org/xetex>) and B<LuaTeX> (F<http://www.luatex.org>)
-are TeX engines that can use fonts in many formats
-(including both flavours of OpenType) without TeX-specific support files.
+are Unicode-aware TeX engines that can use OpenType fonts directly,
+without the need for any (La)TeX-specific support files.
+
+The B<FontPro> project (F<https://github.com/sebschub/FontPro>)
+offers very complete LaTeX support (including math) for Adobe's Minion Pro,
+Myriad Pro and Cronos Pro font families.
John Owens' B<otfinst> (available from CTAN) is another wrapper
around F<otftotfm>.
@@ -2122,9 +2112,10 @@ around F<otftotfm>.
Marc Penninga <marcpenninga@gmail.com>
When sending a bug report, please give as much relevant information as
-possible; this includes at least (but may not be limited to) the output
-from running B<autoinst> with the I<-verbose> option.
-Please include all (if any) error messages as well.
+possible; this includes at least (but may not be limited to)
+the log file F<autoinst.log>.
+If you see any error messages (either from B<autoinst> itself, from Perl or
+from the OS), please include these I<verbatim> as well; don't paraphrase them.
=head1 COPYRIGHT
@@ -2153,13 +2144,27 @@ GNU General Public License for more details.
=head1 RECENT CHANGES
-(See the source code for the rest of the story.)
+(See the source for the full story, all the way back to 2005.)
=over 12
+=item I<2017-06-16>
+
+Changed the I<-inferiors> option from a binary yes-or-no choice to allow
+the user to choose one of the "sinf", "subs" and "dnom" features.
+B<autoinst> now always creates a log file.
+
=item I<2017-03-21>
-Updated the F<fontools_ot1.enc> encoding file to include the Lslash and lslash glyphs (thanks to Bob Tennent).
+Updated the F<fontools_ot1.enc> encoding file to include the "Lslash"
+and "lslash" glyphs (thanks to Bob Tennent).
+
+=back
+
+
+=begin Really_old_history
+
+=over 12
=item I<2015-11-22>
@@ -2186,13 +2191,6 @@ Added the I<-lining>, I<-oldstyle>, I<-tabular> and I<-proportional>
options; the old options with those names have been renamed to
I<-defaultlining>, I<-defaultoldstyle> etc.
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
=item I<2013-10-31>
The previous change required Perl v5.14 or newer;
@@ -2368,8 +2366,8 @@ Also elaborated the documentation somewhat and fixed a small bug.
=item I<2005-09-22>
Added check to see if filename parsing succeeded;
-updated the filename parsing code to cater for GaramondPremier, Silentium
-and some non-Adobe fonts;
+updated the filename parsing code to cater for GaramondPremier Pro,
+Silentium Pro and some non-Adobe fonts;
added the I<-sanserif> and I<-typewriter> options and hacked the
style files to support using several different font families in one document.
@@ -2383,7 +2381,7 @@ and improved the layout of the generated files.
=item I<2005-08-11>
-The generated commands weren't actually executed, only printed....
+The generated commands weren't actually executed, only printed...
Also added a small hack to cater for fonts
(such as some recent versions of MinionPro)
that contain swash characters but don't provide a "swsh" feature.