[comp.text] Metafont problem

aubord@cui.unige.ch (AUBORD Alain) (04/14/89)

Hi,
  I'm using the metafont program on my atari to generate some fonts for the
epson printer. All is right until the file punct.mf is treated, and I don't
understand the error message:

>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again>

What is chardp?

I'm very novice with metafont program...
Any answer will be very appreciated.


                                       My address:
                                 
                                          Bitnet: AUBORD@CGEUGE51.bitnet
                                          UUCP:
                                           old:   aubord@cui.UUCP  
                                           new:   aubord@cui.unige.ch
                                          Path:   mcvax!cernvax!cui!aubord
                                          Surface Mail:
                                            A.Aubord
                                            University OF Geneva
                                            Services Informatiques
                                            24 rue General-Dufour
                                            1211 Geneva
                                            Switzerland.


----------------Here follows my log file for the font cmr10--------------------


This is METAFONT, C Version 1.5 (preloaded base=plain 88.11.17)  12 APR 89 17:23
**\mode=epson; \mag=1.2; \input cmr10
(.\cmr10.mf (.\cmbase.mf) (.\roman.mf (.\romanu.mf [65] [66] [67] [68] [69]
[70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84]
[85] [86] [87] [88] [89] [90]) (.\romanl.mf [97] [98] [99] [100] [101] [102]
[103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114]
[115] [116] [117] [118] [119] [120] [121] [122]) (.\greeku.mf [0] [1] [2]
[3] [4] [5] [6] [7] [8] [9] [10]) (.\romand.mf [48] [49] [50] [51] [52]
[53] [54] [55] [56] [57]) (.\romanp.mf [36] [38] [63] [62]) (.\romspl.mf
[16] [17] [25] [26] [27] [28]) (.\romspu.mf [29] [30] [31]) (.\punct.mf
[33] [60] [35] [37] [39]
>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again> 
                   ;
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.103 ...nospace: -u# fi,body_height#,body_depth#)
                                                  ;
? 1.3
<recently read> ;
                 
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.103 ...nospace: -u# fi,body_height#,body_depth#)
                                                  ;
? 
! Extra tokens will be flushed.
<to be read again> 
                   w
beginchar->...1);charht:=(EXPR2);chardp:=(EXPR3);w
                                                  :=hround(charwd*hppp);h:=v...
l.103 ...nospace: -u# fi,body_height#,body_depth#)
                                                  ;
? 
[40]
>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again> 
                   ;
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.114 ...nospace: -u# fi,body_height#,body_depth#)
                                                  ;
? 
[41] [42] [43] [44] [46]
>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again> 
                   ;
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.166 beginchar("/",9u#,body_height#,body_depth#)
                                                 ;
? 
[47] [58] [59] [61] [64]
>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again> 
                   ;
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.241 beginchar("[",wd#,body_height#,body_depth#)
                                                 ;
? 
[91]
>> body_depth#
! Internal quantity `chardp' must receive a known value.
<to be read again> 
                   ;
beginchar->...R1);charht:=(EXPR2);chardp:=(EXPR3);
                                                  w:=hround(charwd*hppp);h:=...
l.260 beginchar("]",wd#,body_height#,body_depth#)
                                                 ;
? 
[93] [96]) (.\accent.mf [18] [19] [20] [21] [22] [23] [24] [32] [94] [95]
[125] [126] [127]) (.\romlig.mf [11] [12] [13] [14] [15]) (.\comlig.mf [34]
[45] [92] [123] [124]) 
Here is how much of METAFONT's memory you used:
 351 strings out of 709
 2943 string characters out of 9410
 21443 words of memory out of 60001
 823 symbolic tokens out of 2100
 12i,79n,0r,29p,236b stack positions out of 30i,100n,300r,150p,500b
 
(You used 36w,16h,9d,5i,88l,10k,0e,7p metric file positions
  out of 256w,16h,16d,64i,300l,256k,256e,50p)

Font metrics written on cmr10.tfm.
Output written on cmr10.288gf (128 characters, 11472 bytes).

mc3i+@andrew.cmu.edu (Martin Costabel) (04/16/89)

There exist apparently differing versions of punct.mf. Our local version which
was obtained from the sources not long ago, does not contain the offending
variable "body_depth#". Instead, in all places where your version says
"body_depth#", ours says "paren_depth#".
My advice therefore: replace "body_depth#" everywhere by "paren_depth#" and see
what happens.

Can anyone else explain what is going on?

--Martin Costabel

wsflinn@violet.waterloo.edu (Scott Flinn) (04/18/89)

In article <8YG0mQy00Vo9856lop@andrew.cmu.edu> mc3i+@andrew.cmu.edu (Martin Costabel) writes:
> ...
>My advice therefore: replace "body_depth#" everywhere by "paren_depth#" and see
>what happens.
>
>Can anyone else explain what is going on?

I can't explain what is going on, but I can confirm that this suggestion 
is the correct one.  I encountered the problem in several files other
than punct.mf, although I don't remember which ones.  The same fix worked.
Me:      Scott Flinn                   /  "If it doesn't fit, force it.
Domain:  wsflinn@violet.waterloo.edu  /  If it breaks, then it didn't
UUCP:    watmath!violet!wsflinn      /  fit anyway."