summaryrefslogtreecommitdiff
path: root/src/features.fea
blob: e62b0dd91790e97b9f3decb2b980e0fd52014b33 (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
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
# Common features shared by all weights

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;


# classes

@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 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 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 ];

@LC_SET1 = [ dotlessi 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 ];

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

@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 brevehookcomb breveacutecomb circumflextildecomb circumflexhookcomb circumflexgravecomb circumflexacutecomb brevegravecomb macroncomb commaaboverightcomb dieresismacroncomb dieresisacutecomb dieresiscaroncomb dieresisgravecomb dotmacroncomb tildeacutecomb macrongravecomb macronacutecomb macrondieresiscomb acutedotcomb carondotcomb tildemacroncomb tildedieresiscomb 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 tildecomb_uni1ABB tildecomb_uni1ABC macroncomb_uni1ABB dieresisnosp_uni1ABB uni030C_uni1ABB uni1AB0 uni1AB1 uni1AB2 uni1AB3 uni1AB4 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 uniA66F uniA674 uniA675 uniA676 uniA677 uniA678 uniA679 uniA67A uniA67B uniA67C uniA67D uniA69F uni2DE0 uni2DE1 uni2DE2 uni2DE3 uni2DE4 uni2DE5 uni2DE6 uni2DE7 uni2DE8 uni2DE9 uni2DEA uni2DEB uni2DEC uni2DED uni2DEE uni2DEF uni2DF0 uni2DF1 uni2DF2 uni2DF3 uni2DF4 uni2DF5 uni2DF6 uni2DF7 uni2DF8 uni2DF9 uni2DFA uni2DFB uni2DFC uni2DFD uni2DFE uni2DFF uni1ABB uni1ABC uni20DC uniFE20 uniFE21 uniFE22 uniFE23 uniFE24 uniFE25 uniFE26 ];

# gdef classes

