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