summaryrefslogtreecommitdiff
path: root/Build/source/texk
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-04-09 06:30:33 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-04-09 06:30:33 +0000
commitd170ae99c358f2add1c0076626bb0204d778b914 (patch)
tree558aaacc6c3523ac95a28af9b606ff76274774a0 /Build/source/texk
parent9e9d3aab7049dce8d82a1a13ab7dd695d235cfd6 (diff)
dvispc: accept FNTDEF between PRE--BOP and between EOP--BOP.
git-svn-id: svn://tug.org/texlive/trunk@62986 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk')
-rw-r--r--Build/source/texk/dviout-util/COPYING2
-rw-r--r--Build/source/texk/dviout-util/ChangeLog11
-rw-r--r--Build/source/texk/dviout-util/Makefile.am10
-rw-r--r--Build/source/texk/dviout-util/Makefile.in19
-rwxr-xr-xBuild/source/texk/dviout-util/configure24
-rw-r--r--Build/source/texk/dviout-util/configure.ac4
-rw-r--r--Build/source/texk/dviout-util/dd.h1
-rw-r--r--Build/source/texk/dviout-util/dvispc.c81
-rwxr-xr-xBuild/source/texk/dviout-util/dvispc.test32
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef0-dtl.txt168
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef0.dvibin0 -> 1084 bytes
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef0.tex12
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef0.txt215
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef1.dvibin0 -> 1084 bytes
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef1.txt215
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef2.dvibin0 -> 1084 bytes
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef2.txt215
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef3-dtl.txt180
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef3.dvibin0 -> 1096 bytes
-rw-r--r--Build/source/texk/dviout-util/tests/fntdef3.txt227
-rw-r--r--Build/source/texk/dviout-util/tests/put.txt2
-rw-r--r--Build/source/texk/dviout-util/tests/putj.txt2
22 files changed, 1373 insertions, 47 deletions
diff --git a/Build/source/texk/dviout-util/COPYING b/Build/source/texk/dviout-util/COPYING
index 4348292140f..a65f337eb06 100644
--- a/Build/source/texk/dviout-util/COPYING
+++ b/Build/source/texk/dviout-util/COPYING
@@ -2,7 +2,7 @@
Copyright (c) 1998-2011 Toshio OSHIMA, Yoshiki OTOBE, Kazunori ASAYAMA.
Copyright (c) 2017-2018 Hironobu YAMASHITA
-Copyright (c) 2018- Japanese TeX Development Community
+Copyright (c) 2018-2022 Japanese TeX Development Community
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/Build/source/texk/dviout-util/ChangeLog b/Build/source/texk/dviout-util/ChangeLog
index c49ff4748e5..5feecf8be57 100644
--- a/Build/source/texk/dviout-util/ChangeLog
+++ b/Build/source/texk/dviout-util/ChangeLog
@@ -1,3 +1,14 @@
+2022-04-09 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * dvispc.c, dd.h:
+ Accept FNTDEF between PRE--BOP and between EOP--BOP.
+ * dvispc.test, tests/fntdef0.tex, tests/fntdef[0123].{dvi,txt},
+ tests/fntdef[03]-dtl,txt, tests/put{,j}.txt, Makefile.am:
+ Add new tests.
+ * configure.ac: Version 20220409.
+ * COPYING: Copyright year.
+ https://github.com/texjporg/tex-jp-build/issues/138
+
2021-07-18 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* dvispc.c: Output text files by "wb" mode.
diff --git a/Build/source/texk/dviout-util/Makefile.am b/Build/source/texk/dviout-util/Makefile.am
index daf51918c50..314ae946dee 100644
--- a/Build/source/texk/dviout-util/Makefile.am
+++ b/Build/source/texk/dviout-util/Makefile.am
@@ -49,8 +49,14 @@ EXTRA_DIST += tests/oldindep.spc \
tests/longspec.tex tests/longspec.dvi \
tests/flatnest.tex tests/flatnest.dvi \
tests/jisx0208.dvi tests/jisx0208.txt \
- tests/putj.dump.dvi tests/putj.dump.txt \
- tests/put.dump.dvi tests/put.dump.txt
+ tests/putj.dump.dvi tests/putj.txt \
+ tests/put.dump.dvi tests/put.txt \
+ tests/fntdef0.tex \
+ tests/fntdef0.dvi tests/fntdef0.txt \
+ tests/fntdef1.dvi tests/fntdef1.txt \
+ tests/fntdef2.dvi tests/fntdef2.txt \
+ tests/fntdef3.dvi tests/fntdef3.txt \
+ tests/fntdef0-dtl.txt tests/fntdef3-dtl.txt
DISTCLEANFILES = x*oldindep.spc \
x*oldindepa.txt x*oldindepax.dvi \
x*oldindep.dry x*oldindepout.dvi \
diff --git a/Build/source/texk/dviout-util/Makefile.in b/Build/source/texk/dviout-util/Makefile.in
index 7c7c5606ba1..edc7c189a46 100644
--- a/Build/source/texk/dviout-util/Makefile.in
+++ b/Build/source/texk/dviout-util/Makefile.in
@@ -574,14 +574,17 @@ EXTRA_DIST = $(TESTS) tests/oldindep.spc tests/oldindep.tex \
tests/annot.tex tests/annot.dvi tests/longspec.tex \
tests/longspec.dvi tests/flatnest.tex tests/flatnest.dvi \
tests/jisx0208.dvi tests/jisx0208.txt tests/putj.dump.dvi \
- tests/putj.dump.txt tests/put.dump.dvi tests/put.dump.txt \
- tests/oldindep.cfn tests/jis.tfm tests/jis.cfn \
- tests/eufm10.tfm tests/eufm10.cfn tests/cmr10.pk \
- tests/cmr10.cfn tests/upjisr-h.vf tests/upsjir-h.cfn \
- tests/uparse.tfm tests/uparse.cfn tests/skipjfmp.tfm \
- tests/skipjfmp.cfn tests/upphirakakuw3-h.tfm \
- tests/upphirakakuw3-h.cfn tests/upphirakakuw6-h.tfm \
- tests/upphirakakuw6-h.cfn
+ tests/putj.txt tests/put.dump.dvi tests/put.txt \
+ tests/fntdef0.tex tests/fntdef0.dvi tests/fntdef0.txt \
+ tests/fntdef1.dvi tests/fntdef1.txt tests/fntdef2.dvi \
+ tests/fntdef2.txt tests/fntdef3.dvi tests/fntdef3.txt \
+ tests/fntdef0-dtl.txt tests/fntdef3-dtl.txt tests/oldindep.cfn \
+ tests/jis.tfm tests/jis.cfn tests/eufm10.tfm tests/eufm10.cfn \
+ tests/cmr10.pk tests/cmr10.cfn tests/upjisr-h.vf \
+ tests/upsjir-h.cfn tests/uparse.tfm tests/uparse.cfn \
+ tests/skipjfmp.tfm tests/skipjfmp.cfn \
+ tests/upphirakakuw3-h.tfm tests/upphirakakuw3-h.cfn \
+ tests/upphirakakuw6-h.tfm tests/upphirakakuw6-h.cfn
DISTCLEANFILES = x*oldindep.spc x*oldindepa.txt x*oldindepax.dvi \
x*oldindep.dry x*oldindepout.dvi x*underout.dvi x*tpicpn.dry \
x*tpicpnout.dvi x*tpicsh.dry x*reverse.dry x*reverseout.dvi \
diff --git a/Build/source/texk/dviout-util/configure b/Build/source/texk/dviout-util/configure
index 5e1561c992f..20113da6b84 100755
--- a/Build/source/texk/dviout-util/configure
+++ b/Build/source/texk/dviout-util/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for dviout-util (TeX Live) 20200501.
+# Generated by GNU Autoconf 2.71 for dviout-util (TeX Live) 20220409.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -629,8 +629,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dviout-util (TeX Live)'
PACKAGE_TARNAME='dviout-util--tex-live-'
-PACKAGE_VERSION='20200501'
-PACKAGE_STRING='dviout-util (TeX Live) 20200501'
+PACKAGE_VERSION='20220409'
+PACKAGE_STRING='dviout-util (TeX Live) 20220409'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1377,7 +1377,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dviout-util (TeX Live) 20200501 to adapt to many kinds of systems.
+\`configure' configures dviout-util (TeX Live) 20220409 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1449,7 +1449,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dviout-util (TeX Live) 20200501:";;
+ short | recursive ) echo "Configuration of dviout-util (TeX Live) 20220409:";;
esac
cat <<\_ACEOF
@@ -1570,7 +1570,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dviout-util (TeX Live) configure 20200501
+dviout-util (TeX Live) configure 20220409
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2094,7 +2094,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dviout-util (TeX Live) $as_me 20200501, which was
+It was created by dviout-util (TeX Live) $as_me 20220409, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -8416,7 +8416,7 @@ fi
# Define the identity of the package.
PACKAGE='dviout-util--tex-live-'
- VERSION='20200501'
+ VERSION='20220409'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -14124,7 +14124,7 @@ ac_config_headers="$ac_config_headers config.h"
-printf "%s\n" "#define TL_VERSION \"TeX Live 2023/dev\"" >>confdefs.h
+printf "%s\n" "#define TL_VERSION \"TeX Live 2022\"" >>confdefs.h
kpse_save_CPPFLAGS=$CPPFLAGS
@@ -14534,7 +14534,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dviout-util (TeX Live) config.lt 20200501
+dviout-util (TeX Live) config.lt 20220409
configured by $0, generated by GNU Autoconf 2.71.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16152,7 +16152,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dviout-util (TeX Live) $as_me 20200501, which was
+This file was extended by dviout-util (TeX Live) $as_me 20220409, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16220,7 +16220,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-dviout-util (TeX Live) config.status 20200501
+dviout-util (TeX Live) config.status 20220409
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dviout-util/configure.ac b/Build/source/texk/dviout-util/configure.ac
index afb5a893605..7d7ecbe1533 100644
--- a/Build/source/texk/dviout-util/configure.ac
+++ b/Build/source/texk/dviout-util/configure.ac
@@ -1,12 +1,12 @@
dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Copyright 2018-2020 Japanese TeX Development Community <issue@texjp.org>
+dnl Copyright 2018-2022 Japanese TeX Development Community <issue@texjp.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-AC_INIT([dviout-util (TeX Live)], [20200501], [tex-k@tug.org])
+AC_INIT([dviout-util (TeX Live)], [20220409], [tex-k@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([dvispc.c])
AC_CONFIG_AUX_DIR([../../build-aux])
diff --git a/Build/source/texk/dviout-util/dd.h b/Build/source/texk/dviout-util/dd.h
index ae14628d619..8a332b9c165 100644
--- a/Build/source/texk/dviout-util/dd.h
+++ b/Build/source/texk/dviout-util/dd.h
@@ -707,6 +707,7 @@ extern FILE *fopenf(char*, char*);
#define FNT1 235
#define XXX1 239
#define FNT_DEF_1 243
+#define FNT_DEF_4 246
#define PRE 247
#define POST 248
#define POST_POST 249
diff --git a/Build/source/texk/dviout-util/dvispc.c b/Build/source/texk/dviout-util/dvispc.c
index 1d60e79fe2f..60777e846dc 100644
--- a/Build/source/texk/dviout-util/dvispc.c
+++ b/Build/source/texk/dviout-util/dvispc.c
@@ -191,6 +191,7 @@ struct DIMENSION_REC {
#define FNT1 235
#define XXX1 239
#define FNT_DEF_1 243
+#define FNT_DEF_4 246
#define PRE 247
#define POST 248
#define POST_POST 249
@@ -1809,6 +1810,56 @@ void out_string(FILE *in, FILE *out, int len)
}
}
+
+void fontdef(FILE *dvi, int nn)
+{
+ int code, tmp = 0;
+ uint csum;
+
+ fprintf(fp_out, " %d", read_n(dvi, nn)); /* code */
+ csum = read_n(dvi, 4);
+ if(csum)
+ fprintf(fp_out,
+ (f_dtl&DTL_FNTDEF)?((f_dtl&DTL_OCT)?" %o%s":" 0%o%s"):
+ " 0x%X%s", csum, MSG("/c-sum")); /* chksum */
+ else
+ fprintf(fp_out, " 0%s", MSG("/c-sum"));
+ fprintf(fp_out, " %u%s", read_long(dvi), MSG("/s-size")); /* scaled size */
+ fprintf(fp_out, " %u%s", read_long(dvi), MSG("/d-size")); /* design size */
+ tmp = (uchar)read_byte(dvi);
+ fprintf(fp_out, " %d%s", tmp, MSG("/dir")); /* len:directry */
+ code = (uchar)read_byte(dvi);
+ fprintf(fp_out, " %d%s '", code, MSG("/name")); /* len:name */
+ while (tmp-- > 0)
+ putc(read_byte(dvi), fp_out);
+ if((f_dtl&DTL_FNTNAME))
+ fputs("' '", fp_out);
+ while(code-- > 0)
+ putc(read_byte(dvi), fp_out);
+ fputs("'\n", fp_out);
+}
+
+
+uchar skipnop(FILE *dvi)
+{
+ uchar code;
+
+ while (code = (uchar)getc(dvi)) {
+ if (code >= FNT_DEF_1 && code <= FNT_DEF_4) {
+ fprintf(fp_out, "%s", (f_dtl&DTL_CMD)?c235_name[code-FNT1]:cmd235_name[code-FNT1]);
+ fontdef(dvi, code-FNT_DEF_1+1);
+ continue;
+ }
+ else if (code == NOP) {
+ fprintf(fp_out, "%s\n", (f_dtl&DTL_CMD)?c128_name[code-128]:cmd128_name[code-128]);
+ continue;
+ }
+ break;
+ }
+ return code;
+}
+
+
/* preamble */
void transpre(FILE *dvi)
{
@@ -1826,6 +1877,7 @@ void transpre(FILE *dvi)
putc('\'', fp_out);
out_string(dvi, fp_out, len);
fputs("\'\n", fp_out);
+ skipnop(dvi);
}
@@ -1981,27 +2033,7 @@ skip_m: while(mode-- > 0)
continue;
case (2): /* fntdef */
- fprintf(fp_out, " %d", read_n(dvi, mode & 0xf)); /* code */
- csum = read_n(dvi, 4);
- if(csum)
- fprintf(fp_out,
- (f_dtl&DTL_FNTDEF)?((f_dtl&DTL_OCT)?" %o%s":" 0%o%s"):
- " 0x%X%s", csum, MSG("/c-sum")); /* chksum */
- else
- fprintf(fp_out, " 0%s", MSG("/c-sum"));
- fprintf(fp_out, " %u%s", read_long(dvi), MSG("/s-size")); /* scaled size */
- fprintf(fp_out, " %u%s", read_long(dvi), MSG("/d-size")); /* design size */
- tmp = (uchar)read_byte(dvi);
- fprintf(fp_out, " %d%s", tmp, MSG("/dir")); /* len:directry */
- code = (uchar)read_byte(dvi);
- fprintf(fp_out, " %d%s '", code, MSG("/name")); /* len:name */
- while (tmp-- > 0)
- putc(read_byte(dvi), fp_out);
- if((f_dtl&DTL_FNTNAME))
- fputs("' '", fp_out);
- while(code-- > 0)
- putc(read_byte(dvi), fp_out);
- fputs("'\n", fp_out);
+ fontdef(dvi, mode & 0xf);
continue;
/*
case (3):
@@ -2027,6 +2059,7 @@ skip_m: while(mode-- > 0)
if(f_pos)
fprintf(fp_out, "%ld: ", ftell(dvi)-1);
fputs((code==EOP)?"eop\n":"post_post", fp_out);
+ if (code==EOP) skipnop(dvi);
return ftell(dvi);
}
@@ -2339,7 +2372,7 @@ er1: fprintf(stderr, "Command after POST_POST\n");
goto err;
}
if(!f_in){
-er2: if(code < FNT_DEF_1 && code != BOP){
+er2: if(code < FNT_DEF_1 && code != NOP && code != BOP){
fprintf(stderr, "This command shoud be after BOP\n");
goto err;
}
@@ -2639,6 +2672,10 @@ put_num: write_n(a2i(get_next(base)), sub_number);
putc(a2i(get_next(s)), fp_out);
break;
+ case NOP:
+ putc(code, fp_out);
+ break;
+
default:
err: fprintf(stderr, "Error(line %d, code %d): %s\n", line, code, tmp_buf);
Exit(1);
diff --git a/Build/source/texk/dviout-util/dvispc.test b/Build/source/texk/dviout-util/dvispc.test
index ebdfa7ac76d..5efac00e35a 100755
--- a/Build/source/texk/dviout-util/dvispc.test
+++ b/Build/source/texk/dviout-util/dvispc.test
@@ -179,5 +179,37 @@ $DIFF $testdir/putj.txt putj.da.txt || exit 1
$DIFF $testdir/put.txt put.da.txt || exit 1
+## EXE2TEXT + EXE2DVI: different position of fntdef, nop
+./dvispc -a $testdir/fntdef0.dvi xfntdef0.txt || exit 2
+$DIFF $testdir/fntdef0.txt xfntdef0.txt || exit 1
+./dvispc -x xfntdef0.txt xfntdef0.dvi || exit 2
+$CMP $testdir/fntdef0.dvi xfntdef0.dvi || exit 1
+
+./dvispc -a $testdir/fntdef1.dvi xfntdef1.txt || exit 2
+$DIFF $testdir/fntdef1.txt xfntdef1.txt || exit 1
+./dvispc -x xfntdef1.txt xfntdef1.dvi || exit 2
+$CMP $testdir/fntdef1.dvi xfntdef1.dvi || exit 1
+
+./dvispc -a $testdir/fntdef2.dvi xfntdef2.txt || exit 2
+$DIFF $testdir/fntdef2.txt xfntdef2.txt || exit 1
+./dvispc -x xfntdef2.txt xfntdef2.dvi || exit 2
+$CMP $testdir/fntdef2.dvi xfntdef2.dvi || exit 1
+
+./dvispc -a $testdir/fntdef3.dvi xfntdef3.txt || exit 2
+$DIFF $testdir/fntdef3.txt xfntdef3.txt || exit 1
+./dvispc -x xfntdef3.txt xfntdef3.dvi || exit 2
+$CMP $testdir/fntdef3.dvi xfntdef3.dvi || exit 1
+
+./dvispc -a -t $testdir/fntdef0.dvi xfntdef0-dtl.txt || exit 2
+$DIFF $testdir/fntdef0-dtl.txt xfntdef0-dtl.txt || exit 1
+./dvispc -x xfntdef0-dtl.txt xfntdef0-dtl.dvi || exit 2
+$CMP $testdir/fntdef0.dvi xfntdef0-dtl.dvi || exit 1
+
+./dvispc -a -t $testdir/fntdef3.dvi xfntdef3-dtl.txt || exit 2
+$DIFF $testdir/fntdef3-dtl.txt xfntdef3-dtl.txt || exit 1
+./dvispc -x xfntdef3-dtl.txt xfntdef3-dtl.dvi || exit 2
+$CMP $testdir/fntdef3.dvi xfntdef3-dtl.dvi || exit 1
+
+
exit 0
diff --git a/Build/source/texk/dviout-util/tests/fntdef0-dtl.txt b/Build/source/texk/dviout-util/tests/fntdef0-dtl.txt
new file mode 100644
index 00000000000..8871e369749
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef0-dtl.txt
@@ -0,0 +1,168 @@
+variety sequences-6
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+bop 1 0 0 0 0 0 0 0 0 0 -1
+special1 31 'papersize=614.295pt,794.96999pt'
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+r3 4063232
+d4 -36044800
+special1 26 'header=l3backend-dvips.pro'
+d3 655360
+[
+r3 983040
+fd1 7 11374260171 655360 655360 0 5 '' 'cmr10'
+fn7
+\0C
+(rst)
+r3 218453
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+(1)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+bop 2 0 0 0 0 0 0 0 0 0 42
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fd1 24 3274421126 655360 655360 0 6 '' 'cmbx10'
+fn24
+(second)
+r3 251220
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+fn7
+(2)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+bop 3 0 0 0 0 0 0 0 0 0 318
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fd1 25 37500023472 655360 655360 0 6 '' 'cmti10'
+fn25
+(thir)
+w3 -33497
+(d)
+r3 234471
+(p)
+w0
+(age.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+fn7
+(3)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+bop 4 0 0 0 0 0 0 0 0 0 529
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fd1 26 16053430112 655360 655360 0 6 '' 'cmsl10'
+fn26
+(fourth)
+r3 218453
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+fn7
+(4)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+post 744 25400000 473628672 1000 41484288 26673152 3 4
+fd1 26 16053430112 655360 655360 0 6 '' 'cmsl10'
+fd1 25 37500023472 655360 655360 0 6 '' 'cmti10'
+fd1 24 3274421126 655360 655360 0 6 '' 'cmbx10'
+fd1 7 11374260171 655360 655360 0 5 '' 'cmr10'
+post_post 955 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/fntdef0.dvi b/Build/source/texk/dviout-util/tests/fntdef0.dvi
new file mode 100644
index 00000000000..e0772d27ea3
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef0.dvi
Binary files differ
diff --git a/Build/source/texk/dviout-util/tests/fntdef0.tex b/Build/source/texk/dviout-util/tests/fntdef0.tex
new file mode 100644
index 00000000000..c9773f1f1e7
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef0.tex
@@ -0,0 +1,12 @@
+% font definition
+\documentclass{article}
+\usepackage[dvips]{color}
+\begin{document}
+first page.
+\newpage
+\textbf{second page.}
+\newpage
+\textit{third page.}
+\newpage
+\textsl{fourth page.}
+\end{document}
diff --git a/Build/source/texk/dviout-util/tests/fntdef0.txt b/Build/source/texk/dviout-util/tests/fntdef0.txt
new file mode 100644
index 00000000000..89db68f39f4
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef0.txt
@@ -0,0 +1,215 @@
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+ [1]
+bop 1 0 0 0 0 0 0 0 0 0 -1
+xxx1 31 'papersize=614.295pt,794.96999pt'
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+right3 4063232
+down4 -36044800
+xxx1 26 'header=l3backend-dvips.pro'
+down3 655360
+push
+right3 983040
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+fntnum7
+setchar12
+setchar114
+setchar115
+setchar116
+ "rst"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+setchar49
+ "1"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [2]
+bop 2 0 0 0 0 0 0 0 0 0 42
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntnum24
+setchar115
+setchar101
+setchar99
+setchar111
+setchar110
+setchar100
+ "second"
+right3 251220
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar50
+ "2"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [3]
+bop 3 0 0 0 0 0 0 0 0 0 318
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntnum25
+setchar116
+setchar104
+setchar105
+setchar114
+ "thir"
+w3 -33497
+setchar100
+ "d"
+right3 234471
+setchar112
+ "p"
+w0
+setchar97
+setchar103
+setchar101
+setchar46
+ "age."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar51
+ "3"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [4]
+bop 4 0 0 0 0 0 0 0 0 0 529
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+fntnum26
+setchar102
+setchar111
+setchar117
+setchar114
+setchar116
+setchar104
+ "fourth"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar52
+ "4"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+post 744 25400000 473628672 1000 41484288 26673152 3 4
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+post_post 955 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/fntdef1.dvi b/Build/source/texk/dviout-util/tests/fntdef1.dvi
new file mode 100644
index 00000000000..f7eff548174
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef1.dvi
Binary files differ
diff --git a/Build/source/texk/dviout-util/tests/fntdef1.txt b/Build/source/texk/dviout-util/tests/fntdef1.txt
new file mode 100644
index 00000000000..3d2cfa76c6e
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef1.txt
@@ -0,0 +1,215 @@
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+ [1]
+bop 1 0 0 0 0 0 0 0 0 0 -1
+xxx1 31 'papersize=614.295pt,794.96999pt'
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+right3 4063232
+down4 -36044800
+xxx1 26 'header=l3backend-dvips.pro'
+down3 655360
+push
+right3 983040
+fntnum7
+setchar12
+setchar114
+setchar115
+setchar116
+ "rst"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+setchar49
+ "1"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [2]
+bop 2 0 0 0 0 0 0 0 0 0 129
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum24
+setchar115
+setchar101
+setchar99
+setchar111
+setchar110
+setchar100
+ "second"
+right3 251220
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar50
+ "2"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [3]
+bop 3 0 0 0 0 0 0 0 0 0 384
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum25
+setchar116
+setchar104
+setchar105
+setchar114
+ "thir"
+w3 -33497
+setchar100
+ "d"
+right3 234471
+setchar112
+ "p"
+w0
+setchar97
+setchar103
+setchar101
+setchar46
+ "age."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar51
+ "3"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+ [4]
+bop 4 0 0 0 0 0 0 0 0 0 573
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum26
+setchar102
+setchar111
+setchar117
+setchar114
+setchar116
+setchar104
+ "fourth"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar52
+ "4"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+post 766 25400000 473628672 1000 41484288 26673152 3 4
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+post_post 955 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/fntdef2.dvi b/Build/source/texk/dviout-util/tests/fntdef2.dvi
new file mode 100644
index 00000000000..d88fa721321
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef2.dvi
Binary files differ
diff --git a/Build/source/texk/dviout-util/tests/fntdef2.txt b/Build/source/texk/dviout-util/tests/fntdef2.txt
new file mode 100644
index 00000000000..9695f1e7c63
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef2.txt
@@ -0,0 +1,215 @@
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+ [1]
+bop 1 0 0 0 0 0 0 0 0 0 -1
+xxx1 31 'papersize=614.295pt,794.96999pt'
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+right3 4063232
+down4 -36044800
+xxx1 26 'header=l3backend-dvips.pro'
+down3 655360
+push
+right3 983040
+fntnum7
+setchar12
+setchar114
+setchar115
+setchar116
+ "rst"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+setchar49
+ "1"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+ [2]
+bop 2 0 0 0 0 0 0 0 0 0 63
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum24
+setchar115
+setchar101
+setchar99
+setchar111
+setchar110
+setchar100
+ "second"
+right3 251220
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar50
+ "2"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+ [3]
+bop 3 0 0 0 0 0 0 0 0 0 340
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum25
+setchar116
+setchar104
+setchar105
+setchar114
+ "thir"
+w3 -33497
+setchar100
+ "d"
+right3 234471
+setchar112
+ "p"
+w0
+setchar97
+setchar103
+setchar101
+setchar46
+ "age."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar51
+ "3"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+ [4]
+bop 4 0 0 0 0 0 0 0 0 0 551
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum26
+setchar102
+setchar111
+setchar117
+setchar114
+setchar116
+setchar104
+ "fourth"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar52
+ "4"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+post 766 25400000 473628672 1000 41484288 26673152 3 4
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+post_post 955 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/fntdef3-dtl.txt b/Build/source/texk/dviout-util/tests/fntdef3-dtl.txt
new file mode 100644
index 00000000000..008470af16d
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef3-dtl.txt
@@ -0,0 +1,180 @@
+variety sequences-6
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+nop
+fd1 7 11374260171 655360 655360 0 5 '' 'cmr10'
+nop
+bop 1 0 0 0 0 0 0 0 0 0 -1
+nop
+special1 31 'papersize=614.295pt,794.96999pt'
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+r3 4063232
+d4 -36044800
+special1 26 'header=l3backend-dvips.pro'
+d3 655360
+[
+r3 983040
+fn7
+\0C
+(rst)
+r3 218453
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+(1)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+nop
+fd1 24 3274421126 655360 655360 0 6 '' 'cmbx10'
+nop
+bop 2 0 0 0 0 0 0 0 0 0 65
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+nop
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fn24
+(second)
+r3 251220
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+nop
+[
+r4 11141120
+fn7
+(2)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+nop
+fd1 25 37500023472 655360 655360 0 6 '' 'cmti10'
+nop
+bop 3 0 0 0 0 0 0 0 0 0 345
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fn25
+(thir)
+w3 -33497
+(d)
+r3 234471
+(p)
+w0
+(age.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+fn7
+(3)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+nop
+eop
+nop
+fd1 26 16053430112 655360 655360 0 6 '' 'cmsl10'
+nop
+bop 4 0 0 0 0 0 0 0 0 0 560
+d4 41484288
+[
+d4 -39649280
+[
+[
+r3 4063232
+special1 17 'color push Black'
+r4 22609920
+special1 9 'color pop'
+]
+]
+d4 37683200
+[
+d4 -35389440
+[
+r3 5046272
+fn26
+(fourth)
+r3 218453
+(page.)
+]
+]
+d3 1966080
+[
+r3 4063232
+special1 17 'color push Black'
+[
+r4 11141120
+fn7
+(4)
+]
+r4 22609920
+special1 9 'color pop'
+]
+]
+eop
+post 778 25400000 473628672 1000 41484288 26673152 3 4
+fd1 26 16053430112 655360 655360 0 6 '' 'cmsl10'
+fd1 25 37500023472 655360 655360 0 6 '' 'cmti10'
+fd1 24 3274421126 655360 655360 0 6 '' 'cmbx10'
+fd1 7 11374260171 655360 655360 0 5 '' 'cmr10'
+post_post 967 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/fntdef3.dvi b/Build/source/texk/dviout-util/tests/fntdef3.dvi
new file mode 100644
index 00000000000..c3dec018e15
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef3.dvi
Binary files differ
diff --git a/Build/source/texk/dviout-util/tests/fntdef3.txt b/Build/source/texk/dviout-util/tests/fntdef3.txt
new file mode 100644
index 00000000000..e2f3709e75b
--- /dev/null
+++ b/Build/source/texk/dviout-util/tests/fntdef3.txt
@@ -0,0 +1,227 @@
+pre 2 25400000 473628672 1000 27 ' TeX output 2022.03.17:2207'
+nop
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+nop
+ [1]
+bop 1 0 0 0 0 0 0 0 0 0 -1
+nop
+xxx1 31 'papersize=614.295pt,794.96999pt'
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+right3 4063232
+down4 -36044800
+xxx1 26 'header=l3backend-dvips.pro'
+down3 655360
+push
+right3 983040
+fntnum7
+setchar12
+setchar114
+setchar115
+setchar116
+ "rst"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+setchar49
+ "1"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+nop
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+nop
+ [2]
+bop 2 0 0 0 0 0 0 0 0 0 65
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+nop
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum24
+setchar115
+setchar101
+setchar99
+setchar111
+setchar110
+setchar100
+ "second"
+right3 251220
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+nop
+push
+right4 11141120
+fntnum7
+setchar50
+ "2"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+nop
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+nop
+ [3]
+bop 3 0 0 0 0 0 0 0 0 0 345
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum25
+setchar116
+setchar104
+setchar105
+setchar114
+ "thir"
+w3 -33497
+setchar100
+ "d"
+right3 234471
+setchar112
+ "p"
+w0
+setchar97
+setchar103
+setchar101
+setchar46
+ "age."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar51
+ "3"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+nop
+eop
+nop
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+nop
+ [4]
+bop 4 0 0 0 0 0 0 0 0 0 560
+down4 41484288
+push
+down4 -39649280
+push
+push
+right3 4063232
+xxx1 17 'color push Black'
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+down4 37683200
+push
+down4 -35389440
+push
+right3 5046272
+fntnum26
+setchar102
+setchar111
+setchar117
+setchar114
+setchar116
+setchar104
+ "fourth"
+right3 218453
+setchar112
+setchar97
+setchar103
+setchar101
+setchar46
+ "page."
+pop
+pop
+down3 1966080
+push
+right3 4063232
+xxx1 17 'color push Black'
+push
+right4 11141120
+fntnum7
+setchar52
+ "4"
+pop
+right4 22609920
+xxx1 9 'color pop'
+pop
+pop
+eop
+post 778 25400000 473628672 1000 41484288 26673152 3 4
+fntdef1 26 0x70AE304A 655360 655360 0 6 'cmsl10'
+fntdef1 25 0xFD00273A 655360 655360 0 6 'cmti10'
+fntdef1 24 0x1AF22256 655360 655360 0 6 'cmbx10'
+fntdef1 7 0x4BF16079 655360 655360 0 5 'cmr10'
+post_post 967 2 223 223 223 223 223 223 223
diff --git a/Build/source/texk/dviout-util/tests/put.txt b/Build/source/texk/dviout-util/tests/put.txt
index 7542b6a7cb2..6a0e500442a 100644
--- a/Build/source/texk/dviout-util/tests/put.txt
+++ b/Build/source/texk/dviout-util/tests/put.txt
@@ -1,4 +1,6 @@
pre 2 25400000 473628672 1000 0 ''
+fntdef1 0 0 1310720 1310720 0 8 'upjisr-h'
+fntdef1 1 0 1310720 1310720 0 5 'cmr10'
[1]
bop 1 0 0 0 0 0 0 0 0 0 -1
fntnum0
diff --git a/Build/source/texk/dviout-util/tests/putj.txt b/Build/source/texk/dviout-util/tests/putj.txt
index c071eef5b0e..2245536af82 100644
--- a/Build/source/texk/dviout-util/tests/putj.txt
+++ b/Build/source/texk/dviout-util/tests/putj.txt
@@ -1,4 +1,6 @@
pre 2 25400000 473628672 1000 0 ''
+fntdef1 0 0 1310720 1310720 0 5 'min10'
+fntdef1 1 0 1310720 1310720 0 5 'cmr10'
[1]
bop 1 0 0 0 0 0 0 0 0 0 -1
fntnum0