Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!umich!mailrus!iuvax!bsu-cs!bsu-ucs!neubauer From: neubauer@bsu-ucs.uucp (Paul Neubauer) Newsgroups: comp.text.tex Subject: Problem building font Message-ID: <40682@bsu-ucs.uucp> Date: 12 Sep 90 13:06:35 GMT Organization: Ball State University, Muncie, In - Univ. Computing Svc's Lines: 146 I apologize for the large size of this posting, but I thought that some of the detail might be helpful. I have been trying to build the IPA fonts from the ymir archives. I have acquired all of the files and have tried to build the font files from the MF sources. MF says it is running out of memory. (That is, its memory, not the computer's memory.) The IPA fonts are CM-based fonts used by linguists and dictionary writers for phonetic transcription. (For anyone who does not know, but cares, IPA stands for International Phonetic Alphabet.) If I had written the MF files myself, I would assume that my code was simply buggy, but since the MF code is unchanged and from a reputable archive, my default assumption is that the code itself has probably been used successfully by others. I first started by trying to build the most general and, thus, presumably the most useful of the fonts, i.e., WSUIPA10. For this, I used the unchanged metafont binary from the DECUS CD-ROM (this is on a VAX) and a CM.BAS built from the (unchanged) CMBASE.MF file also from the same CD. Following is the (edited) listing of the attempted build of WSUIPA10.GF: ---------------------------------- This is METAFONT, Vax/VMS Version 1.7 (preloaded base=cm 90.9.10) 12 SEP 1990 08:57 **&cm wsuipa10 (PAUL$FILES:[MF.IPA]WSUIPA10.MF;1 (PAUL$FILES:[MF.IPA]IPAROMAN.MF;2 (PAUL$FILES:[MF.IPA]IROMANL.MF;1 The letter inverted a [0] Calling BLANKRECTANGLE(0,500,0,336) Calling UPDATESCREEN Calling BLANKRECTANGLE(0,500,0,336) Calling PAINTROW(335,1;50,51,70,71,90,91,110,111,130,131,150,151,170.... : : Calling PAINTROW(29,1;50,231) Calling UPDATESCREEN letter script a [1] ! METAFONT capacity exceeded, sorry [main memory size=30001]. ...XPR0),body_height)t_); ENDFOR makebox->...h)t_,(x,body_height)t_);endfor .if.charic<>0:(TEXT0)((r+ch... endchar->...splaying>0:makebox(screenrule) ;showit;fi.endgroup l.79 penlabels(0,1,2,3,4,5,6,7); endchar ; If you really absolutely need more capacity, you can ask a wizard to enlarge me. --------------------------------------------- Since we have a shortage of wizards around here, I have had to try to stand in for one. (I am as close as we have to a TeX and METAFONT support person, and that is not very close (yet).) Consequently, I tried to build a larger version of METAFONT with mem_max of 50000 instead of 30000 and then ran that using the same input file. It successfully loaded CMBASE and proceeded as before. The only substantial difference in the next listing, then, is the line: ! METAFONT capacity exceeded, sorry [main memory size=50001]. This indicated to me that something seemed to be running away with memory. I decided that it was less likely to be a problem with MF.EXE than with something about the font source file. Not knowing where it might be, I decided to try a different size font to see if the top level file might be at fault. I know that is not the most likely place for the error, but it seemed easiest to check. (I lost my keys over there, but I'm looking here because the light's better. :-) And, after all, I might learn something :-). Anyway, when I tried to build the 8 point font rather than the 10 point font, I got the following, rather informative, listing: ------------------------------------- This is METAFONT, Vax/VMS Version 1.7 (preloaded base=cm 90.9.10) 12 SEP 1990 08:53 **&cm wsuipa8.mf;1 (PAUL$FILES:[MF.IPA]WSUIPA8.MF;1 (PAUL$FILES:[MF.IPA]IPAROMAN.MF;2 (PAUL$FILES:[MF.IPA]IROMANL.MF;1 The letter inverted a [0] Calling BLANKRECTANGLE(0,500,0,336) : letter script a [1] : Inverted script letter a [3] : The letter crossed b [5] : The letter barred b [6] : The letter slashed b [7] : The letter hooktop b [8] : The letter open o (turned c) [61] : The letter curly-tail c [11] : The letter stretched c [12] : The letter slashed c [10] : The letter barred d [14] : The letter slashed d [15] : The letter hooktop d [16] : The letter right-tailed d [17] ! METAFONT capacity exceeded, sorry [main memory size=30001]. ...XPR0),body_height)t_); ENDFOR makebox->...h)t_,(x,body_height)t_);endfor .if.charic<>0:(TEXT0)((r+ch... endchar->...splaying>0:makebox(screenrule) ;showit;fi.endgroup l.500 ...2,3,4,5,6,7,15,16,17,20); endchar ; : ------------------------------------- With the omitted portions being the obvious calls to PAINTROW, UPDATESCREEN and the equally obvious, and useless, advice to call in a wizard. However, it does seem that this exercise may have imparted some information after all. Metafont got further in the 8 point font than in the 10 point font. What remains unclear to me is why. It did not crash at letter `script a', but continued until it got to `right-tailed d' before it crashed. The BIGMF with a memory size of 50000 also crashed at exactly the same place with the message: ! METAFONT capacity exceeded, sorry [main memory size=50001]. And, in fact, I even constructed a really BIGMF with a memory size of 64000 (there is a hard limit, according to MF.WEB, of 65535) and it also crashed at the same place, at right-tailed d. This strikes me as reducing the probability that the problem really is too small a memory. When I commented out right-tailed d, MF went on for a couple more characters before crashing and when I commented out right-hook schwa, it went several characters beyond that before crashing. It appears to me that either (the version I got of) IROMANL.MF is corrupt (in several places) or (possibly more likely) METAFONT is incorrectly configured somehow. Any advice or help that anyone can offer will be gratefully appreciated. ==== Paul Neubauer 00prneubauer@bsu-ucs.uucp or 00PRNEUBAUER@BSUVAX1.BITNET neubauer@bsu-cs.uucp {backbones}!iuvax!bsu-cs!neubauer