summaryrefslogtreecommitdiff
path: root/src/Inter-UI-Regular.ufo/features.fea
blob: 678739c6d0073e3c299ebb8872df9b7b0fbbd991 (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
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
# Prefix: Languagesystems
languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn MOL;
languagesystem latn ROM;
languagesystem latn FRA;
languagesystem latn TRK;
languagesystem latn AZE;
languagesystem latn CRT;
languagesystem latn NAV;
languagesystem cyrl dflt;
languagesystem grek dflt;


@UC_ROMAN = [ 
  A - Z
  AE AEacute Aacute Abreve Acircumflex Adieresis Agrave Alpha Alphatonos
  Amacron Aogonek Aogonek.NAV Aring Aringacute Atilde Beta Cacute Ccaron
  Ccedilla Ccircumflex Dcaron Dcroat Delta Eacute Ebreve Ecaron Ecircumflex
  Edieresis Edotaccent Egrave Emacron Eng Eogonek Eogonek.NAV Epsilon
  Epsilontonos Eta Etatonos Eth Gamma Gbreve Gcircumflex Gcommaaccent Germandbls
  Hbar Hcircumflex IJ Iacute Ibreve Icircumflex Idieresis Igrave Imacron Iogonek
  Iota Iotadieresis Iotatonos Itilde Jcircumflex Kappa Kcommaaccent Lacute
  Lambda Lcaron Lcommaaccent Ldot L_slash Nacute Ncaron Ncommaaccent Ntilde Nu
  OE Oacute Obreve Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Omega
  Omegatonos Omicron Omicrontonos Oogonek Oogonek.NAV Oslash Oslashacute Otilde
  Phi Pi Psi Racute Rcaron Rcommaaccent Rho Sacute Scaron Scedilla Scircumflex
  Sigma Tau Tbar Tcaron Theta Thorn Uacute Ubreve Ucircumflex Udieresis Ugrave
  Uhungarumlaut Umacron Uogonek Upsilon Upsilondieresis Upsilontonos Uring
  Utilde Wacute Wcircumflex Wdieresis Wgrave Xi Yacute Ycircumflex Ydieresis
  Ygrave Zacute Zcaron Zdotaccent Zeta ampersand Cdotaccent Gdotaccent
  Tcommaaccent Scommaaccent uni021A uni037F
 ];

@LC_ROMAN = [ 
  a - z
  ae aeacute aacute abreve acircumflex adieresis agrave alpha alphatonos
  amacron aogonek aogonek.NAV aring aringacute atilde beta cacute ccaron
  ccedilla ccircumflex dcaron dcroat delta eacute ebreve ecaron ecircumflex
  edieresis edotaccent egrave emacron eng eogonek eogonek.NAV epsilon
  epsilontonos eta etatonos eth gamma gbreve gcircumflex gcommaaccent
  germandbls hbar hcircumflex ij iacute ibreve icircumflex idieresis igrave
  imacron iogonek iota iotadieresis iotatonos itilde jcircumflex kappa
  kcommaaccent lacute lambda lcaron lcommaaccent ldot lslash nacute ncaron
  ncommaaccent ntilde nu oe oacute obreve ocircumflex odieresis ograve
  ohungarumlaut omacron omega omegatonos omicron omicrontonos oogonek
  oogonek.NAV oslash oslashacute otilde phi pi psi racute rcaron rcommaaccent
  rho sacute scaron scedilla scircumflex sigma tau tbar tcaron theta thorn
  uacute ubreve ucircumflex udieresis ugrave uhungarumlaut umacron uogonek
  upsilon upsilondieresis upsilontonos uring utilde wacute wcircumflex
  wdieresis wgrave xi yacute ycircumflex ydieresis ygrave zacute zcaron
  zdotaccent zeta ampersand cdotaccent gdotaccent tcommaaccent scommaaccent
  uni021B yotgreek
 ];

@UC_SET1 = [ 
  zero one two three four five six seven eight nine
  euro Idotaccent Mu dollar
  lira sterling afii10023 afii10051 afii10052 afii10053 afii10054 afii10055
  afii10056 afii10057 afii10058 afii10059 afii10060 afii10061 afii10062
  afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022
  afii10024 afii10025 afii10026 afii10027 afii10029 afii10030 afii10031
  afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038
  afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045
  afii10046 afii10047 afii10048 afii10049 afii10050 Ghestrokecyrillic
  Zhedescendercyrillic Zedescendercyrillic Kadescendercyrillic
  Kaverticalstrokecyrillic Kabashkircyrillic Endescendercyrillic
  Haabkhasiancyrillic Esdescendercyrillic Ustraightcyrillic
  Ustraightstrokecyrillic Hadescendercyrillic Tetsecyrillic
  Cheverticalstrokecyrillic Shhacyrillic Cheabkhasiancyrillic
  Chedescenderabkhasiancyrillic Schwacyrillic Dzeabkhasiancyrillic
  Imacroncyrillic Obarredcyrillic Umacroncyrillic hryvnia tenge uni20BD numero
  yen placeofinterestsign L_bar
 ];

@LC_SET1 = [ 
  idotless sigma1 mugreek afii10065 becyrillic vecyrillic gecyrillic
  decyrillic iecyrillic zhecyrillic zecyrillic iicyrillic iishortcyrillic
  kacyrillic elcyrillic emcyrillic encyrillic ocyrillic pecyrillic ercyrillic
  escyrillic tecyrillic ucyrillic efcyrillic khacyrillic tsecyrillic
  checyrillic shacyrillic shchacyrillic hardsigncyrillic yericyrillic
  softsigncyrillic ereversedcyrillic iucyrillic iacyrillic iocyrillic
  djecyrillic gjecyrillic ecyrillic dzecyrillic icyrillic yicyrillic
  jecyrillic ljecyrillic njecyrillic tshecyrillic kjecyrillic ushortcyrillic
  dzhecyrillic gheupturncyrillic ghestrokecyrillic zhedescendercyrillic
  zedescendercyrillic kadescendercyrillic kaverticalstrokecyrillic
  kabashkircyrillic endescendercyrillic haabkhasiancyrillic
  esdescendercyrillic ustraightcyrillic ustraightstrokecyrillic
  hadescendercyrillic tetsecyrillic cheverticalstrokecyrillic shhacyrillic
  cheabkhasiancyrillic chedescenderabkhasiancyrillic schwacyrillic
  dzeabkhasiancyrillic imacroncyrillic obarredcyrillic umacroncyrillic zhook
 ];

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

@TNUM_L = [ zero
one
two
three
four
five
six
seven
eight
nine
one.ss01
four.ss01
six.ss01
nine.ss01
period
comma ];

@TNUM_R = [ zero.tf
one.tf
two.tf
three.tf
four.tf
five.tf
six.tf
seven.tf
eight.tf
nine.tf
one.tf.ss01
four.tf.ss01
six.tf.ss01
nine.tf.ss01
period.tf
comma.tf ];

@SS01_L = [  one four six nine  ];

@SS01_R = [  one.ss01 four.ss01 six.ss01 nine.ss01  ];

@NUM = [  zero one two three four five six seven eight nine @TNUM @SS01_R  ];

@SPACE = [ 
  space enspace emspace thirdemspace quarteremspace sixthemspace figurespace
  punctuationspace thinspace hairspace zerowidthspace
 ];

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

@frac2 = [  zero.frac onesuperior twosuperior threesuperior four.frac five.frac six.frac seven.frac eight.frac nine.frac  ];

@frac3 = [  fraction zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup  ];

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

@CCMP_ACC = [ gravecomb acutecomb tildecomb brevetildecomb.cn brevehookcomb.cn breveacutecomb.cn
circumflextildecomb.cn circumflexhookcomb.cn circumflexgravecomb.cn circumflexacutecomb.cn
brevegravecomb.cn macroncomb dieresismacroncomb.cn
dieresisacutecomb.cn dieresiscaroncomb.cn dieresisgravecomb.cn dotmacroncomb.cn
tildeacutecomb.cn macrongravecomb.cn macronacutecomb.cn macrondieresiscomb.cn acutedotcomb.cn
carondotcomb.cn tildemacroncomb.cn tildedieresiscomb.cn circumflexnosp overscorenosp
brevenosp dotnosp dieresisnosp hook ringnosp acutedblnosp caroncmb
linevertnosp linevertdblnosp dblgravecmb candrabindunosp breveinvnosp
commaturnsupnosp commaabovecmb commasuprevnosp commaaboverightcmb anglesupnosp
hornnosp xsupnosp tildevertsupnosp overscoredblnosp graveleftnosp
acuterightnosp perispomenigreekcmb koroniscmb diaeresistonosnosp uni0346
uni034A uni034B uni034C uni0350 uni0351 uni0352 uni0357 uni0358 uni035B
uni1DC0 uni1DC1 uni1DC3 uni1DC4 uni1DC5 uni1DC6 uni1DC7 uni1DC8 uni1DC9
uni1DCB uni1DCC uni1DCD uni1DCE uni1DD1 uni1DD2 uni1DD3 uni1DD4 uni1DD5
uni1DD6 uni1DD7 uni1DD8 uni1DD9 uni1DDA uni1DDB uni1DDC uni1DDD uni1DDE
uni1DDF uni1DE0 uni1DE1 uni1DE2 uni1DE3 uni1DE4 uni1DE5 uni1DE6 uni1DE7
uni1DE8 uni1DE9 uni1DEA uni1DEB uni1DEC uni1DED uni1DEE uni1DEF uni1DF0
uni1DF1 uni1DF2 uni1DF3 uni1DF4 uni1DF5 uni1DFE uni0363 uni0364 uni0365
uni0366 uni0367 uni0368 uni0369 uni036A uni036B uni036C uni036D uni036E
uni036F titlocyrilliccmb palatalizationcyrilliccmb dasiapneumatacyrilliccmb
psilipneumatacyrilliccmb uni0487 uni20F0 uniA69F uni2DFF uni20DC uniFE20
uniFE21 uniFE22 uniFE23 uniFE24 uniFE25 uniFE26 ];

@CASE_DELIM_L = [ 
  braceleft   braceright
  bracketleft bracketright
  parenleft   parenright
 ];

@CASE_NONDELIM_L = [ 
  asterisk
  at
  multiply
  minus
  plus
  plusminus
  divide
  equal
  notequal
  endash
  figuredash
  emdash
  hyphen
  bullet
  arrowleft
  arrowleftlong
  arrowright
  arrowrightlong
  notequal
  colon
 ];

@CASE_L = [  @CASE_DELIM_L @CASE_NONDELIM_L  ];

@CASE_DELIM_R = [ 
  braceleft.case   braceright.case
  bracketleft.case bracketright.case
  parenleft.case   parenright.case
 ];

@CASE_NONDELIM_R = [ 
  asterisk.case
  at.case
  multiply.case
  minus.case
  plus.case
  plusminus.case
  divide.case
  equal.case
  notequal.case
  endash.case
  figuredash.case
  emdash.case
  hyphen.case
  bullet.case
  arrowleft.case
  arrowleftlong.case
  arrowright.case
  arrowrightlong.case
  notequal.case
  colon.case
 ];

@CASE_R = [  @CASE_DELIM_R @CASE_NONDELIM_R  ];

feature ccmp {
# Transpose sequences like /i /gravecomb -> /idotless /gravecomb
lookup ccmp02 {
  sub i' @CCMP_ACC by idotless;
  sub j' @CCMP_ACC by jdotless;
  sub ibar' @CCMP_ACC by uni0268.ccmp;
  sub iogonek' @CCMP_ACC by uni012F.ccmp; # iogonek is generated
  sub uni0249' @CCMP_ACC by uni0249.ccmp;
  sub jcrosstail' @CCMP_ACC by jcrosstail.ccmp;
  sub jsuper' @CCMP_ACC by uni02B2.ccmp;
  sub yotgreek' @CCMP_ACC by jdotless;
  sub icyrillic' @CCMP_ACC by idotless;
  sub jecyrillic' @CCMP_ACC by jdotless;
  sub itildebelow' @CCMP_ACC by uni1E2D.ccmp; # uni1E2D.ccmp is generated
  sub idotbelow' @CCMP_ACC by uni1ECB.ccmp; # both are generated
  sub isuperior' @CCMP_ACC by uni2071.ccmp;
} ccmp02;

lookup ccmp03 {

sub d caroncmb by dcaron;
sub l caroncmb by lcaron;
sub t caroncmb by tcaron;

sub A gravecomb by Agrave;
sub A acutecomb by Aacute;
sub A circumflexnosp by Acircumflex;
sub A tildecomb by Atilde;
sub A dieresisnosp by Adieresis;
sub A ringnosp by Aring;
sub A ringacute.cn by Aringacute;
sub C cedillanosp by Ccedilla;
sub E gravecomb by Egrave;
sub E acutecomb by Eacute;
sub E circumflexnosp by Ecircumflex;
sub E dieresisnosp by Edieresis;
sub I gravecomb by Igrave;
sub I acutecomb by Iacute;
sub I circumflexnosp by Icircumflex;
sub I dieresisnosp by Idieresis;
sub N tildecomb by Ntilde;
sub O gravecomb by Ograve;
sub O acutecomb by Oacute;
sub O circumflexnosp by Ocircumflex;
sub O tildecomb by Otilde;
sub O dieresisnosp by Odieresis;
sub U gravecomb by Ugrave;
sub U acutecomb by Uacute;
sub U circumflexnosp by Ucircumflex;
sub U dieresisnosp by Udieresis;
sub Y acutecomb by Yacute;
sub a gravecomb by agrave;
sub a acutecomb by aacute;
sub a circumflexnosp by acircumflex;
sub a tildecomb by atilde;
sub a dieresisnosp by adieresis;
sub a ringnosp by aring;
sub a ringacute.cn by aringacute;
sub c cedillanosp by ccedilla;
sub e gravecomb by egrave;
sub e acutecomb by eacute;
sub e circumflexnosp by ecircumflex;
sub e dieresisnosp by edieresis;
sub idotless gravecomb by igrave;
sub idotless acutecomb by iacute;
sub idotless circumflexnosp by icircumflex;
sub idotless dieresisnosp by idieresis;
sub n tildecomb by ntilde;
sub o gravecomb by ograve;
sub o acutecomb by oacute;
sub o circumflexnosp by ocircumflex;
sub o tildecomb by otilde;
sub o dieresisnosp by odieresis;
sub u gravecomb by ugrave;
sub u acutecomb by uacute;
sub u circumflexnosp by ucircumflex;
sub u dieresisnosp by udieresis;
sub y acutecomb by yacute;
sub y dieresisnosp by ydieresis;
sub A macroncomb by Amacron;
sub a macroncomb by amacron;
sub A brevenosp by Abreve;
sub a brevenosp by abreve;
sub A ogoneknosp by Aogonek;
sub a ogoneknosp by aogonek;
sub C acutecomb by Cacute;
sub c acutecomb by cacute;
sub C circumflexnosp by Ccircumflex;
sub c circumflexnosp by ccircumflex;
sub C dotnosp by Cdotaccent;
sub c dotnosp by cdotaccent;
sub C caroncmb by Ccaron;
sub c caroncmb by ccaron;
sub D caroncmb by Dcaron;
sub E macroncomb by Emacron;
sub e macroncomb by emacron;
sub E brevenosp by Ebreve;
sub e brevenosp by ebreve;
sub E dotnosp by Edotaccent;
sub e dotnosp by edotaccent;
sub E ogoneknosp by Eogonek;
sub e ogoneknosp by eogonek;
sub E caroncmb by Ecaron;
sub e caroncmb by ecaron;
sub G circumflexnosp by Gcircumflex;
sub g circumflexnosp by gcircumflex;
sub G brevenosp by Gbreve;
sub g brevenosp by gbreve;
sub G dotnosp by Gdotaccent;
sub g dotnosp by gdotaccent;
sub G commaaccent by Gcommaaccent;
sub g commaaccentrotate.cn by gcommaaccent;
sub H circumflexnosp by Hcircumflex;
sub h circumflexnosp by hcircumflex;
sub I tildecomb by Itilde;
sub idotless tildecomb by itilde;
sub I macroncomb by Imacron;
sub idotless macroncomb by imacron;
sub I brevenosp by Ibreve;
sub idotless brevenosp by ibreve;
sub I ogoneknosp by Iogonek;
sub i ogoneknosp by iogonek;
sub I dotnosp by Idotaccent;
sub J circumflexnosp by Jcircumflex;
sub jdotless circumflexnosp by jcircumflex;
sub K commaaccent by Kcommaaccent;
sub k commaaccent by kcommaaccent;
sub L acutecomb by Lacute;
sub l acutecomb by lacute;
sub L commaaccent by Lcommaaccent;
sub l commaaccent by lcommaaccent;
sub L dotnosp by Ldot;
sub l dotnosp by ldot;
sub N acutecomb by Nacute;
sub n acutecomb by nacute;
sub N commaaccent by Ncommaaccent;
sub n commaaccent by ncommaaccent;
sub N caroncmb by Ncaron;
sub n caroncmb by ncaron;
sub O macroncomb by Omacron;
sub o macroncomb by omacron;
sub O brevenosp by Obreve;
sub o brevenosp by obreve;
sub O acutedblnosp by Ohungarumlaut;
sub o acutedblnosp by ohungarumlaut;
sub R acutecomb by Racute;
sub r acutecomb by racute;
sub R commaaccent by Rcommaaccent;
sub r commaaccent by rcommaaccent;
sub R caroncmb by Rcaron;
sub r caroncmb by rcaron;
sub S acutecomb by Sacute;
sub s acutecomb by sacute;
sub S circumflexnosp by Scircumflex;
sub s circumflexnosp by scircumflex;
sub S cedillanosp by Scedilla;
sub s cedillanosp by scedilla;
sub S commaaccent by Scommaaccent;
sub s commaaccent by scommaaccent;
sub S caroncmb by Scaron;
sub s caroncmb by scaron;
sub T commaaccent by uni021A;
sub t commaaccent by uni021B;
sub T cedillanosp by Tcommaaccent;
sub t cedillanosp by tcommaaccent;
sub T caroncmb by Tcaron;
sub U tildecomb by Utilde;
sub u tildecomb by utilde;
sub U macroncomb by Umacron;
sub u macroncomb by umacron;
sub U brevenosp by Ubreve;
sub u brevenosp by ubreve;
sub U ringnosp by Uring;
sub u ringnosp by uring;
sub U acutedblnosp by Uhungarumlaut;
sub u acutedblnosp by uhungarumlaut;
sub U ogoneknosp by Uogonek;
sub u ogoneknosp by uogonek;
sub W circumflexnosp by Wcircumflex;
sub w circumflexnosp by wcircumflex;
sub Y circumflexnosp by Ycircumflex;
sub y circumflexnosp by ycircumflex;
sub Y dieresisnosp by Ydieresis;
sub Z acutecomb by Zacute;
sub z acutecomb by zacute;
sub Z dotnosp by Zdotaccent;
sub z dotnosp by zdotaccent;
sub Z caroncmb by Zcaron;
sub z caroncmb by zcaron;
sub AE acutecomb by AEacute;
sub ae acutecomb by aeacute;
sub Oslash acutecomb by Oslashacute;
sub oslash acutecomb by oslashacute;
#sub z caroncmb by zcaron;
sub W gravecomb by Wgrave;
sub w gravecomb by wgrave;
sub W acutecomb by Wacute;
sub w acutecomb by wacute;
sub W dieresisnosp by Wdieresis;
sub w dieresisnosp by wdieresis;
sub Y gravecomb by Ygrave;
sub y gravecomb by ygrave;
sub jdotless caroncmb by jcaron;
sub A dotbelow by Adotbelow;
sub a dotbelow by adotbelow;
sub A hook by Ahookabove;
sub a hook by ahookabove;
#sub A circumflexacutecomb.cn by uni1EA4;
sub A circumflexnosp acutecomb by Acircumflexacute;
sub a circumflexacutecomb.cn by acircumflexacute;
#sub A circumflexgravecomb.cn by uni1EA6;
sub A circumflexnosp gravecomb by Acircumflexgrave;
sub a circumflexgravecomb.cn by acircumflexgrave;
#sub A circumflexhookcomb.cn by uni1EA8;
sub A circumflexnosp hook by Acircumflexhookabove;
sub a circumflexhookcomb.cn by acircumflexhookabove;
#sub A circumflextildecomb.cn by uni1EAA;
sub A circumflexnosp tildecomb by Acircumflextilde;
sub a circumflextildecomb.cn by acircumflextilde;
#sub A breveacutecomb.cn by uni1EAE;
sub A brevenosp acutecomb by Abreveacute;
sub a breveacutecomb.cn by abreveacute;
#sub A brevegravecomb.cn by uni1EB0;
sub A brevenosp gravecomb by Abrevegrave;
sub a brevegravecomb.cn by abrevegrave;
#sub A brevehookcomb.cn by uni1EB2;
sub A brevenosp hook by Abrevehookabove;
sub a brevehookcomb.cn by abrevehookabove;
sub A brevetildecomb.cn by Abrevetilde;
sub a brevetildecomb.cn by abrevetilde;
sub E dotbelow by Edotbelow;
sub e dotbelow by edotbelow;
sub E hook by Ehookabove;
sub e hook by ehookabove;
sub E tildecomb by Etilde;
sub e tildecomb by etilde;
#sub E circumflexacutecomb.cn by uni1EBE;
sub E circumflexnosp acutecomb by Ecircumflexacute;
sub e circumflexacutecomb.cn by ecircumflexacute;
#sub E circumflexgravecomb.cn by uni1EC0;
sub E circumflexnosp gravecomb by Ecircumflexgrave;
sub e circumflexgravecomb.cn by ecircumflexgrave;
#sub E circumflexhookcomb.cn by uni1EC2;
sub E circumflexnosp hook by Ecircumflexhookabove;
sub e circumflexhookcomb.cn by ecircumflexhookabove;
#sub E circumflextildecomb.cn by uni1EC4;
sub E circumflexnosp tildecomb by Ecircumflextilde;
sub e circumflextildecomb.cn by ecircumflextilde;
sub I hook by Ihookabove;
sub idotless hook by ihookabove;
sub I dotbelow by Idotbelow;
sub i dotbelow by idotbelow;
sub O dotbelow by Odotbelow;
sub o dotbelow by odotbelow;
sub O hook by Ohookabove;
sub o hook by ohookabove;
#sub O circumflexacutecomb.cn by uni1ED0;
sub O circumflexnosp acutecomb by Ocircumflexacute;
sub o circumflexacutecomb.cn by ocircumflexacute;
#sub O circumflexgravecomb.cn by uni1ED2;
sub O circumflexnosp gravecomb by Ocircumflexgrave;
sub o circumflexgravecomb.cn by ocircumflexgrave;
#sub O circumflexhookcomb.cn by uni1ED4;
sub O circumflexnosp hook by Ocircumflexhookabove;
sub o circumflexhookcomb.cn by ocircumflexhookabove;
#sub O circumflextildecomb.cn by uni1ED6;
sub O circumflexnosp tildecomb by Ocircumflextilde;
sub o circumflextildecomb.cn by ocircumflextilde;
sub Ohorn acutecomb by Ohornacute;
sub ohorn acutecomb by ohornacute;
sub Ohorn gravecomb by Ohorngrave;
sub ohorn gravecomb by ohorngrave;
sub Ohorn hook by Ohornhookabove;
sub ohorn hook by ohornhookabove;
sub Ohorn tildecomb by Ohorntilde;
sub ohorn tildecomb by ohorntilde;
sub Ohorn dotbelow by Ohorndotbelow;
sub ohorn dotbelow by ohorndotbelow;
sub U dotbelow by Udotbelow;
sub u dotbelow by udotbelow;
sub U hook by Uhookabove;
sub u hook by uhookabove;
sub Uhorn acutecomb by Uhornacute;
sub uhorn acutecomb by uhornacute;
sub Uhorn gravecomb by Uhorngrave;
sub uhorn gravecomb by uhorngrave;
sub Uhorn hook by Uhornhookabove;
sub uhorn hook by uhornhookabove;
sub Uhorn tildecomb by Uhorntilde;
sub uhorn tildecomb by uhorntilde;
sub Uhorn dotbelow by Uhorndotbelow;
sub uhorn dotbelow by uhorndotbelow;
sub Y dotbelow by Ydotbelow;
sub y dotbelow by ydotbelow;
sub Y hook by Yhookabove;
sub y hook by yhookabove;
sub Y tildecomb by Ytilde;
sub y tildecomb by ytilde;
sub A caroncmb by Acaron;
sub a caroncmb by acaron;
sub I caroncmb by Icaron;
sub idotless caroncmb by icaron;
sub O caroncmb by Ocaron;
sub o caroncmb by ocaron;
sub U caroncmb by Ucaron;
sub u caroncmb by ucaron;
#sub U dieresismacroncomb.cn by uni01D5;
sub U dieresisnosp macroncomb by Udieresismacron;
sub u dieresismacroncomb.cn by udieresismacron;
#sub U dieresisacutecomb.cn by uni01D7;
sub U dieresisnosp acutecomb by Udieresisacute;
sub u dieresisacutecomb.cn by udieresisacute;
#sub U dieresiscaroncomb.cn by uni01D9;
sub U dieresisnosp caroncmb by Udieresiscaron;
sub u dieresiscaroncomb.cn by udieresiscaron;
#sub U dieresisgravecomb.cn by uni01DB;
sub U dieresisnosp gravecomb by Udieresisgrave;
sub u dieresisgravecomb.cn by udieresisgrave;
#sub A dieresismacroncomb.cn by uni01DE;
sub A dieresisnosp macroncomb by Adieresismacron;
sub a dieresismacroncomb.cn by adieresismacron;
#sub A dotmacroncomb.cn by uni01E0;
sub A dotnosp macroncomb by Adotmacron;
sub a dotmacroncomb.cn by adotmacron;
sub AE macroncomb by AEmacron;
sub ae macroncomb by aemacron;
sub G caroncmb by Gcaron;
sub g caroncmb by gcaron;
sub K caroncmb by Kcaron;
sub k caroncmb by kcaron;
sub O ogoneknosp by Oogonek;
sub o ogoneknosp by oogonek;
sub G acutecomb by Gacute;
sub g acutecomb by gacute;
sub N gravecomb by uni01F8;
sub n gravecomb by uni01F9;
sub A dblgravecmb by Adblgrave;
sub a dblgravecmb by adblgrave;
sub A breveinvnosp by Ainvertedbreve;
sub a breveinvnosp by ainvertedbreve;
sub E dblgravecmb by Edblgrave;
sub e dblgravecmb by edblgrave;
sub E breveinvnosp by Einvertedbreve;
sub e breveinvnosp by einvertedbreve;
sub I dblgravecmb by Idblgrave;
sub idotless dblgravecmb by idblgrave;
sub I breveinvnosp by Iinvertedbreve;
sub idotless breveinvnosp by iinvertedbreve;
sub O dblgravecmb by Odblgrave;
sub o dblgravecmb by odblgrave;
sub O breveinvnosp by Oinvertedbreve;
sub o breveinvnosp by oinvertedbreve;
sub R dblgravecmb by Rdblgrave;
sub r dblgravecmb by rdblgrave;
sub R breveinvnosp by Rinvertedbreve;
sub r breveinvnosp by rinvertedbreve;
sub U dblgravecmb by Udblgrave;
sub u dblgravecmb by udblgrave;
sub U breveinvnosp by Uinvertedbreve;
sub u breveinvnosp by uinvertedbreve;
sub H caroncmb by uni021E;
sub h caroncmb by uni021F;
sub A dotnosp by uni0226;
sub a dotnosp by uni0227;
sub E cedillanosp by uni0228;
sub e cedillanosp by uni0229;
#sub O dieresismacroncomb.cn by uni022A;
sub O dieresisnosp macroncomb by uni022A;
sub o dieresismacroncomb.cn by uni022B;
#sub O tildemacroncomb.cn by uni022C;
sub O tildecomb macroncomb by uni022C;
sub o tildemacroncomb.cn by uni022D;
sub O dotnosp by uni022E;
sub o dotnosp by uni022F;
#sub O dotmacroncomb.cn by uni0230;
sub O dotnosp macroncomb by uni0230;
sub o dotmacroncomb.cn by uni0231;
sub Y macroncomb by uni0232;
sub y macroncomb by uni0233;
sub Upsilonhooksymbol acutecomb by Upsilonacutehooksymbolgreek;
sub Upsilonhooksymbol dieresisnosp by Upsilondieresishooksymbolgreek;
sub B dotnosp by Bdotaccent;
sub b dotnosp by bdotaccent;
sub B dotbelow by Bdotbelow;
sub b dotbelow by bdotbelow;
sub B macronsubnosp by Blinebelow;
sub b macronsubnosp by blinebelow;
sub D dotnosp by Ddotaccent;
sub d dotnosp by ddotaccent;
sub D dotbelow by Ddotbelow;
sub d dotbelow by ddotbelow;
sub D macronsubnosp by Dlinebelow;
sub d macronsubnosp by dlinebelow;
sub D commaaccent by Dcedilla;
sub d commaaccent by dcedilla;
sub D circumflexsubnosp by Dcircumflexbelow;
sub d circumflexsubnosp by dcircumflexbelow;
#sub E macrongravecomb.cn by uni1E14;
sub E macroncomb gravecomb by Emacrongrave;
sub e macrongravecomb.cn by emacrongrave;
#sub E macronacutecomb.cn by uni1E16;
sub E macroncomb acutecomb by Emacronacute;
sub e macronacutecomb.cn by emacronacute;
sub E circumflexsubnosp by Ecircumflexbelow;
sub e circumflexsubnosp by ecircumflexbelow;
sub E tildesubnosp by Etildebelow;
sub e tildesubnosp by etildebelow;
sub F dotnosp by Fdotaccent;
sub f dotnosp by fdotaccent;
sub G macroncomb by Gmacron;
sub g macroncomb by gmacron;
sub H dotnosp by Hdotaccent;
sub h dotnosp by hdotaccent;
sub H dotbelow by Hdotbelow;
sub h dotbelow by hdotbelow;
sub H dieresisnosp by Hdieresis;
sub h dieresisnosp by hdieresis;
sub H brevesubnosp by Hbrevebelow;
sub h brevesubnosp by hbrevebelow;
sub I tildesubnosp by Itildebelow;
sub i tildesubnosp by itildebelow;
#sub I dieresisacutecomb.cn by Idieresisacute;
sub I dieresisnosp acutecomb by Idieresisacute;
sub idotless dieresisacutecomb.cn by idieresisacute;
sub K acutecomb by Kacute;
sub k acutecomb by kacute;
sub K dotbelow by Kdotbelow;
sub k dotbelow by kdotbelow;
sub K macronsubnosp by Klinebelow;
sub k macronsubnosp by klinebelow;
sub L dotbelow by Ldotbelow;
sub l dotbelow by ldotbelow;
sub L macronsubnosp by Llinebelow;
sub l macronsubnosp by llinebelow;
sub L circumflexsubnosp by Lcircumflexbelow;
sub l circumflexsubnosp by lcircumflexbelow;
sub M acutecomb by Macute;
sub m acutecomb by macute;
sub M dotnosp by Mdotaccent;
sub m dotnosp by mdotaccent;
sub M dotbelow by Mdotbelow;
sub m dotbelow by mdotbelow;
sub N dotnosp by Ndotaccent;
sub n dotnosp by ndotaccent;
sub N dotbelow by Ndotbelow;
sub n dotbelow by ndotbelow;
sub N macronsubnosp by Nlinebelow;
sub n macronsubnosp by nlinebelow;
sub N circumflexsubnosp by Ncircumflexbelow;
sub n circumflexsubnosp by ncircumflexbelow;
#sub O tildeacutecomb.cn by uni1E4C;
sub O tildecomb acutecomb by Otildeacute;
sub o tildeacutecomb.cn by otildeacute;
#sub O tildedieresiscomb.cn by uni1E4E;
sub O tildecomb dieresisnosp by Otildedieresis;
sub o tildedieresiscomb.cn by otildedieresis;
#sub O macrongravecomb.cn by uni1E50;
sub O macroncomb gravecomb by Omacrongrave;
sub o macrongravecomb.cn by omacrongrave;
#sub O macronacutecomb.cn by uni1E52;
sub O macroncomb acutecomb by Omacronacute;
sub o macronacutecomb.cn by omacronacute;
sub P acutecomb by Pacute;
sub p acutecomb by pacute;
sub P dotnosp by Pdotaccent;
sub p dotnosp by pdotaccent;
sub R dotnosp by Rdotaccent;
sub r dotnosp by rdotaccent;
sub R dotbelow by Rdotbelow;
sub r dotbelow by rdotbelow;
sub R macronsubnosp by Rlinebelow;
sub r macronsubnosp by rlinebelow;
sub S dotnosp by Sdotaccent;
sub s dotnosp by sdotaccent;
sub S dotbelow by Sdotbelow;
sub s dotbelow by sdotbelow;
#sub S acutedotcomb.cn by uni1E64;
sub S acutecomb dotnosp by Sacutedotaccent;
sub s acutedotcomb.cn by sacutedotaccent;
#sub S carondotcomb.cn by uni1E66;
sub S caroncmb dotnosp by Scarondotaccent;
sub s carondotcomb.cn by scarondotaccent;
sub T dotnosp by Tdotaccent;
sub t dotnosp by tdotaccent;
sub T dotbelow by Tdotbelow;
sub t dotbelow by tdotbelow;
sub T macronsubnosp by Tlinebelow;
sub t macronsubnosp by tlinebelow;
sub T circumflexsubnosp by Tcircumflexbelow;
sub t circumflexsubnosp by tcircumflexbelow;
sub U dotdblsubnosp by Udieresisbelow;
sub u dotdblsubnosp by udieresisbelow;
sub U tildesubnosp by Utildebelow;
sub u tildesubnosp by utildebelow;
sub U circumflexsubnosp by Ucircumflexbelow;
sub u circumflexsubnosp by ucircumflexbelow;
#sub U tildeacutecomb.cn by uni1E78;
sub U tildecomb acutecomb by Utildeacute;
sub u tildeacutecomb.cn by utildeacute;
#sub U macrondieresiscomb.cn by uni1E7A;
sub U macroncomb dieresisnosp by Umacrondieresis;
sub u macrondieresiscomb.cn by umacrondieresis;
sub V tildecomb by Vtilde;
sub v tildecomb by vtilde;
sub V dotbelow by Vdotbelow;
sub v dotbelow by vdotbelow;
sub W dotnosp by Wdotaccent;
sub w dotnosp by wdotaccent;
sub W dotbelow by Wdotbelow;
sub w dotbelow by wdotbelow;
sub X dotnosp by Xdotaccent;
sub x dotnosp by xdotaccent;
sub X dieresisnosp by Xdieresis;
sub x dieresisnosp by xdieresis;
sub Y dotnosp by Ydotaccent;
sub y dotnosp by ydotaccent;
sub Z circumflexnosp by Zcircumflex;
sub z circumflexnosp by zcircumflex;
sub Z dotbelow by Zdotbelow;
sub z dotbelow by zdotbelow;
sub Z macronsubnosp by Zlinebelow;
sub z macronsubnosp by zlinebelow;
sub h macronsubnosp by hlinebelow;
sub t dieresisnosp by tdieresis;
sub w ringnosp by wring;
sub y ringnosp by yring;
sub longs dotnosp by slongdotaccent;
sub A ringsubnosp by Aringbelow;
sub a ringsubnosp by aringbelow;
} ccmp03;

} ccmp;

feature aalt {
# automatic
feature ccmp;
feature locl;
feature frac;
feature dnom;
feature numr;
feature case;
feature calt;
feature ss01;
feature tnum;
feature zero;

} aalt;

feature locl {
# automatic
script latn;
language CAT;
sub  l' periodcentered' l by ldot;
sub  L' periodcentered' L by Ldot;
language ROM;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
language MOL;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;

} locl;

feature frac {
# automatic
sub one slash eight by oneeighth;
sub one slash four by onequarter;
sub three slash eight by threeeighths;
sub one slash two by onehalf;
sub five slash eight by fiveeighths;
sub three slash four by threequarters;
sub seven slash eight by seveneighths;
sub one slash three by onethird;
sub two slash three by twothirds;

} frac;

feature dnom {
sub @frac1 by @frac4;
} dnom;

feature numr {
sub @frac1 by @frac2;
} numr;

feature case {
# automatic
sub parenleft by parenleft.case;
sub parenright by parenright.case;
sub bracketleft by bracketleft.case;
sub bracketright by bracketright.case;
sub braceleft by braceleft.case;
sub braceright by braceright.case;
sub at by at.case;
sub hyphen by hyphen.case;
sub endash by endash.case;
sub figuredash by figuredash.case;
sub emdash by emdash.case;
sub bullet by bullet.case;
sub colon by colon.case;
sub equal by equal.case;
sub notequal by notequal.case;
sub plus by plus.case;
sub minus by minus.case;
sub multiply by multiply.case;
sub divide by divide.case;
sub plusminus by plusminus.case;
sub asterisk by asterisk.case;
sub arrowleft by arrowleft.case;
sub arrowleftlong by arrowleftlong.case;
sub arrowright by arrowright.case;
sub arrowrightlong by arrowrightlong.case;

} case;

feature calt {
  @UC = [ @UC_ROMAN @UC_SET1 exclam question ];
  @LC = [ @LC_ROMAN @LC_SET1 ];
  
  sub [ @UC @CASE_R ] @CASE_L' by @CASE_R; # Z y' -> Z x -> Z x 'y -> Z x x ...
  ignore sub @LC @CASE_NONDELIM_L @UC;     # e.g. m multiply M
  sub @CASE_L' [ @UC @CASE_R ] by @CASE_R; # y' Z -> x Z

  # rule to support left-hand repetition of CASE{L}->{R} [issue #57]
  # e.g. /at /at /UC -> /at.case /at /UC -> /at.case /at.case /UC
  # Note that we can't look further than 2 glyphs back, since it would break
  # cases like /a /braceleft /braceright /asterisk /asterisk /A
  sub @CASE_L' @CASE_L [ @CASE_R @UC ] by @CASE_R;

  # arrows: -> and <-
  @ARROW_DASH_LONG = [ endash emdash ];
  @ARROW_DASH_LONG_CASE = [ endash.case emdash.case ];

  sub hyphen greater by arrowright;
  sub hyphen.case greater by arrowright.case;
  sub @ARROW_DASH_LONG greater by arrowrightlong;
  sub @ARROW_DASH_LONG_CASE greater by arrowrightlong.case;
  # ignore <-NUM e.g. "<-3"
  ignore sub less [ hyphen hyphen.case @ARROW_DASH_LONG @ARROW_DASH_LONG_CASE ] @NUM;
  sub less hyphen by arrowleft;
  sub less hyphen.case by arrowleft.case;
  sub less @ARROW_DASH_LONG by arrowleftlong;
  sub less @ARROW_DASH_LONG_CASE by arrowleftlong.case;
} calt;

feature ss01 {
# notes:
# Name: Alternate digits
# automatic
sub one by one.ss01;
sub one.tf by one.tf.ss01;
sub four by four.ss01;
sub four.tf by four.tf.ss01;
sub six by six.ss01;
sub six.tf by six.tf.ss01;
sub nine by nine.ss01;
sub nine.tf by nine.tf.ss01;

} ss01;

feature tnum {
sub @TNUM_L by @TNUM_R;
} tnum;

feature zero {
sub zero by zero.slash;
sub zero.tf by zero.tf.slash;

} zero;

table GDEF {
  # automatic
  GlyphClassDef
    [A Agrave Aacute Acircumflex Aring Amacron Abreve Aogonek Acaron Adieresismacron Adotmacron Adblgrave Ainvertedbreve uni0226 Aringbelow Adotbelow Ahookabove Acircumflexacute Acircumflexgrave Acircumflexhookabove Acircumflextilde Acircumflexdotbelow Abreveacute Abrevegrave Abrevehookabove Abrevetilde Abrevedotbelow Alpha Alphatonos uni1F08 uni1F0A uni1FB8 uni1FB9 afii10017 Abrevecyrillic uni1F88 uni1F8A uni1FBC AE AEmacron AEacute Aiecyrillic B Bdotaccent Bdotbelow Blinebelow afii10019 Beta C Ccedilla Cacute Ccircumflex Cdotaccent Ccaron Ccedillaacute Oopen uni03F9 D Dcaron Ddotaccent Ddotbelow Dlinebelow Dcedilla Dcircumflexbelow E Egrave Eacute Ecircumflex Edieresis Emacron Ebreve Edotaccent Eogonek Ecaron Edblgrave Einvertedbreve uni0228 Emacrongrave Emacronacute Ecircumflexbelow Etildebelow Ecedillabreve Edotbelow Ehookabove Etilde Ecircumflexacute Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Ecircumflexdotbelow Epsilon Epsilontonos uni1F18 uni1F1A afii10022 uni0400 afii10023 Iebrevecyrillic F Fdotaccent G Gbar Gcircumflex Gbreve Gdotaccent Gcommaaccent Gcaron Gacute Gmacron H Hcircumflex uni021E Hdotaccent Hdotbelow Hdieresis Hbrevebelow uni04C9 Eta Etatonos uni1F28 afii10031 uni1F98 uni1FCC I Igrave Iacute Icircumflex Itilde Imacron Ibreve Iogonek Idotaccent Icaron Idblgrave Iinvertedbreve Ihookabove Idotbelow Iota Iotatonos uni1F38 uni1FD8 uni1FD9 afii10055 afii10056 J Jcircumflex uni037F afii10057 K Kcommaaccent Kcaron Kacute Kdotbelow Kappa L Lacute Lcommaaccent Lcaron Ldotbelow Ldotbelowmacron Llinebelow Lcircumflexbelow M Macute Mdotaccent Mdotbelow uni04CD Mu uni03FA afii10030 N Ntilde Nacute Ncommaaccent Ncaron uni01F8 Ndotaccent Ndotbelow Nlinebelow Ncircumflexbelow Eng afii10026 uni040D afii10027 Imacroncyrillic Idieresiscyrillic uni048A Nu O Ograve Oacute Ocircumflex Omacron Obreve Ohungarumlaut Ocaron Oogonek Oogonekmacron Odblgrave Oinvertedbreve uni022A uni022C uni0230 Otildeacute Otildedieresis Omacrongrave Omacronacute Odotbelow Ohookabove Ocircumflexacute Ocircumflexgrave Ocircumflexhookabove Ocircumflextilde Ocircumflexdotbelow Ohornacute Ohorngrave Ohornhookabove Ohorntilde Ohorndotbelow Omicron Omicrontonos uni1F48 afii10032 P Pacute Pdotaccent Rho R Racute Rcommaaccent Rcaron Rdblgrave Rinvertedbreve Rdotaccent Rdotbelow Rdotbelowmacron Rlinebelow uni024C S Sacute Scircumflex Scedilla Scaron Scommaaccent Sdotaccent Sdotbelow Sacutedotaccent Scarondotaccent Sdotbelowdotaccent afii10054 T Tcommaaccent Tcaron uni021A Tdotaccent Tdotbelow Tlinebelow Tcircumflexbelow Tau U Uhorn Ugrave Uacute Ucircumflex Udieresis Utilde Umacron Ubreve Uring Uhungarumlaut Uogonek Ucaron Udieresismacron Udieresiscaron Udieresisgrave Udblgrave Uinvertedbreve Udieresisbelow Ucircumflexbelow Utildeacute Umacrondieresis Udotbelow Uhookabove Uhornacute Uhorngrave Uhornhookabove Uhorntilde Uhorndotbelow V Vtilde Vdotbelow W Wcircumflex Wgrave Wacute Wdieresis Wdotaccent Wdotbelow X Xdotaccent Xdieresis Chi Y Yacute Ycircumflex Ydieresis uni0232 Ydotaccent Ygrave Ydotbelow Yhookabove Ytilde uni024E Upsilon Upsilontonos Upsilonhooksymbol Upsilonacutehooksymbolgreek Upsilondieresishooksymbolgreek uni1FE8 uni1FE9 Z Zacute Zdotaccent Zcaron Zcircumflex Zdotbelow Zlinebelow Zeta a agrave aacute acircumflex amacron abreve aogonek acaron adieresismacron adotmacron aringacute adblgrave ainvertedbreve adotbelow ahookabove acircumflexacute acircumflexgrave acircumflexhookabove acircumflextilde acircumflexdotbelow abreveacute abrevegrave abrevehookabove abrevetilde abrevedotbelow aturn afii10065 abrevecyrillic ae aemacron aeacute aiecyrillic b bhook bdotbelow blinebelow c ccurl ccedilla cacute ccircumflex cdotaccent ccaron ccedillaacute sigmalunatesymbolgreek drthook dhook ddotaccent ddotbelow dlinebelow dcedilla dcircumflexbelow dz dzcurl dyogh e egrave eacute ecircumflex emacron ebreve edotaccent eogonek ecaron edblgrave einvertedbreve uni0229 emacrongrave emacronacute ecircumflexbelow ecedillabreve edotbelow ehookabove etilde ecircumflexacute ecircumflexgrave ecircumflexhookabove ecircumflextilde ecircumflexdotbelow iecyrillic uni0450 iebrevecyrillic eturn f fdotaccent feng g gcircumflex gbreve gdotaccent gcommaaccent gcaron gacute gmacron h hhook henghook hturn hturnlthook hturnhook2 hcircumflex uni021F hdotaccent hdotbelow hdieresis hbrevebelow hlinebelow shhacyrillic i idotless uni1E2D.ccmp igrave iacute icircumflex imacron ibreve uni012F.ccmp iogonek icaron idblgrave iinvertedbreve ihookabove idotbelow uni1ECB.ccmp jdotless j jcrosstail.ccmp jcrosstail jcircumflex jcaron yotgreek jecyrillic k kcommaaccent kcaron kacute kdotbelow klinebelow kturn l lslash lbar lmidtilde lrthook lbelt lacute lcommaaccent ldotbelow ldotbelowmacron llinebelow lcircumflexbelow uni04CF m mhook mturn mturndescend macute mdotaccent mdotbelow n nrthook eng nlfthook nlegrightlong napostrophe nacute ncommaaccent ncaron uni01F9 ndotaccent ndotbelow nlinebelow ncircumflexbelow o oslash ohorn ograve oacute ocircumflex omacron obreve ohungarumlaut ocaron oogonek oogonekmacron odblgrave oinvertedbreve uni022B uni022D uni022F uni0231 otildeacute otildedieresis omacrongrave omacronacute odotbelow ohookabove ocircumflexacute ocircumflexgrave ocircumflexhookabove ocircumflextilde ocircumflexdotbelow ohornacute ohorngrave ohornhookabove ohorntilde ohorndotbelow oslashacute omicron uni1F40 uni1F41 uni1F42 uni1F45 uni1F78 fitacyrillic obar ocyrillic oe p pacute pdotaccent ercyrillic qhook r rrthook uni024D rturn rturnrthook rfishhookrev rfishhook rdescend racute rcommaaccent rcaron rdblgrave rinvertedbreve rdotaccent rdotbelow rdotbelowmacron rlinebelow s srthook sacute scircumflex scedilla scaron scommaaccent sdotaccent sdotbelow sacutedotaccent scarondotaccent sdotbelowdotaccent dzecyrillic t trthook tccurl tturn tcommaaccent uni021B tdotaccent tdotbelow tlinebelow tcircumflexbelow tdieresis u ubar ugrave uacute ucircumflex umacron ubreve uring uhungarumlaut uogonek ucaron udieresismacron udieresisacute udieresiscaron udieresisgrave udblgrave uinvertedbreve udieresisbelow ucircumflexbelow utildeacute umacrondieresis udotbelow uhookabove uhornacute uhorngrave uhornhookabove uhorntilde uhorndotbelow v vturn vtilde vdotbelow w wturn wcircumflex wgrave wacute wdotaccent wdotbelow wring x xdotaccent xdieresis khacyrillic y uni024F yacute ycircumflex uni0233 ydotaccent yring ygrave ydotbelow yhookabove ytilde ucyrillic ushortcyrillic umacroncyrillic uhungarumlautcyrillic yturn z zrthook zacute zdotaccent zcaron zcircumflex zdotbelow zlinebelow zcurl Gamma Pi Omega Omegatonos uni1F68 uni1F6A uni1FA8 uni1FFC afii10024 Zhedescendercyrillic afii10025 afii10029 afii10037 afii10041 Shhacyrillic afii10045 afii10046 afii10047 afii10049 afii10053 Haabkhasiancyrillic Cheabkhasiancyrillic Schwacyrillic afii10148 alpha uni1F00 uni1F01 uni1F03 uni1F05 uni1F07 uni1F70 uni1F80 uni1F81 uni1F83 uni1F85 uni1F87 uni1FB0 uni1FB1 uni1FB2 uni1FB3 uni1FB4 uni1FB6 uni1FB7 gamma epsilon uni1F10 uni1F11 uni1F13 uni1F15 uni1F72 eta uni1F20 uni1F21 uni1F23 uni1F25 uni1F27 uni1F74 uni1F90 uni1F91 uni1F93 uni1F95 uni1F97 uni1FC2 uni1FC3 uni1FC4 uni1FC6 uni1FC7 iota iotadieresistonos iotadieresis uni1F30 uni1F31 uni1F33 uni1F35 uni1F37 uni1F76 uni1FD0 uni1FD1 uni1FD2 uni1FD6 uni1FD7 lambda rho uni1FE4 uni1FE5 upsilon upsilondieresistonos upsilondieresis uni1F50 uni1F51 uni1F53 uni1F55 uni1F57 uni1F7A uni1FE0 uni1FE1 uni1FE2 uni1FE6 uni1FE7 psi omega uni1F60 uni1F61 uni1F63 uni1F65 uni1F67 uni1F7C uni1FA0 uni1FA1 uni1FA3 uni1FA5 uni1FA7 uni1FF2 uni1FF3 uni1FF4 uni1FF6 uni1FF7 gamma1 vecyrillic gecyrillic decyrillic zhecyrillic zhedescendercyrillic zecyrillic iicyrillic uni048B kacyrillic kadescendercyrillic elcyrillic uni04C6 uni052F emcyrillic uni04CE encyrillic endescendercyrillic uni04CA pecyrillic tecyrillic efcyrillic hadescendercyrillic tsecyrillic checyrillic chedescendercyrillic shacyrillic shchacyrillic softsigncyrillic yericyrillic uni048D yatcyrillic ereversedcyrillic iucyrillic iacyrillic ecyrillic haabkhasiancyrillic cheabkhasiancyrillic izhitsacyrillic franc two acute hungarumlaut grave dieresis circumflex tilde macron breve ring caron brevenosp commabelowcmb overscoredblnosp acutedotcomb.lc tildedieresiscomb.lc dieresisacutecomb.lc carondotcomb.lc oopen Gsmallcaphook anglesupnosp breveinvsubnosp commaturnsupnosp uni02AB uni02AC OEsmallcap tackupsubnosp seagullsubnosp longs Ysmallcap gravesubnosp glottalstoprevinv erev cstretch Rsmallcap glottalstopinv schwahook tesh philatin glottalstop epsilon1revclosed linevertnosp linevertsubnosp tackdownsubnosp uni2071.ccmp babygamma overscorenosp diaeresistonosnosp rturnascend bridgesubnosp dotmacroncomb.lc Lsmallcap squaresubnosp Schwa finalmem Gsmallcap Esh dieresismacroncomb.lc Rsmallcapinv ts pisymbolgreek dieresisgravecomb.lc commasuprevnosp archdblsubnosp plussubnosp tildemacroncomb.lc iota1 macrondieresiscomb.lc epsilonclosed omegacyrillic Omegacyrillic ksicyrillic tildeacutecomb.lc dieresiscaroncomb.lc ascriptturn ezh ezhcurl omegaroundcyrillic otcyrillic gcursive upsilonlatin omegaclosed xsupnosp eshshortrev vscript acuterightnosp tildevertsupnosp linevertdblnosp ascript epsilon1rev Epsilon1 iotasubnosp kgreenlandic graveleftnosp tackleftsubnosp glottalstopbar minussubnosp lambdabar underscoredblnosp tackrightsubnosp koppacyrillic Koppacyrillic eshcurl acutesubnosp finalkaf Ismallcap epsilon1revhook lyogh Nsmallcap uni02B2.ccmp bridgeinvsubnosp esh Ldot Aogonek.NAV Eogonek.NAV Oogonek.NAV afii10020 afii10052 afii10034 afii10035 afii10036 afii10039 Ghestrokecyrillic Tedescendercyrillic Ustraightcyrillic Ustraightstrokecyrillic palochkacyrillic Chekhakassiancyrillic uni04F6 uni04FE afii10061 Schwadieresiscyrillic Zhebrevecyrillic Zhedieresiscyrillic Zedieresiscyrillic afii10062 Umacroncyrillic Udieresiscyrillic Uhungarumlautcyrillic Chedieresiscyrillic Yerudieresiscyrillic uni04EC Izhitsadblgravecyrillic uni0299 uni029C aogonek.NAV eogonek.NAV oogonek.NAV kappa nu uni1F71 uni1F73 uni1F75 uni1F77 uni1F79 uni1F7B uni1F7D uni1FD3 uni1FE3 psicyrillic ghestrokecyrillic tedescendercyrillic schwacyrillic schwadieresiscyrillic obarredcyrillic obarreddieresiscyrillic chedieresiscyrillic uni04ED gjecyrillic iishortcyrillic uni045D imacroncyrillic idieresiscyrillic izhitsadblgravecyrillic kjecyrillic yerudieresiscyrillic zedieresiscyrillic zhebrevecyrillic zhedieresiscyrillic], # Base
    [a_uni02DE], # Liga
    [commaaccent acutecomb gravecomb dblgravecmb macroncomb caroncmb tildecomb uni0346 uni1DD8 uni1DD9 uni1DD2 uni1DD3 uni1DD0 uni1DD1 uni1DD4 uni1DD5 uni1DDB uni1DDC uni1DDF uni1DDD uni1DDE uni2DFF uni036A uni036B uni036C uni036D uni036E uni036F tildedoublecmb breveinverteddoublecmb uni0362 uni0363 uni0364 uni0365 uni0366 uni0367 uni0368 uni0369 uni0359 uni0358 uni0355 uni0354 uni0357 uni0356 uni0351 uni0350 uni0353 uni0352 uni035E uni035F uni035C uni035B uniA69F uni1DD6 uni1DD7 uni034B uni034C uni034A uni034F uni034D uni034E uni0348 uni0349 perispomenigreekcmb koroniscmb uni0347 uni1DC6 uni1DC4 macrongravecomb.lc macronacutecomb.lc uni1DCF uni1DCE uni1DCD uni1DCC uni1DCB uni1DCA uni1DC9 uni1DC8 uni1DC7 uni1DC5 uni1DC3 uni1DC2 uni1DC1 uni1DC0 uni1DE9 uni035D uni035A uni1DE2 uni20DC uni20DB uni20E8 uni1DDA titlocyrilliccmb dasiapneumatacyrilliccmb palatalizationcyrilliccmb uni0487 psilipneumatacyrilliccmb uni20F0 uni1DF0 uni1DF1 uni1DF2 uni1DF3 uni1DF4 uni1DF5 caronbelowcmb uni1DFC uni1DFD uni1DFE uni1DFF uniFE29 uniFE22 uniFE23 uniFE24 uniFE25 uniFE26 uniFE2A uniFE2B uniFE2C uniFE2D uni1DEE uni1DED uni1DEF uni1DEA uni1DEC uni1DEB uni1DE8 uni1DE5 uni1DE4 uni1DE7 uni1DE6 uni1DE1 uni1DE0 uni1DE3 commaabovecmb commaaboverightcmb macronacutecomb.cn macrongravecomb.cn], # Mark
    ;
} GDEF;