1 /***************************************************************************/ 2 /* */ 3 /* afstyles.h */ 4 /* */ 5 /* Auto-fitter styles (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 `STYLE' as needed. */ 21 22 23 /* Add new styles here. The first and second arguments are the */ 24 /* style name in lowercase and uppercase, respectively, followed */ 25 /* by a description string. The next arguments are the */ 26 /* corresponding writing system, script, blue stringset, and */ 27 /* coverage. */ 28 /* */ 29 /* Note that styles using `AF_COVERAGE_DEFAULT' should always */ 30 /* come after styles with other coverages. Also note that */ 31 /* fallback scripts only use `AF_COVERAGE_DEFAULT' for its */ 32 /* style. */ 33 /* */ 34 /* Example: */ 35 /* */ 36 /* STYLE( cyrl_dflt, CYRL_DFLT, */ 37 /* "Cyrillic default style", */ 38 /* AF_WRITING_SYSTEM_LATIN, */ 39 /* AF_SCRIPT_CYRL, */ 40 /* AF_BLUE_STRINGSET_CYRL, */ 41 /* AF_COVERAGE_DEFAULT ) */ 42 43 #undef STYLE_LATIN 44 #define STYLE_LATIN( s, S, f, F, ds, df, C ) \ 45 STYLE( s ## _ ## f, S ## _ ## F, \ 46 ds " " df " style", \ 47 AF_WRITING_SYSTEM_LATIN, \ 48 AF_SCRIPT_ ## S, \ 49 AF_BLUE_STRINGSET_ ## S, \ 50 AF_COVERAGE_ ## C ) 51 52 #undef META_STYLE_LATIN 53 #define META_STYLE_LATIN( s, S, ds ) \ 54 STYLE_LATIN( s, S, c2cp, C2CP, ds, \ 55 "petite capitals from capitals", \ 56 PETITE_CAPITALS_FROM_CAPITALS ) \ 57 STYLE_LATIN( s, S, c2sc, C2SC, ds, \ 58 "small capitals from capitals", \ 59 SMALL_CAPITALS_FROM_CAPITALS ) \ 60 STYLE_LATIN( s, S, ordn, ORDN, ds, \ 61 "ordinals", \ 62 ORDINALS ) \ 63 STYLE_LATIN( s, S, pcap, PCAP, ds, \ 64 "petite capitals", \ 65 PETITE_CAPITALS ) \ 66 STYLE_LATIN( s, S, sinf, SINF, ds, \ 67 "scientific inferiors", \ 68 SCIENTIFIC_INFERIORS ) \ 69 STYLE_LATIN( s, S, smcp, SMCP, ds, \ 70 "small capitals", \ 71 SMALL_CAPITALS ) \ 72 STYLE_LATIN( s, S, subs, SUBS, ds, \ 73 "subscript", \ 74 SUBSCRIPT ) \ 75 STYLE_LATIN( s, S, sups, SUPS, ds, \ 76 "superscript", \ 77 SUPERSCRIPT ) \ 78 STYLE_LATIN( s, S, titl, TITL, ds, \ 79 "titling", \ 80 TITLING ) \ 81 STYLE_LATIN( s, S, dflt, DFLT, ds, \ 82 "default", \ 83 DEFAULT ) 84 85 86 STYLE( arab_dflt, ARAB_DFLT, 87 "Arabic default style", 88 AF_WRITING_SYSTEM_LATIN, 89 AF_SCRIPT_ARAB, 90 AF_BLUE_STRINGSET_ARAB, 91 AF_COVERAGE_DEFAULT ) 92 93 STYLE( armn_dflt, ARMN_DFLT, 94 "Armenian default style", 95 AF_WRITING_SYSTEM_LATIN, 96 AF_SCRIPT_ARMN, 97 AF_BLUE_STRINGSET_ARMN, 98 AF_COVERAGE_DEFAULT ) 99 100 STYLE( beng_dflt, BENG_DFLT, 101 "Bengali default style", 102 AF_WRITING_SYSTEM_LATIN, 103 AF_SCRIPT_BENG, 104 AF_BLUE_STRINGSET_BENG, 105 AF_COVERAGE_DEFAULT ) 106 107 STYLE( cher_dflt, CHER_DFLT, 108 "Cherokee default style", 109 AF_WRITING_SYSTEM_LATIN, 110 AF_SCRIPT_CHER, 111 AF_BLUE_STRINGSET_CHER, 112 AF_COVERAGE_DEFAULT ) 113 114 META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" ) 115 116 STYLE( deva_dflt, DEVA_DFLT, 117 "Devanagari default style", 118 AF_WRITING_SYSTEM_LATIN, 119 AF_SCRIPT_DEVA, 120 AF_BLUE_STRINGSET_DEVA, 121 AF_COVERAGE_DEFAULT ) 122 123 STYLE( ethi_dflt, ETHI_DFLT, 124 "Ethiopic default style", 125 AF_WRITING_SYSTEM_LATIN, 126 AF_SCRIPT_ETHI, 127 AF_BLUE_STRINGSET_ETHI, 128 AF_COVERAGE_DEFAULT ) 129 130 STYLE( geor_dflt, GEOR_DFLT, 131 "Georgian (Mkhedruli) default style", 132 AF_WRITING_SYSTEM_LATIN, 133 AF_SCRIPT_GEOR, 134 AF_BLUE_STRINGSET_GEOR, 135 AF_COVERAGE_DEFAULT ) 136 137 STYLE( geok_dflt, GEOK_DFLT, 138 "Georgian (Khutsuri) default style", 139 AF_WRITING_SYSTEM_LATIN, 140 AF_SCRIPT_GEOK, 141 AF_BLUE_STRINGSET_GEOK, 142 AF_COVERAGE_DEFAULT ) 143 144 META_STYLE_LATIN( grek, GREK, "Greek" ) 145 146 STYLE( gujr_dflt, GUJR_DFLT, 147 "Gujarati default style", 148 AF_WRITING_SYSTEM_LATIN, 149 AF_SCRIPT_GUJR, 150 AF_BLUE_STRINGSET_GUJR, 151 AF_COVERAGE_DEFAULT ) 152 153 STYLE( guru_dflt, GURU_DFLT, 154 "Gurmukhi default style", 155 AF_WRITING_SYSTEM_LATIN, 156 AF_SCRIPT_GURU, 157 AF_BLUE_STRINGSET_GURU, 158 AF_COVERAGE_DEFAULT ) 159 160 STYLE( hebr_dflt, HEBR_DFLT, 161 "Hebrew default style", 162 AF_WRITING_SYSTEM_LATIN, 163 AF_SCRIPT_HEBR, 164 AF_BLUE_STRINGSET_HEBR, 165 AF_COVERAGE_DEFAULT ) 166 167 STYLE( knda_dflt, KNDA_DFLT, 168 "Kannada default style", 169 AF_WRITING_SYSTEM_LATIN, 170 AF_SCRIPT_KNDA, 171 AF_BLUE_STRINGSET_KNDA, 172 AF_COVERAGE_DEFAULT ) 173 174 STYLE( khmr_dflt, KHMR_DFLT, 175 "Khmer default style", 176 AF_WRITING_SYSTEM_LATIN, 177 AF_SCRIPT_KHMR, 178 AF_BLUE_STRINGSET_KHMR, 179 AF_COVERAGE_DEFAULT ) 180 181 STYLE( khms_dflt, KHMS_DFLT, 182 "Khmer Symbols default style", 183 AF_WRITING_SYSTEM_LATIN, 184 AF_SCRIPT_KHMS, 185 AF_BLUE_STRINGSET_KHMS, 186 AF_COVERAGE_DEFAULT ) 187 188 STYLE( lao_dflt, LAO_DFLT, 189 "Lao default style", 190 AF_WRITING_SYSTEM_LATIN, 191 AF_SCRIPT_LAO, 192 AF_BLUE_STRINGSET_LAO, 193 AF_COVERAGE_DEFAULT ) 194 195 META_STYLE_LATIN( latn, LATN, "Latin" ) 196 197 STYLE( latb_dflt, LATB_DFLT, 198 "Latin subscript fallback default style", 199 AF_WRITING_SYSTEM_LATIN, 200 AF_SCRIPT_LATB, 201 AF_BLUE_STRINGSET_LATB, 202 AF_COVERAGE_DEFAULT ) 203 204 STYLE( latp_dflt, LATP_DFLT, 205 "Latin superscript fallback default style", 206 AF_WRITING_SYSTEM_LATIN, 207 AF_SCRIPT_LATP, 208 AF_BLUE_STRINGSET_LATP, 209 AF_COVERAGE_DEFAULT ) 210 211 #ifdef FT_OPTION_AUTOFIT2 212 STYLE( ltn2_dflt, LTN2_DFLT, 213 "Latin 2 default style", 214 AF_WRITING_SYSTEM_LATIN2, 215 AF_SCRIPT_LATN, 216 AF_BLUE_STRINGSET_LATN, 217 AF_COVERAGE_DEFAULT ) 218 #endif 219 220 STYLE( mlym_dflt, MLYM_DFLT, 221 "Malayalam default style", 222 AF_WRITING_SYSTEM_LATIN, 223 AF_SCRIPT_MLYM, 224 AF_BLUE_STRINGSET_MLYM, 225 AF_COVERAGE_DEFAULT ) 226 227 STYLE( mymr_dflt, MYMR_DFLT, 228 "Myanmar default style", 229 AF_WRITING_SYSTEM_LATIN, 230 AF_SCRIPT_MYMR, 231 AF_BLUE_STRINGSET_MYMR, 232 AF_COVERAGE_DEFAULT ) 233 234 STYLE( none_dflt, NONE_DFLT, 235 "no style", 236 AF_WRITING_SYSTEM_DUMMY, 237 AF_SCRIPT_NONE, 238 AF_BLUE_STRINGSET_NONE, 239 AF_COVERAGE_DEFAULT ) 240 241 STYLE( sinh_dflt, SINH_DFLT, 242 "Sinhala default style", 243 AF_WRITING_SYSTEM_LATIN, 244 AF_SCRIPT_SINH, 245 AF_BLUE_STRINGSET_SINH, 246 AF_COVERAGE_DEFAULT ) 247 248 STYLE( taml_dflt, TAML_DFLT, 249 "Tamil default style", 250 AF_WRITING_SYSTEM_LATIN, 251 AF_SCRIPT_TAML, 252 AF_BLUE_STRINGSET_TAML, 253 AF_COVERAGE_DEFAULT ) 254 255 STYLE( telu_dflt, TELU_DFLT, 256 "Telugu default style", 257 AF_WRITING_SYSTEM_LATIN, 258 AF_SCRIPT_TELU, 259 AF_BLUE_STRINGSET_TELU, 260 AF_COVERAGE_DEFAULT ) 261 262 STYLE( thai_dflt, THAI_DFLT, 263 "Thai default style", 264 AF_WRITING_SYSTEM_LATIN, 265 AF_SCRIPT_THAI, 266 AF_BLUE_STRINGSET_THAI, 267 AF_COVERAGE_DEFAULT ) 268 269 #ifdef AF_CONFIG_OPTION_INDIC 270 271 /* no blue stringset support for the Indic writing system yet */ 272 #undef STYLE_DEFAULT_INDIC 273 #define STYLE_DEFAULT_INDIC( s, S, d ) \ 274 STYLE( s ## _dflt, S ## _DFLT, \ 275 d " default style", \ 276 AF_WRITING_SYSTEM_INDIC, \ 277 AF_SCRIPT_ ## S, \ 278 (AF_Blue_Stringset)0, \ 279 AF_COVERAGE_DEFAULT ) 280 281 STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" ) 282 STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" ) 283 STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" ) 284 STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" ) 285 STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" ) 286 287 #endif /* AF_CONFIG_OPTION_INDIC */ 288 289 #ifdef AF_CONFIG_OPTION_CJK 290 291 STYLE( hani_dflt, HANI_DFLT, 292 "CJKV ideographs default style", 293 AF_WRITING_SYSTEM_CJK, 294 AF_SCRIPT_HANI, 295 AF_BLUE_STRINGSET_HANI, 296 AF_COVERAGE_DEFAULT ) 297 298 #endif /* AF_CONFIG_OPTION_CJK */ 299 300 301 /* END */ 302