• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /***************************************************************************/
2 /*                                                                         */
3 /*  afscript.h                                                             */
4 /*                                                                         */
5 /*    Auto-fitter scripts (specification only).                            */
6 /*                                                                         */
7 /*  Copyright 2013-2017 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( arab, ARAB,
34           "Arabic",
35           HB_SCRIPT_ARABIC,
36           HINTING_BOTTOM_TO_TOP,
37           "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
38 
39   SCRIPT( armn, ARMN,
40           "Armenian",
41           HB_SCRIPT_ARMENIAN,
42           HINTING_BOTTOM_TO_TOP,
43           "\xD5\xBD \xD5\x8D" ) /* ս Ս */
44 
45   /* there are no simple forms for letters; we thus use two digit shapes */
46   SCRIPT( beng, BENG,
47           "Bengali",
48           HB_SCRIPT_BENGALI,
49           HINTING_TOP_TO_BOTTOM,
50           "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */
51 
52   SCRIPT( cher, CHER,
53           "Cherokee",
54           HB_SCRIPT_CHEROKEE,
55           HINTING_BOTTOM_TO_TOP,
56           "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95" ) /* Ꭴ Ꮕ ꮕ */
57 
58   SCRIPT( cyrl, CYRL,
59           "Cyrillic",
60           HB_SCRIPT_CYRILLIC,
61           HINTING_BOTTOM_TO_TOP,
62           "\xD0\xBE \xD0\x9E" ) /* о О */
63 
64   SCRIPT( deva, DEVA,
65           "Devanagari",
66           HB_SCRIPT_DEVANAGARI,
67           HINTING_TOP_TO_BOTTOM,
68           "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F" ) /* ठ व ट */
69 
70   SCRIPT( ethi, ETHI,
71           "Ethiopic",
72           HB_SCRIPT_ETHIOPIC,
73           HINTING_BOTTOM_TO_TOP,
74           "\xE1\x8B\x90" ) /* ዐ */
75 
76   SCRIPT( geor, GEOR,
77           "Georgian (Mkhedruli)",
78           HB_SCRIPT_GEORGIAN,
79           HINTING_BOTTOM_TO_TOP,
80           "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90" ) /* ი ე ა */
81 
82   SCRIPT( geok, GEOK,
83           "Georgian (Khutsuri)",
84           HB_SCRIPT_INVALID,
85           HINTING_BOTTOM_TO_TOP,
86           "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99" ) /* Ⴖ Ⴑ ⴙ */
87 
88   SCRIPT( grek, GREK,
89           "Greek",
90           HB_SCRIPT_GREEK,
91           HINTING_BOTTOM_TO_TOP,
92           "\xCE\xBF \xCE\x9F" ) /* ο Ο */
93 
94   SCRIPT( gujr, GUJR,
95           "Gujarati",
96           HB_SCRIPT_GUJARATI,
97           HINTING_BOTTOM_TO_TOP,
98           "\xE0\xAA\x9F \xE0\xAB\xA6" ) /* ટ ૦ */
99 
100   SCRIPT( guru, GURU,
101           "Gurmukhi",
102           HB_SCRIPT_GURMUKHI,
103           HINTING_TOP_TO_BOTTOM,
104           "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6" ) /* ਠ ਰ ੦ */
105 
106   SCRIPT( hebr, HEBR,
107           "Hebrew",
108           HB_SCRIPT_HEBREW,
109           HINTING_BOTTOM_TO_TOP,
110           "\xD7\x9D" ) /* ם */
111 
112   SCRIPT( knda, KNDA,
113           "Kannada",
114           HB_SCRIPT_KANNADA,
115           HINTING_BOTTOM_TO_TOP,
116           "\xE0\xB3\xA6 \xE0\xB2\xAC" ) /* ೦ ಬ */
117 
118   /* only digit zero has a simple shape in the Khmer script */
119   SCRIPT( khmr, KHMR,
120           "Khmer",
121           HB_SCRIPT_KHMER,
122           HINTING_BOTTOM_TO_TOP,
123           "\xE1\x9F\xA0" ) /* ០ */
124 
125   SCRIPT( khms, KHMS,
126           "Khmer Symbols",
127           HB_SCRIPT_INVALID,
128           HINTING_BOTTOM_TO_TOP,
129           "\xE1\xA7\xA1 \xE1\xA7\xAA" ) /* ᧡ ᧪ */
130 
131   /* only digit zero has a simple shape in the Lao script */
132   SCRIPT( lao, LAO,
133           "Lao",
134           HB_SCRIPT_LAO,
135           HINTING_BOTTOM_TO_TOP,
136           "\xE0\xBB\x90" ) /* ໐ */
137 
138   SCRIPT( latn, LATN,
139           "Latin",
140           HB_SCRIPT_LATIN,
141           HINTING_BOTTOM_TO_TOP,
142           "o O 0" )
143 
144   SCRIPT( latb, LATB,
145           "Latin Subscript Fallback",
146           HB_SCRIPT_INVALID,
147           HINTING_BOTTOM_TO_TOP,
148           "\xE2\x82\x92 \xE2\x82\x80" ) /* ₒ ₀ */
149 
150   SCRIPT( latp, LATP,
151           "Latin Superscript Fallback",
152           HB_SCRIPT_INVALID,
153           HINTING_BOTTOM_TO_TOP,
154           "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0" ) /* ᵒ ᴼ ⁰ */
155 
156   SCRIPT( mlym, MLYM,
157           "Malayalam",
158           HB_SCRIPT_MALAYALAM,
159           HINTING_BOTTOM_TO_TOP,
160           "\xE0\xB4\xA0 \xE0\xB4\xB1" ) /* ഠ റ */
161 
162   SCRIPT( mymr, MYMR,
163           "Myanmar",
164           HB_SCRIPT_MYANMAR,
165           HINTING_BOTTOM_TO_TOP,
166           "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82" ) /* ဝ င ဂ */
167 
168   SCRIPT( none, NONE,
169           "no script",
170           HB_SCRIPT_INVALID,
171           HINTING_BOTTOM_TO_TOP,
172           "" )
173 
174   SCRIPT( sinh, SINH,
175           "Sinhala",
176           HB_SCRIPT_SINHALA,
177           HINTING_BOTTOM_TO_TOP,
178           "\xE0\xB6\xA7" ) /* ට */
179 
180   /* only digit zero has a simple (round) shape in the Tamil script */
181   SCRIPT( taml, TAML,
182           "Tamil",
183           HB_SCRIPT_TAMIL,
184           HINTING_BOTTOM_TO_TOP,
185           "\xE0\xAF\xA6" ) /* ௦ */
186 
187   /* there are no simple forms for letters; we thus use two digit shapes */
188   SCRIPT( telu, TELU,
189           "Telugu",
190           HB_SCRIPT_TELUGU,
191           HINTING_BOTTOM_TO_TOP,
192           "\xE0\xB1\xA6 \xE0\xB1\xA7" ) /* ౦ ౧ */
193 
194   SCRIPT( thai, THAI,
195           "Thai",
196           HB_SCRIPT_THAI,
197           HINTING_BOTTOM_TO_TOP,
198           "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90" ) /* า ๅ ๐ */
199 
200 #ifdef AF_CONFIG_OPTION_INDIC
201 
202   SCRIPT( limb, LIMB,
203           "Limbu",
204           HB_SCRIPT_LIMBU,
205           HINTING_BOTTOM_TO_TOP,
206           "o" ) /* XXX */
207 
208   SCRIPT( orya, ORYA,
209           "Oriya",
210           HB_SCRIPT_ORIYA,
211           HINTING_BOTTOM_TO_TOP,
212           "o" ) /* XXX */
213 
214   SCRIPT( sund, SUND,
215           "Sundanese",
216           HB_SCRIPT_SUNDANESE,
217           HINTING_BOTTOM_TO_TOP,
218           "o" ) /* XXX */
219 
220   SCRIPT( sylo, SYLO,
221           "Syloti Nagri",
222           HB_SCRIPT_SYLOTI_NAGRI,
223           HINTING_BOTTOM_TO_TOP,
224           "o" ) /* XXX */
225 
226   SCRIPT( tibt, TIBT,
227           "Tibetan",
228           HB_SCRIPT_TIBETAN,
229           HINTING_BOTTOM_TO_TOP,
230           "o" ) /* XXX */
231 
232 #endif /* AF_CONFIG_OPTION_INDIC */
233 
234 #ifdef AF_CONFIG_OPTION_CJK
235 
236   SCRIPT( hani, HANI,
237           "CJKV ideographs",
238           HB_SCRIPT_HAN,
239           HINTING_BOTTOM_TO_TOP,
240           "\xE7\x94\xB0 \xE5\x9B\x97" ) /* 田 囗 */
241 
242 #endif /* AF_CONFIG_OPTION_CJK */
243 
244 
245 /* END */
246