summaryrefslogtreecommitdiff
path: root/info/digests/tex-implementors/mf.dif
diff options
context:
space:
mode:
Diffstat (limited to 'info/digests/tex-implementors/mf.dif')
-rw-r--r--info/digests/tex-implementors/mf.dif285
1 files changed, 285 insertions, 0 deletions
diff --git a/info/digests/tex-implementors/mf.dif b/info/digests/tex-implementors/mf.dif
new file mode 100644
index 0000000000..4258fe0f16
--- /dev/null
+++ b/info/digests/tex-implementors/mf.dif
@@ -0,0 +1,285 @@
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 7 % TeX is a trademark of the American Mathematical Society.
+ 8 % METAFONT is a tradement of Addison-Wesley Publishing Company.
+ 10 % Version 0 was completed on July 28, 1984.
+ 11 % Version 1 was completed on January 4, 1986; it corresponds to "Volume D".
+ 12 % Version 1.1 trivially corrected the punctuation in one message (June 1986).
+ 13 % Version 1.2 corrected an arithmetic overflow problem (July 1986).
+ 14 % Version 1.3 improved rounding when elliptical pens are made (November 1986).
+ 15 % A few "harmless" optimizations have been made since then.
+ 17 % A reward of $10.24 will be paid to the first finder of any remaining bug.
+ 18 % (This amount will double again in 1988.)
+ 20 % Although considerable effort has been expended to make the METAFONT program
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 7 % Version 0 was completed on July 28, 1984.
+ 8 % Version 1 was completed on January 4, 1986; it corresponds to "Volume D".
+ 10 % A reward of $5.12 will be paid to the first finder of any remaining bug.
+ 11 % (This amount will double in 1987.)
+ 13 % Although considerable effort has been expended to make the METAFONT program
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 42 \chardef\%=`\%
+ 43 \let\swap=\leftrightarrow
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 35 \let\swap=\leftrightarrow
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 146 @d banner=='This is METAFONT, Version 1.3' {printed when \MF\ starts}
+ 148 @ Different \PASCAL s have slightly different conventions, and the present
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 138 @d banner=='This is METAFONT, Version 1.0' {printed when \MF\ starts}
+ 140 @ Different \PASCAL s have slightly different conventions, and the present
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 1019 @!str_ptr : str_number; {number of the current string being created}
+ 1020 @!init_pool_ptr : pool_pointer; {the starting value of |pool_ptr|}
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 1011 @!str_ptr : str_number; {start of the current string being created}
+ 1012 @!init_pool_ptr : pool_pointer; {the starting value of |pool_ptr|}
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 1617 when |get_next| is being used to delete a token, and/or if some fatal error
+ 1618 occurs while \MF\ is trying to fix a non-fatal one. But such recursion
+ 1619 @^recursion@>
+ 1620 is never more than two levels deep.
+ 1622 @<Error handling...@>=
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 1609 when |get_next| is being used to delete a token, or if some fatal error
+ 1610 occurs while \MF\ is trying to fix a non-fatal one. But such recursion
+ 1611 @^recursion@>
+ 1612 is never more than one level deep.
+ 1614 @<Error handling...@>=
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 3177 @ The |mem| array is divided into two regions that are allocated separately,
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 3169 @<Glob...@>=
+ 3170 @!temp_ptr:pointer; {a pointer variable for occasional emergency use}
+ 3172 @ The |mem| array is divided into two regions that are allocated separately,
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 3314 @p function get_node(@!s:integer):pointer; {variable-size node allocation}
+ 3315 label found,exit,restart;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 3309 @p function get_node(@!s:integer):pointer; {variable-size node liberation}
+ 3310 label found,exit,restart;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 3368 if r=p then if rlink(p)<>p then
+ 3369 @<Allocate entire node |p| and |goto found|@>;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 3363 if r=p then if ((rlink(p)<>rover) or (llink(p)<>rover)) then
+ 3364 @<Allocate entire node |p| and |goto found|@>;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 4250 or syntactic significance, except in a few instances defined here.
+ 4251 There's also |max_class|, which can be used as a basis for additional
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 4245 or syntactic significance, expect in a few instances defined here.
+ 4246 There's also |max_class|, which can be used as a basis for additional
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 6061 @!s,@!t:pointer; {registers for list traversal}
+ 6062 @!delx,@!dely:scaled; {directions where |open| meets |explicit|}
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 6056 @!r,@!s,@!t:pointer; {registers for list traversal}
+ 6057 @!delx,@!dely:scaled; {directions where |open| meets |explicit|}
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 6164 @<Other local variables for |solve_choices|@>@;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 6159 @!sine,@!cosine:fraction; {trig functions of various angles}
+ 6160 @<Other local variables for |solve_choices|@>@;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 6759 (The constant .14 is actually $(7-\sqrt{28}\,)/12$; the worst case
+ 6760 occurs for polynomials like $B(0,28-4\sqrt{28},14-5\sqrt{28},42;t)$.)
+ 6762 @ OK, now that a long theoretical preamble has justified the
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 6755 (The constant .14 is actually $(7-\sqrt{28}/12$; the worst case
+ 6756 occurs for polynomials like $B(0,28-4\sqrt{28},14-5\sqrt{28},42)$.)
+ 6758 @ OK, now that a long theoretical preamble has justified the
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+ 8304 The following code maintains the invariant relations
+ 8305 $0\L|x0|<\max(|x1|,|x1|+|x2|)$,
+ 8306 $\vert|x1|\vert<2^{30}$, $\vert|x2|\vert<2^{30}$;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+ 8300 The following code maintains the invariant relations |0<=x0<max(x1,x1+x2)|,
+ 8301 $\vert|x1|\vert<2^{30}$, $\vert|x2|\vert<2^{30}$;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+10380 while max_coef<fraction_half do
+10381 begin double(max_coef);
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+10375 while max_coef<fraction_one do
+10376 begin double(max_coef);
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+10404 var @!ww:pointer; {for list manipulation}
+10405 @!du,@!dv:scaled; {for slope calculation}
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+10399 var @!q,@!ww:pointer; {for list manipulation}
+10400 @!du,@!dv:scaled; {for slope calculation}
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+10411 begin right_type(p):=k;
+10412 if rising then
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+10406 begin q:=link(p); right_type(p):=k;
+10407 if rising then
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+11228 alpha:=abs(u); beta:=abs(v);
+11229 if alpha<beta then
+11230 begin alpha:=abs(v); beta:=abs(u);
+11231 end; {now $\alpha=\max(\vert u\vert,\vert v\vert)$,
+11232 $\beta=\min(\vert u\vert,\vert v\vert)$}
+11233 if internal[fillin]<>0 then
+11234 d:=d-take_fraction(internal[fillin],make_fraction(beta+beta,delta));
+11235 d:=take_fraction((d+4) div 8,delta); alpha:=alpha div half_unit;
+11236 if d<alpha then d:=alpha
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+11223 d:=take_fraction(d,delta);
+11224 alpha:=abs(u); beta:=abs(v);
+11225 if alpha<beta then
+11226 begin delta:=alpha; alpha:=beta; beta:=delta;
+11227 end; {now $\alpha=\max(\vert u\vert,\vert v\vert)$,
+11228 $\beta=\min(\vert u\vert,\vert v\vert)$}
+11229 if internal[fillin]<>0 then d:=d-take_fraction(internal[fillin],beta+beta);
+11230 d:=(d+4) div 8; alpha:=alpha div half_unit;
+11231 if d<alpha then d:=alpha
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+12126 weight in |cur_edges| will be shown as |black| in the window; all other
+12127 pixels will be shown as |white|.
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+12121 weight in |cur_edges|will be shown as |black| in the window; all other
+12122 pixels will be shown as |white|.
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+13545 begin p:=cur_tok;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+13540 @!s:0..param_size; {value of |param_start| on the current level}
+13541 begin p:=cur_tok;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+16989 var @!p:pointer; {for list manipulation}
+16990 @!c,@!d:halfword; {operation codes or modifiers}
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+16985 var @!p,@!q,@!r:pointer; {for list manipulation}
+16986 @!c,@!d:halfword; {operation codes or modifiers}
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+19051 @!q:pointer; {successor of |p|}
+19052 begin p:=cur_exp;@/
+19053 if left_type(p)=endpoint then n:=-unity@+else n:=0;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+19047 @!vv:scaled; {initial value of |v|}
+19048 @!q:pointer; {successor of |p|}
+19049 begin vv:=v; p:=cur_exp;@/
+19050 if left_type(p)=endpoint then n:=-unity@+else n:=0;
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+20107 @!w:integer; {tentative weight}
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+20104 @!t:small_number; {variant of |with_option|}
+20105 @!w:integer; {tentative weight}
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+20449 ("Pretend that you're Miss Marple: Examine all clues,")@/
+20450 @^Marple, Jane@>
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+20447 ("Pretend that you're Miss Marple, examine all clues,")@/
+20448 @^Marple, Jane@>
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+20535 last gives the ``face byte.''
+20537 \yskip\hang|header[0]| is a 32-bit check sum that \MF\ will copy into
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+20533 last gives the ``face byte.'' Extensions of \TeX\ for oriental languages
+20534 should be able to identify oriental fonts by means of this additional
+20535 header information.
+20536 @^oriental characters@>@^Chinese characters@>@^Japanese characters@>
+20538 \yskip\hang|header[0]| is a 32-bit check sum that \MF\ will copy into
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+21284 print_nl("Font metrics written on "); print(metric_file_name); print_char(".");
+21285 @.Font metrics written...@>
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+21285 print_nl("Font metrics written on "); print(metric_file_name);
+21286 @.Font metrics written...@>
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+22487 This program doesn't bother to close the input files that may still be open.
+22489 @<Last-minute...@>=
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+22488 @<Last-minute...@>=
+************
+************
+File DRB0:[BELL.WEB]MF.WEB;2
+22527 internal[fontmaking]:=0; {avoid loop in case of fatal error}
+22528 @<Finish the \.{TFM} file@>;
+******
+File DRB0:[BELL.WEB]MF.WEB;1
+22526 @<Finish the \.{TFM} file@>;
+************
+
+Number of difference sections found: 27
+Number of difference records found: 54
+
+DIFFERENCES /IGNORE=(SPACING,TRAILING_SPACES,BLANK_LINES)/WIDTH=132/MERGED=1/OUTPUT=DRB0:[BELL.WEB]MF.DIF;1-
+ DRB0:[BELL.WEB]MF.WEB;2-
+ DRB0:[BELL.WEB]MF.WEB;1