1/*
2 * Copyright © 2007,2008,2009 Red Hat, Inc.
3 * Copyright © 2012,2013 Google, Inc.
4 * Copyright © 2019, Facebook Inc.
5 *
6 * This is part of HarfBuzz, a text shaping library.
7 *
8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the
11 * above copyright notice and the following two paragraphs appear in
12 * all copies of this software.
13 *
14 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18 * DAMAGE.
19 *
20 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
23 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25 *
26 * Red Hat Author(s): Behdad Esfahbod
27 * Google Author(s): Behdad Esfahbod
28 * Facebook Author(s): Behdad Esfahbod
29 */
30
31#ifndef HB_OT_FACE_TABLE_LIST_HH
32#define HB_OT_FACE_TABLE_LIST_HH
33#endif /* HB_OT_FACE_TABLE_LIST_HH */ /* Dummy header guards */
34
35#ifndef HB_OT_ACCELERATOR
36#define HB_OT_ACCELERATOR(Namespace, Type) HB_OT_TABLE (Namespace, Type)
37#define _HB_OT_ACCELERATOR_UNDEF
38#endif
39
40
41/* This lists font tables that the hb_face_t will contain and lazily
42 * load. Don't add a table unless it's used though. This is not
43 * exactly free. */
44
45/* v--- Add new tables in the right place here. */
46
47
48/* OpenType fundamentals. */
49HB_OT_TABLE (OT, head)
50#if !defined(HB_NO_FACE_COLLECT_UNICODES) || !defined(HB_NO_OT_FONT)
51HB_OT_ACCELERATOR (OT, cmap)
52#endif
53HB_OT_TABLE (OT, hhea)
54HB_OT_ACCELERATOR (OT, hmtx)
55HB_OT_TABLE (OT, OS2)
56#if !defined(HB_NO_OT_FONT_GLYPH_NAMES) || !defined(HB_NO_METRICS)
57HB_OT_ACCELERATOR (OT, post)
58#endif
59#ifndef HB_NO_NAME
60HB_OT_ACCELERATOR (OT, name)
61#endif
62#ifndef HB_NO_STAT
63HB_OT_TABLE (OT, STAT)
64#endif
65#ifndef HB_NO_META
66HB_OT_ACCELERATOR (OT, meta)
67#endif
68
69/* Vertical layout. */
70HB_OT_TABLE (OT, vhea)
71HB_OT_ACCELERATOR (OT, vmtx)
72
73/* TrueType outlines. */
74HB_OT_ACCELERATOR (OT, glyf)
75
76/* CFF outlines. */
77#ifndef HB_NO_CFF
78HB_OT_ACCELERATOR (OT, cff1)
79HB_OT_ACCELERATOR (OT, cff2)
80HB_OT_TABLE (OT, VORG)
81#endif
82
83/* OpenType variations. */
84#ifndef HB_NO_VAR
85HB_OT_TABLE (OT, fvar)
86HB_OT_TABLE (OT, avar)
87HB_OT_ACCELERATOR (OT, gvar)
88HB_OT_TABLE (OT, MVAR)
89#endif
90
91/* Legacy kern. */
92#ifndef HB_NO_OT_KERN
93HB_OT_TABLE (OT, kern)
94#endif
95
96/* OpenType shaping. */
97#ifndef HB_NO_OT_LAYOUT
98HB_OT_ACCELERATOR (OT, GDEF)
99HB_OT_ACCELERATOR (OT, GSUB)
100HB_OT_ACCELERATOR (OT, GPOS)
101//HB_OT_TABLE (OT, JSTF)
102#endif
103
104/* OpenType baseline. */
105#ifndef HB_NO_BASE
106HB_OT_TABLE (OT, BASE)
107#endif
108
109/* AAT shaping. */
110#ifndef HB_NO_AAT
111HB_OT_TABLE (AAT, morx)
112HB_OT_TABLE (AAT, mort)
113HB_OT_TABLE (AAT, kerx)
114HB_OT_TABLE (AAT, ankr)
115HB_OT_TABLE (AAT, trak)
116HB_OT_TABLE (AAT, lcar)
117HB_OT_TABLE (AAT, ltag)
118HB_OT_TABLE (AAT, feat)
119// HB_OT_TABLE (AAT, opbd)
120#endif
121
122/* OpenType color fonts. */
123#ifndef HB_NO_COLOR
124HB_OT_TABLE (OT, COLR)
125HB_OT_TABLE (OT, CPAL)
126HB_OT_ACCELERATOR (OT, CBDT)
127HB_OT_ACCELERATOR (OT, sbix)
128HB_OT_ACCELERATOR (OT, SVG)
129#endif
130
131/* OpenType math. */
132#ifndef HB_NO_MATH
133HB_OT_TABLE (OT, MATH)
134#endif
135
136
137#ifdef _HB_OT_ACCELERATOR_UNDEF
138#undef HB_OT_ACCELERATOR
139#endif
140