2 * Copyright © 2019 Facebook, Inc.
4 * This is part of HarfBuzz, a text shaping library.
6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software.
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24 * Facebook Author(s): Behdad Esfahbod
30 #if 0 /* Make test happy. */
38 #ifndef HB_EXPERIMENTAL_API
39 #define HB_NO_BEYOND_64K
40 #define HB_NO_CUBIC_GLYF
41 #define HB_NO_VAR_COMPOSITES
47 #define HB_OPTIMIZE_SIZE
48 #define HB_OPTIMIZE_SIZE_MORE
49 #define HB_MINIMIZE_MEMORY_USAGE
51 #define HB_NO_UCD_UNASSIGNED
58 #define HB_DISABLE_DEPRECATED
61 #define HB_NO_BUFFER_MESSAGE
62 #define HB_NO_BUFFER_SERIALIZE
63 #define HB_NO_BUFFER_VERIFY
69 #define HB_NO_FACE_COLLECT_UNICODES
72 #define HB_NO_LANGUAGE_LONG
73 #define HB_NO_LANGUAGE_PRIVATE_SUBTAG
74 #define HB_NO_LAYOUT_FEATURE_PARAMS
75 #define HB_NO_LAYOUT_COLLECT_GLYPHS
76 #define HB_NO_LAYOUT_RARELY_USED
77 #define HB_NO_LAYOUT_UNUSED
84 #define HB_NO_OT_FONT_GLYPH_NAMES
85 #define HB_NO_OT_SHAPE_FRACTIONS
87 #define HB_NO_SETLOCALE
89 #define HB_NO_SUBSET_LAYOUT
90 #define HB_NO_VERTICAL
97 #define HB_NO_BORING_EXPANSION
100 #ifdef __OPTIMIZE_SIZE__
101 #ifndef HB_OPTIMIZE_SIZE
102 #define HB_OPTIMIZE_SIZE
106 #if defined(HAVE_CONFIG_OVERRIDE_H) || defined(HB_CONFIG_OVERRIDE_H)
107 #ifndef HB_CONFIG_OVERRIDE_H
108 #define HB_CONFIG_OVERRIDE_H "config-override.h"
110 #include HB_CONFIG_OVERRIDE_H
113 /* Closure of options. */
115 #ifdef HB_NO_BORING_EXPANSION
116 #define HB_NO_BEYOND_64K
117 #define HB_NO_CUBIC_GLYF
118 #define HB_NO_VAR_COMPOSITES
121 #ifdef HB_DISABLE_DEPRECATED
122 #define HB_IF_NOT_DEPRECATED(x)
124 #define HB_IF_NOT_DEPRECATED(x) x
128 #define HB_NO_OT_SHAPE
129 #define HB_NO_AAT_SHAPE
133 #define HB_NO_OT_NAME_LANGUAGE_AAT
134 #define HB_NO_AAT_SHAPE
138 #define HB_NO_OT_FONT_BITMAP
142 #define HB_NO_OT_FONT_CFF
143 #define HB_NO_SUBSET_CFF
147 #define HB_NO_OUTLINE
151 #define HB_NO_UNISCRIBE_BUG_COMPATIBLE
155 #define HB_NO_CMAP_LEGACY_SUBTABLES
156 #define HB_NO_FALLBACK_SHAPE
157 #define HB_NO_OT_KERN
158 #define HB_NO_OT_LAYOUT_BLOCKLIST
159 #define HB_NO_OT_SHAPE_FALLBACK
163 #define HB_NO_OT_NAME_LANGUAGE
167 #define HB_NO_OT_FONT
168 #define HB_NO_OT_LAYOUT
170 #define HB_NO_OT_SHAPE
173 #ifdef HB_NO_OT_SHAPE
174 #define HB_NO_AAT_SHAPE
177 #ifdef HB_NO_OT_SHAPE_FALLBACK
178 #define HB_NO_OT_SHAPER_ARABIC_FALLBACK
179 #define HB_NO_OT_SHAPER_HEBREW_FALLBACK
180 #define HB_NO_OT_SHAPER_THAI_FALLBACK
181 #define HB_NO_OT_SHAPER_VOWEL_CONSTRAINTS
182 #define HB_NO_OT_SHAPER_MYANMAR_ZAWGYI
185 #ifdef HB_OPTIMIZE_SIZE_MORE
186 #define HB_NO_OT_RULESETS_FAST_PATH
189 #ifdef HB_MINIMIZE_MEMORY_USAGE
190 #define HB_NO_GDEF_CACHE
191 #define HB_NO_OT_LAYOUT_LOOKUP_CACHE
192 #define HB_NO_OT_FONT_ADVANCE_CACHE
193 #define HB_NO_OT_FONT_CMAP_CACHE
196 #ifdef HB_OPTIMIZE_SIZE
197 #define HB_OPTIMIZE_SIZE_VAL 1
199 #define HB_OPTIMIZE_SIZE_VAL 0
202 #ifdef HB_MINIMIZE_MEMORY_USAGE
203 #define HB_MINIMIZE_MEMORY_USAGE_VAL 1
205 #define HB_MINIMIZE_MEMORY_USAGE_VAL 0
208 #endif /* HB_CONFIG_HH */