• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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