summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf-dist/scripts/fontools/autoinst143
-rw-r--r--Master/texmf/doc/man/man1/autoinst.172
-rw-r--r--Master/texmf/doc/man/man1/autoinst.man1.pdfbin24909 -> 25012 bytes
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds51
4 files changed, 180 insertions, 86 deletions
diff --git a/Master/texmf-dist/scripts/fontools/autoinst b/Master/texmf-dist/scripts/fontools/autoinst
index 0db4b22e5b7..5c31de73c06 100755
--- a/Master/texmf-dist/scripts/fontools/autoinst
+++ b/Master/texmf-dist/scripts/fontools/autoinst
@@ -112,6 +112,7 @@ my %FD_WIDTH = (
ultracondensed => 'uc',
extracondensed => 'ec',
condensed => 'c',
+ cond => 'c',
semicondensed => 'sc',
regular => '',
semiextended => 'sx',
@@ -331,10 +332,6 @@ END_PARSE_ERROR
$already_seen{$unique} = $filename;
}
- # Pretend all fonts have kerning feature;
- # otftotfm will use the kern table otherwise
- $fontinfo{features}{kern} = 1;
-
FIGURE_STYLE:
for my $figure_style (keys %FIGURE_STYLE) {
@@ -550,19 +547,19 @@ END_GENERAL_PARSE_ERROR
end_fd_file($FD) if $fd_prev[0];
- # Remove the --no-updmap option from the last command for each family
- map { $_->[-1] =~ s/--no-updmap//xms } values %commands;
-
# Print or execute the generated commands
if ($ARGV{manual}) {
while (my ($fam, $cmds_ref) = each %commands) {
open my $BAT, '>', "$fam.bat"
or die "ERROR: can't create '$fam.bat' - $!";
- map { print {$BAT} "$_\n" } @{$cmds_ref};
+ print {$BAT} "$_\n" for @{$cmds_ref};
close $BAT;
}
}
else {
+ # Remove the --no-updmap option from the last command for each family
+ map { $_->[-1] =~ s/--no-updmap//xms } values %commands;
+
for my $cmds_ref (values %commands) {
for my $cmd (@{$cmds_ref}) {
print "$cmd\n";
@@ -788,6 +785,17 @@ sub read_font_info {
}
close $OTFINFO;
+ # Check if there's a "kern" table
+ open $OTFINFO, '-|',"otfinfo --tables \"$fontfile\""
+ or die "ERROR: 'otfinfo --tables \"$fontfile\"' failed";
+ for my $line (<$OTFINFO>) {
+ if ($line =~ m/\d+ \s+ (\w{4}) \s+/xms && $1 eq 'kern') {
+ $fontinfo{features}{kern} = 1;
+ last;
+ }
+ }
+ close $OTFINFO;
+
if ($ARGV{verbose}) {
print <<"END_FONT_INFO";
@@ -868,15 +876,16 @@ sub make_ornament_encoding {
sub write_style_file {
my ($family, $safe, @fd_data) = @_;
- my (%seen_enc, %seen_style, %seen_series);
+ my (%seen_enc, %seen_style, %seen_series, %seen_shape);
LINE:
for my $line_ref (@fd_data) {
- my ($fam, $enc, $style, $series) = @{$line_ref}[0 .. 3];
+ my ($fam, $enc, $style, $series, $shape) = @{$line_ref}[0 .. 4];
next LINE if $fam ne $family;
$seen_enc{$enc} = 1;
$seen_style{$style} = 1;
$seen_series{$series} = 1;
+ $seen_shape{$shape} = 1;
}
open my $STYLE, '>', "$family.sty"
@@ -895,9 +904,13 @@ END_STY_HEADER
print {$STYLE} "\\RequirePackage[$textenc]{fontenc}\n" if $textenc;
print {$STYLE} "\\RequirePackage{textcomp}\n" if $seen_enc{TS1};
- print {$STYLE} <<'END_STY_FONTAXES';
+ print {$STYLE} <<'END_STY_FONTAXES_START';
\IfFileExists{fontaxes.sty}{
\RequirePackage{fontaxes}
+END_STY_FONTAXES_START
+
+ if ($seen_shape{tl} || $seen_shape{tlit}) {
+ print {$STYLE} <<'END_STY_FONTAXES_TL';
\providecommand{\tldefault}{tl}
\DeclareRobustCommand\tlshape{\not@math@alphabet\tlshape\relax
\fontsecondaryshape\tldefault\selectfont}
@@ -906,11 +919,21 @@ END_STY_HEADER
\fa@naming@exception{shape}{{n}{tl}}{tl}
\fa@naming@exception{shape}{{it}{tl}}{tlit}
+END_STY_FONTAXES_TL
+ }
+
+ if ($seen_shape{nw} || $seen_shape{sw}) {
+ print {$STYLE} <<'END_STY_FONTAXES_SW';
\DeclareRobustCommand\swshape{\not@math@alphabet\swshape\relax
\fontprimaryshape\itdefault\fontsecondaryshape\swdefault\selectfont}
\fa@naming@exception{shape}{{n}{sw}}{nw}
\fa@naming@exception{shape}{{it}{sw}}{sw}
+END_STY_FONTAXES_SW
+ }
+
+ if ($seen_style{Sup}) {
+ print {$STYLE} <<'END_STY_FONTAXES_SUP';
\fa@naming@exception{figures}{{superior}{proportional}}{Sup}
\fa@naming@exception{figures}{{superior}{tabular}}{Sup}
\def\sufigures{\@nomath\sufigures
@@ -918,6 +941,11 @@ END_STY_HEADER
\DeclareTextFontCommand{\textsu}{\sufigures}
\let\textsuperior\textsu
+END_STY_FONTAXES_SUP
+ }
+
+ if ($seen_style{Inf}) {
+ print {$STYLE} <<'END_STY_FONTAXES_INF';
\fa@naming@exception{figures}{{inferior}{proportional}}{Inf}
\fa@naming@exception{figures}{{inferior}{tabular}}{Inf}
\def\infigures{\@nomath\infigures
@@ -925,6 +953,11 @@ END_STY_HEADER
\DeclareTextFontCommand{\textin}{\infigures}
\let\textinferior\textin
+END_STY_FONTAXES_INF
+ }
+
+ if ($seen_style{Orn}) {
+ print {$STYLE} <<'END_STY_FONTAXES_ORN';
\fa@naming@exception{figures}{{ornament}{proportional}}{Orn}
\fa@naming@exception{figures}{{ornament}{tabular}}{Orn}
\def\ornaments{\@nomath\ornaments
@@ -932,14 +965,29 @@ END_STY_HEADER
\DeclareTextFontCommand{\textornaments}{\ornaments}
\providecommand{\ornament}[1]{\textornaments{\char##1}}
+END_STY_FONTAXES_ORN
+ }
+
+ if ($seen_style{Numr}) {
+ print {$STYLE} <<'END_STY_FONTAXES_NUMR';
\fa@naming@exception{figures}{{numerators}{proportional}}{Numr}
\fa@naming@exception{figures}{{numerators}{tabular}}{Numr}
+END_STY_FONTAXES_NUMR
+ }
+
+ if ($seen_style{Dnom}) {
+ print {$STYLE} <<'END_STY_FONTAXES_DNOM';
\fa@naming@exception{figures}{{denominators}{proportional}}{Dnom}
\fa@naming@exception{figures}{{denominators}{tabular}}{Dnom}
+
+END_STY_FONTAXES_DNOM
+ }
+
+ print {$STYLE} <<'END_STY_FONTAXES_END';
}{}
-END_STY_FONTAXES
+END_STY_FONTAXES_END
print {$STYLE} <<"END_STY_XKEYVAL";
\\IfFileExists{xkeyval.sty}{
@@ -1088,10 +1136,12 @@ automatic mode) is quite complicated because it needs lots of long
command lines and doesn't generate the F<fd> and F<sty> files LaTeX needs.
B<autoinst> simplifies the font installation
process by generating and executing all commands for F<otftotfm>
-and by creating all necessary F<fd> and F<sty> files. All the user then needs
+and by creating all necessary F<fd> and F<sty> files.
+
+All the user then needs
to do is move these files to a suitable location
-(C<< $LOCALTEXMF/tex/latex/<Supplier>/<FontFamily>/ >> being the
-canonical choice) and update TeX's filename database.
+(F<< $LOCALTEXMF/tex/latex/<Supplier>/<FontFamily>/ >> is the
+official choice) and update TeX's filename database.
Given a family of font files (in either F<.ttf> or F<.otf> format),
B<autoinst> will create several LaTeX font families:
@@ -1230,8 +1280,7 @@ A typical name in this scheme is F<MinionPro-Regular-osf-sc-ly1>.
By default, all text families use the LY1 encoding. This has been chosen
over T1 (Cork) because many OpenType fonts contain additional ligatures
such as fj and Th, and LY1 has a number of empty slots to accommodate these.
-
-A different encoding can be selected using the B< --encoding>
+Different encodings can be selected using the B< --encoding>
command line option (see below).
@@ -1281,8 +1330,8 @@ shapes and styles. This package can be downloaded from the project's homepage
(F<http://developer.berlios.de/projects/minionpro>) or directly through
the CVS web interface
(F<http://cvs.berlios.de/cgi-bin/viewcvs.cgi/minionpro/MinionPro/tex/>),
-and is also available from CTAN as part of the archive F<base-v2.zip>
-(F<http://www.ctan.org/tex-archive/fonts/minionpro/base-v2.zip>).
+and is also available from CTAN as part of the archive F<metrics-base.zip>
+(F<http://www.ctan.org/tex-archive/fonts/minionpro/metrics-base.zip>).
Using the machinery set up by F<fontaxes>, the generated style file
also defines a few commands (which take the text to be typeset as argument)
@@ -1318,11 +1367,14 @@ running LaTeX on the file F<nfssfont.tex> (part of a standard
LaTeX installation) and specifying the ornament font
(e.g., I<MinionPro-Regular-orn-u>).
+These commands are only generated for shapes and number styles
+that actually exist; no commands are generated for shapes and styles
+that don't exist, or whose generation has been turned off.
+
This whole machinery builds on F<fontaxes>; if that package cannot be found,
the style file doesn't provide high-level access to the more `exotic'
font shapes and styles. In that case, you're limited to using the lower-level
-commands from standard NFSS, or even plain TeX's C<\font> primitive
-(and it's called `primitive' for a reason!)
+commands from standard NFSS.
=head2 Using multiple font families in one document
@@ -1337,8 +1389,6 @@ of B<autoinst> may not be able to coexist peacefully.
=head2 NFSS codes
In NFSS, weight and width are concatenated into a single `series' attribute.
-(I<Note:> versions of B<autoinst> before 2007-07-27 erroneously formed
-the series as `width plus weight' instead of the reverse.)
B<autoinst> maps widths, weights and shapes to NFSS codes using
the following tables. These are based on the tables in Lehman's
F<Font Installation Guide>, but some changes had to be made to avoid
@@ -1399,11 +1449,10 @@ cannot find a writable F<texmf> directory and leave all generated F<tfm>,
F<vf>, F<enc> and F<map> files in the current working directory.
In that case, you need to move these to their correct destinations.
You also need to tell the dvi-driver (F<dvips>, F<dvipdfm>, F<pdfTeX> etc.)
-about the new font map files; this usually means editing some
-configuration file.
+about the new font map files; see the documentation for how this is done.
-Furthermore, some OpenType fonts 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 TeXLive
+Also, some OpenType fonts lead to F<pl> and F<vpl> files that are too
+big for MiKTeX's F<pltotf> and F<vptovf>; the versions from TeXLive
(F<http://tug.org/ftp/texlive/Contents/live/bin/win32/>) don't have this
problem.
@@ -1519,24 +1568,22 @@ being interpreted as options to B<autoinst>, it should be properly quoted.
Eddie Kohler's TypeTools (F<http://www.lcdf.org/type>).
Perl is usually pre-installed on Linux and Unix systems;
-for Windows, good (and free) Perl implementations are
-Strawberry Perl (F<http://strawberryperl.com>) and
-ActivePerl (available from F<http://www.activestate.com>);
+on Windows, try ActivePerl (available from F<http://www.activestate.com>)
+or Strawberry Perl (F<http://strawberryperl.com>).
-John Owens' F<otfinst> (F<http://www.ece.ucdavis.edu/~jowens/code/otfinst/>;
-also available from CTAN) is another wrapper around F<otftotfm>,
-and may work for you when B<autoinst> doesn't.
+XeTeX (F<http://www.tug.org/xetex>) is an extension of TeX
+that can natively use any font installed in the operating system
+(including both flavours of OpenType fonts)
+without additional support files.
-Ready-made support files for MinionPro, providing more options and features
-than B<autoinst> ever will (including math), are available from
-F<http://developer.berlios.de/projects/minionpro/>.
+John Owens' F<otfinst> (available from CTAN) is another wrapper
+around F<otftotfm>, and may work when B<autoinst> doesn't.
-XeTeX (F<http://scripts.sil.org/xetex>) is a TeX extension that can use
-any font installed in the operating system (including both flavours of
-OpenType fonts) without additional support files.
-It also isn't hindered by standard TeX's limitation to 8-bit fonts,
-so it is especially well suited to fonts with many ligatures and
-alternate glyphs, such as Bickham, Poetica and Zapfino.
+The MinionPro for LaTeX project
+(F<http://developer.berlios.de/projects/minionpro/>, also on CTAN)
+developed very complete support files for Minion Pro (including math),
+but the project appears to have been abandoned;
+these files don't work with recent versions of Minion Pro.
=head1 AUTHOR
@@ -1564,7 +1611,6 @@ it under the terms of the GNU General Public License
as published by the Free Software Foundation,
either version 2 of the License, or (at your option)
any later version.
-
A copy of the GNU General Public License is included with the I<fontools>
collection; see the file F<GPLv2.txt>.
@@ -1584,6 +1630,17 @@ GNU General Public License for more details.
=over 12
+=item I<2010-04-29>
+
+The C< --feature=kern> option is only used for fonts that
+contain either a I<kern> feature or a I<kern> table.
+Font feature selection commands in the F<.sty> file are only
+generated for shapes and figure styles that are supported
+by the current font, and whose generation has not been
+turned off using the command line options.
+Fixed the font info parsing to work with the Condensed fonts
+in the Minion Pro family.
+
=item I<2010-04-23>
Always provide the C< --feature=kern> option to F<otftotfm>,
diff --git a/Master/texmf/doc/man/man1/autoinst.1 b/Master/texmf/doc/man/man1/autoinst.1
index 1b26a2dd3f2..16635636e35 100644
--- a/Master/texmf/doc/man/man1/autoinst.1
+++ b/Master/texmf/doc/man/man1/autoinst.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "AUTOINST 1"
-.TH AUTOINST 1 "2010-04-23" "fontools" "fontools"
+.TH AUTOINST 1 "2010-04-29" "fontools" "fontools"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -143,10 +143,12 @@ automatic mode) is quite complicated because it needs lots of long
command lines and doesn't generate the \fIfd\fR and \fIsty\fR files LaTeX needs.
\&\fBautoinst\fR simplifies the font installation
process by generating and executing all commands for \fIotftotfm\fR
-and by creating all necessary \fIfd\fR and \fIsty\fR files. All the user then needs
+and by creating all necessary \fIfd\fR and \fIsty\fR files.
+.PP
+All the user then needs
to do is move these files to a suitable location
-(\f(CW\*(C`$LOCALTEXMF/tex/latex/<Supplier>/<FontFamily>/\*(C'\fR being the
-canonical choice) and update TeX's filename database.
+(\fI\f(CI$LOCALTEXMF\fI/tex/latex/<Supplier>/<FontFamily>/\fR is the
+official choice) and update TeX's filename database.
.PP
Given a family of font files (in either \fI.ttf\fR or \fI.otf\fR format),
\&\fBautoinst\fR will create several LaTeX font families:
@@ -254,8 +256,7 @@ A typical name in this scheme is \fIMinionPro\-Regular\-osf\-sc\-ly1\fR.
By default, all text families use the \s-1LY1\s0 encoding. This has been chosen
over T1 (Cork) because many OpenType fonts contain additional ligatures
such as fj and Th, and \s-1LY1\s0 has a number of empty slots to accommodate these.
-.PP
-A different encoding can be selected using the \fB \-\-encoding\fR
+Different encodings can be selected using the \fB \-\-encoding\fR
command line option (see below).
.SS "Using the fonts with LaTeX"
.IX Subsection "Using the fonts with LaTeX"
@@ -293,8 +294,8 @@ shapes and styles. This package can be downloaded from the project's homepage
(\fIhttp://developer.berlios.de/projects/minionpro\fR) or directly through
the \s-1CVS\s0 web interface
(\fIhttp://cvs.berlios.de/cgi\-bin/viewcvs.cgi/minionpro/MinionPro/tex/\fR),
-and is also available from \s-1CTAN\s0 as part of the archive \fIbase\-v2.zip\fR
-(\fIhttp://www.ctan.org/tex\-archive/fonts/minionpro/base\-v2.zip\fR).
+and is also available from \s-1CTAN\s0 as part of the archive \fImetrics\-base.zip\fR
+(\fIhttp://www.ctan.org/tex\-archive/fonts/minionpro/metrics\-base.zip\fR).
.PP
Using the machinery set up by \fIfontaxes\fR, the generated style file
also defines a few commands (which take the text to be typeset as argument)
@@ -330,11 +331,14 @@ running LaTeX on the file \fInfssfont.tex\fR (part of a standard
LaTeX installation) and specifying the ornament font
(e.g., \fIMinionPro-Regular-orn-u\fR).
.PP
+These commands are only generated for shapes and number styles
+that actually exist; no commands are generated for shapes and styles
+that don't exist, or whose generation has been turned off.
+.PP
This whole machinery builds on \fIfontaxes\fR; if that package cannot be found,
the style file doesn't provide high-level access to the more `exotic'
font shapes and styles. In that case, you're limited to using the lower-level
-commands from standard \s-1NFSS\s0, or even plain TeX's \f(CW\*(C`\efont\*(C'\fR primitive
-(and it's called `primitive' for a reason!)
+commands from standard \s-1NFSS\s0.
.SS "Using multiple font families in one document"
.IX Subsection "Using multiple font families in one document"
If you want to use several font families in one document, make sure
@@ -345,8 +349,6 @@ of \fBautoinst\fR may not be able to coexist peacefully.
.SS "\s-1NFSS\s0 codes"
.IX Subsection "NFSS codes"
In \s-1NFSS\s0, weight and width are concatenated into a single `series' attribute.
-(\fINote:\fR versions of \fBautoinst\fR before 2007\-07\-27 erroneously formed
-the series as `width plus weight' instead of the reverse.)
\&\fBautoinst\fR maps widths, weights and shapes to \s-1NFSS\s0 codes using
the following tables. These are based on the tables in Lehman's
\&\fIFont Installation Guide\fR, but some changes had to be made to avoid
@@ -398,11 +400,10 @@ cannot find a writable \fItexmf\fR directory and leave all generated \fItfm\fR,
\&\fIvf\fR, \fIenc\fR and \fImap\fR files in the current working directory.
In that case, you need to move these to their correct destinations.
You also need to tell the dvi-driver (\fIdvips\fR, \fIdvipdfm\fR, \fIpdfTeX\fR etc.)
-about the new font map files; this usually means editing some
-configuration file.
+about the new font map files; see the documentation for how this is done.
.PP
-Furthermore, some OpenType fonts 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 TeXLive
+Also, some OpenType fonts lead to \fIpl\fR and \fIvpl\fR files that are too
+big for MiKTeX's \fIpltotf\fR and \fIvptovf\fR; the versions from TeXLive
(\fIhttp://tug.org/ftp/texlive/Contents/live/bin/win32/\fR) don't have this
problem.
.SH "COMMAND-LINE OPTIONS"
@@ -513,24 +514,22 @@ being interpreted as options to \fBautoinst\fR, it should be properly quoted.
Eddie Kohler's TypeTools (\fIhttp://www.lcdf.org/type\fR).
.PP
Perl is usually pre-installed on Linux and Unix systems;
-for Windows, good (and free) Perl implementations are
-Strawberry Perl (\fIhttp://strawberryperl.com\fR) and
-ActivePerl (available from \fIhttp://www.activestate.com\fR);
+on Windows, try ActivePerl (available from \fIhttp://www.activestate.com\fR)
+or Strawberry Perl (\fIhttp://strawberryperl.com\fR).
.PP
-John Owens' \fIotfinst\fR (\fIhttp://www.ece.ucdavis.edu/~jowens/code/otfinst/\fR;
-also available from \s-1CTAN\s0) is another wrapper around \fIotftotfm\fR,
-and may work for you when \fBautoinst\fR doesn't.
+XeTeX (\fIhttp://www.tug.org/xetex\fR) is an extension of TeX
+that can natively use any font installed in the operating system
+(including both flavours of OpenType fonts)
+without additional support files.
.PP
-Ready-made support files for MinionPro, providing more options and features
-than \fBautoinst\fR ever will (including math), are available from
-\&\fIhttp://developer.berlios.de/projects/minionpro/\fR.
+John Owens' \fIotfinst\fR (available from \s-1CTAN\s0) is another wrapper
+around \fIotftotfm\fR, and may work when \fBautoinst\fR doesn't.
.PP
-XeTeX (\fIhttp://scripts.sil.org/xetex\fR) is a TeX extension that can use
-any font installed in the operating system (including both flavours of
-OpenType fonts) without additional support files.
-It also isn't hindered by standard TeX's limitation to 8\-bit fonts,
-so it is especially well suited to fonts with many ligatures and
-alternate glyphs, such as Bickham, Poetica and Zapfino.
+The MinionPro for LaTeX project
+(\fIhttp://developer.berlios.de/projects/minionpro/\fR, also on \s-1CTAN\s0)
+developed very complete support files for Minion Pro (including math),
+but the project appears to have been abandoned;
+these files don't work with recent versions of Minion Pro.
.SH "AUTHOR"
.IX Header "AUTHOR"
Marc Penninga <marc@penninga.info>
@@ -552,7 +551,6 @@ it under the terms of the \s-1GNU\s0 General Public License
as published by the Free Software Foundation,
either version 2 of the License, or (at your option)
any later version.
-.PP
A copy of the \s-1GNU\s0 General Public License is included with the \fIfontools\fR
collection; see the file \fIGPLv2.txt\fR.
.SH "DISCLAIMER"
@@ -564,6 +562,16 @@ but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty
.SH "RECENT CHANGES"
.IX Header "RECENT CHANGES"
(See the source code for the full story.)
+.IP "\fI2010\-04\-29\fR" 12
+.IX Item "2010-04-29"
+The \f(CW\*(C` \-\-feature=kern\*(C'\fR option is only used for fonts that
+contain either a \fIkern\fR feature or a \fIkern\fR table.
+Font feature selection commands in the \fI.sty\fR file are only
+generated for shapes and figure styles that are supported
+by the current font, and whose generation has not been
+turned off using the command line options.
+Fixed the font info parsing to work with the Condensed fonts
+in the Minion Pro family.
.IP "\fI2010\-04\-23\fR" 12
.IX Item "2010-04-23"
Always provide the \f(CW\*(C` \-\-feature=kern\*(C'\fR option to \fIotftotfm\fR,
diff --git a/Master/texmf/doc/man/man1/autoinst.man1.pdf b/Master/texmf/doc/man/man1/autoinst.man1.pdf
index b99e22be9f6..af20e3b6085 100644
--- a/Master/texmf/doc/man/man1/autoinst.man1.pdf
+++ b/Master/texmf/doc/man/man1/autoinst.man1.pdf
Binary files differ
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 70d414b0078..651cbc117cd 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -2008,7 +2008,8 @@ sub install
}
}
-# build the documentation files
+
+# build the documentation files (we don't any more)
sub dodvi
{
# packages which are doc themselves rarely rebuild cleanly,
@@ -2154,17 +2155,9 @@ sub doinfos
&install ("$TOPDEST/texmf/doc/info/", $infopatt);
}
-# man pages. We put these in texmf/doc/man/man1, a la info (see above).
-#
-sub domans
-{
- my $manpatt = $specialmans{$package};
- return unless $manpatt;
- &install ("$TOPDEST/texmf/doc/man/man1/", $manpatt);
-}
-
# xmltex files
-sub doxmt{
+sub doxmt
+{
my $xmtpatt = $specialxmt{$package} || $standardxmt;
&install ("$DEST/tex/xmltex/$package", $xmtpatt);
}
@@ -2182,6 +2175,40 @@ sub domf {
&install ($mfdir, $mf_inst_patt);
}
+# man pages. We put these in texmf/doc/man/man1, a la info (see above).
+#
+sub domans
+{
+ my $manpatt = $specialmans{$package};
+ return unless $manpatt;
+ &install ("$TOPDEST/texmf/doc/man/man1/", $manpatt);
+}
+
+# When a package has man pages, we want to update the pdf versions of
+# them that we distribute using our Makefile setup, so that they are
+# all consistent. So we copy over our Makefiles, run make, and then
+# remove them.
+#
+sub tl_man_to_pdf
+{
+ my $Master_man = "$Master/texmf/doc/man";
+ my $pkg_man = "$TOPDEST/texmf/doc/man";
+ &SYSTEM ("cd $Master_man && $CP --parents Makefile man1/Makefile $pkg_man/");
+
+ # Extra complication: we don't want to rebuild everything, only those
+ # that have changed. Therefore, also copy in the pdfs for the package
+ # being updated from the Master man dir.
+ for my $man (<$pkg_man/man1/*>) {
+ (my $pdf_man = $man) =~ s,^.*/,,; # just foo.1, no directories
+ $pdf_man =~ s/1$/man1.pdf/; # foo.1 -> foo.man1.pdf
+ &SYSTEM ("$CP $Master_man/man1/$pdf_man $pkg_man/man1"); # copy existing
+ }
+
+ &SYSTEM ("cd $pkg_man && make DIR=man1"); # build new pdfs
+ &SYSTEM ("cd $pkg_man && $RM Makefile man1/Makefile"); # rm Makefiles
+}
+
+
sub rundvi {
local($thispatt) = @_;
$TEX = $specialTEX{$package};
@@ -3780,6 +3807,8 @@ sub POSTfontools
&xmkdir ($encdir);
&SYSTEM ("$MV share/* $encdir/");
&SYSTEM ("rmdir share"); # skip pdfs, we'll make our own
+ #
+ &tl_man_to_pdf ();
}
sub POSTfpl