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.