Skip to content

Commit ea69e03

Browse files
committed
Fix definition of FIXED_MAJOR.
It was masking the wrong bits, but fortunately, we never seem to use this value for anything.
1 parent 58625a5 commit ea69e03

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

src/ft2font.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ extern "C" {
1818
/*
1919
By definition, FT_FIXED as 2 16bit values stored in a single long.
2020
*/
21-
#define FIXED_MAJOR(val) (unsigned short)((val & 0xffff000) >> 16)
21+
#define FIXED_MAJOR(val) (signed short)((val & 0xffff0000) >> 16)
2222
#define FIXED_MINOR(val) (unsigned short)(val & 0xffff)
2323

2424
// the FreeType string rendered into a width, height buffer

src/ft2font_wrapper.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,7 +1134,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
11341134
switch (tag) {
11351135
case 0: {
11361136
char head_dict[] =
1137-
"{s:(H,H), s:(H,H), s:l, s:l, s:H, s:H,"
1137+
"{s:(h,H), s:(h,H), s:l, s:l, s:H, s:H,"
11381138
"s:(l,l), s:(l,l), s:h, s:h, s:h, s:h, s:H, s:H, s:h, s:h, s:h}";
11391139
TT_Header *t = (TT_Header *)table;
11401140
return Py_BuildValue(head_dict,
@@ -1179,7 +1179,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
11791179
}
11801180
case 1: {
11811181
char maxp_dict[] =
1182-
"{s:(h,h), s:H, s:H, s:H, s:H, s:H, s:H,"
1182+
"{s:(h,H), s:H, s:H, s:H, s:H, s:H, s:H,"
11831183
"s:H, s:H, s:H, s:H, s:H, s:H, s:H, s:H}";
11841184
TT_MaxProfile *t = (TT_MaxProfile *)table;
11851185
return Py_BuildValue(maxp_dict,
@@ -1281,7 +1281,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
12811281
}
12821282
case 3: {
12831283
char hhea_dict[] =
1284-
"{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h,"
1284+
"{s:(h,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h,"
12851285
"s:h, s:h, s:h, s:h, s:H}";
12861286
TT_HoriHeader *t = (TT_HoriHeader *)table;
12871287
return Py_BuildValue(hhea_dict,
@@ -1315,7 +1315,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
13151315
}
13161316
case 4: {
13171317
char vhea_dict[] =
1318-
"{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h,"
1318+
"{s:(h,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h,"
13191319
"s:h, s:h, s:h, s:h, s:H}";
13201320
TT_VertHeader *t = (TT_VertHeader *)table;
13211321
return Py_BuildValue(vhea_dict,
@@ -1348,7 +1348,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
13481348
t->number_Of_VMetrics);
13491349
}
13501350
case 5: {
1351-
char post_dict[] = "{s:(H,H), s:(H,H), s:h, s:h, s:k, s:k, s:k, s:k, s:k}";
1351+
char post_dict[] = "{s:(h,H), s:(h,H), s:h, s:h, s:k, s:k, s:k, s:k, s:k}";
13521352
TT_Postscript *t = (TT_Postscript *)table;
13531353
return Py_BuildValue(post_dict,
13541354
"format",
@@ -1375,11 +1375,11 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj
13751375
case 6: {
13761376
#if PY3K
13771377
char pclt_dict[] =
1378-
"{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, "
1378+
"{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, "
13791379
"s:b, s:b}";
13801380
#else
13811381
char pclt_dict[] =
1382-
"{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, "
1382+
"{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, "
13831383
"s:b, s:b}";
13841384
#endif
13851385
TT_PCLT *t = (TT_PCLT *)table;

0 commit comments

Comments
 (0)