summaryrefslogtreecommitdiff
path: root/src/features/ccmp.fea
blob: e74b307873c0c60c26e7fbb3498500e610d1acdb (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
@CCMP_ACC = [
  gravecomb acutecomb tildecomb brevetildecomb.cn brevecomb_hookabovecomb
  breveacutecomb.cn circumflextildecomb.cn circumflexhookcomb.cn
  circumflexgravecomb.cn circumflexacutecomb.cn brevegravecomb.cn
  macroncomb dieresismacroncomb.uc dieresisacutecomb.uc
  dieresiscaroncomb.uc dieresisgravecomb.uc dotmacroncomb.uc
  tildeacutecomb.uc macrongravecomb.cn macronacutecomb
  macrondieresiscomb.cn acutedotcomb.cn carondot.lc carondot.uc
  tildemacroncomb.cn tildedieresiscomb.uc circumflexcomb overscorecomb
  brevecomb dotaccentcomb dieresiscomb hookabovecomb ringcomb acutedblcomb caroncomb
  linevertcomb linevertdblcomb dblgravecmb candrabinducomb breveinvcomb
  commaturnsupcomb commaabovecmb commasuprevcomb commaaboverightcmb
  anglesupcomb horncomb xsupcomb tildevertsupcomb overscoredblcomb
  graveleftcomb acuterightcomb perispomenigreekcmb koroniscmb
  diaeresistonoscomb uni0346 uni034A uni034B uni034C arrowheadrightabovecomb uni0351
  uni0352 righthalfringabovecomb dotaboverightcomb uni035B uni1DC0 uni1DC1 uni1DC3
  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
  fourdotsabovecomb
];

# 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 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 i.numr' @CCMP_ACC by uni2071.ccmp;
} ccmp02;

