[tex-k] Bug#83146: MF fatal error

Julian Gilbey Julian Gilbey <J.D.Gilbey@qmw.ac.uk>, 83146@bugs.debian.org
Mon, 22 Jan 2001 14:47:50 +0000


Package: tetex-bin
Version: 1.0.6-7

Wow!  I got a MetaFont "This can't happen (m)" error.  Here's how I
did it.

mf '\mode:=ljfzzz; mag:=1+0/1200; nonstopmode; input xslhz20'

Now ljfzzz is in the standard modes.mf:

mode_def ljfzzz =                   %\[ LaserJet 4000N, ProRes mode (1200dpi)
  mode_param (pixels_per_inch, 1200);
  mode_param (blacker, 1);
  mode_param (fillin, .1);
  mode_param (o_correction, 1);
  mode_common_setup_;
enddef;

and xslhz20 is in the MusiXTeX distribution (I'm using version 0.98);
here it is:

% ---------- start file ----------
font_identifier:="xslhz20";
mode_setup;
font_size 20pt#;
input xslhz;
% ----------  end file  ----------

And here is xslhz.mf:

% ---------- start file ----------
%=== xslhz.mf======================================================
% WpH May 19, 1997 modified to be dashed
% ick 98-05-22 modified constants for gap, dash, endlen.
%

thick#:=1pt#;
stepwidth#:=4pt#;
define_pixels(stepwidth);
define_blacker_pixels(thick);
picture pic;

gap=thick;		%was 1.5; WpH new parameter: gap length. ick
dash=1.6thick;		%    2.5; WpH new parameter: dash length. ick
endlen=-0.0thick;	%   -1.0; WpH new: length of dash at ends measured to center of gap. ick
if unknown makedotted: makedotted:=0; fi % WpH
slope=1/100;

for i=1 upto 100:
  beginchar((i-1),0,0,0);
    x3=-x1=.5i*stepwidth; x2=y1=y3=0; y2=slope*i*stepwidth;
    penpos1(thick,90); penpos2(thick,90); penpos3(thick,90);
    penstroke z1e..z2e..z3e;
    %
    % wph start of added block to make gaps.
    if makedotted<>1: 
        % variable makedotted has not been given a value.
        % Dotted lines will not be made.
    else:
        cullit;
        pickup pencircle scaled gap;
        cl:=abs(z3-z1);
        xcount:=(cl-2endlen)/(gap+dash); % number of gaps.
        xcount:=floor(xcount + .5); %round to nearest int number.
        xinc:=(cl-2endlen)/xcount;
        for j=0 upto xcount-1:
            xcur:=x1+endlen+j*xinc;
            undraw (xcur,y1)..(xcur,y2+.6thick);
        endfor;
        cullit;
    fi
    % wph end of added block to make gaps.
    %
    pic:= currentpicture;
  endchar;

  beginchar((128+i-1),0,0,0);
    currentpicture:= pic reflectedabout(origin,right);
  endchar;
endfor
end
% ----------  end file  ----------

Now I'm doing this on a Linux machine, uname -a gives:
  Linux polya 2.2.17 #1 SMP Wed Jul 12 16:55:02 BST 2000 i586 unknown
using teTeX version 1.0.6, so mf --version gives:
  Metafont (Web2C 7.3.1) 2.7182
  kpathsea version 3.3.1

I'm running a Debian 2.2 system, libc6 version 2.1.3.

The output of the run is:
This is METAFONT, Version 2.7182 (Web2C 7.3.1)

(/usr/share/texmf/fonts/source/public/musix/xslhz20.mf
(/usr/share/texmf/fonts/source/public/musix/xslhz.mf [0] [128] [1] [129]
[2] [130] [3] [131] [4] [132] [5] [133] [6] [134] [7] [135] [8] [136] [9]
[137] [10] [138] [11] [139] [12] [140] [13] [141] [14] [142] [15] [143]
[16] [144] [17] [145] [18] [146] [19] [147] [20] [148] [21] [149] [22] [150]
[23] [151] [24] [152] [25] [153] [26] [154] [27] [155] [28] [156] [29] [157]
[30] [158] [31] [159] [32] [160] [33] [161] [34] [162] [35] [163] [36] [164]
[37] [165] [38] [166] [39] [167] [40] [168] [41] [169] [42] [170] [43] [171]
[44] [172] [45] [173] [46] [174] [47] [175] [48] [176] [49] [177] [50] [178]
[51] [179] [52] [180] [53] [181] [54] [182] [55] [183] [56] [184] [57] [185]
[58] [186] [59] [187] [60] [188] [61] [189] [62] [190] [63] [191] [64] [192]
[65] [193] [66] [194] [67] [195] [68] [196] [69] [197] [70] [198]
! This can't happen (m).
<recently read> ;
                 
<for(72)> ...s3(thick,90);penstroke.z1e..z2e..z3e;
                                                  if.makedotted<>1:else:cull...
l.49 endfor
           
Font metrics written on xslhz20.tfm.
Output written on xslhz20.1200gf (142 characters, 53320 bytes).
Transcript written on xslhz20.log.

Any clues?!

   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

         Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
       Debian GNU/Linux Developer,  see http://people.debian.org/~jdg
  Donate free food to the world's hungry: see http://www.thehungersite.com/