type-imp-latinmodern.mkiv /size: 17 Kb    last modification: 2024-01-16 09:03
1%D \module
2%D   [       file=type-imp-modern,
3%D        version=2007.07.30,
4%D          title=\CONTEXT\ Typescript Macros,
5%D       subtitle=Latin Modern,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14% \starttypescriptcollection[\s!fallback]
15%     \starttypescript [\s!fallback]
16%         \definetypeface [\s!fallback] [\s!rm] [\s!serif] [modern] [\s!default]
17%         \definetypeface [\s!fallback] [\s!ss] [\s!sans]  [modern] [\s!default]
18%         \definetypeface [\s!fallback] [\s!tt] [\s!mono]  [modern] [\s!default]
19%         \definetypeface [\s!fallback] [\s!mm] [\s!math]  [modern] [\s!default]
20%         \quittypescriptscanning
21%     \stoptypescript
22% \stoptypescriptcollection
23
24%D Here comes good old Latin Modern, the default font, based on Knuths Computer
25%D Modern. The design size variants is:
26%D
27%D modern-designsize
28
29\starttypescriptcollection[latinmodern]
30
31    \pushglobalsetups
32
33        \startsetups[modern]
34            \fencemuskip0mu
35        \stopsetups
36
37        \startsetups[latinmodern]                    \directsetup{modern}\stopsetups
38
39    \popglobalsetups
40
41    \doifunknownfontfeature {lm-math-bold} {\definefontfeature[lm-math-bold][boldened]}
42
43    \starttypescript [\s!serif] [simple] [\s!name]
44        \definefontsynonym [\s!Simple] [\s!file:lmmonoproplt10-regular] [\s!features=\s!default]
45    \stoptypescript
46
47    \starttypescript [\s!serif] [modern,latin-modern-designsize,latin-modern] [\s!name]
48        \loadfontgoodies[lm]
49        \definefontsynonym [\s!Serif]            [LMRoman-Regular]     [\s!features=\s!default]
50        \definefontsynonym [\s!SerifBold]        [LMRoman-Bold]        [\s!features=\s!default]
51        \definefontsynonym [\s!SerifItalic]      [LMRoman-Italic]      [\s!features=\s!default]
52        \definefontsynonym [\s!SerifSlanted]     [LMRoman-Oblique]     [\s!features=\s!default]
53        \definefontsynonym [\s!SerifBoldItalic]  [LMRoman-BoldItalic]  [\s!features=\s!default]
54        \definefontsynonym [\s!SerifBoldSlanted] [LMRoman-BoldOblique] [\s!features=\s!default]
55        \definefontsynonym [\s!SerifCaps]        [LMRoman-CapsRegular] [\s!features=\s!default]
56        \definefontsynonym [SerifCapsSlanted]    [LMRoman-CapsOblique] [\s!features=\s!default]
57    \stoptypescript
58
59    \starttypescript [\s!sans] [modern,latin-modern-designsize,latin-modern] [\s!name]
60        \loadfontgoodies[lm]
61        \definefontsynonym [\s!Sans]            [LMSans-Regular]     [\s!features=\s!default]
62        \definefontsynonym [\s!SansBold]        [LMSans-Bold]        [\s!features=\s!default]
63        \definefontsynonym [\s!SansItalic]      [LMSans-Oblique]     [\s!features=\s!default]
64        \definefontsynonym [\s!SansSlanted]     [LMSans-Oblique]     [\s!features=\s!default]
65        \definefontsynonym [\s!SansBoldItalic]  [LMSans-BoldOblique] [\s!features=\s!default]
66        \definefontsynonym [\s!SansBoldSlanted] [LMSans-BoldOblique] [\s!features=\s!default]
67        \definefontsynonym [\s!SansCaps]        [LMSans-Regular]     [\s!features=\s!default]
68        \definefontsynonym [SansCapsSlanted]    [LMSans-Oblique]     [\s!features=\s!default]
69    \stoptypescript
70
71    \starttypescript [\s!mono] [modern,latin-modern-designsize,latin-modern] [\s!name]
72        \loadfontgoodies[lm]
73        \definefontsynonym [\s!Mono]            [LMTypewriter-Regular]      [\s!features=\s!none]
74        \definefontsynonym [\s!MonoBold]        [LMTypewriter-Dark]         [\s!features=\s!none]
75        \definefontsynonym [\s!MonoItalic]      [LMTypewriter-Italic]       [\s!features=\s!none]
76        \definefontsynonym [\s!MonoSlanted]     [LMTypewriter-Oblique]      [\s!features=\s!none]
77        \definefontsynonym [\s!MonoBoldItalic]  [LMTypewriter-DarkOblique]  [\s!features=\s!none]
78        \definefontsynonym [\s!MonoBoldSlanted] [LMTypewriter-DarkOblique]  [\s!features=\s!none]
79        \definefontsynonym [\s!MonoCaps]        [LMTypewriter-CapsRegular]  [\s!features=\s!none]
80        \definefontsynonym [MonoCapsSlanted]    [LMTypewriter-CapsOblique]  [\s!features=\s!none]
81        \definefontsynonym [MonoVariable]       [LMTypewriterVarWd-Regular] [\s!features=\s!none]
82    \stoptypescript
83
84    \starttypescript [\s!math] [modern,latin-modern-designsize,latin-modern,modern-nt] [\s!name]
85        \loadfontgoodies[lm]
86        \definefontsynonym [\s!MathRoman]     [LMMathRoman-Regular]
87        \definefontsynonym [\s!MathRomanBold] [LMMathRoman-Bold]
88    \stoptypescript
89
90    \starttypescript [\s!math] [latin-modern-designsize] [\s!name]
91        \loadfontgoodies[lm-math]
92    \stoptypescript
93
94    \starttypescript [\s!serif] [modern-variable,latin-modern-variable-designsize,latin-modern-variable] [\s!name]
95        \loadfontgoodies[lm]
96        \definefontsynonym [\s!Serif]            [LMTypewriterVarWd-Regular]     [\s!features=\s!default]
97        \definefontsynonym [\s!SerifBold]        [LMTypewriterVarWd-Dark]        [\s!features=\s!default]
98        \definefontsynonym [\s!SerifItalic]      [LMTypewriterVarWd-Oblique]     [\s!features=\s!default]
99        \definefontsynonym [\s!SerifSlanted]     [LMTypewriterVarWd-Oblique]     [\s!features=\s!default]
100        \definefontsynonym [\s!SerifBoldItalic]  [LMTypewriterVarWd-DarkOblique] [\s!features=\s!default]
101        \definefontsynonym [\s!SerifBoldSlanted] [LMTypewriterVarWd-DarkOblique] [\s!features=\s!default]
102        \definefontsynonym [\s!SerifCaps]        [LMTypewriterVarWd-Regular]     [\s!features=\s!default]
103        \definefontsynonym [SerifCapsSlanted]    [LMTypewriterVarWd-Oblique]     [\s!features=\s!default]
104    \stoptypescript
105
106    \starttypescript [\s!mono] [modern-condensed,latin-modern-condensed-designsize,latin-modern-condensed,modern-light-condensed,latin-modern-light-condensed] [\s!name]
107        \loadfontgoodies[lm]
108        \definefontsynonym [\s!Mono]            [LMTypewriter-LightCondensed]        [\s!features=\s!none]
109        \definefontsynonym [\s!MonoBold]        [LMTypewriter-LightCondensed]        [\s!features=\s!none]
110        \definefontsynonym [\s!MonoItalic]      [LMTypewriter-LightCondensedOblique] [\s!features=\s!none]
111        \definefontsynonym [\s!MonoSlanted]     [LMTypewriter-LightCondensedOblique] [\s!features=\s!none]
112        \definefontsynonym [\s!MonoBoldItalic]  [LMTypewriter-LightCondensed]        [\s!features=\s!none]
113        \definefontsynonym [\s!MonoBoldSlanted] [LMTypewriter-LightCondensed]        [\s!features=\s!none]
114        \definefontsynonym [\s!MonoCaps]        [LMTypewriter-LightCondensed]        [\s!features=\s!none]
115        \definefontsynonym [MonoCapsSlanted]    [LMTypewriter-LightCondensed]        [\s!features=\s!none]
116    \stoptypescript
117
118    \starttypescript [\s!mono] [modern-light,latin-modern-light-designsize,latin-modern-light] [\s!name]
119        \loadfontgoodies[lm]
120        \definefontsynonym [\s!Mono]            [LMTypewriter-Light]        [\s!features=\s!none]
121        \definefontsynonym [\s!MonoBold]        [LMTypewriter-Light]        [\s!features=\s!none]
122        \definefontsynonym [\s!MonoItalic]      [LMTypewriter-LightOblique] [\s!features=\s!none]
123        \definefontsynonym [\s!MonoSlanted]     [LMTypewriter-LightOblique] [\s!features=\s!none]
124        \definefontsynonym [\s!MonoBoldItalic]  [LMTypewriter-Light]        [\s!features=\s!none]
125        \definefontsynonym [\s!MonoBoldSlanted] [LMTypewriter-Light]        [\s!features=\s!none]
126        \definefontsynonym [\s!MonoCaps]        [LMTypewriter-Light]        [\s!features=\s!none]
127        \definefontsynonym [MonoCapsSlanted]    [LMTypewriter-Light]        [\s!features=\s!none]
128    \stoptypescript
129
130    % why not also [name]
131
132    \starttypescript [\s!serif] [modern,latin-modern]
133        \loadfontgoodies[lm]
134        \definefontsynonym [LMRoman-Regular]        [\s!file:lmroman10-regular]      [\s!features=\s!default,\s!goodies=modern-text]
135        \definefontsynonym [LMRoman-Bold]           [\s!file:lmroman10-bold]         [\s!features=\s!default,\s!goodies=modern-text]
136        \definefontsynonym [LMRoman-Demi]           [\s!file:lmromandemi10-regular]  [\s!features=\s!default]
137        \definefontsynonym [LMRoman-Italic]         [\s!file:lmroman10-italic]       [\s!features=\s!default,\s!goodies=modern-text]
138        \definefontsynonym [LMRoman-Oblique]        [\s!file:lmromanslant10-regular] [\s!features=\s!default]
139        \definefontsynonym [LMRoman-BoldItalic]     [\s!file:lmroman10-bolditalic]   [\s!features=\s!default,\s!goodies=modern-text]
140        \definefontsynonym [LMRoman-BoldOblique]    [\s!file:lmromanslant10-bold]    [\s!features=\s!default]
141        \definefontsynonym [LMRoman-DemiOblique]    [\s!file:lmromandemi10-oblique]  [\s!features=\s!default]
142        \definefontsynonym [LMRoman-CapsRegular]    [\s!file:lmroman10-CapsRegular]  [\s!features=\s!default]
143        \definefontsynonym [LMRoman-CapsOblique]    [\s!file:lmroman10-CapsOblique]  [\s!features=\s!default]
144        \definefontsynonym [LMRoman-CapsRegular]    [\s!file:lmromancaps10-regular]  [\s!features=\s!default]
145        \definefontsynonym [LMRoman-CapsOblique]    [\s!file:lmromancaps10-oblique]  [\s!features=\s!default]
146        \definefontsynonym [LMRoman-Dunhill]        [\s!file:lmromandunh10-regular]  [\s!features=\s!default]
147        \definefontsynonym [LMRoman-DunhillOblique] [\s!file:lmromandunh10-oblique]  [\s!features=\s!default]
148        \definefontsynonym [LMRoman-Unslanted]      [\s!file:lmromanunsl10-regular]  [\s!features=\s!default]
149
150    \stoptypescript
151
152    \starttypescript [\s!sans] [modern,latin-modern]
153        \loadfontgoodies[lm]
154        \definefontsynonym [LMSans-Regular]               [\s!file:lmsans10-regular]           [\s!features=\s!default]
155        \definefontsynonym [LMSans-Bold]                  [\s!file:lmsans10-bold]              [\s!features=\s!default]
156        \definefontsynonym [LMSans-Oblique]               [\s!file:lmsans10-oblique]           [\s!features=\s!default]
157        \definefontsynonym [LMSans-BoldOblique]           [\s!file:lmsans10-boldoblique]       [\s!features=\s!default]
158        \definefontsynonym [LMSans-DemiCondensed]         [\s!file:lmsansdemicond10-regular]   [\s!features=\s!default]
159        \definefontsynonym [LMSans-DemiCondensedOblique]  [\s!file:lmsansdemicond10-oblique]   [\s!features=\s!default]
160        \definefontsynonym [LMSansQuotation-Regular]      [\s!file:lmsansquot8-regular]        [\s!features=\s!default]
161        \definefontsynonym [LMSansQuotation-Bold]         [\s!file:lmsansquot8-bold]           [\s!features=\s!default]
162        \definefontsynonym [LMSansQuotation-Oblique]      [\s!file:lmsansquot8-oblique]        [\s!features=\s!default]
163        \definefontsynonym [LMSansQuotation-BoldOblique]  [\s!file:lmsansquot8-boldoblique]    [\s!features=\s!default]
164    \stoptypescript
165
166    \starttypescript [\s!mono] [modern,latin-modern,modern-variable,latin-modern-variable,modern-condensed,latin-modern-condensed]
167        \definefontsynonym [LMTypewriter-Regular]               [\s!file:lmmono10-regular]           [\s!features=\s!none]
168        \definefontsynonym [LMTypewriter-Italic]                [\s!file:lmmono10-italic]            [\s!features=\s!none]
169        \definefontsynonym [LMTypewriter-Oblique]               [\s!file:lmmonoslant10-regular]      [\s!features=\s!none]
170        \definefontsynonym [LMTypewriter-CapsRegular]           [\s!file:lmmonocaps10-regular]       [\s!features=\s!none]
171        \definefontsynonym [LMTypewriter-CapsOblique]           [\s!file:lmmonocaps10-oblique]       [\s!features=\s!none]
172        \definefontsynonym [LMTypewriter-Light]                 [\s!file:lmmonolt10-regular]         [\s!features=\s!none]
173        \definefontsynonym [LMTypewriter-LightOblique]          [\s!file:lmmonolt10-oblique]         [\s!features=\s!none]
174        \definefontsynonym [LMTypewriter-LightCondensed]        [\s!file:lmmonoltcond10-regular]     [\s!features=\s!none]
175        \definefontsynonym [LMTypewriter-LightCondensedOblique] [\s!file:lmmonoltcond10-oblique]     [\s!features=\s!none]
176        \definefontsynonym [LMTypewriter-Dark]                  [\s!file:lmmonolt10-bold]            [\s!features=\s!none]
177        \definefontsynonym [LMTypewriter-DarkOblique]           [\s!file:lmmonolt10-boldoblique]     [\s!features=\s!none]
178        \definefontsynonym [LMTypewriterVarWd-Regular]          [\s!file:lmmonoproplt10-regular]     [\s!features=\s!default]
179        \definefontsynonym [LMTypewriterVarWd-Oblique]          [\s!file:lmmonoproplt10-oblique]     [\s!features=\s!default]
180        \definefontsynonym [LMTypewriterVarWd-Light]            [\s!file:lmmonoprop10-regular]       [\s!features=\s!default]
181        \definefontsynonym [LMTypewriterVarWd-LightOblique]     [\s!file:lmmonoprop10-oblique]       [\s!features=\s!default]
182        \definefontsynonym [LMTypewriterVarWd-Dark]             [\s!file:lmmonoproplt10-bold]        [\s!features=\s!default]
183        \definefontsynonym [LMTypewriterVarWd-DarkOblique]      [\s!file:lmmonoproplt10-boldoblique] [\s!features=\s!default]
184    \stoptypescript
185
186    \starttypescript [\s!math] [modern,modern-nt,latin-modern,modern-designsize,modern-base,%
187                                modernvariable,modern-variable,%
188                                modernvariablelight,modern-variable-light,%
189                                modern-mono,modern-base-mono]
190        \checkedmapfontsize[\typescripttwo][\s!script]      [.70]
191        \checkedmapfontsize[\typescripttwo][\s!scriptscript][.50]
192    \stoptypescript
193
194    \starttypescript [\s!math] [modern,latin-modern]
195        \loadfontgoodies[lm]
196        \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math,mathextra},\s!goodies=modern-math]
197        \definefontsynonym [LMMathRoman-Bold]    [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math-bold,lm-math,mathextra},\s!goodies=modern-math]
198    \stoptypescript
199    \starttypescript [\s!math] [modern-nt]
200        \loadfontgoodies[lm]
201        \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math,mathextra}]
202        \definefontsynonym [LMMathRoman-Bold]    [\v!file:latinmodern-math.otf] [\s!features={\s!math\mathsizesuffix,lm:mathextra,lm-math-bold,lm-math,mathextra}]
203    \stoptypescript
204
205    \starttypescript [modern-designsize-virtual]
206        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
207        \definetypeface [\typescriptone] [\s!ss] [\s!sans]  [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
208        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
209        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
210        \quittypescriptscanning
211    \stoptypescript
212
213    \starttypescript [modern-designsize]
214        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
215        \definetypeface [\typescriptone] [\s!ss] [\s!sans]  [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
216        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
217        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern]                  [\s!default]
218        \quittypescriptscanning
219    \stoptypescript
220
221    \starttypescript [modern,modern-base]
222        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default]
223        \definetypeface [\typescriptone] [\s!ss] [\s!sans]  [modern] [\s!default]
224        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [modern] [\s!default]
225        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern] [\s!default]
226        \quittypescriptscanning
227    \stoptypescript
228
229    \starttypescript [modern-nt]
230        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern]    [\s!default]
231        \definetypeface [\typescriptone] [\s!ss] [\s!sans]  [modern]    [\s!default]
232        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [modern]    [\s!default]
233        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern-nt] [\s!default]
234        \quittypescriptscanning
235    \stoptypescript
236
237    \starttypescript [modernvariable,modern-variable]
238        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default]
239        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [modern-variable] [\s!default]
240        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern]          [\s!default]
241        \quittypescriptscanning
242    \stoptypescript
243
244    \starttypescript [modernvariablelight,modern-variable-light]
245        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable-light] [\s!default]
246        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [modern-variable-light] [\s!default]
247        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern]                [\s!default]
248        \quittypescriptscanning
249    \stoptypescript
250
251    \starttypescript [modern-mono,modern-base-mono]
252        \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern]       [\s!default]
253        \definetypeface [\typescriptone] [\s!ss] [\s!sans]  [modern]       [\s!default]
254        \definetypeface [\typescriptone] [\s!tt] [\s!mono]  [modern-light] [\s!default]
255        \definetypeface [\typescriptone] [\s!mm] [\s!math]  [modern]       [\s!default]
256        \quittypescriptscanning
257    \stoptypescript
258
259\stoptypescriptcollection
260
261%D It doesn't hurt to have these, at least for the moment (can go to type-imp-symbol)
262
263\definefontsynonym [ZapfDingbats] [\s!file:uzdr*dingbats]% works better with symbols
264
265% \definefontsynonym [ZapfDingbats] [\s!file:uzdr] [\s!features=dingbats]% [\s!goodies=dingbats]
266
267\endinput
268