summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-30 22:18:33 +0000
committerKarl Berry <karl@freefriends.org>2020-01-30 22:18:33 +0000
commit13800a0ec9fb7e249177aa42ce788abf9e51bf98 (patch)
treeac1074a29a74f333308494cc32703cb6f78ae928
parentf439140058968120a5b503357a62b8e3b495c6d5 (diff)
mktextfm: if envvar MF_MODE_EXTRA_INFO is set, include the codingscheme
and other Xerox-world info in the .tfm; works with modes.mf 4.0 and later. Update man page. mktexpk: doc fixes. git-svn-id: svn://tug.org/texlive/trunk@53602 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/texlive/tl_scripts/ChangeLog4
-rw-r--r--Build/source/texk/texlive/tl_scripts/mktextfm.181
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/mktexpk14
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/mktextfm28
4 files changed, 89 insertions, 38 deletions
diff --git a/Build/source/texk/texlive/tl_scripts/ChangeLog b/Build/source/texk/texlive/tl_scripts/ChangeLog
index 38f3e96aadd..28d54bcd39a 100644
--- a/Build/source/texk/texlive/tl_scripts/ChangeLog
+++ b/Build/source/texk/texlive/tl_scripts/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-30 Karl Berry <karl@tug.org>
+
+ * mktextfm.1: mention new MF_MODE_EXTRA_INFO feature.
+
2019-12-29 Karl Berry <karl@tug.org>
* mktexlsr.1,
diff --git a/Build/source/texk/texlive/tl_scripts/mktextfm.1 b/Build/source/texk/texlive/tl_scripts/mktextfm.1
index 38c068862f1..4e269d34086 100644
--- a/Build/source/texk/texlive/tl_scripts/mktextfm.1
+++ b/Build/source/texk/texlive/tl_scripts/mktextfm.1
@@ -1,20 +1,9 @@
-.TH MKTEXTFM 1 "1 March 2011" "Kpathsea @VERSION@"
+.TH MKTEXTFM 1 "30 January 2020" "TeX Live" "User Commands"
.\"=====================================================================
-.if n .ds MP MetaPost
-.if t .ds MP MetaPost
+.if t .ds MF Metafont
.if n .ds MF Metafont
-.if t .ds MF M\s-2ETAFONT\s0
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
-.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP for troff
-.el .ds OX TeX for nroff
-.\" the same but obliqued
-.\" BX definition must follow TX so BX can use TX
-.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
-.if n .ds BX BibTeX
-.\" LX definition must follow TX so LX can use TX
-.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
-.if n .ds LX LaTeX
.\"=====================================================================
.SH NAME
mktextfm \- create a TFM file for a font
@@ -24,26 +13,30 @@ mktextfm \- create a TFM file for a font
.I font
.\"=====================================================================
.SH DESCRIPTION
-This manual page is not meant to be exhaustive. The complete
-documentation for this version of \*(TX can be found in the info file
-or manual
-.IR "Kpathsea: A library for path searching" .
-.PP
.B mktextfm
-is used to generate a
-.I tfm
-file from the \*(MF source files for
+is used to generate a tfm file from the \*(MF source files for
.IR font ,
+or
+.BR hbf2gf (1),
if possible. If
.I destdir
is given, the generated file will be installed there, otherwise a
-(rather complicated) heuristic is used.
+(rather complicated) heuristic is used. If the tfm file already exists
+in the destination location, this is reported and nothing is done.
+.PP
+If a GF (Generic Font) bitmap file is also generated, as is typical with
+\(*MF, it is converted to PK (Packed Font) and installed similarly.
.PP
-The name of the generated file is printed on standard output.
+The full pathname of the generated file is printed on standard output.
+.PP
+If available, the
+.BR mf-nowin (1)
+variant of \*(MF is used to generate fonts to avoid the possibility of
+online display.
.PP
.B mktextfm
-is typically called by other programs, rather than from the command
-line.
+is typically called by other programs, via Kpathsea, rather than from
+the command line.
.\"=====================================================================
.SH OPTIONS
.B mktextfm
@@ -55,11 +48,45 @@ Otherwise, it is appended to the root destination directory set in the
script.
.TP
.B --help
-Print help message and exit.
+Print help message and exit successfully.
.TP
.B --version
-Print version information and exit.
+Print version information and exit successfully.
+.\"=====================================================================
+.SH ENVIRONMENT
+One environment variable is specific to
+.BR mktextfm :
+.BR MF_MODE_EXTRA_INFO .
+If this is set to a non-empty value, a \*(MF macro
+.B mode_include_extra_info
+will be invoked when the font is made. The standard
+.B modes.mf
+file defines this, as of modes.mf version 4.0, released in 2020.
+This causes the so-called Xerox-world information, notably including the
+.B CODINGSCHEME
+for the font, to be included in the tfm file. (This is not done by
+default since it is too intrusive to redefine the necessary primitives,
+per Don Knuth.) The
+.BR mftrace (1)
+program, for example, can use this to get a clue about the font
+encoding, although the information is not always perfectly definitive or
+unambiguous.
+.PP
+For more about the encodings of \*(MF fonts, see the section ``Bitmap
+font encodings'' in the Dvips manual (e.g.,
+https://tug.org/texinfohtml/dvips.html).
+.PP
+The many other environment variables and various configuration files
+that control a \*(TX system also affect the behavior of
+.BR mktextfm ,
+as usual.
.\"=====================================================================
.SH "SEE ALSO"
+.BR mf (1),
.BR mktexmf (1),
.BR mktexpk (1).
+.\"=====================================================================
+.SH "REPORTING BUGS"
+Report bugs to: tex-k@tug.org (https://lists.tug.org/tex-k)
+.br
+\*(TX Live home page: https://tug.org/texlive/
diff --git a/Master/texmf-dist/scripts/texlive/mktexpk b/Master/texmf-dist/scripts/texlive/mktexpk
index 4eaafb1d94e..9e9b9eac514 100755
--- a/Master/texmf-dist/scripts/texlive/mktexpk
+++ b/Master/texmf-dist/scripts/texlive/mktexpk
@@ -20,7 +20,7 @@ usage="Usage: $progname [OPTIONS] NAME [REDIRECT],
--dpi DPI use resolution DPI.
--bdpi BDPI use base resolution BDPI.
---mag MAG use magnificiation MAG.
+--mag MAG use magnification MAG.
--mfmode MODE use MODE as the METAFONT mode.
--destdir DESTDIR write fonts in DESTDIR.
@@ -35,15 +35,15 @@ newly created pk file.
If you expected the font to be available as an outline, and thus this
script does not work and should not have been called, most likely the
-font's .tfm name is missing from the relevant map file (e.g.,
-psfonts.map for dvips, pdftex.map for pdftex). These map files are
-typically maintained using updmap; q.v.
+font's .tfm name is missing from the relevant map file (i.e.,
+psfonts.map for dvips-syntax programs, pdftex.map for pdftex-syntax
+programs). These map files are typically maintained using updmap; q.v.
For step-by-step instructions on making new fonts known to TeX, see
-http://tug.org/fonts/fontinstall.html.
+https://tug.org/fonts/fontinstall.html.
Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
+TeX Live home page: <https://tug.org/texlive/>
"
# Handle non-positional options, except for --version/--help
@@ -144,7 +144,7 @@ if kpsewhich $NAME.mf >/dev/null 2>&1 || mktexmf $NAME >/dev/null 2>&1; then
8000) MODE=dpdfezzz;;
*) echo "$progname: Can't guess mode for $BDPI dpi devices." >&2
echo "$progname: Use a config file or option to specify the mode; see:" >&2
- echo "$progname: http://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts" >&2
+ echo "$progname: https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts" >&2
exit 1
esac
fi
diff --git a/Master/texmf-dist/scripts/texlive/mktextfm b/Master/texmf-dist/scripts/texlive/mktextfm
index d2c132aad89..c2c7cfb51cf 100755
--- a/Master/texmf-dist/scripts/texlive/mktextfm
+++ b/Master/texmf-dist/scripts/texlive/mktextfm
@@ -21,15 +21,22 @@ Makes a TFM file for FONT, if possible. Use DESTDIR for the root of where
to install into, either the absolute directory name to use (if it starts
with a /) or relative to the default DESTDIR (if not).
+See the mktexpk and updmap help messages for more general information on
+making fonts available.
+
+If the environment variable MF_MODE_EXTRA_INFO is non-empty, the
+codingscheme and other so-called Xerox-world information will be
+included in the tfm file.
+
Report bugs to: tex-k@tug.org
-TeX Live home page: <http://tug.org/texlive/>
+TeX Live home page: <https://tug.org/texlive/>
"
# Handle non-positional options, except for --version/--help
while test $# -gt 0; do
case "$1" in
- --destdir) shift; DEST="$1"; shift ;;
- --destdir=*) DEST=`echo "$1" | sed 's/--destdir=//'`; shift ;;
+ --destdir|-destdir) shift; DEST="$1"; shift ;;
+ --destdir=*|-destdir=*) DEST=`echo "$1" | sed 's/--*destdir=//'`; shift ;;
--version|-version) break ;;
--help|-help) break ;;
*) break ;;
@@ -99,7 +106,20 @@ else
MF=mf
fi
- cmd="$MF \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME"
+ # The idea here is to provide a programmatic way to get the
+ # codingscheme and other so-called Xerox-world information into the
+ # tfm: if the envvar MF_MODE_EXTRA_INFO is set, then modes.mf (as of
+ # the 3.9 release in January 2020) will arrange for that. We do not
+ # do this by default because Knuth objected.
+ #
+ if test -n "$MF_MODE_EXTRA_INFO"; then
+ mf_extra_info="if known mode_include_extra_info_available: "
+ mf_extra_info="$mf_extra_info mode_include_extra_info fi"
+ else
+ mf_extra_info=""
+ fi
+
+ cmd="$MF \mode:=$MODE; mag:=$MAG; $mf_extra_info; nonstopmode; input $NAME"
fi
echo "$progname: Running $cmd"