texlive[71731] trunk: mf2pt1 (7jul24)
commits+karl at tug.org
commits+karl at tug.org
Sun Jul 7 22:09:55 CEST 2024
Revision: 71731
https://tug.org/svn/texlive?view=revision&revision=71731
Author: karl
Date: 2024-07-07 22:09:55 +0200 (Sun, 07 Jul 2024)
Log Message:
-----------
mf2pt1 (7jul24)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl
trunk/Build/source/texk/texlive/linked_scripts/texlive/extractbb.lua
trunk/Build/source/texk/texlive/linked_scripts/texlive-extra/texconfig.sh
trunk/Master/texmf-dist/doc/info/mf2pt1.info
trunk/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
trunk/Master/texmf-dist/doc/support/mf2pt1/README
trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
trunk/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp
trunk/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl
Modified: trunk/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Build/source/texk/texlive/linked_scripts/mf2pt1/mf2pt1.pl 2024-07-07 20:09:55 UTC (rev 71731)
@@ -7,7 +7,7 @@
########################################################################
# mf2pt1 #
-# Copyright (C) 2005-2021 Scott Pakin #
+# Copyright (C) 2005-2024 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.7"; # mf2pt1 version number
+our $VERSION = "2.8"; # mf2pt1 version number
require 5.6.1; # I haven't tested mf2pt1 with older Perl versions
use Cwd;
@@ -161,7 +161,7 @@
my $filenoext;
my $versionmsg = "mf2pt1 version $VERSION
-Copyright (C) 2005-2021 Scott Pakin
+Copyright (C) 2005-2024 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
@@ -1006,9 +1006,9 @@
Open($1);
SelectAll();
RemoveOverlap();
-AddExtrema();
Simplify(0, 2);
CorrectDirection();
+AddExtrema(1);
Simplify(0, 2);
RoundToInt();
AutoHint();
Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/extractbb.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/extractbb.lua 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/extractbb.lua 2024-07-07 20:09:55 UTC (rev 71731)
@@ -1,5 +1,5 @@
#!/usr/bin/env texlua
--- $Id: extractbb.lua 71664 2024-06-30 22:17:00Z karl $
+-- $Id: extractbb.lua 71685 2024-07-02 08:27:58Z mseven $
-- SPDX-License-Identifier: CC0-1.0
-- SPDX-FileCopyrightText: 2024 Max Chernoff
--
@@ -47,7 +47,7 @@
-- Any extra arguments to be prepended to the target program, before any
-- user-supplied arguments. Equivalent to ``argv[1], ...'' in C.
-- (Example: ``--extractbb'')
-local TARGET_PREPEND_ARGS = { "--ebb" }
+local TARGET_PREPEND_ARGS = { "--extractbb" }
-- Any extra arguments to be appended to the target program, after any
-- user-supplied arguments. Equivalent to ``..., argv[argc]'' in C.
Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive-extra/texconfig.sh
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive-extra/texconfig.sh 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive-extra/texconfig.sh 2024-07-07 20:09:55 UTC (rev 71731)
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Id: texconfig.sh 53554 2020-01-26 23:58:37Z karl $
+# $Id: texconfig.sh 71679 2024-07-01 17:04:58Z karl $
# texconfig version 3.0
# Originally written by Thomas Esser. Public domain.
# Now maintained as part of TeX Live; correspondence to tex-live at tug.org.
@@ -28,7 +28,7 @@
progname=texconfig
# the version string
-version='$Id: texconfig.sh 53554 2020-01-26 23:58:37Z karl $'
+version='$Id: texconfig.sh 71679 2024-07-01 17:04:58Z karl $'
envVars="
AFMFONTS BIBINPUTS BSTINPUTS CMAPFONTS CWEBINPUTS ENCFONTS GFFONTS
@@ -392,52 +392,6 @@
}
###############################################################################
-# setupDvipsPaper(paper)
-# rearranges config.ps to make paper the first paper definition
-#
-setupDvipsPaper()
-{
- setupDvipsPaperChanged=false
- setupDvipsPaperFile=config.ps
- setupDvipsPaperDftPaper=$1
-
- setupTmpDir
- co=`tcfmgr --tmp $tmpdir --cmd co --file $setupDvipsPaperFile`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper co failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- set x $co; shift
- setupDvipsPaperID=$1; setupDvipsPaperCfgFile=$3; setupDvipsPaperOrigFile=$4
-
- ed "$setupDvipsPaperCfgFile" > /dev/null 2>&1 <<-eof
- /@ /ka
- \$a
- @
- .
- /@ $setupDvipsPaperDftPaper /;/@ /-1m'a-1
- \$d
- w
- q
-eof
-
- ci=`tcfmgr --tmp $tmpdir --cmd ci --id "$setupDvipsPaperID"`
- if test $? != 0; then
- echo "$progname: setupDvipsPaper ci failed for \`$setupDvipsPaperFile'" >&2
- (exit 1); return 1
- fi
- case $ci in
- "") :;;
- $lastUpdatedFile)
- setupDvipsPaperChanged=true;;
- *) echo "$progname: updated configuration saved as file \`$ci'" >&2
- setupDvipsPaperChanged=true
- lastUpdatedFile=$ci;;
- esac
- (exit 0); return 0
-}
-
-###############################################################################
# setupModesMfFile(void) - find modes.mf file (with caching)
#
setupModesMfFile()
@@ -571,7 +525,6 @@
the TeX installation.
Usage: $progname conf (show configuration information)
- $progname dvipdfmx paper PAPER (dvipdfmx paper size)
$progname dvips [OPTION...] (dvips options)
$progname faq (show pointer to TeX Live docs)
$progname findprog PROG... (show locations of PROGs, a la which)
@@ -584,11 +537,9 @@
$progname init [FORMAT]... (rebuild FORMATs, or all formats
plus run texlinks and updmap)
$progname mode MODE (set Metafont MODE)
- $progname paper PAPER (set default paper size to PAPER)
$progname pdftex [OPTION]... (pdftex options)
$progname rehash (rebuild ls-R files with mktexlsr)
$progname version (or --version; show version info)
- $progname xdvi paper PAPER (xdvi paper size)
Get more help with:
$progname dvipdfmx
@@ -596,7 +547,6 @@
$progname font
$progname hyphen
$progname mode
- $progname paper
$progname pdftex
$progname xdvi
@@ -634,37 +584,8 @@
# texconfig dvipdfmx
dvipdfmx)
- help="Usage: $progname dvipdfmx paper PAPER
-
-Valid PAPER settings:
- letter legal ledger tabloid a4 a3"
- case $2 in
- # texconfig dvipdfmx paper
- paper-list)
- for p in letter legal ledger tabloid a4 a3; do echo $p; done
- ;;
- paper)
- case $3 in
- letter|legal|ledger|tabloid|a4|a3)
- tlmgr dvipdfmx paper $3
- ;;
- # fmgrConfigReplace dvipdfmx.cfg '^p' "p $3";;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname dvipdfmx paper'" >&2
- echo "$progname: try \`$progname dvipdfmx paper' for help" >&2
- rc=1 ;;
- esac ;;
- # texconfig dvipdfmx ""
- "")
- echo "$help" >&2; rc=1 ;;
- # texconfig dvipdfmx <unknown>
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname dvipdfmx'" >&2
- echo "$progname: try \`$progname dvipdfmx' for help" >&2
- rc=1
- ;;
- esac
+ abort "Use tlmgr paper dvipdfmx"
+ rc=1
;;
# texconfig dvips
@@ -672,7 +593,6 @@
shift
help="Usage: $progname dvips add PRINTER
$progname dvips del PRINTER
- $progname dvips paper PAPER
$progname dvips [-P PRINTER] mode MODE
$progname dvips [-P PRINTER] offset OFFSET
$progname dvips [-P PRINTER] printcmd CMD"
@@ -779,32 +699,7 @@
listDvipsPapers
;;
paper)
- case $2 in
- "")
- echo "Usage: $progname dvips paper PAPER" >&2
- echo >&2; echo "Valid PAPER settings:" >&2
- locateConfigPsFile
- listDvipsPapers | sed 's@ .*@@; s@^@ @' | myFmt
- rc=1
- ;;
- *)
- tcBatchDvipsPaper=$2
- locateConfigPsFile
- case "$configPsFile" in
- "")
- echo "$progname: file config.ps not found" >&2; rc=1
- ;;
- *)
- if grep "@ $tcBatchDvipsPaper " $configPsFile >/dev/null 2>&1; then
- tlmgr dvips paper $tcBatchDvipsPaper
- # setupDvipsPaper "$tcBatchDvipsPaper"
- else
- echo "$progname: paper \`$tcBatchDvipsPaper' not found in file \`$configPsFile'" >&2; rc=1
- fi
- ;;
- esac
- ;;
- esac
+ abort "Use tlmgr paper dvips"
;;
mode)
case $2 in
@@ -876,14 +771,6 @@
echo "Please see https://tug.org/texlive/doc/ for the documentation"
echo "available in TeX Live."
;;
- # setupTexmfmain
- # if test -f $MT_TEXMFMAIN/doc/tetex/teTeX-FAQ; then
- # <$MT_TEXMFMAIN/doc/tetex/teTeX-FAQ eval ${PAGER-more}
- # else
- # echo "$progname: faq not found (usually in \$TEXMFMAIN/doc/tetex/teTeX-FAQ)" >&2
- # rc=1
- # fi
- # ;;
findprog)
shift
@@ -1200,104 +1087,11 @@
;;
paper)
- help="Usage: $progname paper PAPER
-
-Valid PAPER settings:
- letter a4"
-
- p=$2; pDvips=$2
- case $2 in
- letter|a4) ;;
- "") echo "$help" >&2; rc=1; return;;
- *)
- echo "$progname: unknown PAPER \`$2' given as argument for \`$progname paper'" >&2
- echo "$progname: try \`$progname paper' for help" >&2
- rc=1
- return;;
- esac
- if checkForBinary dvips >/dev/null && tcfmgr --cmd find --file config.ps >/dev/null 2>&1; then
- tcBatch dvips paper $pDvips
- fi
- if checkForBinary dvipdfmx >/dev/null && tcfmgr --cmd find --file dvipdfmx.cfg >/dev/null 2>&1; then
- tcBatch dvipdfmx paper $p
- fi
- if checkForBinary xdvi >/dev/null && tcfmgr --cmd find --file XDvi >/dev/null 2>&1; then
- tcBatch xdvi paper $p
- fi
- if checkForBinary pdftex >/dev/null && tcfmgr --cmd find --file pdftexconfig.tex >/dev/null 2>&1; then
- tcBatch pdftex paper $p
- fi
+ abort "Use tlmgr paper"
;;
pdftex)
- help="Usage: $progname pdftex paper PAPER
-
-Valid PAPER settings:
- a4 letter"
- case $2 in
-
- mode)
- case $3 in
- "")
- echo "Usage: $progname pdftex mode MODE"
- rc=1
- ;;
- *)
- tcBatchPdftexMode=$3
- setupTmpDir
- setupModesMfFile
- if checkElemInList "$tcBatchPdftexMode" `listMfModes | sed 's@ .*@@'`; then
- set x `getRes "$tcBatchPdftexMode"`; shift
- fmgrConfigReplace pdftexconfig.tex 'pdfpkresolution' "\\pdfpkresolution=$1"
- if $fmgrConfigReplaceChanged; then
- fmtutil --refresh
- fi
- else
- echo "$progname: unknown MODE \`$tcBatchPdftexMode' given as argument for \`$progname pdftex mode'" >&2
- rc=1
- fi
- ;;
- esac
- ;;
-
- paper)
- case $3 in
- letter|a4)
- tlmgr pdftex paper $3
- ;;
- #letter)
- # w="8.5 true in"; h="11 true in"
- # setupTmpDir
- # fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- # wChanged=$fmgrConfigReplaceChanged
- # fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- # if $wChanged || $fmgrConfigReplaceChanged; then
- # fmtutil --refresh
- # fi
- # ;;
- #a4)
- # w="210 true mm"; h="297 true mm"
- # fmgrConfigReplace pdftexconfig.tex pdfpagewidth '\pdfpagewidth='"$w"
- # wChanged=$fmgrConfigReplaceChanged
- # fmgrConfigReplace pdftexconfig.tex pdfpageheight '\pdfpageheight='"$h"
- # if $wChanged || $fmgrConfigReplaceChanged; then
- # fmtutil --refresh
- # fi
- # ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname pdftex paper'" >&2
- echo "$progname: try \`$progname pdftex paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname pdftex'" >&2
- echo "$progname: try \`$progname pdftex' for help" >&2
- rc=1
- ;;
- esac
+ abort "Use tlmgr paper pdftex"
;;
rehash)
@@ -1314,112 +1108,7 @@
# handle "xdvi paper PAPER"
xdvi)
- tcBatchXdviPapers='us "8.5x11"
-letter "8.5x11"
-ledger "17x11"
-tabloid "11x17"
-usr "11x8.5"
-legal "8.5x14"
-legalr "14x8.5"
-foolscap "13.5x17.0"
-foolscapr "17.0x13.5"
-a0 "84.1x118.9cm"
-a1 "59.4x84.1cm"
-a2 "42.0x59.4cm"
-a3 "29.7x42.0cm"
-a4 "21.0x29.7cm"
-a5 "14.8x21.0cm"
-a6 "10.5x14.8cm"
-a7 "7.4x10.5cm"
-a8 "5.2x7.4cm"
-a9 "3.7x5.2cm"
-a10 "2.6x3.7cm"
-a0r "118.9x84.1cm"
-a1r "84.1x59.4cm"
-a2r "59.4x42.0cm"
-a3r "42.0x29.7cm"
-a4r "29.7x21.0cm"
-a5r "21.0x14.8cm"
-a6r "14.8x10.5cm"
-a7r "10.5x7.4cm"
-a8r "7.4x5.2cm"
-a9r "5.2x3.7cm"
-a10r "3.7x2.6cm"
-b0 "100.0x141.4cm"
-b1 "70.7x100.0cm"
-b2 "50.0x70.7cm"
-b3 "35.3x50.0cm"
-b4 "25.0x35.3cm"
-b5 "17.6x25.0cm"
-b6 "12.5x17.6cm"
-b7 "8.8x12.5cm"
-b8 "6.2x8.8cm"
-b9 "4.4x6.2cm"
-b10 "3.1x4.4cm"
-b0r "141.4x100.0cm"
-b1r "100.0x70.7cm"
-b2r "70.7x50.0cm"
-b3r "50.0x35.3cm"
-b4r "35.3x25.0cm"
-b5r "25.0x17.6cm"
-b6r "17.6x12.5cm"
-b7r "12.5x8.8cm"
-b8r "8.8x6.2cm"
-b9r "6.2x4.4cm"
-b10r "4.4x3.1cm"
-c0 "91.7x129.7cm"
-c1 "64.8x91.7cm"
-c2 "45.8x64.8cm"
-c3 "32.4x45.8cm"
-c4 "22.9x32.4cm"
-c5 "16.2x22.9cm"
-c6 "11.4x16.2cm"
-c7 "8.1x11.4cm"
-c8 "5.7x8.1cm"
-c9 "4.0x5.7cm"
-c10 "2.8x4.0cm"
-c0r "129.7x91.7cm"
-c1r "91.7x64.8cm"
-c2r "64.8x45.8cm"
-c3r "45.8x32.4cm"
-c4r "32.4x22.9cm"
-c5r "22.9x16.2cm"
-c6r "16.2x11.4cm"
-c7r "11.4x8.1cm"
-c8r "8.1x5.7cm"
-c9r "5.7x4.0cm"
-c10r "4.0x2.8cm"'
- help="Usage: $progname xdvi paper PAPER
-
-Valid PAPER settings:
- a0 a0r a1 a1r a2 a2r a3 a3r a4 a4r a5 a5r a6 a6r a7 a7r a8 a8r a9 a9r a10 a10r
- b0 b0r b1 b1r b2 b2r b3 b3r b4 b4r b5 b5r b6 b6r b7 b7r b8 b8r b9 b9r b10 b10r
- c0 c0r c1 c1r c2 c2r c3 c3r c4 c4r c5 c5r c6 c6r c7 c7r c8 c8r c9 c9r c10 c10r
- us letter ledger tabloid usr legal legalr foolscap foolscapr"
- case $2 in
- paper-list)
- echo "$tcBatchXdviPapers"
- ;;
- paper)
- case $3 in
- [abc][0-9]|[abc]10|[abc][0-9]r|[abc]10r|us|letter|ledger|tabloid|usr|legal|legalr|foolscap|foolscapr)
- tlmgr xdvi paper $3
- # fmgrConfigReplace XDvi paper: "*paper: $3"
- ;;
- "") echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown PAPER \`$3' given as argument for \`$progname xdvi paper'" >&2
- echo "$progname: try \`$progname xdvi paper' for help" >&2
- rc=1 ;;
- esac ;;
- "")
- echo "$help" >&2; rc=1;;
- *)
- echo "$progname: unknown option \`$2' given as argument for \`$progname xdvi'" >&2
- echo "$progname: try \`$progname xdvi' for help" >&2
- rc=1
- ;;
- esac
+ abort "Use tlmgr paper xdvi"
;;
*)
echo "$progname: unknown option \`$1' given as argument for \`$progname'" >&2
Modified: trunk/Master/texmf-dist/doc/info/mf2pt1.info
===================================================================
--- trunk/Master/texmf-dist/doc/info/mf2pt1.info 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/doc/info/mf2pt1.info 2024-07-07 20:09:55 UTC (rev 71731)
@@ -1,6 +1,6 @@
-This is mf2pt1.info, produced by makeinfo version 6.8 from mf2pt1.texi.
+This is mf2pt1.info, produced by makeinfo version 7.1 from mf2pt1.texi.
-Copyright (C) 2005-2021 Scott Pakin
+Copyright © 2005-2024 Scott Pakin
@@ -27,9 +27,9 @@
mf2pt1
******
-'mf2pt1' is a tool that lets font designers design PostScript Type 1
+‘mf2pt1’ is a tool that lets font designers design PostScript Type 1
fonts using the Metafont language. The same source file can be used to
-produce both Type 1 ('.pfb') and bitmap ('.pk') fonts.
+produce both Type 1 (‘.pfb’) and bitmap (‘.pk’) fonts.
* Menu:
@@ -63,12 +63,12 @@
the Metafont language, but produce PostScript Type 1 output instead of
bitmaps.
- 'mf2pt1' helps bridge the gap between Metafont and Type 1 fonts.
-'mf2pt1' facilitates producing PostScript Type 1 fonts from a Metafont
+ ‘mf2pt1’ helps bridge the gap between Metafont and Type 1 fonts.
+‘mf2pt1’ facilitates producing PostScript Type 1 fonts from a Metafont
source file. It is _not_, as the name may imply, an automatic converter
-of arbitrary Metafont fonts to Type 1 format. 'mf2pt1' imposes a number
+of arbitrary Metafont fonts to Type 1 format. ‘mf2pt1’ imposes a number
of restrictions on the Metafont input. If these restrictions are met,
-'mf2pt1' will produce valid Type 1 output.
+‘mf2pt1’ will produce valid Type 1 output.
* Menu:
@@ -81,26 +81,26 @@
1.1 Requirements
================
-Before using 'mf2pt1', you will need to install the following programs:
+Before using ‘mf2pt1’, you will need to install the following programs:
Perl
- 'mf2pt1' is written in Perl. You will need a Perl interpreter to
+ ‘mf2pt1’ is written in Perl. You will need a Perl interpreter to
run it.
MetaPost
- 'mf2pt1' actually uses MetaPost, not Metafont, to produce
- PostScript output. Specifically, you will need the 'mpost'
- executable and the 'mfplain.mp' base file.
+ ‘mf2pt1’ actually uses MetaPost, not Metafont, to produce
+ PostScript output. Specifically, you will need the ‘mpost’
+ executable and the ‘mfplain.mp’ base file.
Type 1 Utilities
- Producing properly encoded Type 1 fonts is tricky. 'mf2pt1'
+ Producing properly encoded Type 1 fonts is tricky. ‘mf2pt1’
delegates the effort to the Type 1 Utilities, specifically, to the
- 't1asm' program within that suite.
+ ‘t1asm’ program within that suite.
FontForge (optional)
FontForge is a WYSIWYG, but scriptable, Type 1 font-editing
- program. Although FontForge is not strictly required for 'mf2pt1'
- to produce a Type 1 font, 'mf2pt1' uses FontForge when available to
+ program. Although FontForge is not strictly required for ‘mf2pt1’
+ to produce a Type 1 font, ‘mf2pt1’ uses FontForge when available to
autohint the generated Type 1 font, thereby making it look better
especially at lower resolutions.
@@ -115,7 +115,7 @@
designer to hint fonts manually for additional fine-tuning and to
convert among a variety of font formats, such as PostScript, TrueType,
and X Window fonts. FontForge is strongly recommended as a complement
-to 'mf2pt1'.
+to ‘mf2pt1’.
File: mf2pt1.info, Node: Installation, Prev: Requirements, Up: Introduction
@@ -123,51 +123,51 @@
1.2 Installation
================
-To install 'mf2pt1', move the 'mf2pt1' executable someplace where your
+To install ‘mf2pt1’, move the ‘mf2pt1’ executable someplace where your
operating system can find it. If you're running Microsoft Windows, you
-should rename the program to 'mf2pt1.pl', so that Windows knows it's a
-Perl script. (Alternatively, if you have 'pl2bat', use that to produce
-a 'mf2pt1.bat' file, which you can run as simply 'mf2pt1'.)
+should rename the program to ‘mf2pt1.pl’, so that Windows knows it's a
+Perl script. (Alternatively, if you have ‘pl2bat’, use that to produce
+a ‘mf2pt1.bat’ file, which you can run as simply ‘mf2pt1’.)
- The next step is to produce a 'mf2pt1.mem' file from the supplied
-'mf2pt1.mp'. The command to do this differs from system to system but
+ The next step is to produce a ‘mf2pt1.mem’ file from the supplied
+‘mf2pt1.mp’. The command to do this differs from system to system but
is usually something like the following:
mpost -progname=mpost -ini mf2pt1 \\dump
- Move the resulting 'mf2pt1.mem' file someplace where MetaPost can
+ Move the resulting ‘mf2pt1.mem’ file someplace where MetaPost can
find it.
- The 'mf2pt1' documentation (what you're reading now) is written in
+ The ‘mf2pt1’ documentation (what you're reading now) is written in
Texinfo and can therefore easily be converted to a variety of formats:
-PDF ('mf2pt1.pdf')
+PDF (‘mf2pt1.pdf’)
texi2pdf mf2pt1.texi
-PostScript ('mf2pt1.ps')
+PostScript (‘mf2pt1.ps’)
texi2dvi mf2pt1.texi
dvips mf2pt1.dvi -o mf2pt1.ps
-HTML ('mf2pt1.html')
+HTML (‘mf2pt1.html’)
makeinfo --html mf2pt1.texi
-Info ('mf2pt1.info')
+Info (‘mf2pt1.info’)
makeinfo mf2pt1.texi
-N.B. The 'install-info' command is a convenient way to install
-'mf2pt1.info' on your system.
+N.B. The ‘install-info’ command is a convenient way to install
+‘mf2pt1.info’ on your system.
- On Unix, you may also want to generate an 'mf2pt1' man page. The man
-page is embedded within the 'mf2pt1' Perl script and can be extracted
-with 'pod2man':
+ On Unix, you may also want to generate an ‘mf2pt1’ man page. The man
+page is embedded within the ‘mf2pt1’ Perl script and can be extracted
+with ‘pod2man’:
- pod2man --center="User Commands" --date="4 December 2021" \
- --release="v2.7" mf2pt1 > mf2pt1.1
+ pod2man --center="User Commands" --date="6 July 2024" \
+ --release="v2.8" 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
+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
is primarily a list of the command-line options (*note Font
information::) and a pointer to the document that you're reading now.
@@ -177,7 +177,7 @@
2 Usage
*******
-'mf2pt1' is fairly straightforward to use. To process a Metafont source
+‘mf2pt1’ is fairly straightforward to use. To process a Metafont source
file, merely specify the filename:
mf2pt1 myfont.mf
@@ -185,30 +185,30 @@
That simple command automatically performs all of the following
operations:
- 1. Read 'myfont.mf'.
+ 1. Read ‘myfont.mf’.
- 2. Use 'mpost' to convert each character to a separate Encapsulated
- PostScript (EPS) file named 'myfont.NUM'.
+ 2. Use ‘mpost’ to convert each character to a separate Encapsulated
+ PostScript (EPS) file named ‘myfont.NUM’.
3. Process and merge the EPS files into a single "disassembled" Type 1
- font called 'myfont.pt1'.
+ font called ‘myfont.pt1’.
- 4. Run 't1asm' from the Type 1 Utilities to convert the disassembled
- font into a true, binary Type 1 font called 'myfont.pfb'.
+ 4. Run ‘t1asm’ from the Type 1 Utilities to convert the disassembled
+ font into a true, binary Type 1 font called ‘myfont.pfb’.
- 5. Invoke 'fontforge' to apply rendering hints to 'myfont.pfb' and to
+ 5. Invoke ‘fontforge’ to apply rendering hints to ‘myfont.pfb’ and to
attempt to remove overlapping paths.
- The external programs launched by 'mf2pt1'--'mpost', 't1asm', and
-'fontforge'--can be overridden by setting the eponymous, uppercase
+ The external programs launched by ‘mf2pt1’--‘mpost’, ‘t1asm’, and
+‘fontforge’--can be overridden by setting the eponymous, uppercase
environment variable. For example, invoking FontForge's predecessor,
PfaEdit, instead of FontForge is simply a matter of setting the
-'FONTFORGE' environment variable to 'pfaedit' before invoking 'mf2pt1'.
-As a corollary, you can inhibit an 'mf2pt1' external program from
+‘FONTFORGE’ environment variable to ‘pfaedit’ before invoking ‘mf2pt1’.
+As a corollary, you can inhibit an ‘mf2pt1’ external program from
running by setting the corresponding environment variable to the name of
a nonexistent program. Arguments can be included in the environment
-variable's value. Hence, defining 'MPOST' to 'mpost -recorder', for
-instance, instructs 'mf2pt1' to run 'mpost' with the '-recorder' option.
+variable's value. Hence, defining ‘MPOST’ to ‘mpost -recorder’, for
+instance, instructs ‘mf2pt1’ to run ‘mpost’ with the ‘-recorder’ option.
* Menu:
@@ -224,15 +224,15 @@
2.1 Restrictions
================
-If 'mf2pt1' sounds too good to be true, it is--somewhat. 'mf2pt1' is
+If ‘mf2pt1’ sounds too good to be true, it is--somewhat. ‘mf2pt1’ is
not a general-purpose Metafont-to-Type 1 converter. Rather, it can
convert only certain Metafont constructs. This is not a showstopper for
-new fonts designed with 'mf2pt1' in mind, but it is unlikely that
-'mf2pt1' will work on an arbitrary Metafont source file.
+new fonts designed with ‘mf2pt1’ in mind, but it is unlikely that
+‘mf2pt1’ will work on an arbitrary Metafont source file.
- 'mf2pt1''s biggest restriction is that each glyph must be drawn
+ ‘mf2pt1’'s biggest restriction is that each glyph must be drawn
entirely from closed paths, using Metafont's *fill* and *unfill*
-commands. ('mf2pt1' has limited support for *draw* and *undraw*, but
+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
@@ -239,11 +239,11 @@
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
+ font, ‘mf2pt1’ instructs FontForge to replace overlapping paths
with nonoverlapping paths.
2. Remove overlaps using Metafont code within the font program itself.
- A '.zip' file attachment to a 6 January 2005 article
+ A ‘.zip’ file attachment to a 6 January 2005 article
(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
@@ -250,20 +250,20 @@
assists with that task. The library provides a *find_outlines*
command which can be used to define a path as the union of two
other paths. A number of MetaPost example programs are also
- included in the '.zip' file.
+ included in the ‘.zip’ file.
3. Design your fonts from the beginning without using overlapping
paths.
- A secondary restriction is that 'mf2pt1' redefines a number of Plain
+ A secondary restriction is that ‘mf2pt1’ redefines a number of Plain
Metafont commands, such as *beginchar*, *fill*, and *unfill*. Metafont
font programs which redefine or bypass these (using Metafont primitives)
-will not be convertible with 'mf2pt1'.
+will not be convertible with ‘mf2pt1’.
- A far less severe restriction is due to 'mf2pt1''s utilizing
+ A far less severe restriction is due to ‘mf2pt1’'s utilizing
MetaPost's Metafont interface instead of Metafont itself. The
-implication is that commands not defined by MetaPost's 'mfplain.mp'
-cannot be handled by 'mf2pt1', either. Very few fonts will have a
+implication is that commands not defined by MetaPost's ‘mfplain.mp’
+cannot be handled by ‘mf2pt1’, either. Very few fonts will have a
problem with this restriction but see the MetaPost manual for more
information.
@@ -279,7 +279,7 @@
interword stretchability and shrinkability, and other design
characteristics that TeX makes use of. PostScript fonts utilize a
largely different set of font parameters, such as the underline position
-and thickness, font family name, and copyright notice. 'mf2pt1'
+and thickness, font family name, and copyright notice. ‘mf2pt1’
provides Metafont commands to define the PostScript font parameters in
the generated Type 1 font. These parameters should appear in the
Metafont source file as follows:
@@ -288,9 +288,9 @@
...
fi
-'ps_output' is defined by 'mf2pt1' but not by Plain Metafont. Checking
+‘ps_output’ is defined by ‘mf2pt1’ but not by Plain Metafont. Checking
if it is known is the recommended way to determine if the font is being
-built under 'mf2pt1'.
+built under ‘mf2pt1’.
* Menu:
@@ -306,23 +306,23 @@
----------------
The following list presents all of the font-information commands
-provided by 'mf2pt1' and describes what each command means. Commands
+provided by ‘mf2pt1’ and describes what each command means. Commands
marked with an asterisk are also defined by Plain Metafont and therefore
-do not need to be enveloped within a test for 'ps_output'.
+do not need to be enveloped within a test for ‘ps_output’.
*font_coding_scheme*
The mapping between character numbers and PostScript names. If
- this is the name of a file, 'mf2pt1' expects it to contain
+ this is the name of a file, ‘mf2pt1’ expects it to contain
PostScript code defining a font-encoding vector. *Note Custom font
encodings::, for an example of such a file. If
- *font_coding_scheme* is not the name of a file, 'mf2pt1' expects it
- to be one of the literal strings 'standard' (Adobe standard
- encoding), 'isolatin1' (ISO Latin 1 encoding), 'ot1' (TeX 7-bit
- encoding), 't1' (TeX 8-bit encoding), or 'asis' (encoding
+ *font_coding_scheme* is not the name of a file, ‘mf2pt1’ expects it
+ to be one of the literal strings ‘standard’ (Adobe standard
+ encoding), ‘isolatin1’ (ISO Latin 1 encoding), ‘ot1’ (TeX 7-bit
+ encoding), ‘t1’ (TeX 8-bit encoding), or ‘asis’ (encoding
integrated with the character programs using the *glyph_name*
command as described in *note Custom font encodings::). Anything
- else will generate a warning message and cause 'mf2pt1' to use
- 'standard' instead.
+ else will generate a warning message and cause ‘mf2pt1’ to use
+ ‘standard’ instead.
*font_comment*
A textual comment that will appear within the generated font. This
@@ -330,7 +330,7 @@
*font_family*
The family that this font belongs to. For example, "Utopia Bold
- Italic" belongs to the 'Utopia' family.
+ Italic" belongs to the ‘Utopia’ family.
*font_fixed_pitch*
Whether the font is monospaced (if *true*) or or proportionally
@@ -337,13 +337,13 @@
spaced (if *false*).
*font_identifier (*)*
- The full name of the font, e.g., 'Utopia Bold Italic'.
+ The full name of the font, e.g., ‘Utopia Bold Italic’.
*font_name*
The symbolic font name, used to load the font from a PostScript
document. Spaces are forbidden. Generally, the font name is of
- the form 'FAMILY-MODIFIERS'. For example, the font name of Utopia
- Bold Italic would be 'Utopia-BoldItalic'.
+ the form ‘FAMILY-MODIFIERS’. For example, the font name of Utopia
+ Bold Italic would be ‘Utopia-BoldItalic’.
*font_size (*)*
The font design size. This is specified in "sharped" units within
@@ -351,7 +351,7 @@
*font_slant (*)*
When specified with *font_slant*, the amount of slant per point.
- When specified with '--italicangle', the angle in counterclockwise
+ When specified with ‘--italicangle’, the angle in counterclockwise
degrees from the vertical (i.e., zero for an upright font, negative
for a right-slanting italic font).
@@ -369,18 +369,18 @@
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
+ 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
- 'MMM.MMM', where MMM is the major version number and MMM is the
+ ‘MMM.MMM’, where MMM is the major version number and MMM is the
minor version number.
*font_weight*
The font weight. For example, the font weight of Utopia Bold
- Italic is 'Bold'.
+ Italic is ‘Bold’.
File: mf2pt1.info, Node: Command-line equivalents, Next: Default values, Prev: Parameters, Up: Font information
@@ -392,36 +392,36 @@
command-line equivalent. Their use is discouraged but they are listed
here for completeness:
-*font_coding_scheme* '--encoding'
+*font_coding_scheme* ‘--encoding’
-*font_comment* '--comment'
+*font_comment* ‘--comment’
-*font_family* '--family'
+*font_family* ‘--family’
-*font_fixed_pitch* '--fixedpitch'
+*font_fixed_pitch* ‘--fixedpitch’
-*font_identifier* '--fullname'
+*font_identifier* ‘--fullname’
-*font_name* '--name'
+*font_name* ‘--name’
-*font_size* '--designsize'
+*font_size* ‘--designsize’
-*font_slant* '--italicangle'
+*font_slant* ‘--italicangle’
-*font_underline_position* '--underpos'
+*font_underline_position* ‘--underpos’
-*font_underline_thickness* '--underthick'
+*font_underline_thickness* ‘--underthick’
-*font_unique_id* '--uniqueid'
+*font_unique_id* ‘--uniqueid’
-*font_version* '--fontversion'
+*font_version* ‘--fontversion’
-*font_weight* '--weight'
+*font_weight* ‘--weight’
- A special case is '--fixedpitch' which does not take an argument.
-Rather, you should use '--fixedpitch' as the equivalent of
-'font_fixed_pitch true' and '--nofixedpitch' as the equivalent of
-'font_fixed_pitch false'.
+ A special case is ‘--fixedpitch’ which does not take an argument.
+Rather, you should use ‘--fixedpitch’ as the equivalent of
+‘font_fixed_pitch true’ and ‘--nofixedpitch’ as the equivalent of
+‘font_fixed_pitch false’.
File: mf2pt1.info, Node: Default values, Next: Parameter example, Prev: Command-line equivalents, Up: Font information
@@ -432,11 +432,11 @@
The next table lists the Metafont type and default value of each of the
parameters listed in *note Parameters::.
-*font_coding_scheme* *string* '"standard"'
+*font_coding_scheme* *string* ‘"standard"’
-*font_comment* *string* '"Font converted to
+*font_comment* *string* ‘"Font converted to
Type 1 by mf2pt1, written
- by Scott Pakin."'
+ by Scott Pakin."’
*font_family* *string* (The value of
*font_identifier*)
@@ -444,7 +444,7 @@
*font_fixed_pitch* *boolean* *false*
*font_identifier* *string* (The input filename,
- minus '.mf')
+ minus ‘.mf’)
*font_name* *string* (The value of
*font_family*, plus an
@@ -453,7 +453,7 @@
with all spaces removed)
*font_size* *numeric* (Must be specified or
- 'mf2pt1' will abort with
+ ‘mf2pt1’ will abort with
an error message)
*font_slant* *numeric* 0
@@ -466,9 +466,9 @@
the range
4000000-4999999)
-*font_version* *string* '"001.000"'
+*font_version* *string* ‘"001.000"’
-*font_weight* *string* '"Medium"'
+*font_weight* *string* ‘"Medium"’
@@ -478,11 +478,11 @@
-----------------------
As an example, the following Metafont code shows the usage of all of the
-parameters that 'mf2pt1' accepts:
+parameters that ‘mf2pt1’ accepts:
if known ps_output:
font_coding_scheme "ot1";
- font_comment "Copyright (C) 2021 Scott Pakin.";
+ font_comment "Copyright (C) 2005-2024 Scott Pakin.";
font_family "Kerplotz";
font_fixed_pitch false;
font_identifier "Kerplotz Light Oblique";
@@ -492,8 +492,7 @@
font_slant 1/6;
font_underline_position -1pt#;
font_underline_thickness 1/2pt#;
- font_unique_id "4112233"; % Better to omit
- this.
+ font_unique_id "4112233"; % Better to omit this.
font_version "002.005";
font_weight "Light";
fi
@@ -501,12 +500,12 @@
In the above, the *font_fixed_pitch* call could have been omitted, as it
defaults to *false*. Also, unless you've requested a unique ID from
Adobe, it's generally better not to assign *font_unique_id*; let
-'mf2pt1' choose a random value itself.
+‘mf2pt1’ choose a random value itself.
The same parameters can also be specified on the command line as
follows:
- mf2pt1 --encoding=ot1 --comment="Copyright (C) 2021 Scott Pakin."
+ mf2pt1 --encoding=ot1 --comment="Copyright (C) 2005-2024 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
@@ -516,7 +515,7 @@
angle of approximately -9.5. The conversion formula is slant =
-tan(angle). In addition, the underline position and thickness must be
multiplied by 1000/*font_size* to convert from the Metafont units that
-are used within the '.mf' file to the PostScript units that are used on
+are used within the ‘.mf’ file to the PostScript units that are used on
the command line.
@@ -526,29 +525,29 @@
===================================
In addition to the command-line options for setting font parameters that
-were presented in *note Parameters::, 'mf2pt1' supports a '--rounding'
-option. While 'mf2pt1' normally rounds all font coordinates to the
-nearest integer, '--rounding' increases coordinate precision by
-instructing 'mf2pt1' to round instead to the nearest multiple of a given
-fractional number. For example, '--rounding=0.25' rounds the coordinate
+were presented in *note Parameters::, ‘mf2pt1’ supports a ‘--rounding’
+option. While ‘mf2pt1’ normally rounds all font coordinates to the
+nearest integer, ‘--rounding’ increases coordinate precision by
+instructing ‘mf2pt1’ to round instead to the nearest multiple of a given
+fractional number. For example, ‘--rounding=0.25’ rounds the coordinate
(7.4, 10.3) to (7.5, 10.25) while it would otherwise be rounded to the
less-precise (7, 10).
Large glyphs can be problematic in MetaPost and therefore in
-'mf2pt1'. Unlike Metafont, MetaPost does not honor 'mag' for magnifying
+‘mf2pt1’. Unlike Metafont, MetaPost does not honor ‘mag’ for magnifying
dimensions. Rather, the number of PostScript (a.k.a. "big") points per
-pixel--'bpppix'--is hardwired to 0.02 and all other dimensions ('mm',
-'in', 'pt', etc.) are expressed in terms of that. Consequently, glyphs
+pixel--‘bpppix’--is hardwired to 0.02 and all other dimensions (‘mm’,
+‘in’, ‘pt’, etc.) are expressed in terms of that. Consequently, glyphs
that multiply a large number of font units by a dimension are likely to
exceed 4096, the largest value that MetaPost can represent in its
fixed-point format. If numerical overflow becomes a problem you can use
-the '--bpppix' option to 'mf2pt1' to change the value of 'bpppix'. For
-example, specifying '--bpppix=0.2' enables a tenfold increase in maximum
+the ‘--bpppix’ option to ‘mf2pt1’ to change the value of ‘bpppix’. For
+example, specifying ‘--bpppix=0.2’ enables a tenfold increase in maximum
glyph size (with a corresponding decrease in precision).
- After generating a Type 1 font, 'mf2pt1' runs it through FontForge to
+ After generating a Type 1 font, ‘mf2pt1’ runs it through FontForge to
add hinting information, remove overlaps, and otherwise clean up the
-generated font. The '--ffscript' option specifies the filename of a
+generated font. The ‘--ffscript’ option specifies the filename of a
FontForge script to use instead of the default script, which is listed
below:
@@ -566,10 +565,10 @@
See the FontForge documentation for an explanation of each of those
commands and a description of other commands made available to FontForge
-scripts. 'mf2pt1' runs the script with one argument ('$1'), which is
-the name of the generated '.pfb' file.
+scripts. ‘mf2pt1’ runs the script with one argument (‘$1’), which is
+the name of the generated ‘.pfb’ file.
- 'mf2pt1' also supports a '--help' option which summarizes all of the
+ ‘mf2pt1’ also supports a ‘--help’ option which summarizes all of the
program's command-line options.
@@ -579,12 +578,12 @@
=========================
*note Parameters::, lists the font encodings currently supported by
-'mf2pt1' and mentions that an alternate encoding can be specified by
+‘mf2pt1’ and mentions that an alternate encoding can be specified by
providing the name of an encoding file. To elaborate, the following
example represents the contents of an encoding file which defines
a--largely useless nowadays--EBCDIC font encoding:
- '% Sample encoding vector: EBCDIC
+ ‘% Sample encoding vector: EBCDIC
% The encoding vector must have a name and be defined as a
PostScript array.
@@ -614,16 +613,16 @@
/_a237 /_a238 /_a239 /zero /one /two /three /four /five /six /seven
/eight /nine /_a250 /_a251 /_a252 /_a253 /_a254 /_a255
% Don't forget to end the array.
- ] def'
+ ] def’
All entries in the encoding vector are PostScript "names" and
therefore must be prefixed with a slash. Unnamed characters such as
-control characters are commonly named '_aNUMBER', where NUMBER is the
+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
+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
@@ -630,7 +629,7 @@
or by executing a *glyph_name* command within a character definition.
For example, the following code overrides the character position passed
to *beginchar* (i.e., 123) with whatever character position the current
-encoding has designated for the 'ohungarumlaut' glyph:
+encoding has designated for the ‘ohungarumlaut’ glyph:
beginchar (123, cap_height#-1/2pt#, cap_height#, 0);
if known ps_output:
@@ -642,17 +641,17 @@
File: mf2pt1.info, Node: Restoring mfplain defaults, Prev: Custom font encodings, Up: Usage
-2.5 Restoring 'mfplain' defaults
+2.5 Restoring ‘mfplain’ defaults
================================
-'mf2pt1' normally redefines *filldraw* as *fill* and *unfilldraw* and
+‘mf2pt1’ normally redefines *filldraw* as *fill* and *unfilldraw* as
*unfill* because Type 1 fonts don't allow overlapping curves.
-Similarly, 'mf2pt1' redefines *pencircle* as a 20-gon to coerce MetaPost
+Similarly, ‘mf2pt1’ redefines *pencircle* as a 20-gon to coerce MetaPost
into drawing it using a filled instead of a stroked PostScript path.
If you know you'll be postprocessing your fonts using FontForge,
which can automatically convert overlapping paths to nonoverlapping
-paths, then you can restore the original 'mfplain.mp' definitions of
+paths, then you can restore the original ‘mfplain.mp’ definitions of
*filldraw*, *unfilldraw*, and *pencircle* as follows:
if known ps_output:
@@ -677,29 +676,29 @@
completely different manner. Type 1 hints distinguish key character
features, such as stems and dots, from decorations which can be
discarded at low resolutions. The PostScript interpreter uses that
-information to determine how to map points to pixels. Although 'mf2pt1'
+information to determine how to map points to pixels. Although ‘mf2pt1’
employs FontForge to autohint the fonts it generates, the approach is
mechanical and unlikely to hint as well as a human can do manually. It
-would be convenient for 'mf2pt1' one day to provide Metafont commands
+would be convenient for ‘mf2pt1’ one day to provide Metafont commands
for *hstem*, *vstem*, *dotsection*, and the other Type 1 hints. That
way, hints will no longer need to be re-added manually every time
-'mf2pt1' regenerates a Type 1 font.
+‘mf2pt1’ regenerates a Type 1 font.
- Another future addition to 'mf2pt1' is the addition of more font
-encodings. The following are the encodings that 'mf2pt1' will most
+ Another future addition to ‘mf2pt1’ is the addition of more font
+encodings. The following are the encodings that ‘mf2pt1’ will most
likely accept:
-'TeXMathItalicEncoding'
+‘TeXMathItalicEncoding’
Upper- and lowercase Greek and Latin letters, old-style digits, and
a few symbols and accents.
-'TeXMathSymbolEncoding'
+‘TeXMathSymbolEncoding’
A variety of symbols, as well as calligraphic Latin majuscules.
-'TeXMathExtensionEncoding'
+‘TeXMathExtensionEncoding’
Variable-sized symbols, such as braces, integrals, and radicals.
-'AdobeExpert'
+‘AdobeExpert’
Small caps, currency symbols, old-style digits, and various
superior and inferior letters and digits.
@@ -710,43 +709,43 @@
***************
Many thanks are owed to Werner Lemberg for writing the code underlying
-the '--rounding' option; for introducing the *glyph_name* command and
-'asis' encoding vector; for providing the default FontForge script
+the ‘--rounding’ option; for introducing the *glyph_name* command and
+‘asis’ encoding vector; for providing the default FontForge script
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
+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
-improvements to 'mf2pt1'. Thanks also go to Werner Lemberg and Boguslaw
-Jackowski for updating the *is_clockwise* function in 'mf2pt1.mp' to
+_is_clockwise_ functions used by ‘mf2pt1.mp’; for proposing the
+‘--bpppix’ command-line option; and for suggesting numerous 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
+‘--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: Top628
-Node: Introduction1166
-Node: Requirements2998
-Node: Installation4731
-Node: Usage6545
-Node: Restrictions8449
-Node: Font information10827
-Node: Parameters12185
-Node: Command-line equivalents15660
-Node: Default values17141
-Node: Parameter example19361
-Node: Additional command-line options21370
-Node: Custom font encodings23710
-Node: Restoring mfplain defaults27160
-Node: Future Work28019
-Node: Acknowledgments29883
+Node: Top627
+Node: Introduction1177
+Node: Requirements3025
+Node: Installation4798
+Node: Usage6696
+Node: Restrictions8688
+Node: Font information11122
+Node: Parameters12496
+Node: Command-line equivalents16047
+Node: Default values17600
+Node: Parameter example19844
+Node: Additional command-line options21843
+Node: Custom font encodings24275
+Node: Restoring mfplain defaults27761
+Node: Future Work28635
+Node: Acknowledgments30535
End Tag Table
Modified: trunk/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/support/mf2pt1/ChangeLog 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/doc/support/mf2pt1/ChangeLog 2024-07-07 20:09:55 UTC (rev 71731)
@@ -1,5 +1,16 @@
-2021-12-04 Scott Pakin <pakin at pakin.org>
+2024-07-06 Scott Pakin <scott+mf at pakin.org>
+ * README, mf2pt1.texi, mf2pt1.mp, mf2pt1.pl: Updated the copyright
+ year to 2024.
+
+ * mf2pt1.pl: Applied a patch from Werner Lemberg <wl at gnu.org> that
+ adds extrema later in the FontForge postprocessing script. This
+ patch originally was submitted as a LilyPond merge request
+ (https://gitlab.com/lilypond/lilypond/-/merge_requests/2374).
+ Updated the program version to 2.8.
+
+2021-12-04 Scott Pakin <scott+mf at pakin.org>
+
* README, mf2pt1.texi: Updated the copyright year to 2021.
* mf2pt1.pl:
@@ -7,7 +18,7 @@
already exist. Updated the copyright year to 2021. Updated the
version to 2.7.
-2021-11-28 Scott Pakin <pakin at pakin.org>
+2021-11-28 Scott Pakin <scott+mf at pakin.org>
* Makefile, mf2pt1.pl, mf2pt1.texi:
Documented that environment variables for programs can now include
@@ -18,13 +29,13 @@
commands to be overridden by environment variables that can also
include program parameters.
-2021-11-27 Scott Pakin <pakin at pakin.org>
+2021-11-27 Scott Pakin <scott+mf at pakin.org>
* mf2pt1.pl:
Introduced a --save-temps option to suppress deletion of intermediate
files.
-2020-11-27 Scott Pakin <pakin at pakin.org>
+2020-11-27 Scott Pakin <scott+mf at pakin.org>
* ChangeLog, README, mf2pt1.mp, mf2pt1.pl, mf2pt1.texi:
mf2pt1 no longer generates a UniqueID automatically, only when
Modified: trunk/Master/texmf-dist/doc/support/mf2pt1/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/mf2pt1/README 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/doc/support/mf2pt1/README 2024-07-07 20:09:55 UTC (rev 71731)
@@ -27,7 +27,7 @@
Copyright and license
---------------------
-Copyright (C) 2005-2021 Scott Pakin, scott+mf at pakin.org
+Copyright (C) 2005-2024 Scott Pakin, scott+mf at 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
Modified: trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
===================================================================
--- trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi 2024-07-07 20:09:55 UTC (rev 71731)
@@ -11,7 +11,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2005--2021 Scott Pakin
+Copyright @copyright{} 2005--2024 Scott Pakin
@sp 2
@@ -30,8 +30,8 @@
@end copying
- at set VERSION 2.7
- at set DATE 4 December 2021
+ at set VERSION 2.8
+ at set DATE 6 July 2024
@c Define some fonts we intend to use.
@iftex
@@ -679,9 +679,9 @@
@noindent
@b{if} known @i{ps_output}:
- at multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2021 Scott Pakin.";}}
+ at multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2005-2024 Scott Pakin.";}}
@item @tab @b{font_coding_scheme} @tab @t{"ot1"};
- at item @tab @b{font_comment} @tab @t{"Copyright (C) 2021 Scott Pakin."};
+ at item @tab @b{font_comment} @tab @t{"Copyright (C) 2005-2024 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"};
@@ -708,7 +708,7 @@
follows:
@example
-mf2pt1 --encoding=ot1 --comment="Copyright (C) 2021 Scott Pakin."
+mf2pt1 --encoding=ot1 --comment="Copyright (C) 2005-2024 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
@@ -881,7 +881,7 @@
@section Restoring @file{mfplain} defaults
@command{mf2pt1} normally redefines @strong{filldraw} as @strong{fill}
-and @strong{unfilldraw} and @strong{unfill} because @w{Type 1} fonts
+and @strong{unfilldraw} as @strong{unfill} because @w{Type 1} fonts
don't allow overlapping curves. Similarly, @command{mf2pt1} redefines
@strong{pencircle} as a 20-gon to coerce MetaPost into drawing it
using a filled instead of a stroked PostScript path.
@@ -957,7 +957,7 @@
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 numerous features and
improvements to @command{mf2pt1}. Thanks also go to Werner Lemberg
and
@iftex
Modified: trunk/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp
===================================================================
--- trunk/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/metapost/mf2pt1/mf2pt1.mp 2024-07-07 20:09:55 UTC (rev 71731)
@@ -10,7 +10,7 @@
%%%% ==================================================================== %%%%
%%%% mf2pt1 %%%%
-%%%% Copyright (C) 2005-2020 Scott Pakin %%%%
+%%%% Copyright (C) 2005-2024 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 %%%%
Modified: trunk/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl 2024-07-07 15:56:43 UTC (rev 71730)
+++ trunk/Master/texmf-dist/scripts/mf2pt1/mf2pt1.pl 2024-07-07 20:09:55 UTC (rev 71731)
@@ -7,7 +7,7 @@
########################################################################
# mf2pt1 #
-# Copyright (C) 2005-2021 Scott Pakin #
+# Copyright (C) 2005-2024 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.7"; # mf2pt1 version number
+our $VERSION = "2.8"; # mf2pt1 version number
require 5.6.1; # I haven't tested mf2pt1 with older Perl versions
use Cwd;
@@ -161,7 +161,7 @@
my $filenoext;
my $versionmsg = "mf2pt1 version $VERSION
-Copyright (C) 2005-2021 Scott Pakin
+Copyright (C) 2005-2024 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
@@ -1006,9 +1006,9 @@
Open($1);
SelectAll();
RemoveOverlap();
-AddExtrema();
Simplify(0, 2);
CorrectDirection();
+AddExtrema(1);
Simplify(0, 2);
RoundToInt();
AutoHint();
More information about the tex-live-commits
mailing list.