@GDEF_BASE = [ 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 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 AE AEacute AEmacron Aacute Abreve Acaron Acircumflex Adieresis Agrave Alpha Alphatonos Amacron Aogonek Aogonek.NAV Aring Aringacute Atilde Beta Cacute Ccaron Ccedilla Ccircumflex Dcaron Dcroat Eacute Ebreve Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eng Eogonek Eogonek.NAV Epsilon Epsilon1 Epsilontonos Esh Eta Etatonos Eth Gacute Gamma Gbar Gbreve Gcaron Gcircumflex Gcommaaccent Gsmallcap Gsmallcaphook Hbar Hcircumflex Iacute Ibar Ibreve Icaron Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek Iota Iota1 Iotadieresis Iotatonos Ismallcap Itilde Jcircumflex Kappa Kcaron Kcommaaccent Lacute Lcaron Lcommaaccent Ldot Lslash Lsmallcap Mu Nacute Ncaron Ncommaaccent Nsmallcap Ntilde Nu OE OEsmallcap Oacute Obar Obreve Ocaron Ocircumflex Odieresis Ograve Ohorn Ohungarumlaut Omacron Omega Omicron Omicrontonos Oogonek Oogonek.NAV Oslash Oslashacute Otilde Racute Rcaron Rcommaaccent Rho Rsmallcap Rsmallcapinv Sacute Scaron Scedilla Schwa Scircumflex Tau Tbar Tcaron Uacute Ubreve Ucaron Ucircumflex Udieresis Ugrave Uhorn Uhungarumlaut Umacron Uogonek Upsilon Upsilondieresis Upsilontonos Uring Utilde Wacute Wcircumflex Wdieresis Wgrave Yacute Ycircumflex Ydieresis Ygrave Ysmallcap Zacute Zbar Zcaron Zdotaccent Zeta a_uni02DE aacute abreve acaron acircumflex adieresis ae aeacute aemacron agrave alpha alphatonos amacron aogonek aogonek.NAV aring aringacute ascript ascriptturn atilde aturn babygamma bbar bhook bullseye cacute ccaron ccedilla ccircumflex ccurl cedilla cstretch dcaron dcroat dhook dotlessi drthook dyogh dz dzcurl eacute ebreve ecaron ecircumflex edieresis edotaccent egrave emacron eng eogonek eogonek.NAV epsilon epsilon1 epsilon1rev epsilon1revclosed epsilon1revhook epsilonclosed epsilontonos erev esh eshcurl eshshortrev eta etatonos eturn finalkaf finalmem finalnun franc gacute gamma1 gbar gbreve gcaron gcircumflex gcommaaccent gcursive ghook glottalstop glottalstopbar glottalstopbarrev glottalstopinv glottalstoprevinv hbar hcircumflex henghook hhook hturn iacute ibar ibreve icaron icircumflex idieresis igrave imacron iogonek iota iota1 iotadieresis iotadieresistonos iotatonos itilde jcircumflex jcrosstail jdotlessbar jhookdblbar kappa kcaron kcommaaccent kgreenlandic kturn lacute lbar lbelt lcaron lcommaaccent ldot lmidtilde longs lrthook lslash lyogh mhook mturn mturndescend nacute napostrophe ncaron ncommaaccent nlfthook nrthook ntilde nu o_uni02DE oacute obar obreve ocaron ocircumflex odieresis oe ogonek ograve ohorn ohungarumlaut omacron omega omegaclosed omegatonos omicron omicrontonos oogonek oogonek.NAV oopen oslash oslashacute otilde philatin psi qhook racute rcaron rcommaaccent rdescend rfishhook rfishhookrev rho rrthook rturn rturnascend rturnrthook sacute scaron scedilla schwa schwahook scircumflex srthook tbar tcaron tccurl tesh trthook ts tturn uacute ubar ubreve ucaron ucircumflex udieresis ugrave uhorn uhungarumlaut umacron uni0069.ccmp uni006A.ccmp Cdotaccent cdotaccent Gdotaccent gdotaccent uni012F.ccmp Tcommaaccent tcommaaccent nlegrightlong Udieresismacron udieresismacron Udieresisacute udieresisacute Udieresiscaron udieresiscaron Udieresisgrave udieresisgrave Adieresismacron adieresismacron Adotmacron adotmacron Oogonekmacron oogonekmacron jcaron uni01F8 uni01F9 Adblgrave adblgrave Ainvertedbreve ainvertedbreve Edblgrave edblgrave Einvertedbreve einvertedbreve Idblgrave idblgrave Iinvertedbreve iinvertedbreve Odblgrave odblgrave Oinvertedbreve oinvertedbreve Rdblgrave rdblgrave Rinvertedbreve rinvertedbreve Udblgrave udblgrave Uinvertedbreve uinvertedbreve Scommaaccent scommaaccent uni021A uni021B uni021E uni021F uni0226 uni0227 uni0228 uni0229 uni022A uni022B uni022C uni022D uni022E uni022F uni0230 uni0231 uni0232 uni0233 dotlessj uni023D uni0243 uni0244 uni0248 uni0249 uni0249.ccmp uni024C uni024D uni024E uni024F uni0268.ccmp ezh ezhcurl uni0299 uni029C uni029D.ccmp uni02A9 uni02AB uni02AC uni02AE rhotichookmod uni037F Upsilonhooksymbol Upsilonacutehooksymbolgreek Upsilondieresishooksymbolgreek pisymbolgreek sigmalunatesymbolgreek yotgreek uni03F3.ccmp uni03F4 uni03F9 uni03FA uni0400 afii10023 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10061 uni040D afii10062 afii10017 afii10019 afii10020 afii10022 afii10024 afii10025 afii10026 afii10027 afii10029 afii10030 afii10031 afii10032 afii10034 afii10035 afii10036 afii10037 afii10039 afii10041 afii10045 afii10047 afii10048 afii10049 afii10065 vecyrillic gecyrillic decyrillic iecyrillic zhecyrillic zecyrillic iicyrillic iishortcyrillic kacyrillic elcyrillic emcyrillic encyrillic ocyrillic pecyrillic ercyrillic escyrillic tecyrillic ucyrillic efcyrillic khacyrillic tsecyrillic checyrillic shacyrillic shchacyrillic yericyrillic ereversedcyrillic iucyrillic iacyrillic uni0450 iocyrillic gjecyrillic ecyrillic dzecyrillic icyrillic uni0456.ccmp yicyrillic jecyrillic uni0458.ccmp kjecyrillic uni045D ushortcyrillic Omegacyrillic omegacyrillic ksicyrillic psicyrillic afii10147 fitacyrillic afii10148 izhitsacyrillic Izhitsadblgravecyrillic izhitsadblgravecyrillic omegaroundcyrillic otcyrillic Koppacyrillic koppacyrillic uni048A uni048B Ghestrokecyrillic ghestrokecyrillic Zhedescendercyrillic zhedescendercyrillic Zedescendercyrillic zedescendercyrillic kadescendercyrillic Endescendercyrillic endescendercyrillic Haabkhasiancyrillic haabkhasiancyrillic Esdescendercyrillic esdescendercyrillic Tedescendercyrillic tedescendercyrillic Ustraightcyrillic Ustraightstrokecyrillic Hadescendercyrillic hadescendercyrillic Chedescendercyrillic chedescendercyrillic Shhacyrillic shhacyrillic Cheabkhasiancyrillic cheabkhasiancyrillic palochkacyrillic Zhebrevecyrillic zhebrevecyrillic uni04C6 uni04C9 uni04CA Chekhakassiancyrillic chekhakassiancyrillic uni04CD uni04CE uni04CF Abrevecyrillic abrevecyrillic Adieresiscyrillic adieresiscyrillic Aiecyrillic aiecyrillic Iebrevecyrillic iebrevecyrillic Schwacyrillic schwacyrillic Schwadieresiscyrillic schwadieresiscyrillic Zhedieresiscyrillic zhedieresiscyrillic Zedieresiscyrillic zedieresiscyrillic Imacroncyrillic imacroncyrillic Idieresiscyrillic idieresiscyrillic Odieresiscyrillic odieresiscyrillic Obarredcyrillic obarredcyrillic Obarreddieresiscyrillic obarreddieresiscyrillic uni04EC uni04ED Umacroncyrillic umacroncyrillic Udieresiscyrillic udieresiscyrillic Uhungarumlautcyrillic uhungarumlautcyrillic Chedieresiscyrillic chedieresiscyrillic uni04F6 uni04F7 Yerudieresiscyrillic yerudieresiscyrillic uni04FC uni04FD uni04FE uni04FF uni0501 uni0504 uni0506 uni050A uni050C uni050D uni050E uni0510 uni0511 uni0513 uni051A uni051B uni051C uni051D uni0525 uni0526 uni0527 uni052F uni1D00 uni1D01 uni1D02 uni1D03 uni1D04 uni1D05 uni1D06 uni1D07 uni1D08 uni1D09 uni1D0A uni1D0B uni1D0C uni1D0D uni1D0E uni1D0F uni1D10 uni1D14 uni1D15 uni1D18 uni1D19 uni1D1A uni1D1B uni1D1C uni1D20 uni1D21 uni1D22 uni1D23 uni1D24 uni1D25 uni1D26 uni1D27 uni1D28 uni1D29 uni1D2A uni1D2B uni1D6B uni1D6C uni1D6D uni1D6E uni1D6F uni1D70 uni1D71 uni1D72 uni1D73 uni1D74 uni1D75 uni1D76 uni1D77 uni1D79 uni1D7A uni1D7B uni1D7C uni1D7D uni1D7E uni1D7F uni1D80 uni1D81 uni1D82 uni1D83 uni1D84 uni1D85 uni1D86 uni1D87 uni1D88 uni1D89 uni1D8A uni1D8B uni1D8C uni1D8D uni1D8E uni1D8F uni1D90 uni1D91 uni1D92 uni1D93 uni1D94 uni1D95 uni1D96 uni1D96.ccmp uni1D97 uni1D98 uni1D99 uni1D9A Aringbelow aringbelow Bdotaccent bdotaccent Bdotbelow bdotbelow Blinebelow blinebelow Ccedillaacute ccedillaacute Ddotaccent ddotaccent Ddotbelow ddotbelow Dlinebelow dlinebelow Dcedilla dcedilla Dcircumflexbelow dcircumflexbelow Emacrongrave emacrongrave Emacronacute emacronacute Ecircumflexbelow ecircumflexbelow Etildebelow etildebelow Ecedillabreve ecedillabreve Fdotaccent fdotaccent Gmacron gmacron Hdotaccent hdotaccent Hdotbelow hdotbelow Hdieresis hdieresis Hbrevebelow hbrevebelow Itildebelow itildebelow uni1E2D.ccmp Idieresisacute idieresisacute Kacute kacute Kdotbelow kdotbelow Klinebelow klinebelow Ldotbelow ldotbelow Ldotbelowmacron ldotbelowmacron Llinebelow llinebelow Lcircumflexbelow lcircumflexbelow Macute macute Mdotaccent mdotaccent Mdotbelow mdotbelow Ndotaccent ndotaccent Ndotbelow ndotbelow Nlinebelow nlinebelow Ncircumflexbelow ncircumflexbelow Otildeacute otildeacute Otildedieresis otildedieresis Omacrongrave omacrongrave Omacronacute omacronacute Pacute pacute Pdotaccent pdotaccent Rdotaccent rdotaccent Rdotbelow rdotbelow Rdotbelowmacron rdotbelowmacron Rlinebelow rlinebelow Sdotaccent sdotaccent Sdotbelow sdotbelow Sacutedotaccent sacutedotaccent Scarondotaccent scarondotaccent Sdotbelowdotaccent sdotbelowdotaccent Tdotaccent tdotaccent Tdotbelow tdotbelow Tlinebelow tlinebelow Tcircumflexbelow tcircumflexbelow Udieresisbelow udieresisbelow Utildebelow utildebelow Ucircumflexbelow ucircumflexbelow Utildeacute utildeacute Umacrondieresis umacrondieresis Vtilde vtilde Vdotbelow vdotbelow Wdotaccent wdotaccent Wdotbelow wdotbelow Xdotaccent xdotaccent Xdieresis xdieresis Ydotaccent ydotaccent Zcircumflex zcircumflex Zdotbelow zdotbelow Zlinebelow zlinebelow hlinebelow tdieresis wring yring arighthalfring Adotbelow adotbelow Ahookabove ahookabove Acircumflexacute acircumflexacute Acircumflexgrave acircumflexgrave Acircumflexhookabove acircumflexhookabove Acircumflextilde acircumflextilde Acircumflexdotbelow acircumflexdotbelow Abreveacute abreveacute Abrevegrave abrevegrave Abrevehookabove abrevehookabove Abrevetilde abrevetilde Abrevedotbelow abrevedotbelow Edotbelow edotbelow Ehookabove ehookabove Etilde etilde Ecircumflexacute ecircumflexacute Ecircumflexgrave ecircumflexgrave Ecircumflexhookabove ecircumflexhookabove Ecircumflextilde ecircumflextilde Ecircumflexdotbelow ecircumflexdotbelow Ihookabove ihookabove Idotbelow idotbelow uni1ECB.ccmp Odotbelow odotbelow Ohookabove ohookabove Ocircumflexacute ocircumflexacute Ocircumflexgrave ocircumflexgrave Ocircumflexhookabove ocircumflexhookabove Ocircumflextilde ocircumflextilde Ocircumflexdotbelow ocircumflexdotbelow Ohornacute ohornacute Ohorngrave ohorngrave Ohornhookabove ohornhookabove Ohorntilde ohorntilde Ohorndotbelow ohorndotbelow Udotbelow udotbelow Uhookabove uhookabove Uhornacute uhornacute Uhorngrave uhorngrave Uhornhookabove uhornhookabove Uhorntilde uhorntilde Uhorndotbelow uhorndotbelow Ydotbelow ydotbelow Yhookabove yhookabove Ytilde ytilde uni1F00 uni1F01 uni1F02 uni1F03 uni1F04 uni1F05 uni1F06 uni1F07 uni1F08 uni1F09 uni1F0A uni1F0B uni1F0C uni1F0D uni1F0E uni1F0F uni1F10 uni1F11 uni1F12 uni1F13 uni1F14 uni1F15 uni1F18 uni1F19 uni1F1A uni1F1B uni1F1C uni1F1D uni1F20 uni1F21 uni1F22 uni1F23 uni1F24 uni1F25 uni1F26 uni1F27 uni1F28 uni1F29 uni1F2A uni1F2B uni1F2C uni1F2D uni1F2E uni1F2F uni1F30 uni1F31 uni1F32 uni1F33 uni1F34 uni1F35 uni1F36 uni1F37 uni1F38 uni1F39 uni1F3A uni1F3B uni1F3C uni1F3D uni1F3E uni1F3F uni1F40 uni1F41 uni1F42 uni1F43 uni1F44 uni1F45 uni1F48 uni1F49 uni1F4A uni1F4B uni1F4C uni1F4D uni1F50 uni1F51 uni1F52 uni1F53 uni1F54 uni1F55 uni1F56 uni1F57 uni1F59 uni1F5B uni1F5D uni1F5F uni1F60 uni1F61 uni1F62 uni1F63 uni1F64 uni1F65 uni1F66 uni1F67 uni1F70 uni1F71 uni1F72 uni1F73 uni1F74 uni1F75 uni1F76 uni1F77 uni1F78 uni1F79 uni1F7A uni1F7B uni1F7C uni1F7D uni1F80 uni1F81 uni1F82 uni1F83 uni1F84 uni1F85 uni1F86 uni1F87 uni1F88 uni1F89 uni1F8A uni1F8B uni1F8C uni1F8D uni1F8E uni1F8F uni1F90 uni1F91 uni1F92 uni1F93 uni1F94 uni1F95 uni1F96 uni1F97 uni1F98 uni1F99 uni1F9A uni1F9B uni1F9C uni1F9D uni1F9E uni1F9F uni1FA0 uni1FA1 uni1FA2 uni1FA3 uni1FA4 uni1FA5 uni1FA6 uni1FA7 uni1FB0 uni1FB1 uni1FB2 uni1FB3 uni1FB4 uni1FB6 uni1FB7 uni1FB8 uni1FB9 uni1FBA uni1FBB uni1FBC uni1FC2 uni1FC3 uni1FC4 uni1FC6 uni1FC7 uni1FC8 uni1FC9 uni1FCA uni1FCB uni1FCC uni1FD0 uni1FD1 uni1FD2 uni1FD3 uni1FD6 uni1FD7 uni1FD8 uni1FD9 uni1FDA uni1FDB uni1FE0 uni1FE1 uni1FE2 uni1FE3 uni1FE4 uni1FE5 uni1FE6 uni1FE7 uni1FE8 uni1FE9 uni1FEA uni1FEB uni1FEC uni1FF2 uni1FF3 uni1FF4 uni1FF6 uni1FF7 uni1FF8 uni1FF9 dong uni2C67 uni2C68 uniA790 uniA791 uogonek upsilon upsilondieresis upsilondieresistonos upsilonlatin upsilontonos uring utilde vscript vturn wacute wcircumflex wdieresis wgrave wturn yacute ycircumflex ydieresis ygrave yturn zacute zbar zcaron zcurl zdotaccent zrthook ];

