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!neubauerwilcox@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