texlive[53602] trunk: mktextfm: if envvar MF_MODE_EXTRA_INFO is set,
commits+karl at tug.org
commits+karl at tug.org
Thu Jan 30 23:18:33 CET 2020
Revision: 53602
http://tug.org/svn/texlive?view=revision&revision=53602
Author: karl
Date: 2020-01-30 23:18:33 +0100 (Thu, 30 Jan 2020)
Log Message:
-----------
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.
Modified Paths:
--------------
trunk/Build/source/texk/texlive/tl_scripts/ChangeLog
trunk/Build/source/texk/texlive/tl_scripts/mktextfm.1
trunk/Master/texmf-dist/scripts/texlive/mktexpk
trunk/Master/texmf-dist/scripts/texlive/mktextfm
Modified: trunk/Build/source/texk/texlive/tl_scripts/ChangeLog
===================================================================
--- trunk/Build/source/texk/texlive/tl_scripts/ChangeLog 2020-01-30 19:18:37 UTC (rev 53601)
+++ trunk/Build/source/texk/texlive/tl_scripts/ChangeLog 2020-01-30 22:18:33 UTC (rev 53602)
@@ -1,3 +1,7 @@
+2020-01-30 Karl Berry <karl at tug.org>
+
+ * mktextfm.1: mention new MF_MODE_EXTRA_INFO feature.
+
2019-12-29 Karl Berry <karl at tug.org>
* mktexlsr.1,
Modified: trunk/Build/source/texk/texlive/tl_scripts/mktextfm.1
===================================================================
--- trunk/Build/source/texk/texlive/tl_scripts/mktextfm.1 2020-01-30 19:18:37 UTC (rev 53601)
+++ trunk/Build/source/texk/texlive/tl_scripts/mktextfm.1 2020-01-30 22:18:33 UTC (rev 53602)
@@ -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 @@
.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
-The name of the generated file is printed on standard output.
+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 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 @@
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 at tug.org (https://lists.tug.org/tex-k)
+.br
+\*(TX Live home page: https://tug.org/texlive/
Modified: trunk/Master/texmf-dist/scripts/texlive/mktexpk
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/mktexpk 2020-01-30 19:18:37 UTC (rev 53601)
+++ trunk/Master/texmf-dist/scripts/texlive/mktexpk 2020-01-30 22:18:33 UTC (rev 53602)
@@ -20,7 +20,7 @@
--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 @@
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 at 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 @@
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
Modified: trunk/Master/texmf-dist/scripts/texlive/mktextfm
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/mktextfm 2020-01-30 19:18:37 UTC (rev 53601)
+++ trunk/Master/texmf-dist/scripts/texlive/mktextfm 2020-01-30 22:18:33 UTC (rev 53602)
@@ -21,15 +21,22 @@
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 at 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 @@
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"
More information about the tex-live-commits
mailing list.