On Mon, Jan 14, 2013 at 07:41:58PM +0100, John Darrington wrote: > There are the lines: > > xr->left_margin = parse_dimension (opt (d, o, "left-margin", ".5in")); > xr->right_margin = parse_dimension (opt (d, o, "right-margin", ".5in")); > xr->top_margin = parse_dimension (opt (d, o, "top-margin", ".5in")); > xr->bottom_margin = parse_dimension (opt (d, o, "bottom-margin", ".5in")); > > Now the comment to parse_dimension says the return value is in 1/72000 of an > inch. > That is in 1/1000 of a point. > > Later there is code like: > > cairo_translate (cairo, > xr_to_pt (xr->left_margin), > xr_to_pt (xr->top_margin)); > > and xr_to_pt is defined as: > > > /* Conversions to and from points. */ > static double > xr_to_pt (int x) > { > return x / (double) PANGO_SCALE;
(Well it actually says XR_SCALE but that's defined as PANGO_SCALE.) > } > > This would be correct if PANGO_SCALE was 1000 but on my system it is defined > as > 1024 > > > Is there an error here somewhere? I think that we can just change the definition of XR_POINT to 1000. Do you see any problems with that? It doesn't obviously change the output. (A difference of 2.4% is difficult to spot.) _______________________________________________ pspp-dev mailing list pspp-dev@gnu.org https://lists.gnu.org/mailman/listinfo/pspp-dev