CoreText: Fix incorrect underline position and thickness calculation

This commit is contained in:
Kovid Goyal 2017-12-13 13:59:11 +05:30
parent da0309545e
commit 872118fcbe
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -247,8 +247,8 @@ cell_metrics(PyObject *s, unsigned int* cell_width, unsigned int* cell_height, u
*cell_width = MAX(1, width);
float line_height = MAX(1, floor(self->ascent + self->descent + MAX(0, self->leading) + 0.5));
*cell_height = (unsigned int)line_height;
*underline_position = (unsigned int)self->underline_position;
*underline_thickness = (unsigned int)self->underline_thickness;
*underline_position = floor(self->ascent - self->underline_position + 0.5);
*underline_thickness = (unsigned int)ceil(MAX(0.1, self->underline_thickness));
*baseline = (unsigned int)self->ascent;
}