- line_width = line_width / 2.0 - (long) (line_width / 2.0);
- line_height = line_height / 2.0 - (long) (line_height / 2.0);
- *x = (double) ((long) (*x + 0.5)) - line_width;
- *y = (double) ((long) (*y + 0.5)) + line_height;
+ line_width = line_width / 2.0 - ceil(line_width / 2.0);
+ line_height = line_height / 2.0 - ceil(line_height / 2.0);
+ *x = floor(*x - 0.5) - line_width;
+ *y = ceil(*y + 0.5) + line_height;