type-imp-source.mkiv /size: 7216 b    last modification: 2024-01-16 09:03
1%D \module
2%D   [       file=type-imp-source,
3%D        version=2010.06.21,
4%D          title=\CONTEXT\ Typescript Macros,
5%D       subtitle=Adobe Source Fonts (https://fonts.google.com/),
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[source]
15
16    \definefontfeature[source-serif-slanted][slant=0.2]
17
18    \starttypescript [\s!serif] [source] [\s!name]
19        \setups[\s!font:\s!fallback:\s!serif]
20        \definefontsynonym [\s!Serif]           [\s!file:SourceSerifPro-Regular]  [\s!features=\s!default]
21        \definefontsynonym [\s!SerifBold]       [\s!file:SourceSerifPro-Bold]     [\s!features=\s!default]
22      % \definefontsynonym [\s!SerifBold]       [\s!file:SourceSerifPro-Semibold] [\s!features=\s!default]
23        \definefontsynonym [\s!SerifItalic]     [\s!file:SourceSerifPro-Regular]  [\s!features={\s!default,source-serif-slanted}]
24        \definefontsynonym [\s!SerifBoldItalic] [\s!file:SourceSerifPro-Bold]     [\s!features={\s!default,source-serif-slanted}]
25    \stoptypescript
26
27    \starttypescript [\s!sans] [source] [\s!name]
28        \setups[\s!font:\s!fallback:\s!sans]
29      % \definefontsynonym [\s!Sans]           [\s!file:SourceSansPro-ExtraLight]       [\s!features=\s!default]
30      % \definefontsynonym [\s!Sans]           [\s!file:SourceSansPro-Light]            [\s!features=\s!default]
31        \definefontsynonym [\s!Sans]           [\s!file:SourceSansPro-Regular]          [\s!features=\s!default]
32      % \definefontsynonym [\s!SansBold]       [\s!file:SourceSansPro-Semibold]         [\s!features=\s!default]
33        \definefontsynonym [\s!SansBold]       [\s!file:SourceSansPro-Bold]             [\s!features=\s!default]
34      % \definefontsynonym [\s!SansBold]       [\s!file:SourceSansPro-Black]            [\s!features=\s!default]
35      % \definefontsynonym [\s!SansItalic]     [\s!file:SourceSansPro-ExtraLightItalic] [\s!features=\s!default]
36      % \definefontsynonym [\s!SansItalic]     [\s!file:SourceSansPro-LightItalic]      [\s!features=\s!default]
37        \definefontsynonym [\s!SansItalic]     [\s!file:SourceSansPro-Italic]           [\s!features=\s!default]
38      % \definefontsynonym [\s!SansBoldItalic] [\s!file:SourceSansPro-SemiboldItalic]   [\s!features=\s!default]
39        \definefontsynonym [\s!SansBoldItalic] [\s!file:SourceSansPro-BoldItalic]       [\s!features=\s!default]
40      % \definefontsynonym [\s!SansBoldItalic] [\s!file:SourceSansPro-BlackItalic]      [\s!features=\s!default]
41    \stoptypescript
42
43    \starttypescript [\s!mono] [source] [\s!name]
44        \setups[\s!font:\s!fallback:\s!mono]
45      % \definefontsynonym [\s!Mono]     [\s!file:SourceCodePro-ExtraLight] [\s!features=\s!none]
46      % \definefontsynonym [\s!Mono]     [\s!file:SourceCodePro-Light]      [\s!features=\s!none]
47        \definefontsynonym [\s!Mono]     [\s!file:SourceCodePro-Regular]    [\s!features=\s!none]
48      % \definefontsynonym [\s!MonoBold] [\s!file:SourceCodePro-Medium]     [\s!features=\s!none]
49      % \definefontsynonym [\s!MonoBold] [\s!file:SourceCodePro-Semibold]   [\s!features=\s!none]
50        \definefontsynonym [\s!MonoBold] [\s!file:SourceCodePro-Bold]       [\s!features=\s!none]
51      % \definefontsynonym [\s!MonoBold] [\s!file:SourceCodePro-Black]      [\s!features=\s!none]
52    \stoptypescript
53
54    \starttypescript [\s!math][source][\s!name]
55      % \loadfontgoodies[texgyre]
56        \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
57    \stoptypescript
58
59    \starttypescript[source]
60        \definetypeface [source] [\s!rm] [\s!serif] [source] [\s!default]
61        \definetypeface [source] [\s!ss] [\s!sans]  [source] [\s!default]
62        \definetypeface [source] [\s!tt] [\s!mono]  [source] [\s!default]
63        \definetypeface [source] [\s!mm] [\s!math]  [source] [\s!default] % [\s!rscale=1.2]
64    \stoptypescript
65
66\stoptypescriptcollection
67
68
69% \starttext
70%
71% \definetypescriptprefix [b:as:extralight][regular]
72% \definetypescriptprefix [b:as:light]     [semibold]
73% \definetypescriptprefix [b:as:regular]   [bold]
74% \definetypescriptprefix [b:as:medium]    [bold]
75% \definetypescriptprefix [b:as:semibold]  [black]
76% \definetypescriptprefix [b:as:bold]      [black]
77% \definetypescriptprefix [b:as:black]     [black]
78%
79% \doloopoverlist {,display,caption,smtext,subhead} {
80%     \definetypescriptprefix [u:adobesource#1]  [#1]
81%     \definetypescriptprefix [n:adobesource#1]  [-regular]
82%     \definetypescriptprefix [i:adobesource#1]  [-it]
83%     \definetypescriptprefix [b:adobesource#1]  [-\typescriptprefix{b:as:regular}]
84%     \definetypescriptprefix [bi:adobesource#1] [-\typescriptprefix{b:as:regular}it]
85%     \doloopoverlist {extralight,light,regular,medium,semibold,bold,black} {
86%         \definetypescriptprefix [b:adobesource#1##1]  [-\typescriptprefix{b:as:##1}]
87%         \definetypescriptprefix [bi:adobesource#1##1] [-\typescriptprefix{b:as:##1}it]
88%     }
89% }
90%
91% \starttypescript [adobesource,adobesourcedisplay,adobesourcelight,adobesourcedisplaylight]
92%     %
93%     \writestatus{Serif}          {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {n:\typescriptone}}
94%     \writestatus{SerifBold}      {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {b:\typescriptone}}
95%     \writestatus{SerifItalic}    {file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix {i:\typescriptone}}
96%     \writestatus{SerifBoldItalic}{file:sourceserif4 \typescriptprefix{u:\typescriptone} \typescriptprefix{bi:\typescriptone}}
97%     %
98%     \definefontsynonym[Serif]          [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{n:\typescriptone}.otf]
99%     \definefontsynonym[SerifBold]      [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{b:\typescriptone}.otf]
100%     \definefontsynonym[SerifItalic]    [file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{i:\typescriptone}.otf]
101%     \definefontsynonym[SerifBoldItalic][file:sourceserif4\typescriptprefix{u:\typescriptone}\typescriptprefix{bi:\typescriptone}.otf]
102%     %
103%     \definetypeface [\typescriptone] [rm] [serif] [\typescriptone] [default]
104%     \definetypeface [\typescriptone] [ss] [sans]  [dejavu] [default]
105%     \definetypeface [\typescriptone] [tt] [mono]  [dejavu] [default]
106%     \definetypeface [\typescriptone] [mm] [math]  [dejavu] [default]
107% \stoptypescript
108%
109% % \usetypescriptfile[adobesource]
110%
111% \usebodyfont[adobesource]
112% \usebodyfont[adobesourcedisplay]
113%
114% \setupbodyfont[adobesource]
115%
116% % \starttext
117%
118% {\switchtobodyfont[adobesource]normal \it italic \bf bold \bi bolditalic}
119%
120% \startoverlay
121%     {\switchtobodyfont[adobesource]this is a test}
122%     {\red\switchtobodyfont[adobesourcedisplay]this is a test}
123% \stopoverlay
124%
125% \startoverlay
126%     {\switchtobodyfont[adobesource]\bf this is a test}
127%     {\red\switchtobodyfont[adobesourcedisplay]\bf this is a test}
128% \stopoverlay
129%
130% \stoptext
131