On Fri, Nov 15, 2002 at 10:04:13AM +0100, Nicolas Ferre' wrote:
> Hi,
>
> I just installed teTeX and on a simple example, I get the following
> error while I wanted to view the dvi file. It seems that some bitmaps
> fonts cannot be builded, whereas the metafont exists and is found !
> Thanks for any help.
>
> This is METAFONT, Version 2.7182 (Web2C 7.3.1) (base=mf 2002.11.8) 14
> NOV 2002 16:58
> **\mode:=ljfzzzfr; mag:=1+57/600; nonstopmode; input cmsy10
> (/usr/local/teTeX/texmf/fonts/source/public/cm/cmsy10.mf
> [...]
> [69]
> ! This can't happen (m).
> <recently read> ;
>
> l.86 draw z2--z5--z5-(0,.1cap_curve);
> % middle bar
> I'm broken. Please show this to someone who can fix can fix
Attached is a patch file for mf.ch which should fix this. Can someone
test it in this case? It's not a full fix; that's for Knuth to do at
some point (he's aware of this bug, at least if it's fixed by this
patch).
--- mf.ch.orig Thu Jan 25 10:41:36 2001
+++ mf.ch Fri Jan 26 16:10:21 2001
@@ -1207,6 +1207,58 @@
then
@z
+@x [21.433,436] Try to handle bad rounding effects
+procedure xy_round;
+var @!p,@!q:pointer; {list manipulation registers}
+@y
+procedure xy_round;
+var @!p,@!q,@!last_fixed:pointer; {list manipulation registers}
+@z
+
+@x
+until cur_rounding_ptr=0;
+end
+@y
+until cur_rounding_ptr=0;
+p:=cur_spec;
+last_fixed:=cur_spec;
+repeat q:=link(p);
+ abnegate(x_coord(q),y_coord(q),right_type(q),right_type(p));
+ if cur_x<x_coord(p) then
+ begin
+ abnegate(x_coord(p),y_coord(p),right_type(p),right_type(q));
+ right_x(p):=x_coord(p);
+ left_x(q):=x_coord(p);
+ x_coord(q):=cur_x;
+ last_fixed:=p;
+ end;
+ p:=q;
+until p=last_fixed;
+end
+@z
+
+@x
+until cur_rounding_ptr=0;
+end
+@y
+until cur_rounding_ptr=0;
+p:=cur_spec;
+last_fixed:=cur_spec;
+repeat q:=link(p);
+ abnegate(x_coord(q),y_coord(q),right_type(q),right_type(p));
+ if cur_y<y_coord(p) then
+ begin
+ abnegate(x_coord(p),y_coord(p),right_type(p),right_type(q));
+ right_y(p):=y_coord(p);
+ left_y(q):=y_coord(p);
+ y_coord(q):=cur_y;
+ last_fixed:=p;
+ end;
+ p:=q;
+until p=last_fixed;
+end
+@z
+
@x [442] Use halfp.
@<Compute a good coordinate at a diagonal transition@>=
begin if cur_pen=null_pen then pen_edge:=0
Julian
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Julian Gilbey, website: http://www.polya.uklinux.net/
Debian GNU/Linux Developer, see: http://people.debian.org/~jdg/
Visit http://www.thehungersite.com/ to help feed the hungry