Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb3d0b19

Browse files
committed
Make PyFT2Font a subclass of FT2Font
1 parent8397908 commitb3d0b19

File tree

3 files changed

+99
-177
lines changed

3 files changed

+99
-177
lines changed

‎src/ft2font.cpp‎

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -207,15 +207,13 @@ FT2Font::get_path(std::vector<double> &vertices, std::vector<unsigned char> &cod
207207
}
208208

209209
FT2Font::FT2Font(long hinting_factor_, std::vector<FT2Font *> &fallback_list,
210-
FT2Font::WarnFunc warn,bool warn_if_used)
211-
:ft_glyph_warn(warn),warn_if_used(warn_if_used), image({1,1}), face(nullptr),
210+
bool warn_if_used)
211+
: warn_if_used(warn_if_used), image({1,1}), face(nullptr), fallbacks(fallback_list),
212212
hinting_factor(hinting_factor_),
213213
// set default kerning factor to 0, i.e., no kerning manipulation
214214
kerning_factor(0)
215215
{
216216
clear();
217-
// Set fallbacks
218-
std::copy(fallback_list.begin(), fallback_list.end(),std::back_inserter(fallbacks));
219217
}
220218

221219
FT2Font::~FT2Font()
@@ -544,21 +542,19 @@ FT_UInt FT2Font::get_char_index(FT_ULong charcode, bool fallback = false)
544542
returnFT_Get_Char_Index(ft_object->get_face(), charcode);
545543
}
546544

547-
voidFT2Font::get_width_height(long *width,long *height)
545+
std::tuple<long,long>FT2Font::get_width_height()
548546
{
549-
*width = advance;
550-
*height = bbox.yMax - bbox.yMin;
547+
return {advance, bbox.yMax - bbox.yMin};
551548
}
552549

553550
longFT2Font::get_descent()
554551
{
555552
return -bbox.yMin;
556553
}
557554

558-
voidFT2Font::get_bitmap_offset(long *x,long *y)
555+
std::tuple<long,long>FT2Font::get_bitmap_offset()
559556
{
560-
*x = bbox.xMin;
561-
*y =0;
557+
return {bbox.xMin,0};
562558
}
563559

564560
voidFT2Font::draw_glyphs_to_bitmap(bool antialiased)

‎src/ft2font.h‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include<set>
1313
#include<string>
1414
#include<string_view>
15+
#include<tuple>
1516
#include<unordered_map>
1617
#include<vector>
1718

@@ -96,11 +97,9 @@ extern FT_Library _ft2Library;
9697

9798
classFT2Font
9899
{
99-
typedefvoid (*WarnFunc)(FT_ULong charcode, std::set<FT_String*> family_names);
100-
101100
public:
102101
FT2Font(long hinting_factor, std::vector<FT2Font *> &fallback_list,
103-
WarnFunc warn,bool warn_if_used);
102+
bool warn_if_used);
104103
virtual~FT2Font();
105104
voidopen(FT_Open_Args &open_args);
106105
voidclose();
@@ -124,8 +123,8 @@ class FT2Font
124123
std::set<FT_String*> &glyph_seen_fonts,
125124
booloverride);
126125
voidload_glyph(FT_UInt glyph_index, FT_Int32 flags);
127-
voidget_width_height(long *width,long *height);
128-
voidget_bitmap_offset(long *x,long *y);
126+
std::tuple<long,long>get_width_height();
127+
std::tuple<long,long>get_bitmap_offset();
129128
longget_descent();
130129
voiddraw_glyphs_to_bitmap(bool antialiased);
131130
voiddraw_glyph_to_bitmap(
@@ -167,8 +166,9 @@ class FT2Font
167166
returnFT_HAS_KERNING(face);
168167
}
169168

169+
protected:
170+
virtualvoidft_glyph_warn(FT_ULong charcode, std::set<FT_String*> family_names) = 0;
170171
private:
171-
WarnFunc ft_glyph_warn;
172172
bool warn_if_used;
173173
py::array_t<uint8_t, py::array::c_style> image;
174174
FT_Face face;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp