Hagen - Pragma ADE
Hagen - Pragma ADE Hagen - Pragma ADE
102 Scripts
7 Math 7.1 Introduction As one can expect, math support in ConT E Xt is to some extend modelled after what plain T E X provides, plus what was later decided to be standard. This mostly concerns the way fonts behave and what names are used to access glyphs or special constructs. It means that when you come from another macro package you can stick to coding math the way you did before, at least the basic coding. In addition to this, ConT E Xt gives control over fonts, structure and rendering and most of that was either driven by personal need or user demand. To be honest, many of the options are probably of not much interest to the average user. As we focus on fonts we will only touch this aspect of math here. Right from when we started with developing LuaT E X, cleaning op the math part of ConT E Xt was part of the game. Some primitives were added that would make it possible to avoid unnecessary complex macros to get certain glyphs rendered, like radicals, accents and extensibles. This was made easy because we also support OpenType math and because we knew that eventually the Latin Modern and Gyre fonts would also support OpenType. In order to move forward and get rid of traditional eight bit fonts ConT E Xt MkIV can construct a virtual OpenType font from traditional math fonts. It makes not much sense to discuss that here as by now this method is only provided for reasons of compatibility and a reference to the past. As a lot of time went into this it will always stay around if only to remind us of what we went through to get where we are now. 7.2 Unicode math Due to the limited amount of glyphs in a Type1 font a macro package has to jump through loops in order to get traditional T E X engines behave well. As a practical consequence these fonts are often a mixture of characters, symbols, punctuation and snippets that make up larger shapes. The font dimensions in these files have often special meanings too. This has all changed considerably with math being part of Unicode. It was however Microsoft where the real action took place: the development of the first font that combined Unicode with OpenType technology. The Cambria font can be considered the benchmark for fonts that surfaced later. The characteristic of a math font are the following: • All math alphabets are present: latin as well as greek, in regular, italic, bold, fraktur and script variants as well as some combinations of these. • The symbols that make sense are present (read: the more obscure shapes can be omited). • For the characters that make sense, there are two variants that render well at smaller sizes: script and scriptscript. In the font they have the same size but the application will scale them down. This feature is named ssty. 103 Math
- Page 54 and 55: 52 Methods \definefont [MyFont] [Bo
- Page 56 and 57: 54 Methods } copyright = "ConTeXt d
- Page 58 and 59: 56 Features of all, all we get to s
- Page 60 and 61: 58 Features in base mode. A single
- Page 62 and 63: 60 Features accumulate within a wor
- Page 64 and 65: 62 Features features analyze=yes, c
- Page 66 and 67: 64 Features \definedfont[lmroman10-
- Page 68 and 69: 66 Features single substitutions or
- Page 70 and 71: 68 F -0.492 eatures result ffi feat
- 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 121 and 122: However, when we go the other way,
- Page 124: 122 Math the regular a--z character
- Page 127 and 128: While there are lots of text fonts,
- Page 129 and 130: 8 Extensions 8.1 Introduction One o
- Page 131: [default] [itlc=5] This is demonstr
- Page 134 and 135: 132 Extensions \definefontfeature [
- Page 136 and 137: 134 Extensions characters to improv
- Page 138 and 139: 136 Extensions U+00079 0.05 y 0.05
- Page 140 and 141: 138 Extensions protrusion classes T
- Page 142 and 143: 140 Extensions [fonts.composing.def
- Page 144 and 145: 142 } Extensions top = { x = -250,
- Page 146 and 147: 144 Extensions
- Page 148 and 149: 146 Hooks
- Page 150 and 151: 148 ) Appendix (LIG C l O 10) (KRN
- Page 152 and 153: 150 ) Appendix (KRN O 177 R 0.056)
7 Math<br />
7.1 Introduction<br />
As one can expect, math support in ConT E Xt is to some extend modelled after what plain<br />
T E X provides, plus what was later decided to be standard. This mostly concerns the way<br />
fonts behave and what names are used to access glyphs or special constructs. It means<br />
that when you come from another macro package you can stick to coding math the way<br />
you did before, at least the basic coding. In addition to this, ConT E Xt gives control over<br />
fonts, structure and rendering and most of that was either driven by personal need or<br />
user demand. To be honest, many of the options are probably of not much interest to<br />
the average user.<br />
As we focus on fonts we will only touch this aspect of math here. Right from when we<br />
started with developing LuaT E X, cleaning op the math part of ConT E Xt was part of the<br />
game. Some primitives were added that would make it possible to avoid unnecessary<br />
complex macros to get certain glyphs rendered, like radicals, accents and extensibles.<br />
This was made easy because we also support OpenType math and because we knew that<br />
eventually the Latin Modern and Gyre fonts would also support OpenType. In order to<br />
move forward and get rid of traditional eight bit fonts ConT E Xt MkIV can construct a<br />
virtual OpenType font from traditional math fonts. It makes not much sense to discuss<br />
that here as by now this method is only provided for reasons of compatibility and a<br />
reference to the past. As a lot of time went into this it will always stay around if only to<br />
remind us of what we went through to get where we are now.<br />
7.2 Unicode math<br />
Due to the limited amount of glyphs in a Type1 font a macro package has to jump through<br />
loops in order to get traditional T E X engines behave well. As a practical consequence<br />
these fonts are often a mixture of characters, symbols, punctuation and snippets that<br />
make up larger shapes. The font dimensions in these files have often special meanings<br />
too.<br />
This has all changed considerably with math being part of Unicode. It was however<br />
Microsoft where the real action took place: the development of the first font that<br />
combined Unicode with OpenType technology. The Cambria font can be considered the<br />
benchmark for fonts that surfaced later. The characteristic of a math font are the following:<br />
• All math alphabets are present: latin as well as greek, in regular, italic, bold, fraktur<br />
and script variants as well as some combinations of these.<br />
• The symbols that make sense are present (read: the more obscure shapes can be<br />
omited).<br />
• For the characters that make sense, there are two variants that render well at smaller<br />
sizes: script and scriptscript. In the font they have the same size but the application<br />
will scale them down. This feature is named ssty.<br />
103<br />
Math