@GDEF_LIGATURE = [ longst st uni02E5_uni02E5_uni02E6 uni02E5_uni02E5_uni02E7 uni02E5_uni02E5_uni02E8 uni02E5_uni02E5_uni02E9 uni02E5_uni02E6 uni02E5_uni02E6_uni02E5 uni02E5_uni02E6_uni02E6 uni02E5_uni02E6_uni02E7 uni02E5_uni02E6_uni02E8 uni02E5_uni02E6_uni02E9 uni02E5_uni02E7 uni02E5_uni02E7_uni02E5 uni02E5_uni02E7_uni02E6 uni02E5_uni02E7_uni02E7 uni02E5_uni02E7_uni02E8 uni02E5_uni02E7_uni02E9 uni02E5_uni02E8 uni02E5_uni02E8_uni02E5 uni02E5_uni02E8_uni02E6 uni02E5_uni02E8_uni02E7 uni02E5_uni02E8_uni02E8 uni02E5_uni02E8_uni02E9 uni02E5_uni02E9 uni02E5_uni02E9_uni02E5 uni02E5_uni02E9_uni02E6 uni02E5_uni02E9_uni02E7 uni02E5_uni02E9_uni02E8 uni02E5_uni02E9_uni02E9 uni02E6_uni02E5 uni02E6_uni02E5_uni02E5 uni02E6_uni02E5_uni02E6 uni02E6_uni02E5_uni02E7 uni02E6_uni02E5_uni02E8 uni02E6_uni02E5_uni02E9 uni02E6_uni02E6_uni02E5 uni02E6_uni02E6_uni02E7 uni02E6_uni02E6_uni02E8 uni02E6_uni02E6_uni02E9 uni02E6_uni02E7 uni02E6_uni02E7_uni02E5 uni02E6_uni02E7_uni02E6 uni02E6_uni02E7_uni02E7 uni02E6_uni02E7_uni02E8 uni02E6_uni02E7_uni02E9 uni02E6_uni02E8 uni02E6_uni02E8_uni02E5 uni02E6_uni02E8_uni02E6 uni02E6_uni02E8_uni02E7 uni02E6_uni02E8_uni02E8 uni02E6_uni02E8_uni02E9 uni02E6_uni02E9 uni02E6_uni02E9_uni02E5 uni02E6_uni02E9_uni02E6 uni02E6_uni02E9_uni02E7 uni02E6_uni02E9_uni02E8 uni02E6_uni02E9_uni02E9 uni02E7_uni02E5 uni02E7_uni02E5_uni02E5 uni02E7_uni02E5_uni02E6 uni02E7_uni02E5_uni02E7 uni02E7_uni02E5_uni02E8 uni02E7_uni02E5_uni02E9 uni02E7_uni02E6 uni02E7_uni02E6_uni02E5 uni02E7_uni02E6_uni02E6 uni02E7_uni02E6_uni02E7 uni02E7_uni02E6_uni02E8 uni02E7_uni02E6_uni02E9 uni02E7_uni02E7_uni02E5 uni02E7_uni02E7_uni02E6 uni02E7_uni02E7_uni02E8 uni02E7_uni02E7_uni02E9 uni02E7_uni02E8 uni02E7_uni02E8_uni02E5 uni02E7_uni02E8_uni02E6 uni02E7_uni02E8_uni02E7 uni02E7_uni02E8_uni02E8 uni02E7_uni02E8_uni02E9 uni02E7_uni02E9 uni02E7_uni02E9_uni02E5 uni02E7_uni02E9_uni02E6 uni02E7_uni02E9_uni02E7 uni02E7_uni02E9_uni02E8 uni02E7_uni02E9_uni02E9 uni02E8_uni02E5 uni02E8_uni02E5_uni02E5 uni02E8_uni02E5_uni02E6 uni02E8_uni02E5_uni02E7 uni02E8_uni02E5_uni02E8 uni02E8_uni02E5_uni02E9 uni02E8_uni02E6 uni02E8_uni02E6_uni02E5 uni02E8_uni02E6_uni02E6 uni02E8_uni02E6_uni02E7 uni02E8_uni02E6_uni02E8 uni02E8_uni02E6_uni02E9 uni02E8_uni02E7 uni02E8_uni02E7_uni02E5 uni02E8_uni02E7_uni02E6 uni02E8_uni02E7_uni02E7 uni02E8_uni02E7_uni02E8 uni02E8_uni02E7_uni02E9 uni02E8_uni02E8_uni02E5 uni02E8_uni02E8_uni02E6 uni02E8_uni02E8_uni02E7 uni02E8_uni02E8_uni02E9 uni02E8_uni02E9 uni02E8_uni02E9_uni02E5 uni02E8_uni02E9_uni02E6 uni02E8_uni02E9_uni02E7 uni02E8_uni02E9_uni02E8 uni02E8_uni02E9_uni02E9 uni02E9_uni02E5 uni02E9_uni02E5_uni02E5 uni02E9_uni02E5_uni02E6 uni02E9_uni02E5_uni02E7 uni02E9_uni02E5_uni02E8 uni02E9_uni02E5_uni02E9 uni02E9_uni02E6 uni02E9_uni02E6_uni02E5 uni02E9_uni02E6_uni02E6 uni02E9_uni02E6_uni02E7 uni02E9_uni02E6_uni02E8 uni02E9_uni02E6_uni02E9 uni02E9_uni02E7 uni02E9_uni02E7_uni02E5 uni02E9_uni02E7_uni02E6 uni02E9_uni02E7_uni02E7 uni02E9_uni02E7_uni02E8 uni02E9_uni02E7_uni02E9 uni02E9_uni02E8 uni02E9_uni02E8_uni02E5 uni02E9_uni02E8_uni02E6 uni02E9_uni02E8_uni02E7 uni02E9_uni02E8_uni02E8 uni02E9_uni02E8_uni02E9 uni02E9_uni02E9_uni02E5 uni02E9_uni02E9_uni02E6 uni02E9_uni02E9_uni02E7 uni02E9_uni02E9_uni02E8 uni1AB9_uni1ABD uni1ABA_uni1ABD slongdotaccent ];

