summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-11-27 21:38:14 +0000
committerKarl Berry <karl@freefriends.org>2020-11-27 21:38:14 +0000
commit887bfffd417c5b4c794b80801fbce4538c049e0c (patch)
tree1cbbc8210291e3e7993e0a887010374d924a75a3
parentd105e39cfd3ca41faa6daf909518daf2c5cbbf23 (diff)
mf2pt1 (27nov20)
git-svn-id: svn://tug.org/texlive/trunk@57018 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl17
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl51
-rw-r--r--Master/texmf-dist/doc/info/mf2pt1.info127
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/ChangeLog12
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/README2
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdfbin229650 -> 181030 bytes
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi41
-rw-r--r--Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp2
-rwxr-xr-xMaster/texmf-dist/scripts/mf2pt1/mf2pt1.pl17
9 files changed, 150 insertions, 119 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl b/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl
index abfd02c2f8d..3546aee3931 100755
--- a/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl
+++ b/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/perl
+#! /usr/bin/env perl
##################################################
# Convert stylized Metafont to PostScript Type 1 #
@@ -7,7 +7,7 @@
########################################################################
# mf2pt1 #
-# Copyright (C) 2014 Scott Pakin #
+# Copyright (C) 2005-2020 Scott Pakin #
# #
# This program may be distributed and/or modified under the conditions #
# of the LaTeX Project Public License, either version 1.3c of this #
@@ -21,7 +21,7 @@
# version 2006/05/20 or later. #
########################################################################
-our $VERSION = "2.5a"; # mf2pt1 version number
+our $VERSION = "2.6"; # mf2pt1 version number
require 5.6.1; # I haven't tested mf2pt1 with older Perl versions
use File::Basename;
@@ -160,7 +160,7 @@ my $filedir;
my $filenoext;
my $versionmsg = "mf2pt1 version $VERSION
-Copyright (C) 2012 Scott Pakin
+Copyright (C) 2005-2020 Scott Pakin
This program may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
@@ -404,11 +404,11 @@ ENDHEADER
}
# Show the final boilerplate.
+ print OUTFILE "/UniqueID $uniqueID def\n" if defined $uniqueID;
print OUTFILE <<"ENDHEADER";
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID $uniqueID def
/FontBBox{@fontbbox}readonly def
currentdict end
currentfile eexec
@@ -794,13 +794,14 @@ if ($rounding<=0.0 || $rounding>1.0) {
die sprintf "%s: Invalid rounding amount \"%g\"; value must be a positive number no greater than 1.0\n", $progname, $rounding;
}
-# Ensure that every user-definable parameter is assigned a value.
+# Ensure that every user-definable parameter is assigned a value. The only
+# exception is the unique ID, as Adobe no longer recommends specifying one.
assign_default $fontversion, $opthash{fontversion}, "001.000";
assign_default $creationdate, scalar localtime;
assign_default $comment, $opthash{comment}, "Font converted to Type 1 by mf2pt1, written by Scott Pakin.";
assign_default $weight, $opthash{weight}, "Medium";
assign_default $fixedpitch, $opthash{fixedpitch}, 0;
-assign_default $uniqueID, $opthash{uniqueid}, int(rand(1000000)) + 4000000;
+assign_default $uniqueID, $opthash{uniqueid};
assign_default $designsize, $opthash{designsize};
die "${progname}: a design size must be specified in $mffile or on the command line\n" if !defined $designsize;
die "${progname}: the design size must be a positive number\n" if $designsize<=0.0;
@@ -858,11 +859,11 @@ mf2pt1 is using the following font parameters:
font_underline_position: $underlinepos
font_underline_thickness: $underlinethick
font_name: $fontname
- font_unique_id: $uniqueID
font_size: $designsize (bp)
font_coding_scheme: $encoding_name
PARAMVALUES
;
+print " font_unique_id: $uniqueID\n" if defined $uniqueID;
print "\n";
# Scale by a factor of 1000/design size.
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index d17509cddb3..3f60d52a75e 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 56566 2020-10-06 03:40:54Z preining $
+# $Id: tlmgr.pl 56993 2020-11-24 18:35:36Z karl $
#
# Copyright 2008-2020 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 56566 $';
-my $datrev = '$Date: 2020-10-06 05:40:54 +0200 (Tue, 06 Oct 2020) $';
+my $svnrev = '$Revision: 56993 $';
+my $datrev = '$Date: 2020-11-24 19:35:36 +0100 (Tue, 24 Nov 2020) $';
my $tlmgrrevision;
my $tlmgrversion;
my $prg;
@@ -8352,26 +8352,35 @@ C<--only-installed> and C<--only-remote> cannot both be specified.
=item B<--data C<item1,item2,...>>
If the option C<--data> is given, its argument must be a comma separated
-list of field names from: C<name>, C<category>, C<localrev>, C<remoterev>,
-C<shortdesc>, C<longdesc>, C<installed>, C<size>, C<relocatable>, C<depends>,
-C<cat-version>, C<cat-date>, or C<cat-license>, and various C<cat-contact-*>
-fields. For the C<cat-> fields, there are two more variants with prefix C<l>
-and C<r>, that is C<lcat-version> and C<rcat-version> etc, which indicate
-the local and remote information, respectively. The variants without C<l> and
-C<r> show the most current one, that is normally the remote one.
-
-The requested packages' information is listed in CSV format one package per
-line, and the column information is given by the C<itemN>. The C<depends>
-column contains the name of all dependencies separated by C<:>.
+list of field names from: C<name>, C<category>, C<localrev>,
+C<remoterev>, C<shortdesc>, C<longdesc>, C<installed>, C<size>,
+C<relocatable>, C<depends>, C<cat-version>, C<cat-date>, C<cat-license>,
+plus various C<cat-contact-*> fields (see below).
+
+The C<cat-*> fields all come from the TeX Catalogue
+(L<https://ctan.org/pkg/catalogue>). For each, there are two more
+variants with prefix C<l> and C<r>, e.g., C<lcat-version> and
+C<rcat-version>, which indicate the local and remote information,
+respectively. The variants without C<l> and C<r> show the most current
+one, which is normally the remote value.
+
+The requested packages' information is listed in CSV format, one package
+per line, and the column information is given by the C<itemN>. The
+C<depends> column contains the names of all the dependencies separated
+by C<:> characters.
+
+At this writing, the C<cat-contact-*> fields include: C<home>,
+C<repository>, C<support>, C<bugs>, C<announce>, C<development>. Each
+may be empty or a url value. A brief description is on the CTAN upload
+page for new packages: L<https://ctan.org/upload>.
=item B<--json>
-In case C<--json> is specified, the output is a
-JSON encoded array where each array element is the JSON representation of
-a single C<TLPOBJ> but with additional information. For details see
-C<tlpkg/doc/JSON-formats.txt>, format definition: C<TLPOBJINFO>.
-If both C<--json> and C<--data> are given, C<--json> takes precedence.
-
+In case C<--json> is specified, the output is a JSON encoded array where
+each array element is the JSON representation of a single C<TLPOBJ> but
+with additional information. For details see
+C<tlpkg/doc/JSON-formats.txt>, format definition: C<TLPOBJINFO>. If both
+C<--json> and C<--data> are given, C<--json> takes precedence.
=back
@@ -10092,7 +10101,7 @@ This script and its documentation were written for the TeX Live
distribution (L<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 56566 2020-10-06 03:40:54Z preining $
+$Id: tlmgr.pl 56993 2020-11-24 18:35:36Z karl $
=cut
# test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html
diff --git a/Master/texmf-dist/doc/info/mf2pt1.info b/Master/texmf-dist/doc/info/mf2pt1.info
index 4e091d1c793..88b8792718c 100644
--- a/Master/texmf-dist/doc/info/mf2pt1.info
+++ b/Master/texmf-dist/doc/info/mf2pt1.info
@@ -1,6 +1,6 @@
-This is mf2pt1.info, produced by makeinfo version 5.2 from mf2pt1.texi.
+This is mf2pt1.info, produced by makeinfo version 6.7 from mf2pt1.texi.
-Copyright (C) 2014 Scott Pakin
+Copyright (C) 2005-2020 Scott Pakin
@@ -11,7 +11,7 @@ or (at your option) any later version.
The latest version of this license is in:
- <http://www.latex-project.org/lppl.txt>
+ <https://www.latex-project.org/lppl.txt>
and version 1.3c or later is part of all distributions of LaTeX
version 2006/05/20 or later.
@@ -47,13 +47,13 @@ File: mf2pt1.info, Node: Introduction, Next: Usage, Prev: Top, Up: Top
Metafont is a high-level, mathematically oriented language for producing
fonts. The Metafont interpreter produces device-dependent bitmaps,
which render well at the target resolution on the target device, but
-poorly at other resolutions or on other devices. Adobe's PostScript Type 1
-font format is the de facto font standard for printers these days. It
-is a vector format, which implies that it scales better than bitmaps,
-and it delegates the device- and resolution-dependent tweaking from the
-font source to the target device's PostScript renderer. However, Type 1
-fonts are extremely difficult to code by hand. Usually, one uses a
-WYSIWYG program to design a Type 1 font. Metafont, with its
+poorly at other resolutions or on other devices. Adobe's PostScript
+Type 1 font format is the de facto font standard for printers these
+days. It is a vector format, which implies that it scales better than
+bitmaps, and it delegates the device- and resolution-dependent tweaking
+from the font source to the target device's PostScript renderer.
+However, Type 1 fonts are extremely difficult to code by hand. Usually,
+one uses a WYSIWYG program to design a Type 1 font. Metafont, with its
font-specific programming language, is an elegant alternative. A font
designer can write reusable subroutines for repeated features, such as
serifs and accents. He can define a font in terms of arbitrary
@@ -105,12 +105,11 @@ FontForge (optional)
especially at lower resolutions.
Perl is available from the Comprehensive Perl Archive Network
-(http://www.cpan.org); MetaPost and the Type 1 utilities are available
-from the Comprehensive TeX Archive Network (http://www.ctan.org); and,
-FontForge is available from <http://fontforge.sourceforge.net/>. In
-addition, MetaPost's home page is
-<http://cm.bell-labs.com/who/hobby/MetaPost.html>, and the Type 1
-utilities' home page is <http://www.lcdf.org/type/>.
+(https://www.cpan.org); MetaPost and the Type 1 utilities are available
+from the Comprehensive TeX Archive Network (https://www.ctan.org); and
+FontForge is available from <https://fontforge.sourceforge.net/>. In
+addition, MetaPost's home page is <https://tug.org/metapost.html>, and
+the Type 1 utilities' home page is <https://www.lcdf.org/type/>.
Besides being useful for autohinting fonts, FontForge enables a font
designer to hint fonts manually for additional fine-tuning and to
@@ -164,8 +163,8 @@ N.B. The 'install-info' command is a convenient way to install
page is embedded within the 'mf2pt1' Perl script and can be extracted
with 'pod2man':
- pod2man --center="User Commands" --date="30 April 2014" \
- --release="v2.5a" mf2pt1 > mf2pt1.1
+ pod2man --center="User Commands" --date="27 November 2020" \
+ --release="v2.6" mf2pt1 > mf2pt1.1
You can then move 'mf2pt1.1' into '/usr/man/man1' or any other man page
directory. Note that the 'mf2pt1' man page is fairly rudimentary. It
@@ -233,9 +232,9 @@ new fonts designed with 'mf2pt1' in mind, but it is unlikely that
entirely from closed paths, using Metafont's *fill* and *unfill*
commands. ('mf2pt1' has limited support for *draw* and *undraw*, but
their use is currently discouraged. *filldraw* and *unfilldraw* issue a
-warning message and invoke *draw* and *undraw*, respectively.) The Type 1
-format requires that these paths be nonoverlapping. The following are
-some of the alternatives for removing path overlaps:
+warning message and invoke *draw* and *undraw*, respectively.) The
+Type 1 format requires that these paths be nonoverlapping. The
+following are some of the alternatives for removing path overlaps:
1. Install FontForge. As part of its final step in producing a Type 1
font, 'mf2pt1' instructs FontForge to replace overlapping paths
@@ -243,7 +242,7 @@ some of the alternatives for removing path overlaps:
2. Remove overlaps using Metafont code within the font program itself.
A '.zip' file attachment to a 6 January 2005 article
- (http://tug.org/mailman/htdig/metapost/2005-January/000080.html) by
+ (https://tug.org/pipermail/metapost/2005-January/000080.html) by
Boguslaw Jackowski on the MetaPost mailing list (subject: "Re: all
intersections between two paths") includes a MetaPost library which
assists with that task. The library provides a *find_outlines*
@@ -365,10 +364,12 @@ do not need to be enveloped within a test for 'ps_output'.
*font_unique_id*
The unique ID for this font. The ID should be between 0 and
- 16,777,215. If not specified, 'mf2pt1' will choose an ID at random
- from the "open" range, 4,000,000-4,999,999. All IDs not in that
- range are allocated by contacting Adobe's UniqueID Coordinator. (I
- don't believe a fee is involved, but I don't know for sure.)
+ 16,777,215, with the "open" range being 4,000,000-4,999,999. All
+ IDs not in that range are allocated by contacting Adobe's UniqueID
+ Coordinator. (I don't believe a fee is involved, but I don't know
+ for sure.) If a unique ID is not specified, 'mf2pt1' will not
+ write a unique ID to the file. Note that Adobe no longer
+ recommends including unique IDs in fonts.
*font_version*
The version number of the font. This should be of the form
@@ -431,9 +432,9 @@ parameters listed in *note Parameters::.
*font_coding_scheme* *string* '"standard"'
-*font_comment* *string* '"Font converted to Type 1
- by mf2pt1, written by
- Scott Pakin."'
+*font_comment* *string* '"Font converted to
+ Type 1 by mf2pt1, written
+ by Scott Pakin."'
*font_family* *string* (The value of
*font_identifier*)
@@ -479,7 +480,7 @@ parameters that 'mf2pt1' accepts:
if known ps_output:
font_coding_scheme "ot1";
- font_comment "Copyright (C) 2014 Scott Pakin.";
+ font_comment "Copyright (C) 2020 Scott Pakin.";
font_family "Kerplotz";
font_fixed_pitch false;
font_identifier "Kerplotz Light Oblique";
@@ -503,7 +504,7 @@ Adobe, it's generally better not to assign *font_unique_id*; let
The same parameters can also be specified on the command line as
follows:
- mf2pt1 --encoding=ot1 --comment="Copyright (C) 2014 Scott Pakin."
+ mf2pt1 --encoding=ot1 --comment="Copyright (C) 2020 Scott Pakin."
--family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique"
--name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5
--underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005
@@ -617,10 +618,11 @@ a--largely useless nowadays--EBCDIC font encoding:
therefore must be prefixed with a slash. Unnamed characters such as
control characters are commonly named '_aNUMBER', where NUMBER is the
decimal offset into the character table. Undefined characters are
-indicated by '.notdef'. In the EBCDIC example, the character at position 0
-in the font will be named 'a0'; the character at position 1 will be
-named 'a1'; the character at position 74 will be named 'bracketleft';
-the character at position 129 will be named 'a'; and so forth.
+indicated by '.notdef'. In the EBCDIC example, the character at
+position 0 in the font will be named 'a0'; the character at position 1
+will be named 'a1'; the character at position 74 will be named
+'bracketleft'; the character at position 129 will be named 'a'; and so
+forth.
Individual characters can be mapped to an encoding either numerically
or by executing a *glyph_name* command within a character definition.
@@ -663,9 +665,9 @@ File: mf2pt1.info, Node: Future Work, Next: Acknowledgments, Prev: Usage, Up
3 Future Work
*************
-One avenue for future work is to enable the font designer to specify Type 1
-font hints directly in the Metafont font program. Hinting is a way for
-a font designer to specify how a font should be rendered at low
+One avenue for future work is to enable the font designer to specify
+Type 1 font hints directly in the Metafont font program. Hinting is a
+way for a font designer to specify how a font should be rendered at low
resolutions, for example, at typical monitor resolutions. In Metafont,
this is done by controlling the way that points are mapped to pixel
locations, using commands such as *define_corrected_pixels*,
@@ -712,36 +714,41 @@ listed in *note Additional command-line options::; for fixing some
code-generation bugs in 'mf2pt1'; for finding a more robust way to dump
'mf2pt1.mem'; for directing me to the overlap-removal code mentioned in
*note Restrictions::; for supplying the _crossproduct_, _makeline_, and
-_is_clockwise_ functions used by 'mf2pt1.mp'; for proposing the '--bpppix'
-command-line option; and, for suggesting various features and
+_is_clockwise_ functions used by 'mf2pt1.mp'; for proposing the
+'--bpppix' command-line option; and for suggesting various features and
improvements to 'mf2pt1'. Thanks also go to Werner Lemberg and Boguslaw
Jackowski for updating the *is_clockwise* function in 'mf2pt1.mp' to
work around a bug in MetaPost which relates to the *turningnumber*
command. Finally, thanks go to Ralf Stubner for providing the T1
encoding vector and for pointing out a typo in the generated font
-programs; to Michael Zedler for alerting me to problems with '--encoding'
-and suggesting I modify that option to accept PostScript '.enc' files;
-and to Michael Ummels for fixing a couple of bugs that made character
-widths in the generated fonts slightly too large.
+programs; to Michael Zedler for alerting me to problems with
+'--encoding' and suggesting I modify that option to accept PostScript
+'.enc' files; and to Michael Ummels for fixing a couple of bugs that
+made character widths in the generated fonts slightly too large.

Tag Table:
-Node: Top623
-Node: Introduction1161
-Node: Requirements2994
-Node: Installation4742
-Node: Usage6555
-Node: Restrictions8271
-Node: Font information10652
-Node: Parameters12010
-Node: Command-line equivalents15374
-Node: Default values16855
-Node: Parameter example19075
-Node: Additional command-line options21084
-Node: Custom font encodings23424
-Node: Restoring mfplain defaults26874
-Node: Future Work27733
-Node: Acknowledgments29597
+Node: Top628
+Node: Introduction1166
+Node: Requirements2998
+Node: Installation4731
+Node: Usage6546
+Node: Restrictions8262
+Node: Font information10640
+Node: Parameters11998
+Node: Command-line equivalents15473
+Node: Default values16954
+Node: Parameter example19174
+Node: Additional command-line options21183
+Node: Custom font encodings23523
+Node: Restoring mfplain defaults26973
+Node: Future Work27832
+Node: Acknowledgments29696

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/Master/texmf-dist/doc/support/mf2pt1/ChangeLog b/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
index 57b9ec2b0de..fb3386307e0 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
+++ b/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
@@ -1,3 +1,15 @@
+2020-11-27 Scott Pakin <scott+mf@pakin.org>
+
+ * mf2pt1.pl
+ Do not write a UniqueID unless explicitly requested by the user.
+
+ * mf2pt1.texi
+ Update all URLs in the documentation to the latest version.
+ Mention that Adobe no longer recommends the use of unique IDs.
+
+ * mf2pt1.texi, mf2pt1.pl, README, mf2pt1.mp
+ Updated the version number to 2.6 and the copyright year to 2020.
+
2014-04-30 Scott Pakin <scott+mf@pakin.org>
* mf2pt1.texi
diff --git a/Master/texmf-dist/doc/support/mf2pt1/README b/Master/texmf-dist/doc/support/mf2pt1/README
index 4ba418f279e..500b12ffa9b 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/README
+++ b/Master/texmf-dist/doc/support/mf2pt1/README
@@ -27,7 +27,7 @@ For installation instructions, see the mf2pt1 manual (mf2pt1.pdf).
Copyright and license
---------------------
-Copyright (C) 2014 Scott Pakin, scott+mf@pakin.org
+Copyright (C) 2005-2020 Scott Pakin, scott+mf@pakin.org
This package may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
diff --git a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
index 94b586a4d2e..5478597a475 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
+++ b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
index 45fe6e309da..5b55575453b 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
+++ b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
@@ -11,7 +11,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2014 Scott Pakin
+Copyright @copyright{} 2005--2020 Scott Pakin
@sp 2
@@ -23,15 +23,15 @@ license or (at your option) any later version.
The latest version of this license is in:
@sp 1
-@center @uref{http://www.latex-project.org/lppl.txt}
+@center @uref{https://www.latex-project.org/lppl.txt}
@sp 1
and version 1.3c or later is part of all distributions of @LaTeX{}
version 2006/05/20 or later.
@end copying
-@set VERSION 2.5a
-@set DATE 30 April 2014
+@set VERSION 2.6
+@set DATE 27 November 2020
@c Define some fonts we intend to use.
@iftex
@@ -186,14 +186,13 @@ FontForge when available to autohint the generated @w{Type 1} font,
thereby making it look better especially at lower resolutions.
@end table
-Perl is available from @uref{http://www.cpan.org, the Comprehensive
+Perl is available from @uref{https://www.cpan.org, the Comprehensive
Perl Archive Network}; MetaPost and the @w{Type 1} utilities are
-available from @uref{http://www.ctan.org, the Comprehensive @TeX{}
-Archive Network}; and, FontForge is available from
-@uref{http://fontforge.sourceforge.net/}. In addition, MetaPost's
-home page is @uref{http://cm.bell-labs.com/who/hobby/MetaPost.html},
-and the @w{Type 1} utilities' home page is
-@uref{http://www.lcdf.org/type/}.
+available from @uref{https://www.ctan.org, the Comprehensive @TeX{}
+Archive Network}; and FontForge is available from
+@uref{https://fontforge.sourceforge.net/}. In addition, MetaPost's
+home page is @uref{https://tug.org/metapost.html}, and the @w{Type 1}
+utilities' home page is @uref{https://www.lcdf.org/type/}.
Besides being useful for autohinting fonts, FontForge enables a font
designer to hint fonts manually for additional fine-tuning and to
@@ -360,7 +359,7 @@ paths with nonoverlapping paths.
@item
Remove overlaps using @MF{} code within the font program itself. A
@file{.zip} file attachment to
-@uref{http://tug.org/mailman/htdig/metapost/2005-January/000080.html,
+@uref{https://tug.org/pipermail/metapost/2005-January/000080.html,
a @w{6 January} 2005 article} by
@iftex
@tex
@@ -502,10 +501,12 @@ The thickness of an underline, specified in ``sharped'' units within
@item font_unique_id
The unique ID for this font. The ID should be between 0 and
-16,777,215. If not specified, @command{mf2pt1} will choose an ID at
-random from the ``open'' range, 4,000,000-4,999,999. All IDs not in
-that range are allocated by contacting Adobe's UniqueID Coordinator.
-(I don't believe a fee is involved, but I don't know for sure.)
+16,777,215, with the ``open'' range being 4,000,000-4,999,999. All
+IDs not in that range are allocated by contacting Adobe's UniqueID
+Coordinator. (I don't believe a fee is involved, but I don't know for
+sure.) If a unique ID is not specified, @command{mf2pt1} will not
+write a unique ID to the file. Note that Adobe no longer recommends
+including unique IDs in fonts.
@item font_version
The version number of the font. This should be of the form
@@ -675,9 +676,9 @@ parameters that @command{mf2pt1} accepts:
@noindent
@b{if} known @i{ps_output}:
-@multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2014 Scott Pakin.";}}
+@multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2020 Scott Pakin.";}}
@item @tab @b{font_coding_scheme} @tab @t{"ot1"};
-@item @tab @b{font_comment} @tab @t{"Copyright (C) 2014 Scott Pakin."};
+@item @tab @b{font_comment} @tab @t{"Copyright (C) 2020 Scott Pakin."};
@item @tab @b{font_family} @tab @t{"Kerplotz"};
@item @tab @b{font_fixed_pitch} @tab @b{false};
@item @tab @b{font_identifier} @tab @t{"Kerplotz Light Oblique"};
@@ -704,7 +705,7 @@ The same parameters can also be specified on the command line as
follows:
@example
-mf2pt1 --encoding=ot1 --comment="Copyright (C) 2014 Scott Pakin."
+mf2pt1 --encoding=ot1 --comment="Copyright (C) 2020 Scott Pakin."
--family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique"
--name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5
--underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005
@@ -953,7 +954,7 @@ more robust way to dump @file{mf2pt1.mem}; for directing me to the
overlap-removal code mentioned in @ref{Restrictions}; for supplying
the @emph{crossproduct}, @emph{makeline}, and @emph{is_clockwise}
functions used by @file{mf2pt1.mp}; for proposing the @copt{bpppix}
-command-line option; and, for suggesting various features and
+command-line option; and for suggesting various features and
improvements to @command{mf2pt1}. Thanks also go to Werner Lemberg
and
@iftex
diff --git a/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp b/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp
index 588bc57cbb1..3ef56f9ab99 100644
--- a/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp
+++ b/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp
@@ -10,7 +10,7 @@
%%%% ==================================================================== %%%%
%%%% mf2pt1 %%%%
-%%%% Copyright (C) 2014 Scott Pakin %%%%
+%%%% Copyright (C) 2005-2020 Scott Pakin %%%%
%%%% %%%%
%%%% This program may be distributed and/or modified under the conditions %%%%
%%%% of the LaTeX Project Public License, either version 1.3c of this %%%%
diff --git a/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl b/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl
index abfd02c2f8d..3546aee3931 100755
--- a/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl
+++ b/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/perl
+#! /usr/bin/env perl
##################################################
# Convert stylized Metafont to PostScript Type 1 #
@@ -7,7 +7,7 @@
########################################################################
# mf2pt1 #
-# Copyright (C) 2014 Scott Pakin #
+# Copyright (C) 2005-2020 Scott Pakin #
# #
# This program may be distributed and/or modified under the conditions #
# of the LaTeX Project Public License, either version 1.3c of this #
@@ -21,7 +21,7 @@
# version 2006/05/20 or later. #
########################################################################
-our $VERSION = "2.5a"; # mf2pt1 version number
+our $VERSION = "2.6"; # mf2pt1 version number
require 5.6.1; # I haven't tested mf2pt1 with older Perl versions
use File::Basename;
@@ -160,7 +160,7 @@ my $filedir;
my $filenoext;
my $versionmsg = "mf2pt1 version $VERSION
-Copyright (C) 2012 Scott Pakin
+Copyright (C) 2005-2020 Scott Pakin
This program may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
@@ -404,11 +404,11 @@ ENDHEADER
}
# Show the final boilerplate.
+ print OUTFILE "/UniqueID $uniqueID def\n" if defined $uniqueID;
print OUTFILE <<"ENDHEADER";
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/UniqueID $uniqueID def
/FontBBox{@fontbbox}readonly def
currentdict end
currentfile eexec
@@ -794,13 +794,14 @@ if ($rounding<=0.0 || $rounding>1.0) {
die sprintf "%s: Invalid rounding amount \"%g\"; value must be a positive number no greater than 1.0\n", $progname, $rounding;
}
-# Ensure that every user-definable parameter is assigned a value.
+# Ensure that every user-definable parameter is assigned a value. The only
+# exception is the unique ID, as Adobe no longer recommends specifying one.
assign_default $fontversion, $opthash{fontversion}, "001.000";
assign_default $creationdate, scalar localtime;
assign_default $comment, $opthash{comment}, "Font converted to Type 1 by mf2pt1, written by Scott Pakin.";
assign_default $weight, $opthash{weight}, "Medium";
assign_default $fixedpitch, $opthash{fixedpitch}, 0;
-assign_default $uniqueID, $opthash{uniqueid}, int(rand(1000000)) + 4000000;
+assign_default $uniqueID, $opthash{uniqueid};
assign_default $designsize, $opthash{designsize};
die "${progname}: a design size must be specified in $mffile or on the command line\n" if !defined $designsize;
die "${progname}: the design size must be a positive number\n" if $designsize<=0.0;
@@ -858,11 +859,11 @@ mf2pt1 is using the following font parameters:
font_underline_position: $underlinepos
font_underline_thickness: $underlinethick
font_name: $fontname
- font_unique_id: $uniqueID
font_size: $designsize (bp)
font_coding_scheme: $encoding_name
PARAMVALUES
;
+print " font_unique_id: $uniqueID\n" if defined $uniqueID;
print "\n";
# Scale by a factor of 1000/design size.