diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index 77acb38fd8a1550ca9466aa244a049a03807ee52..59f4605ed4fe2b7945e071f241d3fa509830ee3b 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -8654,7 +8654,7 @@ write_char(char ch) // yh = font_metrics[rip.font.num][3].base * mult / div; // This way seems insane... but seems to work. - yh = (((char)rip_fonts[rip.font.num - 1][0x88]) - ((char)rip_fonts[rip.font.num - 1][0x8a])) * mult + yh = (((signed char)rip_fonts[rip.font.num - 1][0x88]) - ((signed char)rip_fonts[rip.font.num - 1][0x8a])) * mult / div; // printf("Font: %d @ %d\n", rip.font.num, rip.font.size); @@ -8680,8 +8680,8 @@ write_char(char ch) cx |= 0x80; if (cy & 0x40) cy |= 0x80; - bcx = (cx * mult) / div; - bcy = (cy * mult) / div; + bcx = ((signed char)cx * mult) / div; + bcy = ((signed char)cy * mult) / div; if (rip.font.vertical) { dx = yh - bcy; dy = -bcx;