Hagen - Pragma ADE

Hagen - Pragma ADE Hagen - Pragma ADE

context.aanhet.net
from context.aanhet.net More from this publisher
13.07.2013 Views

18 Modes raw tfm normalized tfm raw afm normalized afm raw otf normalized otf cached afm cached otf featured tfm featured afm featured afm featured otf featured otf Figure 2.1 Defining a font. scaled tfm scaled tfm scaled tfm scaled afm scaled afm scaled afm scaled otf scaled otf scaled otf engine tfm The first step is loading the font (or using the cached copy). From that a copy is made that has some additional data concerning the features set and from that a scaled copy is constructed. These copies share as much data as possible to keep the memory footprint as small as possible. The table that is passed to LuaT E X gets cleaned up afterwards. In practice the tfm loader only kicks in for creating virtual math fonts. The afm reader is used for Type1 fonts and as there is no free upgrade path from Type1 to OpenType for commercial fonts, that one will get used for older fonts. Of course most loading is done by the otf reader(s). A.8 The data in the final tfm table is organized in subtables. The biggest ones are the characters and descriptions tables that have information about each glyph. Later we will see more of that. There are a few additional tables of which we show two: properties and parameters. For the current font the first one has the following entries: autoitalicamount embedding subset encodingbytes 2 filename DejaVuSerif.ttf finalized true

fontname DejaVuSerif format truetype fullname DejaVu Serif hasitalics false hasmath false mathitalics false mode node name DejaVuSerif noglyphnames true nostackmath false psname DejaVuSerif textitalics false virtualized false The parameters table has variables that have been (re)assigned in the process. A period in the key indicates that we are dealing with a subtable, for instance expansion. ascender 6.83789pt descender 2.16211pt designsize 10pt expansion.auto false expansion.shrink 0 expansion.step 0 expansion.stretch 0 extendfactor 1000 factor 288 hfactor 288 mathsize 0 protrusion.auto false quad 9pt (em) scaledpoints 9pt scriptpercentage scriptscriptpercentage size 9pt slantfactor 0 slantperpoint 0pt (slant) spacing.extra 0.95361pt (extra_space extraspace) spacing.shrink 0.95361pt (space_shrink spaceshrink) spacing.stretch 1.43042pt (space_stretch spacestretch) spacing.width 2.86084pt (space) units 0.03125pt vfactor 288 xheight 4.67139pt (ex x_height) To give you an impression of what we are dealing with, the positional features are 19 Modes

fontname DejaVuSerif<br />

format truetype<br />

fullname DejaVu Serif<br />

hasitalics false<br />

hasmath false<br />

mathitalics false<br />

mode node<br />

name DejaVuSerif<br />

noglyphnames true<br />

nostackmath false<br />

psname DejaVuSerif<br />

textitalics false<br />

virtualized false<br />

The parameters table has variables that have been (re)assigned in the process. A<br />

period in the key indicates that we are dealing with a subtable, for instance expansion.<br />

ascender 6.83789pt<br />

descender 2.16211pt<br />

designsize 10pt<br />

expansion.auto false<br />

expansion.shrink 0<br />

expansion.step 0<br />

expansion.stretch 0<br />

extendfactor 1000<br />

factor 288<br />

hfactor 288<br />

mathsize 0<br />

protrusion.auto false<br />

quad 9pt (em)<br />

scaledpoints 9pt<br />

scriptpercentage <br />

scriptscriptpercentage <br />

size 9pt<br />

slantfactor 0<br />

slantperpoint 0pt (slant)<br />

spacing.extra 0.95361pt (extra_space extraspace)<br />

spacing.shrink 0.95361pt (space_shrink spaceshrink)<br />

spacing.stretch 1.43042pt (space_stretch spacestretch)<br />

spacing.width 2.86084pt (space)<br />

units 0.03125pt<br />

vfactor 288<br />

xheight 4.67139pt (ex x_height)<br />

To give you an impression of what we are dealing with, the positional features are<br />

19<br />

Modes

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!