main: round strikeout position, and ceil strikeout thickness

This fixes an issue where sometimes the strikeout thickness where
truncated to 0 (e.g. Cascadia Code).

Note that we already do this for the underline calculations.
This commit is contained in:
Daniel Eklöf 2019-09-21 00:46:15 +02:00
parent 55968413b6
commit a1cd3769a3
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

4
main.c
View file

@ -643,8 +643,8 @@ main(int argc, char *const *argv)
TT_OS2 *os2 = FT_Get_Sfnt_Table(ft_face, ft_sfnt_os2);
if (os2 != NULL) {
f->strikeout.position = os2->yStrikeoutPosition * x_scale / 64.;
f->strikeout.thickness = os2->yStrikeoutSize * x_scale / 64.;
f->strikeout.position = round(os2->yStrikeoutPosition * x_scale / 64.);
f->strikeout.thickness = ceil(os2->yStrikeoutSize * x_scale / 64.);
}
if (f->strikeout.position == 0.) {