1*2d1272b8SAndroid Build Coastguard Worker /* 2*2d1272b8SAndroid Build Coastguard Worker * Copyright © 2019 Facebook, Inc. 3*2d1272b8SAndroid Build Coastguard Worker * 4*2d1272b8SAndroid Build Coastguard Worker * This is part of HarfBuzz, a text shaping library. 5*2d1272b8SAndroid Build Coastguard Worker * 6*2d1272b8SAndroid Build Coastguard Worker * Permission is hereby granted, without written agreement and without 7*2d1272b8SAndroid Build Coastguard Worker * license or royalty fees, to use, copy, modify, and distribute this 8*2d1272b8SAndroid Build Coastguard Worker * software and its documentation for any purpose, provided that the 9*2d1272b8SAndroid Build Coastguard Worker * above copyright notice and the following two paragraphs appear in 10*2d1272b8SAndroid Build Coastguard Worker * all copies of this software. 11*2d1272b8SAndroid Build Coastguard Worker * 12*2d1272b8SAndroid Build Coastguard Worker * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13*2d1272b8SAndroid Build Coastguard Worker * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14*2d1272b8SAndroid Build Coastguard Worker * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15*2d1272b8SAndroid Build Coastguard Worker * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16*2d1272b8SAndroid Build Coastguard Worker * DAMAGE. 17*2d1272b8SAndroid Build Coastguard Worker * 18*2d1272b8SAndroid Build Coastguard Worker * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19*2d1272b8SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20*2d1272b8SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21*2d1272b8SAndroid Build Coastguard Worker * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22*2d1272b8SAndroid Build Coastguard Worker * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23*2d1272b8SAndroid Build Coastguard Worker * 24*2d1272b8SAndroid Build Coastguard Worker * Facebook Author(s): Behdad Esfahbod 25*2d1272b8SAndroid Build Coastguard Worker */ 26*2d1272b8SAndroid Build Coastguard Worker 27*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_CONFIG_HH 28*2d1272b8SAndroid Build Coastguard Worker #define HB_CONFIG_HH 29*2d1272b8SAndroid Build Coastguard Worker 30*2d1272b8SAndroid Build Coastguard Worker #if 0 /* Make test happy. */ 31*2d1272b8SAndroid Build Coastguard Worker #include "hb.hh" 32*2d1272b8SAndroid Build Coastguard Worker #endif 33*2d1272b8SAndroid Build Coastguard Worker 34*2d1272b8SAndroid Build Coastguard Worker #ifdef HAVE_CONFIG_H 35*2d1272b8SAndroid Build Coastguard Worker #include "config.h" 36*2d1272b8SAndroid Build Coastguard Worker #endif 37*2d1272b8SAndroid Build Coastguard Worker 38*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_EXPERIMENTAL_API 39*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BEYOND_64K 40*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_CUBIC_GLYF 41*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_VAR_COMPOSITES 42*2d1272b8SAndroid Build Coastguard Worker #endif 43*2d1272b8SAndroid Build Coastguard Worker 44*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_TINY 45*2d1272b8SAndroid Build Coastguard Worker #define HB_LEAN 46*2d1272b8SAndroid Build Coastguard Worker #define HB_MINI 47*2d1272b8SAndroid Build Coastguard Worker #define HB_OPTIMIZE_SIZE 48*2d1272b8SAndroid Build Coastguard Worker #define HB_OPTIMIZE_SIZE_MORE 49*2d1272b8SAndroid Build Coastguard Worker #define HB_MINIMIZE_MEMORY_USAGE 50*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_MT 51*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_UCD_UNASSIGNED 52*2d1272b8SAndroid Build Coastguard Worker #ifndef NDEBUG 53*2d1272b8SAndroid Build Coastguard Worker #define NDEBUG 54*2d1272b8SAndroid Build Coastguard Worker #endif 55*2d1272b8SAndroid Build Coastguard Worker #endif 56*2d1272b8SAndroid Build Coastguard Worker 57*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_LEAN 58*2d1272b8SAndroid Build Coastguard Worker #define HB_DISABLE_DEPRECATED 59*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_ATEXIT 60*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BUFFER_MESSAGE 61*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BUFFER_SERIALIZE 62*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BUFFER_VERIFY 63*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BITMAP 64*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_CFF 65*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_COLOR 66*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_DRAW 67*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_ERRNO 68*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_FACE_COLLECT_UNICODES 69*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_GETENV 70*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_HINTING 71*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LANGUAGE_LONG 72*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LANGUAGE_PRIVATE_SUBTAG 73*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LAYOUT_FEATURE_PARAMS 74*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LAYOUT_COLLECT_GLYPHS 75*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LAYOUT_RARELY_USED 76*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LAYOUT_UNUSED 77*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_MATH 78*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_META 79*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_METRICS 80*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_MMAP 81*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_NAME 82*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OPEN 83*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT_GLYPH_NAMES 84*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPE_FRACTIONS 85*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_PAINT 86*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_SETLOCALE 87*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_STYLE 88*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_SUBSET_LAYOUT 89*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_VERTICAL 90*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_VAR 91*2d1272b8SAndroid Build Coastguard Worker #endif 92*2d1272b8SAndroid Build Coastguard Worker 93*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_MINI 94*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_AAT 95*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_LEGACY 96*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BORING_EXPANSION 97*2d1272b8SAndroid Build Coastguard Worker #endif 98*2d1272b8SAndroid Build Coastguard Worker 99*2d1272b8SAndroid Build Coastguard Worker #ifdef __OPTIMIZE_SIZE__ 100*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_OPTIMIZE_SIZE 101*2d1272b8SAndroid Build Coastguard Worker #define HB_OPTIMIZE_SIZE 102*2d1272b8SAndroid Build Coastguard Worker #endif 103*2d1272b8SAndroid Build Coastguard Worker #endif 104*2d1272b8SAndroid Build Coastguard Worker 105*2d1272b8SAndroid Build Coastguard Worker #if defined(HAVE_CONFIG_OVERRIDE_H) || defined(HB_CONFIG_OVERRIDE_H) 106*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_CONFIG_OVERRIDE_H 107*2d1272b8SAndroid Build Coastguard Worker #define HB_CONFIG_OVERRIDE_H "config-override.h" 108*2d1272b8SAndroid Build Coastguard Worker #endif 109*2d1272b8SAndroid Build Coastguard Worker #include HB_CONFIG_OVERRIDE_H 110*2d1272b8SAndroid Build Coastguard Worker #endif 111*2d1272b8SAndroid Build Coastguard Worker 112*2d1272b8SAndroid Build Coastguard Worker /* Closure of options. */ 113*2d1272b8SAndroid Build Coastguard Worker 114*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_BORING_EXPANSION 115*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_BEYOND_64K 116*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_CUBIC_GLYF 117*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_VAR_COMPOSITES 118*2d1272b8SAndroid Build Coastguard Worker #endif 119*2d1272b8SAndroid Build Coastguard Worker 120*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_VAR 121*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_VAR_COMPOSITES 122*2d1272b8SAndroid Build Coastguard Worker #endif 123*2d1272b8SAndroid Build Coastguard Worker 124*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_DISABLE_DEPRECATED 125*2d1272b8SAndroid Build Coastguard Worker #define HB_IF_NOT_DEPRECATED(x) 126*2d1272b8SAndroid Build Coastguard Worker #else 127*2d1272b8SAndroid Build Coastguard Worker #define HB_IF_NOT_DEPRECATED(x) x 128*2d1272b8SAndroid Build Coastguard Worker #endif 129*2d1272b8SAndroid Build Coastguard Worker 130*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_SHAPER 131*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPE 132*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_AAT_SHAPE 133*2d1272b8SAndroid Build Coastguard Worker #endif 134*2d1272b8SAndroid Build Coastguard Worker 135*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_AAT 136*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_NAME_LANGUAGE_AAT 137*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_AAT_SHAPE 138*2d1272b8SAndroid Build Coastguard Worker #endif 139*2d1272b8SAndroid Build Coastguard Worker 140*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_BITMAP 141*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT_BITMAP 142*2d1272b8SAndroid Build Coastguard Worker #endif 143*2d1272b8SAndroid Build Coastguard Worker 144*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_CFF 145*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT_CFF 146*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_SUBSET_CFF 147*2d1272b8SAndroid Build Coastguard Worker #endif 148*2d1272b8SAndroid Build Coastguard Worker 149*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_DRAW 150*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OUTLINE 151*2d1272b8SAndroid Build Coastguard Worker #endif 152*2d1272b8SAndroid Build Coastguard Worker 153*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_GETENV 154*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_UNISCRIBE_BUG_COMPATIBLE 155*2d1272b8SAndroid Build Coastguard Worker #endif 156*2d1272b8SAndroid Build Coastguard Worker 157*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_LEGACY 158*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_CMAP_LEGACY_SUBTABLES 159*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_FALLBACK_SHAPE 160*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_KERN 161*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_LAYOUT_BLOCKLIST 162*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPE_FALLBACK 163*2d1272b8SAndroid Build Coastguard Worker #endif 164*2d1272b8SAndroid Build Coastguard Worker 165*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_NAME 166*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_NAME_LANGUAGE 167*2d1272b8SAndroid Build Coastguard Worker #endif 168*2d1272b8SAndroid Build Coastguard Worker 169*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_OT 170*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT 171*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_LAYOUT 172*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_TAG 173*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPE 174*2d1272b8SAndroid Build Coastguard Worker #endif 175*2d1272b8SAndroid Build Coastguard Worker 176*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_OT_SHAPE 177*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_AAT_SHAPE 178*2d1272b8SAndroid Build Coastguard Worker #endif 179*2d1272b8SAndroid Build Coastguard Worker 180*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_NO_OT_SHAPE_FALLBACK 181*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPER_ARABIC_FALLBACK 182*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPER_HEBREW_FALLBACK 183*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPER_THAI_FALLBACK 184*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPER_VOWEL_CONSTRAINTS 185*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_SHAPER_MYANMAR_ZAWGYI 186*2d1272b8SAndroid Build Coastguard Worker #endif 187*2d1272b8SAndroid Build Coastguard Worker 188*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_OPTIMIZE_SIZE_MORE 189*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_RULESETS_FAST_PATH 190*2d1272b8SAndroid Build Coastguard Worker #endif 191*2d1272b8SAndroid Build Coastguard Worker 192*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_MINIMIZE_MEMORY_USAGE 193*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_GDEF_CACHE 194*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_LAYOUT_LOOKUP_CACHE 195*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT_ADVANCE_CACHE 196*2d1272b8SAndroid Build Coastguard Worker #define HB_NO_OT_FONT_CMAP_CACHE 197*2d1272b8SAndroid Build Coastguard Worker #endif 198*2d1272b8SAndroid Build Coastguard Worker 199*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_OPTIMIZE_SIZE 200*2d1272b8SAndroid Build Coastguard Worker #define HB_OPTIMIZE_SIZE_VAL 1 201*2d1272b8SAndroid Build Coastguard Worker #else 202*2d1272b8SAndroid Build Coastguard Worker #define HB_OPTIMIZE_SIZE_VAL 0 203*2d1272b8SAndroid Build Coastguard Worker #endif 204*2d1272b8SAndroid Build Coastguard Worker 205*2d1272b8SAndroid Build Coastguard Worker #ifdef HB_MINIMIZE_MEMORY_USAGE 206*2d1272b8SAndroid Build Coastguard Worker #define HB_MINIMIZE_MEMORY_USAGE_VAL 1 207*2d1272b8SAndroid Build Coastguard Worker #else 208*2d1272b8SAndroid Build Coastguard Worker #define HB_MINIMIZE_MEMORY_USAGE_VAL 0 209*2d1272b8SAndroid Build Coastguard Worker #endif 210*2d1272b8SAndroid Build Coastguard Worker 211*2d1272b8SAndroid Build Coastguard Worker #endif /* HB_CONFIG_HH */ 212