texlive[51204] trunk: fontools (23may19)

commits+karl at tug.org commits+karl at tug.org
Thu May 23 22:56:57 CEST 2019


Revision: 51204
          http://tug.org/svn/texlive?view=revision&revision=51204
Author:   karl
Date:     2019-05-23 22:56:57 +0200 (Thu, 23 May 2019)
Log Message:
-----------
fontools (23may19)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/fontools/afm2afm
    trunk/Build/source/texk/texlive/linked_scripts/fontools/autoinst
    trunk/Build/source/texk/texlive/linked_scripts/fontools/ot2kpx
    trunk/Master/texmf-dist/doc/man/man1/afm2afm.1
    trunk/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/autoinst.1
    trunk/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/ot2kpx.1
    trunk/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf
    trunk/Master/texmf-dist/doc/support/fontools/README
    trunk/Master/texmf-dist/scripts/fontools/afm2afm
    trunk/Master/texmf-dist/scripts/fontools/autoinst
    trunk/Master/texmf-dist/scripts/fontools/ot2kpx

Modified: trunk/Build/source/texk/texlive/linked_scripts/fontools/afm2afm
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/fontools/afm2afm	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Build/source/texk/texlive/linked_scripts/fontools/afm2afm	2019-05-23 20:56:57 UTC (rev 51204)
@@ -4,7 +4,7 @@
 
 ----------------------------------------------------------------------------
 
-    Copyright (C) 2005-2013 Marc Penninga.
+    Copyright (C) 2005-2019 Marc Penninga.
 
     This program is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License
@@ -37,6 +37,8 @@
 use Getopt::Long;
 use Pod::Usage;
 
+my $VERSION = "20190522";
+
 parse_commandline();
 
 my $afm = read_afm($ARGV[0]);
@@ -72,7 +74,8 @@
 #-----------------------------------------------------------------------
 sub parse_commandline {
     Getopt::Long::GetOptions(
-        'help|?'     => sub { pod2usage(-verbose => 1) },
+        'help|?'     =>  sub { pod2usage(-verbose => 1) },
+        'version'    =>  sub { print "$VERSION\n"; exit; },
         'encoding=s' => \$ARGV{encoding},
         'kpx=s'      => \$ARGV{kpx},
         'output=s'   => \$ARGV{output},
@@ -123,14 +126,14 @@
     my ($filename, $kpx) = @_;
     open my $kpxfile, '<', $filename
         or die "[ERROR] can't open '$filename': $!";
-        
+
     my %seen = map { ($_ => 1) } @$kpx;
     for (<$kpxfile>) {
         if (m/\A\s* KPX \s/xms) { push @$kpx, $_ unless $seen{$_}++ }
     }
-    
+
     close $kpxfile;
-    
+
     return $kpx;
 }
 
@@ -317,6 +320,7 @@
 =item B<afm2afm>
 
 [B<-help>]
+[B<-version>]
 [B<-encoding> I<encodingfile>]
 [B<-kpx> I<kpxfile>]
 [B<-output> I<outputfile>]
@@ -334,8 +338,8 @@
 (potentially much) smaller files.
 
 Additional kerning pairs can be added to the output file.
-If you don't specify an encoding file, 
-the F<afm> file isn't re-encoded; 
+If you don't specify an encoding file,
+the F<afm> file isn't re-encoded;
 however, all unused (unencoded) data is still pruned.
 
 The program also generates an entry for a F<dvips>-style map file,
@@ -352,6 +356,10 @@
 
 Print a short description of the syntax
 
+=item B<-version>
+
+Print version number and exit
+
 =item B<-encoding> I<encodingfile>
 
 Re-encode to the enconding in I<encodingfile>
@@ -359,7 +367,7 @@
 =item B<-kpx> I<kpxfile>
 
 Read additional kerning pairs from I<kpxfile> and add these to the output.
-This option cannot be used to override values from the input F<afm> file, 
+This option cannot be used to override values from the input F<afm> file,
 since B<afm2afm> will write both old and new values to the output!
 
 The I<kpxfile> should contain kerning data in standard F<afm> format,
@@ -366,7 +374,7 @@
 i.e. for each kerning pair there should be a line
 
     KPX <left_glyph> <right_glyph> <amount>
-    
+
 All other lines in the I<kpxfile> are ignored.
 
 =item B<-output> I<outputfile>
@@ -390,7 +398,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (C) 2005-2013 Marc Penninga.
+Copyright (C) 2005-2019 Marc Penninga.
 
 
 =head1 LICENSE
@@ -411,6 +419,11 @@
 See the GNU General Public License for more details.
 
 
+=head1 VERSION
+
+This document describes B<afm2afm> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source code for the rest of the story.)
@@ -417,6 +430,17 @@
 
 =over 12
 
+=item I<2019-05-20>
+
+Added the I<-version> option.
+
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2013-08-07>
 
 Added the I<-kpx> command-line option.
@@ -428,13 +452,6 @@
 Refactored the code; added the "no re-encoding, only pruning"
 functionality.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2005-01-10>
 
 First version

Modified: trunk/Build/source/texk/texlive/linked_scripts/fontools/autoinst
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/fontools/autoinst	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Build/source/texk/texlive/linked_scripts/fontools/autoinst	2019-05-23 20:56:57 UTC (rev 51204)
@@ -40,6 +40,8 @@
 use Pod::Usage ();
 use POSIX ();
 
+my $VERSION = '20190522';
+
 my ($d, $m, $y) = (localtime time)[3 .. 5];
 my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d;
 
@@ -716,7 +718,7 @@
 ############################################################################
 
 
-@{[ POSIX::strftime("[%F %T]", localtime time) ]}  $0
+@{[ POSIX::strftime("[%F %T]", localtime time) ]}  $0, version $VERSION
 
 
     "$ARGV{cmdline}"
@@ -775,7 +777,7 @@
     }
     printf {$LOG} "\n";
 
-    return if $ARGV{verbose} < 1;
+    return if $ARGV{Verbose} < 1;
 
     my ($prevfn, $prevsty, $prevenc) = ('') x 3;
     my @cmds;
@@ -818,7 +820,7 @@
         push @cmds, $item->{cmdline};
     }
 
-    return if $ARGV{verbose} < 2;
+    return if $ARGV{Verbose} < 2;
     print {$LOG} join "\n\n", @cmds;
     print {$LOG} "\n";
     close $LOG;
@@ -986,8 +988,9 @@
     -doc                    Print the complete documentation and exit
     -dryrun                 Don't generate fonts, only log what would be done
     -logfile="FILE"         Write log data to "FILE" (default: <fontfamily>.log)