lookup ccmp03 {
  sub d caroncomb by dcaron;
  sub l caroncomb by lcaron;
  sub t caroncomb by tcaron;

  sub A gravecomb by Agrave;
  sub A acutecomb by Aacute;
  sub A circumflexcomb by Acircumflex;
  sub A tildecomb by Atilde;
  sub A dieresiscomb by Adieresis;
  sub A ringcomb by Aring;
  sub A ringacute.uc by Aringacute;
  sub Aogonek ringcomb by Aringogonek;
  sub C cedillacomb by Ccedilla;
  sub E gravecomb by Egrave;
  sub E acutecomb by Eacute;
  sub E circumflexcomb by Ecircumflex;
  sub E dieresiscomb by Edieresis;
  sub I gravecomb by Igrave;
  sub I acutecomb by Iacute;
  sub I circumflexcomb by Icircumflex;
  sub I dieresiscomb by Idieresis;
  sub N tildecomb by Ntilde;
  sub O gravecomb by Ograve;
  sub O acutecomb by Oacute;
  sub O circumflexcomb by Ocircumflex;
  sub O tildecomb by Otilde;
  sub O dieresiscomb by Odieresis;
  sub U gravecomb by Ugrave;
  sub U acutecomb by Uacute;
  sub U circumflexcomb by Ucircumflex;
  sub U dieresiscomb by Udieresis;
  sub Y acutecomb by Yacute;
  sub Y ogonekcomb by Yogonek;
  sub a gravecomb by agrave;
  sub a acutecomb by aacute;
  sub a circumflexcomb by acircumflex;
  sub a tildecomb by atilde;
  sub a dieresiscomb by adieresis;
  sub a ringcomb by aring;
  sub a ringacute.lc by aringacute;
  sub c cedillacomb by ccedilla;
  sub C slashlongcomb by Cstroke;
  sub c slashlongcomb by cstroke;
  sub e gravecomb by egrave;
  sub e acutecomb by eacute;
  sub e circumflexcomb by ecircumflex;
  sub e dieresiscomb by edieresis;
  sub idotless gravecomb by igrave;
  sub idotless acutecomb by iacute;
  sub idotless circumflexcomb by icircumflex;
  sub idotless dieresiscomb by idieresis;
  sub n tildecomb by ntilde;
  sub o gravecomb by ograve;
  sub o acutecomb by oacute;
  sub o circumflexcomb by ocircumflex;
  sub o tildecomb by otilde;
  sub o dieresiscomb by odieresis;
  sub u gravecomb by ugrave;
  sub u acutecomb by uacute;
  sub u circumflexcomb by ucircumflex;
  sub u dieresiscomb by udieresis;
  sub y acutecomb by yacute;
  sub y ogonekcomb by yogonek;
  sub y dieresiscomb by ydieresis;
  sub A macroncomb by Amacron;
  sub a macroncomb by amacron;
  sub A brevecomb by Abreve;
  sub a brevecomb by abreve;
  sub A ogonekcomb by Aogonek;
  sub a ogonekcomb by aogonek;
  sub aogonek ringcomb by aringogonek;
  sub C acutecomb by Cacute;
  sub c acutecomb by cacute;
  sub C circumflexcomb by Ccircumflex;
  sub c circumflexcomb by ccircumflex;
  sub C dotaccentcomb by Cdotaccent;
  sub c dotaccentcomb by cdotaccent;
  sub C caroncomb by Ccaron;
  sub c caroncomb by ccaron;
  sub D caroncomb by Dcaron;
  sub E macroncomb by Emacron;
  sub e macroncomb by emacron;
  sub E brevecomb by Ebreve;
  sub e brevecomb by ebreve;
  sub E dotaccentcomb by Edotaccent;
  sub e dotaccentcomb by edotaccent;
  sub E ogonekcomb by Eogonek;
  sub e ogonekcomb by eogonek;
  sub E caroncomb by Ecaron;
  sub e caroncomb by ecaron;
  sub G circumflexcomb by Gcircumflex;
  sub g circumflexcomb by gcircumflex;
  sub G brevecomb by Gbreve;
  sub g brevecomb by gbreve;
  sub G dotaccentcomb by Gdotaccent;
  sub g dotaccentcomb by gdotaccent;
  sub G commaaccent by Gcommaaccent;
  sub g commaaccentrotate.cn by gcommaaccent;
  sub H circumflexcomb by Hcircumflex;
  sub h circumflexcomb by hcircumflex;
  sub I tildecomb by Itilde;
  sub idotless tildecomb by itilde;
  sub I macroncomb by Imacron;
  sub idotless macroncomb by imacron;
  sub I brevecomb by Ibreve;
  sub idotless brevecomb by ibreve;
  sub I ogonekcomb by Iogonek;
  sub i ogonekcomb by iogonek;
  sub I dotaccentcomb by Idotaccent;
  sub J circumflexcomb by Jcircumflex;
  sub jdotless circumflexcomb 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 dotaccentcomb by Ldot;
  sub l dotaccentcomb by ldot;
  sub L slashlongcomb by Lslash;
  sub l slashlongcomb by lslash;
  sub l.ss02 slashlongcomb by lslash.ss02;
  sub N acutecomb by Nacute;
  sub n acutecomb by nacute;
  sub N commaaccent by Ncommaaccent;
  sub n commaaccent by ncommaaccent;
  sub N caroncomb by Ncaron;
  sub n caroncomb by ncaron;
  sub O macroncomb by Omacron;
  sub o macroncomb by omacron;
  sub O brevecomb by Obreve;
  sub o brevecomb by obreve;
  sub O acutedblcomb by Ohungarumlaut;
  sub o acutedblcomb by ohungarumlaut;
  sub O slashlongcomb by Oslash;
  sub o slashlongcomb by oslash;
  sub R acutecomb by Racute;
  sub r acutecomb by racute;
  sub R commaaccent by Rcommaaccent;
  sub r commaaccent by rcommaaccent;
  sub R caroncomb by Rcaron;
  sub r caroncomb by rcaron;
  sub S acutecomb by Sacute;
  sub s acutecomb by sacute;
  sub S circumflexcomb by Scircumflex;
  sub s circumflexcomb by scircumflex;
  sub S cedillacomb by Scedilla;
  sub s cedillacomb by scedilla;
  sub S commaaccent by Scommaaccent;
  sub s commaaccent by scommaaccent;
  sub S caroncomb by Scaron;
  sub s caroncomb by scaron;
  sub T commaaccent by uni021A;
  sub t commaaccent by tcommaaccent;
  sub T cedillacomb by Tcommaaccent;
  sub t cedillacomb by tcedilla;
  sub T caroncomb by Tcaron;
  sub U tildecomb by Utilde;
  sub u tildecomb by utilde;
  sub U macroncomb by Umacron;
  sub u macroncomb by umacron;
  sub U brevecomb by Ubreve;
  sub u brevecomb by ubreve;
  sub U ringcomb by Uring;
  sub u ringcomb by uring;
  sub U acutedblcomb by Uhungarumlaut;
  sub u acutedblcomb by uhungarumlaut;
  sub U ogonekcomb by Uogonek;
  sub u ogonekcomb by uogonek;
  sub W circumflexcomb by Wcircumflex;
  sub w circumflexcomb by wcircumflex;
  sub Y circumflexcomb by Ycircumflex;
  sub y circumflexcomb by ycircumflex;
  sub Y dieresiscomb by Ydieresis;
  sub Z acutecomb by Zacute;
  sub z acutecomb by zacute;
  sub Z dotaccentcomb by Zdotaccent;
  sub z dotaccentcomb by zdotaccent;
  sub Z caroncomb by Zcaron;
  sub z caroncomb by zcaron;
  sub AE acutecomb by AEacute;
  sub ae acutecomb by aeacute;
  sub Oslash acutecomb by Oslashacute;
  sub oslash acutecomb by oslashacute;
  sub W gravecomb by Wgrave;
  sub w gravecomb by wgrave;
  sub W acutecomb by Wacute;
  sub w acutecomb by wacute;
  sub W dieresiscomb by Wdieresis;
  sub w dieresiscomb by wdieresis;
  sub Y gravecomb by Ygrave;
  sub y gravecomb by ygrave;
  sub jdotless caroncomb by jcaron;
  sub A dotbelow by Adotbelow;
  sub a dotbelow by adotbelow;
  sub A hookabovecomb by Ahookabove;
  sub a hookabovecomb by ahookabove;
  sub A circumflexcomb acutecomb by Acircumflexacute;
  sub a circumflexacutecomb.cn by acircumflexacute;
  sub A circumflexcomb gravecomb by Acircumflexgrave;
  sub a circumflexgravecomb.cn by acircumflexgrave;
  sub A circumflexcomb hookabovecomb by Acircumflexhookabove;
  sub a circumflexhookcomb.cn by acircumflexhookabove;
  sub A circumflexcomb tildecomb by Acircumflextilde;
  sub a circumflextildecomb.cn by acircumflextilde;
  sub A brevecomb acutecomb by Abreveacute;
  sub a breveacutecomb.cn by abreveacute;
  sub A brevecomb gravecomb by Abrevegrave;
  sub a brevegravecomb.cn by abrevegrave;
  sub A brevecomb hookabovecomb by Abrevehookabove;
  sub a brevecomb_hookabovecomb 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 hookabovecomb by Ehookabove;
  sub e hookabovecomb by ehookabove;
  sub E tildecomb by Etilde;
  sub e tildecomb by etilde;
  sub E circumflexcomb acutecomb by Ecircumflexacute;
  sub e circumflexacutecomb.cn by ecircumflexacute;
  sub E circumflexcomb gravecomb by Ecircumflexgrave;
  sub e circumflexgravecomb.cn by ecircumflexgrave;
  sub E circumflexcomb hookabovecomb by Ecircumflexhookabove;
  sub e circumflexhookcomb.cn by ecircumflexhookabove;
  sub E circumflexcomb tildecomb by Ecircumflextilde;
  sub e circumflextildecomb.cn by ecircumflextilde;
  sub I hookabovecomb by Ihookabove;
  sub idotless hookabovecomb by ihookabove;
  sub I dotbelow by Idotbelow;
  sub i dotbelow by idotbelow;
  sub O dotbelow by Odotbelow;
  sub o dotbelow by odotbelow;
  sub O hookabovecomb by Ohookabove;
  sub o hookabovecomb by ohookabove;
  sub O circumflexcomb acutecomb by Ocircumflexacute;
  sub o circumflexacutecomb.cn by ocircumflexacute;
  sub O circumflexcomb gravecomb by Ocircumflexgrave;
  sub o circumflexgravecomb.cn by ocircumflexgrave;
  sub O circumflexcomb hookabovecomb by Ocircumflexhookabove;
  sub o circumflexhookcomb.cn by ocircumflexhookabove;
  sub O circumflexcomb 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 hookabovecomb by Ohornhookabove;
  sub ohorn hookabovecomb 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 hookabovecomb by Uhookabove;
  sub u hookabovecomb by uhookabove;
  sub Uhorn acutecomb by Uhornacute;
  sub uhorn acutecomb by uhornacute;
  sub Uhorn gravecomb by Uhorngrave;
  sub uhorn gravecomb by uhorngrave;
  sub Uhorn hookabovecomb by Uhornhookabove;
  sub uhorn hookabovecomb 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 hookabovecomb by Yhookabove;
  sub y hookabovecomb by yhookabove;
  sub Y tildecomb by Ytilde;
  sub y tildecomb by ytilde;
  sub A caroncomb by Acaron;
  sub a caroncomb by acaron;
  sub I caroncomb by Icaron;
  sub idotless caroncomb by icaron;
  sub O caroncomb by Ocaron;
  sub o caroncomb by ocaron;
  sub U caroncomb by Ucaron;
  sub u caroncomb by ucaron;
  sub U dieresiscomb macroncomb by Udieresismacron;
  sub u dieresismacroncomb.uc by udieresismacron;
  sub U dieresiscomb acutecomb by Udieresisacute;
  sub u dieresisacutecomb.uc by udieresisacute;
  sub U dieresiscomb caroncomb by Udieresiscaron;
  sub u dieresiscaroncomb.uc by udieresiscaron;
  sub U dieresiscomb gravecomb by Udieresisgrave;
  sub u dieresisgravecomb.uc by udieresisgrave;
  sub A dieresiscomb macroncomb by Adieresismacron;
  sub a dieresismacroncomb.uc by adieresismacron;
  sub A dotaccentcomb macroncomb by Adotmacron;
  sub a dotmacroncomb.uc by adotmacron;
  sub AE macroncomb by AEmacron;
  sub ae macroncomb by aemacron;
  sub G caroncomb by Gcaron;
  sub g caroncomb by gcaron;
  sub K caroncomb by Kcaron;
  sub k caroncomb by kcaron;
  sub O ogonekcomb by Oogonek;
  sub o ogonekcomb 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 breveinvcomb by Ainvertedbreve;
  sub a breveinvcomb by ainvertedbreve;
  sub E dblgravecmb by Edblgrave;
  sub e dblgravecmb by edblgrave;
  sub E breveinvcomb by Einvertedbreve;
  sub e breveinvcomb by einvertedbreve;
  sub I dblgravecmb by Idblgrave;
  sub idotless dblgravecmb by idblgrave;
  sub I breveinvcomb by Iinvertedbreve;
  sub idotless breveinvcomb by iinvertedbreve;
  sub O dblgravecmb by Odblgrave;
  sub o dblgravecmb by odblgrave;
  sub O breveinvcomb by Oinvertedbreve;
  sub o breveinvcomb by oinvertedbreve;
  sub R dblgravecmb by Rdblgrave;
  sub r dblgravecmb by rdblgrave;
  sub R breveinvcomb by Rinvertedbreve;
  sub r breveinvcomb by rinvertedbreve;
  sub U dblgravecmb by Udblgrave;
  sub u dblgravecmb by udblgrave;
  sub U breveinvcomb by Uinvertedbreve;
  sub u breveinvcomb by uinvertedbreve;
  sub H caroncomb by uni021E;
  sub h caroncomb by uni021F;
  sub A dotaccentcomb by uni0226;
  sub a dotaccentcomb by adotaccent;
  sub E cedillacomb by uni0228;
  sub e cedillacomb by uni0229;
  sub O dieresiscomb macroncomb by uni022A;
  sub o dieresismacroncomb.uc by uni022B;
  sub O tildecomb macroncomb by uni022C;
  sub o tildemacroncomb.cn by uni022D;
  sub O dotaccentcomb by uni022E;
  sub o dotaccentcomb by uni022F;
  sub O dotaccentcomb macroncomb by uni0230;
  sub o dotmacroncomb.uc by uni0231;
  sub Y macroncomb by uni0232;
  sub y macroncomb by uni0233;
  sub Upsilonhooksymbol acutecomb by Upsilonacutehooksymbolgreek;
  sub Upsilonhooksymbol dieresiscomb by Upsilondieresishooksymbolgreek;
  sub B dotaccentcomb by Bdotaccent;
  sub b dotaccentcomb by bdotaccent;
  sub B dotbelow by Bdotbelow;
  sub b dotbelow by bdotbelow;
  sub B macronsubcomb by Blinebelow;
  sub b macronsubcomb by blinebelow;
  sub D dotaccentcomb by Ddotaccent;
  sub d dotaccentcomb by ddotaccent;
  sub D dotbelow by Ddotbelow;
  sub d dotbelow by ddotbelow;
  sub D macronsubcomb by Dlinebelow;
  sub d macronsubcomb by dlinebelow;
  sub D commaaccent by Dcedilla;
  sub d commaaccent by dcedilla;
  sub D circumflexsubcomb by Dcircumflexbelow;
  sub d circumflexsubcomb by dcircumflexbelow;
  sub E macroncomb gravecomb by Emacrongrave;
  sub e macrongravecomb.cn by emacrongrave;
  sub E macroncomb acutecomb by Emacronacute;
  sub e macronacutecomb.cn by emacronacute;
  sub E circumflexsubcomb by Ecircumflexbelow;
  sub e circumflexsubcomb by ecircumflexbelow;
  sub E tildesubcomb by Etildebelow;
  sub e tildesubcomb by etildebelow;
  sub F dotaccentcomb by Fdotaccent;
  sub f dotaccentcomb by fdotaccent;
  sub G macroncomb by Gmacron;
  sub g macroncomb by gmacron;
  sub H dotaccentcomb by Hdotaccent;
  sub h dotaccentcomb by hdotaccent;
  sub H dotbelow by Hdotbelow;
  sub h dotbelow by hdotbelow;
  sub H dieresiscomb by Hdieresis;
  sub h dieresiscomb by hdieresis;
  sub H brevesubcomb by Hbrevebelow;
  sub h brevesubcomb by hbrevebelow;
  sub I tildesubcomb by Itildebelow;
  sub i tildesubcomb by itildebelow;
  sub I dieresiscomb acutecomb by Idieresisacute;
  sub idotless dieresisacutecomb.uc by idieresisacute;
  sub K acutecomb by Kacute;
  sub k acutecomb by kacute;
  sub K dotbelow by Kdotbelow;
  sub k dotbelow by kdotbelow;
  sub K macronsubcomb by Klinebelow;
  sub k macronsubcomb by klinebelow;
  sub L dotbelow by Ldotbelow;
  sub l dotbelow by ldotbelow;
  sub L macronsubcomb by Llinebelow;
  sub l macronsubcomb by llinebelow;
  sub L circumflexsubcomb by Lcircumflexbelow;
  sub l circumflexsubcomb by lcircumflexbelow;
  sub M acutecomb by Macute;
  sub m acutecomb by macute;
  sub M dotaccentcomb by Mdotaccent;
  sub m dotaccentcomb by mdotaccent;
  sub M dotbelow by Mdotbelow;
  sub m dotbelow by mdotbelow;
  sub N dotaccentcomb by Ndotaccent;
  sub n dotaccentcomb by ndotaccent;
  sub N dotbelow by Ndotbelow;
  sub n dotbelow by ndotbelow;
  sub N macronsubcomb by Nlinebelow;
  sub n macronsubcomb by nlinebelow;
  sub N circumflexsubcomb by Ncircumflexbelow;
  sub n circumflexsubcomb by ncircumflexbelow;
  sub O tildecomb acutecomb by Otildeacute;
  sub o tildeacutecomb.uc by otildeacute;
  sub O tildecomb dieresiscomb by Otildedieresis;
  sub o tildedieresiscomb.uc by otildedieresis;
  sub O macroncomb gravecomb by Omacrongrave;
  sub o macrongravecomb.cn by omacrongrave;
  sub O macroncomb acutecomb by Omacronacute;
  sub o macronacutecomb.cn by omacronacute;
  sub P acutecomb by Pacute;
  sub p acutecomb by pacute;
  sub P dotaccentcomb by Pdotaccent;
  sub p dotaccentcomb by pdotaccent;
  sub R dotaccentcomb by Rdotaccent;
  sub r dotaccentcomb by rdotaccent;
  sub R dotbelow by Rdotbelow;
  sub r dotbelow by rdotbelow;
  sub R macronsubcomb by Rlinebelow;
  sub r macronsubcomb by rlinebelow;
  sub S dotaccentcomb by Sdotaccent;
  sub s dotaccentcomb by sdotaccent;
  sub S dotbelow by Sdotbelow;
  sub s dotbelow by sdotbelow;
  sub S acutecomb dotaccentcomb by Sacutedotaccent;
  sub s acutedotcomb.cn by sacutedotaccent;
  sub S carondot.uc by Scarondotaccent;
  sub S caroncomb dotaccentcomb by Scarondotaccent;
  sub s carondot.lc by scarondotaccent;
  sub T dotaccentcomb by Tdotaccent;
  sub t dotaccentcomb by tdotaccent;
  sub T dotbelow by Tdotbelow;
  sub t dotbelow by tdotbelow;
  sub T macronsubcomb by Tlinebelow;
  sub t macronsubcomb by tlinebelow;
  sub T circumflexsubcomb by Tcircumflexbelow;
  sub t circumflexsubcomb by tcircumflexbelow;
  sub U dotdblsubcomb by Udieresisbelow;
  sub u dotdblsubcomb by udieresisbelow;
  sub U tildesubcomb by Utildebelow;
  sub u tildesubcomb by utildebelow;
  sub U circumflexsubcomb by Ucircumflexbelow;
  sub u circumflexsubcomb by ucircumflexbelow;
  sub U tildecomb acutecomb by Utildeacute;
  sub u tildeacutecomb.uc by utildeacute;
  sub U macroncomb dieresiscomb 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 dotaccentcomb by Wdotaccent;
  sub w dotaccentcomb by wdotaccent;
  sub W dotbelow by Wdotbelow;
  sub w dotbelow by wdotbelow;
  sub X dotaccentcomb by Xdotaccent;
  sub x dotaccentcomb by xdotaccent;
  sub X dieresiscomb by Xdieresis;
  sub x dieresiscomb by xdieresis;
  sub Y dotaccentcomb by Ydotaccent;
  sub y dotaccentcomb by ydotaccent;
  sub Z circumflexcomb by Zcircumflex;
  sub z circumflexcomb by zcircumflex;
  sub Z dotbelow by Zdotbelow;
  sub z dotbelow by zdotbelow;
  sub Z macronsubcomb by Zlinebelow;
  sub z macronsubcomb by zlinebelow;
  sub h macronsubcomb by hlinebelow;
  sub t dieresiscomb by tdieresis;
  sub w ringcomb by wring;
  sub y ringcomb by yring;
  sub longs dotaccentcomb by slongdotaccent;
  sub A ringsubcomb by Aringbelow;
  sub a ringsubcomb by aringbelow;
  sub zero slashlongcomb by zero.slash;
  sub zero.tf slashlongcomb by zero.tf.slash;
} ccmp03;

