1 /***************************************************************************/
5 /* Auto-fitter styles (specification only). */
7 /* Copyright 2013, 2014 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
19 /* The following part can be included multiple times. */
20 /* Define `STYLE' as needed. */
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 */
29 /* Note that styles using `AF_COVERAGE_DEFAULT' should always */
30 /* come after styles with other coverages. */
34 /* STYLE( cyrl_dflt, CYRL_DFLT, */
35 /* "Cyrillic default style", */
36 /* AF_WRITING_SYSTEM_LATIN, */
38 /* AF_BLUE_STRINGSET_CYRL, */
39 /* AF_COVERAGE_DEFAULT ) */
42 #define STYLE_LATIN( s, S, f, F, ds, df, C ) \
43 STYLE( s ## _ ## f, S ## _ ## F, \
45 AF_WRITING_SYSTEM_LATIN, \
47 AF_BLUE_STRINGSET_ ## S, \
50 #undef META_STYLE_LATIN
51 #define META_STYLE_LATIN( s, S, ds ) \
52 STYLE_LATIN( s, S, c2cp, C2CP, ds, \
53 "petite capticals from capitals", \
54 PETITE_CAPITALS_FROM_CAPITALS ) \
55 STYLE_LATIN( s, S, c2sc, C2SC, ds, \
56 "small capticals from capitals", \
57 SMALL_CAPITALS_FROM_CAPITALS ) \
58 STYLE_LATIN( s, S, ordn, ORDN, ds, \
61 STYLE_LATIN( s, S, pcap, PCAP, ds, \
64 STYLE_LATIN( s, S, sinf, SINF, ds, \
65 "scientific inferiors", \
66 SCIENTIFIC_INFERIORS ) \
67 STYLE_LATIN( s, S, smcp, SMCP, ds, \
70 STYLE_LATIN( s, S, subs, SUBS, ds, \
73 STYLE_LATIN( s, S, sups, SUPS, ds, \
76 STYLE_LATIN( s, S, titl, TITL, ds, \
79 STYLE_LATIN( s, S, dflt, DFLT, ds, \
83 META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" )
85 META_STYLE_LATIN( grek, GREK, "Greek" )
87 STYLE( hebr_dflt, HEBR_DFLT,
88 "Hebrew default style",
89 AF_WRITING_SYSTEM_LATIN,
91 AF_BLUE_STRINGSET_HEBR,
93 META_STYLE_LATIN( latn, LATN, "Latin" )
95 STYLE( deva_dflt, DEVA_DFLT,
96 "Devanagari default style",
97 AF_WRITING_SYSTEM_LATIN,
99 AF_BLUE_STRINGSET_DEVA,
100 AF_COVERAGE_DEFAULT )
102 #ifdef FT_OPTION_AUTOFIT2
103 STYLE( ltn2_dflt, LTN2_DFLT,
104 "Latin 2 default style",
105 AF_WRITING_SYSTEM_LATIN2,
107 AF_BLUE_STRINGSET_LATN,
108 AF_COVERAGE_DEFAULT )
111 STYLE( none_dflt, NONE_DFLT,
113 AF_WRITING_SYSTEM_DUMMY,
115 (AF_Blue_Stringset)0,
116 AF_COVERAGE_DEFAULT )
118 STYLE( telu_dflt, TELU_DFLT,
119 "Telugu default style",
120 AF_WRITING_SYSTEM_LATIN,
122 AF_BLUE_STRINGSET_TELU,
123 AF_COVERAGE_DEFAULT )
125 #ifdef AF_CONFIG_OPTION_INDIC
127 /* no blue stringset support for the Indic writing system yet */
128 #undef STYLE_DEFAULT_INDIC
129 #define STYLE_DEFAULT_INDIC( s, S, d ) \
130 STYLE( s ## _dflt, S ## _DFLT, \
131 d " default style", \
132 AF_WRITING_SYSTEM_INDIC, \
134 (AF_Blue_Stringset)0, \
135 AF_COVERAGE_DEFAULT )
137 STYLE_DEFAULT_INDIC( beng, BENG, "Bengali" )
138 STYLE_DEFAULT_INDIC( gujr, GUJR, "Gujarati" )
139 STYLE_DEFAULT_INDIC( guru, GURU, "Gurmukhi" )
140 STYLE_DEFAULT_INDIC( knda, KNDA, "Kannada" )
141 STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" )
142 STYLE_DEFAULT_INDIC( mlym, MLYM, "Malayalam" )
143 STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" )
144 STYLE_DEFAULT_INDIC( sinh, SINH, "Sinhala" )
145 STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" )
146 STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" )
147 STYLE_DEFAULT_INDIC( taml, TAML, "Tamil" )
148 STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" )
150 #endif /* AF_CONFIG_OPTION_INDIC */
152 #ifdef AF_CONFIG_OPTION_CJK
154 STYLE( hani_dflt, HANI_DFLT,
155 "CJKV ideographs default style",
156 AF_WRITING_SYSTEM_CJK,
158 AF_BLUE_STRINGSET_HANI,
159 AF_COVERAGE_DEFAULT )
161 #endif /* AF_CONFIG_OPTION_CJK */