@@ -66,6 +66,19 @@ const char *FaceFlags__doc__ = R"""(
6666 .. versionadded:: 3.10
6767)""" ;
6868
69+ #ifndef FT_FACE_FLAG_VARIATION // backcompat: ft 2.9.0.
70+ #define FT_FACE_FLAG_VARIATION (1L << 15 )
71+ #endif
72+ #ifndef FT_FACE_FLAG_SVG // backcompat: ft 2.12.0.
73+ #define FT_FACE_FLAG_SVG (1L << 16 )
74+ #endif
75+ #ifndef FT_FACE_FLAG_SBIX // backcompat: ft 2.12.0.
76+ #define FT_FACE_FLAG_SBIX (1L << 17 )
77+ #endif
78+ #ifndef FT_FACE_FLAG_SBIX_OVERLAY // backcompat: ft 2.12.0.
79+ #define FT_FACE_FLAG_SBIX_OVERLAY (1L << 18 )
80+ #endif
81+
6982enum class FaceFlags : FT_Long {
7083#define DECLARE_FLAG (name ) name = FT_FACE_FLAG_##name
7184 DECLARE_FLAG (SCALABLE),
@@ -83,18 +96,10 @@ enum class FaceFlags : FT_Long {
8396 DECLARE_FLAG (CID_KEYED),
8497 DECLARE_FLAG (TRICKY),
8598 DECLARE_FLAG (COLOR),
86- #ifdef FT_FACE_FLAG_VARIATION // backcompat: ft 2.9.0.
8799 DECLARE_FLAG (VARIATION),
88- #endif
89- #ifdef FT_FACE_FLAG_SVG // backcompat: ft 2.12.0.
90100 DECLARE_FLAG (SVG),
91- #endif
92- #ifdef FT_FACE_FLAG_SBIX // backcompat: ft 2.12.0.
93101 DECLARE_FLAG (SBIX),
94- #endif
95- #ifdef FT_FACE_FLAG_SBIX_OVERLAY // backcompat: ft 2.12.0.
96102 DECLARE_FLAG (SBIX_OVERLAY),
97- #endif
98103#undef DECLARE_FLAG
99104};
100105
@@ -115,14 +120,10 @@ P11X_DECLARE_ENUM(
115120 {" CID_KEYED" , FaceFlags::CID_KEYED},
116121 {" TRICKY" , FaceFlags::TRICKY},
117122 {" COLOR" , FaceFlags::COLOR},
118- // backcompat: ft 2.9.0.
119- // {"VARIATION", FaceFlags::VARIATION},
120- // backcompat: ft 2.12.0.
121- // {"SVG", FaceFlags::SVG},
122- // backcompat: ft 2.12.0.
123- // {"SBIX", FaceFlags::SBIX},
124- // backcompat: ft 2.12.0.
125- // {"SBIX_OVERLAY", FaceFlags::SBIX_OVERLAY},
123+ {" VARIATION" , FaceFlags::VARIATION},
124+ {" SVG" , FaceFlags::SVG},
125+ {" SBIX" , FaceFlags::SBIX},
126+ {" SBIX_OVERLAY" , FaceFlags::SBIX_OVERLAY},
126127);
127128
128129const char *LoadFlags__doc__ = R"""(
@@ -134,6 +135,16 @@ const char *LoadFlags__doc__ = R"""(
134135 .. versionadded:: 3.10
135136)""" ;
136137
138+ #ifndef FT_LOAD_COMPUTE_METRICS // backcompat: ft 2.6.1.
139+ #define FT_LOAD_COMPUTE_METRICS (1L << 21 )
140+ #endif
141+ #ifndef FT_LOAD_BITMAP_METRICS_ONLY // backcompat: ft 2.7.1.
142+ #define FT_LOAD_BITMAP_METRICS_ONLY (1L << 22 )
143+ #endif
144+ #ifndef FT_LOAD_NO_SVG // backcompat: ft 2.13.1.
145+ #define FT_LOAD_NO_SVG (1L << 24 )
146+ #endif
147+
137148enum class LoadFlags : FT_Int32 {
138149#define DECLARE_FLAG (name ) name = FT_LOAD_##name
139150 DECLARE_FLAG (DEFAULT),
@@ -152,15 +163,9 @@ enum class LoadFlags : FT_Int32 {
152163 DECLARE_FLAG (LINEAR_DESIGN),
153164 DECLARE_FLAG (NO_AUTOHINT),
154165 DECLARE_FLAG (COLOR),
155- #ifdef FT_LOAD_COMPUTE_METRICS // backcompat: ft 2.6.1.
156166 DECLARE_FLAG (COMPUTE_METRICS),
157- #endif
158- #ifdef FT_LOAD_BITMAP_METRICS_ONLY // backcompat: ft 2.7.1.
159167 DECLARE_FLAG (BITMAP_METRICS_ONLY),
160- #endif
161- #ifdef FT_LOAD_NO_SVG // backcompat: ft 2.13.1.
162168 DECLARE_FLAG (NO_SVG),
163- #endif
164169 DECLARE_FLAG (TARGET_NORMAL),
165170 DECLARE_FLAG (TARGET_LIGHT),
166171 DECLARE_FLAG (TARGET_MONO),
@@ -187,12 +192,9 @@ P11X_DECLARE_ENUM(
187192 {" LINEAR_DESIGN" , LoadFlags::LINEAR_DESIGN},
188193 {" NO_AUTOHINT" , LoadFlags::NO_AUTOHINT},
189194 {" COLOR" , LoadFlags::COLOR},
190- // backcompat: ft 2.6.1.
191195 {" COMPUTE_METRICS" , LoadFlags::COMPUTE_METRICS},
192- // backcompat: ft 2.7.1.
193- // {"BITMAP_METRICS_ONLY", LoadFlags::BITMAP_METRICS_ONLY},
194- // backcompat: ft 2.13.1.
195- // {"NO_SVG", LoadFlags::NO_SVG},
196+ {" BITMAP_METRICS_ONLY" , LoadFlags::BITMAP_METRICS_ONLY},
197+ {" NO_SVG" , LoadFlags::NO_SVG},
196198 // These must be unique, but the others can be OR'd together; I don't know if
197199 // there's any way to really enforce that.
198200 {" TARGET_NORMAL" , LoadFlags::TARGET_NORMAL},
0 commit comments