type-imp-ipaex.mkiv /size: 8185 b    last modification: 2020-07-01 14:35
1%D \module
2%D   [       file=type-imp-ipaex,
3%D        version=2015.05.01,
4%D          title=\CONTEXT\ Typescript Macros,
5%D       subtitle=IPAex,
6%D         author=Yusuke KUROKI \& Hans HAGEN,
7%D           date=\currentdate,
8%D      copyright=Yusuke KUROKI \& Hans HAGEN]
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% usage: \setupbodyfont[ipaex,10pt]
15
16\loadtypescriptfile[texgyre]
17\loadtypescriptfile[xits]
18
19\definefontfeature
20  [jp-default]
21  [script=default,lang=japanese]
22
23\definefontfeature
24  [jp-latin-default]
25  [jp-default]
26
27\definefontfeature
28  [jp-latin-slanted]
29  [jp-latin-default]
30  [slant=.2]
31
32\definefontfeature
33  [jp-latin-slanted-mono]
34  [slant=.2]
35
36\definefontfeature
37  [jp-latin-smallcaps]
38  [jp-latin-default]
39  [smcp=yes]
40
41\definefontfeature
42  [jp-latin-smallcaps-mono]
43  [cmcp=yes]
44
45\definefontfallback[jp-serif]           [texgyrepagella-regular*jp-latin-default]      [0x0000-0x0400][force=yes,rscale=1.0406]
46\definefontfallback[jp-serifbold]       [texgyrepagella-bold*jp-latin-default]         [0x0000-0x0400][force=yes,rscale=1.0406]
47\definefontfallback[jp-serifitalic]     [texgyrepagella-italic*jp-latin-default]       [0x0000-0x0400][force=yes,rscale=1.0406]
48\definefontfallback[jp-serifbolditalic] [texgyrepagella-bolditalic*jp-latin-default]   [0x0000-0x0400][force=yes,rscale=1.0406]
49\definefontfallback[jp-serifslanted]    [texgyrepagella-regular*jp-latin-slanted]      [0x0000-0x0400][force=yes,rscale=1.0406]
50\definefontfallback[jp-serifboldslanted][texgyrepagella-bold*jp-latin-slanted]         [0x0000-0x0400][force=yes,rscale=1.0406]
51\definefontfallback[jp-serifcaps]       [texgyrepagella-regular*jp-latin-smallcaps]    [0x0000-0x0400][force=yes,rscale=1.0406]
52\definefontfallback[jp-sans]            [texgyreheros-regular*jp-latin-default]        [0x0000-0x0400][force=yes,rscale=1.0406]
53\definefontfallback[jp-sansbold]        [texgyreheros-bold*jp-latin-default]           [0x0000-0x0400][force=yes,rscale=1.0406]
54\definefontfallback[jp-sansitalic]      [texgyreheros-italic*jp-latin-default]         [0x0000-0x0400][force=yes,rscale=1.0406]
55\definefontfallback[jp-sansbolditalic]  [texgyreheros-bolditalic*jp-latin-default]     [0x0000-0x0400][force=yes,rscale=1.0406]
56\definefontfallback[jp-sansslanted]     [texgyreheros-regular*jp-latin-slanted]        [0x0000-0x0400][force=yes,rscale=1.0406]
57\definefontfallback[jp-sansboldslanted] [texgyreheros-bold*jp-latin-slanted]           [0x0000-0x0400][force=yes,rscale=1.0406]
58\definefontfallback[jp-sanscaps]        [texgyreheros-regular*jp-latin-smallcaps]      [0x0000-0x0400][force=yes,rscale=1.0406]
59\definefontfallback[jp-mono]            [texgyrecursor-regular]                        [0x0000-0x0400][force=yes,rscale=1.0406]
60\definefontfallback[jp-monobold]        [texgyrecursor-bold]                           [0x0000-0x0400][force=yes,rscale=1.0406]
61\definefontfallback[jp-monoitalic]      [texgyrecursor-italic]                         [0x0000-0x0400][force=yes,rscale=1.0406]
62\definefontfallback[jp-monobolditalic]  [texgyrecursor-bolditalic]                     [0x0000-0x0400][force=yes,rscale=1.0406]
63\definefontfallback[jp-monoslanted]     [texgyrecursor-regular*jp-latin-slanted-mono]  [0x0000-0x0400][force=yes,rscale=1.0406]
64\definefontfallback[jp-monoboldslanted] [texgyrecursor-bold*jp-latin-slanted-mono]     [0x0000-0x0400][force=yes,rscale=1.0406]
65\definefontfallback[jp-monocaps]        [texgyrecursor-regular*jp-latin-smallcaps-mono][0x0000-0x0400][force=yes,rscale=1.0406]
66
67\starttypescriptcollection[ipaex]
68    \starttypescript [\s!serif] [ipaexm]
69        \definefontsynonym [ipaexm]           [\s!file:ipaexm][\s!features=jp-default,\s!fallbacks=jp-serif]
70        \definefontsynonym [ipaexmbold]       [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-serifbold]
71        \definefontsynonym [ipaexmitalic]     [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-serifitalic]
72        \definefontsynonym [ipaexmbolditalic] [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-serifbolditalic]
73        \definefontsynonym [ipaexmslanted]    [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-serifslanted]
74        \definefontsynonym [ipaexmboldslanted][\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-serifboldslanted]
75        \definefontsynonym [ipaexmcaps]       [\s!file:ipaexm][\s!features=jp-default,\s!fallbacks=jp-serifcaps]
76    \stoptypescript
77
78    \starttypescript [\s!sans] [ipaexg]
79        \definefontsynonym[ipaexg]             [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sans]
80        \definefontsynonym[ipaexgbold]         [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sansbold]
81        \definefontsynonym[ipaexgitalic]       [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sansitalic]
82        \definefontsynonym[ipaexgbolditalic]   [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sansbolditalic]
83        \definefontsynonym[ipaexgslanted]      [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sansslanted]
84        \definefontsynonym[ipaexgboldslanted]  [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sansboldslanted]
85        \definefontsynonym[ipaexgcaps]         [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-sanscaps]
86    \stoptypescript
87
88    \starttypescript [\s!mono] [ipaexgmono]
89        \definefontsynonym[ipaexgmono]              [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-mono]
90        \definefontsynonym[ipaexgmonobold]          [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-monobold]
91        \definefontsynonym[ipaexgmonoitalic]        [\s!file:ipaexg][\s!features=jp-slanted,\s!fallbacks=jp-monoitalic]
92        \definefontsynonym[ipaexgmonobolditalic]    [\s!file:ipaexg][\s!features=jp-slanted,\s!fallbacks=jp-monobolditalic]
93        \definefontsynonym[ipaexgmonoslanted]       [\s!file:ipaexg][\s!features=jp-slanted,\s!fallbacks=jp-monoslanted]
94        \definefontsynonym[ipaexgmonoboldslanted]   [\s!file:ipaexg][\s!features=jp-slanted,\s!fallbacks=jp-monoboldslanted]
95        \definefontsynonym[ipaexgmonocaps]          [\s!file:ipaexg][\s!features=jp-default,\s!fallbacks=jp-monocaps]
96    \stoptypescript
97
98    \starttypescript [\s!serif] [ipaexm] [\s!name]
99        \definefontsynonym[\s!Serif]           [ipaexm]
100        \definefontsynonym[\s!SerifBold]       [ipaexmbold]
101        \definefontsynonym[\s!SerifItalic]     [ipaexmitalic]
102        \definefontsynonym[\s!SerifBoldItalic] [ipaexmbolditalic]
103        \definefontsynonym[\s!SerifSlanted]    [ipaexmslanted]
104        \definefontsynonym[\s!SerifBoldSlanted][ipaexmboldslanted]
105        \definefontsynonym[\s!SerifCaps]       [ipaexmcaps]
106    \stoptypescript
107
108    \starttypescript [\s!sans] [ipaexg] [\s!name]
109        \definefontsynonym[\s!Sans]            [ipaexg]
110        \definefontsynonym[\s!SansBold]        [ipaexgbold]
111        \definefontsynonym[\s!SansItalic]      [ipaexgitalic]
112        \definefontsynonym[\s!SansBoldItalic]  [ipaexgbolditalic]
113        \definefontsynonym[\s!SansSlanted]     [ipaexgslanted]
114        \definefontsynonym[\s!SansBoldSlanted] [ipaexgboldslanted]
115        \definefontsynonym[\s!SansCaps]        [ipaexgcaps]
116    \stoptypescript
117
118    \starttypescript [\s!mono] [ipaexgmono] [\s!name]
119        \definefontsynonym[\s!Mono]            [ipaexgmono]
120        \definefontsynonym[\s!MonoBold]        [ipaexgmonobold]
121        \definefontsynonym[\s!MonoItalic]      [ipaexgmonoitalic]
122        \definefontsynonym[\s!MonoBoldItalic]  [ipaexgmonobolditalic]
123        \definefontsynonym[\s!MonoSlanted]     [ipaexgmonoslanted]
124        \definefontsynonym[\s!MonoBoldSlanted] [ipaexgmonoboldslanted]
125        \definefontsynonym[\s!MonoCaps]        [ipaexgmonocaps]
126    \stoptypescript
127
128    % xits might get replaced with a pagella once we have it
129
130    \starttypescript[ipaex]
131        \definetypeface [ipaex] [\s!rm] [\s!serif] [ipaexm]
132        \definetypeface [ipaex] [\s!ss] [\s!sans]  [ipaexg]
133        \definetypeface [ipaex] [\s!tt] [\s!mono]  [ipaexgmono]
134        \definetypeface [ipaex] [\s!mm] [\s!math]  [xits]
135    \stoptypescript
136
137\stoptypescriptcollection
138