[comp.text.tex] How do you increase font memory?

JOHNGALT%UACCIT@ARIZONA.BITNET ("Dr Galt, I presume?") (03/04/91)

Hello all,
 
I just tried creating the TeX Primer off of the Fileserv.  TeX did an
emergency stop and said that it was out of font memory and couldn't
load any more fonts.  I did a little exploring, but all I got was,
"A TeX wizard can increase this space for you."
 
So, are there any TeX wizards out there who can help me?  How is the font
memory space increased?  I am running TeX on a VAX with VMS 5.4-1, if that
makes a difference.
 
Thanks in advance,
Dr. John  :-{)

JL2@DHDURZ1.BITNET (Rainer Schoepf) (03/04/91)

On Mon, 04 Mar 1991 09:31:08 EST MPI-FKF, Stuttgart, Germany said:
>
>You probably have Tex 2.9 for the VAX. It's a PASCAL program where all arrays
>are addressed with 16-Bit integer variables. That means that no array can be
>longer than 64 kByte. So the main memory of your TEX is probably smaller than
>64 kByte, which is not enough for the Tex Primer. (I am having the same
>problem).
>
>What you can do is get the most recent version of Tex (Tex 3.0 or Tex 2.99)
>from the DECUS Tex tape. You need BigTex with lots of memory. So far, our Tex
>wizards have refused to install 3.0. Supposedly there is something wrong with
>it, maybe the German hyphenation doesn't work (maybe that won't affect you) or
>something else.
 
This has nothing to do with the question of C versus Pascal.  It's very
easy to have 32bit integer index arithmetic for the arrays, if you don't
mind the additional memory requirements.  You've just to increase some
internal constants in the WEB change file.
 
As to the problem of the german hyphenation pattern with TeX 3.x (the
current version is 3.1, folks!): In 3.0 DEK added an error check that
complains when one of the internal tables overflows during the INITeX
run.  Previously (in TeX 2.x) TeX would silently discard all hyphenation
patterns that came after this overflow.  So, the problem is not new,
it only went unnoticed before.  To load the large set of german
hyphenation patterns into TeX, it is necessary to apply the respective
patch devoloped by Klaus Guntermann, TH Darmstadt.  This patch is,
for example, included in the WEB2C distribution of TeX and (hopefully)
available from all good servers.
 
Rainer Sch\"opf
 
========================================================================
 
Dr. Rainer Schoepf
Konrad-Zuse-Zentrum fuer Informationstechnik Berlin
Heilbronner Str. 10
D-1000 Berlin 31
Federal Republic of Germany
Email: <Schoepf@sc.ZIB-Berlin.dbp.de>
 
========================================================================

edgar@FUNCTION.MPS.OHIO-STATE.EDU (Gerald Edgar) (03/04/91)

 
The "TeX Wizard" you want is the one you got your TeX program from.
Since these size changes are done in different ways for different
systems, only he (or his Wizard, etc.) will know what to do.

stzo@VAXCAR.MPI-STUTTGART.MPG.DE ("MPI-FKF, Stuttgart, Germany") (03/04/91)

Date sent:  4-MAR-1991 09:23:17
>From: "Dr Galt, I presume?" <JOHNGALT%UACCIT@ARIZONA.bitnet>
>Subject: How do you increase font memory?
>
>Hello all,
>
>I just tried creating the TeX Primer off of the Fileserv.  TeX did an
>emergency stop and said that it was out of font memory and couldn't
>load any more fonts.  I did a little exploring, but all I got was,
>"A TeX wizard can increase this space for you."
>
>So, are there any TeX wizards out there who can help me?  How is the font
>memory space increased?  I am running TeX on a VAX with VMS 5.4-1, if that
>makes a difference.
>
>Thanks in advance,
>Dr. John  :-{)
 
You probably have Tex 2.9 for the VAX. It's a PASCAL program where all arrays
are addressed with 16-Bit integer variables. That means that no array can be
longer than 64 kByte. So the main memory of your TEX is probably smaller than
64 kByte, which is not enough for the Tex Primer. (I am having the same
problem).
 
What you can do is get the most recent version of Tex (Tex 3.0 or Tex 2.99)
from the DECUS Tex tape. You need BigTex with lots of memory. So far, our Tex
wizards have refused to install 3.0. Supposedly there is something wrong with
it, maybe the German hyphenation doesn't work (maybe that won't affect you) or
something else.
 
What I did was the following: I FTP'ed the primer to the nearest DEC 5000
running ULTRIX, where we have Tex 2.99 installed. I printed the Primer from
there. (Tex under ULTRIX is a totally different ball game. Tex is a C program
under ULTRIX, not PASCAL, so anything goes.)
 
