]> git.xonotic.org Git - xonotic/mediasource.git/blob - fonts/xolonium/sourcefiles/features/Xolonium-Kern-Latin.fea
Update Xolonium font sources to version 3.0
[xonotic/mediasource.git] / fonts / xolonium / sourcefiles / features / Xolonium-Kern-Latin.fea
1 # UPPERCASE BASE CLASSES
2
3 @A = [A À Á Â Ã Ä Å Ā Ă Ą Ǻ];
4 @B = [B Ḃ];
5 @C = [C Ç Ć Ĉ Ċ Č];
6 @D = [D Ď Ḋ];
7 @E = [E È É Ê Ë Ē Ĕ Ė Ę Ě];
8 @F = [F Ḟ];
9 @G = [G Ĝ Ğ Ġ Ģ];
10 @J = [J Ĵ];
11 @K = [K Ķ];
12 @L = [L Ĺ Ļ Ľ];
13 @O = [O Ò Ó Ô Õ Ö Ō Ŏ Ő Q Ø Ǿ];
14 @P = [P Ṗ];
15 @S = [S Ś Ŝ Ş Š Ș Ṡ];
16 @T = [T Ţ Ť Ŧ Ț Ṫ];
17 @U = [U Ù Ú Û Ü Ũ Ū Ŭ Ů Ű Ų];
18 @V = [V];
19 @W = [W Ŵ Ẁ Ẃ Ẅ];
20 @X = [X];
21 @Y = [Y Ý Ŷ Ÿ Ỳ];
22 @Z = [Z Ź Ż Ž];
23 @Æ = [Æ Ǽ];
24 @Р= [РĐ];
25 @Þ = [Þ];
26 @Ħ = [Ħ];
27 @IJ = [IJ];
28 @Ł = [Ł];
29 @Ŋ = [Ŋ];
30 @Œ = [Œ];
31
32
33 # UPPERCASE KERNING CLASSES
34
35 @A_ = [@A];
36 @B_ = [@B];
37 @C_ = [@C @E @Æ @Œ];
38 @D_ = [@D @Ð];
39 @F_ = [@F];
40 @G_ = [@G];
41 @J_ = [@J @U @IJ];
42 @K_ = [@K];
43 @L_ = [@L @Ł];
44 @O_ = [@O];
45 @P_ = [@P];
46 @S_ = [@S];
47 @T_ = [@T @V];
48 @W_ = [@W];
49 @X_ = [@X];
50 @Y_ = [@Y];
51 @Z_ = [@Z];
52 @Þ_ = [@Þ];
53 @Ħ_ = [@Ħ];
54 @Ŋ_ = [@Ŋ];
55
56 @_A = [@A @Æ];
57 @_J = [@J];
58 @_O = [@C @G @O @Œ];
59 @_T = [@T @V];
60 @_U = [@U];
61 @_W = [@W];
62 @_X = [@X];
63 @_Y = [@Y];
64 @_Z = [@Z];
65 @_Р= [@Р@Ł];
66 @_Ħ = [@Ħ];
67
68
69 # lowercase base classes
70
71 @a = [a à á â ã ä å ā ă ą ǻ];
72 @b = [b ḃ þ];
73 @c = [c ç ć ĉ ċ č];
74 @d = [d ḋ];
75 @e = [e è é ê ë ē ĕ ė ę ě];
76 @f = [f ḟ ff f_f];
77 @g = [g ĝ ğ ġ q];
78 @h = [h ĥ];
79 @k = [k ķ];
80 @m = [m ṁ];
81 @n = [n ñ ń ņ ň ŋ];
82 @o = [o ò ó ô õ ö ō ŏ ő ø ǿ];
83 @p = [p ṗ];
84 @r = [r ŕ ŗ];
85 @s = [s ś ŝ ş š ș ṡ];
86 @t = [t ţ ț ṫ];
87 @u = [u ù ú û ü ũ ū ŭ ů ű ų];
88 @v = [v];
89 @w = [w ŵ ẁ ẃ ẅ];
90 @x = [x];
91 @y = [y ý ÿ ŷ ỳ];
92 @z = [z ź ż ž];
93 @ß = [ß];
94 @æ = [æ ǽ];
95 @ì = [ì];
96 @í = [í];
97 @î = [î ĵ];
98 @ï = [ï ĩ ī ĭ];
99 @ð = [ð];
100 @ď = [ď];
101 @đ = [đ];
102 @ħ = [ħ];
103 @ı = [ı];
104 @ĸ = [ĸ];
105 @ľ = [ľ];
106 @ł = [ł];
107 @œ = [œ];
108 @ř = [ř];
109 @ŧ = [ŧ];
110 @ſ = [ſ];
111
112
113 # lowercase kerning classes
114
115 @a_ = [@a @h @m @n @ħ];
116 @c_ = [@c @t];
117 @f_ = [@f @ř @ſ];
118 @g_ = [@g];
119 @o_ = [@b @e @o @p @æ @œ];
120 @r_ = [@r];
121 @s_ = [@s];
122 @u_ = [@u @ı];
123 @v_ = [@v @y];
124 @w_ = [@w];
125 @x_ = [@k @x @ĸ];
126 @z_ = [@z];
127 @ß_ = [@ß];
128 @ì_ = [@ì];
129 @í_ = [@í];
130 @î_ = [@î];
131 @ï_ = [@ï];
132 @ð_ = [@ð];
133 @ď_ = [@ď @ľ];
134 @đ_ = [@đ];
135 @ł_ = [@ł];
136
137 @_a = [@a @æ @ð];
138 @_n = [@m @n @p @u @ı @ĸ];
139 @_o = [@c @d @e @g @o @ď @đ @œ];
140 @_r = [@r];
141 @_s = [@s];
142 @_v = [@v @y];
143 @_w = [@w];
144 @_x = [@x];
145 @_z = [@z];
146 @_ì = [@ì];
147 @_í = [@í];
148 @_î = [@î];
149 @_ï = [@ï];
150 @_ħ = [@ħ];
151 @_ł = [@ł];
152 @_ŧ = [@ŧ];
153
154
155 lookup kernLatin
156 {
157 # Table exceptions
158
159         pos Ą j +75;
160         pos Ę j +30;
161         pos Į j +35;
162         pos j j +20;
163         pos ą j +20;
164         pos į j +50;
165         pos ų j +20;
166
167         enum pos @QUESTIONDN j +90;
168         enum pos @BRACKET_ j +40;
169         enum pos @g_ j +20;
170
171         enum pos @BRACKET_ @p 0;
172
173
174 # Table size optimizations
175
176         enum pos @ð_ @_v -10;
177         enum pos @ð_ @_x -10;
178
179         enum pos @Ŋ_ @_T -10;
180         enum pos @Ŋ_ @_W -10;
181         enum pos @Ŋ_ @_Y -20;
182
183
184 # PUNCTUATION LETTER
185
186         pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_T -80;
187         pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_W -50;
188         pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_Y -90;
189         pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_v -30;
190         pos [@PERIOD @BASEQUOTE @QUESTIONDN @BACKSLASH] @_w -20;
191
192         pos [@COLON @DASH @GUILLEMET] @_T -40;
193         pos [@COLON @DASH @GUILLEMET] @_W -20;
194         pos [@COLON @DASH @GUILLEMET] @_Y -50;
195
196         pos [@ASCIIQUOTE @SLASH] @_A -80;
197         pos [@ASCIIQUOTE @SLASH] @_J -40;
198
199         pos @FANCYQUOTE @_A -100;
200         pos @FANCYQUOTE @_J -60;
201         pos @FANCYQUOTE @_a -40;
202         pos @FANCYQUOTE @_n -30;
203         pos @FANCYQUOTE @_o -30;
204         pos @FANCYQUOTE @_r -30;
205         pos @FANCYQUOTE @_s -30;
206         pos @FANCYQUOTE @_v -20;
207         pos @FANCYQUOTE @_w -20;
208         pos @FANCYQUOTE @_x -20;
209         pos @FANCYQUOTE @_ł -30;
210
211         pos @BRACKET_ @_A -40;
212         pos @BRACKET_ @_J -30;
213         pos @BRACKET_ @_a -30;
214         pos @BRACKET_ @_n -30;
215         pos @BRACKET_ @_o -40;
216         pos @BRACKET_ @_r -30;
217         pos @BRACKET_ @_s -30;
218         pos @BRACKET_ @_v -30;
219         pos @BRACKET_ @_w -20;
220         pos @BRACKET_ @_x -30;
221         pos @BRACKET_ @_z -30;
222         pos @BRACKET_ @_í -20;
223         pos @BRACKET_ @_ï +20;
224         pos @BRACKET_ @_ł -30;
225
226
227 # LETTER PUNCTUATION
228
229         pos @F_ [@PERIOD @BASEQUOTE @SLASH] -70;
230         pos @P_ [@PERIOD @BASEQUOTE @SLASH] -70;
231         pos @T_ [@PERIOD @BASEQUOTE @SLASH] -80;
232         pos @W_ [@PERIOD @BASEQUOTE @SLASH] -50;
233         pos @Y_ [@PERIOD @BASEQUOTE @SLASH] -90;
234         pos @f_ [@PERIOD @BASEQUOTE @SLASH] -30;
235         pos @r_ [@PERIOD @BASEQUOTE @SLASH] -30;
236         pos @v_ [@PERIOD @BASEQUOTE @SLASH] -30;
237         pos @w_ [@PERIOD @BASEQUOTE @SLASH] -20;
238
239         pos @T_ [@COLON @DASH @GUILLEMET] -40;
240         pos @W_ [@COLON @DASH @GUILLEMET] -20;
241         pos @Y_ [@COLON @DASH @GUILLEMET] -50;
242
243         pos @A_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -80;
244         pos @L_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -50;
245
246         pos @A_ @QUESTION -70;
247         pos @L_ @QUESTION -60;
248         pos @a_ @QUESTION -20;
249         pos @g_ @QUESTION -20;
250         pos @o_ @QUESTION -20;
251         pos @s_ @QUESTION -20;
252         pos @u_ @QUESTION -20;
253         pos @z_ @QUESTION -20;
254         pos @ß_ @QUESTION -20;
255         pos @ï_ @QUESTION +30;
256
257         pos @A_ @_BRACKET -40;
258         pos @D_ @_BRACKET -20;
259         pos @L_ @_BRACKET -20;
260         pos @Þ_ @_BRACKET -30;
261         pos @a_ @_BRACKET -30;
262         pos @c_ @_BRACKET -10;
263         pos @o_ @_BRACKET -40;
264         pos @r_ @_BRACKET -20;
265         pos @s_ @_BRACKET -30;
266         pos @u_ @_BRACKET -30;
267         pos @v_ @_BRACKET -30;
268         pos @w_ @_BRACKET -20;
269         pos @x_ @_BRACKET -30;
270         pos @z_ @_BRACKET -30;
271         pos @ß_ @_BRACKET -40;
272         pos @ì_ @_BRACKET -20;
273         pos @ï_ @_BRACKET +20;
274         pos @ł_ @_BRACKET -40;
275
276
277 # UPPERCASE UPPERCASE
278
279         pos @A_ @_O -10;
280         pos @A_ @_T -120;
281         pos @A_ @_U -10;
282         pos @A_ @_W -90;
283         pos @A_ @_Y -140;
284         pos @A_ @_Р-20;
285         pos @A_ @_Ħ -20;
286
287         pos @B_ @_T -10;
288         pos @B_ @_W -10;
289         pos @B_ @_Y -20;
290
291         pos @C_ @_Р-10;
292
293         pos @D_ @_A -30;
294         pos @D_ @_T -30;
295         pos @D_ @_W -20;
296         pos @D_ @_X -30;
297         pos @D_ @_Y -40;
298         pos @D_ @_Ħ -10;
299
300         pos @F_ @_A -100;
301         pos @F_ @_J -30;
302         pos @F_ @_T +10;
303         pos @F_ @_Z -10;
304         pos @F_ @_Р-20;
305
306         pos @G_ @_T -30;
307         pos @G_ @_W -30;
308         pos @G_ @_Y -40;
309         pos @G_ @_Ħ -10;
310
311         pos @J_ @_A -10;
312
313         pos @K_ @_Р-10;
314         pos @K_ @_Ħ -10;
315
316         pos @L_ @_A +20;
317         pos @L_ @_O -10;
318         pos @L_ @_T -120;
319         pos @L_ @_U -10;
320         pos @L_ @_W -60;
321         pos @L_ @_Y -130;
322         pos @L_ @_Р-20;
323         pos @L_ @_Ħ -20;
324
325         pos @O_ @_A -10;
326         pos @O_ @_T -10;
327         pos @O_ @_W -10;
328         pos @O_ @_X -10;
329         pos @O_ @_Y -20;
330
331         pos @P_ @_A -80;
332         pos @P_ @_J -10;
333
334         pos @S_ @_T -30;
335         pos @S_ @_W -30;
336         pos @S_ @_Y -40;
337         pos @S_ @_Ħ -10;
338
339         pos @T_ @_A -120;
340         pos @T_ @_J -80;
341         pos @T_ @_O -10;
342         pos @T_ @_T +20;
343         pos @T_ @_W +10;
344         pos @T_ @_Z -10;
345         pos @T_ @_Р-20;
346
347         pos @W_ @_A -90;
348         pos @W_ @_J -30;
349         pos @W_ @_O -10;
350         pos @W_ @_T +10;
351         pos @W_ @_Z -10;
352         pos @W_ @_Р-20;
353
354         pos @X_ @_O -10;
355         pos @X_ @_Р-10;
356
357         pos @Y_ @_A -140;
358         pos @Y_ @_J -100;
359         pos @Y_ @_O -20;
360         pos @Y_ @_Z -10;
361         pos @Y_ @_Р-20;
362
363         pos @Z_ @_T -10;
364         pos @Z_ @_W -10;
365         pos @Z_ @_Y -10;
366         pos @Z_ @_Р-10;
367         pos @Z_ @_Ħ -20;
368
369         pos @Þ_ @_A -30;
370         pos @Þ_ @_T -30;
371         pos @Þ_ @_X -40;
372         pos @Þ_ @_Y -60;
373
374         pos @Ħ_ @_A -20;
375         pos @Ħ_ @_J -20;
376         pos @Ħ_ @_Z -20;
377
378
379 # UPPERCASE lowercase
380
381         pos @A_ @_v -80;
382         pos @A_ @_w -40;
383         pos @A_ @_ħ -20;
384         pos @A_ @_ł -30;
385         pos @A_ @_ŧ -20;
386
387         pos @B_ @_v -10;
388         pos @B_ @_x -10;
389         pos @B_ @_ħ -10;
390
391         pos @C_ @_v -10;
392         pos @C_ @_ï +20;
393         pos @C_ @_ł -30;
394         pos @C_ @_ŧ -20;
395
396         pos @F_ @_a -30;
397         pos @F_ @_n -20;
398         pos @F_ @_o -20;
399         pos @F_ @_r -20;
400         pos @F_ @_s -10;
401         pos @F_ @_z -20;
402         pos @F_ @_ì +10;
403         pos @F_ @_í -20;
404         pos @F_ @_î +20;
405         pos @F_ @_ï +40;
406         pos @F_ @_ł -20;
407         pos @F_ @_ŧ -10;
408
409         pos @G_ @_v -10;
410         pos @G_ @_ħ -10;
411
412         pos @K_ @_v -50;
413         pos @K_ @_w -20;
414         pos @K_ @_ï +20;
415         pos @K_ @_ħ -10;
416         pos @K_ @_ł -40;
417         pos @K_ @_ŧ -10;
418
419         pos @L_ @_v -50;
420         pos @L_ @_w -20;
421         pos @L_ @_ħ -20;
422         pos @L_ @_ł -40;
423         pos @L_ @_ŧ -20;
424
425         pos @P_ @_a -10;
426         pos @P_ @_î +10;
427         pos @P_ @_ï +10;
428         pos @P_ @_ŧ -10;
429
430         pos @S_ @_v -20;
431         pos @S_ @_w -10;
432         pos @S_ @_x -10;
433         pos @S_ @_ħ -10;
434
435         pos @T_ @_a -60;
436         pos @T_ @_n -50;
437         pos @T_ @_o -60;
438         pos @T_ @_r -60;
439         pos @T_ @_s -50;
440         pos @T_ @_v -40;
441         pos @T_ @_w -40;
442         pos @T_ @_x -30;
443         pos @T_ @_z -40;
444         pos @T_ @_ì +20;
445         pos @T_ @_í -30;
446         pos @T_ @_î +30;
447         pos @T_ @_ï +50;
448         pos @T_ @_ł -50;
449         pos @T_ @_ŧ -20;
450
451         pos @W_ @_a -40;
452         pos @W_ @_n -30;
453         pos @W_ @_o -40;
454         pos @W_ @_r -40;
455         pos @W_ @_s -30;
456         pos @W_ @_v -20;
457         pos @W_ @_w -20;
458         pos @W_ @_x -10;
459         pos @W_ @_z -20;
460         pos @W_ @_ì +10;
461         pos @W_ @_í -30;
462         pos @W_ @_î +20;
463         pos @W_ @_ï +40;
464         pos @W_ @_ł -40;
465
466         pos @X_ @_v -30;
467         pos @X_ @_w -10;
468         pos @X_ @_ì +20;
469         pos @X_ @_î +10;
470         pos @X_ @_ï +40;
471         pos @X_ @_ł -40;
472
473         pos @Y_ @_a -70;
474         pos @Y_ @_n -60;
475         pos @Y_ @_o -70;
476         pos @Y_ @_r -70;
477         pos @Y_ @_s -60;
478         pos @Y_ @_v -40;
479         pos @Y_ @_w -40;
480         pos @Y_ @_x -30;
481         pos @Y_ @_z -50;
482         pos @Y_ @_ì +20;
483         pos @Y_ @_í -50;
484         pos @Y_ @_î +20;
485         pos @Y_ @_ï +50;
486         pos @Y_ @_ł -50;
487
488         pos @Z_ @_v -20;
489         pos @Z_ @_w -10;
490         pos @Z_ @_ï +10;
491         pos @Z_ @_ł -40;
492         pos @Z_ @_ŧ -20;
493
494         pos @Ħ_ @_a -10;
495         pos @Ħ_ @_o -10;
496         pos @Ħ_ @_r -10;
497         pos @Ħ_ @_s -10;
498         pos @Ħ_ @_z -10;
499
500
501 # lowercase UPPERCASE
502
503         pos @a_ @_T -60;
504         pos @a_ @_W -40;
505         pos @a_ @_Y -70;
506         pos @a_ @_Ħ -10;
507
508         pos @c_ @_T -20;
509         pos @c_ @_W -10;
510         pos @c_ @_Y -30;
511
512         pos @f_ @_A -50;
513         pos @f_ @_J -10;
514
515         pos @g_ @_T -50;
516         pos @g_ @_W -30;
517         pos @g_ @_Y -60;
518
519         pos @o_ @_T -60;
520         pos @o_ @_W -40;
521         pos @o_ @_Y -70;
522         pos @o_ @_Ħ -10;
523
524         pos @r_ @_A -50;
525         pos @r_ @_J -10;
526         pos @r_ @_T -10;
527         pos @r_ @_X -10;
528         pos @r_ @_Y -20;
529         pos @r_ @_Z -20;
530
531         pos @s_ @_T -60;
532         pos @s_ @_W -40;
533         pos @s_ @_Y -70;
534         pos @s_ @_Ħ -10;
535
536         pos @u_ @_T -50;
537         pos @u_ @_W -30;
538         pos @u_ @_Y -60;
539
540         pos @v_ @_A -80;
541         pos @v_ @_J -10;
542         pos @v_ @_T -40;
543         pos @v_ @_W -20;
544         pos @v_ @_X -30;
545         pos @v_ @_Y -40;
546         pos @v_ @_Z -20;
547
548         pos @w_ @_A -40;
549         pos @w_ @_T -40;
550         pos @w_ @_W -20;
551         pos @w_ @_X -10;
552         pos @w_ @_Y -40;
553         pos @w_ @_Z -10;
554
555         pos @x_ @_T -30;
556         pos @x_ @_W -10;
557         pos @x_ @_Y -30;
558
559         pos @z_ @_T -40;
560         pos @z_ @_W -20;
561         pos @z_ @_Y -50;
562         pos @z_ @_Ħ -10;
563
564         pos @ß_ @_T -60;
565         pos @ß_ @_W -40;
566         pos @ß_ @_Y -70;
567
568         pos @ì_ @_T -30;
569         pos @ì_ @_W -30;
570         pos @ì_ @_Y -50;
571
572         pos @í_ @_T +20;
573         pos @í_ @_W +10;
574         pos @í_ @_X +20;
575         pos @í_ @_Y +20;
576
577         pos @î_ @_T +30;
578         pos @î_ @_W +20;
579         pos @î_ @_X +10;
580         pos @î_ @_Y +20;
581
582         pos @ï_ @_T +50;
583         pos @ï_ @_W +40;
584         pos @ï_ @_X +40;
585         pos @ï_ @_Y +50;
586         pos @ï_ @_Z +10;
587
588         pos @ď_ @_A -90;
589         pos @ď_ @_J -60;
590
591         pos @đ_ @_A -20;
592         pos @đ_ @_J -20;
593
594         pos @ł_ @_A -40;
595         pos @ł_ @_J -20;
596         pos @ł_ @_T -40;
597         pos @ł_ @_W -30;
598         pos @ł_ @_X -40;
599         pos @ł_ @_Y -40;
600         pos @ł_ @_Z -40;
601
602
603 # lowercase lowercase
604
605         pos @a_ @_v -10;
606         pos @a_ @_ħ -20;
607
608         pos @c_ @_ħ -10;
609         pos @c_ @_ł -20;
610         pos @c_ @_ŧ -10;
611
612         pos @f_ @_a -10;
613         pos @f_ @_ì +10;
614         pos @f_ @_î +20;
615         pos @f_ @_ï +40;
616         pos @f_ @_ł -20;
617         pos @f_ @_ŧ -10;
618
619         pos @g_ @_ħ -10;
620
621         pos @o_ @_v -10;
622         pos @o_ @_x -10;
623         pos @o_ @_ħ -20;
624
625         pos @r_ @_a -10;
626         pos @r_ @_ħ -10;
627         pos @r_ @_ł -20;
628         pos @r_ @_ŧ -10;
629
630         pos @s_ @_v -20;
631         pos @s_ @_w -10;
632         pos @s_ @_ħ -20;
633
634         pos @u_ @_ħ -10;
635
636         pos @v_ @_a -20;
637         pos @v_ @_o -10;
638         pos @v_ @_r -10;
639         pos @v_ @_ħ -10;
640         pos @v_ @_ł -30;
641         pos @v_ @_ŧ -10;
642
643         pos @w_ @_a -10;
644         pos @w_ @_ħ -10;
645         pos @w_ @_ł -10;
646
647         pos @x_ @_o -10;
648         pos @x_ @_ħ -10;
649         pos @x_ @_ł -30;
650         pos @x_ @_ŧ -10;
651
652         pos @z_ @_ħ -10;
653         pos @z_ @_ł -30;
654         pos @z_ @_ŧ -10;
655
656         pos @ß_ @_v -50;
657         pos @ß_ @_w -30;
658
659         pos @ď_ @_a -60;
660         pos @ď_ @_n -30;
661         pos @ď_ @_o -50;
662         pos @ď_ @_r -50;
663         pos @ď_ @_s -40;
664         pos @ď_ @_z -30;
665         pos @ď_ @_ł -30;
666         pos @ď_ @_ŧ -20;
667
668         pos @đ_ @_a -20;
669         pos @đ_ @_n -10;
670         pos @đ_ @_o -20;
671         pos @đ_ @_r -20;
672         pos @đ_ @_s -20;
673         pos @đ_ @_z -10;
674         pos @đ_ @_ŧ -20;
675
676 } kernLatin;