summaryrefslogtreecommitdiff
path: root/fonts/tex-gyre/doc/qtmri.fea
blob: aeb57a2581531c8b8bb05028c78689c13a0df65b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
# This file belongs to the TeX Gyre collection of fonts. The work is
# released under the GUST Font License. See the MANIFEST-TeX-Gyre-Termes.txt
# and README-TeX-Gyre-Termes.txt files for the details.
# For the most recent version of this license see
# http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt or
# http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt

# This is a `feature file' used to generate texgyretermes-italic.otf
# with the Adobe Font Development Kit for OpenType
# (FDK v2.0 Aug 31 2006 build 21; the later version,
# FDK v2.0 May 5 2007 build 26, was not used because the resulting
# OTF files were apparently malformed -- something was wrong with
# the language information)

languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn AZE;
languagesystem latn CRT;
languagesystem latn MOL;
languagesystem latn NLD;
languagesystem latn PLK;
languagesystem latn ROM;
languagesystem latn TRK;
languagesystem cyrl dflt;

# complete features
table head{
  FontRevision 2.004;
} head;

@altsrc1=[# all alternates
at copyright fraction paragraph registered
epsilon mu pi phi rho theta
macron macron.cap Imacron imacron imacron.sc];
#
@altsrc2=[# "genuine" alternates
at copyright fraction paragraph registered];
#
@altsrc3=[# "Greek" alternates
epsilon mu pi phi rho theta];
#
@altsrc4=[# "Idris" alternates
macron macron.cap Imacron imacron imacron.sc];

@altres1=[# all alternates
at.alt copyright.alt fraction.alt paragraph.alt registered.alt
epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1
macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc];
#
@altres2=[# "genuine" alternates
at.alt copyright.alt fraction.alt paragraph.alt registered.alt];
@altres3=[# "Greek" alternates
epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1];
#
@altres4=[# "Idris" alternates
macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc];

@othbas=[ampersand cent dollar];

@othold=[ampersand # ampersand.oldstyle in the future?
cent.oldstyle dollar.oldstyle];

@figlintab=[zero one two three four five six seven eight nine];

@figlinprop=[zero.prop one.prop two.prop three.prop four.prop five.prop
six.prop seven.prop eight.prop nine.prop];

@figoldtab=[zero.taboldstyle one.taboldstyle two.taboldstyle three.taboldstyle
four.taboldstyle five.taboldstyle six.taboldstyle seven.taboldstyle
eight.taboldstyle nine.taboldstyle];

@figoldprop=[zero.oldstyle one.oldstyle two.oldstyle three.oldstyle
four.oldstyle five.oldstyle six.oldstyle seven.oldstyle eight.oldstyle
nine.oldstyle];

@letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z];
@letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z];
@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc
n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc];

@letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave
Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow
Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave Adieresis
Adotbelow AE AEacute Agrave Ahookabove Amacron Aogonek Aogonekacute Aring
Aringacute Atilde Cacute Ccaron Ccedilla Ccircumflex Cdotaccent Dcaron Dcroat
Ddotbelow Dlinebelow Eacute Ebreve Ecaron Ecircumflex Ecircumflexacute
Ecircumflexdotbelow Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde
Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove Emacron Eng
Eogonek Eogonekacute Ereversed Eth Etilde Gacute Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent S_S # Germandbls
 Hbar Hbrevebelow Hcircumflex Hdieresis Hdotbelow
 H_uni0303 # Htilde
 I_J Iacute Ibreve Icircumflex Idblgrave Idieresis Idotbelow Igrave
Ihookabove Imacron Imacron.alt Iogonek Iogonekacute Itilde Jacute Jcircumflex
Kcommaaccent Lacute Lcaron Lcommaaccent Ldot Ldotbelow Ldotbelowmacron Lslash
 L_uni0303 # Ltilde
 Mdotbelow Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Ntilde
Oacute Obreve Ocircumflex Ocircumflexacute Ocircumflexdotbelow
Ocircumflexgrave Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis
Odotbelow OE Ograve Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave
Ohornhookabove Ohorntilde Ohungarumlaut Omacron Oogonek Oogonekacute Oslash
Oslashacute Otilde Racute Rcaron Rcommaaccent Rdblgrave Rdotaccent Rdotbelow
Rdotbelowmacron Sacute Scaron Scedilla Scircumflex
 uni0218 # Scommaaccent
 Sdotbelow Tcaron Tcedilla
 uni021A # Tcommaaccent
 T_uni0308 # Tdieresis
 Tdotbelow Thorn Tlinebelow T_uni0303 # Ttilde
 Uacute Ubreve Ubrevebelowinverted Ucircumflex Udblgrave Udieresis Udotbelow