-    -verbose                Print more data to log file
+    -Verbose                Print more data to log file
                             (repeat for even higher verbosity)
+    -version                Print version number and exit
     font[s]                 The fonts (.otf or .ttf format) to install.
 
 Please report any bugs or suggestions to <marcpenninga at gmail.com>.
@@ -1023,7 +1026,7 @@
     figurekern      => '1',     # 0 = no, 1 = yes
     mergewidths     => '1',     # 0 = no, 1 = yes
     mergesmallcaps  => '1',     # 0 = no, 1 = yes
-    verbose         => 0,
+    Verbose         => 0,
 );
 
 #-----------------------------------------------------------------------
@@ -1034,7 +1037,8 @@
 
     Getopt::Long::GetOptions(
         'help|?'              =>  sub { print $USAGE; exit; },
-        'doc'                 =>  sub { Pod::Usage::pod2usage(-verbose => 2); },
+        'version'             =>  sub { print "$VERSION\n"; exit; },
+        'doc'                 =>  sub { Pod::Usage::pod2usage(-Verbose => 2); },
         'encoding=s'          => \$ARGV{encoding},
         'ts1!'                => \$ARGV{textcomp},
         'lining!'             => \$ARGV{lining},
@@ -1067,7 +1071,7 @@
         'mergewidths!'        => \$ARGV{mergewidths},
         'mergesmallcaps!'     => \$ARGV{mergesmallcaps},
         'logfile=s'           => \$ARGV{logfile},
-        'verbose+'            => \$ARGV{verbose},
+        'Verbose+'            => \$ARGV{Verbose},
         'nfssweight=s%'       => sub {
                                      my ( $ignored, $key, $values ) = @_;
                                      my @values = split m/,/, lc $values;
@@ -1670,6 +1674,12 @@
             "\\DeclareOptionX{proportional}{\\edef\\$fam\@figurealign{}}\n";
     }
 
+    print {$STY} <<"END_STY_MAINFONT";
+\\DeclareOptionX{mainfont}{
+    \\renewcommand{\\familydefault}{\\$ARGV{nfss}default}
+}
+END_STY_MAINFONT
+
     my $defaults
         = $seen{OsF}  ? 'oldstyle,proportional'
         : $seen{TOsF} ? 'oldstyle,tabular'
@@ -1706,7 +1716,6 @@
 \\renewcommand*
     {\\$ARGV{nfss}default}
     {$fam-\\$fam\@figurealign\\$fam\@figurestyle}
-\\renewcommand*{\\familydefault}{\\$ARGV{nfss}default}
 
 \\endinput
 END_STYLE_REST
@@ -1756,7 +1765,9 @@
     \\edef\\${fam}\@\@scale{s*[\\csname ${fam}\@scale\\endcsname]}%
 \\fi
 
-\\DeclareFontFamily{${enc}}{${fam}-${sty}}{}
+\\DeclareFontFamily{${enc}}{${fam}-${sty}}{@{[
+    $ARGV{nfss} eq 'tt' ? '\hyphenchar\font=-1' : ""
+]}}
 
 END_FD_HEADER
 
@@ -2027,7 +2038,7 @@
 see the I<-logfile> command-line option in L</"COMMAND-LINE OPTIONS"> below.
 If this log file already exists, B<autoinst> will append its data to the end
 rather than overwrite it.
-Use the I<-verbose> command-line option to ask for more detailed info.
+Use the I<-Verbose> command-line option to ask for more detailed info.
 
 
 =head2 A note for MiKTeX users
@@ -2075,6 +2086,15 @@
 
 =over 4
 
+=item C<mainfont>
+
+Redefine C<\familydefault> to make this font the main font
+for the document.
+This is a no-op if the font is installed as a serif font;
+but if the font is installed as a sanserif or typewriter font,
+this option saves you from having to redefine C<\familydefault>
+yourself.
+
 =item C<lining>, C<oldstyle>, C<tabular>, C<proportional>
 
 Choose which figure style to use.
@@ -2162,20 +2182,6 @@
 
 =head2 NFSS codes
 
-I<< B<CAVEAT>: this functionality was almost completely rewritten
-in release 2019-03-14.
-Older versions tried to map all fonts directly to short NFSS codes,
-but often had to invent non-standard codes in order to deal with the
-many different weights and widths that occur in the wild.
-Such non-standard NFSS codes will no longer
-work for fonts installed with newer versions; for those you'll have to either
-use the long names or stick to the standard NFSS codes.
-(This change mainly concerns very light or very heavy weights
-and very condensed widths;
-for more moderate weights and widths,
-existing code will very probably continue to work.)
->>
-
 LaTeX's New Font Selection System (NFSS)
 identifies fonts by a combination of family,
 series (the concatenation of weight and width), shape and size.
@@ -2254,18 +2260,26 @@
 
 =over 4
 
+=item B<-version>
+
+Print B<autoinst>'s version number and exit.
+
+=item B<-help>
+
+Print a (relatively) short help text and exit.
+
 =item B<-dryrun>
 
 Don't generate output; just parse input fonts and write
-a log file saying what it would have done.
+a log file saying what B<autoinst> would have done.
 
 =item B<-logfile>=I<filename>
 
 Write log data to F<filename> instead of the default F<< <fontfamily>.log >>.
-If the file already exist, B<autoinst> appends to it;
+If the file already exists, B<autoinst> appends to it;
 it doesn't overwrite an existing file.
 
-=item B<-verbose>
+=item B<-Verbose> (I<note:> uppercase 'V'!)
 
 Add more details to the log file. Repeat this option for even more info.
 
@@ -2290,14 +2304,20 @@
 if the text encodings (see I<-encoding> above) include T1,
 B<-nots1> otherwise.
 
-=item B<-serif>, B<-sanserif>, B<-typewriter>
+=item B<-serif> / B<-sanserif> / B<-typewriter>
 
 Install the font as a serif, sanserif or typewriter font, respectively.
-This changes how you access the font in LaTeX: with C<\rmfamily>/C<\textrm>,
-C<\sffamily>/C<\textsf> or C<\ttfamily>/C<\texttt>.
-The generated style file redefines C<\familydefault>,
-so including it will still make this font the default text font.
+This changes how you access the font in LaTeX:
+with C<\rmfamily>/C<\textrm>, C<\sffamily>/C<\textsf>
+or C<\ttfamily>/C<\texttt>.
 
+Installing the font as a typewriter font will cause two further changes:
+it will - by default - turn off the use of f-ligatures
+(though this can be overridden with the I<-ligatures> option),
+and it will disable hyphenation for this font.
+This latter effect cannot be disabled in B<autoinst>;
+if you want typewriter text to be hyphenated, use the F<hyphenat> package.
+
 =item B<-lining> / B<-nolining>
 
 Control the creation of fonts with lining figures. The default is
@@ -2344,7 +2364,7 @@
 This option allows the user to determine which of these styles B<autoinst>
 should use for the inferior characters.
 Alternatively, the value "auto" tells B<autoinst> to use the first value
-in the list "subs", "sinf" or "dnom" that is supported by the fonts.
+in "subs", "sinf" or "dnom" that is supported by the font.
 The default value is "none".
 
 I<< If you specify a style of inferiors that isn't present in the font,
@@ -2508,7 +2528,7 @@
 
 When sending a bug report, please give as much relevant information as possible;
 this usually includes (but may not be limited to) the log file
-(please add the I<-verbose> command-line option, for extra info).
+(please add the I<-Verbose> command-line option, for extra info).
 If you see any error messages, please include these I<verbatim>;
 don't paraphase.
 
@@ -2536,7 +2556,11 @@
 GNU General Public License for more details.
 
 
+=head1 VERSION
 
+This document describes B<autoinst> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source for the full story, all the way back to 2005.)
@@ -2543,6 +2567,13 @@
 
 =over 12
 
