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