Hagen - Pragma ADE
Hagen - Pragma ADE Hagen - Pragma ADE
122 Math the regular a--z characters as these will adapt to the family and therefore font. In practice users will not notice this complication as macro packages hide the implementation details. In MkIV the situation is different as there we have one family (or a few more if we use a full bold switch and/or bidirectional math). Although we no longer have the limit of 16 fonts we actually don’t need that many families, at least not in the way we’ve set up MkIV 10 o 1 n 1 e 1 t 1 w 1 o 1 t 1 h 1 r 1 e 1 e 1 f 1 o 1 u 1 r 1 So how does this relate to styles? Each family has three fonts and we can use the switch commands to choose any of these. In text mode we use the term style for a font switch, while in math mode it’s more than that: indeed we switch a font, but only in size, but the spacing is also adapted. If a proper math font is used, the smaller sizes are actually alternates in the font, visually adapted to suit their use. In text mode we do this in order to limit the scope of a switch: normal {\bf bold {\it italic} bold} normalbracket This is the same as: normal \bgroup\bf bold \bgroup\it italic\egroup\ bold\egroup\ normalbracket and: normal \begingroup\bf bold \begingroup\it italic\endgroup\ bold\endgroup\ normalbrack The ConT E Xt distribution ships with a plain math definition file that also uses one family but reassigns some math codes when we switch to another style. As the number of characters that this applies to this is efficient enough for a modern computer. A peek into luatex-math.tex gives an impression of what we deal with. However, keep in mind that the implementation in MkIV goes it differently and is therefore more powerful. We also have hardly any definitions at the T E X end and use information from char-def.lua instead. In math mode there is a subtle difference in the way grouping works with styles: text {\scriptstyle script} normal This is the same as: text \bgroup\scriptstyle script\egroup\ normal but different from: text \begingroup\scriptstyle script\endgroup\ script 10 A technical note: in principle the MkIV approach can have a speed penalty compared to a multi--family approach but we don’t care too much about it. Also, as we load less fonts the extra overhead gets compensated nicely.
- Page 72 and 73: 70 Features font 80: lmroman10-regu
- Page 74 and 75: 72 Features font 46: cambria.ttf @
- Page 76 and 77: 74 Features } } This goodie file is
- Page 78 and 79: 76 Features { name = "msbm10.tfm",
- Page 80 and 81: 78 Features \starttypescript[somefo
- Page 82 and 83: 80 Features \setupbodyfont [mojcasf
- Page 84 and 85: 82 Features } normalweight = "extra
- Page 86 and 87: 84 Features "QF.waqf", "SKTH.waqf",
- Page 88 and 89: 86 Features featureset=smallcaps] O
- Page 90 and 91: 88 Features } }, When defining the
- Page 92 and 93: 90 Features local defaultfraction =
- Page 94 and 95: 92 Features } } ["LMRoman-Bold"] =
- Page 96 and 97: 94 Features In fact, in addition to
- Page 98 and 99: 96 Features } This time the applica
- Page 100 and 101: 98 Features step 1 I don't wanna kn
- Page 102 and 103: 100 Features If you’re lucky your
- Page 104 and 105: 102 Scripts
- Page 121 and 122: However, when we go the other way,
- Page 126 and 127: 124 Math display display style, lik
- Page 128 and 129: 126 Math tex/texmf-fonts/fonts/data
- Page 130 and 131: 128 Extensions test test Dejavu Reg
- Page 133 and 134: \definefontfeature [abitbolder] [de
- Page 135 and 136: goodies=dingbats, unicoding=yes] \d
- Page 137 and 138: ) \stopluacode protrusion vector pu
- Page 139 and 140: We thrive in information--thick wor
- Page 141 and 142: \definefont[MyTestA][Serif*default
- Page 143 and 144: } name = "lm-compose-test", version
- Page 145 and 146: Where additional kerning can make s
- Page 147 and 148: 9 Hooks 9.1 Introduction Todo. 9.2
- Page 149 and 150: A Appendix A.1 The tfm file The (bi
- Page 151 and 152: (VTITLE ) (FAMILY UNSPECIFIED) (FAC
- Page 153 and 154: inclusion when possible, thereby ma
- Page 155 and 156: Comment TFM fontdimen 19: 0.22223 (
- Page 157 and 158: EndFontMetrics A.6 The otf file In
- Page 159 and 160: xoffset = , yoffset = , }, ... }, .
- Page 161 and 162: } }, ... }, ... normalweight = "lig
122<br />
Math<br />
the regular a--z characters as these will adapt to the family and therefore font. In practice<br />
users will not notice this complication as macro packages hide the implementation<br />
details.<br />
In MkIV the situation is different as there we have one family (or a few more if we<br />
use a full bold switch and/or bidirectional math). Although we no longer have the limit<br />
of 16 fonts we actually don’t need that many families, at least not in the way we’ve set<br />
up MkIV 10<br />
o 1 n 1 e 1 t 1 w 1 o 1 t 1 h 1 r 1 e 1 e 1 f 1 o 1 u 1 r 1<br />
So how does this relate to styles? Each family has three fonts and we can use the<br />
switch commands to choose any of these. In text mode we use the term style for a font<br />
switch, while in math mode it’s more than that: indeed we switch a font, but only in<br />
size, but the spacing is also adapted. If a proper math font is used, the smaller sizes are<br />
actually alternates in the font, visually adapted to suit their use.<br />
In text mode we do this in order to limit the scope of a switch:<br />
normal {\bf bold {\it italic} bold} normalbracket<br />
This is the same as:<br />
normal \bgroup\bf bold \bgroup\it italic\egroup\ bold\egroup\ normalbracket<br />
and:<br />
normal \begingroup\bf bold \begingroup\it italic\endgroup\ bold\endgroup\ normalbrack<br />
The ConT E Xt distribution ships with a plain math definition file that also uses one family<br />
but reassigns some math codes when we switch to another style. As the number of<br />
characters that this applies to this is efficient enough for a modern computer. A peek<br />
into luatex-math.tex gives an impression of what we deal with. However, keep in mind<br />
that the implementation in MkIV goes it differently and is therefore more powerful. We<br />
also have hardly any definitions at the T E X end and use information from char-def.lua<br />
instead.<br />
In math mode there is a subtle difference in the way grouping works with styles:<br />
text {\scriptstyle script} normal<br />
This is the same as:<br />
text \bgroup\scriptstyle script\egroup\ normal<br />
but different from:<br />
text \begingroup\scriptstyle script\endgroup\ script<br />
10 A technical note: in principle the MkIV approach can have a speed penalty compared to a multi--family approach<br />
but we don’t care too much about it. Also, as we load less fonts the extra overhead gets compensated nicely.