From 3bbd721df0882f2147bb324f257b66754476fcbf Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Sat, 7 Dec 2013 11:21:45 +0000 Subject: Correctly handle 'vptovf foo.vpl bar vf' and 'ovp2ovf foo.ovp bar.ovf' (from TANAKA Takuji) pltotf, tftopl, vftovp, vptovf: Verify test output files git-svn-id: svn://tug.org/texlive/trunk@32351 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/ChangeLog | 10 ++++++++++ Build/source/texk/web2c/Makefile.in | 18 +++++++++--------- Build/source/texk/web2c/am/web.am | 4 ++-- Build/source/texk/web2c/cpascal.h | 1 + Build/source/texk/web2c/omegafonts/ChangeLog | 7 +++++++ Build/source/texk/web2c/omegafonts/Makefile.am | 2 +- Build/source/texk/web2c/omegafonts/Makefile.in | 4 ++-- Build/source/texk/web2c/omegafonts/omfonts.c | 2 +- Build/source/texk/web2c/omegafonts/selectfont.test | 8 +++++++- Build/source/texk/web2c/omegaware/ChangeLog | 11 +++++++++++ Build/source/texk/web2c/omegaware/am/omegaware.am | 4 ++-- Build/source/texk/web2c/omegaware/ofm2opl.ch | 10 ++++++---- Build/source/texk/web2c/omegaware/ofm2opl.web | 5 +++-- Build/source/texk/web2c/omegaware/opl2ofm.ch | 22 ++-------------------- Build/source/texk/web2c/omegaware/opl2ofm.web | 19 ++++--------------- Build/source/texk/web2c/omegaware/ovf2ovp.ch | 10 ++++++---- Build/source/texk/web2c/omegaware/ovf2ovp.web | 5 +++-- Build/source/texk/web2c/omegaware/ovp2ovf.ch | 4 ++-- Build/source/texk/web2c/omegaware/ovp2ovf.web | 11 +++-------- Build/source/texk/web2c/omegaware/selectfont.test | 8 +++++++- Build/source/texk/web2c/pltotf.test | 4 +++- Build/source/texk/web2c/tests/cmr10.pl | 1 + Build/source/texk/web2c/tftopl.test | 4 +++- Build/source/texk/web2c/vftovp.test | 4 +++- Build/source/texk/web2c/vptovf.ch | 2 +- Build/source/texk/web2c/vptovf.test | 15 +++++++++++++-- Build/source/texk/web2c/web2c/ChangeLog | 4 ++++ Build/source/texk/web2c/web2c/common.defines | 1 + 28 files changed, 118 insertions(+), 82 deletions(-) diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index 30e1b24fde9..79ab73b53a3 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,13 @@ +2013-12-06 Peter Breitenlohner + + * vptovf.ch: Use make_suffix() for implied tfm_name. + * cpascal.h (makesuffix): Add this to the underscore list. + * pltotf.test, tftopl.test, vftovp.test: Verify output files. + * vptovf.test: Add test for 'vptovf foo.vpl bar.vf' and verify + output files. + * tests/cmr10.pl: Add SEVENBITSAFEFLAG. + * am/web.am (DISTCLEANFILES): Additional files for vptovf.test. + 2013-09-20 Karl Berry * configure.ac (NATIVE_TEXLIVE_BUILD): new AC_DEFINE, diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in index 5a4f7fa04b2..878c8b9523e 100644 --- a/Build/source/texk/web2c/Makefile.in +++ b/Build/source/texk/web2c/Makefile.in @@ -1970,13 +1970,13 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \ tests/io.tex tests/xpatout pattmp.4 cmr10.gf \ tests/xcmr10.600gf tests/xcmr10.pktyp tests/xcmr10.tfm \ tests/xtexpool.typ tests/xcmr10.pl tests/xptmr.vpl \ - tests/xptmr.tfm tests/xptmr.vf pooltype.tex ctie.c cweave.c \ - tie.c ctie.outc ctie.outm common.tex common.scn common.idx \ - tie.outc tie.outm $(nodist_tex_SOURCES) tex-final.ch tex-web2c \ - tex.p tex.pool tex-tangle trip.diffs write18-quote.log \ - mftrap.diffs $(nodist_libmf_a_SOURCES) mf-final.ch mf-web2c \ - mf.p mf.pool mf-tangle $(nodist_mpost_SOURCES) mpxout-tangle \ - mptrap.diffs ptmr.mpx tests/xptmr.mpx tests/xstory.mpx \ + tests/yptmr*.* pooltype.tex ctie.c cweave.c tie.c ctie.outc \ + ctie.outm common.tex common.scn common.idx tie.outc tie.outm \ + $(nodist_tex_SOURCES) tex-final.ch tex-web2c tex.p tex.pool \ + tex-tangle trip.diffs write18-quote.log mftrap.diffs \ + $(nodist_libmf_a_SOURCES) mf-final.ch mf-web2c mf.p mf.pool \ + mf-tangle $(nodist_mpost_SOURCES) mpxout-tangle mptrap.diffs \ + ptmr.mpx tests/xptmr.mpx tests/xstory.mpx \ $(nodist_libmplib_a_SOURCES) mp-tangle mpmath-tangle \ mpmathdouble-tangle mpstrings-tangle psout-tangle \ svgout-tangle pngout-tangle $(nodist_etex_SOURCES) etex.web \ @@ -2015,8 +2015,8 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \ omegaware/tests/xCherokee.* omegaware/tests/xOCherokee.* \ ocftest.* omegaware/tests/xrealnum.* \ omegaware/tests/xrepeated.* omegaware/tests/sample*.ofm \ - omegaware/tests/sample.ovf omegaware/tests/sample1-h.opl \ - omegaware/tests/xsample.out omegaware/tests/specialhex.ofm \ + omegaware/tests/sample*.ovf omegaware/tests/sample1-h.opl \ + omegaware/tests/xsample*.out omegaware/tests/specialhex.ofm \ omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \ omegaware/tests/xspecialhex.* $(nodist_aleph_SOURCES) \ aleph.web aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle diff --git a/Build/source/texk/web2c/am/web.am b/Build/source/texk/web2c/am/web.am index 60c0746828a..1efa64b198f 100644 --- a/Build/source/texk/web2c/am/web.am +++ b/Build/source/texk/web2c/am/web.am @@ -1,6 +1,6 @@ ## texk/web2c/am/web.am: Makefile fragment for normal web programs (except tangle). ## -## Copyright (C) 2009-2011 Peter Breitenlohner +## Copyright (C) 2009-2013 Peter Breitenlohner ## You may freely use, modify and/or distribute this file. web_programs = bibtex dvicopy dvitype gftodvi gftopk gftype mft \ @@ -191,7 +191,7 @@ DISTCLEANFILES += tests/xcmr10.pl ## vftovp.test DISTCLEANFILES += tests/xptmr.vpl ## vptovf.test -DISTCLEANFILES += tests/xptmr.tfm tests/xptmr.vf +DISTCLEANFILES += tests/yptmr*.* ## weave.test DISTCLEANFILES += pooltype.tex diff --git a/Build/source/texk/web2c/cpascal.h b/Build/source/texk/web2c/cpascal.h index dcd6b495f87..d1dc83f4041 100644 --- a/Build/source/texk/web2c/cpascal.h +++ b/Build/source/texk/web2c/cpascal.h @@ -242,6 +242,7 @@ typedef const unsigned char *const_w2custring; are defined in C with _'s. */ #define extendfilename extend_filename #define findsuffix find_suffix +#define makesuffix make_suffix #define FOPENRBINMODE FOPEN_RBIN_MODE #define FOPENRMODE FOPEN_R_MODE #define getoptlongonly getopt_long_only diff --git a/Build/source/texk/web2c/omegafonts/ChangeLog b/Build/source/texk/web2c/omegafonts/ChangeLog index 6809118e740..8c2af72d2df 100644 --- a/Build/source/texk/web2c/omegafonts/ChangeLog +++ b/Build/source/texk/web2c/omegafonts/ChangeLog @@ -1,3 +1,10 @@ +2013-12-06 Peter Breitenlohner + + * omfonts.c (main): Use make_suffix() for implied ofm_name. + * selectfont.test: Add test for 'ovp2ovf foo.ovp bar.ovf'. + * Makefile.am (DISTCLEANFILES): Additional files. + Mail from TANAKA Takuji , 27 Nov 2013. + 2013-07-05 Peter Breitenlohner * omfonts.c (main): Use kpse_program_basename(). diff --git a/Build/source/texk/web2c/omegafonts/Makefile.am b/Build/source/texk/web2c/omegafonts/Makefile.am index 7e7fb7b6000..bc3fda25aaa 100644 --- a/Build/source/texk/web2c/omegafonts/Makefile.am +++ b/Build/source/texk/web2c/omegafonts/Makefile.am @@ -129,7 +129,7 @@ EXTRA_DIST += tests/repeat.opl tests/repeated.opl DISTCLEANFILES += tests/xrepeated.* ## selectfont.test EXTRA_DIST += tests/sample.out tests/sample.ovp tests/sample0-h.opl -DISTCLEANFILES += tests/sample*.ofm tests/sample.ovf tests/sample1-h.opl tests/xsample.out +DISTCLEANFILES += tests/sample*.ofm tests/sample*.ovf tests/sample1-h.opl tests/xsample*.out ## specialhex.test EXTRA_DIST += tests/specialhex.ovp DISTCLEANFILES += tests/specialhex.ofm tests/specialhex.opl \ diff --git a/Build/source/texk/web2c/omegafonts/Makefile.in b/Build/source/texk/web2c/omegafonts/Makefile.in index 5fa5a92b7b3..0ace84f551e 100644 --- a/Build/source/texk/web2c/omegafonts/Makefile.in +++ b/Build/source/texk/web2c/omegafonts/Makefile.in @@ -689,8 +689,8 @@ DISTCLEANFILES = pl-parser.output tests/charwdr.* tests/charwdv.* \ tests/xlevel1.ofm tests/xlevel1.opl tests/Cherokee.tfm \ tests/OCherokee.ofm tests/OCherokee.opl tests/OCherokee.ovf \ tests/xCherokee.* tests/xOCherokee.* tests/realnum.* \ - tests/xrepeated.* tests/sample*.ofm tests/sample.ovf \ - tests/sample1-h.opl tests/xsample.out tests/specialhex.ofm \ + tests/xrepeated.* tests/sample*.ofm tests/sample*.ovf \ + tests/sample1-h.opl tests/xsample*.out tests/specialhex.ofm \ tests/specialhex.opl tests/specialhex.ovf tests/xspecialhex.* linked_programs = ofm2opl opl2ofm ovf2ovp ovp2ovf bin_links = \ diff --git a/Build/source/texk/web2c/omegafonts/omfonts.c b/Build/source/texk/web2c/omegafonts/omfonts.c index afd94cff68f..09db093fd93 100644 --- a/Build/source/texk/web2c/omegafonts/omfonts.c +++ b/Build/source/texk/web2c/omegafonts/omfonts.c @@ -245,7 +245,7 @@ main (int argc, string *argv) if (optind+3 <= argc) { *(files[2]) = extend_filename(cmdline(optind+2) , suffixes[2]); } else if (program == PROG_OVP2OVF) { - *(files[2]) = extend_filename(cmdline(optind+1), suffixes[2]); + *(files[2]) = make_suffix(cmdline(optind+1), suffixes[2]); } } } else if (program != PROG_OFM2OPL) { diff --git a/Build/source/texk/web2c/omegafonts/selectfont.test b/Build/source/texk/web2c/omegafonts/selectfont.test index ddabe3de870..d6024571107 100755 --- a/Build/source/texk/web2c/omegafonts/selectfont.test +++ b/Build/source/texk/web2c/omegafonts/selectfont.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2011 Peter Breitenlohner +# Copyright (C) 2011-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. test -d tests || mkdir -p tests @@ -23,3 +23,9 @@ diff $srcdir/tests/sample0-h.opl tests/sample1-h.opl || exit 1 diff $srcdir/tests/sample.out tests/xsample.out || exit 1 +./omfonts -ovp2ovf -verbose $srcdir/tests/sample.ovp tests/sample2.ovf || exit 1 + +./omfonts -ovf2ovp -verbose tests/sample2 sample2 tests/xsample2.out || exit 1 + +diff $srcdir/tests/sample.out tests/xsample2.out || exit 1 + diff --git a/Build/source/texk/web2c/omegaware/ChangeLog b/Build/source/texk/web2c/omegaware/ChangeLog index 72ac00ec971..84570b1711f 100644 --- a/Build/source/texk/web2c/omegaware/ChangeLog +++ b/Build/source/texk/web2c/omegaware/ChangeLog @@ -1,3 +1,14 @@ +2013-12-06 Peter Breitenlohner + + * opl2ofm.{ch,web}: Drop ASCII_04, ASCII_10, ASCII_14, MBL_string, + RI_string, RCE_string (all unused). + * {opl2ofm,ovp2ovf}.web: Drop unused procedure out_digs(). + * {ofm2opl,opl2ofm,ovf2ovp,ovp2ovf}.{ch,web}: HEX has 16 bytes. + + * ovp2ovf.ch: Use make_suffix() for implied ofm_name. + * selectfont.test: Add test for 'ovp2ovf foo.ovp bar.ovf'. + * am/omegaware.am (DISTCLEANFILES): Additional files. + 2013-01-24 Peter Breitenlohner * otangle.test: Avoid spurious failure of parallel-tests. diff --git a/Build/source/texk/web2c/omegaware/am/omegaware.am b/Build/source/texk/web2c/omegaware/am/omegaware.am index 8e2ac0fd64b..e834e7790ca 100644 --- a/Build/source/texk/web2c/omegaware/am/omegaware.am +++ b/Build/source/texk/web2c/omegaware/am/omegaware.am @@ -156,8 +156,8 @@ DISTCLEANFILES += omegaware/tests/xrepeated.* ## omegaware/selectfont.test EXTRA_DIST += omegaware/tests/sample.out omegaware/tests/sample.ovp \ omegaware/tests/sample0-h.opl -DISTCLEANFILES += omegaware/tests/sample*.ofm omegaware/tests/sample.ovf \ - omegaware/tests/sample1-h.opl omegaware/tests/xsample.out +DISTCLEANFILES += omegaware/tests/sample*.ofm omegaware/tests/sample*.ovf \ + omegaware/tests/sample1-h.opl omegaware/tests/xsample*.out ## omegaware/specialhex.test EXTRA_DIST += omegaware/tests/specialhex.ovp DISTCLEANFILES += omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \ diff --git a/Build/source/texk/web2c/omegaware/ofm2opl.ch b/Build/source/texk/web2c/omegaware/ofm2opl.ch index fc71e983c9b..623f4b83a84 100644 --- a/Build/source/texk/web2c/omegaware/ofm2opl.ch +++ b/Build/source/texk/web2c/omegaware/ofm2opl.ch @@ -160,33 +160,35 @@ tfm_file_array % [27, 28] Change strings to C char pointers. The Pascal strings are % indexed starting at 1, so we pad with a blank. @x -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; +@!ASCII_04,@!ASCII_10,@!ASCII_14: packed array [1..32] of char; {strings for output in the user's external character set} @!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @y -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: const_c_string; +@!ASCII_04,@!ASCII_10,@!ASCII_14: const_c_string; {strings for output in the user's external character set} @!ASCII_all: packed array[0..256] of char; @!MBL_string,@!RI_string,@!RCE_string: const_c_string; {handy string constants for |face| codes} +@!HEX: const_c_string; @z @x ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~ ';@/ -HEX:='0123456789ABCDEF';@/ MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; +HEX:='0123456789ABCDEF';@/ @y ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:=' @@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:=' `abcdefghijklmnopqrstuvwxyz{|}~ ';@/ -HEX:=' 0123456789ABCDEF';@/ strcpy (ASCII_all, ASCII_04); strcat (ASCII_all, '@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'); strcat (ASCII_all, '`abcdefghijklmnopqrstuvwxyz{|}~');@/ MBL_string:=' MBL'; RI_string:=' RI '; RCE_string:=' RCE'; +HEX:=' 0123456789ABCDEF';@/ @z % [38] How we output the character code depends on |charcode_format|. diff --git a/Build/source/texk/web2c/omegaware/ofm2opl.web b/Build/source/texk/web2c/omegaware/ofm2opl.web index 3d0ee70bcc6..6769c20bba1 100644 --- a/Build/source/texk/web2c/omegaware/ofm2opl.web +++ b/Build/source/texk/web2c/omegaware/ofm2opl.web @@ -921,17 +921,18 @@ appropriate conversion of ASCII codes. Three other little strings are used to produce |face| codes like \.{MIE}. @= -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; +@!ASCII_04,@!ASCII_10,@!ASCII_14: packed array [1..32] of char; {strings for output in the user's external character set} @!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @ @= ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~ ';@/ -HEX:='0123456789ABCDEF';@/ MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; +HEX:='0123456789ABCDEF';@/ @ The array |dig| will hold a sequence of digits to be output. diff --git a/Build/source/texk/web2c/omegaware/opl2ofm.ch b/Build/source/texk/web2c/omegaware/opl2ofm.ch index d44734533a5..61ba2462ea1 100644 --- a/Build/source/texk/web2c/omegaware/opl2ofm.ch +++ b/Build/source/texk/web2c/omegaware/opl2ofm.ch @@ -147,33 +147,15 @@ if verbose then begin % [27, 28] Change strings to C char pointers. The Pascal strings are % indexed starting at 1, so we pad with a blank. @x -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; - {strings for output in the user's external character set} -@!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; - {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @y -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: const_c_string; - {strings for output in the user's external character set} -@!ASCII_all: packed array[0..256] of char; -@!MBL_string,@!RI_string,@!RCE_string: const_c_string; - {handy string constants for |face| codes} +@!HEX: const_c_string; @z @x -ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ -ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ -ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~ ';@/ HEX:='0123456789ABCDEF';@/ -MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; @y -ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ -ASCII_10:=' @@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ -ASCII_14:=' `abcdefghijklmnopqrstuvwxyz{|}~ ';@/ HEX:=' 0123456789ABCDEF';@/ -strcpy (ASCII_all, ASCII_04); -strcat (ASCII_all, '@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'); -strcat (ASCII_all, '`abcdefghijklmnopqrstuvwxyz{|}~');@/ -MBL_string:=' MBL'; RI_string:=' RI '; RCE_string:=' RCE'; @z @x [115] Output of reals. diff --git a/Build/source/texk/web2c/omegaware/opl2ofm.web b/Build/source/texk/web2c/omegaware/opl2ofm.web index e73f058c8b8..83ea0be20fb 100644 --- a/Build/source/texk/web2c/omegaware/opl2ofm.web +++ b/Build/source/texk/web2c/omegaware/opl2ofm.web @@ -2386,33 +2386,22 @@ end @ The input routine is now complete except for the following code, which prints a progress report as the file is being read. + @= -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; - {strings for output in the user's external character set} -@!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; - {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @ @= -ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ -ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ -ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~ ';@/ HEX:='0123456789ABCDEF';@/ -MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; @ The array |dig| will hold a sequence of digits to be output. @= @!dig:array[0..32] of integer; -@ Here, in fact, are two procedures that output +@ Here, in fact, is a procedure that prints |dig[j-1]|$\,\ldots\,$|dig[0]|, given $j>0$. -@p procedure out_digs(j:integer); {outputs |j| digits} -begin repeat decr(j); out(HEX[1+dig[j]]); -until j=0; -end; -@# -procedure print_digs(j:integer); {prints |j| digits} +@p procedure print_digs(j:integer); {prints |j| digits} begin repeat decr(j); print(HEX[1+dig[j]]); until j=0; end; diff --git a/Build/source/texk/web2c/omegaware/ovf2ovp.ch b/Build/source/texk/web2c/omegaware/ovf2ovp.ch index 2251354ce1b..a5af15e17db 100644 --- a/Build/source/texk/web2c/omegaware/ovf2ovp.ch +++ b/Build/source/texk/web2c/omegaware/ovf2ovp.ch @@ -266,30 +266,30 @@ cur_name[r] := 0; {Append null byte since this is C.} @z @x [49] Change strings to C char pointers, so we can initialize them. -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; +@!ASCII_04,@!ASCII_10,@!ASCII_14: packed array [1..32] of char; {strings for output in the user's external character set} @!xchr:packed array [0..255] of char; @!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @y -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: const_c_string; +@!ASCII_04,@!ASCII_10,@!ASCII_14: const_c_string; {strings for output in the user's external character set} @!ASCII_all: packed array[0..256] of char; @!xchr:packed array [0..255] of char; @!MBL_string,@!RI_string,@!RCE_string: const_c_string; {handy string constants for |face| codes} +@!HEX: const_c_string; @z @x [50] The Pascal strings are indexed starting at 1, so we pad with a blank. ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~?';@/ -HEX:='0123456789ABCDEF';@/ @y ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:=' @@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:=' `abcdefghijklmnopqrstuvwxyz{|}~?';@/ -HEX:=' 0123456789ABCDEF';@/ strcpy (ASCII_all, ASCII_04); strcat (ASCII_all, '@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'); strcat (ASCII_all, '`abcdefghijklmnopqrstuvwxyz{|}~');@/ @@ -297,8 +297,10 @@ strcat (ASCII_all, '`abcdefghijklmnopqrstuvwxyz{|}~');@/ @x MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; +HEX:='0123456789ABCDEF';@/ @y MBL_string:=' MBL'; RI_string:=' RI '; RCE_string:=' RCE'; +HEX:=' 0123456789ABCDEF';@/ @z % [60] How we output the character code depends on |charcode_format|. diff --git a/Build/source/texk/web2c/omegaware/ovf2ovp.web b/Build/source/texk/web2c/omegaware/ovf2ovp.web index 30fc71c9e03..280a0641372 100644 --- a/Build/source/texk/web2c/omegaware/ovf2ovp.web +++ b/Build/source/texk/web2c/omegaware/ovf2ovp.web @@ -1463,17 +1463,17 @@ appropriate conversion of ASCII codes. Three other little strings are used to produce |face| codes like \.{MIE}. @= -@!ASCII_04,@!ASCII_10,@!ASCII_14,HEX: packed array [1..32] of char; +@!ASCII_04,@!ASCII_10,@!ASCII_14: packed array [1..32] of char; {strings for output in the user's external character set} @!xchr:packed array [0..255] of char; @!MBL_string,@!RI_string,@!RCE_string:packed array [1..3] of char; {handy string constants for |face| codes} +@!HEX: packed array [1..16] of char; @ @= ASCII_04:=' !"#$%&''()*+,-./0123456789:;<=>?';@/ ASCII_10:='@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_';@/ ASCII_14:='`abcdefghijklmnopqrstuvwxyz{|}~?';@/ -HEX:='0123456789ABCDEF';@/ for k:=0 to 255 do xchr[k]:='?'; for k:=0 to @'37 do begin xchr[k+@'40]:=ASCII_04[k+1]; @@ -1481,6 +1481,7 @@ for k:=0 to @'37 do begin xchr[k+@'140]:=ASCII_14[k+1]; end; MBL_string:='MBL'; RI_string:='RI '; RCE_string:='RCE'; +HEX:='0123456789ABCDEF';@/ @ The array |dig| will hold a sequence of digits to be output. diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.ch b/Build/source/texk/web2c/omegaware/ovp2ovf.ch index 759ae090d58..258bafb26d6 100644 --- a/Build/source/texk/web2c/omegaware/ovp2ovf.ch +++ b/Build/source/texk/web2c/omegaware/ovp2ovf.ch @@ -140,7 +140,7 @@ if verbose then begin @z @x -@!HEX: packed array [1..32] of char; +@!HEX: packed array [1..16] of char; @y @!HEX: const_c_string; @z @@ -300,7 +300,7 @@ begin if optind + 3 <= argc then begin {Both.} tfm_name := extend_filename (cmdline (optind + 2), 'ofm'); end else begin {Just one.} - tfm_name := extend_filename (cmdline (optind + 1), 'ofm'); + tfm_name := make_suffix (cmdline (optind + 1), 'ofm'); end; end else begin {Neither.} vf_name := basename_change_suffix (vpl_name, '.ovp', '.ovf'); diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.web b/Build/source/texk/web2c/omegaware/ovp2ovf.web index 63c2977fba2..9a6aeb7252d 100644 --- a/Build/source/texk/web2c/omegaware/ovp2ovf.web +++ b/Build/source/texk/web2c/omegaware/ovp2ovf.web @@ -2773,7 +2773,7 @@ end which prints a progress report as the file is being read. @ @= -@!HEX: packed array [1..32] of char; +@!HEX: packed array [1..16] of char; @ @= HEX:='0123456789ABCDEF';@/ @@ -2783,15 +2783,10 @@ HEX:='0123456789ABCDEF';@/ @= @!dig:array[0..32] of integer; -@ Here, in fact, are two procedures that output +@ Here, in fact, is a procedure that prints |dig[j-1]|$\,\ldots\,$|dig[0]|, given $j>0$. -@p procedure out_digs(j:integer); {outputs |j| digits} -begin repeat decr(j); out(HEX[1+dig[j]]); - until j=0; -end; -@# -procedure print_digs(j:integer); {prints |j| digits} +@p procedure print_digs(j:integer); {prints |j| digits} begin repeat decr(j); print(HEX[1+dig[j]]); until j=0; end; diff --git a/Build/source/texk/web2c/omegaware/selectfont.test b/Build/source/texk/web2c/omegaware/selectfont.test index 15f2193ace8..8bcfba7bab5 100755 --- a/Build/source/texk/web2c/omegaware/selectfont.test +++ b/Build/source/texk/web2c/omegaware/selectfont.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2011 Peter Breitenlohner +# Copyright (C) 2011-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. tests=omegaware/tests @@ -25,3 +25,9 @@ diff $srcdir/$tests/sample0-h.opl $tests/sample1-h.opl || exit 1 diff $srcdir/$tests/sample.out $tests/xsample.out || exit 1 +./ovp2ovf -verbose $srcdir/$tests/sample.ovp $tests/sample2.ovf || exit 1 + +./ovf2ovp -verbose $tests/sample2 sample2 $tests/xsample2.out || exit 1 + +diff $srcdir/$tests/sample.out $tests/xsample2.out || exit 1 + diff --git a/Build/source/texk/web2c/pltotf.test b/Build/source/texk/web2c/pltotf.test index eb3a0f67cd2..2ce47359be4 100755 --- a/Build/source/texk/web2c/pltotf.test +++ b/Build/source/texk/web2c/pltotf.test @@ -1,9 +1,11 @@ #! /bin/sh -# Copyright (C) 2009 Peter Breitenlohner +# Copyright (C) 2009-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. test -d tests || mkdir -p tests ./pltotf -verbose $srcdir/tests/cmr10 tests/xcmr10 || exit 1 +cmp $srcdir/tests/cmr10.tfm tests/xcmr10.tfm || exit 1 + diff --git a/Build/source/texk/web2c/tests/cmr10.pl b/Build/source/texk/web2c/tests/cmr10.pl index 29882e52925..cf1541c4b31 100644 --- a/Build/source/texk/web2c/tests/cmr10.pl +++ b/Build/source/texk/web2c/tests/cmr10.pl @@ -5,6 +5,7 @@ (COMMENT DESIGNSIZE IS IN POINTS) (COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE) (CHECKSUM O 11374260171) +(SEVENBITSAFEFLAG TRUE) (FONTDIMEN (SLANT R 0.0) (SPACE R 0.333334) diff --git a/Build/source/texk/web2c/tftopl.test b/Build/source/texk/web2c/tftopl.test index ee217b73f9b..19c4e9f1203 100755 --- a/Build/source/texk/web2c/tftopl.test +++ b/Build/source/texk/web2c/tftopl.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2009 Peter Breitenlohner +# Copyright (C) 2009-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. test -d tests || mkdir -p tests @@ -8,3 +8,5 @@ test -d tests || mkdir -p tests TEXMFCNF=$srcdir/../kpathsea \ ./tftopl -verbose $srcdir/tests/cmr10 tests/xcmr10 || exit 1 +diff $srcdir/tests/cmr10.pl tests/xcmr10.pl || exit 1 + diff --git a/Build/source/texk/web2c/vftovp.test b/Build/source/texk/web2c/vftovp.test index 433b7fdc971..614361300a4 100755 --- a/Build/source/texk/web2c/vftovp.test +++ b/Build/source/texk/web2c/vftovp.test @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2009 Peter Breitenlohner +# Copyright (C) 2009-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. test -d tests || mkdir -p tests @@ -9,3 +9,5 @@ TEXMFCNF=$srcdir/../kpathsea \ TFMFONTS=$srcdir/tests \ ./vftovp -verbose $srcdir/tests/ptmr ptmr tests/xptmr || exit 1 +diff $srcdir/tests/ptmr.vpl tests/xptmr.vpl || exit 1 + diff --git a/Build/source/texk/web2c/vptovf.ch b/Build/source/texk/web2c/vptovf.ch index d3a6ef13ec0..333f132c51c 100644 --- a/Build/source/texk/web2c/vptovf.ch +++ b/Build/source/texk/web2c/vptovf.ch @@ -279,7 +279,7 @@ begin if optind + 3 <= argc then begin {Both.} tfm_name := extend_filename (cmdline (optind + 2), 'tfm'); end else begin {Just one.} - tfm_name := extend_filename (cmdline (optind + 1), 'tfm'); + tfm_name := make_suffix (cmdline (optind + 1), 'tfm'); end; end else begin {Neither.} vf_name := basename_change_suffix (vpl_name, '.vpl', '.vf'); diff --git a/Build/source/texk/web2c/vptovf.test b/Build/source/texk/web2c/vptovf.test index 7bf466ac764..922a62b8cd8 100755 --- a/Build/source/texk/web2c/vptovf.test +++ b/Build/source/texk/web2c/vptovf.test @@ -1,10 +1,21 @@ #! /bin/sh -# Copyright (C) 2009 Peter Breitenlohner +# Copyright (C) 2009-2013 Peter Breitenlohner # You may freely use, modify and/or distribute this file. test -d tests || mkdir -p tests TEXMFCNF=$srcdir/../kpathsea \ - ./vptovf $srcdir/tests/ptmr tests/xptmr tests/xptmr || exit 1 + ./vptovf $srcdir/tests/ptmr tests/yptmr tests/yptmr || exit 1 + +cmp $srcdir/tests/ptmr.vf tests/yptmr.vf || exit 1 + +cmp $srcdir/tests/ptmr.tfm tests/yptmr.tfm || exit 1 + +TEXMFCNF=$srcdir/../kpathsea \ + ./vptovf $srcdir/tests/ptmr tests/yptmr2.vf || exit 1 + +cmp $srcdir/tests/ptmr.vf tests/yptmr2.vf || exit 1 + +cmp $srcdir/tests/ptmr.tfm tests/yptmr2.tfm || exit 1 diff --git a/Build/source/texk/web2c/web2c/ChangeLog b/Build/source/texk/web2c/web2c/ChangeLog index 639206ef199..c1d8a1f5f22 100644 --- a/Build/source/texk/web2c/web2c/ChangeLog +++ b/Build/source/texk/web2c/web2c/ChangeLog @@ -1,3 +1,7 @@ +2013-12-06 Peter Breitenlohner + + * common.defines (makesuffix): Add this. + 2013-07-17 Peter Breitenlohner * Makefile.am (libweb2c.a): Avoid more 'parallel make' problems. diff --git a/Build/source/texk/web2c/web2c/common.defines b/Build/source/texk/web2c/web2c/common.defines index 0923add990a..55739b9f531 100644 --- a/Build/source/texk/web2c/web2c/common.defines +++ b/Build/source/texk/web2c/web2c/common.defines @@ -136,6 +136,7 @@ @define function intcast (); @define function isprint (); @define function makebinaryfile (); +@define function makesuffix (); @define function odd (); @define function ord (); @define function round (); -- cgit v1.2.3