19c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/***************************************************************************/ 29c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* */ 39c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* afstyles.h */ 49c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* */ 59c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* Auto-fitter styles (specification only). */ 69c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* */ 79c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* Copyright 2013, 2014 by */ 89c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 99c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* */ 109c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* This file is part of the FreeType project, and may only be used, */ 119c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* modified, and distributed under the terms of the FreeType project */ 129c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 139c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* this file you indicate that you have read the license and */ 149c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* understand and accept it fully. */ 159c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* */ 169c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/***************************************************************************/ 179c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 189c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 199c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* The following part can be included multiple times. */ 209c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* Define `STYLE' as needed. */ 219c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 229c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 239c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* Add new styles here. The first and second arguments are the */ 249c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* style name in lowercase and uppercase, respectively, followed */ 259c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* by a description string. The next arguments are the */ 269c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* corresponding writing system, script, blue stringset, and */ 279c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* coverage. */ 289c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* */ 299c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* Note that styles using `AF_COVERAGE_DEFAULT' should always */ 309c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* come after styles with other coverages. */ 319c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* */ 329c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* Example: */ 339c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* */ 349c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* STYLE( cyrl_dflt, CYRL_DFLT, */ 359c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* "Cyrillic default style", */ 369c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* AF_WRITING_SYSTEM_LATIN, */ 379c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* AF_SCRIPT_CYRL, */ 389c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* AF_BLUE_STRINGSET_CYRL, */ 399c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* AF_COVERAGE_DEFAULT ) */ 409c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 419c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#undef STYLE_LATIN 429c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#define STYLE_LATIN( s, S, f, F, ds, df, C ) \ 439c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( s ## _ ## f, S ## _ ## F, \ 449c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod ds " " df " style", \ 459c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_LATIN, \ 469c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_ ## S, \ 479c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_BLUE_STRINGSET_ ## S, \ 489c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_ ## C ) 499c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 509c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#undef META_STYLE_LATIN 519c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#define META_STYLE_LATIN( s, S, ds ) \ 529c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, c2cp, C2CP, ds, \ 539c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "petite capticals from capitals", \ 549c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod PETITE_CAPITALS_FROM_CAPITALS ) \ 559c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, c2sc, C2SC, ds, \ 569c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "small capticals from capitals", \ 579c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod SMALL_CAPITALS_FROM_CAPITALS ) \ 589c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, ordn, ORDN, ds, \ 599c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "ordinals", \ 609c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod ORDINALS ) \ 619c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, pcap, PCAP, ds, \ 629c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "petite capitals", \ 639c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod PETITE_CAPITALS ) \ 649c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, sinf, SINF, ds, \ 659c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "scientific inferiors", \ 669c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod SCIENTIFIC_INFERIORS ) \ 679c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, smcp, SMCP, ds, \ 689c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "small capitals", \ 699c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod SMALL_CAPITALS ) \ 709c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, subs, SUBS, ds, \ 719c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "subscript", \ 729c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod SUBSCRIPT ) \ 739c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, sups, SUPS, ds, \ 749c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "superscript", \ 759c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod SUPERSCRIPT ) \ 769c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, titl, TITL, ds, \ 779c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "titling", \ 789c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod TITLING ) \ 799c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_LATIN( s, S, dflt, DFLT, ds, \ 809c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "default", \ 819c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod DEFAULT ) 829c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 839c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" ) 849c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 859c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod META_STYLE_LATIN( grek, GREK, "Greek" ) 869c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 879c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( hebr_dflt, HEBR_DFLT, 889c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "Hebrew default style", 899c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_LATIN, 909c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_HEBR, 919c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_BLUE_STRINGSET_HEBR, 929c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 939c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod META_STYLE_LATIN( latn, LATN, "Latin" ) 949c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 959c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( deva_dflt, DEVA_DFLT, 969c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "Devanagari default style", 979c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_LATIN, 989c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_DEVA, 999c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_BLUE_STRINGSET_DEVA, 1009c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 1019c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1029c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#ifdef FT_OPTION_AUTOFIT2 1039c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( ltn2_dflt, LTN2_DFLT, 1049c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "Latin 2 default style", 1059c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_LATIN2, 1069c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_LATN, 1079c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_BLUE_STRINGSET_LATN, 1089c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 1099c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#endif 1109c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1119c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( none_dflt, NONE_DFLT, 1129c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "no style", 1139c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_DUMMY, 1149c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_NONE, 1159c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod (AF_Blue_Stringset)0, 1169c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 1179c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1189c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#ifdef AF_CONFIG_OPTION_INDIC 1199c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1209c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod /* no blue stringset support for the Indic writing system yet */ 1219c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#undef STYLE_DEFAULT_INDIC 1229c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#define STYLE_DEFAULT_INDIC( s, S, d ) \ 1239c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( s ## _dflt, S ## _DFLT, \ 1249c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod d " default style", \ 1259c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_INDIC, \ 1269c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_ ## S, \ 1279c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod (AF_Blue_Stringset)0, \ 1289c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 1299c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1309c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( beng, BENG, "Bengali" ) 1319c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( gujr, GUJR, "Gujarati" ) 1329c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( guru, GURU, "Gurmukhi" ) 1339c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( knda, KNDA, "Kannada" ) 1349c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" ) 1359c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( mlym, MLYM, "Malayalam" ) 1369c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" ) 1379c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( sinh, SINH, "Sinhala" ) 1389c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" ) 1399c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" ) 1409c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( taml, TAML, "Tamil" ) 1419c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( telu, TELU, "Telugu" ) 1429c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" ) 1439c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1449c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#endif /* AF_CONFIG_OPTION_INDIC */ 1459c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1469c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#ifdef AF_CONFIG_OPTION_CJK 1479c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1489c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod STYLE( hani_dflt, HANI_DFLT, 1499c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod "CJKV ideographs default style", 1509c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_WRITING_SYSTEM_CJK, 1519c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_SCRIPT_HANI, 1529c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_BLUE_STRINGSET_HANI, 1539c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod AF_COVERAGE_DEFAULT ) 1549c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1559c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod#endif /* AF_CONFIG_OPTION_CJK */ 1569c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1579c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod 1589c745321260bb728ab1cd1c8fd5f075854b2ad49Behdad Esfahbod/* END */ 159