@GDEF_MARK = [ acutecomb acutedblnosp acuterightnosp acutesubnosp anglesupnosp archdblsubnosp breveinvnosp breveinvsubnosp breveinvsubnosp_uni1ABD brevenosp brevesubnosp bridgeinvsubnosp bridgesubnosp candrabindunosp cedillanosp circumflexnosp circumflexsubnosp commaaccent commasuprevnosp commaturnsupnosp diaeresistonosnosp dieresisnosp dieresisnosp_uni1ABB dotbelow dotbelow_uni1ABD dotdblsubnosp dotdblsubnosp_uni1ABD dotnosp gravecomb graveleftnosp gravesubnosp hook iotasubnosp iotasubnosp_uni1ABD linevertdblnosp linevertnosp linevertsubnosp linevertsubnosp_uni1ABD macroncomb macroncomb_uni1ABB macronsubnosp minussubnosp ogoneknosp overscoredblnosp overscorenosp plussubnosp ringlefthalfsubnosp ringnosp ringrighthalfsubnosp ringsubnosp ringsubnosp_uni1ABD seagullsubnosp squaresubnosp tackdownsubnosp tackleftsubnosp tackrightsubnosp tackupsubnosp tildecomb tildecomb_uni1ABB tildecomb_uni1ABC tildesubnosp tildesubnosp_uni1ABD tildevertsupnosp underscoredblnosp underscorenosp caroncmb uni030C_uni1ABB dblgravecmb commaabovecmb commaaboverightcmb commabelowcmb caronbelowcmb perispomenigreekcmb koroniscmb uni0346 uni0347 uni0348 uni0349 uni034A uni034B uni034C uni034D uni034E uni0350 uni0351 uni0352 uni0353 uni0354 uni0355 uni0356 uni0357 uni0359 uni035A uni035B uni035C uni035D uni035E uni035F tildedoublecmb breveinverteddoublecmb uni0362 uni0363 uni0364 uni0365 uni0366 uni0367 uni0368 uni0369 uni036A uni036B uni036C uni036D uni036E uni036F titlocyrilliccmb palatalizationcyrilliccmb uni1AB0 uni1AB1 uni1AB2 uni1AB3 uni1AB4 uni1AB5 uni1AB6 uni1AB7 uni1AB8 uni1AB8_uni1ABD uni1ABB uni1ABC uni1ABC.w1 uni1ABC.w2 uni1ABC.w3 uni1ABE.w1 uni1ABE.w2 uni1ABE.w3 uni1DC0 uni1DC1 uni1DC2 uni1DC3 uni1DC4 uni1DC5 uni1DC6 uni1DC7 uni1DC8 uni1DC9 uni1DCA uni1DCB uni1DCC uni1DCD uni1DCE uni1DCF uni1DD0 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 uni1DFD uni1DFE uni1DFF xsupnosp ];

@GDEF_COMPONENT = [ acutedotcomb breveacutecomb brevegravecomb brevehookcomb brevetildecomb carondotcomb circumflexacutecomb circumflexgravecomb circumflexhookcomb circumflextildecomb commaaccentrotate dieresisacutecomb dieresiscaroncomb dieresisgravecomb dieresismacroncomb dotmacroncomb macronacutecomb macrondieresiscomb macrongravecomb ringacute tildeacutecomb tildedieresiscomb tildemacroncomb tonebarextrahighmod tonebarhighmod tonebarmidmod tonebarlowmod tonebarextralowmod uni1AB9 uni1ABA uni1ABD ];

table GDEF {
  GlyphClassDef @GDEF_BASE, @GDEF_LIGATURE, @GDEF_MARK, @GDEF_COMPONENT;
} GDEF;


feature aalt { # Access All Alternates
  feature locl;
  feature frac;
  feature numr;
  feature dnom;
  feature tnum;
  feature ss01;
  feature zero;
  feature calt;
} aalt;