# * enclosingsquarecomb -> composite
sub A' enclosingsquarecomb' by A.squared;
sub B enclosingsquarecomb by B.squared;
sub C enclosingsquarecomb by C.squared;
sub D enclosingsquarecomb by D.squared;
sub E enclosingsquarecomb by E.squared;
sub F enclosingsquarecomb by F.squared;
sub G enclosingsquarecomb by G.squared;
sub H enclosingsquarecomb by H.squared;
sub I enclosingsquarecomb by I.squared;
sub J enclosingsquarecomb by J.squared;
sub K enclosingsquarecomb by K.squared;
sub L enclosingsquarecomb by L.squared;
sub M enclosingsquarecomb by M.squared;
sub N enclosingsquarecomb by N.squared;
sub O enclosingsquarecomb by O.squared;
sub P enclosingsquarecomb by P.squared;
sub Q enclosingsquarecomb by Q.squared;
sub R enclosingsquarecomb by R.squared;
sub S enclosingsquarecomb by S.squared;
sub T enclosingsquarecomb by T.squared;
sub U enclosingsquarecomb by U.squared;
sub V enclosingsquarecomb by V.squared;
sub W enclosingsquarecomb by W.squared;
sub X enclosingsquarecomb by X.squared;
sub Y enclosingsquarecomb by Y.squared;
sub Z enclosingsquarecomb by Z.squared;
sub zero enclosingsquarecomb by zero.squared;
sub one enclosingsquarecomb by one.squared;
sub two enclosingsquarecomb by two.squared;
sub three enclosingsquarecomb by three.squared;
sub four enclosingsquarecomb by four.squared;
sub five enclosingsquarecomb by five.squared;
sub six enclosingsquarecomb by six.squared;
sub seven enclosingsquarecomb by seven.squared;
sub eight enclosingsquarecomb by eight.squared;
sub nine enclosingsquarecomb by nine.squared;
sub zero.slash enclosingsquarecomb by zero.slash.squared;
sub one.ss01 enclosingsquarecomb by one.ss01.squared;
sub three.1 enclosingsquarecomb by three.1.squared;
sub four.ss01 enclosingsquarecomb by four.ss01.squared;
sub six.ss01 enclosingsquarecomb by six.ss01.squared;
sub nine.ss01 enclosingsquarecomb by nine.ss01.squared;
sub exclam enclosingsquarecomb by exclam.squared;
sub question enclosingsquarecomb by question.squared;
sub numbersign enclosingsquarecomb by numbersign.squared;
sub hyphen enclosingsquarecomb by hyphen.squared;
sub less enclosingsquarecomb by less.squared;
sub greater enclosingsquarecomb by greater.squared;
sub equal enclosingsquarecomb by equal.squared;
sub plus enclosingsquarecomb by plus.squared;
sub minus enclosingsquarecomb by minus.squared;
sub multiply enclosingsquarecomb by multiply.squared;
sub [ fraction slash ] enclosingsquarecomb by fraction.squared;
sub divide enclosingsquarecomb by divide.squared;
sub upArrow enclosingsquarecomb by upArrow.squared;
sub downArrow enclosingsquarecomb by downArrow.squared;
sub downArrowToBar enclosingsquarecomb by downArrowToBar.squared;
sub leftArrow enclosingsquarecomb by leftArrow.squared;
sub rightArrow enclosingsquarecomb by rightArrow.squared;
sub dngb_check enclosingsquarecomb by dngb_check.squared;
sub dngb_ballotx enclosingsquarecomb by dngb_ballotx.squared;

