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