+=item I<2019-05-22>
+
+Added the I<mainfont> option to the generated F<sty> files.
+Prevented hyphenation for typewriter fonts
+(added C<\hyphenchar\font=-1> to the C<\DeclareFontFamily> declarations).
+Added the I<-version> option, and renamed I<-verbose> to I<-Verbose>.
+
 =item I<2019-05-17>
 
 Changed the way the F<-ligatures> option works:
@@ -2594,8 +2625,6 @@
 
 =item I<2019-03-14>
 
-(never released to CTAN)
-
 Overhauled the mapping of fonts (more specifically of weights and widths;
 the mapping of shapes didn't change) to NFSS codes.
 Instead of inventing our own codes to deal with every possible weight
@@ -2605,6 +2634,13 @@
 to our fancy names (see the section B<NFSS codes>;
 based on discussions with Frank Mittelbach and Bob Tennent).
 
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2018-08-10>
 
 Added encoding files for LGR and T2A/B/C to I<fontools>.
@@ -2613,13 +2649,6 @@
 
 Added the I<-(no)mergewidths> option; tried to improve the documentation.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2018-03-26>
 
 Added the "Text" weight and the I<-(no)mergewidths> option.
@@ -2803,7 +2832,7 @@
 some FontFont fonts, where every font is in a family of its own.
 Added the "scaled" option (including the loading of F<xkeyval>)
 to the generated style file.
-Extended the output of the I<-verbose> option.
+Extended the output of the I<-Verbose> option.
 
 =item I<2007-02-08>
 
@@ -2881,7 +2910,7 @@
 file to include an interface for the ornaments and to load Lehman's NFSS
 extensions F<nfssext.sty> if this is installed; corrected the "fontname" codes
 for OT1, T1, LY1 and user-specific encodings; extended the output generated by
-the I<-verbose> option; and rewrote and extended the documentation.
+the I<-Verbose> option; and rewrote and extended the documentation.
 
 =item I<2005-06-16>
 

Modified: trunk/Build/source/texk/texlive/linked_scripts/fontools/ot2kpx
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/fontools/ot2kpx	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Build/source/texk/texlive/linked_scripts/fontools/ot2kpx	2019-05-23 20:56:57 UTC (rev 51204)
@@ -38,6 +38,8 @@
 use List::Util @List::Util::EXPORT_OK;
 use Pod::Usage;
 
+my $VERSION = "20190522";
+
 our ($NUM_GLYPHS, $UNITS_PER_EM, %kern);
 
 sub main {
@@ -47,6 +49,7 @@
 
     Getopt::Long::GetOptions(
         'help|?'    =>  sub { pod2usage(-verbose => 0); },
+        'version'   =>  sub { print "$VERSION\n"; exit; },
         'doc'       =>  sub { pod2usage(-verbose => 2); },
         'afm'       =>  sub { $ARGV{print_func} = \&print_kpx; },
         'kpx'       =>  sub { $ARGV{print_func} = \&print_kpx; },
@@ -750,6 +753,14 @@
 
 =over 4
 
+=item B<-help>
+
+Print a short help text and exit.
+
+=item B<-version>
+
+Print B<ot2kpx>'s version and exit.
+
 =item B<-afm>, B<-kpx>
 
 Output the kerning data in Adobe's KPX format, as used in F<afm> files.
@@ -845,6 +856,11 @@
 See the GNU General Public License for more details.
 
 
+=head1 VERSION
+
+This document describes B<ot2kpx> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source code for the rest of the story.)
@@ -851,11 +867,22 @@
 
 =over 12
 
+=item I<2019-05-20>
+
+Added the I<-version> option.
+
 =item I<2019-04-15>
 
-Added the -lua command-line option to get output in Luatex's
+Added the I<-lua> command-line option to get output in Luatex's
 custom feature format.
 
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2013-08-07>
 
 Replaced all C<given/when> constructions in the source code by C<if>'s,
@@ -866,13 +893,6 @@
 Refactored the code, and fixed a number of bugs in the process.
 Updated the documentation.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2005-01-10>
 
 First version

Modified: trunk/Master/texmf-dist/doc/man/man1/afm2afm.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/afm2afm.1	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/doc/man/man1/afm2afm.1	2019-05-23 20:56:57 UTC (rev 51204)
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "AFM2AFM 1"
-.TH AFM2AFM 1 "2013-08-07" "fontools" "Marc Penninga"
+.TH AFM2AFM 1 "2019-05-22" "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
@@ -145,6 +145,7 @@
 .IP "\fBafm2afm\fR" 8
 .IX Item "afm2afm"
 [\fB\-help\fR]
+[\fB\-version\fR]
 [\fB\-encoding\fR \fIencodingfile\fR]
 [\fB\-kpx\fR \fIkpxfile\fR]
 [\fB\-output\fR \fIoutputfile\fR]
@@ -158,8 +159,8 @@
 (potentially much) smaller files.
 .PP
 Additional kerning pairs can be added to the output file.
-If you don't specify an encoding file, 
-the \fIafm\fR file isn't re-encoded; 
+If you don't specify an encoding file,
+the \fIafm\fR file isn't re-encoded;
 however, all unused (unencoded) data is still pruned.
 .PP
 The program also generates an entry for a \fIdvips\fR\-style map file,
@@ -171,6 +172,9 @@
 .IP "\fB\-help\fR" 4
 .IX Item "-help"
 Print a short description of the syntax
+.IP "\fB\-version\fR" 4
+.IX Item "-version"
+Print version number and exit
 .IP "\fB\-encoding\fR \fIencodingfile\fR" 4
 .IX Item "-encoding encodingfile"
 Re-encode to the enconding in \fIencodingfile\fR
@@ -177,7 +181,7 @@
 .IP "\fB\-kpx\fR \fIkpxfile\fR" 4
 .IX Item "-kpx kpxfile"
 Read additional kerning pairs from \fIkpxfile\fR and add these to the output.
-This option cannot be used to override values from the input \fIafm\fR file, 
+This option cannot be used to override values from the input \fIafm\fR file,
 since \fBafm2afm\fR will write both old and new values to the output!
 .Sp
 The \fIkpxfile\fR should contain kerning data in standard \fIafm\fR format,
@@ -202,7 +206,7 @@
 Marc Penninga <marcpenninga at gmail.com>
 .SH "COPYRIGHT"
 .IX Header "COPYRIGHT"
-Copyright (C) 2005\-2013 Marc Penninga.
+Copyright (C) 2005\-2019 Marc Penninga.
 .SH "LICENSE"
 .IX Header "LICENSE"
 This program is free software; you can redistribute it and/or modify
@@ -217,15 +221,12 @@
 but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0
 See the \s-1GNU\s0 General Public License for more details.
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes \fBafm2afm\fR version 20190522.
 .SH "RECENT CHANGES"
 .IX Header "RECENT CHANGES"
 (See the source code for the rest of the story.)
-.IP "\fI2013\-08\-07\fR" 12
-.IX Item "2013-08-07"
-Added the \fI\-kpx\fR command-line option.
-Replaced all \f(CW\*(C`given/when\*(C'\fR constructions in the source code by \f(CW\*(C`if\*(C'\fR's,
-to avoid warnings about experimental features in Perl 5.18 and later.
-.IP "\fI2012\-02\-01\fR" 12
-.IX Item "2012-02-01"
-Refactored the code; added the \*(L"no re-encoding, only pruning\*(R"
-functionality.
+.IP "\fI2019\-05\-20\fR" 12
+.IX Item "2019-05-20"
+Added the \fI\-version\fR option.

Modified: trunk/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/autoinst.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/autoinst.1	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/doc/man/man1/autoinst.1	2019-05-23 20:56:57 UTC (rev 51204)
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "AUTOINST 1"
-.TH AUTOINST 1 "2019-05-17" "fontools" "Marc Penninga"
+.TH AUTOINST 1 "2019-05-22" "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
@@ -258,7 +258,7 @@
 see the \fI\-logfile\fR command-line option in \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below.
 If this log file already exists, \fBautoinst\fR will append its data to the end
 rather than overwrite it.
-Use the \fI\-verbose\fR command-line option to ask for more detailed info.
+Use the \fI\-Verbose\fR command-line option to ask for more detailed info.
 .SS "A note for MiKTeX users"
 .IX Subsection "A note for MiKTeX users"
 Automatically installing the fonts into a suitable \s-1TEXMF\s0 tree
@@ -297,6 +297,15 @@
 to the preamble of your document.
 .PP
 This style file defines a number of options:
+.ie n .IP """mainfont""" 4
+.el .IP "\f(CWmainfont\fR" 4
+.IX Item "mainfont"
+Redefine \f(CW\*(C`\efamilydefault\*(C'\fR to make this font the main font
+for the document.
+This is a no-op if the font is installed as a serif font;
+but if the font is installed as a sanserif or typewriter font,
+this option saves you from having to redefine \f(CW\*(C`\efamilydefault\*(C'\fR
+yourself.
 .ie n .IP """lining"", ""oldstyle"", ""tabular"", ""proportional""" 4
 .el .IP "\f(CWlining\fR, \f(CWoldstyle\fR, \f(CWtabular\fR, \f(CWproportional\fR" 4
 .IX Item "lining, oldstyle, tabular, proportional"
@@ -379,19 +388,6 @@
 (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below).
 .SS "\s-1NFSS\s0 codes"
 .IX Subsection "NFSS codes"
-\&\fI\f(BI\s-1CAVEAT\s0\fI: this functionality was almost completely rewritten
-in release 2019\-03\-14.
-Older versions tried to map all fonts directly to short \s-1NFSS\s0 codes,
-but often had to invent non-standard codes in order to deal with the
-many different weights and widths that occur in the wild.
-Such non-standard \s-1NFSS\s0 codes will no longer
-work for fonts installed with newer versions; for those you'll have to either
-use the long names or stick to the standard \s-1NFSS\s0 codes.
-(This change mainly concerns very light or very heavy weights
-and very condensed widths;
-for more moderate weights and widths,
-existing code will very probably continue to work.)\fR
-.PP
 LaTeX's New Font Selection System (\s-1NFSS\s0)
 identifies fonts by a combination of family,
 series (the concatenation of weight and width), shape and size.
@@ -466,17 +462,23 @@
 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 (it may mean either \fB\-encoding\fR or \fB\-extra\fR)).
+.IP "\fB\-version\fR" 4
+.IX Item "-version"
+Print \fBautoinst\fR's version number and exit.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Print a (relatively) short help text and exit.
 .IP "\fB\-dryrun\fR" 4
 .IX Item "-dryrun"
 Don't generate output; just parse input fonts and write
-a log file saying what it would have done.
+a log file saying what \fBautoinst\fR would have done.
 .IP "\fB\-logfile\fR=\fIfilename\fR" 4
 .IX Item "-logfile=filename"
 Write log data to \fIfilename\fR instead of the default \fI<fontfamily>.log\fR.
-If the file already exist, \fBautoinst\fR appends to it;
+If the file already exists, \fBautoinst\fR appends to it;
 it doesn't overwrite an existing file.
-.IP "\fB\-verbose\fR" 4
-.IX Item "-verbose"
+.IP "\fB\-Verbose\fR (\fInote:\fR uppercase 'V'!)" 4
+.IX Item "-Verbose (note: uppercase 'V'!)"
 Add more details to the log file. Repeat this option for even more info.
 .IP "\fB\-encoding\fR=\fIencoding[,encoding]\fR" 4
 .IX Item "-encoding=encoding[,encoding]"
@@ -497,13 +499,19 @@
 Control the creation of TS1\-encoded fonts. The default is \fB\-ts1\fR
 if the text encodings (see \fI\-encoding\fR above) include T1,
 \&\fB\-nots1\fR otherwise.
-.IP "\fB\-serif\fR, \fB\-sanserif\fR, \fB\-typewriter\fR" 4
-.IX Item "-serif, -sanserif, -typewriter"
+.IP "\fB\-serif\fR / \fB\-sanserif\fR / \fB\-typewriter\fR" 4
+.IX Item "-serif / -sanserif / -typewriter"
 Install the font as a serif, sanserif or typewriter font, respectively.
-This changes how you access the font in LaTeX: with \f(CW\*(C`\ermfamily\*(C'\fR/\f(CW\*(C`\etextrm\*(C'\fR,
-\&\f(CW\*(C`\esffamily\*(C'\fR/\f(CW\*(C`\etextsf\*(C'\fR or \f(CW\*(C`\ettfamily\*(C'\fR/\f(CW\*(C`\etexttt\*(C'\fR.
-The generated style file redefines \f(CW\*(C`\efamilydefault\*(C'\fR,
-so including it will still make this font the default text font.
+This changes how you access the font in LaTeX:
+with \f(CW\*(C`\ermfamily\*(C'\fR/\f(CW\*(C`\etextrm\*(C'\fR, \f(CW\*(C`\esffamily\*(C'\fR/\f(CW\*(C`\etextsf\*(C'\fR
+or \f(CW\*(C`\ettfamily\*(C'\fR/\f(CW\*(C`\etexttt\*(C'\fR.
+.Sp
+Installing the font as a typewriter font will cause two further changes:
+it will \- by default \- turn off the use of f\-ligatures
+(though this can be overridden with the \fI\-ligatures\fR option),
+and it will disable hyphenation for this font.
+This latter effect cannot be disabled in \fBautoinst\fR;
+if you want typewriter text to be hyphenated, use the \fIhyphenat\fR package.
 .IP "\fB\-lining\fR / \fB\-nolining\fR" 4
 .IX Item "-lining / -nolining"
 Control the creation of fonts with lining figures. The default is
@@ -542,7 +550,7 @@
 This option allows the user to determine which of these styles \fBautoinst\fR
 should use for the inferior characters.
 Alternatively, the value \*(L"auto\*(R" tells \fBautoinst\fR to use the first value
-in the list \*(L"subs\*(R", \*(L"sinf\*(R" or \*(L"dnom\*(R" that is supported by the fonts.
+in \*(L"subs\*(R", \*(L"sinf\*(R" or \*(L"dnom\*(R" that is supported by the font.
 The default value is \*(L"none\*(R".
 .Sp
 \&\fIIf you specify a style of inferiors that isn't present in the font,
@@ -692,7 +700,7 @@
 .PP
 When sending a bug report, please give as much relevant information as possible;
 this usually includes (but may not be limited to) the log file
-(please add the \fI\-verbose\fR command-line option, for extra info).
+(please add the \fI\-Verbose\fR command-line option, for extra info).
 If you see any error messages, please include these \fIverbatim\fR;
 don't paraphase.
 .SH "COPYRIGHT"
@@ -712,9 +720,18 @@
 but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the
 \&\s-1GNU\s0 General Public License for more details.
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes \fBautoinst\fR version 20190522.
 .SH "RECENT CHANGES"
 .IX Header "RECENT CHANGES"
 (See the source for the full story, all the way back to 2005.)
+.IP "\fI2019\-05\-22\fR" 12
+.IX Item "2019-05-22"
+Added the \fImainfont\fR option to the generated \fIsty\fR files.
+Prevented hyphenation for typewriter fonts
+(added \f(CW\*(C`\ehyphenchar\efont=\-1\*(C'\fR to the \f(CW\*(C`\eDeclareFontFamily\*(C'\fR declarations).
+Added the \fI\-version\fR option, and renamed \fI\-verbose\fR to \fI\-Verbose\fR.
 .IP "\fI2019\-05\-17\fR" 12
 .IX Item "2019-05-17"
 Changed the way the \fI\-ligatures\fR option works:
@@ -759,8 +776,6 @@
 to tell \fBautoinst\fR to use whatever inferior characters are available.
 .IP "\fI2019\-03\-14\fR" 12
 .IX Item "2019-03-14"
-(never released to \s-1CTAN\s0)
-.Sp
 Overhauled the mapping of fonts (more specifically of weights and widths;
 the mapping of shapes didn't change) to \s-1NFSS\s0 codes.
 Instead of inventing our own codes to deal with every possible weight
@@ -769,9 +784,3 @@
 Then we add \*(L"ssub\*(R" rules to the \fIfd\fR files to map the standard \s-1NFSS\s0 codes
 to our fancy names (see the section \fB\s-1NFSS\s0 codes\fR;
 based on discussions with Frank Mittelbach and Bob Tennent).
-.IP "\fI2018\-08\-10\fR" 12
-.IX Item "2018-08-10"
-Added encoding files for \s-1LGR\s0 and T2A/B/C to \fIfontools\fR.
-.IP "\fI2018\-03\-26\fR" 12
-.IX Item "2018-03-26"
-Added the \fI\-(no)mergewidths\fR option; tried to improve the documentation.

Modified: trunk/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/ot2kpx.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/ot2kpx.1	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/doc/man/man1/ot2kpx.1	2019-05-23 20:56:57 UTC (rev 51204)
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "OT2KPX 1"
-.TH OT2KPX 1 "2019-04-15" "fontools" "Marc Penninga"
+.TH OT2KPX 1 "2019-05-22" "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
@@ -150,6 +150,12 @@
 or as a Luatex custom feature, for use with the \f(CW\*(C`\edirectlua\*(C'\fR command.
 .SH "OPTIONS AND ARGUMENTS"
 .IX Header "OPTIONS AND ARGUMENTS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Print a short help text and exit.
+.IP "\fB\-version\fR" 4
+.IX Item "-version"
+Print \fBot2kpx\fR's version and exit.
 .IP "\fB\-afm\fR, \fB\-kpx\fR" 4
 .IX Item "-afm, -kpx"
 Output the kerning data in Adobe's \s-1KPX\s0 format, as used in \fIafm\fR files.
@@ -220,18 +226,16 @@
 but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0
 See the \s-1GNU\s0 General Public License for more details.
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes \fBot2kpx\fR version 20190522.
 .SH "RECENT CHANGES"
 .IX Header "RECENT CHANGES"
 (See the source code for the rest of the story.)
+.IP "\fI2019\-05\-20\fR" 12
+.IX Item "2019-05-20"
+Added the \fI\-version\fR option.
 .IP "\fI2019\-04\-15\fR" 12
 .IX Item "2019-04-15"
-Added the \-lua command-line option to get output in Luatex's
+Added the \fI\-lua\fR command-line option to get output in Luatex's
 custom feature format.
-.IP "\fI2013\-08\-07\fR" 12
-.IX Item "2013-08-07"
-Replaced all \f(CW\*(C`given/when\*(C'\fR constructions in the source code by \f(CW\*(C`if\*(C'\fR's,
-to avoid warnings about experimental features in Perl 5.18 and later.
-.IP "\fI2012\-02\-01\fR" 12
-.IX Item "2012-02-01"
-Refactored the code, and fixed a number of bugs in the process.
-Updated the documentation.

Modified: trunk/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/fontools/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/fontools/README	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/doc/support/fontools/README	2019-05-23 20:56:57 UTC (rev 51204)
@@ -48,10 +48,21 @@
 
 Installation
 ------------
-The encoding files in the "share" directory should be moved
-to a standard location where otftotfm can find them.
+When installing manually, the encoding files in the "share/" directory
+should be moved to a "standard" location where otftotfm can find them.
+What this location is depends on your TeX installation;
+in TeXLive, it should be $TEXMFLOCAL/fonts/enc/dvips/fontools/ or,
+if you don't have write permissions in $TEXMFLOCAL,
+$TEXMFHOME/fonts/enc/dvips/fontools/.
 
+The scripts in the "bin/" directory should be placed in a directory
+on your PATH (or else you have to call them with their full path name).
 
+Of course, when using a package manager (such as tlmgr) to do
+the installation, all files will automatically be put in the right
+location.
+
+
 DISCLAIMER
 ==========
 
@@ -64,9 +75,6 @@
 LICENSE & COPYRIGHT
 ===================
 
-This software is copyright (C) 2005-2019 Marc Penninga. It is released under
-the terms of the GNU General Public Licence; see the file GPLv2.txt for
-the license conditions.
-
-
-                                                Marc Penninga, 2019/05/17
+This software is copyright (C) 2005-2019 Marc Penninga.
+It is released under the terms of the GNU General Public Licence;
+see the file GPLv2.txt for the license conditions.

Modified: trunk/Master/texmf-dist/scripts/fontools/afm2afm
===================================================================
--- trunk/Master/texmf-dist/scripts/fontools/afm2afm	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/scripts/fontools/afm2afm	2019-05-23 20:56:57 UTC (rev 51204)
@@ -4,7 +4,7 @@
 
 ----------------------------------------------------------------------------
 
-    Copyright (C) 2005-2013 Marc Penninga.
+    Copyright (C) 2005-2019 Marc Penninga.
 
     This program is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License
@@ -37,6 +37,8 @@
 use Getopt::Long;
 use Pod::Usage;
 
+my $VERSION = "20190522";
+
 parse_commandline();
 
 my $afm = read_afm($ARGV[0]);
@@ -72,7 +74,8 @@
 #-----------------------------------------------------------------------
 sub parse_commandline {
     Getopt::Long::GetOptions(
-        'help|?'     => sub { pod2usage(-verbose => 1) },
+        'help|?'     =>  sub { pod2usage(-verbose => 1) },
+        'version'    =>  sub { print "$VERSION\n"; exit; },
         'encoding=s' => \$ARGV{encoding},
         'kpx=s'      => \$ARGV{kpx},
         'output=s'   => \$ARGV{output},
@@ -123,14 +126,14 @@
     my ($filename, $kpx) = @_;
     open my $kpxfile, '<', $filename
         or die "[ERROR] can't open '$filename': $!";
-        
+
     my %seen = map { ($_ => 1) } @$kpx;
     for (<$kpxfile>) {
         if (m/\A\s* KPX \s/xms) { push @$kpx, $_ unless $seen{$_}++ }
     }
-    
+
     close $kpxfile;
-    
+
     return $kpx;
 }
 
@@ -317,6 +320,7 @@
 =item B<afm2afm>
 
 [B<-help>]
+[B<-version>]
 [B<-encoding> I<encodingfile>]
 [B<-kpx> I<kpxfile>]
 [B<-output> I<outputfile>]
@@ -334,8 +338,8 @@
 (potentially much) smaller files.
 
 Additional kerning pairs can be added to the output file.
-If you don't specify an encoding file, 
-the F<afm> file isn't re-encoded; 
+If you don't specify an encoding file,
+the F<afm> file isn't re-encoded;
 however, all unused (unencoded) data is still pruned.
 
 The program also generates an entry for a F<dvips>-style map file,
@@ -352,6 +356,10 @@
 
 Print a short description of the syntax
 
+=item B<-version>
+
+Print version number and exit
+
 =item B<-encoding> I<encodingfile>
 
 Re-encode to the enconding in I<encodingfile>
@@ -359,7 +367,7 @@
 =item B<-kpx> I<kpxfile>
 
 Read additional kerning pairs from I<kpxfile> and add these to the output.
-This option cannot be used to override values from the input F<afm> file, 
+This option cannot be used to override values from the input F<afm> file,
 since B<afm2afm> will write both old and new values to the output!
 
 The I<kpxfile> should contain kerning data in standard F<afm> format,
@@ -366,7 +374,7 @@
 i.e. for each kerning pair there should be a line
 
     KPX <left_glyph> <right_glyph> <amount>
-    
+
 All other lines in the I<kpxfile> are ignored.
 
 =item B<-output> I<outputfile>
@@ -390,7 +398,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (C) 2005-2013 Marc Penninga.
+Copyright (C) 2005-2019 Marc Penninga.
 
 
 =head1 LICENSE
@@ -411,6 +419,11 @@
 See the GNU General Public License for more details.
 
 
+=head1 VERSION
+
+This document describes B<afm2afm> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source code for the rest of the story.)
@@ -417,6 +430,17 @@
 
 =over 12
 
+=item I<2019-05-20>
+
+Added the I<-version> option.
+
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2013-08-07>
 
 Added the I<-kpx> command-line option.
@@ -428,13 +452,6 @@
 Refactored the code; added the "no re-encoding, only pruning"
 functionality.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2005-01-10>
 
 First version

Modified: trunk/Master/texmf-dist/scripts/fontools/autoinst
===================================================================
--- trunk/Master/texmf-dist/scripts/fontools/autoinst	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/scripts/fontools/autoinst	2019-05-23 20:56:57 UTC (rev 51204)
@@ -40,6 +40,8 @@
 use Pod::Usage ();
 use POSIX ();
 
+my $VERSION = '20190522';
+
 my ($d, $m, $y) = (localtime time)[3 .. 5];
 my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d;
 
@@ -716,7 +718,7 @@
 ############################################################################
 
 
-@{[ POSIX::strftime("[%F %T]", localtime time) ]}  $0
+@{[ POSIX::strftime("[%F %T]", localtime time) ]}  $0, version $VERSION
 
 
     "$ARGV{cmdline}"
@@ -775,7 +777,7 @@
     }
     printf {$LOG} "\n";
 
-    return if $ARGV{verbose} < 1;
+    return if $ARGV{Verbose} < 1;
 
     my ($prevfn, $prevsty, $prevenc) = ('') x 3;
     my @cmds;
@@ -818,7 +820,7 @@
         push @cmds, $item->{cmdline};
     }
 
-    return if $ARGV{verbose} < 2;
+    return if $ARGV{Verbose} < 2;
     print {$LOG} join "\n\n", @cmds;
     print {$LOG} "\n";
     close $LOG;
@@ -986,8 +988,9 @@
     -doc                    Print the complete documentation and exit
     -dryrun                 Don't generate fonts, only log what would be done
     -logfile="FILE"         Write log data to "FILE" (default: <fontfamily>.log)
-    -verbose                Print more data to log file
+    -Verbose                Print more data to log file
                             (repeat for even higher verbosity)
+    -version                Print version number and exit
     font[s]                 The fonts (.otf or .ttf format) to install.
 
 Please report any bugs or suggestions to <marcpenninga at gmail.com>.
@@ -1023,7 +1026,7 @@
     figurekern      => '1',     # 0 = no, 1 = yes
     mergewidths     => '1',     # 0 = no, 1 = yes
     mergesmallcaps  => '1',     # 0 = no, 1 = yes
-    verbose         => 0,
+    Verbose         => 0,
 );
 
 #-----------------------------------------------------------------------
@@ -1034,7 +1037,8 @@
 
     Getopt::Long::GetOptions(
         'help|?'              =>  sub { print $USAGE; exit; },
-        'doc'                 =>  sub { Pod::Usage::pod2usage(-verbose => 2); },
+        'version'             =>  sub { print "$VERSION\n"; exit; },
+        'doc'                 =>  sub { Pod::Usage::pod2usage(-Verbose => 2); },
         'encoding=s'          => \$ARGV{encoding},
         'ts1!'                => \$ARGV{textcomp},
         'lining!'             => \$ARGV{lining},
@@ -1067,7 +1071,7 @@
         'mergewidths!'        => \$ARGV{mergewidths},
         'mergesmallcaps!'     => \$ARGV{mergesmallcaps},
         'logfile=s'           => \$ARGV{logfile},
-        'verbose+'            => \$ARGV{verbose},
+        'Verbose+'            => \$ARGV{Verbose},
         'nfssweight=s%'       => sub {
                                      my ( $ignored, $key, $values ) = @_;
                                      my @values = split m/,/, lc $values;
@@ -1670,6 +1674,12 @@
             "\\DeclareOptionX{proportional}{\\edef\\$fam\@figurealign{}}\n";
     }
 
+    print {$STY} <<"END_STY_MAINFONT";
+\\DeclareOptionX{mainfont}{
+    \\renewcommand{\\familydefault}{\\$ARGV{nfss}default}
+}
+END_STY_MAINFONT
+
     my $defaults
         = $seen{OsF}  ? 'oldstyle,proportional'
         : $seen{TOsF} ? 'oldstyle,tabular'
@@ -1706,7 +1716,6 @@
 \\renewcommand*
     {\\$ARGV{nfss}default}
     {$fam-\\$fam\@figurealign\\$fam\@figurestyle}
-\\renewcommand*{\\familydefault}{\\$ARGV{nfss}default}
 
 \\endinput
 END_STYLE_REST
@@ -1756,7 +1765,9 @@
     \\edef\\${fam}\@\@scale{s*[\\csname ${fam}\@scale\\endcsname]}%
 \\fi
 
-\\DeclareFontFamily{${enc}}{${fam}-${sty}}{}
+\\DeclareFontFamily{${enc}}{${fam}-${sty}}{@{[
+    $ARGV{nfss} eq 'tt' ? '\hyphenchar\font=-1' : ""
+]}}
 
 END_FD_HEADER
 
@@ -2027,7 +2038,7 @@
 see the I<-logfile> command-line option in L</"COMMAND-LINE OPTIONS"> below.
 If this log file already exists, B<autoinst> will append its data to the end
 rather than overwrite it.
-Use the I<-verbose> command-line option to ask for more detailed info.
+Use the I<-Verbose> command-line option to ask for more detailed info.
 
 
 =head2 A note for MiKTeX users
@@ -2075,6 +2086,15 @@
 
 =over 4
 
+=item C<mainfont>
+
+Redefine C<\familydefault> to make this font the main font
+for the document.
+This is a no-op if the font is installed as a serif font;
+but if the font is installed as a sanserif or typewriter font,
+this option saves you from having to redefine C<\familydefault>
+yourself.
+
 =item C<lining>, C<oldstyle>, C<tabular>, C<proportional>
 
 Choose which figure style to use.
@@ -2162,20 +2182,6 @@
 
 =head2 NFSS codes
 
-I<< B<CAVEAT>: this functionality was almost completely rewritten
-in release 2019-03-14.
-Older versions tried to map all fonts directly to short NFSS codes,
-but often had to invent non-standard codes in order to deal with the
-many different weights and widths that occur in the wild.
-Such non-standard NFSS codes will no longer
-work for fonts installed with newer versions; for those you'll have to either
-use the long names or stick to the standard NFSS codes.
-(This change mainly concerns very light or very heavy weights
-and very condensed widths;
-for more moderate weights and widths,
-existing code will very probably continue to work.)
->>
-
 LaTeX's New Font Selection System (NFSS)
 identifies fonts by a combination of family,
 series (the concatenation of weight and width), shape and size.
@@ -2254,18 +2260,26 @@
 
 =over 4
 
+=item B<-version>
+
+Print B<autoinst>'s version number and exit.
+
+=item B<-help>
+
+Print a (relatively) short help text and exit.
+
 =item B<-dryrun>
 
 Don't generate output; just parse input fonts and write
-a log file saying what it would have done.
+a log file saying what B<autoinst> would have done.
 
 =item B<-logfile>=I<filename>
 
 Write log data to F<filename> instead of the default F<< <fontfamily>.log >>.
-If the file already exist, B<autoinst> appends to it;
+If the file already exists, B<autoinst> appends to it;
 it doesn't overwrite an existing file.
 
-=item B<-verbose>
+=item B<-Verbose> (I<note:> uppercase 'V'!)
 
 Add more details to the log file. Repeat this option for even more info.
 
@@ -2290,14 +2304,20 @@
 if the text encodings (see I<-encoding> above) include T1,
 B<-nots1> otherwise.
 
-=item B<-serif>, B<-sanserif>, B<-typewriter>
+=item B<-serif> / B<-sanserif> / B<-typewriter>
 
 Install the font as a serif, sanserif or typewriter font, respectively.
-This changes how you access the font in LaTeX: with C<\rmfamily>/C<\textrm>,
-C<\sffamily>/C<\textsf> or C<\ttfamily>/C<\texttt>.
-The generated style file redefines C<\familydefault>,
-so including it will still make this font the default text font.
+This changes how you access the font in LaTeX:
+with C<\rmfamily>/C<\textrm>, C<\sffamily>/C<\textsf>
+or C<\ttfamily>/C<\texttt>.
 
+Installing the font as a typewriter font will cause two further changes:
+it will - by default - turn off the use of f-ligatures
+(though this can be overridden with the I<-ligatures> option),
+and it will disable hyphenation for this font.
+This latter effect cannot be disabled in B<autoinst>;
+if you want typewriter text to be hyphenated, use the F<hyphenat> package.
+
 =item B<-lining> / B<-nolining>
 
 Control the creation of fonts with lining figures. The default is
@@ -2344,7 +2364,7 @@
 This option allows the user to determine which of these styles B<autoinst>
 should use for the inferior characters.
 Alternatively, the value "auto" tells B<autoinst> to use the first value
-in the list "subs", "sinf" or "dnom" that is supported by the fonts.
+in "subs", "sinf" or "dnom" that is supported by the font.
 The default value is "none".
 
 I<< If you specify a style of inferiors that isn't present in the font,
@@ -2508,7 +2528,7 @@
 
 When sending a bug report, please give as much relevant information as possible;
 this usually includes (but may not be limited to) the log file
-(please add the I<-verbose> command-line option, for extra info).
+(please add the I<-Verbose> command-line option, for extra info).
 If you see any error messages, please include these I<verbatim>;
 don't paraphase.
 
@@ -2536,7 +2556,11 @@
 GNU General Public License for more details.
 
 
+=head1 VERSION
 
+This document describes B<autoinst> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source for the full story, all the way back to 2005.)
@@ -2543,6 +2567,13 @@
 
 =over 12
 
+=item I<2019-05-22>
+
+Added the I<mainfont> option to the generated F<sty> files.
+Prevented hyphenation for typewriter fonts
+(added C<\hyphenchar\font=-1> to the C<\DeclareFontFamily> declarations).
+Added the I<-version> option, and renamed I<-verbose> to I<-Verbose>.
+
 =item I<2019-05-17>
 
 Changed the way the F<-ligatures> option works:
@@ -2594,8 +2625,6 @@
 
 =item I<2019-03-14>
 
-(never released to CTAN)
-
 Overhauled the mapping of fonts (more specifically of weights and widths;
 the mapping of shapes didn't change) to NFSS codes.
 Instead of inventing our own codes to deal with every possible weight
@@ -2605,6 +2634,13 @@
 to our fancy names (see the section B<NFSS codes>;
 based on discussions with Frank Mittelbach and Bob Tennent).
 
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2018-08-10>
 
 Added encoding files for LGR and T2A/B/C to I<fontools>.
@@ -2613,13 +2649,6 @@
 
 Added the I<-(no)mergewidths> option; tried to improve the documentation.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2018-03-26>
 
 Added the "Text" weight and the I<-(no)mergewidths> option.
@@ -2803,7 +2832,7 @@
 some FontFont fonts, where every font is in a family of its own.
 Added the "scaled" option (including the loading of F<xkeyval>)
 to the generated style file.
-Extended the output of the I<-verbose> option.
+Extended the output of the I<-Verbose> option.
 
 =item I<2007-02-08>
 
@@ -2881,7 +2910,7 @@
 file to include an interface for the ornaments and to load Lehman's NFSS
 extensions F<nfssext.sty> if this is installed; corrected the "fontname" codes
 for OT1, T1, LY1 and user-specific encodings; extended the output generated by
-the I<-verbose> option; and rewrote and extended the documentation.
+the I<-Verbose> option; and rewrote and extended the documentation.
 
 =item I<2005-06-16>
 

Modified: trunk/Master/texmf-dist/scripts/fontools/ot2kpx
===================================================================
--- trunk/Master/texmf-dist/scripts/fontools/ot2kpx	2019-05-23 20:56:18 UTC (rev 51203)
+++ trunk/Master/texmf-dist/scripts/fontools/ot2kpx	2019-05-23 20:56:57 UTC (rev 51204)
@@ -38,6 +38,8 @@
 use List::Util @List::Util::EXPORT_OK;
 use Pod::Usage;
 
+my $VERSION = "20190522";
+
 our ($NUM_GLYPHS, $UNITS_PER_EM, %kern);
 
 sub main {
@@ -47,6 +49,7 @@
 
     Getopt::Long::GetOptions(
         'help|?'    =>  sub { pod2usage(-verbose => 0); },
+        'version'   =>  sub { print "$VERSION\n"; exit; },
         'doc'       =>  sub { pod2usage(-verbose => 2); },
         'afm'       =>  sub { $ARGV{print_func} = \&print_kpx; },
         'kpx'       =>  sub { $ARGV{print_func} = \&print_kpx; },
@@ -750,6 +753,14 @@
 
 =over 4
 
+=item B<-help>
+
+Print a short help text and exit.
+
+=item B<-version>
+
+Print B<ot2kpx>'s version and exit.
+
 =item B<-afm>, B<-kpx>
 
 Output the kerning data in Adobe's KPX format, as used in F<afm> files.
@@ -845,6 +856,11 @@
 See the GNU General Public License for more details.
 
 
+=head1 VERSION
+
+This document describes B<ot2kpx> version 20190522.
+
+
 =head1 RECENT CHANGES
 
 (See the source code for the rest of the story.)
@@ -851,11 +867,22 @@
 
 =over 12
 
+=item I<2019-05-20>
+
+Added the I<-version> option.
+
 =item I<2019-04-15>
 
-Added the -lua command-line option to get output in Luatex's
+Added the I<-lua> command-line option to get output in Luatex's
 custom feature format.
 
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
 =item I<2013-08-07>
 
 Replaced all C<given/when> constructions in the source code by C<if>'s,
@@ -866,13 +893,6 @@
 Refactored the code, and fixed a number of bugs in the process.
 Updated the documentation.
 
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
 =item I<2005-01-10>
 
 First version



More information about the tex-live-commits mailing list