Regards             Stefan
 
***************************************************************************
Stefan Zollner
Max-Planck-Institut fuer Festkoerperforschung
Heisenbergstr. 1,   D-7000 Stuttgart 80, Germany
Ph:         (0711) 6860-735          FAX:        (0711) 678 7934
BITNET:     STZO @ DS0MPI11                      (COMPAREX 778 - VM/CMS)
InterNet:   STZO @ vaxcar.mpi-stuttgart.mpg.de   (MicroVax II  - VMS 5.3.1)
            STZO @ comp778.mpi-stuttgart.mpg.de  (COMPAREX 778 - VM/CMS)
***************************************************************************

BNB@MATH.AMS.COM (bbeeton) (03/04/91)

stefan zollner raises a couple of points in his message regarding
tex under vms that i'd like to reply to quickly, though there are
people much better qualified than i to deal with the most technical
points.
first, "dek" is none other than donald e. knuth.  his addition of an
error check that enables reporting that a set of hyphenation patterns
has not been read completely was one of the major new features that
make tex 3.* overwhelmingly more suitable for multilingual text
processing than were earlier versions.
second, regarding making changes to an implementation of tex to install
features such as address lengths of >16 bits, the recommended method
for making any and all such changes is through a .ch file, and not to
tex.pas or "web2pas" (what is this? i'm familiar with tangle and web2c,
but have never heard of web2pas), so that the change does not immediately
become obsolete with the next bug fix to tex.web, or recompilation for
whatever reason.
third, there is a well-regarded pascal implementation of "big tex", by
brian {hamilton kelly} for vax/vms; i believe this is available on the
decus tape, and i know it can be retrieved from the aston archive.
even if one is still using a "small tex" on vax/vms, there are few
compelling reasons to be using a version as old as 2.9 (dated early in
1988; my employer, a publisher, has been using tex in production since
1979, and i can list and refute most of their "compelling" reasons, so
let's not get into flames over this).
finally, to the best of my knowledge, there is no vax/vms web2c, though
i would not be surprised (or unhappy) to be proved wrong.  the person
"from decus tex in the us" who answered stefan's question on vax-info
was probably ted nieland, who compiles the tex collection for decus.
as there are many people working independently with tex (not surprising
on account of its public domain nature), and unaware of what others are
doing unless they are affiliated with decus or tug (the tex users group)
or some other organization that has a tex-related program, general
knowledge of the existence of new tools often comes about through rumor
or other circuitous channels.  the spring issue of tugboat (the
communications of the tex users group) should be accompanied by a tex
resource directory, referred to by malcolm clark at the recent dante
(the german tex users association) meeting in vienna as the "whole tex
catalog".  i invite anyone who has authoritative knowledge of any tex
tool or resource that may not be well known to send to
        tugboat@math.ams.com
(not to info-tex, please) a short message identifying it, giving a
concise description, and saying where further information can be obtained.
all messages will be acknowledged, and if additional information is
desirable, arrangements will be made at that time to obtain it.
                                        -- barbara beeton
                                           editor, tugboat
-------

stzo@VAXCAR.MPI-STUTTGART.MPG.DE ("MPI-FKF, Stuttgart, Germany") (03/05/91)

Date sent:  4-MAR-1991 14:17:24
>From: Rainer Schoepf <JL2@DHDURZ1.bitnet>
>Subject: RE: How do you increase font memory?
>
>On Mon, 04 Mar 1991 09:31:08 EST MPI-FKF, Stuttgart, Germany said:
>>
>>You probably have Tex 2.9 for the VAX. It's a PASCAL program where all arrays
>>are addressed with 16-Bit integer variables. That means that no array can be
>>longer than 64 kByte. So the main memory of your TEX is probably smaller than
>>64 kByte, which is not enough for the Tex Primer. (I am having the same
>>problem).
>>
>This has nothing to do with the question of C versus Pascal.  It's very
>easy to have 32bit integer index arithmetic for the arrays, if you don't
>mind the additional memory requirements.  You've just to increase some
>internal constants in the WEB change file.
>
 
I agree that this has nothing to do with C or PASCAL,
. but ...
since most people on the VAX (VMS) will probably still have the old TEX version
2.9, they cannot simply do something to the .CH files to have more than 64 k of
memory, since the way TEX.PAS is written for the VAX, all arrays ARE adressed
with 16-Bit variables. I agree this can be changed, but who would want to
fiddle around with TEX.PAS or WEB2PAS in order to print out a simple Tex
document. We leave these things to the specialists.
 
Repeat: The .CH files for VAX-TEX 2.9 do not give you a choice to have more
than 64 k of memory.
 
>As to the problem of the german hyphenation pattern with TeX 3.x (the
>current version is 3.1, folks!): In 3.0 DEK added an error check that
                                         ^^^
                      who ?? do you mean DEC did something to TEX ??
>complains when one of the internal tables overflows during the INITeX
>run.  Previously (in TeX 2.x) TeX would silently discard all hyphenation
>patterns that came after this overflow.  So, the problem is not new,
>it only went unnoticed before.  To load the large set of german
>hyphenation patterns into TeX, it is necessary to apply the respective
>patch devoloped by Klaus Guntermann, TH Darmstadt.  This patch is,
>for example, included in the WEB2C distribution of TeX and (hopefully)
>available from all good servers.
 
Wait a minute, ...
is there such a thing as WEB2C for a VAX (VMS) that will give me a C code I can
compile with the VAXC compiler? A asked that question on VAX-INFO a while ago,
and some from DECUS TEX in the US told me there was no such program available.
 
If the answer to this question is no, can I conclude from what you just said
above that there is no TEX 3.0 (or 3.1) for a VAX that can handle
German hyphenations ?
(To me it seems like a German Ph. D. thesis can only be written on UNIX machine
and not under VMS.)
 
Regards,            Stefan
 
BTW: Is there a WEB2PAS for Tex 3.1, or just WEB2C ?
(Remember that Info-TEX is an VMS-based mailing list !)
 
***************************************************************************
Stefan Zollner
Max-Planck-Institut fuer Festkoerperforschung
Heisenbergstr. 1,   D-7000 Stuttgart 80, Germany
Ph:         (0711) 6860-735          FAX:        (0711) 678 7934
BITNET:     STZO @ DS0MPI11                      (COMPAREX 778 - VM/CMS)
InterNet:   STZO @ vaxcar.mpi-stuttgart.mpg.de   (MicroVax II  - VMS 5.3.1)
            STZO @ comp778.mpi-stuttgart.mpg.de  (COMPAREX 778 - VM/CMS)
***************************************************************************

mackay@CS.WASHINGTON.EDU (Pierre MacKay) (03/07/91)

WEB is by its nature a pascal programming system.  If you run tangle
normally, and not in the special Web2C environment, what you get is the
"pascal brick", a close-packed, unformatted lot of pascal source.
 
What UnixTeX used to do was use the Berkeley Unix pxp to reformat, since
this also provided the substitute for a default case.  We gave that
up because of the array limitations in Berkeley pascal, and have been
urging the use of BIG TeX ever since.
 
If the change files for VMS do not allow increase in memory, that is either
because the compiler would not honor the increase or because no one
has got around to it.  The data specifications within the WEB system allow
you to declare that a "half-word" is any arbitrary size, so long as you
can make your compiler understand.  Nothing like WEB2PAS is necessary.
Tangle creates the pascal file with the merged increases as supplied by
the change file.
 
But if the compiler is strait-jacketed to 16-bit array addressing, there is
little that tangle can do for you.  (It requires a lot of work, but pointers
can be substituted for array references.  I participated in an successful
operation on MS-DOS where that was done some time ago.)
 
 
Email concerned with UnixTeX distribution software should be sent primarily
to:     elisabet@max.u.washington.edu           Elizabeth Tachikawa
otherwise to:  mackay@cs.washington.edu         Pierre A. MacKay
Smail:  Northwest Computing Support Center      TUG Site Coordinator for
        Thomson Hall, Mail Stop DR-10           Unix-flavored TeX
        University of Washington
        Seattle, WA 98195
        (206) 543-6259

DHOSEK@HMCVAX.CLAREMONT.EDU (Don Hosek) (03/07/91)

I'm forwarding this on behalf of Don Hosek <DHOSEK@HMCVAX.CLAREMONT.EDU>
who maintains one of the public domain inmplementations of TeX for
 
Rainer Sch\"opf
 
 
----------------------------Original message----------------------------
I'm reading the exchange on comp.text.tex so I can't send this
reply to info-tex; if you could forward it, I'd appreciate it.
 
VMS TeX has, since sometime around 3.0/3.1 (the second number is
the change file version number) been a big TeX.
 
VMS TeX 3.1/3.5 will have Klaus Guntermann's TeXtrie changes for
expanding hyphenation memory, but there are some difficulties
with the blocking used by VMS on binary files which I haven't
worked around yet.
 
-dh