# * enclosingcirclecomb -> composite
sub A' enclosingcirclecomb' by A.circled;
sub B enclosingcirclecomb by B.circled;
sub C enclosingcirclecomb by C.circled;
sub D enclosingcirclecomb by D.circled;
sub E enclosingcirclecomb by E.circled;
sub F enclosingcirclecomb by F.circled;
sub G enclosingcirclecomb by G.circled;
sub H enclosingcirclecomb by H.circled;
sub I enclosingcirclecomb by I.circled;
sub J enclosingcirclecomb by J.circled;
sub K enclosingcirclecomb by K.circled;
sub L enclosingcirclecomb by L.circled;
sub M enclosingcirclecomb by M.circled;
sub N enclosingcirclecomb by N.circled;
sub O enclosingcirclecomb by O.circled;
sub P enclosingcirclecomb by P.circled;
sub Q enclosingcirclecomb by Q.circled;
sub R enclosingcirclecomb by R.circled;
sub S enclosingcirclecomb by S.circled;
sub T enclosingcirclecomb by T.circled;
sub U enclosingcirclecomb by U.circled;
sub V enclosingcirclecomb by V.circled;
sub W enclosingcirclecomb by W.circled;
sub X enclosingcirclecomb by X.circled;
sub Y enclosingcirclecomb by Y.circled;
sub Z enclosingcirclecomb by Z.circled;
sub zero enclosingcirclecomb by zero.circled;
sub one enclosingcirclecomb by one.circled;
sub two enclosingcirclecomb by two.circled;
sub three enclosingcirclecomb by three.circled;
sub four enclosingcirclecomb by four.circled;
sub five enclosingcirclecomb by five.circled;
sub six enclosingcirclecomb by six.circled;
sub seven enclosingcirclecomb by seven.circled;
sub eight enclosingcirclecomb by eight.circled;
sub nine enclosingcirclecomb by nine.circled;
sub zero.slash enclosingcirclecomb by zero.slash.circled;
sub one.ss01 enclosingcirclecomb by one.ss01.circled;
sub three.1 enclosingcirclecomb by three.1.circled;
sub four.ss01 enclosingcirclecomb by four.ss01.circled;
sub six.ss01 enclosingcirclecomb by six.ss01.circled;
sub nine.ss01 enclosingcirclecomb by nine.ss01.circled;
sub exclam enclosingcirclecomb by exclam.circled;
sub question enclosingcirclecomb by question.circled;
sub numbersign enclosingcirclecomb by numbersign.circled;
sub hyphen enclosingcirclecomb by hyphen.circled;
sub less enclosingcirclecomb by less.circled;
sub greater enclosingcirclecomb by greater.circled;
sub equal enclosingcirclecomb by equal.circled;
sub plus enclosingcirclecomb by plus.circled;
sub minus enclosingcirclecomb by minus.circled;
sub multiply enclosingcirclecomb by multiply.circled;
sub [ fraction slash ] enclosingcirclecomb by fraction.circled;
sub divide enclosingcirclecomb by divide.circled;
sub upArrow enclosingcirclecomb by upArrow.circled;
sub downArrow enclosingcirclecomb by downArrow.circled;
sub downArrowToBar enclosingcirclecomb by downArrowToBar.circled;
sub leftArrow enclosingcirclecomb by leftArrow.circled;
sub rightArrow enclosingcirclecomb by rightArrow.circled;
sub dngb_check enclosingcirclecomb by dngb_check.circled;
sub dngb_ballotx enclosingcirclecomb by dngb_ballotx.circled;