1 /****************************************************************************
5 * Auto-fitter scripts (specification only).
7 * Copyright (C) 2013-2020 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
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.
19 /* The following part can be included multiple times. */
20 /* Define `SCRIPT' as needed. */
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). */
29 /* Note that fallback scripts only have a default style, thus we */
30 /* use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for */
36 HINTING_BOTTOM_TO_TOP,
37 "\xF0\x9E\xA4\x8C \xF0\x9E\xA4\xAE" ) /* 𞤌 𞤮 */
42 HINTING_BOTTOM_TO_TOP,
43 "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
48 HINTING_BOTTOM_TO_TOP,
49 "\xD5\xBD \xD5\x8D" ) /* ս Ս */
54 HINTING_BOTTOM_TO_TOP,
55 "\xF0\x90\xAC\x9A" ) /* 𐬚 */
60 HINTING_BOTTOM_TO_TOP,
61 "\xEA\x9B\x81 \xEA\x9B\xAF" ) /* ꛁ ꛯ */
63 /* there are no simple forms for letters; we thus use two digit shapes */
67 HINTING_TOP_TO_BOTTOM,
68 "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */
73 HINTING_BOTTOM_TO_TOP,
74 "\xE1\x9D\x8B \xE1\x9D\x8F" ) /* ᝋ ᝏ */
79 HINTING_BOTTOM_TO_TOP,
80 "\xF0\x91\x84\xA4 \xF0\x91\x84\x89 \xF0\x91\x84\x9B" ) /* 𑄤 𑄉 𑄛 */
84 HB_SCRIPT_CANADIAN_SYLLABICS,
85 HINTING_BOTTOM_TO_TOP,
86 "\xE1\x91\x8C \xE1\x93\x9A" ) /* ᑌ ᓚ */
91 HINTING_BOTTOM_TO_TOP,
92 "\xF0\x90\x8A\xAB \xF0\x90\x8B\x89" ) /* 𐊫 𐋉 */
97 HINTING_BOTTOM_TO_TOP,
98 "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95" ) /* Ꭴ Ꮕ ꮕ */
103 HINTING_BOTTOM_TO_TOP,
104 "\xE2\xB2\x9E \xE2\xB2\x9F" ) /* Ⲟ ⲟ */
109 HINTING_BOTTOM_TO_TOP,
110 "\xF0\x90\xA0\x85 \xF0\x90\xA0\xA3" ) /* 𐠅 𐠣 */
115 HINTING_BOTTOM_TO_TOP,
116 "\xD0\xBE \xD0\x9E" ) /* о О */
120 HB_SCRIPT_DEVANAGARI,
121 HINTING_TOP_TO_BOTTOM,
122 "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F" ) /* ठ व ट */
127 HINTING_BOTTOM_TO_TOP,
128 "\xF0\x90\x90\x84 \xF0\x90\x90\xAC" ) /* 𐐄 𐐬 */
133 HINTING_BOTTOM_TO_TOP,
134 "\xE1\x8B\x90" ) /* ዐ */
137 "Georgian (Mkhedruli)",
139 HINTING_BOTTOM_TO_TOP,
140 "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90 \xE1\xB2\xBF" ) /* ი ე ა Ი */
143 "Georgian (Khutsuri)",
145 HINTING_BOTTOM_TO_TOP,
146 "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99" ) /* Ⴖ Ⴑ ⴙ */
150 HB_SCRIPT_GLAGOLITIC,
151 HINTING_BOTTOM_TO_TOP,
152 "\xE2\xB0\x95 \xE2\xB1\x85" ) /* Ⱅ ⱅ */
157 HINTING_TOP_TO_BOTTOM,
158 "\xF0\x90\x8C\xB4 \xF0\x90\x8C\xBE \xF0\x90\x8D\x83" ) /* 𐌴 𐌾 𐍃 */
163 HINTING_BOTTOM_TO_TOP,
164 "\xCE\xBF \xCE\x9F" ) /* ο Ο */
169 HINTING_BOTTOM_TO_TOP,
170 "\xE0\xAA\x9F \xE0\xAB\xA6" ) /* ટ ૦ */
175 HINTING_TOP_TO_BOTTOM,
176 "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6" ) /* ਠ ਰ ੦ */
181 HINTING_BOTTOM_TO_TOP,
187 HINTING_BOTTOM_TO_TOP,
188 "\xEA\xA4\x8D \xEA\xA4\x80" ) /* ꤍ ꤀ */
190 /* only digit zero has a simple shape in the Khmer script */
194 HINTING_BOTTOM_TO_TOP,
195 "\xE1\x9F\xA0" ) /* ០ */
200 HINTING_BOTTOM_TO_TOP,
201 "\xE1\xA7\xA1 \xE1\xA7\xAA" ) /* ᧡ ᧪ */
206 HINTING_BOTTOM_TO_TOP,
207 "\xE0\xB3\xA6 \xE0\xB2\xAC" ) /* ೦ ಬ */
209 /* only digit zero has a simple shape in the Lao script */
213 HINTING_BOTTOM_TO_TOP,
214 "\xE0\xBB\x90" ) /* ໐ */
219 HINTING_BOTTOM_TO_TOP,
223 "Latin Subscript Fallback",
225 HINTING_BOTTOM_TO_TOP,
226 "\xE2\x82\x92 \xE2\x82\x80" ) /* ₒ ₀ */
229 "Latin Superscript Fallback",
231 HINTING_BOTTOM_TO_TOP,
232 "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0" ) /* ᵒ ᴼ ⁰ */
237 HINTING_BOTTOM_TO_TOP,
238 "\xEA\x93\xB3" ) /* ꓳ */
243 HINTING_BOTTOM_TO_TOP,
244 "\xE0\xB4\xA0 \xE0\xB4\xB1" ) /* ഠ റ */
248 HB_SCRIPT_MEDEFAIDRIN,
249 HINTING_BOTTOM_TO_TOP,
250 "\xF0\x96\xB9\xA1 \xF0\x96\xB9\x9B \xF0\x96\xB9\xAF" ) /* 𖹡 𖹛 𖹯 */
255 HINTING_TOP_TO_BOTTOM,
256 "\xE1\xA1\x82 \xE1\xA0\xAA" ) /* ᡂ ᠪ */
261 HINTING_BOTTOM_TO_TOP,
262 "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82" ) /* ဝ င ဂ */
267 HINTING_BOTTOM_TO_TOP,
268 "\xDF\x8B \xDF\x80" ) /* ߋ ߀ */
273 HINTING_BOTTOM_TO_TOP,
279 HINTING_BOTTOM_TO_TOP,
280 "\xE1\xB1\x9B" ) /* ᱛ */
284 HB_SCRIPT_OLD_TURKIC,
285 HINTING_BOTTOM_TO_TOP,
286 "\xF0\x90\xB0\x97" ) /* 𐰗 */
291 HINTING_BOTTOM_TO_TOP,
292 "\xF0\x90\x93\x82 \xF0\x90\x93\xAA" ) /* 𐓂 𐓪 */
297 HINTING_BOTTOM_TO_TOP,
298 "\xF0\x90\x92\x86 \xF0\x90\x92\xA0" ) /* 𐒆 𐒠 */
302 HB_SCRIPT_HANIFI_ROHINGYA,
303 HINTING_BOTTOM_TO_TOP,
304 "\xF0\x90\xB4\xB0" ) /* 𐴰 */
308 HB_SCRIPT_SAURASHTRA,
309 HINTING_BOTTOM_TO_TOP,
310 "\xEA\xA2\x9D \xEA\xA3\x90" ) /* ꢝ ꣐ */
315 HINTING_BOTTOM_TO_TOP,
316 "\xF0\x90\x91\xB4" ) /* 𐑴 */
321 HINTING_BOTTOM_TO_TOP,
322 "\xE0\xB6\xA7" ) /* ට */
324 /* only digit zero has a simple (round) shape in the Sundanese script */
328 HINTING_BOTTOM_TO_TOP,
329 "\xE1\xAE\xB0" ) /* ᮰ */
331 /* only digit zero has a simple (round) shape in the Tamil script */
335 HINTING_BOTTOM_TO_TOP,
336 "\xE0\xAF\xA6" ) /* ௦ */
341 HINTING_BOTTOM_TO_TOP,
342 "\xEA\xAA\x92 \xEA\xAA\xAB" ) /* ꪒ ꪫ */
344 /* there are no simple forms for letters; we thus use two digit shapes */
348 HINTING_BOTTOM_TO_TOP,
349 "\xE0\xB1\xA6 \xE0\xB1\xA7" ) /* ౦ ౧ */
354 HINTING_BOTTOM_TO_TOP,
355 "\xE2\xB5\x94" ) /* ⵔ */
360 HINTING_BOTTOM_TO_TOP,
361 "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90" ) /* า ๅ ๐ */
366 HINTING_BOTTOM_TO_TOP,
367 "\xEA\x98\x93 \xEA\x96\x9C \xEA\x96\xB4" ) /* ꘓ ꖜ ꖴ */
369 #ifdef AF_CONFIG_OPTION_INDIC
374 HINTING_BOTTOM_TO_TOP,
380 HINTING_BOTTOM_TO_TOP,
385 HB_SCRIPT_SYLOTI_NAGRI,
386 HINTING_BOTTOM_TO_TOP,
392 HINTING_BOTTOM_TO_TOP,
395 #endif /* AF_CONFIG_OPTION_INDIC */
397 #ifdef AF_CONFIG_OPTION_CJK
402 HINTING_BOTTOM_TO_TOP,
403 "\xE7\x94\xB0 \xE5\x9B\x97" ) /* 田 囗 */
405 #endif /* AF_CONFIG_OPTION_CJK */