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 zero-cost. */ 44 45 /* v--- Add new tables in the right place here. */ 46 47 48 /* OpenType fundamentals. */ 49 HB_OT_TABLE (OT, head) 50 #if !defined(HB_NO_FACE_COLLECT_UNICODES) || !defined(HB_NO_OT_FONT) 51 HB_OT_ACCELERATOR (OT, cmap) 52 #endif 53 HB_OT_TABLE (OT, hhea) 54 HB_OT_ACCELERATOR (OT, hmtx) 55 HB_OT_TABLE (OT, OS2) 56 #if !defined(HB_NO_OT_FONT_GLYPH_NAMES) || !defined(HB_NO_METRICS) || !defined(HB_NO_STYLE) 57 HB_OT_ACCELERATOR (OT, post) 58 #endif 59 #ifndef HB_NO_NAME 60 HB_OT_ACCELERATOR (OT, name) 61 #endif 62 #ifndef HB_NO_STYLE 63 HB_OT_TABLE (OT, STAT) 64 #endif 65 #ifndef HB_NO_META 66 HB_OT_ACCELERATOR (OT, meta) 67 #endif 68 69 /* Vertical layout. */ 70 HB_OT_TABLE (OT, vhea) 71 HB_OT_ACCELERATOR (OT, vmtx) 72 73 /* TrueType outlines. */ 74 HB_OT_ACCELERATOR (OT, glyf) 75 76 /* CFF outlines. */ 77 #ifndef HB_NO_CFF 78 HB_OT_ACCELERATOR (OT, cff1) 79 HB_OT_ACCELERATOR (OT, cff2) 80 HB_OT_TABLE (OT, VORG) 81 #endif 82 83 /* OpenType variations. */ 84 #ifndef HB_NO_VAR 85 HB_OT_TABLE (OT, fvar) 86 HB_OT_TABLE (OT, avar) 87 HB_OT_ACCELERATOR (OT, gvar) 88 HB_OT_TABLE (OT, MVAR) 89 #endif 90 91 /* Legacy kern. */ 92 #ifndef HB_NO_OT_KERN 93 HB_OT_TABLE (OT, kern) 94 #endif 95 96 /* OpenType shaping. */ 97 #ifndef HB_NO_OT_LAYOUT 98 HB_OT_ACCELERATOR (OT, GDEF) 99 HB_OT_ACCELERATOR (OT, GSUB) 100 HB_OT_ACCELERATOR (OT, GPOS) 101 //HB_OT_TABLE (OT, JSTF) 102 #endif 103 104 /* OpenType baseline. */ 105 #ifndef HB_NO_BASE 106 HB_OT_TABLE (OT, BASE) 107 #endif 108 109 /* AAT shaping. */ 110 #ifndef HB_NO_AAT 111 HB_OT_TABLE (AAT, morx) 112 HB_OT_TABLE (AAT, mort) 113 HB_OT_TABLE (AAT, kerx) 114 HB_OT_TABLE (AAT, ankr) 115 HB_OT_TABLE (AAT, trak) 116 HB_OT_TABLE (AAT, ltag) 117 HB_OT_TABLE (AAT, feat) 118 // HB_OT_TABLE (AAT, opbd) 119 #endif 120 121 /* OpenType color fonts. */ 122 #ifndef HB_NO_COLOR 123 HB_OT_TABLE (OT, COLR) 124 HB_OT_TABLE (OT, CPAL) 125 HB_OT_ACCELERATOR (OT, CBDT) 126 HB_OT_ACCELERATOR (OT, sbix) 127 HB_OT_ACCELERATOR (OT, SVG) 128 #endif 129 130 /* OpenType math. */ 131 #ifndef HB_NO_MATH 132 HB_OT_TABLE (OT, MATH) 133 #endif 134 135 136 #ifdef _HB_OT_ACCELERATOR_UNDEF 137 #undef HB_OT_ACCELERATOR 138 #endif 139