"Fossies" - the Fresh Open Source Software Archive 
Member "SDL2_ttf-2.20.2/external/freetype/src/autofit/afscript.h" (25 May 2022, 11464 Bytes) of package /linux/misc/SDL2_ttf-2.20.2.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "afscript.h" see the
Fossies "Dox" file reference documentation.
1 /****************************************************************************
2 *
3 * afscript.h
4 *
5 * Auto-fitter scripts (specification only).
6 *
7 * Copyright (C) 2013-2022 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19 /* The following part can be included multiple times. */
20 /* Define `SCRIPT' as needed. */
21
22
23 /* Add new scripts here. The first and second arguments are the */
24 /* script name in lowercase and uppercase, respectively, followed */
25 /* by a description string. Then comes the corresponding HarfBuzz */
26 /* script name tag, followed by a string of standard characters (to */
27 /* derive the standard width and height of stems). */
28 /* */
29 /* Note that fallback scripts only have a default style, thus we */
30 /* use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for */
31 /* them. */
32
33 SCRIPT( adlm, ADLM,
34 "Adlam",
35 HB_SCRIPT_ADLAM,
36 HINTING_BOTTOM_TO_TOP,
37 "\xF0\x9E\xA4\x8C \xF0\x9E\xA4\xAE" ) /* 𞤌 𞤮 */
38
39 SCRIPT( arab, ARAB,
40 "Arabic",
41 HB_SCRIPT_ARABIC,
42 HINTING_BOTTOM_TO_TOP,
43 "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
44
45 SCRIPT( armn, ARMN,
46 "Armenian",
47 HB_SCRIPT_ARMENIAN,
48 HINTING_BOTTOM_TO_TOP,
49 "\xD5\xBD \xD5\x8D" ) /* ս Ս */
50
51 SCRIPT( avst, AVST,
52 "Avestan",
53 HB_SCRIPT_AVESTAN,
54 HINTING_BOTTOM_TO_TOP,
55 "\xF0\x90\xAC\x9A" ) /* 𐬚 */
56
57 SCRIPT( bamu, BAMU,
58 "Bamum",
59 HB_SCRIPT_BAMUM,
60 HINTING_BOTTOM_TO_TOP,
61 "\xEA\x9B\x81 \xEA\x9B\xAF" ) /* ꛁ ꛯ */
62
63 /* there are no simple forms for letters; we thus use two digit shapes */
64 SCRIPT( beng, BENG,
65 "Bengali",
66 HB_SCRIPT_BENGALI,
67 HINTING_TOP_TO_BOTTOM,
68 "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */
69
70 SCRIPT( buhd, BUHD,
71 "Buhid",
72 HB_SCRIPT_BUHID,
73 HINTING_BOTTOM_TO_TOP,
74 "\xE1\x9D\x8B \xE1\x9D\x8F" ) /* ᝋ ᝏ */
75
76 SCRIPT( cakm, CAKM,
77 "Chakma",
78 HB_SCRIPT_CHAKMA,
79 HINTING_BOTTOM_TO_TOP,
80 "\xF0\x91\x84\xA4 \xF0\x91\x84\x89 \xF0\x91\x84\x9B" ) /* 𑄤 𑄉 𑄛 */
81
82 SCRIPT( cans, CANS,
83 "Canadian Syllabics",
84 HB_SCRIPT_CANADIAN_SYLLABICS,
85 HINTING_BOTTOM_TO_TOP,
86 "\xE1\x91\x8C \xE1\x93\x9A" ) /* ᑌ ᓚ */
87
88 SCRIPT( cari, CARI,
89 "Carian",
90 HB_SCRIPT_CARIAN,
91 HINTING_BOTTOM_TO_TOP,
92 "\xF0\x90\x8A\xAB \xF0\x90\x8B\x89" ) /* 𐊫 𐋉 */
93
94 SCRIPT( cher, CHER,
95 "Cherokee",
96 HB_SCRIPT_CHEROKEE,
97 HINTING_BOTTOM_TO_TOP,
98 "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95" ) /* Ꭴ Ꮕ ꮕ */
99
100 SCRIPT( copt, COPT,
101 "Coptic",
102 HB_SCRIPT_COPTIC,
103 HINTING_BOTTOM_TO_TOP,
104 "\xE2\xB2\x9E \xE2\xB2\x9F" ) /* Ⲟ ⲟ */
105
106 SCRIPT( cprt, CPRT,
107 "Cypriot",
108 HB_SCRIPT_CYPRIOT,
109 HINTING_BOTTOM_TO_TOP,
110 "\xF0\x90\xA0\x85 \xF0\x90\xA0\xA3" ) /* 𐠅 𐠣 */
111
112 SCRIPT( cyrl, CYRL,
113 "Cyrillic",
114 HB_SCRIPT_CYRILLIC,
115 HINTING_BOTTOM_TO_TOP,
116 "\xD0\xBE \xD0\x9E" ) /* о О */
117
118 SCRIPT( deva, DEVA,
119 "Devanagari",
120 HB_SCRIPT_DEVANAGARI,
121 HINTING_TOP_TO_BOTTOM,
122 "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F" ) /* ठ व ट */
123
124 SCRIPT( dsrt, DSRT,
125 "Deseret",
126 HB_SCRIPT_DESERET,
127 HINTING_BOTTOM_TO_TOP,
128 "\xF0\x90\x90\x84 \xF0\x90\x90\xAC" ) /* 𐐄 𐐬 */
129
130 SCRIPT( ethi, ETHI,
131 "Ethiopic",
132 HB_SCRIPT_ETHIOPIC,
133 HINTING_BOTTOM_TO_TOP,
134 "\xE1\x8B\x90" ) /* ዐ */
135
136 SCRIPT( geor, GEOR,
137 "Georgian (Mkhedruli)",
138 HB_SCRIPT_GEORGIAN,
139 HINTING_BOTTOM_TO_TOP,
140 "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90 \xE1\xB2\xBF" ) /* ი ე ა Ი */
141
142 SCRIPT( geok, GEOK,
143 "Georgian (Khutsuri)",
144 HB_SCRIPT_INVALID,
145 HINTING_BOTTOM_TO_TOP,
146 "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99" ) /* Ⴖ Ⴑ ⴙ */
147
148 SCRIPT( glag, GLAG,
149 "Glagolitic",
150 HB_SCRIPT_GLAGOLITIC,
151 HINTING_BOTTOM_TO_TOP,
152 "\xE2\xB0\x95 \xE2\xB1\x85" ) /* Ⱅ ⱅ */
153
154 SCRIPT( goth, GOTH,
155 "Gothic",
156 HB_SCRIPT_GOTHIC,
157 HINTING_TOP_TO_BOTTOM,
158 "\xF0\x90\x8C\xB4 \xF0\x90\x8C\xBE \xF0\x90\x8D\x83" ) /* 𐌴 𐌾 𐍃 */
159
160 SCRIPT( grek, GREK,
161 "Greek",
162 HB_SCRIPT_GREEK,
163 HINTING_BOTTOM_TO_TOP,
164 "\xCE\xBF \xCE\x9F" ) /* ο Ο */
165
166 SCRIPT( gujr, GUJR,
167 "Gujarati",
168 HB_SCRIPT_GUJARATI,
169 HINTING_BOTTOM_TO_TOP,
170 "\xE0\xAA\x9F \xE0\xAB\xA6" ) /* ટ ૦ */
171
172 SCRIPT( guru, GURU,
173 "Gurmukhi",
174 HB_SCRIPT_GURMUKHI,
175 HINTING_TOP_TO_BOTTOM,
176 "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6" ) /* ਠ ਰ ੦ */
177
178 SCRIPT( hebr, HEBR,
179 "Hebrew",
180 HB_SCRIPT_HEBREW,
181 HINTING_BOTTOM_TO_TOP,
182 "\xD7\x9D" ) /* ם */
183
184 SCRIPT( kali, KALI,
185 "Kayah Li",
186 HB_SCRIPT_KAYAH_LI,
187 HINTING_BOTTOM_TO_TOP,
188 "\xEA\xA4\x8D \xEA\xA4\x80" ) /* ꤍ ꤀ */
189
190 /* only digit zero has a simple shape in the Khmer script */
191 SCRIPT( khmr, KHMR,
192 "Khmer",
193 HB_SCRIPT_KHMER,
194 HINTING_BOTTOM_TO_TOP,
195 "\xE1\x9F\xA0" ) /* ០ */
196
197 SCRIPT( khms, KHMS,
198 "Khmer Symbols",
199 HB_SCRIPT_INVALID,
200 HINTING_BOTTOM_TO_TOP,
201 "\xE1\xA7\xA1 \xE1\xA7\xAA" ) /* ᧡ ᧪ */
202
203 SCRIPT( knda, KNDA,
204 "Kannada",
205 HB_SCRIPT_KANNADA,
206 HINTING_BOTTOM_TO_TOP,
207 "\xE0\xB3\xA6 \xE0\xB2\xAC" ) /* ೦ ಬ */
208
209 /* only digit zero has a simple shape in the Lao script */
210 SCRIPT( lao, LAO,
211 "Lao",
212 HB_SCRIPT_LAO,
213 HINTING_BOTTOM_TO_TOP,
214 "\xE0\xBB\x90" ) /* ໐ */
215
216 SCRIPT( latn, LATN,
217 "Latin",
218 HB_SCRIPT_LATIN,
219 HINTING_BOTTOM_TO_TOP,
220 "o O 0" )
221
222 SCRIPT( latb, LATB,
223 "Latin Subscript Fallback",
224 HB_SCRIPT_INVALID,
225 HINTING_BOTTOM_TO_TOP,
226 "\xE2\x82\x92 \xE2\x82\x80" ) /* ₒ ₀ */
227
228 SCRIPT( latp, LATP,
229 "Latin Superscript Fallback",
230 HB_SCRIPT_INVALID,
231 HINTING_BOTTOM_TO_TOP,
232 "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0" ) /* ᵒ ᴼ ⁰ */
233
234 SCRIPT( lisu, LISU,
235 "Lisu",
236 HB_SCRIPT_LISU,
237 HINTING_BOTTOM_TO_TOP,
238 "\xEA\x93\xB3" ) /* ꓳ */
239
240 SCRIPT( mlym, MLYM,
241 "Malayalam",
242 HB_SCRIPT_MALAYALAM,
243 HINTING_BOTTOM_TO_TOP,
244 "\xE0\xB4\xA0 \xE0\xB4\xB1" ) /* ഠ റ */
245
246 SCRIPT( medf, MEDF,
247 "Medefaidrin",
248 HB_SCRIPT_MEDEFAIDRIN,
249 HINTING_BOTTOM_TO_TOP,
250 "\xF0\x96\xB9\xA1 \xF0\x96\xB9\x9B \xF0\x96\xB9\xAF" ) /* 𖹡 𖹛 𖹯 */
251
252 SCRIPT( mong, MONG,
253 "Mongolian",
254 HB_SCRIPT_MONGOLIAN,
255 HINTING_TOP_TO_BOTTOM,
256 "\xE1\xA1\x82 \xE1\xA0\xAA" ) /* ᡂ ᠪ */
257
258 SCRIPT( mymr, MYMR,
259 "Myanmar",
260 HB_SCRIPT_MYANMAR,
261 HINTING_BOTTOM_TO_TOP,
262 "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82" ) /* ဝ င ဂ */
263
264 SCRIPT( nkoo, NKOO,
265 "N'Ko",
266 HB_SCRIPT_NKO,
267 HINTING_BOTTOM_TO_TOP,
268 "\xDF\x8B \xDF\x80" ) /* ߋ ߀ */
269
270 SCRIPT( none, NONE,
271 "no script",
272 HB_SCRIPT_INVALID,
273 HINTING_BOTTOM_TO_TOP,
274 "" )
275
276 SCRIPT( olck, OLCK,
277 "Ol Chiki",
278 HB_SCRIPT_OL_CHIKI,
279 HINTING_BOTTOM_TO_TOP,
280 "\xE1\xB1\x9B" ) /* ᱛ */
281
282 SCRIPT( orkh, ORKH,
283 "Old Turkic",
284 HB_SCRIPT_OLD_TURKIC,
285 HINTING_BOTTOM_TO_TOP,
286 "\xF0\x90\xB0\x97" ) /* 𐰗 */
287
288 SCRIPT( osge, OSGE,
289 "Osage",
290 HB_SCRIPT_OSAGE,
291 HINTING_BOTTOM_TO_TOP,
292 "\xF0\x90\x93\x82 \xF0\x90\x93\xAA" ) /* 𐓂 𐓪 */
293
294 SCRIPT( osma, OSMA,
295 "Osmanya",
296 HB_SCRIPT_OSMANYA,
297 HINTING_BOTTOM_TO_TOP,
298 "\xF0\x90\x92\x86 \xF0\x90\x92\xA0" ) /* 𐒆 𐒠 */
299
300 SCRIPT( rohg, ROHG,
301 "Hanifi Rohingya",
302 HB_SCRIPT_HANIFI_ROHINGYA,
303 HINTING_BOTTOM_TO_TOP,
304 "\xF0\x90\xB4\xB0" ) /* 𐴰 */
305
306 SCRIPT( saur, SAUR,
307 "Saurashtra",
308 HB_SCRIPT_SAURASHTRA,
309 HINTING_BOTTOM_TO_TOP,
310 "\xEA\xA2\x9D \xEA\xA3\x90" ) /* ꢝ ꣐ */
311
312 SCRIPT( shaw, SHAW,
313 "Shavian",
314 HB_SCRIPT_SHAVIAN,
315 HINTING_BOTTOM_TO_TOP,
316 "\xF0\x90\x91\xB4" ) /* 𐑴 */
317
318 SCRIPT( sinh, SINH,
319 "Sinhala",
320 HB_SCRIPT_SINHALA,
321 HINTING_BOTTOM_TO_TOP,
322 "\xE0\xB6\xA7" ) /* ට */
323
324 /* only digit zero has a simple (round) shape in the Sundanese script */
325 SCRIPT( sund, SUND,
326 "Sundanese",
327 HB_SCRIPT_SUNDANESE,
328 HINTING_BOTTOM_TO_TOP,
329 "\xE1\xAE\xB0" ) /* ᮰ */
330
331 /* only digit zero has a simple (round) shape in the Tamil script */
332 SCRIPT( taml, TAML,
333 "Tamil",
334 HB_SCRIPT_TAMIL,
335 HINTING_BOTTOM_TO_TOP,
336 "\xE0\xAF\xA6" ) /* ௦ */
337
338 SCRIPT( tavt, TAVT,
339 "Tai Viet",
340 HB_SCRIPT_TAI_VIET,
341 HINTING_BOTTOM_TO_TOP,
342 "\xEA\xAA\x92 \xEA\xAA\xAB" ) /* ꪒ ꪫ */
343
344 /* there are no simple forms for letters; we thus use two digit shapes */
345 SCRIPT( telu, TELU,
346 "Telugu",
347 HB_SCRIPT_TELUGU,
348 HINTING_BOTTOM_TO_TOP,
349 "\xE0\xB1\xA6 \xE0\xB1\xA7" ) /* ౦ ౧ */
350
351 SCRIPT( tfng, TFNG,
352 "Tifinagh",
353 HB_SCRIPT_TIFINAGH,
354 HINTING_BOTTOM_TO_TOP,
355 "\xE2\xB5\x94" ) /* ⵔ */
356
357 SCRIPT( thai, THAI,
358 "Thai",
359 HB_SCRIPT_THAI,
360 HINTING_BOTTOM_TO_TOP,
361 "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90" ) /* า ๅ ๐ */
362
363 SCRIPT( vaii, VAII,
364 "Vai",
365 HB_SCRIPT_VAI,
366 HINTING_BOTTOM_TO_TOP,
367 "\xEA\x98\x93 \xEA\x96\x9C \xEA\x96\xB4" ) /* ꘓ ꖜ ꖴ */
368
369 #ifdef AF_CONFIG_OPTION_INDIC
370
371 SCRIPT( limb, LIMB,
372 "Limbu",
373 HB_SCRIPT_LIMBU,
374 HINTING_BOTTOM_TO_TOP,
375 "o" ) /* XXX */
376
377 SCRIPT( orya, ORYA,
378 "Oriya",
379 HB_SCRIPT_ORIYA,
380 HINTING_BOTTOM_TO_TOP,
381 "o" ) /* XXX */
382
383 SCRIPT( sylo, SYLO,
384 "Syloti Nagri",
385 HB_SCRIPT_SYLOTI_NAGRI,
386 HINTING_BOTTOM_TO_TOP,
387 "o" ) /* XXX */
388
389 SCRIPT( tibt, TIBT,
390 "Tibetan",
391 HB_SCRIPT_TIBETAN,
392 HINTING_BOTTOM_TO_TOP,
393 "o" ) /* XXX */
394
395 #endif /* AF_CONFIG_OPTION_INDIC */
396
397 #ifdef AF_CONFIG_OPTION_CJK
398
399 SCRIPT( hani, HANI,
400 "CJKV ideographs",
401 HB_SCRIPT_HAN,
402 HINTING_BOTTOM_TO_TOP,
403 "\xE7\x94\xB0 \xE5\x9B\x97" ) /* 田 囗 */
404
405 #endif /* AF_CONFIG_OPTION_CJK */
406
407
408 /* END */