1/***************************************************************************/
2/*                                                                         */
3/*  afstyles.h                                                             */
4/*                                                                         */
5/*    Auto-fitter styles (specification only).                             */
6/*                                                                         */
7/*  Copyright 2013-2015 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.                       */
31  /*                                                               */
32  /* Example:                                                      */
33  /*                                                               */
34  /*   STYLE( cyrl_dflt, CYRL_DFLT,                                */
35  /*          "Cyrillic default style",                            */
36  /*          AF_WRITING_SYSTEM_LATIN,                             */
37  /*          AF_SCRIPT_CYRL,                                      */
38  /*          AF_BLUE_STRINGSET_CYRL,                              */
39  /*          AF_COVERAGE_DEFAULT )                                */
40
41#undef  STYLE_LATIN
42#define STYLE_LATIN( s, S, f, F, ds, df, C ) \
43          STYLE( s ## _ ## f, S ## _ ## F,   \
44                 ds " " df " style",         \
45                 AF_WRITING_SYSTEM_LATIN,    \
46                 AF_SCRIPT_ ## S,            \
47                 AF_BLUE_STRINGSET_ ## S,    \
48                 AF_COVERAGE_ ## C )
49
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,             \
59                       "ordinals",                       \
60                       ORDINALS )                        \
61          STYLE_LATIN( s, S, pcap, PCAP, ds,             \
62                       "petite capitals",                \
63                       PETITE_CAPITALS )                 \
64          STYLE_LATIN( s, S, sinf, SINF, ds,             \
65                       "scientific inferiors",           \
66                       SCIENTIFIC_INFERIORS )            \
67          STYLE_LATIN( s, S, smcp, SMCP, ds,             \
68                       "small capitals",                 \
69                       SMALL_CAPITALS )                  \
70          STYLE_LATIN( s, S, subs, SUBS, ds,             \
71                       "subscript",                      \
72                       SUBSCRIPT )                       \
73          STYLE_LATIN( s, S, sups, SUPS, ds,             \
74                       "superscript",                    \
75                       SUPERSCRIPT )                     \
76          STYLE_LATIN( s, S, titl, TITL, ds,             \
77                       "titling",                        \
78                       TITLING )                         \
79          STYLE_LATIN( s, S, dflt, DFLT, ds,             \
80                       "default",                        \
81                       DEFAULT )
82
83
84  STYLE( arab_dflt, ARAB_DFLT,
85         "Arabic default style",
86         AF_WRITING_SYSTEM_LATIN,
87         AF_SCRIPT_ARAB,
88         AF_BLUE_STRINGSET_ARAB,
89         AF_COVERAGE_DEFAULT )
90
91  META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" )
92
93  META_STYLE_LATIN( grek, GREK, "Greek" )
94
95  STYLE( hebr_dflt, HEBR_DFLT,
96         "Hebrew default style",
97         AF_WRITING_SYSTEM_LATIN,
98         AF_SCRIPT_HEBR,
99         AF_BLUE_STRINGSET_HEBR,
100         AF_COVERAGE_DEFAULT )
101  META_STYLE_LATIN( latn, LATN, "Latin" )
102
103  STYLE( deva_dflt, DEVA_DFLT,
104         "Devanagari default style",
105         AF_WRITING_SYSTEM_LATIN,
106         AF_SCRIPT_DEVA,
107         AF_BLUE_STRINGSET_DEVA,
108         AF_COVERAGE_DEFAULT )
109
110#ifdef FT_OPTION_AUTOFIT2
111  STYLE( ltn2_dflt, LTN2_DFLT,
112         "Latin 2 default style",
113         AF_WRITING_SYSTEM_LATIN2,
114         AF_SCRIPT_LATN,
115         AF_BLUE_STRINGSET_LATN,
116         AF_COVERAGE_DEFAULT )
117#endif
118
119  STYLE( none_dflt, NONE_DFLT,
120         "no style",
121         AF_WRITING_SYSTEM_DUMMY,
122         AF_SCRIPT_NONE,
123         (AF_Blue_Stringset)0,
124         AF_COVERAGE_DEFAULT )
125
126  STYLE( telu_dflt, TELU_DFLT,
127         "Telugu default style",
128         AF_WRITING_SYSTEM_LATIN,
129         AF_SCRIPT_TELU,
130         AF_BLUE_STRINGSET_TELU,
131         AF_COVERAGE_DEFAULT )
132
133  STYLE( thai_dflt, THAI_DFLT,
134         "Thai default style",
135         AF_WRITING_SYSTEM_LATIN,
136         AF_SCRIPT_THAI,
137         AF_BLUE_STRINGSET_THAI,
138         AF_COVERAGE_DEFAULT )
139
140#ifdef AF_CONFIG_OPTION_INDIC
141
142  /* no blue stringset support for the Indic writing system yet */
143#undef  STYLE_DEFAULT_INDIC
144#define STYLE_DEFAULT_INDIC( s, S, d )    \
145          STYLE( s ## _dflt, S ## _DFLT,  \
146                 d " default style",      \
147                 AF_WRITING_SYSTEM_INDIC, \
148                 AF_SCRIPT_ ## S,         \
149                 (AF_Blue_Stringset)0,    \
150                 AF_COVERAGE_DEFAULT )
151
152  STYLE_DEFAULT_INDIC( beng, BENG, "Bengali" )
153  STYLE_DEFAULT_INDIC( gujr, GUJR, "Gujarati" )
154  STYLE_DEFAULT_INDIC( guru, GURU, "Gurmukhi" )
155  STYLE_DEFAULT_INDIC( knda, KNDA, "Kannada" )
156  STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" )
157  STYLE_DEFAULT_INDIC( mlym, MLYM, "Malayalam" )
158  STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" )
159  STYLE_DEFAULT_INDIC( sinh, SINH, "Sinhala" )
160  STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" )
161  STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" )
162  STYLE_DEFAULT_INDIC( taml, TAML, "Tamil" )
163  STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" )
164
165#endif /* AF_CONFIG_OPTION_INDIC */
166
167#ifdef AF_CONFIG_OPTION_CJK
168
169  STYLE( hani_dflt, HANI_DFLT,
170         "CJKV ideographs default style",
171         AF_WRITING_SYSTEM_CJK,
172         AF_SCRIPT_HANI,
173         AF_BLUE_STRINGSET_HANI,
174         AF_COVERAGE_DEFAULT )
175
176#endif /* AF_CONFIG_OPTION_CJK */
177
178
179/* END */
180