Ugrave Uhookabove Uhorn Uhornacute Uhorndotbelow Uhorngrave Uhornhookabove
Uhorntilde Uhungarumlaut Umacron Uogonek Uring Utilde Wacute Wcircumflex
Wdieresis Wgrave Yacute Ycircumflex Ydieresis Ydotbelow Ygrave Yhookabove
Ytilde Zacute Zcaron Zdotaccent Zdotbelow];

@letsmaoth=[aacute abreve abreveacute abrevedotbelow abrevegrave
abrevehookabove abrevetilde acircumflex acircumflexacute acircumflexdotbelow
acircumflexgrave acircumflexhookabove acircumflextilde adblgrave adieresis
adotbelow ae aeacute agrave ahookabove amacron aogonek aogonekacute aring
aringacute atilde cacute ccaron ccedilla ccircumflex cdotaccent dcaron dcroat
ddotbelow dlinebelow eacute ebreve ecaron ecircumflex ecircumflexacute
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde
edblgrave edieresis edotaccent edotbelow egrave ehookabove emacron eng
eogonek eogonekacute ereversed eth etilde gacute gbreve gcaron gcircumflex
gcommaaccent gdotaccent germandbls hbar hbrevebelow hcircumflex hdieresis
 hdotbelow h_uni0303 # htilde
 i_j iacute ibreve icircumflex idblgrave idieresis idotbelow igrave
ihookabove imacron imacron.alt iogonek iogonekacute itilde jacute jcircumflex
kcommaaccent lacute lcaron lcommaaccent ldot ldotbelow ldotbelowmacron lslash
 l_uni0303 # ltilde
 mdotbelow nacute ncaron ncommaaccent ndotaccent ndotbelow ntilde
oacute obreve ocircumflex ocircumflexacute ocircumflexdotbelow
ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave odieresis
odotbelow oe ograve ohookabove ohorn ohornacute ohorndotbelow ohorngrave
ohornhookabove ohorntilde ohungarumlaut omacron oogonek oogonekacute oslash
oslashacute otilde racute rcaron rcommaaccent rdblgrave rdotaccent rdotbelow
rdotbelowmacron sacute scaron scedilla scircumflex
 uni0219 # scommaaccent
 sdotbelow tcaron tcedilla
 uni021B # tcommaaccent
 tdieresis tdotbelow thorn tlinebelow t_uni0303 # ttilde
 uacute ubreve ubrevebelowinverted ucircumflex udblgrave udieresis udotbelow
ugrave uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove
uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex
wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove
ytilde zacute zcaron zdotaccent zdotbelow];

@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc
abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc
acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc
acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc
adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc
aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc
 ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc
dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc
ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc
ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc
edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc
eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc
gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc
hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc
 h_uni0303.sc # htilde.sc
 i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc
idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc
iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc
lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc
 l_uni0303.sc # ltilde.sc
 mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc
ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc
ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc
ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc
ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc
ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc
oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc
rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc
sacute.sc scaron.sc scedilla.sc scircumflex.sc
 uni0219.sc # scommaaccent.sc
 sdotbelow.sc tcaron.sc tcedilla.sc
 uni021B.sc # tcommaaccent.sc
 tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc
 t_uni0303.sc # ttilde.sc
 uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc
udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc
uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc
uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc
wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc
ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc
zdotaccent.sc zdotbelow.sc];

# @c2sc1=[@letcapbas @letcapoth @figlinprop @othbas];
# @c2sc2=[@letcscbas @letcscoth @figoldprop @othold];
@c2sc1=[@letcapbas @letcapoth];
@c2sc2=[@letcscbas @letcscoth];

@cpsp1=[@letcapbas @letcapoth];

# @smcp1=[@letsmabas @letsmaoth @figlintab @othbas];
# @smcp2=[@letcscbas @letcscoth @figoldprop @othold];
@smcp1=[@letsmabas @letsmaoth];
@smcp2=[@letcscbas @letcscoth];

@figprop=[@figlinprop @figoldprop @othbas];
@figtab=[@figlintab @figoldtab @othbas];

@lnum1=[@figoldprop @figoldtab @othold];
@lnum2=[@figlinprop @figlintab @othbas];

@onum1=[@figlinprop @figlintab @othbas];
@onum2=[@figoldprop @figoldprop @othold];

@pnum1=[@figlintab @figoldtab];
@pnum2=[@figlinprop @figoldprop];

@tnum1=[@figlinprop @figoldprop];
@tnum2=[@figlintab @figoldtab];

feature aalt{
  feature locl; # Localized Forms
# feature cpsp; # Capital Spacing
# feature frac; # Fractions
  feature onum; # Old Style Figures
  feature lnum; # Lining Figures
  feature pnum; # Proportional Figures
  feature tnum; # Tabular Figures
# feature liga; # Standard Ligatures
# feature dlig; # Discretionary Ligatures
  feature smcp; # Small Capitals
  feature c2sc; # Small Capitals From Capitals
  feature salt; # Stylistic Alternates
  feature ss01; # Stylistic Set 1 = Stylistic Alternates
  feature ss02; # Stylistic Set 2
  feature ss03; # Stylistic Set 3
  feature ss04; # Stylistic Set 4
  feature zero; # Slashed Zero
} aalt;

