• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright © 2019  Facebook, Inc.
3  *
4  *  This is part of HarfBuzz, a text shaping library.
5  *
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.
11  *
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
16  * DAMAGE.
17  *
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.
23  *
24  * Facebook Author(s): Behdad Esfahbod
25  */
26 
27 #ifndef HB_CONFIG_HH
28 #define HB_CONFIG_HH
29 
30 #if 0 /* Make test happy. */
31 #include "hb.hh"
32 #endif
33 
34 #ifdef HAVE_CONFIG_H
35 #include "config.h"
36 #endif
37 
38 
39 #ifdef HB_TINY
40 #define HB_LEAN
41 #define HB_MINI
42 #define HB_NO_MT
43 #ifndef NDEBUG
44 #define NDEBUG
45 #endif
46 #ifndef __OPTIMIZE_SIZE__
47 #define __OPTIMIZE_SIZE__
48 #endif
49 #endif
50 
51 #ifdef HB_LEAN
52 #define HB_DISABLE_DEPRECATED
53 #define HB_NDEBUG
54 #define HB_NO_ATEXIT
55 #define HB_NO_BUFFER_MESSAGE
56 #define HB_NO_BUFFER_SERIALIZE
57 #define HB_NO_BITMAP
58 #define HB_NO_CFF
59 #define HB_NO_COLOR
60 #define HB_NO_GETENV
61 #define HB_NO_LAYOUT_UNUSED
62 #define HB_NO_MATH
63 #define HB_NO_NAME
64 #define HB_NO_SUBSET_LAYOUT
65 #endif
66 
67 #ifdef HB_MINI
68 #define HB_NO_AAT
69 #define HB_NO_LEGACY
70 #endif
71 
72 /* Closure. */
73 
74 #ifdef HB_DISABLE_DEPRECATED
75 #define HB_IF_NOT_DEPRECATED(x)
76 #else
77 #define HB_IF_NOT_DEPRECATED(x) x
78 #endif
79 
80 #ifdef HB_NO_AAT
81 #define HB_NO_OT_NAME_LANGUAGE_AAT
82 #define HB_NO_SHAPE_AAT
83 #endif
84 
85 #ifdef HB_NO_BITMAP
86 #define HB_NO_OT_FONT_BITMAP
87 #endif
88 
89 #ifdef HB_NO_CFF
90 #define HB_NO_OT_FONT_CFF
91 #define HB_NO_SUBSET_CFF
92 #endif
93 
94 #ifdef HB_NO_GETENV
95 #define HB_NO_UNISCRIBE_BUG_COMPATIBLE
96 #endif
97 
98 #ifdef HB_NO_LEGACY
99 #define HB_NO_OT_LAYOUT_BLACKLIST
100 #define HB_NO_OT_SHAPE_FALLBACK
101 #endif
102 
103 #ifdef HB_NO_NAME
104 #define HB_NO_OT_NAME_LANGUAGE
105 #endif
106 
107 #ifdef HB_NO_OT_SHAPE_FALLBACK
108 #define HB_NO_OT_SHAPE_COMPLEX_ARABIC_FALLBACK
109 #define HB_NO_OT_SHAPE_COMPLEX_HEBREW_FALLBACK
110 #define HB_NO_OT_SHAPE_COMPLEX_THAI_FALLBACK
111 #define HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS
112 #endif
113 
114 #ifdef NDEBUG
115 #ifndef HB_NDEBUG
116 #define HB_NDEBUG
117 #endif
118 #endif
119 
120 #ifdef __OPTIMIZE_SIZE__
121 #ifndef HB_OPTIMIZE_SIZE
122 #define HB_OPTIMIZE_SIZE
123 #endif
124 #endif
125 
126 #ifdef HAVE_CONFIG_OVERRIDE_H
127 #include "config-override.h"
128 #endif
129 
130 
131 #endif /* HB_CONFIG_HH */
132