diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /systems/generic/mltex/mltrip |
Initial commit
Diffstat (limited to 'systems/generic/mltex/mltrip')
-rw-r--r-- | systems/generic/mltex/mltrip/mltrip.dvi | bin | 0 -> 384 bytes | |||
-rw-r--r-- | systems/generic/mltex/mltrip/mltrip.log | 56 | ||||
-rw-r--r-- | systems/generic/mltex/mltrip/mltrip.tex | 259 | ||||
-rw-r--r-- | systems/generic/mltex/mltrip/mltrip.typ | 182 |
4 files changed, 497 insertions, 0 deletions
diff --git a/systems/generic/mltex/mltrip/mltrip.dvi b/systems/generic/mltex/mltrip/mltrip.dvi Binary files differnew file mode 100644 index 0000000000..29377dcd6f --- /dev/null +++ b/systems/generic/mltex/mltrip/mltrip.dvi diff --git a/systems/generic/mltex/mltrip/mltrip.log b/systems/generic/mltex/mltrip/mltrip.log new file mode 100644 index 0000000000..4f9a3da06e --- /dev/null +++ b/systems/generic/mltex/mltrip/mltrip.log @@ -0,0 +1,56 @@ +This is MLTeX, Version 3.14159 (INITEX) 16 JAN 1997 13:49 +MLTeX v2.2 enabled +**mltrip +(mltrip.tex + +"Trip" test for MLTeX implementations (1997/01/14 v1.0c [br]) + +Test font load bug (in MLTeX < v2.2): +done. +Test assignments to \charsubdefmax: +done. +Test char substitution, box packing and repacking: +<2 missing char warnings: +Missing character: There is no ^^c1 in font cmr10! +Missing character: There is no ^^c2 in font cmr10! +>, <1 missing substitution warning: +Missing character: There is no substitution for ^^e0 in font cmr10! +>, <2 missing substitution warnings: +Missing character: There is no substitution for ^^e0 in font cmr10! +Missing character: There is no substitution for ^^e0 in font cmr10! +>, done. +Test dvi output with substitutions: +<Alternating 5 incomplete subst. + 5 missing subst. warnings: [0 +Missing character: Incomplete substitution ^^d2 = ^^80 a in font cmr10! +Missing character: There is no substitution for ^^e0 in font cmr10! +Missing character: Incomplete substitution ^^d3 = ^^80 a in font cmr10! +Missing character: There is no substitution for ^^e1 in font cmr10! +Missing character: Incomplete substitution ^^d4 = ^^80 a in font cmr10! +Missing character: There is no substitution for ^^e2 in font cmr10! +Missing character: Incomplete substitution ^^d6 = ^^80 a in font cmr10! +Missing character: There is no substitution for ^^e4 in font cmr10! +Missing character: Incomplete substitution ^^d5 = ^^80 c in font cmr10! +Missing character: There is no substitution for ^^e3 in font cmr10! +] >, done. + + +To complete the test: +===================== + +1. Compare the log file with the one provided. +2. Compare the dvi output: +The dvi file should contain 5 lines of text, each line beginning +with an ASCII description of the accented character, a colon +followed by five en-dashes and two accented characters: + a-grave: -- \`a -- \`a-- -- -- + a-acute: -- \'a -- \'a-- -- -- + a-circonflex: -- \^a -- \^a-- -- -- + a-umlaut: -- \"a -- \"a-- -- -- + c-cedille: -- \c{c} -- \c{c}-- -- -- +The spacing between the first accented character and the first +two en-dashes has to be correct, whereas the en-dash after the +second accented character has to touch the character! Otherwise +your MLTeX implementation is incorrect. + + ) +Output written on mltrip.dvi (1 page, 384 bytes). diff --git a/systems/generic/mltex/mltrip/mltrip.tex b/systems/generic/mltex/mltrip/mltrip.tex new file mode 100644 index 0000000000..ac7c3be79c --- /dev/null +++ b/systems/generic/mltex/mltrip/mltrip.tex @@ -0,0 +1,259 @@ +% This is `mltrip.tex' for MLTeX v2.2 (as of December 17, 1995). +% +% A test file to check for correct MLTeX implementations similar to +% `trip.tex', Knuth's torture test for TeX. +% +% Copyright (C) 1997 by B. Raichle; all rights are reserved. +% +% MLTeX is copyright (C) 1990-92 by Michael J. Ferguson; all rights are reserved. +% MLTeX Version 2.2 is copyright (C) 1995 by B. Raichle; all rights are reserved. +% The TeX program is copyright (C) 1982 by D. E. Knuth. +% TeX is a trademark of the American Mathematical Society. +% +% +% Usage: +% +% 1. Run iniTeX with the MLTeX extensions on this file. +% Do not try to use plain-TeX or LaTeX. +% 2. Compare the produced log file with the one provided. +% 3. Take a look at the dvi file and compare it with the +% description at the end of the log file. +% 4. (optional) Use dvitype to convert the dvi file to the +% ASCII representation of its contents using these options: +% Output level = 2 +% Starting page = * (default) +% Number of pages = 1000000 (default) +% Resolution = 7227/100 +% New magnification = 0 (default) +% Compare the output with the provided file `mltrip.typ'. +% +% +% Needs: +% +% - MLTeX v2.2 +% - font metric file cmr10.tfm +% - dvitype (if you want to compare the dvi files) +% +% +% Changes: +% +% 97/01/06 v1.0a +% - initial version +% 97/01/08 v1.0b +% - added error count + \inputlineno test, fixed log output +% 97/01/14 v1.0c +% - added tests for math character substitution +% +\catcode`\{=1 \catcode`\}=2 \catcode`\$=3 \catcode`\#=6 \catcode`\^=7 +\endlinechar=`\^^M\newlinechar=`\^^J \def\space{ } \nonstopmode +% +\def\typeout#1{\immediate\write16{#1}} +\countdef\errorcount=254 \errorcount=0 +\def\error#1{\advance\errorcount 1% + \typeout{^^J^^J\space\space\space ERROR: #1^^J^^J}} +% +\typeout{^^J"Trip" test for MLTeX implementations (1997/01/14 v1.0c [br])^^J} +% +% check for plain-TeX: +% we have to ensure that _no_ fonts are preloaded +\expandafter\ifx\csname active\endcsname\relax \else + \typeout{Please (Ini)TeX this file, no plain-TeX, no LaTeX!^^J} + \expandafter + \endinput\csname @@end\expandafter\endcsname\expandafter\end\fi\relax +% check for MLTeX +\expandafter\ifx\csname charsubdef\endcsname\relax + \typeout{This test file can only be used with MLTeX!^^J} + \expandafter\endinput\expandafter\end\fi\relax +% check for MLTeX v2.2 +% (former MLTeX versions have initialized \charsubdefmax with 0) +\ifnum\charsubdefmax<0 \else + \typeout{...ouch, an old MLTeX version!^^J% + This test file can only be used with MLTeX v2.2 or newer!^^J} + \expandafter\endinput\expandafter\end\fi\relax +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\typeout{Test font load bug (in MLTeX < v2.2):} +% define substitution of an existing char with a non-existing base char +\charsubdef `\A=`\a 128 +% load font (which should be preloaded before!) +\font\test=cmr10 \relax \test + \textfont0=\test \textfont1=\test +\font\smalltest=cmr10 \relax % our symbols font +\fontdimen22\smalltest=7pt + \textfont2=\smalltest \scriptfont2=\smalltest + \scriptscriptfont2=\smalltest +\font\bigtest=cmr10 \relax % our extension font + \textfont3=\bigtest \scriptfont3=\bigtest + \scriptscriptfont3=\bigtest +\thinmuskip=18mu plus 18mu +\medmuskip=36mu plus 9mu minus 18mu +\thickmuskip=54mu minus 18mu \relax +% +\hsize=2in \parindent=.5pt \parfillskip=0pt plus1fil\relax +\baselineskip=12pt \topskip=10pt \relax +\tracingonline=1\showboxbreadth=255\showboxdepth=255 +\tracinglostchars=1 +%%%\tracingcharsubdef=1 +\message{done.} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\typeout{Test assignments to \string\charsubdefmax:} +\charsubdefmax=-1 % reset because of \charsubdef`\A ... +\begingroup + %%%\tracingrestores=10 + \count0=\charsubdefmax + \begingroup \charsubdef 224 = `\` `a + \ifnum\charsubdefmax=224 \else + \error{\string\charsubdefmax\space set incorrectly (1)!}\fi + \endgroup + \ifnum\count0=\charsubdefmax \else + \error{\string\charsubdefmax\space reset incorrectly (1)!}\fi + % Test of a bug in MLTeX v2.2! + \begingroup \charsubdef 228 = `\" `a \global\charsubdef 224 = `\` `a + \ifnum\charsubdefmax=228\else + \error{\string\charsubdefmax\space set incorrectly (2)!}\fi + \endgroup + \ifnum\charsubdefmax=-1 \else % BUG: 224 was expected, not -1! + \error{\string\charsubdefmax\space reset incorrectly (2)!}\fi + % ...instead we use a simpler test: + \begingroup \charsubdef 226 = `\^ `a \charsubdef 224 = `\` `a + \ifnum\charsubdefmax=226 \else + \error{\string\charsubdefmax\space set incorrectly (3)!}\fi + \global\charsubdef 228 = `\" `a + \endgroup + \ifnum\charsubdefmax=228 \else + \error{\string\charsubdefmax\space reset incorrectly (3)!}\fi + % reset former value of \charsubdef and \charsubdefmax + \global\charsubdef 224=0 0 + \global\charsubdef 228=0 0 + \global\charsubdefmax=\count0 +\endgroup +\message{done.} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\typeout{Test char substitution, box packing and repacking:} +\charsubdef 224 = 18 `a % "E0 \`a +\charsubdef 225 = 19 `a % "E1 \'a +\charsubdef 226 = 94 `a % "E2 \^a +\charsubdef 228 = 127 `a % "E4 \"a +% define some substitutions whose characters doesn't exist in cmr10: +\charsubdef 192 = 200 `a +\charsubdef 193 = `a 129 +\charsubdef 194 = 128 129 +% +\setbox2=\hbox{\char`a}\setbox4=\hbox{\char0} +\message{<2 missing char warnings:} +\setbox0=\hbox{\char224\char192\char193\char194} +\message{>,} +\ifdim\wd0=2\wd2 \else + \error{box width dimension set incorrectly (1)!}\fi +% +\setbox0=\hbox{\char224} +\ifdim\wd0=\wd2 \else + \error{box width dimension set incorrectly (2)!}\fi +% re-access character dimensions while substitution is disabled +% (=> warning message, width of \char224 is first char in font, i.e. \char0) +\message{<1 missing substitution warning:} +{\charsubdefmax=0 \global\setbox0=\hbox{\unhbox0}} +\message{>,} +\ifdim\wd0=\wd4 \else + \error{box width dimension set incorrectly (3)!}\fi +% re-box it again (=> no warning message!) +\setbox0=\hbox{\unhbox0} +\ifdim\wd0=\wd2 \else + \error{box width dimension set incorrectly (4)!}\fi +% +\message{<2 missing substitution warnings:} +\setbox0=\vbox{\char224 \charsubdefmax=0\par} +\message{>,} +\message{done.} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%\typeout{Test math character substitutions:} +%%\setbox0=\hbox{$\mathchar"2E0 % |fetch| +%% \mathaccent"70E1 a % |fetch| + |make_math_accent| +%% \mathaccent"7013 \mathchar"2E2 % |fetch| +%% \mathop{\mathchar"0E4}{}% |fetch| +%% \delimiter"43E03E1 % |var_delimiter| +%% $}\showbox0 +%%\message{done.} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\typeout{Test dvi output with substitutions:} +% define correct substitutions +\charsubdef 192 = 18 `a % \`a +\charsubdef 193 = 19 `a % \'a +\charsubdef 194 = 94 `a % \^a +\charsubdef 196 = 127 `a % \"a +\charsubdef 199 = 24 `c % \c{c} +% define correct substitutions +\charsubdef 204 = 18 16 % \`\i +\charsubdef 205 = 19 16 % \'\i +\charsubdef 206 = 94 16 % \^\i +\charsubdef 208 = 127 16 % \"\i +\charsubdef 207 = 24 `i % \c{i} +% define substitutions with non-existing characters +\charsubdef 210 = 128 `a % \`a +\charsubdef 211 = 128 `a % \'a +\charsubdef 212 = 128 `a % \^a +\charsubdef 214 = 128 `a % \"a +\charsubdef 213 = 128 `c % \c{c} +% define correct substitutions +\charsubdef 224 = 18 `a % \`a +\charsubdef 225 = 19 `a % \'a +\charsubdef 226 = 94 `a % \^a +\charsubdef 228 = 127 `a % \"a +\charsubdef 227 = 24 `c % \c{c} +% +\setbox0=\vbox{% + \def\row#1 #2 #3 #4 {--\char#1--\hbox{\char#2}--\char#3--\char#4--\par}% + a-grave: \row 192 204 210 224 % + a-acute: \row 193 205 211 225 % + a-circonflex: \row 194 206 212 226 % + a-umlaut: \row 196 208 214 228 % + c-cedille: \row 199 207 213 227 % +} +% +% redefine the correct substitutions +\charsubdef 204 = 18 `a % \`a <= \`\i +\charsubdef 205 = 19 `a % \'a <= \'\i +\charsubdef 206 = 94 `a % \^a <= \^\i +\charsubdef 208 = 127 `a % \"a <= \"\i +\charsubdef 207 = 24 `c % \c{c} <= \c\i +% +\begingroup + \message{<Alternating 5 incomplete subst. + 5 missing subst. warnings:} + \charsubdefmax=223 + \shipout\box0 + \message{>,} +\endgroup +\message{done.} +% +\def\row#1#2#3{\space\space #1: -- \string#2#3 -- \string#2#3-- -- --} +\typeout{^^J^^JTo complete the test:^^J=====================^^J^^J% +1. Compare the log file with the one provided.^^J% +2. Compare the dvi output:^^J% +The dvi file should contain 5 lines of text, each line beginning^^J% +with an ASCII description of the accented character, a colon^^J% +followed by five en-dashes and two accented characters:^^J% + \row{a-grave}{\`}{a}^^J% + \row{a-acute}{\'}{a}^^J% + \row{a-circonflex}{\^}{a}^^J% + \row{a-umlaut}{\"}{a}^^J% + \row{c-cedille}{\c}{{c}}^^J% +The spacing between the first accented character and the first^^J% +two en-dashes has to be correct, whereas the en-dash after the^^J% +second accented character has to touch the character! Otherwise^^J% +your MLTeX implementation is incorrect.^^J} +% +% Test for correct number of lines: +\ifnum 255=\inputlineno \else + \error{`mltrip.tex' corrupted! (l.\the\inputlineno)}\fi +\ifnum\errorcount>0 \error{There was atleast one error!}\fi +\end\relax \typeout{Can't happen in MLTeX "trip" test!} +%% End of file `mltrip.tex'. diff --git a/systems/generic/mltex/mltrip/mltrip.typ b/systems/generic/mltex/mltrip/mltrip.typ new file mode 100644 index 0000000000..177c1118a4 --- /dev/null +++ b/systems/generic/mltex/mltrip/mltrip.typ @@ -0,0 +1,182 @@ +Options selected: + Starting page = * + Maximum number of pages = 1000000 + Output level = 2 (mnemonics) + Resolution = 72.27000000 pixels per inch +numerator/denominator=25400000/473628672 +magnification=1000; 0.00001526 pixels per DVI unit +' TeX output 1997.01.16:1349' + +42: beginning of page 0 +87: down3 282168 +91: push +92: right3 32768 +[ ] +96: fntdef1 0: cmr10---loaded at size 655360 DVI units +117: fntnum0 +118: setchar97 +119: setchar45 +120: setchar103 +121: setchar114 +122: setchar97 +123: w2 -18205 +126: setchar118 +127: w0 -18205 +128: setchar101 +129: setchar58 +130: right3 218453 +134: setchar123 +[a-grave: {] +135: setchar18 +136: w3 -327681 +140: setchar97 +141: setchar123 +[a{] +142: push +143: setchar18 +144: w0 -327681 +145: setchar97 +[a] +146: pop +147: right3 182045 +151: setchar123 +152: setchar123 +153: setchar123 +[ {{{] +154: pop +155: y3 786432 +159: push +160: right3 32768 +164: setchar97 +165: setchar45 +166: setchar97 +167: setchar99 +168: setchar117 +169: setchar116 +170: setchar101 +171: setchar58 +172: right3 218453 +176: setchar123 +[a-acute: {] +177: setchar19 +178: w3 -327681 +182: setchar97 +183: setchar123 +[a{] +184: push +185: setchar19 +186: w0 -327681 +187: setchar97 +[a] +188: pop +189: right3 182045 +193: setchar123 +194: setchar123 +195: setchar123 +[ {{{] +196: pop +197: y0 786432 +198: push +199: right3 32768 +203: setchar97 +204: setchar45 +205: setchar99 +206: setchar105 +207: setchar114 +208: setchar99 +209: setchar111 +210: setchar110 +[a-circon] +211: setchar13 +212: setchar101 +213: setchar120 +214: setchar58 +215: right3 218453 +219: setchar123 +220: setchar94 +221: w3 -327681 +225: setchar97 +226: setchar123 +[ex: {^a{] +227: push +228: setchar94 +229: w0 -327681 +230: setchar97 +[^a] +231: pop +232: right3 182045 +236: setchar123 +237: setchar123 +238: setchar123 +[ {{{] +239: pop +240: y0 786432 +241: push +242: right3 32768 +246: setchar97 +247: setchar45 +248: setchar117 +249: setchar109 +250: setchar108 +251: setchar97 +252: setchar117 +253: setchar116 +254: setchar58 +255: right3 218453 +259: setchar123 +[a-umlaut: {] +260: setchar127 +261: w3 -327681 +265: setchar97 +266: setchar123 +[a{] +267: push +268: setchar127 +269: w0 -327681 +270: setchar97 +[a] +271: pop +272: right3 182045 +276: setchar123 +277: setchar123 +278: setchar123 +[ {{{] +279: pop +280: y0 786432 +281: push +282: right3 32768 +286: setchar99 +287: setchar45 +288: setchar99 +289: setchar101 +290: setchar100 +291: setchar105 +292: setchar108 +293: setchar108 +294: setchar101 +295: setchar58 +296: right3 218453 +300: setchar123 +[c-cedille: {] +301: setchar24 +302: w3 -291271 +306: setchar99 +307: setchar123 +[c{] +308: push +309: setchar24 +310: w0 -291271 +311: setchar99 +[c] +312: pop +313: right3 182045 +317: setchar123 +318: setchar123 +319: setchar123 +[ {{{] +320: pop +321: eop +Postamble starts at byte 322. +maxv=3427896, maxh=9472573, maxstackdepth=2, totalpages=1 +Font 0: cmr10 + |