type-imp-koeielettersot.mkiv /size: 5427 b    last modification: 2023-12-21 09:44
1%D \module
2%D   [       file=type-cowotf,
3%D        version=2016.09.16,
4%D          title=\CONTEXT\ Typescript Macros,
5%D       subtitle=Cow Fonts (otf version),
6%D         author={Taco Hoekwater \& 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%D The cow fonts are a project of Duane Bibby, Hans Hagen and Taco
15%D Hoekwater.
16
17\unprotect
18
19\definefontfeature
20  [sheepdigits]
21  [mode=node,
22   script=latn,
23   ss01=yes]
24
25\definefontfeature
26  [mathsheepdigits]
27  [sheepdigits]
28  [mode=base]
29
30\definefontfeature
31  [cowslogos]
32  [mode=node,
33   script=latn,
34   ss02=yes,
35   dlig=yes]
36
37\definefontfeature
38  [cowsligatures]
39  [mode=node,
40   script=latn,
41   dlig=yes]
42
43\definefontfeature
44  [cowscolors]
45  [mode=node,
46   colr=yes,
47   ss02=yes,
48   dlig=yes]
49
50\definefontfeature
51  [cowsdefault]
52  [default]
53  [mode=node,
54   compose=yes]
55
56\definefontfeature
57  [sheepdefault]
58  [cowsdefault,sheepdigits]
59
60\definefontfeature
61  [cowscolored]
62  [cowsdefault,cowscolors]
63
64\definefontfeature
65  [sheepcolored]
66  [sheepdefault,cowscolors]
67
68\definefontfeature[sheepdefaultbold][sheepdefault][boldened]
69\definefontfeature[cowsdefaultbold] [cowsdefault] [boldened]
70
71\starttypescriptcollection[koeielettersot]
72
73    \loadfontgoodies[koeielettersot]
74
75    \starttypescript [\s!all] [cowsotf]
76        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowsdefault]
77        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos]
78        \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
79    \stoptypescript
80
81    \starttypescript [\s!all] [koeielettersotf,sheepotf]
82        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepdefault]
83        \definefontsynonym [SheepBold]     [koeielettersot][\s!features=sheepdefaultbold]
84        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos]
85        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
86    \stoptypescript
87
88%   \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
89
90    \starttypescript [\s!all] [coloredcowsotf]
91        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowscolored]
92        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos]
93        \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
94    \stoptypescript
95
96    \starttypescript [\s!all] [coloredsheepotf]
97        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepcolored]
98        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos]
99        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
100    \stoptypescript
101
102    \starttypescript [\s!serif] [cowsotf,coloredcowsotf]
103        \setups[\s!font:\s!fallback:\s!serif]
104        \definefontsynonym [\s!Serif]     [Cows]
105        \definefontsynonym [\s!Serif Logo][CowsLogo]
106    \stoptypescript
107
108    \starttypescript [\s!serif] [koeielettersotf,sheepotf,coloredsheepotf]
109        \setups[\s!font:\s!fallback:\s!serif]
110        \definefontsynonym [\s!Serif]     [Sheep]
111        \definefontsynonym [\s!SerifBold] [SheepBold]
112        \definefontsynonym [\s!Serif Logo][SheepLogo]
113    \stoptypescript
114
115    \starttypescript [\s!math] [cowsotf,coloredcowsotf]
116        \definefontsynonym [\s!MathRoman][CowsMathRoman]
117        \enablemathrules % uses \fontclass, for now this way
118    \stoptypescript
119
120    \starttypescript [\s!math] [koeielettersotf,sheepotf,coloredsheepotf]
121        \definefontsynonym [\s!MathRoman][SheepMathRoman]
122        \enablemathrules % uses \fontclass, for now this way
123    \stoptypescript
124
125    \starttypescript [koeieletters,cows,sheep,coloredcows,coloredsheep]
126        \definetypeface [\typescriptone][\s!rm][\s!serif][\typescriptone otf][\s!default]
127        \definetypeface [\typescriptone][\s!ss][\s!serif][\typescriptone otf][\s!default]
128        \definetypeface [\typescriptone][\s!mm][\s!math] [\typescriptone otf][\s!default]
129        \definetypeface [\typescriptone][\s!tt][\s!mono] [modern]            [\s!default][\s!rscale=0.85]
130    \stoptypescript
131
132\stoptypescriptcollection
133
134\protect
135
136\continueifinputfile{type-imp-koeielettersot.mkiv}
137
138\starttext
139
140\setupbodyfont[cows]
141
142% \input tufte
143
144% \stoptext
145
146% \starttext
147
148\loadtypescriptfile[cowotf]
149
150\definecolor[cowred]   [r=.50]
151\definecolor[cowgreen] [g=.50]
152\definecolor[cowblue]  [b=.50]
153\definecolor[cowyellow][y=.25]
154
155\definefontcolorpalette[cows][cowgreen,cowyellow,cowblue,cowred]
156
157\startluacode
158    fonts.handlers.otf.registerpalette("cows", {
159        { g = .5 },
160        { r = .75, g = .75 },
161        { b = .5 },
162        { r = .5 },
163    })
164\stopluacode
165
166\adaptfontfeature[cowscolored] [colr=cows]
167
168\setupbodyfont[coloredcows,12pt]
169
170\input zapf
171
172\definefontsynonym
173  [CowsColored]
174  [koeielettersot]
175
176\showotfcomposition
177  {koeielettersot*default,cowscolors}
178  {1}
179  {context}
180
181\scale[width=\textwidth]{\getnamedglyphdirect{CowsColored*default,cowscolors}{contextlogo}}
182\scale[width=\textwidth]{\definedfont[CowsColored*default,cowscolors]context}
183
184\stoptext
185