[texhax] Question on fontdimen

Michael Doob mdoob at cc.umanitoba.ca
Thu Dec 22 22:41:13 CET 2005


On Thursday 22 December 2005 2:34 pm, Michael Barr wrote:
> Can someone tell me what is happening here?  The fragment
> 
> \newdimen\axis
> \axis=\fontdimen22\textfont2
> 
> gives an error message:
> 
> ! Font \nullfont has only 7 fontdimen parameters.
> l.3 \axis=\fontdimen22\textfont2
> 
> If I modify it as follows:
> 
> \makeatletter
> \check at mathfonts
> \makeatother
> \newdimen\axis
> \axis=\fontdimen22\textfont2
> 
> it works as expected.  I do not even recall where I got \check at mathfonts 
> from.
> 
>

Actually if you insert 
$\null$ 
before the \newdimen line you'll be OK. Looking at the log file 
in the two cases reveals:

  < LaTeX Font Info:    External font `cmex10' loaded for size
  < (Font)              <7> on input line 3.
  < LaTeX Font Info:    External font `cmex10' loaded for size
  < (Font)              <5> on input line 3.

as part of the successful run, so the loading of the fonts clearly
has a role. In fact, in Appendex F of the TeXbook:

   Math symbol fonts(i.e., fonts in family 2) are required to have at least
   22 \fontdimen parameters instead of the usual seven; similarly, math 
   extension fonts must have at least 13.The significance of these additional 
   parameters is explained in Appendix G. If you want to inccrease thenumber 
   of parameters past the number that actually appear in a font's metric 
   information file, you can assign new values immediately after that font 
   has been loaded.

In fact, for cmsy10, tftopl shows

(FONTDIMEN
   (SLANT R 0.25)
   (SPACE R 0.0)
   (STRETCH R 0.0)
   (SHRINK R 0.0)
   (XHEIGHT R 0.430555)
   (QUAD R 1.000003)
   (EXTRASPACE R 0.0)
   (NUM1 R 0.676508)
   (NUM2 R 0.393732)
   (NUM3 R 0.443731)
   (DENOM1 R 0.685951)
   (DENOM2 R 0.344841)
   (SUP1 R 0.412892)
   (SUP2 R 0.362892)
   (SUP3 R 0.288889)
   (SUB1 R 0.15)
   (SUB2 R 0.247217)
   (SUPDROP R 0.386108)
   (SUBDROP R 0.05)
   (DELIM1 R 2.389999)
   (DELIM2 R 1.01)
   (AXISHEIGHT R 0.25)
   )

and so all 22 \fontdimen parameters are present once the tfm file
has been loaded into memory.

This leaves only one possibility: the file hasn't been loaded
when you do the \axis assignment.


If you add \tracingfonts=4 to your file, you'll get all the
info you want, and, perhaps, much more.

Cheers,
Michael



-- 

------------------------------------------------------------------
Michael Doob                    Telephone: (204) 474-9796
Department of Mathematics       Fax: (204) 474-7606
University of Manitoba          email: Michael_Doob at umanitoba.ca
Winnipeg, MB, Canada R3T 2N2
------------------------------------------------------------------



More information about the texhax mailing list