neubauer@bsu-ucs.uucp (Paul Neubauer) (09/12/90)
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]. <for(160.00049)> ...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]. <for(204.00293)> ...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
wilcox@blob.cis.ohio-state.edu (Patricia P Wilcox) (09/14/90)
In article <40682@bsu-ucs.uucp> neubauer@bsu-ucs.uucp (Paul Neubauer) writes: >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. You haven't given us the original command you used to run Metafont, so this is just a guess, but did you specify a mode (something like "mode=imagen") on the command line? If not, MF is creating huge (proof-mode) characters, and may very well be running out of memory. --Pat Wilcox (wilcox@cis.ohio-state.edu)
chooft@ruunsa.fys.ruu.nl (Rob Hooft) (09/14/90)
In <83591@tut.cis.ohio-state.edu> wilcox@blob.cis.ohio-state.edu (Patricia P Wilcox) writes: >In article <40682@bsu-ucs.uucp> neubauer@bsu-ucs.uucp (Paul Neubauer) writes: >>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. >You haven't given us the original command you used to run Metafont, so this >is just a guess, but did you specify a mode (something like "mode=imagen") >on the command line? If not, MF is creating huge (proof-mode) characters, >and may very well be running out of memory. Is that true? In that case enlarging would help. But isn't it true that you included the cm base twice? I'm not a wizard too (about the same, as close as we have), but I saw that your startup specified the cm base, and you re-included it. Can that do any harm? Wizards? -- -- Rob Hooft, Chemistry department University of Utrecht. hooft@hutruu54.bitnet hooft@chem.ruu.nl chooft@fys.ruu.nl
neubauer@bsu-ucs.uucp (Paul Neubauer) (09/14/90)
In article <1471@ruunsa.fys.ruu.nl>, chooft@ruunsa.fys.ruu.nl (Rob Hooft) writes: > In <83591@tut.cis.ohio-state.edu> wilcox@blob.cis.ohio-state.edu (Patricia P Wilcox) writes: > >>In article <40682@bsu-ucs.uucp> neubauer@bsu-ucs.uucp (Paul Neubauer) writes: > >>>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. > >>You haven't given us the original command you used to run Metafont, so this >>is just a guess, but did you specify a mode (something like "mode=imagen") >>on the command line? If not, MF is creating huge (proof-mode) characters, >>and may very well be running out of memory. > > Is that true? In that case enlarging would help. But isn't it true that you > included the cm base twice? I'm not a wizard too (about the same, as close as > we have), but I saw that your startup specified the cm base, and you > re-included it. Can that do any harm? Wizards? Thank you both Pat and Rob. I'll see if these suggestions lead me anywhere. No, I did not include "mode=something" on the command line. I'll try that. The plain.bas that I was using, and on which I built cm.bas, does include the line "localfont:=ln", which I thought was supposed to make ln (for the DEC LN03) the default mode. Did I misunderstand that? On Rob's suggestion about loading cm twice, I'm not sure. In fact, I have tried it both using and not using "preloaded" cm and the crashes occurred at the same place, so I doubt that that is the cause. For reference, the commands I used were the following: (VMS requires that I first define what it calls "foreign commands" in order to pass arguments to programs from the command line. I first set the following symbols:) MF :== $TEX_ROOT:[EXE] &PLAIN CM :== $TEX_ROOT:[EXE] &CM BIGMF :== $TEX_ROOT:[EXE] &BIGPLAIN Both of the listings I put into my posting were generated using the command: CM WSUIPA10 However, in my testing, I also tried command lines of the form: MF WSUIPA10 This crashed in the same location. Note that the difference here is that a different base is called for _from_the_command_line_. The same executable is called in either case, but it reads the command line and "preloads" the appropriate base (noting the preloaded base in the identification "This is" line). Then it echoes the command line parameters: &cm wsuipa10 before doing anything else. I believe that this is what made it appear to Rob that cm was being loaded twice. (If anyone can show me that this analysis is wrong, please do.) I have now also trie it with a mode specification on the command line to see if that made a difference. It did not. Metafont crashed again at the same place with the same message. The command I used was: CM WSUIPA10 MODE=LN (VMS is NOT case-sensitive.) Thanks for these suggestions, but I am afraid I still need some more ideas. Does anybody have any? Thanks in advance. ==== Paul Neubauer 00prneubauer@bsu-ucs.uucp or 00PRNEUBAUER@BSUVAX1.BITNET neubauer@bsu-cs.uucp {backbones}!iuvax!bsu-cs!neubauer