8000 ft2font: Avoid undefined enum values · matplotlib/matplotlib@81fa2e4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 81fa2e4

Browse files
committed
ft2font: Avoid undefined enum values
By simply defining them if not available.
1 parent 9a834ad commit 81fa2e4

File tree

2 files changed

+36
-34
lines changed

2 files changed

+36
-34
lines changed

lib/matplotlib/ft2font.pyi

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ class FaceFlags(Flag):
2525
CID_KEYED = cast(int, ...)
2626
TRICKY = cast(int, ...)
2727
COLOR = cast(int, ...)
28-
# VARIATION = cast(int, ...) # FT 2.9
29-
# SVG = cast(int, ...) # FT 2.12
30-
# SBIX = cast(int, ...) # FT 2.12
31-
# SBIX_OVERLAY = cast(int, ...) # FT 2.12
28+
VARIATION = cast(int, ...)
29+
SVG = cast(int, ...)
30+
SBIX = cast(int, ...)
31+
SBIX_OVERLAY = cast(int, ...)
3232

3333
class Kerning(Enum):
3434
DEFAULT = cast(int, ...)
@@ -52,9 +52,9 @@ class LoadFlags(Flag):
5252
LINEAR_DESIGN = cast(int, ...)
5353
NO_AUTOHINT = cast(int, ...)
5454
COLOR = cast(int, ...)
55-
COMPUTE_METRICS = cast(int, ...) # FT 2.6.1
56-
# BITMAP_METRICS_ONLY = cast(int, ...) # FT 2.7.1
57-
# NO_SVG = cast(int, ...) # FT 2.13.1
55+
COMPUTE_METRICS = cast(int, ...)
56+
BITMAP_METRICS_ONLY = cast(int, ...)
57+
NO_SVG = cast(int, ...)
5858
# The following should be unique, but the above can be OR'd together.
5959
TARGET_NORMAL = cast(int, ...)
6060
TARGET_LIGHT = cast(int, ...)

src/ft2font_wrapper.cpp

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
6982
enum 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

128129
const 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+
137148
enum 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

Comments
 (0)
0