feature locl {
 script latn; language dflt; #set comment (#) for FDK 2.5
 language MOL  exclude_dflt; # Moldavian
  sub [Scedilla scedilla] by [Scommaaccent scommaaccent];
 language ROM  exclude_dflt; # Romanian
  sub [Scedilla scedilla] by [Scommaaccent scommaaccent];
 language FRA  exclude_dflt; # French
  sub [thinspace] by [uni2009.fra];
} locl;


feature mark {
  ;#insert from script mark
} mark;


feature mkmk {
  ;#insert from script mkmk
} mkmk;


feature ccmp {

  lookup ccmp01 {

  sub tildecomb uni1ABB by tildecomb_uni1ABB;
  sub tildecomb uni1ABC by tildecomb_uni1ABC;
  sub macroncomb uni1ABB by macroncomb_uni1ABB;
  sub dieresisnosp uni1ABB by dieresisnosp_uni1ABB;
  sub caroncmb uni1ABB by uni030C_uni1ABB;
  sub iotasubnosp uni1ABD by iotasubnosp_uni1ABD;
  sub dotdblsubnosp uni1ABD by dotdblsubnosp_uni1ABD;
  sub dotbelow uni1ABD by dotbelow_uni1ABD;
  sub ringsubnosp uni1ABD by ringsubnosp_uni1ABD;
  sub linevertsubnosp uni1ABD by linevertsubnosp_uni1ABD;
  sub breveinvsubnosp uni1ABD by breveinvsubnosp_uni1ABD;
  sub tildesubnosp uni1ABD by tildesubnosp_uni1ABD;
  sub uni1AB9 uni1ABD by uni1AB9_uni1ABD;
  sub uni1ABA uni1ABD by uni1ABA_uni1ABD;
  sub uni1AB8 uni1ABD by uni1AB8_uni1ABD;

  } ccmp01;

  lookup ccmp02 {
  sub i' @ccmp_acc by uni0069.ccmp;
  sub j' @ccmp_acc by uni006A.ccmp;
  sub iogonek' @ccmp_acc by uni012F.ccmp;
  sub uni0249' @ccmp_acc by uni0249.ccmp;
  sub ibar' @ccmp_acc by uni0268.ccmp;
  sub jcrosstail' @ccmp_acc by uni029D.ccmp;
  sub jsuper' @ccmp_acc by uni02B2.ccmp;
  sub yotgreek' @ccmp_acc by uni03F3.ccmp;
  sub icyrillic' @ccmp_acc by uni0456.ccmp;
  sub jecyrillic' @ccmp_acc by uni0458.ccmp;
  sub uni1D62' @ccmp_acc by uni1D62.ccmp;
  sub uni1D96' @ccmp_acc by uni1D96.ccmp;
  sub uni1DA4' @ccmp_acc by uni1DA4.ccmp;
  sub uni1DA8' @ccmp_acc by uni1DA8.ccmp;
  sub itildebelow' @ccmp_acc by uni1E2D.ccmp;
  sub idotbelow' @ccmp_acc by uni1ECB.ccmp;
  sub isuperior' @ccmp_acc by uni2071.ccmp;
  sub uni2C7C' @ccmp_acc by uni2C7C.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 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 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 dotlessi gravecomb by igrave;
  sub dotlessi acutecomb by iacute;
  sub dotlessi circumflexnosp by icircumflex;
  sub dotlessi 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 by gcommaaccent;
  sub H circumflexnosp by Hcircumflex;
  sub h circumflexnosp by hcircumflex;
  sub I tildecomb by Itilde;
  sub dotlessi tildecomb by itilde;
  sub I macroncomb by Imacron;
  sub dotlessi macroncomb by imacron;
  sub I brevenosp by Ibreve;
  sub dotlessi brevenosp by ibreve;
  sub I ogoneknosp by Iogonek;
  sub i ogoneknosp by iogonek;
  sub I dotnosp by Idotaccent;
  sub J circumflexnosp by Jcircumflex;
  sub dotlessj 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 dotlessj 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 by uni1EA4;
  sub A circumflexnosp acutecomb by Acircumflexacute;
  sub a circumflexacutecomb by acircumflexacute;
  #sub A circumflexgravecomb by uni1EA6;
  sub A circumflexnosp gravecomb by Acircumflexgrave;
  sub a circumflexgravecomb by acircumflexgrave;
  #sub A circumflexhookcomb by uni1EA8;
  sub A circumflexnosp hook by Acircumflexhookabove;
  sub a circumflexhookcomb by acircumflexhookabove;
  #sub A circumflextildecomb by uni1EAA;
  sub A circumflexnosp tildecomb by Acircumflextilde;
  sub a circumflextildecomb by acircumflextilde;
  #sub A breveacutecomb by uni1EAE;
  sub A brevenosp acutecomb by Abreveacute;
  sub a breveacutecomb by abreveacute;
  #sub A brevegravecomb by uni1EB0;
  sub A brevenosp gravecomb by Abrevegrave;
  sub a brevegravecomb by abrevegrave;
  #sub A brevehookcomb by uni1EB2;
  sub A brevenosp hook by Abrevehookabove;
  sub a brevehookcomb by abrevehookabove;
  sub A brevetildecomb by Abrevetilde;
  sub a brevetildecomb 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 by uni1EBE;
  sub E circumflexnosp acutecomb by Ecircumflexacute;
  sub e circumflexacutecomb by ecircumflexacute;
  #sub E circumflexgravecomb by uni1EC0;
  sub E circumflexnosp gravecomb by Ecircumflexgrave;
  sub e circumflexgravecomb by ecircumflexgrave;
  #sub E circumflexhookcomb by uni1EC2;
  sub E circumflexnosp hook by Ecircumflexhookabove;
  sub e circumflexhookcomb by ecircumflexhookabove;
  #sub E circumflextildecomb by uni1EC4;
  sub E circumflexnosp tildecomb by Ecircumflextilde;
  sub e circumflextildecomb by ecircumflextilde;
  sub I hook by Ihookabove;
  sub dotlessi 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 by uni1ED0;
  sub O circumflexnosp acutecomb by Ocircumflexacute;
  sub o circumflexacutecomb by ocircumflexacute;
  #sub O circumflexgravecomb by uni1ED2;
  sub O circumflexnosp gravecomb by Ocircumflexgrave;
  sub o circumflexgravecomb by ocircumflexgrave;
  #sub O circumflexhookcomb by uni1ED4;
  sub O circumflexnosp hook by Ocircumflexhookabove;
  sub o circumflexhookcomb by ocircumflexhookabove;
  #sub O circumflextildecomb by uni1ED6;
  sub O circumflexnosp tildecomb by Ocircumflextilde;
  sub o circumflextildecomb 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 dotlessi 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 by uni01D5;
  sub U dieresisnosp macroncomb by Udieresismacron;
  sub u dieresismacroncomb by udieresismacron;
  #sub U dieresisacutecomb by uni01D7;
  sub U dieresisnosp acutecomb by Udieresisacute;
  sub u dieresisacutecomb by udieresisacute;
  #sub U dieresiscaroncomb by uni01D9;
  sub U dieresisnosp caroncmb by Udieresiscaron;
  sub u dieresiscaroncomb by udieresiscaron;
  #sub U dieresisgravecomb by uni01DB;
  sub U dieresisnosp gravecomb by Udieresisgrave;
  sub u dieresisgravecomb by udieresisgrave;
  #sub A dieresismacroncomb by uni01DE;
  sub A dieresisnosp macroncomb by Adieresismacron;
  sub a dieresismacroncomb by adieresismacron;
  #sub A dotmacroncomb by uni01E0;
  sub A dotnosp macroncomb by Adotmacron;
  sub a dotmacroncomb 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 dotlessi dblgravecmb by idblgrave;
  sub I breveinvnosp by Iinvertedbreve;
  sub dotlessi 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 by uni022A;
  sub O dieresisnosp macroncomb by uni022A;
  sub o dieresismacroncomb by uni022B;
  #sub O tildemacroncomb by uni022C;
  sub O tildecomb macroncomb by uni022C;
  sub o tildemacroncomb by uni022D;
  sub O dotnosp by uni022E;
  sub o dotnosp by uni022F;
  #sub O dotmacroncomb by uni0230;
  sub O dotnosp macroncomb by uni0230;
  sub o dotmacroncomb 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 by uni1E14;
  sub E macroncomb gravecomb by Emacrongrave;
  sub e macrongravecomb by emacrongrave;
  #sub E macronacutecomb by uni1E16;
  sub E macroncomb acutecomb by Emacronacute;
  sub e macronacutecomb 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 by Idieresisacute;
  sub I dieresisnosp acutecomb by Idieresisacute;
  sub dotlessi dieresisacutecomb 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 by uni1E4C;
  sub O tildecomb acutecomb by Otildeacute;
  sub o tildeacutecomb by otildeacute;
  #sub O tildedieresiscomb by uni1E4E;
  sub O tildecomb dieresisnosp by Otildedieresis;
  sub o tildedieresiscomb by otildedieresis;
  #sub O macrongravecomb by uni1E50;
  sub O macroncomb gravecomb by Omacrongrave;
  sub o macrongravecomb by omacrongrave;
  #sub O macronacutecomb by uni1E52;
  sub O macroncomb acutecomb by Omacronacute;
  sub o macronacutecomb 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 by uni1E64;
  sub S acutecomb dotnosp by Sacutedotaccent;
  sub s acutedotcomb by sacutedotaccent;
  #sub S carondotcomb by uni1E66;
  sub S caroncmb dotnosp by Scarondotaccent;
  sub s carondotcomb 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 by uni1E78;
  sub U tildecomb acutecomb by Utildeacute;
  sub u tildeacutecomb by utildeacute;
  #sub U macrondieresiscomb by uni1E7A;
  sub U macroncomb dieresisnosp by Umacrondieresis;
  sub u macrondieresiscomb 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;

  lookup ccmp04 {
  sub tonebarextralowmod tonebarmidmod tonebarhighmod by uni02E9_uni02E7_uni02E6;
  sub tonebarextrahighmod tonebarmidmod tonebarlowmod by uni02E5_uni02E7_uni02E8;
  sub tonebarextrahighmod tonebarmidmod tonebarextralowmod by uni02E5_uni02E7_uni02E9;
  sub tonebarextralowmod tonebarextrahighmod tonebarextrahighmod by uni02E9_uni02E5_uni02E5;
  sub tonebarextrahighmod tonebarmidmod tonebarhighmod by uni02E5_uni02E7_uni02E6;
  sub tonebarextrahighmod tonebarmidmod tonebarmidmod by uni02E5_uni02E7_uni02E7;
  sub tonebarextrahighmod tonebarmidmod tonebarextrahighmod by uni02E5_uni02E7_uni02E5;
  sub tonebarextrahighmod tonebarextralowmod tonebarlowmod by uni02E5_uni02E9_uni02E8;
  sub tonebarextralowmod tonebarmidmod tonebarextrahighmod by uni02E9_uni02E7_uni02E5;
  sub tonebarhighmod tonebarextralowmod tonebarmidmod by uni02E6_uni02E9_uni02E7;
  sub tonebarhighmod tonebarextralowmod tonebarhighmod by uni02E6_uni02E9_uni02E6;
  sub tonebarhighmod tonebarextralowmod tonebarextrahighmod by uni02E6_uni02E9_uni02E5;
  sub tonebarhighmod tonebarextralowmod tonebarextralowmod by uni02E6_uni02E9_uni02E9;
  sub tonebarhighmod tonebarextralowmod tonebarlowmod by uni02E6_uni02E9_uni02E8;
  sub tonebarmidmod tonebarextrahighmod tonebarhighmod by uni02E7_uni02E5_uni02E6;
  sub tonebarmidmod tonebarextrahighmod tonebarmidmod by uni02E7_uni02E5_uni02E7;
  sub tonebarmidmod tonebarextrahighmod tonebarextrahighmod by uni02E7_uni02E5_uni02E5;
  sub tonebarmidmod tonebarextrahighmod tonebarlowmod by uni02E7_uni02E5_uni02E8;
  sub tonebarmidmod tonebarextrahighmod tonebarextralowmod by uni02E7_uni02E5_uni02E9;
  sub tonebarextrahighmod tonebarextralowmod tonebarhighmod by uni02E5_uni02E9_uni02E6;
  sub tonebarextrahighmod tonebarextralowmod tonebarmidmod by uni02E5_uni02E9_uni02E7;
  sub tonebarextralowmod tonebarmidmod tonebarlowmod by uni02E9_uni02E7_uni02E8;
  sub tonebarextralowmod tonebarmidmod tonebarextralowmod by uni02E9_uni02E7_uni02E9;
  sub tonebarextralowmod tonebarhighmod tonebarextrahighmod by uni02E9_uni02E6_uni02E5;
  sub tonebarextrahighmod tonebarextralowmod tonebarextrahighmod by uni02E5_uni02E9_uni02E5;
  sub tonebarhighmod tonebarextrahighmod tonebarextralowmod by uni02E6_uni02E5_uni02E9;
  sub tonebarhighmod tonebarextrahighmod tonebarlowmod by uni02E6_uni02E5_uni02E8;
  sub tonebarhighmod tonebarmidmod tonebarextrahighmod by uni02E6_uni02E7_uni02E5;
  sub tonebarmidmod tonebarextralowmod tonebarlowmod by uni02E7_uni02E9_uni02E8;
  sub tonebarhighmod tonebarmidmod tonebarmidmod by uni02E6_uni02E7_uni02E7;
  sub tonebarhighmod tonebarmidmod tonebarhighmod by uni02E6_uni02E7_uni02E6;
  sub tonebarhighmod tonebarmidmod tonebarextralowmod by uni02E6_uni02E7_uni02E9;
  sub tonebarhighmod tonebarmidmod tonebarlowmod by uni02E6_uni02E7_uni02E8;
  sub tonebarhighmod tonebarextrahighmod tonebarmidmod by uni02E6_uni02E5_uni02E7;
  sub tonebarhighmod tonebarextrahighmod tonebarhighmod by uni02E6_uni02E5_uni02E6;
  sub tonebarhighmod tonebarextrahighmod tonebarextrahighmod by uni02E6_uni02E5_uni02E5;
  sub tonebarextrahighmod tonebarmidmod by uni02E5_uni02E7;
  sub tonebarextrahighmod tonebarhighmod by uni02E5_uni02E6;
  sub tonebarmidmod tonebarmidmod tonebarextralowmod by uni02E7_uni02E7_uni02E9;
  sub tonebarextrahighmod tonebarextralowmod by uni02E5_uni02E9;
  sub tonebarextrahighmod tonebarlowmod by uni02E5_uni02E8;
  sub tonebarlowmod tonebarmidmod tonebarmidmod by uni02E8_uni02E7_uni02E7;
  sub tonebarlowmod tonebarmidmod tonebarhighmod by uni02E8_uni02E7_uni02E6;
  sub tonebarlowmod tonebarmidmod tonebarextrahighmod by uni02E8_uni02E7_uni02E5;
  sub tonebarlowmod tonebarextrahighmod tonebarextralowmod by uni02E8_uni02E5_uni02E9;
  sub tonebarhighmod tonebarhighmod tonebarextrahighmod by uni02E6_uni02E6_uni02E5;
  sub tonebarhighmod tonebarhighmod tonebarmidmod by uni02E6_uni02E6_uni02E7;
  sub tonebarhighmod tonebarhighmod tonebarlowmod by uni02E6_uni02E6_uni02E8;
  sub tonebarhighmod tonebarhighmod tonebarextralowmod by uni02E6_uni02E6_uni02E9;
  sub tonebarlowmod tonebarextrahighmod tonebarmidmod by uni02E8_uni02E5_uni02E7;
  sub tonebarlowmod tonebarextrahighmod tonebarhighmod by uni02E8_uni02E5_uni02E6;
  sub tonebarlowmod tonebarmidmod tonebarextralowmod by uni02E8_uni02E7_uni02E9;
  sub tonebarextrahighmod tonebarextralowmod tonebarextralowmod by uni02E5_uni02E9_uni02E9;
  sub tonebarextrahighmod tonebarextrahighmod tonebarlowmod by uni02E5_uni02E5_uni02E8;
  sub tonebarextrahighmod tonebarextrahighmod tonebarextralowmod by uni02E5_uni02E5_uni02E9;
  sub tonebarextrahighmod tonebarextrahighmod tonebarhighmod by uni02E5_uni02E5_uni02E6;
  sub tonebarextrahighmod tonebarextrahighmod tonebarmidmod by uni02E5_uni02E5_uni02E7;
  sub tonebarextrahighmod tonebarhighmod tonebarmidmod by uni02E5_uni02E6_uni02E7;
  sub tonebarextrahighmod tonebarhighmod tonebarhighmod by uni02E5_uni02E6_uni02E6;
  sub tonebarextrahighmod tonebarhighmod tonebarextrahighmod by uni02E5_uni02E6_uni02E5;
  sub tonebarextralowmod tonebarhighmod tonebarlowmod by uni02E9_uni02E6_uni02E8;
  sub tonebarextralowmod tonebarhighmod tonebarmidmod by uni02E9_uni02E6_uni02E7;
  sub tonebarextralowmod tonebarhighmod tonebarhighmod by uni02E9_uni02E6_uni02E6;
  sub tonebarextrahighmod tonebarhighmod tonebarextralowmod by uni02E5_uni02E6_uni02E9;
  sub tonebarextrahighmod tonebarhighmod tonebarlowmod by uni02E5_uni02E6_uni02E8;
  sub tonebarlowmod tonebarhighmod by uni02E8_uni02E6;
  sub tonebarlowmod tonebarmidmod by uni02E8_uni02E7;
  sub tonebarlowmod tonebarextrahighmod by uni02E8_uni02E5;
  sub tonebarlowmod tonebarextralowmod by uni02E8_uni02E9;
  sub tonebarlowmod tonebarlowmod tonebarextrahighmod by uni02E8_uni02E8_uni02E5;
  sub tonebarlowmod tonebarhighmod tonebarlowmod by uni02E8_uni02E6_uni02E8;
  sub tonebarlowmod tonebarhighmod tonebarextralowmod by uni02E8_uni02E6_uni02E9;
  sub tonebarlowmod tonebarhighmod tonebarhighmod by uni02E8_uni02E6_uni02E6;
  sub tonebarlowmod tonebarhighmod tonebarmidmod by uni02E8_uni02E6_uni02E7;
  sub tonebarlowmod tonebarhighmod tonebarextrahighmod by uni02E8_uni02E6_uni02E5;
  sub tonebarmidmod tonebarlowmod tonebarmidmod by uni02E7_uni02E8_uni02E7;
  sub tonebarextralowmod tonebarmidmod tonebarmidmod by uni02E9_uni02E7_uni02E7;
  sub tonebarmidmod tonebarlowmod tonebarextrahighmod by uni02E7_uni02E8_uni02E5;
  sub tonebarextralowmod tonebarextrahighmod tonebarmidmod by uni02E9_uni02E5_uni02E7;
  sub tonebarextralowmod tonebarextrahighmod tonebarlowmod by uni02E9_uni02E5_uni02E8;
  sub tonebarextralowmod tonebarextrahighmod tonebarextralowmod by uni02E9_uni02E5_uni02E9;
  sub tonebarmidmod tonebarlowmod tonebarextralowmod by uni02E7_uni02E8_uni02E9;
  sub tonebarmidmod tonebarlowmod tonebarlowmod by uni02E7_uni02E8_uni02E8;
  sub tonebarlowmod tonebarextrahighmod tonebarlowmod by uni02E8_uni02E5_uni02E8;
  sub tonebarlowmod tonebarextrahighmod tonebarextrahighmod by uni02E8_uni02E5_uni02E5;
  sub tonebarmidmod tonebarextralowmod by uni02E7_uni02E9;
  sub tonebarmidmod tonebarlowmod by uni02E7_uni02E8;
  sub tonebarlowmod tonebarextralowmod tonebarmidmod by uni02E8_uni02E9_uni02E7;
  sub tonebarlowmod tonebarextralowmod tonebarhighmod by uni02E8_uni02E9_uni02E6;
  sub tonebarmidmod tonebarextrahighmod by uni02E7_uni02E5;
  sub tonebarlowmod tonebarextralowmod tonebarlowmod by uni02E8_uni02E9_uni02E8;
  sub tonebarextralowmod tonebarextrahighmod tonebarhighmod by uni02E9_uni02E5_uni02E6;
  sub tonebarmidmod tonebarhighmod by uni02E7_uni02E6;
  sub tonebarlowmod tonebarlowmod tonebarmidmod by uni02E8_uni02E8_uni02E7;
  sub tonebarlowmod tonebarmidmod tonebarlowmod by uni02E8_uni02E7_uni02E8;
  sub tonebarmidmod tonebarmidmod tonebarlowmod by uni02E7_uni02E7_uni02E8;
  sub tonebarmidmod tonebarmidmod tonebarextrahighmod by uni02E7_uni02E7_uni02E5;
  sub tonebarmidmod tonebarmidmod tonebarhighmod by uni02E7_uni02E7_uni02E6;
  sub tonebarmidmod tonebarextralowmod tonebarextralowmod by uni02E7_uni02E9_uni02E9;
  sub tonebarmidmod tonebarextralowmod tonebarhighmod by uni02E7_uni02E9_uni02E6;
  sub tonebarmidmod tonebarextralowmod tonebarmidmod by uni02E7_uni02E9_uni02E7;
  sub tonebarmidmod tonebarextralowmod tonebarextrahighmod by uni02E7_uni02E9_uni02E5;
  sub tonebarmidmod tonebarlowmod tonebarhighmod by uni02E7_uni02E8_uni02E6;
  sub tonebarlowmod tonebarlowmod tonebarextralowmod by uni02E8_uni02E8_uni02E9;
  sub tonebarextrahighmod tonebarlowmod tonebarextrahighmod by uni02E5_uni02E8_uni02E5;
  sub tonebarextrahighmod tonebarlowmod tonebarmidmod by uni02E5_uni02E8_uni02E7;
  sub tonebarextrahighmod tonebarlowmod tonebarhighmod by uni02E5_uni02E8_uni02E6;
  sub tonebarhighmod tonebarlowmod tonebarlowmod by uni02E6_uni02E8_uni02E8;
  sub tonebarhighmod tonebarlowmod tonebarextralowmod by uni02E6_uni02E8_uni02E9;
  sub tonebarhighmod tonebarlowmod tonebarhighmod by uni02E6_uni02E8_uni02E6;
  sub tonebarhighmod tonebarlowmod tonebarmidmod by uni02E6_uni02E8_uni02E7;
  sub tonebarhighmod tonebarlowmod tonebarextrahighmod by uni02E6_uni02E8_uni02E5;
  sub tonebarextrahighmod tonebarlowmod tonebarextralowmod by uni02E5_uni02E8_uni02E9;
  sub tonebarextrahighmod tonebarlowmod tonebarlowmod by uni02E5_uni02E8_uni02E8;
  sub tonebarextralowmod tonebarlowmod by uni02E9_uni02E8;
  sub tonebarlowmod tonebarextralowmod tonebarextrahighmod by uni02E8_uni02E9_uni02E5;
  sub tonebarextralowmod tonebarmidmod by uni02E9_uni02E7;
  sub tonebarextralowmod tonebarhighmod by uni02E9_uni02E6;
  sub tonebarextralowmod tonebarextrahighmod by uni02E9_uni02E5;
  sub tonebarextralowmod tonebarlowmod tonebarextralowmod by uni02E9_uni02E8_uni02E9;
  sub tonebarextralowmod tonebarlowmod tonebarlowmod by uni02E9_uni02E8_uni02E8;
  sub tonebarextralowmod tonebarlowmod tonebarextrahighmod by uni02E9_uni02E8_uni02E5;
  sub tonebarextralowmod tonebarlowmod tonebarmidmod by uni02E9_uni02E8_uni02E7;
  sub tonebarextralowmod tonebarlowmod tonebarhighmod by uni02E9_uni02E8_uni02E6;
  sub tonebarlowmod tonebarextralowmod tonebarextralowmod by uni02E8_uni02E9_uni02E9;
  sub tonebarextralowmod tonebarhighmod tonebarextralowmod by uni02E9_uni02E6_uni02E9;
  sub tonebarextralowmod tonebarextralowmod tonebarlowmod by uni02E9_uni02E9_uni02E8;
  sub tonebarmidmod tonebarhighmod tonebarextrahighmod by uni02E7_uni02E6_uni02E5;
  sub tonebarmidmod tonebarhighmod tonebarmidmod by uni02E7_uni02E6_uni02E7;
  sub tonebarmidmod tonebarhighmod tonebarhighmod by uni02E7_uni02E6_uni02E6;
  sub tonebarmidmod tonebarhighmod tonebarextralowmod by uni02E7_uni02E6_uni02E9;
  sub tonebarmidmod tonebarhighmod tonebarlowmod by uni02E7_uni02E6_uni02E8;
  sub tonebarextralowmod tonebarextralowmod tonebarextrahighmod by uni02E9_uni02E9_uni02E5;
  sub tonebarextralowmod tonebarextralowmod tonebarhighmod by uni02E9_uni02E9_uni02E6;
  sub tonebarextralowmod tonebarextralowmod tonebarmidmod by uni02E9_uni02E9_uni02E7;
  sub tonebarhighmod tonebarlowmod by uni02E6_uni02E8;
  sub tonebarhighmod tonebarextralowmod by uni02E6_uni02E9;
  sub tonebarlowmod tonebarlowmod tonebarhighmod by uni02E8_uni02E8_uni02E6;
  sub tonebarhighmod tonebarextrahighmod by uni02E6_uni02E5;
  sub tonebarhighmod tonebarmidmod by uni02E6_uni02E7;
  } ccmp04;

  lookup ccmp05 {

  sub lmidtilde [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub dcroat [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub eng [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w1;
  sub gbar [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w3;
  sub bbar [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub rrthook [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w1;

  sub lmidtilde uni1ABC' by uni1ABC.w2;
  sub dcroat uni1ABC' by uni1ABC.w2;
  sub eng uni1ABC' by uni1ABC.w1;
  sub gbar uni1ABC' by uni1ABC.w3;
  sub bbar uni1ABC' by uni1ABC.w2;
  sub rrthook uni1ABC' by uni1ABC.w1;

  } ccmp05;

  lookup ccmp05a {

  sub lmidtilde uni1ABE.w2 by lmidtilde_uni1ABE;
  sub dcroat uni1ABE.w2 by dcroat_uni1ABE;
  sub eng uni1ABE.w1 by eng_uni1ABE;
  sub gbar uni1ABE.w3 by gbar_uni1ABE;
  sub bbar uni1ABE.w2 by bbar_uni1ABE;
  sub rrthook uni1ABE.w1 by rrthook_uni1ABE;

  } ccmp05a;

} ccmp;


feature locl {
 script latn; language dflt; #set comment (#) for FDK 2.5
 language MOL  exclude_dflt; # Moldavian
  sub [Scedilla scedilla] by [Scommaaccent scommaaccent];
 language ROM  exclude_dflt; # Romanian
  sub [Scedilla scedilla] by [Scommaaccent scommaaccent];
 language FRA  exclude_dflt; # French
  sub [thinspace] by [uni2009.fra];
} locl;


feature liga {
  script latn; language dflt; #set comment (#) for FDK 2.5

  lookup liga02 {
  sub longs t by longst;
  } liga02;

  lookup liga02;
} liga;

feature frac { # Fractions
  # Latin
  lookup frac_1 {
  sub slash by fraction;
  } frac_1;
  lookup frac_2 {
  sub @frac3 @frac1' by @frac4;
  } frac_2;
  lookup frac_3 {
  sub @frac1 by @frac2;
  } frac_3;
} frac;


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


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

@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 case {
  sub @CASE_L by @CASE_R;
} case;

feature calt {
  @UC = [ @UC_ROMAN @UC_SET1 exclam question ];
  @LC = [ @LC_ROMAN @LC_SET1 ];

  sub [ @UC @CASE_R ] @CASE_L' by @CASE_R;
  ignore sub @LC @CASE_NONDELIM_L' @UC;
  sub @CASE_L' [ @CASE_R @UC ] by @CASE_R;
  
  sub @CASE_DELIM_L' @CASE_DELIM_L [ @CASE_R @UC ] by @CASE_DELIM_R;

  # ->, <-
  @ARROW_DASH = [ hyphen endash emdash ];
  @ARROW_DASH_CASE = [ hyphen.case endash.case emdash.case ];
  sub @ARROW_DASH' greater' by arrowrightlong;
  sub @ARROW_DASH_CASE' greater' by arrowrightlong.case;
  ignore sub less' @ARROW_DASH' @NUM;
  ignore sub less' @ARROW_DASH_CASE' @NUM;
  sub less' @ARROW_DASH' by arrowleftlong;
  sub less' @ARROW_DASH_CASE' by arrowleftlong.case;

  sub period' @NUM by period.num;
} calt;

# Stylistic set 1: open digits
feature ss01 {
  sub four by four.1;
  sub six  by six.1;
  sub nine by nine.1;
} ss01;