1 /*
2 Copyright: 2012 Barry Schwartz, create is_Ligature.c to test for vulgar fracs
3 Copyright: 2016 Joe Da Silva, re-write is_Ligature.c for ligs, vulg, and frac
4 Copyright: 2016 Gioele Barabucci, Simplify code and create is_Ligature_data.h
5 License: BSD-3-clause
6 Contributions:
7 */
8 
9 #ifndef FONTFORGE_IS_LIGATURE_DATA_H
10 #define FONTFORGE_IS_LIGATURE_DATA_H
11 
12 /* This file was generated using the program 'makeutype' for Unicode_version 12.1 */
13 
14 /* unicode.org codepoints for ligatures, vulgar fractions, other fractions */
15 
16 static const uint16 ligature16[] = {
17   0x0132, 0x0133, 0x0152, 0x0153, 0x04a4, 0x04a5, 0x04b4, 0x04b5,
18   0x04d4, 0x04d5, 0x0587, 0x05f0, 0x05f1, 0x05f2, 0x0616, 0x06d6,
19   0x06d7, 0xa7f9, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04, 0xfb05,
20   0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17, 0xfb1f, 0xfb4f,
21   0xfbea, 0xfbeb, 0xfbec, 0xfbed, 0xfbee, 0xfbef, 0xfbf0, 0xfbf1,
22   0xfbf2, 0xfbf3, 0xfbf4, 0xfbf5, 0xfbf6, 0xfbf7, 0xfbf8, 0xfbf9,
23   0xfbfa, 0xfbfb, 0xfc00, 0xfc01, 0xfc02, 0xfc03, 0xfc04, 0xfc05,
24   0xfc06, 0xfc07, 0xfc08, 0xfc09, 0xfc0a, 0xfc0b, 0xfc0c, 0xfc0d,
25   0xfc0e, 0xfc0f, 0xfc10, 0xfc11, 0xfc12, 0xfc13, 0xfc14, 0xfc15,
26   0xfc16, 0xfc17, 0xfc18, 0xfc19, 0xfc1a, 0xfc1b, 0xfc1c, 0xfc1d,
27   0xfc1e, 0xfc1f, 0xfc20, 0xfc21, 0xfc22, 0xfc23, 0xfc24, 0xfc25,
28   0xfc26, 0xfc27, 0xfc28, 0xfc29, 0xfc2a, 0xfc2b, 0xfc2c, 0xfc2d,
29   0xfc2e, 0xfc2f, 0xfc30, 0xfc31, 0xfc32, 0xfc33, 0xfc34, 0xfc35,
30   0xfc36, 0xfc37, 0xfc38, 0xfc39, 0xfc3a, 0xfc3b, 0xfc3c, 0xfc3d,
31   0xfc3e, 0xfc3f, 0xfc40, 0xfc41, 0xfc42, 0xfc43, 0xfc44, 0xfc45,
32   0xfc46, 0xfc47, 0xfc48, 0xfc49, 0xfc4a, 0xfc4b, 0xfc4c, 0xfc4d,
33   0xfc4e, 0xfc4f, 0xfc50, 0xfc51, 0xfc52, 0xfc53, 0xfc54, 0xfc55,
34   0xfc56, 0xfc57, 0xfc58, 0xfc59, 0xfc5a, 0xfc5b, 0xfc5c, 0xfc5d,
35   0xfc5e, 0xfc5f, 0xfc60, 0xfc61, 0xfc62, 0xfc63, 0xfc64, 0xfc65,
36   0xfc66, 0xfc67, 0xfc68, 0xfc69, 0xfc6a, 0xfc6b, 0xfc6c, 0xfc6d,
37   0xfc6e, 0xfc6f, 0xfc70, 0xfc71, 0xfc72, 0xfc73, 0xfc74, 0xfc75,
38   0xfc76, 0xfc77, 0xfc78, 0xfc79, 0xfc7a, 0xfc7b, 0xfc7c, 0xfc7d,
39   0xfc7e, 0xfc7f, 0xfc80, 0xfc81, 0xfc82, 0xfc83, 0xfc84, 0xfc85,
40   0xfc86, 0xfc87, 0xfc88, 0xfc89, 0xfc8a, 0xfc8b, 0xfc8c, 0xfc8d,
41   0xfc8e, 0xfc8f, 0xfc90, 0xfc91, 0xfc92, 0xfc93, 0xfc94, 0xfc95,
42   0xfc96, 0xfc97, 0xfc98, 0xfc99, 0xfc9a, 0xfc9b, 0xfc9c, 0xfc9d,
43   0xfc9e, 0xfc9f, 0xfca0, 0xfca1, 0xfca2, 0xfca3, 0xfca4, 0xfca5,
44   0xfca6, 0xfca7, 0xfca8, 0xfca9, 0xfcaa, 0xfcab, 0xfcac, 0xfcad,
45   0xfcae, 0xfcaf, 0xfcb0, 0xfcb1, 0xfcb2, 0xfcb3, 0xfcb4, 0xfcb5,
46   0xfcb6, 0xfcb7, 0xfcb8, 0xfcb9, 0xfcba, 0xfcbb, 0xfcbc, 0xfcbd,
47   0xfcbe, 0xfcbf, 0xfcc0, 0xfcc1, 0xfcc2, 0xfcc3, 0xfcc4, 0xfcc5,
48   0xfcc6, 0xfcc7, 0xfcc8, 0xfcc9, 0xfcca, 0xfccb, 0xfccc, 0xfccd,
49   0xfcce, 0xfccf, 0xfcd0, 0xfcd1, 0xfcd2, 0xfcd3, 0xfcd4, 0xfcd5,
50   0xfcd6, 0xfcd7, 0xfcd8, 0xfcd9, 0xfcda, 0xfcdb, 0xfcdc, 0xfcdd,
51   0xfcde, 0xfcdf, 0xfce0, 0xfce1, 0xfce2, 0xfce3, 0xfce4, 0xfce5,
52   0xfce6, 0xfce7, 0xfce8, 0xfce9, 0xfcea, 0xfceb, 0xfcec, 0xfced,
53   0xfcee, 0xfcef, 0xfcf0, 0xfcf1, 0xfcf2, 0xfcf3, 0xfcf4, 0xfcf5,
54   0xfcf6, 0xfcf7, 0xfcf8, 0xfcf9, 0xfcfa, 0xfcfb, 0xfcfc, 0xfcfd,
55   0xfcfe, 0xfcff, 0xfd00, 0xfd01, 0xfd02, 0xfd03, 0xfd04, 0xfd05,
56   0xfd06, 0xfd07, 0xfd08, 0xfd09, 0xfd0a, 0xfd0b, 0xfd0c, 0xfd0d,
57   0xfd0e, 0xfd0f, 0xfd10, 0xfd11, 0xfd12, 0xfd13, 0xfd14, 0xfd15,
58   0xfd16, 0xfd17, 0xfd18, 0xfd19, 0xfd1a, 0xfd1b, 0xfd1c, 0xfd1d,
59   0xfd1e, 0xfd1f, 0xfd20, 0xfd21, 0xfd22, 0xfd23, 0xfd24, 0xfd25,
60   0xfd26, 0xfd27, 0xfd28, 0xfd29, 0xfd2a, 0xfd2b, 0xfd2c, 0xfd2d,
61   0xfd2e, 0xfd2f, 0xfd30, 0xfd31, 0xfd32, 0xfd33, 0xfd34, 0xfd35,
62   0xfd36, 0xfd37, 0xfd38, 0xfd39, 0xfd3a, 0xfd3b, 0xfd3c, 0xfd3d,
63   0xfd50, 0xfd51, 0xfd52, 0xfd53, 0xfd54, 0xfd55, 0xfd56, 0xfd57,
64   0xfd58, 0xfd59, 0xfd5a, 0xfd5b, 0xfd5c, 0xfd5d, 0xfd5e, 0xfd5f,
65   0xfd60, 0xfd61, 0xfd62, 0xfd63, 0xfd64, 0xfd65, 0xfd66, 0xfd67,
66   0xfd68, 0xfd69, 0xfd6a, 0xfd6b, 0xfd6c, 0xfd6d, 0xfd6e, 0xfd6f,
67   0xfd70, 0xfd71, 0xfd72, 0xfd73, 0xfd74, 0xfd75, 0xfd76, 0xfd77,
68   0xfd78, 0xfd79, 0xfd7a, 0xfd7b, 0xfd7c, 0xfd7d, 0xfd7e, 0xfd7f,
69   0xfd80, 0xfd81, 0xfd82, 0xfd83, 0xfd84, 0xfd85, 0xfd86, 0xfd87,
70   0xfd88, 0xfd89, 0xfd8a, 0xfd8b, 0xfd8c, 0xfd8d, 0xfd8e, 0xfd8f,
71   0xfd92, 0xfd93, 0xfd94, 0xfd95, 0xfd96, 0xfd97, 0xfd98, 0xfd99,
72   0xfd9a, 0xfd9b, 0xfd9c, 0xfd9d, 0xfd9e, 0xfd9f, 0xfda0, 0xfda1,
73   0xfda2, 0xfda3, 0xfda4, 0xfda5, 0xfda6, 0xfda7, 0xfda8, 0xfda9,
74   0xfdaa, 0xfdab, 0xfdac, 0xfdad, 0xfdae, 0xfdaf, 0xfdb0, 0xfdb1,
75   0xfdb2, 0xfdb3, 0xfdb4, 0xfdb5, 0xfdb6, 0xfdb7, 0xfdb8, 0xfdb9,
76   0xfdba, 0xfdbb, 0xfdbc, 0xfdbd, 0xfdbe, 0xfdbf, 0xfdc0, 0xfdc1,
77   0xfdc2, 0xfdc3, 0xfdc4, 0xfdc5, 0xfdc6, 0xfdc7, 0xfdf0, 0xfdf1,
78   0xfdf2, 0xfdf3, 0xfdf4, 0xfdf5, 0xfdf6, 0xfdf7, 0xfdf8, 0xfdf9,
79   0xfdfa, 0xfdfb, 0xfdfd, 0xfe20, 0xfe21, 0xfe27, 0xfe28, 0xfef5,
80   0xfef6, 0xfef7, 0xfef8, 0xfef9, 0xfefa, 0xfefb, 0xfefc
81 };
82 
83 static const uint32 ligature32[] = {
84   0x00010f27, 0x00010ff6, 0x00011176
85 };
86 
87 #define FF_ligatureTOTAL16	511
88 #define FF_ligatureTOTAL32	3
89 #define FF_ligatureTOTAL	514
90 #define FF_ligature16FIRST	0x0132
91 #define FF_ligature16LAST	0xfefc
92 #define FF_ligature32FIRST	0x00010f27
93 #define FF_ligature32LAST	0x00011176
94 
95 static const uint16 vulgfrac16[] = {
96   0x00bc, 0x00bd, 0x00be, 0x2150, 0x2151, 0x2152, 0x2153, 0x2154,
97   0x2155, 0x2156, 0x2157, 0x2158, 0x2159, 0x215a, 0x215b, 0x215c,
98   0x215d, 0x215e, 0x2189
99 };
100 
101 static const uint32 vulgfrac32[] = {
102 };
103 
104 #define FF_vulgfracTOTAL16	19
105 #define FF_vulgfracTOTAL32	0
106 #define FF_vulgfracTOTAL	19
107 #define FF_vulgfrac16FIRST	0x00bc
108 #define FF_vulgfrac16LAST	0x2189
109 #define FF_vulgfrac32FIRST	0x0000218a
110 #define FF_vulgfrac32LAST	0x00002189
111 
112 static const uint16 fraction16[] = {
113   0x0b72, 0x0b73, 0x0b74, 0x0b75, 0x0b76, 0x0b77, 0x0c78, 0x0c79,
114   0x0c7a, 0x0c7b, 0x0c7c, 0x0c7d, 0x0c7e, 0x0d58, 0x0d59, 0x0d5a,
115   0x0d5b, 0x0d5c, 0x0d5d, 0x0d5e, 0x0d73, 0x0d74, 0x0d75, 0x0d76,
116   0x0d77, 0x0d78, 0x215f, 0x2cfd, 0xa830, 0xa831, 0xa832, 0xa833,
117   0xa834, 0xa835
118 };
119 
120 static const uint32 fraction32[] = {
121   0x000109bc, 0x000109bd, 0x000109f6, 0x000109f7,
122   0x000109f8, 0x000109f9, 0x000109fa, 0x000109fb,
123   0x000109fc, 0x000109fd, 0x000109fe, 0x000109ff,
124   0x00010a48, 0x00010e7b, 0x00010e7c, 0x00010e7d,
125   0x00010e7e, 0x00010f26, 0x00011fc0, 0x00011fc1,
126   0x00011fc2, 0x00011fc3, 0x00011fc4, 0x00011fc5,
127   0x00011fc6, 0x00011fc7, 0x00011fc8, 0x00011fc9,
128   0x00011fca, 0x00011fcb, 0x00011fcc, 0x00011fcd,
129   0x00011fce, 0x00011fcf, 0x00011fd0, 0x00011fd1,
130   0x00011fd2, 0x00011fd3, 0x00011fd4, 0x0001ecad,
131   0x0001ecae, 0x0001ecaf, 0x0001ed3c, 0x0001ed3d
132 };
133 
134 #define FF_fractionTOTAL16	34
135 #define FF_fractionTOTAL32	44
136 #define FF_fractionTOTAL	78
137 #define FF_fraction16FIRST	0x0b72
138 #define FF_fraction16LAST	0xa835
139 #define FF_fraction32FIRST	0x000109bc
140 #define FF_fraction32LAST	0x0001ed3d
141 
142 static const uint8 ligatureAltI[] = {
143   0x83, 0x83, 0x83, 0x83, 0x00, 0x01, 0x02, 0x03,
144   0x04, 0x05, 0x83, 0x83, 0x83, 0x83, 0x06, 0x07,
145   0x08, 0x81, 0x83, 0x83, 0x83, 0x87, 0x87, 0x83,
146   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
147   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
148   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
149   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
150   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
151   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
152   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
153   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
154   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
155   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
156   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
157   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
158   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
159   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
160   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
161   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x83, 0x83,
162   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
163   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
164   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
165   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
166   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
167   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
168   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
169   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
170   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
171   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
172   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
173   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
174   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
175   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
176   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
177   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
178   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
179   0x83, 0x83, 0x83, 0x83, 0x87, 0x87, 0x87, 0x83,
180   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
181   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
182   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
183   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
184   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
185   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
186   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
187   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
188   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
189   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
190   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
191   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
192   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
193   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
194   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
195   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
196   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
197   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
198   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
199   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
200   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
201   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
202   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
203   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
204   0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x87,
205   0x09, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x83,
206   0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x80,
207   0x0a, 0x80
208 };
209 
210 static const uint16 ligatureAlt16[] = {
211   /* U04a4 */	0x041d, 0x0413,
212   /* U04a5 */	0x043d, 0x0433,
213   /* U04b4 */	0x0422, 0x0426,
214   /* U04b5 */	0x0442, 0x0446,
215   /* U04d4 */	0x0410, 0x0415,
216   /* U04d5 */	0x0430, 0x0435,
217   /* U0616 */	0x0627, 0x0644, 0x064a,
218   /* U06d6 */	0x0635, 0x0644, 0x0649,
219   /* U06d7 */	0x0642, 0x0644, 0x0649,
220   /* Ufdfa */	0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064a, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645
221 };
222 
223 static const uint8 ligatureAltIs[] = {
224   0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0f,
225   0x12, 0x15, 0x27
226 };
227 
228 static const int32 ligatureAlt32[] = {
229 };
230 
231 static const uint8 ligatureAltIl[] = {
232   0x00, 0x02
233 };
234 
235 #define FF_ligatureTIS	10
236 #define FF_ligatureTIL	1
237 
238 static const uint8 vulgfracAltI[] = {
239   0x87, 0x87, 0x87, 0x87, 0x87, 0x8f, 0x87, 0x87,
240   0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
241   0x87, 0x87, 0x87
242 };
243 
244 static const uint16 vulgfracAlt16[] = {
245 };
246 
247 static const uint8 vulgfracAltIs[] = {
248 };
249 
250 static const int32 vulgfracAlt32[] = {
251 };
252 
253 static const uint8 vulgfracAltIl[] = {
254 };
255 
256 #define FF_vulgfracTIS	0
257 #define FF_vulgfracTIL	0
258 
259 static const uint8 fractionAltI[] = {
260   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
261   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
262   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
263   0x80, 0x80, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80,
264   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
265   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
266   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
267   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
268   0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
269   0x80, 0x80, 0x80, 0x80, 0x80, 0x80
270 };
271 
272 static const uint16 fractionAlt16[] = {
273 };
274 
275 static const uint8 fractionAltIs[] = {
276 };
277 
278 static const int32 fractionAlt32[] = {
279 };
280 
281 static const uint8 fractionAltIl[] = {
282 };
283 
284 #define FF_fractionTIS	0
285 #define FF_fractionTIL	0
286 
287 #endif /* FONTFORGE_IS_LIGATURE_DATA_H */
288