hb-config.hh 2.6 KB
Newer Older
B
Behdad Esfahbod 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
/*
 * Copyright © 2019  Facebook, Inc.
 *
 *  This is part of HarfBuzz, a text shaping library.
 *
 * Permission is hereby granted, without written agreement and without
 * license or royalty fees, to use, copy, modify, and distribute this
 * software and its documentation for any purpose, provided that the
 * above copyright notice and the following two paragraphs appear in
 * all copies of this software.
 *
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 *
 * Facebook Author(s): Behdad Esfahbod
 */

#ifndef HB_CONFIG_HH
#define HB_CONFIG_HH

B
Behdad Esfahbod 已提交
30 31 32
#if 0 /* Make test happy. */
#include "hb.hh"
#endif
33

B
Behdad Esfahbod 已提交
34 35 36 37 38
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif


B
Behdad Esfahbod 已提交
39
#ifdef HB_TINY
B
Behdad Esfahbod 已提交
40
#define HB_LEAN
B
Behdad Esfahbod 已提交
41
#define HB_MINI
42
#define HB_NO_MT
43 44 45
#ifndef NDEBUG
#define NDEBUG
#endif
B
Behdad Esfahbod 已提交
46 47 48
#endif

#ifdef HB_LEAN
49
#define HB_DISABLE_DEPRECATED
50
#define HB_NDEBUG
51
#define HB_NO_ATEXIT
52
#define HB_NO_BUFFER_SERIALIZE
B
Behdad Esfahbod 已提交
53 54
#define HB_NO_BITMAP
#define HB_NO_CFF
55
#define HB_NO_COLOR
56
#define HB_NO_GETENV
57
#define HB_NO_LAYOUT_UNUSED
B
Behdad Esfahbod 已提交
58
#define HB_NO_MATH
B
Behdad Esfahbod 已提交
59
#define HB_NO_NAME
60
#define HB_NO_SUBSET_LAYOUT
B
Behdad Esfahbod 已提交
61
#endif
B
Behdad Esfahbod 已提交
62

B
Behdad Esfahbod 已提交
63 64
#ifdef HB_MINI
#define HB_NO_AAT
B
Behdad Esfahbod 已提交
65
#define HB_NO_LEGACY
B
Behdad Esfahbod 已提交
66
#endif
B
Behdad Esfahbod 已提交
67 68 69

/* Closure. */

70 71 72 73 74 75
#ifdef HB_DISABLE_DEPRECATED
#define HB_IF_NOT_DEPRECATED(x)
#else
#define HB_IF_NOT_DEPRECATED(x) x
#endif

B
Behdad Esfahbod 已提交
76
#ifdef HB_NO_AAT
77
#define HB_NO_OT_NAME_LANGUAGE_AAT
B
Behdad Esfahbod 已提交
78 79 80 81 82 83 84 85 86 87 88 89
#define HB_NO_SHAPE_AAT
#endif

#ifdef HB_NO_BITMAP
#define HB_NO_OT_FONT_BITMAP
#endif

#ifdef HB_NO_CFF
#define HB_NO_OT_FONT_CFF
#define HB_NO_SUBSET_CFF
#endif

90 91 92 93
#ifdef HB_NO_GETENV
#define HB_NO_UNISCRIBE_BUG_COMPATIBLE
#endif

B
Behdad Esfahbod 已提交
94 95 96 97 98
#ifdef HB_NO_LEGACY
#define HB_NO_OT_LAYOUT_BLACKLIST
#define HB_NO_OT_SHAPE_FALLBACK
#endif

B
Behdad Esfahbod 已提交
99 100 101 102
#ifdef HB_NO_NAME
#define HB_NO_OT_NAME_LANGUAGE
#endif

B
Behdad Esfahbod 已提交
103
#ifdef HB_NO_OT_SHAPE_FALLBACK
B
Behdad Esfahbod 已提交
104 105 106
#define HB_NO_OT_SHAPE_COMPLEX_ARABIC_FALLBACK
#define HB_NO_OT_SHAPE_COMPLEX_HEBREW_FALLBACK
#define HB_NO_OT_SHAPE_COMPLEX_THAI_FALLBACK
107
#define HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS
B
Behdad Esfahbod 已提交
108 109
#endif

110 111 112 113 114 115
#ifdef NDEBUG
#ifndef HB_NDEBUG
#define HB_NDEBUG
#endif
#endif

B
Behdad Esfahbod 已提交
116

117 118 119 120 121
#ifdef HAVE_CONFIG_OVERRIDE_H
#include "config-override.h"
#endif


B
Behdad Esfahbod 已提交
122
#endif /* HB_CONFIG_HH */