type-imp-koeielettersot.mkiv /size: 5443 b    last modification: 2025-02-21 11:03
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   wipemath=no,
55   compose=yes]
56
57\definefontfeature
58  [sheepdefault]
59  [cowsdefault,sheepdigits]
60
61\definefontfeature
62  [cowscolored]
63  [cowsdefault,cowscolors]
64
65\definefontfeature
66  [sheepcolored]
67  [sheepdefault,cowscolors]
68
69\definefontfeature[sheepdefaultbold][sheepdefault][boldened]
70\definefontfeature[cowsdefaultbold] [cowsdefault] [boldened]
71
72\starttypescriptcollection[koeielettersot]
73
74    \loadfontgoodies[koeielettersot]
75
76    \starttypescript [\s!all] [cowsotf]
77        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowsdefault]
78        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos]
79        \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
80    \stoptypescript
81
82    \starttypescript [\s!all] [koeielettersotf,sheepotf]
83        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepdefault]
84        \definefontsynonym [SheepBold]     [koeielettersot][\s!features=sheepdefaultbold]
85        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos]
86        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
87    \stoptypescript
88
89%   \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features={\s!math\mathsizesuffix,mathextra},\s!goodies=dejavu-math]
90
91    \starttypescript [\s!all] [coloredcowsotf]
92        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowscolored]
93        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos]
94        \definefontsynonym [CowsMathRoman][koeielettersot][\s!features=mathextra,\s!goodies=koeielettersot]
95    \stoptypescript
96
97    \starttypescript [\s!all] [coloredsheepotf]
98        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepcolored]
99        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos]
100        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features={mathsheepdigits,mathextra},\s!goodies=koeielettersot]
101    \stoptypescript
102
103    \starttypescript [\s!serif] [cowsotf,coloredcowsotf]
104        \setups[\s!font:\s!fallback:\s!serif]
105        \definefontsynonym [\s!Serif]     [Cows]
106        \definefontsynonym [\s!Serif Logo][CowsLogo]
107    \stoptypescript
108
109    \starttypescript [\s!serif] [koeielettersotf,sheepotf,coloredsheepotf]
110        \setups[\s!font:\s!fallback:\s!serif]
111        \definefontsynonym [\s!Serif]     [Sheep]
112        \definefontsynonym [\s!SerifBold] [SheepBold]
113        \definefontsynonym [\s!Serif Logo][SheepLogo]
114    \stoptypescript
115
116    \starttypescript [\s!math] [cowsotf,coloredcowsotf]
117        \definefontsynonym [\s!MathRoman][CowsMathRoman]
118        \enablemathrules % uses \fontclass, for now this way
119    \stoptypescript
120
121    \starttypescript [\s!math] [koeielettersotf,sheepotf,coloredsheepotf]
122        \definefontsynonym [\s!MathRoman][SheepMathRoman]
123        \enablemathrules % uses \fontclass, for now this way
124    \stoptypescript
125
126    \starttypescript [koeieletters,cows,sheep,coloredcows,coloredsheep]
127        \definetypeface [\typescriptone][\s!rm][\s!serif][\typescriptone otf][\s!default]
128        \definetypeface [\typescriptone][\s!ss][\s!serif][\typescriptone otf][\s!default]
129        \definetypeface [\typescriptone][\s!mm][\s!math] [\typescriptone otf][\s!default]
130        \definetypeface [\typescriptone][\s!tt][\s!mono] [modern]            [\s!default][\s!rscale=0.85]
131    \stoptypescript
132
133\stoptypescriptcollection
134
135\protect
136
137\continueifinputfile{type-imp-koeielettersot.mkiv}
138
139\starttext
140
141\setupbodyfont[cows]
142
143% \input tufte
144
145% \stoptext
146
147% \starttext
148
149\loadtypescriptfile[cowotf]
150
151\definecolor[cowred]   [r=.50]
152\definecolor[cowgreen] [g=.50]
153\definecolor[cowblue]  [b=.50]
154\definecolor[cowyellow][y=.25]
155
156\definefontcolorpalette[cows][cowgreen,cowyellow,cowblue,cowred]
157
158\startluacode
159    fonts.handlers.otf.registerpalette("cows", {
160        { g = .5 },
161        { r = .75, g = .75 },
162        { b = .5 },
163        { r = .5 },
164    })
165\stopluacode
166
167\adaptfontfeature[cowscolored] [colr=cows]
168
169\setupbodyfont[coloredcows,12pt]
170
171\input zapf
172
173\definefontsynonym
174  [CowsColored]
175  [koeielettersot]
176
177\showotfcomposition
178  {koeielettersot*default,cowscolors}
179  {1}
180  {context}
181
182\scale[width=\textwidth]{\getnamedglyphdirect{CowsColored*default,cowscolors}{contextlogo}}
183\scale[width=\textwidth]{\definedfont[CowsColored*default,cowscolors]context}
184
185\stoptext
186