summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-06-14 21:13:39 +0000
committerKarl Berry <karl@freefriends.org>2011-06-14 21:13:39 +0000
commitde1cf6765db38743187bd325a7b67301729195b0 (patch)
tree2393bfbb58c074dea61eceb696a4499dff2b4eab
parent1b3b11ac14fd4ed99a31a915133f2f62dcb68d31 (diff)
pkfix-helper 1.4 (13jun11)
git-svn-id: svn://tug.org/texlive/trunk@22981 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/pkfix-helper/pkfix-helper221
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl21
-rwxr-xr-xMaster/bin/i386-linux/afm2plbin82104 -> 82104 bytes
-rwxr-xr-xMaster/bin/i386-linux/afm2tfmbin91128 -> 91128 bytes
-rwxr-xr-xMaster/bin/i386-linux/alephbin485376 -> 485376 bytes
-rwxr-xr-xMaster/bin/i386-linux/bibtexbin151496 -> 151496 bytes
-rwxr-xr-xMaster/bin/i386-linux/bibtex8bin179312 -> 179312 bytes
-rwxr-xr-xMaster/bin/i386-linux/bibtexubin16415620 -> 16415620 bytes
-rwxr-xr-xMaster/bin/i386-linux/ctanglebin90072 -> 90072 bytes
-rwxr-xr-xMaster/bin/i386-linux/ctiebin70264 -> 70264 bytes
-rwxr-xr-xMaster/bin/i386-linux/cweavebin125720 -> 125720 bytes
-rwxr-xr-xMaster/bin/i386-linux/detexbin97844 -> 97844 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvi2ttybin77832 -> 77832 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvicopybin102964 -> 102964 bytes
-rwxr-xr-xMaster/bin/i386-linux/dviljbin103620 -> 103620 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvilj2pbin104036 -> 104036 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvilj4bin110988 -> 110988 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvilj4lbin110988 -> 110988 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvipdfmxbin748232 -> 748232 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvipngbin977608 -> 977608 bytes
-rwxr-xr-xMaster/bin/i386-linux/dviposbin95372 -> 95372 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvipsbin233912 -> 233912 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvisvgmbin1489600 -> 1489600 bytes
-rwxr-xr-xMaster/bin/i386-linux/dvitypebin94268 -> 94268 bytes
-rwxr-xr-xMaster/bin/i386-linux/eptexbin423060 -> 423060 bytes
-rwxr-xr-xMaster/bin/i386-linux/gftodvibin94192 -> 94192 bytes
-rwxr-xr-xMaster/bin/i386-linux/gftopkbin78908 -> 78908 bytes
-rwxr-xr-xMaster/bin/i386-linux/gftypebin79728 -> 79728 bytes
-rwxr-xr-xMaster/bin/i386-linux/gsftopkbin79264 -> 79264 bytes
-rwxr-xr-xMaster/bin/i386-linux/hbf2gfbin89860 -> 89860 bytes
-rwxr-xr-xMaster/bin/i386-linux/luatexbin4775308 -> 4775308 bytes
-rwxr-xr-xMaster/bin/i386-linux/makeindexbin135184 -> 135184 bytes
-rwxr-xr-xMaster/bin/i386-linux/makejvfbin95244 -> 95244 bytes
-rwxr-xr-xMaster/bin/i386-linux/mendexbin198740 -> 198740 bytes
-rwxr-xr-xMaster/bin/i386-linux/mfbin295132 -> 295132 bytes
-rwxr-xr-xMaster/bin/i386-linux/mf-nowinbin290676 -> 290676 bytes
-rwxr-xr-xMaster/bin/i386-linux/mftbin102308 -> 102308 bytes
-rwxr-xr-xMaster/bin/i386-linux/mpostbin502596 -> 502596 bytes
-rwxr-xr-xMaster/bin/i386-linux/odvicopybin106516 -> 106516 bytes
-rwxr-xr-xMaster/bin/i386-linux/odvitypebin94268 -> 94268 bytes
-rwxr-xr-xMaster/bin/i386-linux/omfontsbin157596 -> 157596 bytes
-rwxr-xr-xMaster/bin/i386-linux/otanglebin90244 -> 90244 bytes
-rwxr-xr-xMaster/bin/i386-linux/otftotfmbin831424 -> 831424 bytes
-rwxr-xr-xMaster/bin/i386-linux/otp2ocpbin85708 -> 85708 bytes
-rwxr-xr-xMaster/bin/i386-linux/outocpbin65588 -> 65588 bytes
-rwxr-xr-xMaster/bin/i386-linux/pbibtexbin176512 -> 176512 bytes
-rwxr-xr-xMaster/bin/i386-linux/pdftexbin1368768 -> 1368768 bytes
-rwxr-xr-xMaster/bin/i386-linux/pdvitypebin124500 -> 124500 bytes
-rwxr-xr-xMaster/bin/i386-linux/pktogfbin77776 -> 77776 bytes
-rwxr-xr-xMaster/bin/i386-linux/pktypebin73640 -> 73640 bytes
-rwxr-xr-xMaster/bin/i386-linux/ppltotfbin136648 -> 136648 bytes
-rwxr-xr-xMaster/bin/i386-linux/ps2pkbin170716 -> 170716 bytes
-rwxr-xr-xMaster/bin/i386-linux/ptexbin374932 -> 374932 bytes
-rwxr-xr-xMaster/bin/i386-linux/ptftoplbin124284 -> 124284 bytes
-rwxr-xr-xMaster/bin/i386-linux/synctexbin119688 -> 119816 bytes
-rwxr-xr-xMaster/bin/i386-linux/t4htbin85588 -> 85588 bytes
-rwxr-xr-xMaster/bin/i386-linux/tanglebin94148 -> 94148 bytes
-rwxr-xr-xMaster/bin/i386-linux/texbin328820 -> 328820 bytes
-rwxr-xr-xMaster/bin/i386-linux/tex4htbin147572 -> 147572 bytes
-rwxr-xr-xMaster/bin/i386-linux/tftoplbin90020 -> 90020 bytes
-rwxr-xr-xMaster/bin/i386-linux/tiebin69176 -> 69176 bytes
-rwxr-xr-xMaster/bin/i386-linux/tpic2pdftex4
-rwxr-xr-xMaster/bin/i386-linux/ttf2afmbin83744 -> 83744 bytes
-rwxr-xr-xMaster/bin/i386-linux/ttf2pkbin223712 -> 223712 bytes
-rwxr-xr-xMaster/bin/i386-linux/ttf2tfmbin244656 -> 244656 bytes
-rwxr-xr-xMaster/bin/i386-linux/vftovpbin102384 -> 102384 bytes
-rwxr-xr-xMaster/bin/i386-linux/weavebin111624 -> 111624 bytes
-rwxr-xr-xMaster/bin/i386-linux/xdvi-xawbin825184 -> 825184 bytes
-rwxr-xr-xMaster/bin/i386-linux/xdvipdfmxbin1322068 -> 1322068 bytes
-rwxr-xr-xMaster/bin/i386-linux/xetexbin18434908 -> 18434908 bytes
-rwxr-xr-xMaster/bin/sparc-linux/afm2plbin92508 -> 92508 bytes
-rwxr-xr-xMaster/bin/sparc-linux/afm2tfmbin93736 -> 93736 bytes
-rwxr-xr-xMaster/bin/sparc-linux/alephbin576692 -> 576692 bytes
-rwxr-xr-xMaster/bin/sparc-linux/bibtexbin157960 -> 157960 bytes
-rwxr-xr-xMaster/bin/sparc-linux/bibtex8bin182812 -> 182812 bytes
-rwxr-xr-xMaster/bin/sparc-linux/bibtexubin16498240 -> 16498240 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ctanglebin100712 -> 100712 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ctiebin75996 -> 75996 bytes
-rwxr-xr-xMaster/bin/sparc-linux/cweavebin133480 -> 133480 bytes
-rwxr-xr-xMaster/bin/sparc-linux/detexbin100568 -> 100568 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvi2ttybin84272 -> 84272 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvicopybin116984 -> 116984 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dviljbin109408 -> 109408 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvilj2pbin109408 -> 109408 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvilj4bin117632 -> 117632 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvilj4lbin117632 -> 117632 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvipdfmxbin746176 -> 746176 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvipngbin997612 -> 997612 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dviposbin100868 -> 100868 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvipsbin257600 -> 257600 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvisvgmbin1684568 -> 1684568 bytes
-rwxr-xr-xMaster/bin/sparc-linux/dvitypebin100612 -> 100612 bytes
-rwxr-xr-xMaster/bin/sparc-linux/eptexbin486844 -> 486844 bytes
-rwxr-xr-xMaster/bin/sparc-linux/gftodvibin108776 -> 108776 bytes
-rwxr-xr-xMaster/bin/sparc-linux/gftopkbin84208 -> 84208 bytes
-rwxr-xr-xMaster/bin/sparc-linux/gftypebin84164 -> 84164 bytes
-rwxr-xr-xMaster/bin/sparc-linux/gsftopkbin84428 -> 84428 bytes
-rwxr-xr-xMaster/bin/sparc-linux/hbf2gfbin92548 -> 92548 bytes
-rwxr-xr-xMaster/bin/sparc-linux/kpsewhichbin76336 -> 76336 bytes
-rwxr-xr-xMaster/bin/sparc-linux/luatexbin4903824 -> 4903824 bytes
-rwxr-xr-xMaster/bin/sparc-linux/makeindexbin137596 -> 137596 bytes
-rwxr-xr-xMaster/bin/sparc-linux/makejvfbin100780 -> 100780 bytes
-rwxr-xr-xMaster/bin/sparc-linux/mendexbin208036 -> 208036 bytes
-rwxr-xr-xMaster/bin/sparc-linux/mfbin331124 -> 331124 bytes
-rwxr-xr-xMaster/bin/sparc-linux/mf-nowinbin330640 -> 330640 bytes
-rwxr-xr-xMaster/bin/sparc-linux/mftbin108764 -> 108764 bytes
-rwxr-xr-xMaster/bin/sparc-linux/mpostbin511268 -> 511268 bytes
-rwxr-xr-xMaster/bin/sparc-linux/odvicopybin116984 -> 116984 bytes
-rwxr-xr-xMaster/bin/sparc-linux/odvitypebin100612 -> 100612 bytes
-rwxr-xr-xMaster/bin/sparc-linux/omfontsbin159244 -> 159244 bytes
-rwxr-xr-xMaster/bin/sparc-linux/otanglebin100572 -> 100572 bytes
-rwxr-xr-xMaster/bin/sparc-linux/otftotfmbin857016 -> 857016 bytes
-rwxr-xr-xMaster/bin/sparc-linux/otp2ocpbin92352 -> 92352 bytes
-rwxr-xr-xMaster/bin/sparc-linux/outocpbin67844 -> 67844 bytes
-rwxr-xr-xMaster/bin/sparc-linux/pbibtexbin182828 -> 182828 bytes
-rwxr-xr-xMaster/bin/sparc-linux/pdftexbin1506832 -> 1506832 bytes
-rwxr-xr-xMaster/bin/sparc-linux/pdvitypebin133696 -> 133696 bytes
-rwxr-xr-xMaster/bin/sparc-linux/pktogfbin84160 -> 84160 bytes
-rwxr-xr-xMaster/bin/sparc-linux/pktypebin75988 -> 75988 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ppltotfbin141816 -> 141816 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ps2pkbin182480 -> 182480 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ptexbin429480 -> 429480 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ptftoplbin125440 -> 125440 bytes
-rwxr-xr-xMaster/bin/sparc-linux/synctexbin133620 -> 133620 bytes
-rwxr-xr-xMaster/bin/sparc-linux/t4htbin92336 -> 92336 bytes
-rwxr-xr-xMaster/bin/sparc-linux/tanglebin100612 -> 100612 bytes
-rwxr-xr-xMaster/bin/sparc-linux/texbin371860 -> 371860 bytes
-rwxr-xr-xMaster/bin/sparc-linux/tex4htbin166148 -> 166148 bytes
-rwxr-xr-xMaster/bin/sparc-linux/tftoplbin92388 -> 92388 bytes
-rwxr-xr-xMaster/bin/sparc-linux/tiebin75928 -> 75928 bytes
-rwxr-xr-xMaster/bin/sparc-linux/tpic2pdftex4
-rwxr-xr-xMaster/bin/sparc-linux/ttf2afmbin93448 -> 93448 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ttf2pkbin241196 -> 241196 bytes
-rwxr-xr-xMaster/bin/sparc-linux/ttf2tfmbin258796 -> 258796 bytes
-rwxr-xr-xMaster/bin/sparc-linux/vftovpbin108776 -> 108776 bytes
-rwxr-xr-xMaster/bin/sparc-linux/weavebin125148 -> 125148 bytes
-rwxr-xr-xMaster/bin/sparc-linux/xdvi-xawbin838496 -> 838496 bytes
-rwxr-xr-xMaster/bin/sparc-linux/xdvipdfmxbin1335472 -> 1335472 bytes
-rwxr-xr-xMaster/bin/sparc-linux/xetexbin18773392 -> 18773392 bytes
-rw-r--r--Master/texmf-dist/doc/support/pkfix-helper/README8
-rw-r--r--Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.pdfbin564699 -> 653290 bytes
-rw-r--r--Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.tex27
-rwxr-xr-xMaster/texmf-dist/scripts/pkfix-helper/pkfix-helper221
-rw-r--r--Master/texmf/doc/man/man1/pkfix-helper.150
-rw-r--r--Master/texmf/doc/man/man1/pkfix-helper.man1.pdfbin22136 -> 22697 bytes
-rw-r--r--Master/tlpkg/tlpsrc/00texlive.image.tlpsrc1
146 files changed, 407 insertions, 150 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/pkfix-helper/pkfix-helper b/Build/source/texk/texlive/linked_scripts/pkfix-helper/pkfix-helper
index 26d56ede05a..35782931203 100755
--- a/Build/source/texk/texlive/linked_scripts/pkfix-helper/pkfix-helper
+++ b/Build/source/texk/texlive/linked_scripts/pkfix-helper/pkfix-helper
@@ -17,7 +17,7 @@ use strict;
# Define some global variables.
my $progname = basename $0; # Name of this program
-our $VERSION = "1.3"; # Version number of this program
+our $VERSION = "1.4"; # Version number of this program
my %name2chars; # Map from a font name to a character list
my $GS = $ENV{"GS"} || "gs"; # Name of the Ghostscript interpreter
my $TFTOPL = $ENV{"TFTOPL"} || "tftopl"; # Name of the TFM to PL converter
@@ -46,6 +46,7 @@ my $sample_file_tex; # Name of a TeX file of font samples to write
my $single_font_use = 0; # 1=one use per font; 0=allow repetitions
my $samples_per_page = 25; # Number of font samples to print per page
my $tfm_cache_file; # Name of a file in which to cache font metrics
+my $any_scale = 0; # 0=1X, 1.1X, 1.2X, ...; 1=any scale is allowed
###########################################################################
@@ -85,17 +86,20 @@ sub read_tfm_cache_file
# $tfm_cache_file.
sub write_tfm_cache_file
{
+ my $numlines = 0;
print STDERR "Writing TFM data to $tfm_cache_file ... " if $verbose;
open(CACHEFILE, ">", $tfm_cache_file) || die "${progname}: Failed to create $tfm_cache_file ($!)\n";
while (my ($tfm, $size) = each %tfm2size) {
my @widths = %{$tfmfontwidth{$tfm}};
print CACHEFILE "$tfm $size @widths\n";
+ $numlines++;
}
foreach my $tfm (keys %tfmmissing) {
print CACHEFILE "$tfm\n";
+ $numlines++;
}
close CACHEFILE;
- print STDERR "done.\n" if $verbose;
+ print STDERR "done ($numlines entries).\n" if $verbose;
}
@@ -183,8 +187,14 @@ sub optimal_scale ($$)
$doc_dot_tfm += $docwidth * $tfmwidth;
$tfm_dot_tfm += $tfmwidth**2;
}
- return 1.0 if $tfm_dot_tfm == 0.0; # TFM characters all have zero width.
- return $doc_dot_tfm / $tfm_dot_tfm;
+ return 1.0 if $tfm_dot_tfm == 0.0; # Handle TFM characters that all have zero width.
+ my $optscale = $doc_dot_tfm / $tfm_dot_tfm;
+ unless ($any_scale) {
+ # Allow only values >= 1.0 and only multiples of 0.1.
+ return 1.0 if $optscale < 1.0;
+ $optscale = int($optscale*10 + 0.5) / 10;
+ }
+ return $optscale;
}
@@ -258,18 +268,19 @@ sub texify (@)
}
-# Parse a font specification into a hash of information.
+# Parse a font specification into a list of hashes of information.
sub parse_font_spec ($)
{
my $spec = $_[0];
my $parse_error = "${progname}: Unable to parse font specification \"$spec\"\n";
- if ($spec =~ /^\s*([-\w]+)(.*)$/o) {
+ if ($spec =~ /^\s*([-\w\*]+)(.*)$/o) {
my $tfm = $1; # Name of tfm file (e.g., "cmr10")
my $scale_info = $2; # Concatenation of scale type and scale factor
my $scale_type; # "X"=multiply, "@"=assign
my $scale_amount; # How much to scale the TFM file, "*"=automatic
+ # Parse the different scale types.
if ($scale_info =~ /^\s*$/o) {
# Empty
$scale_type = 'X';
@@ -294,9 +305,25 @@ sub parse_font_spec ($)
else {
die $parse_error;
}
- return {"tfm" => $tfm,
- "scale_type" => $scale_type,
- "scale" => $scale_amount};
+
+ # If the tfm file contains a "*", replace the "*" with a
+ # variety of font sizes.
+ my @fontlist;
+ if ($tfm =~ /\*/) {
+ foreach my $fsize (5..17) {
+ my $full_tfm = $tfm;
+ $full_tfm =~ s/\*/$fsize/g;
+ push @fontlist, {"tfm" => $full_tfm,
+ "scale_type" => $scale_type,
+ "scale" => $scale_amount};
+ }
+ }
+ else {
+ push @fontlist, {"tfm" => $tfm,
+ "scale_type" => $scale_type,
+ "scale" => $scale_amount};
+ }
+ return \@fontlist;
}
die $parse_error;
}
@@ -328,6 +355,7 @@ GetOptions ("h|help" => \$wanthelp,
"p|ps=s" => \$sample_file_ps,
"s|spp=i" => \$samples_per_page,
"C|cache=s" => \$tfm_cache_file,
+ "a|any-scale!" => \$any_scale,
"1|no-repeats" => \$single_font_use) || pod2usage(2);
if ($wantversion) {
print "pkfix-helper $VERSION\n";
@@ -346,13 +374,21 @@ die "${progname}: Samples per page must be at least 1 ($samples_per_page was spe
# Convert any user-specified TFMs to the appropriate internal format.
foreach my $tfm (@extra_tfms) {
my $font_spec = parse_font_spec $tfm;
- push @tfmlist, $font_spec;
+ push @tfmlist, @$font_spec;
}
# Parse the list of forced font mappings.
foreach my $mapstr (@forced_fonts) {
$mapstr =~ /^(\w+)\s*=\s*(.*)$/ || die "${progname}: Unable to parse font specification \"$mapstr\"\n";
- $fontmatch{$1} = parse_font_spec $2;
+ my $parsed_font_spec = parse_font_spec $2;
+ if (defined $fontmatch{$1}) {
+ # Append to an existing font match.
+ $fontmatch{$1} = [@{$fontmatch{$1}}, @$parsed_font_spec];
+ }
+ else {
+ # Define a new font match,
+ $fontmatch{$1} = $parsed_font_spec;
+ }
}
# Construct a list of (possibly nonexistent) TFM files to try. These
@@ -405,6 +441,69 @@ my $entirefile;
}
print STDERR "done.\n" if $verbose;
+# Rename the fonts in each subdocument (figure).
+my @fontrenames;
+my $fignum = 1;
+my $numrenamed = 0;
+while ($entirefile =~ /(\%\%BeginDocument: (.*?)\n.*?\%\%EndDocument)/gs) {
+ my $figure = $1;
+ my $newfigure = $1;
+ my $figname = $2;
+ if ($verbose >= 2) {
+ if ($fignum == 1) {
+ print STDERR "Renaming all fonts encountered in included documents:\n";
+ }
+ print STDERR " $figname\n";
+ }
+ while ($figure =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
+ my $fontname = $1; # Name of current font (e.g., "Fa")
+ $newfigure =~ s,(?<=/)$fontname\b,${fontname}_$fignum,gs;
+ $newfigure =~ s,\b$fontname(?=\(),${fontname}_$fignum,gs;
+ $numrenamed++;
+ if ($verbose >= 2) {
+ printf STDERR " %s --> %s_%d\n", $fontname, $fontname, $fignum;
+ }
+ }
+ if ($figure ne $newfigure) {
+ # Remove the font-defining dictionary from the the subdocument
+ # as it may confuse pkfix. Store it so we can later reinsert
+ # it into the main document's font-defining dictionary.
+ my $texdict = "";
+ if ($newfigure =~ s/TeXDict begin \d+ \d+ \d+ \d+ \d+ \(.*?\)\s+\@start(.*?)end//gs) {
+ $texdict = $1;
+ }
+ else {
+ warn "${progname}: Failed to extract a font-defining TeXDict from $figname\n";
+ }
+ push @fontrenames, [$figure, $newfigure, $texdict];
+ }
+ $fignum++;
+}
+if ($verbose && $entirefile =~ /\%\%BeginDocument:/s) {
+ print STDERR "Number of Type 3 fonts encountered in included documents: $numrenamed\n";
+}
+foreach my $ren (@fontrenames) {
+ my ($before, $after, $notused) = @$ren;
+ $entirefile =~ s/\Q$before\E/$after/gs;
+}
+
+# If the document contains a subdocument with (now renamed) font
+# definitions, hoist those definitions adjacent to the main document's
+# font definitions so pkfix can find them.
+if (@fontrenames) {
+ if ($entirefile =~ /(TeXDict begin (\d+) (\d+) (\d+) (\d+) (\d+) \(.*?\)\s+\@start.*?)(?=end)/s) {
+ my $fontdict = $1;
+ my $morefonts = "";
+ foreach my $ren (@fontrenames) {
+ $morefonts .= $ren->[2];
+ }
+ $entirefile =~ s/(\Q$fontdict\E)/$1$morefonts/s;
+ }
+ else {
+ warn "${progname}: Failed to find a font-defining TeXDict\n";
+ }
+}
+
# Construct a mapping from each document font name to a list of valid
# characters in that font.
while ($entirefile =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
@@ -430,10 +529,10 @@ while ($entirefile =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
my @sortedfontnames = sort {$#{$name2chars{$b}} <=> $#{$name2chars{$a}}
|| $a cmp $b} keys %name2chars;
if ($verbose) {
- printf STDERR "Number of Type 3 fonts encountered: %d\n", 1+$#sortedfontnames;
+ printf STDERR "Total number of Type 3 fonts encountered: %d\n", 1+$#sortedfontnames;
if ($verbose >= 2) {
foreach my $fontname (@sortedfontnames) {
- printf STDERR " %s -- %3d character(s)\n", $fontname, 1+$#{$name2chars{$fontname}};
+ printf STDERR " %-5.5s -- %3d character(s)\n", $fontname, 1+$#{$name2chars{$fontname}};
}
}
}
@@ -449,7 +548,7 @@ else {
warn "${progname}: Could not determine the target printer resolution; assuming $dpi DPI\n";
}
-# Insert some helper code after the first ProcSet.
+# Insert some helper code after the tex.pro ProcSet.
my $output_width_ps = $entirefile; # PostScript code to output character widths
my $showfontnamecode = <<"SHOWFONTNAME";
\%\%BeginProcSet: $progname.pro
@@ -485,8 +584,8 @@ end
\%\%EndProcSet
SHOWFONTNAME
;#'
-if ($output_width_ps !~ s/\%\%EndProcSet/$&\n$showfontnamecode/s) {
- print STDERR 'No %%EndProcSet comment was found. We have to guess where to inject PostScript code.', "\n" if $verbose >= 3;
+if ($output_width_ps !~ s/\%\%BeginProcSet: tex\w*\.pro.*?\%\%EndProcSet/$&\n$showfontnamecode/s) {
+ print STDERR "No tex.pro ProcSet was found. We have to guess where to inject PostScript code.\n" if $verbose >= 3;
die "${progname}: Unable to inject prologue code\n" if $output_width_ps !~ s/TeXDict begin\s+\d+\s+\d+\s+bop/\n$showfontnamecode\n$&/s;
}
@@ -562,7 +661,7 @@ read_tfm_cache_file() if defined $tfm_cache_file;
print STDERR "Reading TFM files ... " if $verbose;
print STDERR "\n" if $verbose >= 2;
foreach my $tfm (sort {$a cmp $b}
- unique_items map {$_->{"tfm"}} (@tfmlist, values %fontmatch)) {
+ unique_items map {$_->{"tfm"}} (@tfmlist, map {@$_} values %fontmatch)) {
my ($designsize, %num2widths) = @{tfm2widths $tfm};
if (%num2widths) {
$tfmfontwidth{$tfm} = \%num2widths;
@@ -590,18 +689,24 @@ foreach my $tfminfo (@tfmlist) {
@tfmlist = @goodtfmlist;
undef @goodtfmlist;
-# Do the same for all user-specified font mappings.
-while (my ($fontname, $tfminfo) = each %fontmatch) {
- my $tfm = $tfminfo->{"tfm"};
- if (!defined ($tfmfontwidth{$tfm})) {
- print STDERR "failed.\n" if $verbose;
- die "${progname}: Unable to process user-specified TFM file \"$tfm\"\n";
+# Do the same for all user-specified font mappings but abort if none
+# of the specified possibilities represent a valid TFM file.
+while (my ($fontname, $tfmlist) = each %fontmatch) {
+ my $anyvalid = 0;
+ foreach my $tfminfo (@$tfmlist) {
+ my $tfm = $tfminfo->{"tfm"};
+ next if !defined ($tfmfontwidth{$tfm});
+ $tfminfo->{"designsize"} = $tfm2size{$tfm};
+ if ($tfminfo->{"scale_type"} eq "@") {
+ # Convert absolute to relative sizes.
+ $tfminfo->{"scale_type"} = "X";
+ $tfminfo->{"scale"} /= $tfminfo->{"designsize"};
+ }
+ $anyvalid = 1;
}
- $tfminfo->{"designsize"} = $tfm2size{$tfm};
- if ($tfminfo->{"scale_type"} eq "@") {
- # Convert absolute to relative sizes.
- $tfminfo->{"scale_type"} = "X";
- $tfminfo->{"scale"} /= $tfminfo->{"designsize"};
+ if (!$anyvalid) {
+ print STDERR "failed.\n" if $verbose;
+ die "${progname}: Unable to utilize any of the TFM files specified for font $fontname\n";
}
}
@@ -630,9 +735,10 @@ foreach my $fontname (@sortedfontnames) {
# Determine the list of eligible fonts to compare against.
my @eligible_tfms;
- foreach my $tfminfo ($fontmatch{$fontname} || @tfmlist) {
+ foreach my $tfminfo ($fontmatch{$fontname} ? @{$fontmatch{$fontname}} : @tfmlist) {
if ($tfminfo->{"scale"} eq "*") {
# Replace "*" with the best scaling factor we can find.
+ next if !defined $tfmfontwidth{$tfminfo->{"tfm"}};
my $newscale = optimal_scale $fontwidth{$fontname}, $tfmfontwidth{$tfminfo->{"tfm"}};
if (defined $newscale) {
# Replace the "*" with the optimal multiplier.
@@ -657,6 +763,7 @@ foreach my $fontname (@sortedfontnames) {
print STDERR " Processing $fontname ... " if $verbose == 1;
foreach my $tfminfo (@eligible_tfms) {
my $tfm = $tfminfo->{"tfm"};
+ next if !defined $tfmfontwidth{$tfm};
my $scale = $tfminfo->{"scale"};
printf STDERR " Comparing %s and %s \@ %.5gX ... ", $fontname, $tfm, $scale if $verbose >= 2;
my $match = compare_maps $fontwidth{$fontname}, $tfmfontwidth{$tfm}, $scale;
@@ -706,7 +813,7 @@ foreach my $fontname (@sortedfontnames) {
# Insert %DVIPSBitmapFont comments around every Type 3 font definition.
my $commented_ps = $entirefile;
my $infilename_ps = $infilename; # PostScript version of $infilename
-$infilename_ps =~ s/[()\\]/\\$1/g;
+$infilename_ps =~ s/([\(\)\\])/\\$1/g;
$commented_ps =~ s|^\%(End)?DVIPSBitmapFont.*$||gm; # Remove existing comments (if any)
$commented_ps =~ s|/(\S+)\s+\d+\s+\d+\s+df.*?>[^<]*?[DI]\s+E|write_comments($1, $&)|gse;
if ($commented_ps !~ /\%\%EndProlog/) {
@@ -762,7 +869,7 @@ TeXDict begin
font-name-string show (:) show
grestore
gsave
- 36 0 rmoveto
+ 42 0 rmoveto
font-name cvx exec
currentfont bitmap-font-transform makefont setfont
sample-string show
@@ -781,8 +888,8 @@ end
\%\%EndProcSet
SHOWFONTNAME
;
- if ($sample_ps !~ s/\%\%EndProcSet/$&\n$showfontnamecode/) {
- print STDERR 'No %%EndProcSet comment was found. We have to guess where to inject PostScript code.', "\n" if $verbose >= 3;
+ if ($sample_ps !~ s/\%\%BeginProcSet: tex\w*\.pro.*\%\%EndProcSet/$&\n$showfontnamecode/s) {
+ print STDERR "No tex.pro ProcSet was found. We have to guess where to inject PostScript code.\n" if $verbose >= 3;
die "${progname}: Unable to inject prologue code\n" if $sample_ps !~ s/TeXDict begin\s+\d+\s+\d+\s+bop/\n$showfontnamecode\n$&/s;
}
@@ -1063,7 +1170,12 @@ program's internal operations.
Force B<pkfix-helper> to associate a specific font with a given font
name appearing the document. I<name> is a two-character B<dvips> font
name such as C<Fa>. I<fontspec> is a font specification such as
-S<C<cmsy10 @ 1.1X>>. The B<--force> option can be specified
+C<cmmi8> or S<C<cmsy10 @ 1.1X>>. An asterisk used in the name of the
+base font S<(e.g., C<cmti*>)> will automatically try all integral test
+font sizes from 5 to 17 points (C<cmti5>, S<C<cmti6>, ...,>
+C<cmti17>). An asterisk used as a scale value S<(e.g., C<cmsy10 @
+*>)> will be replaced by the scale value that gives the best match to
+the original font's metrics. The B<--force> option can be specified
repeatedly on the command line.
=item B<-p> I<filename.ps>, B<--ps>=I<filename.ps>
@@ -1096,6 +1208,16 @@ previously extracted metrics from I<filename>, going through the
F<tftopl>-based process only for TFM files that were not previously
encountered.
+=item B<-q>, B<--quiet>
+
+Instruct B<pkfix-helper> to produce no output during its run except
+for fatal error messages.
+
+=item B<-1>, B<--no-repeats>
+
+Prevent B<pkfix-helper> from associating the same I<fontspec> with
+more than one B<dvips> font name.
+
=item B<-i> I<fontspec>, B<--include>=I<fontspec>
Add I<fontspec> to the list of font specifications against which
@@ -1121,15 +1243,12 @@ bitmapped image into a single-character font and using that font in
LaTeX. B<--keep> prevents such fonts from being replaced. The
B<--keep> option can be specified repeatedly on the command line.
-=item B<-q>, B<--quiet>
+=item B<-a>, B<--any-scale>
-Instruct B<pkfix-helper> to produce no output during its run except
-for fatal error messages.
-
-=item B<-1>, B<--no-repeats>
-
-Prevent B<pkfix-helper> from associating the same I<fontspec> with
-more than one B<dvips> font name.
+Allow any value to be used to scale a font when "C<*>" is specified as
+the scale factor. Normally, B<pkfix-helper> considers only integer
+multiples of 0.1 that are greater than or equal to 1.0 (i.e.,
+I<fontname>C<@1X>, C<@1.1X>, C<@1.2X>, C<@1.3X>, etc.).
=item B<-s>, B<--spp>
@@ -1245,7 +1364,7 @@ Let's hypothesize that C<cmb12> is a better match than C<cmbx12> but
we don't know how much to scale the font. Fortunately,
B<pkfix-helper> allows C<*> to be used as a scaling factor to tell the
program to automatically detect an optimal scaling factor, even if
-doing so means choosing a highly nonstandard font size:
+doing so means choosing a nonstandard font size:
$ pkfix-helper oldfile.ps pkfix-oldfile.ps --force="Ff=cmb12 @ *"
Reading oldfile.ps ... done.
@@ -1268,7 +1387,7 @@ Let's try scaling up F<cmb10.tfm> instead:
Processing Fi ... done (cmr10 @ 1X, mismatch=0.11683).
Processing Fa ... done (cmti10 @ 1X, mismatch=0.08892).
Processing Fb ... done (cmr8 @ 1X, mismatch=0.07133).
- Processing Ff ... done (cmb10 @ 1.5708X, mismatch=0.00035).
+ Processing Ff ... done (cmb10 @ 1.5X, mismatch=0.00035).
Processing Fh ... done (cmtt10 @ 1X, mismatch=0.06895).
Processing Fd ... done (cmmi10 @ 1X, mismatch=0.03966).
Processing Fj ... done (cmbx12 @ 1X, mismatch=0.03972).
@@ -1276,12 +1395,12 @@ Let's try scaling up F<cmb10.tfm> instead:
Processing Fg ... done (cmsy10 @ 1X, mismatch=0.00875).
Processing Fc ... done (cmr6 @ 1X, mismatch=0.00284).
-The match has definitely improved, although S<15.708 pt.> is certainly
-an odd size for a font. Then again, many documents I<do> use
-nonstandard sizes so this may in fact be correct. The best way to
-verify is once again to produce, print, and compare a pair of font
-samples and iterate until all of the fonts look correct. Use one
-instance of B<--force> for each font you want to alter.
+The match has definitely improved, although S<15 pt.> is certainly an
+odd size for a font. Then again, many documents I<do> use nonstandard
+sizes so this may in fact be correct. The best way to verify is once
+again to produce, print, and compare a pair of font samples and
+iterate until all of the fonts look correct. Use one instance of
+B<--force> for each font you want to alter.
=head1 ENVIRONMENT
@@ -1352,7 +1471,7 @@ Scott Pakin, I<scott+pkfh@pakin.org>
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2010, Scott Pakin
+Copyright (C) 2011, Scott Pakin
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index 95ec7282a8c..4d508695dcf 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 22875 2011-06-09 00:45:20Z preining $
+# $Id: tlmgr.pl 22912 2011-06-11 04:40:36Z preining $
#
# Copyright 2008, 2009, 2010, 2011 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 22875 $';
-my $datrev = '$Date: 2011-06-09 02:45:20 +0200 (Thu, 09 Jun 2011) $';
+my $svnrev = '$Revision: 22912 $';
+my $datrev = '$Date: 2011-06-11 06:40:36 +0200 (Sat, 11 Jun 2011) $';
my $tlmgrrevision;
if ($svnrev =~ m/: ([0-9]+) /) {
$tlmgrrevision = $1;
@@ -1038,7 +1038,14 @@ sub action_path {
#
sub action_dumptlpdb {
init_local_db();
+ # set machine readable to 1
+ my $savemr = $::machinereadable;
+ $::machinereadable = 1;
if ($opts{"local"}) {
+ # since we want to be consistent we write out the location of
+ # the installation, too, in the format as it is done when
+ # dumping the remote tlpdb
+ print "location-url\t", $localtlpdb->root, "\n";
$localtlpdb->writeout;
return;
}
@@ -1046,6 +1053,7 @@ sub action_dumptlpdb {
init_tlmedia();
$remotetlpdb->writeout;
}
+ $::machinereadable = $savemr;
return;
}
@@ -5765,6 +5773,13 @@ Dumps the remote tlpdb.
If both B<--local> and B<--remote> is given, only the local tlpdb is dumped
out. If none is given then nothing is dumped.
+In the line before the dump of the tlpdb the location is specified on
+a line:
+
+ location-url TAB <location>
+
+
+
=head2 list [--only-installed] [collections|schemes|I<pkg>...]
diff --git a/Master/bin/i386-linux/afm2pl b/Master/bin/i386-linux/afm2pl
index f45c17752e7..15b558afe44 100755
--- a/Master/bin/i386-linux/afm2pl
+++ b/Master/bin/i386-linux/afm2pl
Binary files differ
diff --git a/Master/bin/i386-linux/afm2tfm b/Master/bin/i386-linux/afm2tfm
index 40af92c3728..8f73f4ccd7e 100755
--- a/Master/bin/i386-linux/afm2tfm
+++ b/Master/bin/i386-linux/afm2tfm
Binary files differ
diff --git a/Master/bin/i386-linux/aleph b/Master/bin/i386-linux/aleph
index 958ab99f5e7..4a6a95f35d4 100755
--- a/Master/bin/i386-linux/aleph
+++ b/Master/bin/i386-linux/aleph
Binary files differ
diff --git a/Master/bin/i386-linux/bibtex b/Master/bin/i386-linux/bibtex
index f83c55e93b2..e3108f12f71 100755
--- a/Master/bin/i386-linux/bibtex
+++ b/Master/bin/i386-linux/bibtex
Binary files differ
diff --git a/Master/bin/i386-linux/bibtex8 b/Master/bin/i386-linux/bibtex8
index 32c491154d4..498bf983b80 100755
--- a/Master/bin/i386-linux/bibtex8
+++ b/Master/bin/i386-linux/bibtex8
Binary files differ
diff --git a/Master/bin/i386-linux/bibtexu b/Master/bin/i386-linux/bibtexu
index 0bfb96e433e..c667dae0fa4 100755
--- a/Master/bin/i386-linux/bibtexu
+++ b/Master/bin/i386-linux/bibtexu
Binary files differ
diff --git a/Master/bin/i386-linux/ctangle b/Master/bin/i386-linux/ctangle
index 2ab843fa70c..53ae32e652d 100755
--- a/Master/bin/i386-linux/ctangle
+++ b/Master/bin/i386-linux/ctangle
Binary files differ
diff --git a/Master/bin/i386-linux/ctie b/Master/bin/i386-linux/ctie
index d22d75e4b7f..a64f836465b 100755
--- a/Master/bin/i386-linux/ctie
+++ b/Master/bin/i386-linux/ctie
Binary files differ
diff --git a/Master/bin/i386-linux/cweave b/Master/bin/i386-linux/cweave
index c75ac42b033..642ed649a8e 100755
--- a/Master/bin/i386-linux/cweave
+++ b/Master/bin/i386-linux/cweave
Binary files differ
diff --git a/Master/bin/i386-linux/detex b/Master/bin/i386-linux/detex
index dfc6e71ee6a..746b8c74ecc 100755
--- a/Master/bin/i386-linux/detex
+++ b/Master/bin/i386-linux/detex
Binary files differ
diff --git a/Master/bin/i386-linux/dvi2tty b/Master/bin/i386-linux/dvi2tty
index 73b408f38b2..6561c026f08 100755
--- a/Master/bin/i386-linux/dvi2tty
+++ b/Master/bin/i386-linux/dvi2tty
Binary files differ
diff --git a/Master/bin/i386-linux/dvicopy b/Master/bin/i386-linux/dvicopy
index 6fc51066519..a297a46d6d9 100755
--- a/Master/bin/i386-linux/dvicopy
+++ b/Master/bin/i386-linux/dvicopy
Binary files differ
diff --git a/Master/bin/i386-linux/dvilj b/Master/bin/i386-linux/dvilj
index bb6349f3ef0..958f2e91831 100755
--- a/Master/bin/i386-linux/dvilj
+++ b/Master/bin/i386-linux/dvilj
Binary files differ
diff --git a/Master/bin/i386-linux/dvilj2p b/Master/bin/i386-linux/dvilj2p
index f078b5ec0e4..86e341c14dc 100755
--- a/Master/bin/i386-linux/dvilj2p
+++ b/Master/bin/i386-linux/dvilj2p
Binary files differ
diff --git a/Master/bin/i386-linux/dvilj4 b/Master/bin/i386-linux/dvilj4
index 236c0aaf7ad..f66b7a1afa9 100755
--- a/Master/bin/i386-linux/dvilj4
+++ b/Master/bin/i386-linux/dvilj4
Binary files differ
diff --git a/Master/bin/i386-linux/dvilj4l b/Master/bin/i386-linux/dvilj4l
index fa4faf3bd5d..862138c992f 100755
--- a/Master/bin/i386-linux/dvilj4l
+++ b/Master/bin/i386-linux/dvilj4l
Binary files differ
diff --git a/Master/bin/i386-linux/dvipdfmx b/Master/bin/i386-linux/dvipdfmx
index c32de5b4484..543bea89c5d 100755
--- a/Master/bin/i386-linux/dvipdfmx
+++ b/Master/bin/i386-linux/dvipdfmx
Binary files differ
diff --git a/Master/bin/i386-linux/dvipng b/Master/bin/i386-linux/dvipng
index ba62a88833c..b8262d2c292 100755
--- a/Master/bin/i386-linux/dvipng
+++ b/Master/bin/i386-linux/dvipng
Binary files differ
diff --git a/Master/bin/i386-linux/dvipos b/Master/bin/i386-linux/dvipos
index 479c062f80d..ecbea5f1e27 100755
--- a/Master/bin/i386-linux/dvipos
+++ b/Master/bin/i386-linux/dvipos
Binary files differ
diff --git a/Master/bin/i386-linux/dvips b/Master/bin/i386-linux/dvips
index 8f1b17628b9..566d4b415d3 100755
--- a/Master/bin/i386-linux/dvips
+++ b/Master/bin/i386-linux/dvips
Binary files differ
diff --git a/Master/bin/i386-linux/dvisvgm b/Master/bin/i386-linux/dvisvgm
index 7e7a8350a7f..f3a3813174f 100755
--- a/Master/bin/i386-linux/dvisvgm
+++ b/Master/bin/i386-linux/dvisvgm
Binary files differ
diff --git a/Master/bin/i386-linux/dvitype b/Master/bin/i386-linux/dvitype
index 88d6027db02..4a3aab7a13f 100755
--- a/Master/bin/i386-linux/dvitype
+++ b/Master/bin/i386-linux/dvitype
Binary files differ
diff --git a/Master/bin/i386-linux/eptex b/Master/bin/i386-linux/eptex
index 7c1ee2e4460..141e4a929b3 100755
--- a/Master/bin/i386-linux/eptex
+++ b/Master/bin/i386-linux/eptex
Binary files differ
diff --git a/Master/bin/i386-linux/gftodvi b/Master/bin/i386-linux/gftodvi
index c6b10fc85bd..a9a0a4dce86 100755
--- a/Master/bin/i386-linux/gftodvi
+++ b/Master/bin/i386-linux/gftodvi
Binary files differ
diff --git a/Master/bin/i386-linux/gftopk b/Master/bin/i386-linux/gftopk
index 28e50be3cc2..602a2401635 100755
--- a/Master/bin/i386-linux/gftopk
+++ b/Master/bin/i386-linux/gftopk
Binary files differ
diff --git a/Master/bin/i386-linux/gftype b/Master/bin/i386-linux/gftype
index 063c86183b0..5ed6f7075c3 100755
--- a/Master/bin/i386-linux/gftype
+++ b/Master/bin/i386-linux/gftype
Binary files differ
diff --git a/Master/bin/i386-linux/gsftopk b/Master/bin/i386-linux/gsftopk
index 02f8b4ec84d..d1a0ba4eeea 100755
--- a/Master/bin/i386-linux/gsftopk
+++ b/Master/bin/i386-linux/gsftopk
Binary files differ
diff --git a/Master/bin/i386-linux/hbf2gf b/Master/bin/i386-linux/hbf2gf
index c2cbb37aecb..6534a2513a9 100755
--- a/Master/bin/i386-linux/hbf2gf
+++ b/Master/bin/i386-linux/hbf2gf
Binary files differ
diff --git a/Master/bin/i386-linux/luatex b/Master/bin/i386-linux/luatex
index c31fae26c1f..629d96bcf2e 100755
--- a/Master/bin/i386-linux/luatex
+++ b/Master/bin/i386-linux/luatex
Binary files differ
diff --git a/Master/bin/i386-linux/makeindex b/Master/bin/i386-linux/makeindex
index 4b22cc4b50e..fb85bb56f75 100755
--- a/Master/bin/i386-linux/makeindex
+++ b/Master/bin/i386-linux/makeindex
Binary files differ
diff --git a/Master/bin/i386-linux/makejvf b/Master/bin/i386-linux/makejvf
index dbe157712a1..201e1790ee8 100755
--- a/Master/bin/i386-linux/makejvf
+++ b/Master/bin/i386-linux/makejvf
Binary files differ
diff --git a/Master/bin/i386-linux/mendex b/Master/bin/i386-linux/mendex
index 7aba46da0bb..6a118e9e0ea 100755
--- a/Master/bin/i386-linux/mendex
+++ b/Master/bin/i386-linux/mendex
Binary files differ
diff --git a/Master/bin/i386-linux/mf b/Master/bin/i386-linux/mf
index 454fcb4179e..0ef9ecd3e67 100755
--- a/Master/bin/i386-linux/mf
+++ b/Master/bin/i386-linux/mf
Binary files differ
diff --git a/Master/bin/i386-linux/mf-nowin b/Master/bin/i386-linux/mf-nowin
index 58d62737d22..c5ba50817ec 100755
--- a/Master/bin/i386-linux/mf-nowin
+++ b/Master/bin/i386-linux/mf-nowin
Binary files differ
diff --git a/Master/bin/i386-linux/mft b/Master/bin/i386-linux/mft
index f262255b900..65b4fd08c5a 100755
--- a/Master/bin/i386-linux/mft
+++ b/Master/bin/i386-linux/mft
Binary files differ
diff --git a/Master/bin/i386-linux/mpost b/Master/bin/i386-linux/mpost
index dfb69552a8c..be3360ef737 100755
--- a/Master/bin/i386-linux/mpost
+++ b/Master/bin/i386-linux/mpost
Binary files differ
diff --git a/Master/bin/i386-linux/odvicopy b/Master/bin/i386-linux/odvicopy
index 59b13a60a66..d1405edcb21 100755
--- a/Master/bin/i386-linux/odvicopy
+++ b/Master/bin/i386-linux/odvicopy
Binary files differ
diff --git a/Master/bin/i386-linux/odvitype b/Master/bin/i386-linux/odvitype
index a90a08893fd..7de33a175cb 100755
--- a/Master/bin/i386-linux/odvitype
+++ b/Master/bin/i386-linux/odvitype
Binary files differ
diff --git a/Master/bin/i386-linux/omfonts b/Master/bin/i386-linux/omfonts
index 9be2a7ca35f..847d3dcf053 100755
--- a/Master/bin/i386-linux/omfonts
+++ b/Master/bin/i386-linux/omfonts
Binary files differ
diff --git a/Master/bin/i386-linux/otangle b/Master/bin/i386-linux/otangle
index b8e8fff21e9..b60aaeec3e2 100755
--- a/Master/bin/i386-linux/otangle
+++ b/Master/bin/i386-linux/otangle
Binary files differ
diff --git a/Master/bin/i386-linux/otftotfm b/Master/bin/i386-linux/otftotfm
index 436e88c4686..1e89c651874 100755
--- a/Master/bin/i386-linux/otftotfm
+++ b/Master/bin/i386-linux/otftotfm
Binary files differ
diff --git a/Master/bin/i386-linux/otp2ocp b/Master/bin/i386-linux/otp2ocp
index 07e44773047..c4d38034032 100755
--- a/Master/bin/i386-linux/otp2ocp
+++ b/Master/bin/i386-linux/otp2ocp
Binary files differ
diff --git a/Master/bin/i386-linux/outocp b/Master/bin/i386-linux/outocp
index 626650c8188..ad8c2275f74 100755
--- a/Master/bin/i386-linux/outocp
+++ b/Master/bin/i386-linux/outocp
Binary files differ
diff --git a/Master/bin/i386-linux/pbibtex b/Master/bin/i386-linux/pbibtex
index 85b1d309577..3b7c0a57df7 100755
--- a/Master/bin/i386-linux/pbibtex
+++ b/Master/bin/i386-linux/pbibtex
Binary files differ
diff --git a/Master/bin/i386-linux/pdftex b/Master/bin/i386-linux/pdftex
index 8137d261219..e0905257738 100755
--- a/Master/bin/i386-linux/pdftex
+++ b/Master/bin/i386-linux/pdftex
Binary files differ
diff --git a/Master/bin/i386-linux/pdvitype b/Master/bin/i386-linux/pdvitype
index c3530b98b25..87f84a967d3 100755
--- a/Master/bin/i386-linux/pdvitype
+++ b/Master/bin/i386-linux/pdvitype
Binary files differ
diff --git a/Master/bin/i386-linux/pktogf b/Master/bin/i386-linux/pktogf
index c87d7e07a44..64ef6197291 100755
--- a/Master/bin/i386-linux/pktogf
+++ b/Master/bin/i386-linux/pktogf
Binary files differ
diff --git a/Master/bin/i386-linux/pktype b/Master/bin/i386-linux/pktype
index 5eaedb53e91..35ba6ab871f 100755
--- a/Master/bin/i386-linux/pktype
+++ b/Master/bin/i386-linux/pktype
Binary files differ
diff --git a/Master/bin/i386-linux/ppltotf b/Master/bin/i386-linux/ppltotf
index 8a4580aef57..467698e14f8 100755
--- a/Master/bin/i386-linux/ppltotf
+++ b/Master/bin/i386-linux/ppltotf
Binary files differ
diff --git a/Master/bin/i386-linux/ps2pk b/Master/bin/i386-linux/ps2pk
index 0b64734e866..cddd84fb706 100755
--- a/Master/bin/i386-linux/ps2pk
+++ b/Master/bin/i386-linux/ps2pk
Binary files differ
diff --git a/Master/bin/i386-linux/ptex b/Master/bin/i386-linux/ptex
index 42e6482245d..c9910928f45 100755
--- a/Master/bin/i386-linux/ptex
+++ b/Master/bin/i386-linux/ptex
Binary files differ
diff --git a/Master/bin/i386-linux/ptftopl b/Master/bin/i386-linux/ptftopl
index 968c6fb07c7..ad247f1f743 100755
--- a/Master/bin/i386-linux/ptftopl
+++ b/Master/bin/i386-linux/ptftopl
Binary files differ
diff --git a/Master/bin/i386-linux/synctex b/Master/bin/i386-linux/synctex
index 8d38b195e7f..d75042c95e6 100755
--- a/Master/bin/i386-linux/synctex
+++ b/Master/bin/i386-linux/synctex
Binary files differ
diff --git a/Master/bin/i386-linux/t4ht b/Master/bin/i386-linux/t4ht
index 1032f3ea614..0cc7b23052f 100755
--- a/Master/bin/i386-linux/t4ht
+++ b/Master/bin/i386-linux/t4ht
Binary files differ
diff --git a/Master/bin/i386-linux/tangle b/Master/bin/i386-linux/tangle
index b0832b6fea9..ee394fc6f41 100755
--- a/Master/bin/i386-linux/tangle
+++ b/Master/bin/i386-linux/tangle
Binary files differ
diff --git a/Master/bin/i386-linux/tex b/Master/bin/i386-linux/tex
index 9a46b88b3f8..33e5a1f562e 100755
--- a/Master/bin/i386-linux/tex
+++ b/Master/bin/i386-linux/tex
Binary files differ
diff --git a/Master/bin/i386-linux/tex4ht b/Master/bin/i386-linux/tex4ht
index afe0b716baf..66f6f1b2e14 100755
--- a/Master/bin/i386-linux/tex4ht
+++ b/Master/bin/i386-linux/tex4ht
Binary files differ
diff --git a/Master/bin/i386-linux/tftopl b/Master/bin/i386-linux/tftopl
index 93f4a8335ce..afbae896053 100755
--- a/Master/bin/i386-linux/tftopl
+++ b/Master/bin/i386-linux/tftopl
Binary files differ
diff --git a/Master/bin/i386-linux/tie b/Master/bin/i386-linux/tie
index 3829e6282d4..300d1cc2262 100755
--- a/Master/bin/i386-linux/tie
+++ b/Master/bin/i386-linux/tie
Binary files differ
diff --git a/Master/bin/i386-linux/tpic2pdftex b/Master/bin/i386-linux/tpic2pdftex
index 16fef2c8fff..412dc0d771f 100755
--- a/Master/bin/i386-linux/tpic2pdftex
+++ b/Master/bin/i386-linux/tpic2pdftex
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: tpic2pdftex,v 1.97 2010/01/16 11:51:43 hahe Exp $
+# $Id: tpic2pdftex 22938 2011-06-12 22:03:14Z karl $
#
# Experimental awk-script for conversion of tpic \specials as produced
# by (groff-)pic into pdfTeX \pdfliteral sections for further processing
@@ -40,6 +40,8 @@
# hartmut_henkel@gmx.de
#
# NEWS:
+# 11 Jun. 2011 - sh construct portability
+# (patch from Nelson Beebe)
# 24 Dec. 2009 - use gawk for default awk only if it exists
# (patch by Karl Berry).
# 14 Jan. 2007 - make it executable shell script, calling awk
diff --git a/Master/bin/i386-linux/ttf2afm b/Master/bin/i386-linux/ttf2afm
index be0cfb82474..5b562e19352 100755
--- a/Master/bin/i386-linux/ttf2afm
+++ b/Master/bin/i386-linux/ttf2afm
Binary files differ
diff --git a/Master/bin/i386-linux/ttf2pk b/Master/bin/i386-linux/ttf2pk
index cbb8de4db9e..de05a02bb92 100755
--- a/Master/bin/i386-linux/ttf2pk
+++ b/Master/bin/i386-linux/ttf2pk
Binary files differ
diff --git a/Master/bin/i386-linux/ttf2tfm b/Master/bin/i386-linux/ttf2tfm
index 11185695bf2..735b610f8bc 100755
--- a/Master/bin/i386-linux/ttf2tfm
+++ b/Master/bin/i386-linux/ttf2tfm
Binary files differ
diff --git a/Master/bin/i386-linux/vftovp b/Master/bin/i386-linux/vftovp
index ab6ce7cd6be..1eccb0729a4 100755
--- a/Master/bin/i386-linux/vftovp
+++ b/Master/bin/i386-linux/vftovp
Binary files differ
diff --git a/Master/bin/i386-linux/weave b/Master/bin/i386-linux/weave
index e37dec8e2da..9bf39cbf775 100755
--- a/Master/bin/i386-linux/weave
+++ b/Master/bin/i386-linux/weave
Binary files differ
diff --git a/Master/bin/i386-linux/xdvi-xaw b/Master/bin/i386-linux/xdvi-xaw
index 7f4444e29e6..76b4c2d46bb 100755
--- a/Master/bin/i386-linux/xdvi-xaw
+++ b/Master/bin/i386-linux/xdvi-xaw
Binary files differ
diff --git a/Master/bin/i386-linux/xdvipdfmx b/Master/bin/i386-linux/xdvipdfmx
index e47ba3e2c2e..77b8727bf67 100755
--- a/Master/bin/i386-linux/xdvipdfmx
+++ b/Master/bin/i386-linux/xdvipdfmx
Binary files differ
diff --git a/Master/bin/i386-linux/xetex b/Master/bin/i386-linux/xetex
index 565ce8e18c8..57d966cea5e 100755
--- a/Master/bin/i386-linux/xetex
+++ b/Master/bin/i386-linux/xetex
Binary files differ
diff --git a/Master/bin/sparc-linux/afm2pl b/Master/bin/sparc-linux/afm2pl
index ba8ae9db661..3b5856017d9 100755
--- a/Master/bin/sparc-linux/afm2pl
+++ b/Master/bin/sparc-linux/afm2pl
Binary files differ
diff --git a/Master/bin/sparc-linux/afm2tfm b/Master/bin/sparc-linux/afm2tfm
index 9a3a3bb7aad..5a2725dd143 100755
--- a/Master/bin/sparc-linux/afm2tfm
+++ b/Master/bin/sparc-linux/afm2tfm
Binary files differ
diff --git a/Master/bin/sparc-linux/aleph b/Master/bin/sparc-linux/aleph
index 8ef54254b86..cd088d2dd0d 100755
--- a/Master/bin/sparc-linux/aleph
+++ b/Master/bin/sparc-linux/aleph
Binary files differ
diff --git a/Master/bin/sparc-linux/bibtex b/Master/bin/sparc-linux/bibtex
index 9493152de21..5fadd853b6b 100755
--- a/Master/bin/sparc-linux/bibtex
+++ b/Master/bin/sparc-linux/bibtex
Binary files differ
diff --git a/Master/bin/sparc-linux/bibtex8 b/Master/bin/sparc-linux/bibtex8
index ec353aeefe8..2824d13d8e2 100755
--- a/Master/bin/sparc-linux/bibtex8
+++ b/Master/bin/sparc-linux/bibtex8
Binary files differ
diff --git a/Master/bin/sparc-linux/bibtexu b/Master/bin/sparc-linux/bibtexu
index fa48cc6ace3..8c78dca443b 100755
--- a/Master/bin/sparc-linux/bibtexu
+++ b/Master/bin/sparc-linux/bibtexu
Binary files differ
diff --git a/Master/bin/sparc-linux/ctangle b/Master/bin/sparc-linux/ctangle
index 2d663028c6e..2ffebe151df 100755
--- a/Master/bin/sparc-linux/ctangle
+++ b/Master/bin/sparc-linux/ctangle
Binary files differ
diff --git a/Master/bin/sparc-linux/ctie b/Master/bin/sparc-linux/ctie
index 4a8b033d0d0..0ffe52dc6a1 100755
--- a/Master/bin/sparc-linux/ctie
+++ b/Master/bin/sparc-linux/ctie
Binary files differ
diff --git a/Master/bin/sparc-linux/cweave b/Master/bin/sparc-linux/cweave
index 4f7906fbcbf..b01e9805309 100755
--- a/Master/bin/sparc-linux/cweave
+++ b/Master/bin/sparc-linux/cweave
Binary files differ
diff --git a/Master/bin/sparc-linux/detex b/Master/bin/sparc-linux/detex
index 35d05c1632c..f6dc995d4cc 100755
--- a/Master/bin/sparc-linux/detex
+++ b/Master/bin/sparc-linux/detex
Binary files differ
diff --git a/Master/bin/sparc-linux/dvi2tty b/Master/bin/sparc-linux/dvi2tty
index 888bbeb5b42..6116b11c717 100755
--- a/Master/bin/sparc-linux/dvi2tty
+++ b/Master/bin/sparc-linux/dvi2tty
Binary files differ
diff --git a/Master/bin/sparc-linux/dvicopy b/Master/bin/sparc-linux/dvicopy
index 7d98cdc1371..24e45b7216d 100755
--- a/Master/bin/sparc-linux/dvicopy
+++ b/Master/bin/sparc-linux/dvicopy
Binary files differ
diff --git a/Master/bin/sparc-linux/dvilj b/Master/bin/sparc-linux/dvilj
index f01e7e1ab8c..037a26c520d 100755
--- a/Master/bin/sparc-linux/dvilj
+++ b/Master/bin/sparc-linux/dvilj
Binary files differ
diff --git a/Master/bin/sparc-linux/dvilj2p b/Master/bin/sparc-linux/dvilj2p
index 81d829569ec..522a81becf9 100755
--- a/Master/bin/sparc-linux/dvilj2p
+++ b/Master/bin/sparc-linux/dvilj2p
Binary files differ
diff --git a/Master/bin/sparc-linux/dvilj4 b/Master/bin/sparc-linux/dvilj4
index 6a92735e24d..1b72da7623d 100755
--- a/Master/bin/sparc-linux/dvilj4
+++ b/Master/bin/sparc-linux/dvilj4
Binary files differ
diff --git a/Master/bin/sparc-linux/dvilj4l b/Master/bin/sparc-linux/dvilj4l
index d5b31b0a7be..4283a2e80e5 100755
--- a/Master/bin/sparc-linux/dvilj4l
+++ b/Master/bin/sparc-linux/dvilj4l
Binary files differ
diff --git a/Master/bin/sparc-linux/dvipdfmx b/Master/bin/sparc-linux/dvipdfmx
index f5514080225..182251c2c1e 100755
--- a/Master/bin/sparc-linux/dvipdfmx
+++ b/Master/bin/sparc-linux/dvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-linux/dvipng b/Master/bin/sparc-linux/dvipng
index 689994ee9dc..2d02c2a36d3 100755
--- a/Master/bin/sparc-linux/dvipng
+++ b/Master/bin/sparc-linux/dvipng
Binary files differ
diff --git a/Master/bin/sparc-linux/dvipos b/Master/bin/sparc-linux/dvipos
index e16ea341761..e44842c9703 100755
--- a/Master/bin/sparc-linux/dvipos
+++ b/Master/bin/sparc-linux/dvipos
Binary files differ
diff --git a/Master/bin/sparc-linux/dvips b/Master/bin/sparc-linux/dvips
index a4f90859895..a907d283feb 100755
--- a/Master/bin/sparc-linux/dvips
+++ b/Master/bin/sparc-linux/dvips
Binary files differ
diff --git a/Master/bin/sparc-linux/dvisvgm b/Master/bin/sparc-linux/dvisvgm
index ac483f4af8e..b20dfbf2d54 100755
--- a/Master/bin/sparc-linux/dvisvgm
+++ b/Master/bin/sparc-linux/dvisvgm
Binary files differ
diff --git a/Master/bin/sparc-linux/dvitype b/Master/bin/sparc-linux/dvitype
index a26df3af645..f5f1b38d162 100755
--- a/Master/bin/sparc-linux/dvitype
+++ b/Master/bin/sparc-linux/dvitype
Binary files differ
diff --git a/Master/bin/sparc-linux/eptex b/Master/bin/sparc-linux/eptex
index 2643123e386..30d920f4cff 100755
--- a/Master/bin/sparc-linux/eptex
+++ b/Master/bin/sparc-linux/eptex
Binary files differ
diff --git a/Master/bin/sparc-linux/gftodvi b/Master/bin/sparc-linux/gftodvi
index 44d0d50bb4d..2e13296c3fb 100755
--- a/Master/bin/sparc-linux/gftodvi
+++ b/Master/bin/sparc-linux/gftodvi
Binary files differ
diff --git a/Master/bin/sparc-linux/gftopk b/Master/bin/sparc-linux/gftopk
index a624fdefcbc..e19d3e28515 100755
--- a/Master/bin/sparc-linux/gftopk
+++ b/Master/bin/sparc-linux/gftopk
Binary files differ
diff --git a/Master/bin/sparc-linux/gftype b/Master/bin/sparc-linux/gftype
index 879cb73b4db..77f8a709c31 100755
--- a/Master/bin/sparc-linux/gftype
+++ b/Master/bin/sparc-linux/gftype
Binary files differ
diff --git a/Master/bin/sparc-linux/gsftopk b/Master/bin/sparc-linux/gsftopk
index 0b8f832a215..d6b422f4cc6 100755
--- a/Master/bin/sparc-linux/gsftopk
+++ b/Master/bin/sparc-linux/gsftopk
Binary files differ
diff --git a/Master/bin/sparc-linux/hbf2gf b/Master/bin/sparc-linux/hbf2gf
index 95dec8f9020..1a10f432407 100755
--- a/Master/bin/sparc-linux/hbf2gf
+++ b/Master/bin/sparc-linux/hbf2gf
Binary files differ
diff --git a/Master/bin/sparc-linux/kpsewhich b/Master/bin/sparc-linux/kpsewhich
index e7fb8293d7b..cbb55e1f3ca 100755
--- a/Master/bin/sparc-linux/kpsewhich
+++ b/Master/bin/sparc-linux/kpsewhich
Binary files differ
diff --git a/Master/bin/sparc-linux/luatex b/Master/bin/sparc-linux/luatex
index f5beb2d3ec0..360c0ab5ada 100755
--- a/Master/bin/sparc-linux/luatex
+++ b/Master/bin/sparc-linux/luatex
Binary files differ
diff --git a/Master/bin/sparc-linux/makeindex b/Master/bin/sparc-linux/makeindex
index a7bc3a2ede4..97e7a3bf7f0 100755
--- a/Master/bin/sparc-linux/makeindex
+++ b/Master/bin/sparc-linux/makeindex
Binary files differ
diff --git a/Master/bin/sparc-linux/makejvf b/Master/bin/sparc-linux/makejvf
index 9871d0a3d3f..3a9354663f8 100755
--- a/Master/bin/sparc-linux/makejvf
+++ b/Master/bin/sparc-linux/makejvf
Binary files differ
diff --git a/Master/bin/sparc-linux/mendex b/Master/bin/sparc-linux/mendex
index df48e8010d9..b76ffebbc3c 100755
--- a/Master/bin/sparc-linux/mendex
+++ b/Master/bin/sparc-linux/mendex
Binary files differ
diff --git a/Master/bin/sparc-linux/mf b/Master/bin/sparc-linux/mf
index 0a4076eb26b..5dd6976890a 100755
--- a/Master/bin/sparc-linux/mf
+++ b/Master/bin/sparc-linux/mf
Binary files differ
diff --git a/Master/bin/sparc-linux/mf-nowin b/Master/bin/sparc-linux/mf-nowin
index b5682b12d77..21782c1489a 100755
--- a/Master/bin/sparc-linux/mf-nowin
+++ b/Master/bin/sparc-linux/mf-nowin
Binary files differ
diff --git a/Master/bin/sparc-linux/mft b/Master/bin/sparc-linux/mft
index d1a138ccc70..32b41cd82c6 100755
--- a/Master/bin/sparc-linux/mft
+++ b/Master/bin/sparc-linux/mft
Binary files differ
diff --git a/Master/bin/sparc-linux/mpost b/Master/bin/sparc-linux/mpost
index 8ae3e3d6512..9e186473ca4 100755
--- a/Master/bin/sparc-linux/mpost
+++ b/Master/bin/sparc-linux/mpost
Binary files differ
diff --git a/Master/bin/sparc-linux/odvicopy b/Master/bin/sparc-linux/odvicopy
index 74fe3f258b8..2aa3f0a7978 100755
--- a/Master/bin/sparc-linux/odvicopy
+++ b/Master/bin/sparc-linux/odvicopy
Binary files differ
diff --git a/Master/bin/sparc-linux/odvitype b/Master/bin/sparc-linux/odvitype
index 9b2b98e67b1..3421ad7210d 100755
--- a/Master/bin/sparc-linux/odvitype
+++ b/Master/bin/sparc-linux/odvitype
Binary files differ
diff --git a/Master/bin/sparc-linux/omfonts b/Master/bin/sparc-linux/omfonts
index 1da6b0dcd44..065e3f4f577 100755
--- a/Master/bin/sparc-linux/omfonts
+++ b/Master/bin/sparc-linux/omfonts
Binary files differ
diff --git a/Master/bin/sparc-linux/otangle b/Master/bin/sparc-linux/otangle
index acbd9d06dc7..ad21517e152 100755
--- a/Master/bin/sparc-linux/otangle
+++ b/Master/bin/sparc-linux/otangle
Binary files differ
diff --git a/Master/bin/sparc-linux/otftotfm b/Master/bin/sparc-linux/otftotfm
index 94cf9fde720..aa6174c10b4 100755
--- a/Master/bin/sparc-linux/otftotfm
+++ b/Master/bin/sparc-linux/otftotfm
Binary files differ
diff --git a/Master/bin/sparc-linux/otp2ocp b/Master/bin/sparc-linux/otp2ocp
index 92cf9e0e938..1d734735ced 100755
--- a/Master/bin/sparc-linux/otp2ocp
+++ b/Master/bin/sparc-linux/otp2ocp
Binary files differ
diff --git a/Master/bin/sparc-linux/outocp b/Master/bin/sparc-linux/outocp
index db6e527d875..dc33f86ad4f 100755
--- a/Master/bin/sparc-linux/outocp
+++ b/Master/bin/sparc-linux/outocp
Binary files differ
diff --git a/Master/bin/sparc-linux/pbibtex b/Master/bin/sparc-linux/pbibtex
index 284cb3ce7ae..95bfbdc6e4e 100755
--- a/Master/bin/sparc-linux/pbibtex
+++ b/Master/bin/sparc-linux/pbibtex
Binary files differ
diff --git a/Master/bin/sparc-linux/pdftex b/Master/bin/sparc-linux/pdftex
index 3b1bb7753e2..cdb48d1efbe 100755
--- a/Master/bin/sparc-linux/pdftex
+++ b/Master/bin/sparc-linux/pdftex
Binary files differ
diff --git a/Master/bin/sparc-linux/pdvitype b/Master/bin/sparc-linux/pdvitype
index 6272e11f532..6bd4b071666 100755
--- a/Master/bin/sparc-linux/pdvitype
+++ b/Master/bin/sparc-linux/pdvitype
Binary files differ
diff --git a/Master/bin/sparc-linux/pktogf b/Master/bin/sparc-linux/pktogf
index 35a51673955..6479e78dd55 100755
--- a/Master/bin/sparc-linux/pktogf
+++ b/Master/bin/sparc-linux/pktogf
Binary files differ
diff --git a/Master/bin/sparc-linux/pktype b/Master/bin/sparc-linux/pktype
index a966380d177..87c6cab1830 100755
--- a/Master/bin/sparc-linux/pktype
+++ b/Master/bin/sparc-linux/pktype
Binary files differ
diff --git a/Master/bin/sparc-linux/ppltotf b/Master/bin/sparc-linux/ppltotf
index 48e23672000..bad0850123c 100755
--- a/Master/bin/sparc-linux/ppltotf
+++ b/Master/bin/sparc-linux/ppltotf
Binary files differ
diff --git a/Master/bin/sparc-linux/ps2pk b/Master/bin/sparc-linux/ps2pk
index dea82861bd6..17ca09fcb21 100755
--- a/Master/bin/sparc-linux/ps2pk
+++ b/Master/bin/sparc-linux/ps2pk
Binary files differ
diff --git a/Master/bin/sparc-linux/ptex b/Master/bin/sparc-linux/ptex
index 2727523bc1d..3e3ef3a745a 100755
--- a/Master/bin/sparc-linux/ptex
+++ b/Master/bin/sparc-linux/ptex
Binary files differ
diff --git a/Master/bin/sparc-linux/ptftopl b/Master/bin/sparc-linux/ptftopl
index e72f6ea830a..8215cf62883 100755
--- a/Master/bin/sparc-linux/ptftopl
+++ b/Master/bin/sparc-linux/ptftopl
Binary files differ
diff --git a/Master/bin/sparc-linux/synctex b/Master/bin/sparc-linux/synctex
index a091e93d6b3..6dd4c72f873 100755
--- a/Master/bin/sparc-linux/synctex
+++ b/Master/bin/sparc-linux/synctex
Binary files differ
diff --git a/Master/bin/sparc-linux/t4ht b/Master/bin/sparc-linux/t4ht
index e327efe2678..34ed4308dca 100755
--- a/Master/bin/sparc-linux/t4ht
+++ b/Master/bin/sparc-linux/t4ht
Binary files differ
diff --git a/Master/bin/sparc-linux/tangle b/Master/bin/sparc-linux/tangle
index b47a994c533..c77390a12d7 100755
--- a/Master/bin/sparc-linux/tangle
+++ b/Master/bin/sparc-linux/tangle
Binary files differ
diff --git a/Master/bin/sparc-linux/tex b/Master/bin/sparc-linux/tex
index 281e5a3890e..a332cfcd3bb 100755
--- a/Master/bin/sparc-linux/tex
+++ b/Master/bin/sparc-linux/tex
Binary files differ
diff --git a/Master/bin/sparc-linux/tex4ht b/Master/bin/sparc-linux/tex4ht
index fb8787c72b1..c41e93031aa 100755
--- a/Master/bin/sparc-linux/tex4ht
+++ b/Master/bin/sparc-linux/tex4ht
Binary files differ
diff --git a/Master/bin/sparc-linux/tftopl b/Master/bin/sparc-linux/tftopl
index 1cb6ebb37be..15089df838d 100755
--- a/Master/bin/sparc-linux/tftopl
+++ b/Master/bin/sparc-linux/tftopl
Binary files differ
diff --git a/Master/bin/sparc-linux/tie b/Master/bin/sparc-linux/tie
index df08ef2d907..3d45a713004 100755
--- a/Master/bin/sparc-linux/tie
+++ b/Master/bin/sparc-linux/tie
Binary files differ
diff --git a/Master/bin/sparc-linux/tpic2pdftex b/Master/bin/sparc-linux/tpic2pdftex
index 16fef2c8fff..412dc0d771f 100755
--- a/Master/bin/sparc-linux/tpic2pdftex
+++ b/Master/bin/sparc-linux/tpic2pdftex
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $Id: tpic2pdftex,v 1.97 2010/01/16 11:51:43 hahe Exp $
+# $Id: tpic2pdftex 22938 2011-06-12 22:03:14Z karl $
#
# Experimental awk-script for conversion of tpic \specials as produced
# by (groff-)pic into pdfTeX \pdfliteral sections for further processing
@@ -40,6 +40,8 @@
# hartmut_henkel@gmx.de
#
# NEWS:
+# 11 Jun. 2011 - sh construct portability
+# (patch from Nelson Beebe)
# 24 Dec. 2009 - use gawk for default awk only if it exists
# (patch by Karl Berry).
# 14 Jan. 2007 - make it executable shell script, calling awk
diff --git a/Master/bin/sparc-linux/ttf2afm b/Master/bin/sparc-linux/ttf2afm
index 38520160e9d..178ae08efaa 100755
--- a/Master/bin/sparc-linux/ttf2afm
+++ b/Master/bin/sparc-linux/ttf2afm
Binary files differ
diff --git a/Master/bin/sparc-linux/ttf2pk b/Master/bin/sparc-linux/ttf2pk
index f8f18887f10..5d746d03462 100755
--- a/Master/bin/sparc-linux/ttf2pk
+++ b/Master/bin/sparc-linux/ttf2pk
Binary files differ
diff --git a/Master/bin/sparc-linux/ttf2tfm b/Master/bin/sparc-linux/ttf2tfm
index f6a3364a344..ec6aed67475 100755
--- a/Master/bin/sparc-linux/ttf2tfm
+++ b/Master/bin/sparc-linux/ttf2tfm
Binary files differ
diff --git a/Master/bin/sparc-linux/vftovp b/Master/bin/sparc-linux/vftovp
index f9b1298b108..82e429ffcd4 100755
--- a/Master/bin/sparc-linux/vftovp
+++ b/Master/bin/sparc-linux/vftovp
Binary files differ
diff --git a/Master/bin/sparc-linux/weave b/Master/bin/sparc-linux/weave
index 12d535140b6..052fced24ce 100755
--- a/Master/bin/sparc-linux/weave
+++ b/Master/bin/sparc-linux/weave
Binary files differ
diff --git a/Master/bin/sparc-linux/xdvi-xaw b/Master/bin/sparc-linux/xdvi-xaw
index 2516efe50cf..bc68f4db19d 100755
--- a/Master/bin/sparc-linux/xdvi-xaw
+++ b/Master/bin/sparc-linux/xdvi-xaw
Binary files differ
diff --git a/Master/bin/sparc-linux/xdvipdfmx b/Master/bin/sparc-linux/xdvipdfmx
index 25679812902..efff33954cc 100755
--- a/Master/bin/sparc-linux/xdvipdfmx
+++ b/Master/bin/sparc-linux/xdvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-linux/xetex b/Master/bin/sparc-linux/xetex
index 5f2430f150e..bd4c793162b 100755
--- a/Master/bin/sparc-linux/xetex
+++ b/Master/bin/sparc-linux/xetex
Binary files differ
diff --git a/Master/texmf-dist/doc/support/pkfix-helper/README b/Master/texmf-dist/doc/support/pkfix-helper/README
index 76a3b58ae71..7682a6ccad0 100644
--- a/Master/texmf-dist/doc/support/pkfix-helper/README
+++ b/Master/texmf-dist/doc/support/pkfix-helper/README
@@ -42,17 +42,11 @@ encoding-samples.pdf) and install the Unix man page (pkfix-helper.1).
At a minimum, you should *read* the documentation; pkfix-helper usage
is neither completely automatic nor completely intuitive.
-As the pkfix README states, "I have only tested with a few test files
-on a Linux machine with teTeX." The same is true for pkfix-helper.
-In particular, I don't know what needs to be done to get pkfix-helper
-to work under Windows. If you're a Windows user, you're on your own.
-Sorry. Maybe try Cygwin (http://www.cygwin.com/)?
-
Copyright and license
=====================
-Copyright (C) 2010, Scott Pakin
+Copyright (C) 2011, Scott Pakin
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
diff --git a/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.pdf b/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.pdf
index 088c4edc64f..3c73e8870b8 100644
--- a/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.pdf
+++ b/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.tex b/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.tex
index e408cf4e067..70032dd3acc 100644
--- a/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.tex
+++ b/Master/texmf-dist/doc/support/pkfix-helper/encoding-samples.tex
@@ -108,23 +108,20 @@ character, ``\infont{cmmib10}{\char17}'', is associated with
\fname{cmmi10} (the same typeface used for \fname{cmmib10} but in book
weight) at character position~17. The ``before'' character,
``\infont{cmsy9}{\char17}'', is also present in position~17 and is
-associated with \fname{cmsy10}. Therefore, we know we need to re-run
-\pkfh\ with the \verb|--force="Fj=cmsy10 @ 1.2X"| option to force it
-to associate document font~\fname{Fj} with \fname{cmsy10} instead of
+associated with \fname{cmsy10}. Therefore, we should re-run \pkfh\
+with the \verb|--force="Fj=cmsy10 @ 1.2X"| option to force it to
+associate document font~\fname{Fj} with \fname{cmsy10} instead of
\fname{cmmib10}.
-The font size may need adjusting. In the preceding example,
-\verb|--force="Fj=cmsy9"| produces less mismatch for \texttt{cmmib10~@
-1.2X} than does \verb|--force="Fj=cmsy10 @| \verb|1.2X"|
-(\texttt{mismatch=0.00106} vs.\ \texttt{mismatch=4.43701}). Making
-such a determination still requires human involvement. A suggested
-approach is to observe that \verb|--force="Fj=cmsy10 @ *"| causes
-\pkfh\ to select a scaling factor of 0.92918X for a scaled font size
-of 0.92918~$\times$ 10\,pt.~$=$ 9.2918\,pt. Noting that
-\texttt{cmsy9.tfm} exists and assuming that the document source did
-not specify a fractional scaling of the font, we can hypothesize that
-unscaled \fname{cmsy9} is the font actually utilized in the document.
-\end{multicols}
+Once the correct typeface is identified, the font size may need
+adjusting. In the preceding example, \verb|--force="Fj=cmsy9"| may
+produce less mismatch for \texttt{cmmib10~@ 1.2X} than does
+\verb|--force="Fj=cmsy10 @| \verb|1.2X"|. Making such a determination
+requires human involvement. A suggested approach is first to let
+\pkfh\ identify the size and scale automatically by specifying
+\verb|--force="Fj=cmsy*@*"|. If doing so produces a poor match or
+selects an unlikely scale factor, then the user should manually adjust
+the font size and/or scale factor. \end{multicols}
\begin{figure*}[bp]
\centering
diff --git a/Master/texmf-dist/scripts/pkfix-helper/pkfix-helper b/Master/texmf-dist/scripts/pkfix-helper/pkfix-helper
index 26d56ede05a..35782931203 100755
--- a/Master/texmf-dist/scripts/pkfix-helper/pkfix-helper
+++ b/Master/texmf-dist/scripts/pkfix-helper/pkfix-helper
@@ -17,7 +17,7 @@ use strict;
# Define some global variables.
my $progname = basename $0; # Name of this program
-our $VERSION = "1.3"; # Version number of this program
+our $VERSION = "1.4"; # Version number of this program
my %name2chars; # Map from a font name to a character list
my $GS = $ENV{"GS"} || "gs"; # Name of the Ghostscript interpreter
my $TFTOPL = $ENV{"TFTOPL"} || "tftopl"; # Name of the TFM to PL converter
@@ -46,6 +46,7 @@ my $sample_file_tex; # Name of a TeX file of font samples to write
my $single_font_use = 0; # 1=one use per font; 0=allow repetitions
my $samples_per_page = 25; # Number of font samples to print per page
my $tfm_cache_file; # Name of a file in which to cache font metrics
+my $any_scale = 0; # 0=1X, 1.1X, 1.2X, ...; 1=any scale is allowed
###########################################################################
@@ -85,17 +86,20 @@ sub read_tfm_cache_file
# $tfm_cache_file.
sub write_tfm_cache_file
{
+ my $numlines = 0;
print STDERR "Writing TFM data to $tfm_cache_file ... " if $verbose;
open(CACHEFILE, ">", $tfm_cache_file) || die "${progname}: Failed to create $tfm_cache_file ($!)\n";
while (my ($tfm, $size) = each %tfm2size) {
my @widths = %{$tfmfontwidth{$tfm}};
print CACHEFILE "$tfm $size @widths\n";
+ $numlines++;
}
foreach my $tfm (keys %tfmmissing) {
print CACHEFILE "$tfm\n";
+ $numlines++;
}
close CACHEFILE;
- print STDERR "done.\n" if $verbose;
+ print STDERR "done ($numlines entries).\n" if $verbose;
}
@@ -183,8 +187,14 @@ sub optimal_scale ($$)
$doc_dot_tfm += $docwidth * $tfmwidth;
$tfm_dot_tfm += $tfmwidth**2;
}
- return 1.0 if $tfm_dot_tfm == 0.0; # TFM characters all have zero width.
- return $doc_dot_tfm / $tfm_dot_tfm;
+ return 1.0 if $tfm_dot_tfm == 0.0; # Handle TFM characters that all have zero width.
+ my $optscale = $doc_dot_tfm / $tfm_dot_tfm;
+ unless ($any_scale) {
+ # Allow only values >= 1.0 and only multiples of 0.1.
+ return 1.0 if $optscale < 1.0;
+ $optscale = int($optscale*10 + 0.5) / 10;
+ }
+ return $optscale;
}
@@ -258,18 +268,19 @@ sub texify (@)
}
-# Parse a font specification into a hash of information.
+# Parse a font specification into a list of hashes of information.
sub parse_font_spec ($)
{
my $spec = $_[0];
my $parse_error = "${progname}: Unable to parse font specification \"$spec\"\n";
- if ($spec =~ /^\s*([-\w]+)(.*)$/o) {
+ if ($spec =~ /^\s*([-\w\*]+)(.*)$/o) {
my $tfm = $1; # Name of tfm file (e.g., "cmr10")
my $scale_info = $2; # Concatenation of scale type and scale factor
my $scale_type; # "X"=multiply, "@"=assign
my $scale_amount; # How much to scale the TFM file, "*"=automatic
+ # Parse the different scale types.
if ($scale_info =~ /^\s*$/o) {
# Empty
$scale_type = 'X';
@@ -294,9 +305,25 @@ sub parse_font_spec ($)
else {
die $parse_error;
}
- return {"tfm" => $tfm,
- "scale_type" => $scale_type,
- "scale" => $scale_amount};
+
+ # If the tfm file contains a "*", replace the "*" with a
+ # variety of font sizes.
+ my @fontlist;
+ if ($tfm =~ /\*/) {
+ foreach my $fsize (5..17) {
+ my $full_tfm = $tfm;
+ $full_tfm =~ s/\*/$fsize/g;
+ push @fontlist, {"tfm" => $full_tfm,
+ "scale_type" => $scale_type,
+ "scale" => $scale_amount};
+ }
+ }
+ else {
+ push @fontlist, {"tfm" => $tfm,
+ "scale_type" => $scale_type,
+ "scale" => $scale_amount};
+ }
+ return \@fontlist;
}
die $parse_error;
}
@@ -328,6 +355,7 @@ GetOptions ("h|help" => \$wanthelp,
"p|ps=s" => \$sample_file_ps,
"s|spp=i" => \$samples_per_page,
"C|cache=s" => \$tfm_cache_file,
+ "a|any-scale!" => \$any_scale,
"1|no-repeats" => \$single_font_use) || pod2usage(2);
if ($wantversion) {
print "pkfix-helper $VERSION\n";
@@ -346,13 +374,21 @@ die "${progname}: Samples per page must be at least 1 ($samples_per_page was spe
# Convert any user-specified TFMs to the appropriate internal format.
foreach my $tfm (@extra_tfms) {
my $font_spec = parse_font_spec $tfm;
- push @tfmlist, $font_spec;
+ push @tfmlist, @$font_spec;
}
# Parse the list of forced font mappings.
foreach my $mapstr (@forced_fonts) {
$mapstr =~ /^(\w+)\s*=\s*(.*)$/ || die "${progname}: Unable to parse font specification \"$mapstr\"\n";
- $fontmatch{$1} = parse_font_spec $2;
+ my $parsed_font_spec = parse_font_spec $2;
+ if (defined $fontmatch{$1}) {
+ # Append to an existing font match.
+ $fontmatch{$1} = [@{$fontmatch{$1}}, @$parsed_font_spec];
+ }
+ else {
+ # Define a new font match,
+ $fontmatch{$1} = $parsed_font_spec;
+ }
}
# Construct a list of (possibly nonexistent) TFM files to try. These
@@ -405,6 +441,69 @@ my $entirefile;
}
print STDERR "done.\n" if $verbose;
+# Rename the fonts in each subdocument (figure).
+my @fontrenames;
+my $fignum = 1;
+my $numrenamed = 0;
+while ($entirefile =~ /(\%\%BeginDocument: (.*?)\n.*?\%\%EndDocument)/gs) {
+ my $figure = $1;
+ my $newfigure = $1;
+ my $figname = $2;
+ if ($verbose >= 2) {
+ if ($fignum == 1) {
+ print STDERR "Renaming all fonts encountered in included documents:\n";
+ }
+ print STDERR " $figname\n";
+ }
+ while ($figure =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
+ my $fontname = $1; # Name of current font (e.g., "Fa")
+ $newfigure =~ s,(?<=/)$fontname\b,${fontname}_$fignum,gs;
+ $newfigure =~ s,\b$fontname(?=\(),${fontname}_$fignum,gs;
+ $numrenamed++;
+ if ($verbose >= 2) {
+ printf STDERR " %s --> %s_%d\n", $fontname, $fontname, $fignum;
+ }
+ }
+ if ($figure ne $newfigure) {
+ # Remove the font-defining dictionary from the the subdocument
+ # as it may confuse pkfix. Store it so we can later reinsert
+ # it into the main document's font-defining dictionary.
+ my $texdict = "";
+ if ($newfigure =~ s/TeXDict begin \d+ \d+ \d+ \d+ \d+ \(.*?\)\s+\@start(.*?)end//gs) {
+ $texdict = $1;
+ }
+ else {
+ warn "${progname}: Failed to extract a font-defining TeXDict from $figname\n";
+ }
+ push @fontrenames, [$figure, $newfigure, $texdict];
+ }
+ $fignum++;
+}
+if ($verbose && $entirefile =~ /\%\%BeginDocument:/s) {
+ print STDERR "Number of Type 3 fonts encountered in included documents: $numrenamed\n";
+}
+foreach my $ren (@fontrenames) {
+ my ($before, $after, $notused) = @$ren;
+ $entirefile =~ s/\Q$before\E/$after/gs;
+}
+
+# If the document contains a subdocument with (now renamed) font
+# definitions, hoist those definitions adjacent to the main document's
+# font definitions so pkfix can find them.
+if (@fontrenames) {
+ if ($entirefile =~ /(TeXDict begin (\d+) (\d+) (\d+) (\d+) (\d+) \(.*?\)\s+\@start.*?)(?=end)/s) {
+ my $fontdict = $1;
+ my $morefonts = "";
+ foreach my $ren (@fontrenames) {
+ $morefonts .= $ren->[2];
+ }
+ $entirefile =~ s/(\Q$fontdict\E)/$1$morefonts/s;
+ }
+ else {
+ warn "${progname}: Failed to find a font-defining TeXDict\n";
+ }
+}
+
# Construct a mapping from each document font name to a list of valid
# characters in that font.
while ($entirefile =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
@@ -430,10 +529,10 @@ while ($entirefile =~ m|/(\S+)\s+\d+\s+\d+\s+df(.*?>[^<>]*?[DI])\s+E|gs) {
my @sortedfontnames = sort {$#{$name2chars{$b}} <=> $#{$name2chars{$a}}
|| $a cmp $b} keys %name2chars;
if ($verbose) {
- printf STDERR "Number of Type 3 fonts encountered: %d\n", 1+$#sortedfontnames;
+ printf STDERR "Total number of Type 3 fonts encountered: %d\n", 1+$#sortedfontnames;
if ($verbose >= 2) {
foreach my $fontname (@sortedfontnames) {
- printf STDERR " %s -- %3d character(s)\n", $fontname, 1+$#{$name2chars{$fontname}};
+ printf STDERR " %-5.5s -- %3d character(s)\n", $fontname, 1+$#{$name2chars{$fontname}};
}
}
}
@@ -449,7 +548,7 @@ else {
warn "${progname}: Could not determine the target printer resolution; assuming $dpi DPI\n";
}
-# Insert some helper code after the first ProcSet.
+# Insert some helper code after the tex.pro ProcSet.
my $output_width_ps = $entirefile; # PostScript code to output character widths
my $showfontnamecode = <<"SHOWFONTNAME";
\%\%BeginProcSet: $progname.pro
@@ -485,8 +584,8 @@ end
\%\%EndProcSet
SHOWFONTNAME
;#'
-if ($output_width_ps !~ s/\%\%EndProcSet/$&\n$showfontnamecode/s) {
- print STDERR 'No %%EndProcSet comment was found. We have to guess where to inject PostScript code.', "\n" if $verbose >= 3;
+if ($output_width_ps !~ s/\%\%BeginProcSet: tex\w*\.pro.*?\%\%EndProcSet/$&\n$showfontnamecode/s) {
+ print STDERR "No tex.pro ProcSet was found. We have to guess where to inject PostScript code.\n" if $verbose >= 3;
die "${progname}: Unable to inject prologue code\n" if $output_width_ps !~ s/TeXDict begin\s+\d+\s+\d+\s+bop/\n$showfontnamecode\n$&/s;
}
@@ -562,7 +661,7 @@ read_tfm_cache_file() if defined $tfm_cache_file;
print STDERR "Reading TFM files ... " if $verbose;
print STDERR "\n" if $verbose >= 2;
foreach my $tfm (sort {$a cmp $b}
- unique_items map {$_->{"tfm"}} (@tfmlist, values %fontmatch)) {
+ unique_items map {$_->{"tfm"}} (@tfmlist, map {@$_} values %fontmatch)) {
my ($designsize, %num2widths) = @{tfm2widths $tfm};
if (%num2widths) {
$tfmfontwidth{$tfm} = \%num2widths;
@@ -590,18 +689,24 @@ foreach my $tfminfo (@tfmlist) {
@tfmlist = @goodtfmlist;
undef @goodtfmlist;
-# Do the same for all user-specified font mappings.
-while (my ($fontname, $tfminfo) = each %fontmatch) {
- my $tfm = $tfminfo->{"tfm"};
- if (!defined ($tfmfontwidth{$tfm})) {
- print STDERR "failed.\n" if $verbose;
- die "${progname}: Unable to process user-specified TFM file \"$tfm\"\n";
+# Do the same for all user-specified font mappings but abort if none
+# of the specified possibilities represent a valid TFM file.
+while (my ($fontname, $tfmlist) = each %fontmatch) {
+ my $anyvalid = 0;
+ foreach my $tfminfo (@$tfmlist) {
+ my $tfm = $tfminfo->{"tfm"};
+ next if !defined ($tfmfontwidth{$tfm});
+ $tfminfo->{"designsize"} = $tfm2size{$tfm};
+ if ($tfminfo->{"scale_type"} eq "@") {
+ # Convert absolute to relative sizes.
+ $tfminfo->{"scale_type"} = "X";
+ $tfminfo->{"scale"} /= $tfminfo->{"designsize"};
+ }
+ $anyvalid = 1;
}
- $tfminfo->{"designsize"} = $tfm2size{$tfm};
- if ($tfminfo->{"scale_type"} eq "@") {
- # Convert absolute to relative sizes.
- $tfminfo->{"scale_type"} = "X";
- $tfminfo->{"scale"} /= $tfminfo->{"designsize"};
+ if (!$anyvalid) {
+ print STDERR "failed.\n" if $verbose;
+ die "${progname}: Unable to utilize any of the TFM files specified for font $fontname\n";
}
}
@@ -630,9 +735,10 @@ foreach my $fontname (@sortedfontnames) {
# Determine the list of eligible fonts to compare against.
my @eligible_tfms;
- foreach my $tfminfo ($fontmatch{$fontname} || @tfmlist) {
+ foreach my $tfminfo ($fontmatch{$fontname} ? @{$fontmatch{$fontname}} : @tfmlist) {
if ($tfminfo->{"scale"} eq "*") {
# Replace "*" with the best scaling factor we can find.
+ next if !defined $tfmfontwidth{$tfminfo->{"tfm"}};
my $newscale = optimal_scale $fontwidth{$fontname}, $tfmfontwidth{$tfminfo->{"tfm"}};
if (defined $newscale) {
# Replace the "*" with the optimal multiplier.
@@ -657,6 +763,7 @@ foreach my $fontname (@sortedfontnames) {
print STDERR " Processing $fontname ... " if $verbose == 1;
foreach my $tfminfo (@eligible_tfms) {
my $tfm = $tfminfo->{"tfm"};
+ next if !defined $tfmfontwidth{$tfm};
my $scale = $tfminfo->{"scale"};
printf STDERR " Comparing %s and %s \@ %.5gX ... ", $fontname, $tfm, $scale if $verbose >= 2;
my $match = compare_maps $fontwidth{$fontname}, $tfmfontwidth{$tfm}, $scale;
@@ -706,7 +813,7 @@ foreach my $fontname (@sortedfontnames) {
# Insert %DVIPSBitmapFont comments around every Type 3 font definition.
my $commented_ps = $entirefile;
my $infilename_ps = $infilename; # PostScript version of $infilename
-$infilename_ps =~ s/[()\\]/\\$1/g;
+$infilename_ps =~ s/([\(\)\\])/\\$1/g;
$commented_ps =~ s|^\%(End)?DVIPSBitmapFont.*$||gm; # Remove existing comments (if any)
$commented_ps =~ s|/(\S+)\s+\d+\s+\d+\s+df.*?>[^<]*?[DI]\s+E|write_comments($1, $&)|gse;
if ($commented_ps !~ /\%\%EndProlog/) {
@@ -762,7 +869,7 @@ TeXDict begin
font-name-string show (:) show
grestore
gsave
- 36 0 rmoveto
+ 42 0 rmoveto
font-name cvx exec
currentfont bitmap-font-transform makefont setfont
sample-string show
@@ -781,8 +888,8 @@ end
\%\%EndProcSet
SHOWFONTNAME
;
- if ($sample_ps !~ s/\%\%EndProcSet/$&\n$showfontnamecode/) {
- print STDERR 'No %%EndProcSet comment was found. We have to guess where to inject PostScript code.', "\n" if $verbose >= 3;
+ if ($sample_ps !~ s/\%\%BeginProcSet: tex\w*\.pro.*\%\%EndProcSet/$&\n$showfontnamecode/s) {
+ print STDERR "No tex.pro ProcSet was found. We have to guess where to inject PostScript code.\n" if $verbose >= 3;
die "${progname}: Unable to inject prologue code\n" if $sample_ps !~ s/TeXDict begin\s+\d+\s+\d+\s+bop/\n$showfontnamecode\n$&/s;
}
@@ -1063,7 +1170,12 @@ program's internal operations.
Force B<pkfix-helper> to associate a specific font with a given font
name appearing the document. I<name> is a two-character B<dvips> font
name such as C<Fa>. I<fontspec> is a font specification such as
-S<C<cmsy10 @ 1.1X>>. The B<--force> option can be specified
+C<cmmi8> or S<C<cmsy10 @ 1.1X>>. An asterisk used in the name of the
+base font S<(e.g., C<cmti*>)> will automatically try all integral test
+font sizes from 5 to 17 points (C<cmti5>, S<C<cmti6>, ...,>
+C<cmti17>). An asterisk used as a scale value S<(e.g., C<cmsy10 @
+*>)> will be replaced by the scale value that gives the best match to
+the original font's metrics. The B<--force> option can be specified
repeatedly on the command line.
=item B<-p> I<filename.ps>, B<--ps>=I<filename.ps>
@@ -1096,6 +1208,16 @@ previously extracted metrics from I<filename>, going through the
F<tftopl>-based process only for TFM files that were not previously
encountered.
+=item B<-q>, B<--quiet>
+
+Instruct B<pkfix-helper> to produce no output during its run except
+for fatal error messages.
+
+=item B<-1>, B<--no-repeats>
+
+Prevent B<pkfix-helper> from associating the same I<fontspec> with
+more than one B<dvips> font name.
+
=item B<-i> I<fontspec>, B<--include>=I<fontspec>
Add I<fontspec> to the list of font specifications against which
@@ -1121,15 +1243,12 @@ bitmapped image into a single-character font and using that font in
LaTeX. B<--keep> prevents such fonts from being replaced. The
B<--keep> option can be specified repeatedly on the command line.
-=item B<-q>, B<--quiet>
+=item B<-a>, B<--any-scale>
-Instruct B<pkfix-helper> to produce no output during its run except
-for fatal error messages.
-
-=item B<-1>, B<--no-repeats>
-
-Prevent B<pkfix-helper> from associating the same I<fontspec> with
-more than one B<dvips> font name.
+Allow any value to be used to scale a font when "C<*>" is specified as
+the scale factor. Normally, B<pkfix-helper> considers only integer
+multiples of 0.1 that are greater than or equal to 1.0 (i.e.,
+I<fontname>C<@1X>, C<@1.1X>, C<@1.2X>, C<@1.3X>, etc.).
=item B<-s>, B<--spp>
@@ -1245,7 +1364,7 @@ Let's hypothesize that C<cmb12> is a better match than C<cmbx12> but
we don't know how much to scale the font. Fortunately,
B<pkfix-helper> allows C<*> to be used as a scaling factor to tell the
program to automatically detect an optimal scaling factor, even if
-doing so means choosing a highly nonstandard font size:
+doing so means choosing a nonstandard font size:
$ pkfix-helper oldfile.ps pkfix-oldfile.ps --force="Ff=cmb12 @ *"
Reading oldfile.ps ... done.
@@ -1268,7 +1387,7 @@ Let's try scaling up F<cmb10.tfm> instead:
Processing Fi ... done (cmr10 @ 1X, mismatch=0.11683).
Processing Fa ... done (cmti10 @ 1X, mismatch=0.08892).
Processing Fb ... done (cmr8 @ 1X, mismatch=0.07133).
- Processing Ff ... done (cmb10 @ 1.5708X, mismatch=0.00035).
+ Processing Ff ... done (cmb10 @ 1.5X, mismatch=0.00035).
Processing Fh ... done (cmtt10 @ 1X, mismatch=0.06895).
Processing Fd ... done (cmmi10 @ 1X, mismatch=0.03966).
Processing Fj ... done (cmbx12 @ 1X, mismatch=0.03972).
@@ -1276,12 +1395,12 @@ Let's try scaling up F<cmb10.tfm> instead:
Processing Fg ... done (cmsy10 @ 1X, mismatch=0.00875).
Processing Fc ... done (cmr6 @ 1X, mismatch=0.00284).
-The match has definitely improved, although S<15.708 pt.> is certainly
-an odd size for a font. Then again, many documents I<do> use
-nonstandard sizes so this may in fact be correct. The best way to
-verify is once again to produce, print, and compare a pair of font
-samples and iterate until all of the fonts look correct. Use one
-instance of B<--force> for each font you want to alter.
+The match has definitely improved, although S<15 pt.> is certainly an
+odd size for a font. Then again, many documents I<do> use nonstandard
+sizes so this may in fact be correct. The best way to verify is once
+again to produce, print, and compare a pair of font samples and
+iterate until all of the fonts look correct. Use one instance of
+B<--force> for each font you want to alter.
=head1 ENVIRONMENT
@@ -1352,7 +1471,7 @@ Scott Pakin, I<scott+pkfh@pakin.org>
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2010, Scott Pakin
+Copyright (C) 2011, Scott Pakin
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
diff --git a/Master/texmf/doc/man/man1/pkfix-helper.1 b/Master/texmf/doc/man/man1/pkfix-helper.1
index d88b9695aae..c0c170fdbe8 100644
--- a/Master/texmf/doc/man/man1/pkfix-helper.1
+++ b/Master/texmf/doc/man/man1/pkfix-helper.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "PKFIX-HELPER 1"
-.TH PKFIX-HELPER 1 "2010-10-15" "v1.3" " "
+.TH PKFIX-HELPER 1 "2011-06-11" "v1.4" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -239,7 +239,11 @@ program's internal operations.
Force \fBpkfix-helper\fR to associate a specific font with a given font
name appearing the document. \fIname\fR is a two-character \fBdvips\fR font
name such as \f(CW\*(C`Fa\*(C'\fR. \fIfontspec\fR is a font specification such as
-\&\f(CW\*(C`cmsy10\ @\ 1.1X\*(C'\fR. The \fB\-\-force\fR option can be specified
+\&\f(CW\*(C`cmmi8\*(C'\fR or \f(CW\*(C`cmsy10\ @\ 1.1X\*(C'\fR. An asterisk used in the name of the
+base font (e.g.,\ \f(CW\*(C`cmti*\*(C'\fR) will automatically try all integral test
+font sizes from 5 to 17 points (\f(CW\*(C`cmti5\*(C'\fR, \f(CW\*(C`cmti6\*(C'\fR,\ ...,
+\&\f(CW\*(C`cmti17\*(C'\fR). An asterisk used as a scale value (e.g.,\ \f(CW\*(C`cmsy10\ @\ *\*(C'\fR) will be replaced by the scale value that gives the best match to
+the original font's metrics. The \fB\-\-force\fR option can be specified
repeatedly on the command line.
.IP "\fB\-p\fR \fIfilename.ps\fR, \fB\-\-ps\fR=\fIfilename.ps\fR" 4
.IX Item "-p filename.ps, --ps=filename.ps"
@@ -264,6 +268,14 @@ which \fB\-\-cache\fR=\fIfilename\fR is specified, \fBpkfix-helper\fR reads the
previously extracted metrics from \fIfilename\fR, going through the
\&\fItftopl\fR\-based process only for \s-1TFM\s0 files that were not previously
encountered.
+.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4
+.IX Item "-q, --quiet"
+Instruct \fBpkfix-helper\fR to produce no output during its run except
+for fatal error messages.
+.IP "\fB\-1\fR, \fB\-\-no\-repeats\fR" 4
+.IX Item "-1, --no-repeats"
+Prevent \fBpkfix-helper\fR from associating the same \fIfontspec\fR with
+more than one \fBdvips\fR font name.
.IP "\fB\-i\fR \fIfontspec\fR, \fB\-\-include\fR=\fIfontspec\fR" 4
.IX Item "-i fontspec, --include=fontspec"
Add \fIfontspec\fR to the list of font specifications against which
@@ -286,14 +298,12 @@ as university or corporate logos into a document by converting the
bitmapped image into a single-character font and using that font in
LaTeX. \fB\-\-keep\fR prevents such fonts from being replaced. The
\&\fB\-\-keep\fR option can be specified repeatedly on the command line.
-.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4
-.IX Item "-q, --quiet"
-Instruct \fBpkfix-helper\fR to produce no output during its run except
-for fatal error messages.
-.IP "\fB\-1\fR, \fB\-\-no\-repeats\fR" 4
-.IX Item "-1, --no-repeats"
-Prevent \fBpkfix-helper\fR from associating the same \fIfontspec\fR with
-more than one \fBdvips\fR font name.
+.IP "\fB\-a\fR, \fB\-\-any\-scale\fR" 4
+.IX Item "-a, --any-scale"
+Allow any value to be used to scale a font when "\f(CW\*(C`*\*(C'\fR" is specified as
+the scale factor. Normally, \fBpkfix-helper\fR considers only integer
+multiples of 0.1 that are greater than or equal to 1.0 (i.e.,
+\&\fIfontname\fR\f(CW@1X\fR, \f(CW\*(C`@1.1X\*(C'\fR, \f(CW\*(C`@1.2X\*(C'\fR, \f(CW\*(C`@1.3X\*(C'\fR, etc.).
.IP "\fB\-s\fR, \fB\-\-spp\fR" 4
.IX Item "-s, --spp"
Specify the number of font samples per page to print to the files
@@ -405,7 +415,7 @@ Let's hypothesize that \f(CW\*(C`cmb12\*(C'\fR is a better match than \f(CW\*(C`
we don't know how much to scale the font. Fortunately,
\&\fBpkfix-helper\fR allows \f(CW\*(C`*\*(C'\fR to be used as a scaling factor to tell the
program to automatically detect an optimal scaling factor, even if
-doing so means choosing a highly nonstandard font size:
+doing so means choosing a nonstandard font size:
.PP
.Vb 7
\& $ pkfix\-helper oldfile.ps pkfix\-oldfile.ps \-\-force="Ff=cmb12 @ *"
@@ -431,7 +441,7 @@ Let's try scaling up \fIcmb10.tfm\fR instead:
\& Processing Fi ... done (cmr10 @ 1X, mismatch=0.11683).
\& Processing Fa ... done (cmti10 @ 1X, mismatch=0.08892).
\& Processing Fb ... done (cmr8 @ 1X, mismatch=0.07133).
-\& Processing Ff ... done (cmb10 @ 1.5708X, mismatch=0.00035).
+\& Processing Ff ... done (cmb10 @ 1.5X, mismatch=0.00035).
\& Processing Fh ... done (cmtt10 @ 1X, mismatch=0.06895).
\& Processing Fd ... done (cmmi10 @ 1X, mismatch=0.03966).
\& Processing Fj ... done (cmbx12 @ 1X, mismatch=0.03972).
@@ -440,12 +450,12 @@ Let's try scaling up \fIcmb10.tfm\fR instead:
\& Processing Fc ... done (cmr6 @ 1X, mismatch=0.00284).
.Ve
.PP
-The match has definitely improved, although 15.708\ pt. is certainly
-an odd size for a font. Then again, many documents \fIdo\fR use
-nonstandard sizes so this may in fact be correct. The best way to
-verify is once again to produce, print, and compare a pair of font
-samples and iterate until all of the fonts look correct. Use one
-instance of \fB\-\-force\fR for each font you want to alter.
+The match has definitely improved, although 15\ pt. is certainly an
+odd size for a font. Then again, many documents \fIdo\fR use nonstandard
+sizes so this may in fact be correct. The best way to verify is once
+again to produce, print, and compare a pair of font samples and
+iterate until all of the fonts look correct. Use one instance of
+\&\fB\-\-force\fR for each font you want to alter.
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
\&\fBpkfix-helper\fR honors the following environment variables:
@@ -496,7 +506,7 @@ Published by Addison-Wesley, \s-1ISBN\s0 0\-201\-37922\-8,
Scott Pakin, \fIscott+pkfh@pakin.org\fR
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2010, Scott Pakin
+Copyright (C) 2011, Scott Pakin
.PP
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
diff --git a/Master/texmf/doc/man/man1/pkfix-helper.man1.pdf b/Master/texmf/doc/man/man1/pkfix-helper.man1.pdf
index 5191b877398..cc8001d7d9c 100644
--- a/Master/texmf/doc/man/man1/pkfix-helper.man1.pdf
+++ b/Master/texmf/doc/man/man1/pkfix-helper.man1.pdf
Binary files differ
diff --git a/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc
index f704f131416..ee3ef955feb 100644
--- a/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc
+++ b/Master/tlpkg/tlpsrc/00texlive.image.tlpsrc
@@ -15,7 +15,6 @@ runpattern d tlpkg/backups
runpattern d tlpkg/dev
runpattern d tlpkg/doc
runpattern d tlpkg/libexec
-runpattern d tlpkg/support
#
runpattern f .mkisofsrc
runpattern f autorun.inf