feature locl { # Localized Forms
  script latn;
# Handling of Romanian [Ss]commaaccent and [Tt]commaaccent
    language ROM exclude_dflt;
      lookup locl_ROM {
        sub [Scedilla scedilla scedilla.sc] by [uni0218 uni0219 uni0219.sc];
        sub [Tcedilla tcedilla tcedilla.sc] by [uni021A uni021B uni021B.sc];
      } locl_ROM;
    language MOL exclude_dflt;
      lookup locl_ROM;
} locl;

feature cpsp { # Capital Spacing
  pos @cpsp1 <7 0 14 0>;
} cpsp;

feature smcp { # Small Capitals
  sub @smcp1 by @smcp2;
} smcp;

feature frac { # Fractions
  sub one slash two by onehalf;
  sub one slash four by onequarter;
  sub one fraction two by onehalf;
  sub one fraction four by onequarter;
  sub three slash four by threequarters;
  sub three fraction four by threequarters;
} frac;

feature onum { # Old Style Figures
  sub @onum1 by @onum2;
} onum;

feature lnum { # Lining Figures
  sub @lnum1 by @lnum2;
} lnum;

feature pnum { # Proportional Figures
  sub @pnum1 by @pnum2;
} pnum;

feature tnum { # Tabular Figures
  sub @tnum1 by @tnum2;
} tnum;

feature liga { # Standard Ligatures
  lookup liga_f_f_l {
    sub f f l by f_f_l;
    sub f f by f_f;
    sub f l by f_l;
  } liga_f_f_l;
  script DFLT;
    language dflt;
      lookup liga_f_i {
        sub f_f i by f_f_i;
        sub f i by f_i;
      } liga_f_i;
  script cyrl;
    language dflt;
      lookup liga_f_i;
  script latn;
    language dflt;
      lookup liga_f_i;
    language NLD exclude_dflt;
      lookup liga_NLDa {
        sub i j by i_j;
        sub I J by I_J;
      } liga_NLDa;
      lookup liga_NLDb {
        sub f_f i by f_f_i;
        sub f i by f_i;
      } liga_NLDb;
    language PLK exclude_dflt;
      lookup liga_PLK {
        sub f_f i by f_f_i;
        sub f i by f_i ;
        sub f k by f_k;
      } liga_PLK;
    language MOL exclude_dflt;
      lookup liga_f_i;
    language ROM exclude_dflt;
      lookup liga_f_i;
    language AZE exclude_dflt;
    language CRT exclude_dflt;
    language TRK exclude_dflt;
} liga;

feature dlig { # Discretionary Ligatures
  sub comma comma by quotedblbase;
  sub hyphen hyphen hyphen hyphen by emdash;
  sub hyphen hyphen hyphen by threequartersemdash;
  sub hyphen hyphen by endash;
  sub quoteleft quoteleft by quotedblleft;
  sub quoteright quoteright by quotedblright;
# old Knuthian tradition...
  sub exclam quoteleft by exclamdown;
  sub question quoteleft by questiondown;
# AFDKO places grave at the slot 96 (ANSI / Mac)
  sub exclam grave by exclamdown;
  sub question grave by questiondown;
} dlig;

feature c2sc { # Small Capitals From Capitals
  sub @c2sc1 by @c2sc2;
} c2sc;

feature salt { # Stylistic Alternates
  sub @altsrc1 by @altres1;
} salt;

feature ss01 { # Stylistic Set 1 = Stylistic Alternates
               # see http://www.typophile.com/node/32399 and
               # http://www.typotheque.com/fonts/opentype_feature_support/
  sub @altsrc1 by @altres1;
} ss01;

feature ss02 { # Stylistic Set 2
  sub @altsrc2 by @altres2;
} ss02;

feature ss03 { # Stylistic Set 3
  sub @altsrc3 by @altres3;
} ss03;

feature ss04 { # Stylistic Set 4
  sub @altsrc4 by @altres4;
} ss04;

feature zero { # Slashed Zero
  sub zero by zero.slash;
} zero;

feature kern {
  include (qtmri.krn);
  script latn;
  language AZE;
  language CRT;
  language MOL;
  language NLD;
  language PLK;
  language ROM;
  language TRK;
} kern;

feature size {
  parameters 100 2 50 200;
  sizemenuname 3 "Italic";
  sizemenuname 1 "Italic";
} size;

table hhea {
  Ascender  1070;
  Descender -270;
  LineGap   0;
} hhea;

table OS/2 {
  FSType        12;
  TypoAscender  795;
  TypoDescender -205;
  TypoLineGap   200;
  XHeight       432;
  CapHeight     653;
  winAscent     1070;
  winDescent    270;
} OS/2;