blob: bd49a3eeed7bc191f1786abedd7af232da686ca4 (
plain) (
blame)
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
|
languagesystem DFLT dflt;
languagesystem latn dflt;
@full = [ \a - \z ];
@upper = [ \A - \Z ];
@hfhz = [ \a.hfhz - \z.hfhz ];
@hfvt = [ \a.hfvt - \z.hfvt ];
@qrtr = [ \a.qrtr - \z.qrtr ];
@all = [ @full @hfhz @hfvt @qrtr space space.hfhz space.hfvt space.qrtr ];
# GSUB
lookup full2qrtr {
sub [@full space] by [@qrtr space.qrtr];
} full2qrtr;
lookup full2hfvt {
sub [@full space] by [@hfvt space.hfvt];
} full2hfvt;
lookup full2hfhz {
sub [@full space] by [@hfhz space.hfhz];
} full2hfhz;
feature calt {
# the script is unicameral, so map caps to lowercase to simplify substitutions
lookup up2lo {
sub @upper by @full;
} up2lo;
lookup blocksub {
sub @full' lookup full2qrtr
@full' lookup full2qrtr
@full' lookup full2qrtr
[@full space]' lookup full2qrtr;
sub @full' lookup full2qrtr
@full' lookup full2qrtr
[@full space]' lookup full2hfvt;
sub @full' lookup full2hfvt
[@full space]' lookup full2hfvt;
} blocksub;
} calt;
# GPOS
lookup qrtr1 {
pos @qrtr <300 300 0 0>;
} qrtr1;
lookup qrtr2 {
pos @qrtr <0 0 0 0>;
} qrtr2;
lookup qrtr3 {
pos @qrtr <-600 0 -300 0>;
} qrtr3;
lookup qrtr4 {
pos [@qrtr space.qrtr] <-600 300 -300 0>;
} qrtr4;
lookup hfvt1 {
pos [@hfvt space.hfvt] <-600 0 -300 0>;
} hfvt1;
lookup hfvt2 {
pos @hfvt <300 0 0 0>;
} hfvt2;
lookup hfvt3 {
pos [@hfvt space.hfvt] <-300 0 0 0>;
} hfvt3;
feature kern {
lookup blockpos {
pos @qrtr' lookup qrtr1
@qrtr' lookup qrtr2
@qrtr' lookup qrtr3
[@qrtr space.qrtr]' lookup qrtr4;
pos @qrtr' lookup qrtr1
@qrtr' lookup qrtr2
[@hfvt space.hfvt]' lookup hfvt1;
pos @hfvt' lookup hfvt2
[@hfvt space.hfvt]' lookup hfvt3;
} blockpos;
} kern;
#Mark attachment classes (defined in GDEF, used in lookupflags)
@GDEF_Simple = [
\A -\Z \a - \z
\a.hfvt - \z.hfvt
\a.hfhz - \z.hfhz
\a.qrtr - \z.qrtr
\space \space.hfvt \space.hfhz \space.qrtr
];
table GDEF {
GlyphClassDef @GDEF_Simple, , , ;
} GDEF;
|