RIP, Vernon...
[ttfautohint.git] / lib / ttfautohint-scripts.h
blobea891432412c963e5a9c02bd917de5177fea5b7a
1 /* ttfautohint-scripts.h */
3 /*
4 * Copyright (C) 2013-2016 by Werner Lemberg.
6 * This file is part of the ttfautohint library, and may only be used,
7 * modified, and distributed under the terms given in `COPYING'. By
8 * continuing to use, modify, or distribute this file you indicate that you
9 * have read `COPYING' and understand and accept it fully.
11 * The file `COPYING' mentioned in the previous paragraph is distributed
12 * with the ttfautohint library.
16 /* originally file `afscript.h' (2013-Aug-05) from FreeType */
19 /* The following part can be included multiple times. */
20 /* Define `SCRIPT' as needed. */
24 * Add new scripts here. The first and second arguments are the
25 * script name in lowercase and uppercase, respectively, followed
26 * by a description string. Then comes the corresponding HarfBuzz
27 * script name tag, followed by the default characters (to derive
28 * the standard width of stems).
30 * Note that fallback scripts only have a default style, thus we
31 * use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for
32 * them.
35 SCRIPT(arab, ARAB,
36 "Arabic",
37 HB_SCRIPT_ARABIC,
38 HINTING_BOTTOM_TO_TOP,
39 "\xD9\x84 \xD8\xAD \xD9\x80") /* ل ح ـ */
41 SCRIPT(armn, ARMN,
42 "Armenian",
43 HB_SCRIPT_ARMENIAN,
44 HINTING_BOTTOM_TO_TOP,
45 "\xD6\x85 \xD5\x95") /* օ Օ */
47 /* there are no simple forms for letters; we thus use two digit shapes */
48 SCRIPT(beng, BENG,
49 "Bengali",
50 HB_SCRIPT_BENGALI,
51 HINTING_TOP_TO_BOTTOM,
52 "\xE0\xA7\xA6 \xE0\xA7\xAA") /* ০ ৪*/
54 SCRIPT(cher, CHER,
55 "Cherokee",
56 HB_SCRIPT_CHEROKEE,
57 HINTING_BOTTOM_TO_TOP,
58 "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95") /* Ꭴ Ꮕ ꮕ */
60 SCRIPT(cyrl, CYRL,
61 "Cyrillic",
62 HB_SCRIPT_CYRILLIC,
63 HINTING_BOTTOM_TO_TOP,
64 "\xD0\xBE \xD0\x9E") /* о О */
66 SCRIPT(deva, DEVA,
67 "Devanagari",
68 HB_SCRIPT_DEVANAGARI,
69 HINTING_TOP_TO_BOTTOM,
70 "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F") /* ठ व ट */
72 SCRIPT(ethi, ETHI,
73 "Ethiopic",
74 HB_SCRIPT_ETHIOPIC,
75 HINTING_BOTTOM_TO_TOP,
76 "\xE1\x8B\x90") /* ዐ */
78 SCRIPT(geor, GEOR,
79 "Georgian (Mkhedruli)",
80 HB_SCRIPT_GEORGIAN,
81 HINTING_BOTTOM_TO_TOP,
82 "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90") /* ი ე ა */
84 SCRIPT(geok, GEOK,
85 "Georgian (Khutsuri)",
86 HB_SCRIPT_INVALID,
87 HINTING_BOTTOM_TO_TOP,
88 "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99") /* Ⴖ Ⴑ ⴙ */
90 SCRIPT(grek, GREK,
91 "Greek",
92 HB_SCRIPT_GREEK,
93 HINTING_BOTTOM_TO_TOP,
94 "\xCE\xBF \xCE\x9F") /* ο Ο */
96 SCRIPT(gujr, GUJR,
97 "Gujarati",
98 HB_SCRIPT_GUJARATI,
99 HINTING_BOTTOM_TO_TOP,
100 "\xE0\xAA\x9F \xE0\xAB\xA6") /* ટ ૦ */
102 SCRIPT(guru, GURU,
103 "Gurmukhi",
104 HB_SCRIPT_GURMUKHI,
105 HINTING_TOP_TO_BOTTOM,
106 "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6") /* ਠ ਰ ੦*/
108 SCRIPT(hebr, HEBR,
109 "Hebrew",
110 HB_SCRIPT_HEBREW,
111 HINTING_BOTTOM_TO_TOP,
112 "\xD7\x9D") /* ם */
114 SCRIPT(knda, KNDA,
115 "Kannada",
116 HB_SCRIPT_KANNADA,
117 HINTING_BOTTOM_TO_TOP,
118 "\xE0\xB3\xA6 \xE0\xB2\xAC") /* ೦ ಬ */
120 /* only digit zero has a simple shape in the Khmer script */
121 SCRIPT(khmr, KHMR,
122 "Khmer",
123 HB_SCRIPT_KHMER,
124 HINTING_BOTTOM_TO_TOP,
125 "\xE1\x9F\xA0") /* ០ */
127 SCRIPT(khms, KHMS,
128 "Khmer Symbols",
129 HB_SCRIPT_INVALID,
130 HINTING_BOTTOM_TO_TOP,
131 "\xE1\xA7\xA1 \xE1\xA7\xAA") /* ᧡ ᧪ */
133 /* only digit zero has a simple shape in the Lao script */
134 SCRIPT(lao, LAO,
135 "Lao",
136 HB_SCRIPT_LAO,
137 HINTING_BOTTOM_TO_TOP,
138 "\xE0\xBB\x90") /* ໐ */
140 SCRIPT(latn, LATN,
141 "Latin",
142 HB_SCRIPT_LATIN,
143 HINTING_BOTTOM_TO_TOP,
144 "o O 0")
146 SCRIPT(latb, LATB,
147 "Latin Subscript Fallback",
148 HB_SCRIPT_INVALID,
149 HINTING_BOTTOM_TO_TOP,
150 "\xE2\x82\x92 \xE2\x82\x80") /* ₒ ₀ */
152 SCRIPT(latp, LATP,
153 "Latin Superscript Fallback",
154 HB_SCRIPT_INVALID,
155 HINTING_BOTTOM_TO_TOP,
156 "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0") /* ᵒ ᴼ ⁰ */
158 SCRIPT(mlym, MLYM,
159 "Malayalam",
160 HB_SCRIPT_MALAYALAM,
161 HINTING_BOTTOM_TO_TOP,
162 "\xE0\xB4\xA0 \xE0\xB4\xB1") /* ഠ റ */
164 SCRIPT(mymr, MYMR,
165 "Myanmar",
166 HB_SCRIPT_MYANMAR,
167 HINTING_BOTTOM_TO_TOP,
168 "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82") /* ဝ င ဂ */
170 SCRIPT(sinh, SINH,
171 "Sinhala",
172 HB_SCRIPT_SINHALA,
173 HINTING_BOTTOM_TO_TOP,
174 "\xE0\xB6\xA7") /* ට */
176 /* only digit zero has a simple (round) shape in the Tamil script */
177 SCRIPT(taml, TAML,
178 "Tamil",
179 HB_SCRIPT_TAMIL,
180 HINTING_BOTTOM_TO_TOP,
181 "\xE0\xAF\xA6") /* ௦ */
183 /* there are no simple forms for letters; we thus use two digit shapes */
184 SCRIPT(telu, TELU,
185 "Telugu",
186 HB_SCRIPT_TELUGU,
187 HINTING_BOTTOM_TO_TOP,
188 "\xE0\xB1\xA6 \xE0\xB1\xA7") /* ౦ ౧ */
190 SCRIPT(thai, THAI,
191 "Thai",
192 HB_SCRIPT_THAI,
193 HINTING_BOTTOM_TO_TOP,
194 "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90") /* า ๅ ๐ */
196 SCRIPT(none, NONE,
197 "no script",
198 HB_SCRIPT_INVALID,
199 HINTING_BOTTOM_TO_TOP,
202 /* end of ttfautohint-scripts.h */