From a2f64a193fa3d36e97770a8254b905bd2d009d05 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Thu, 30 Jan 2014 14:57:09 +0000 Subject: Import from MetaPost trunk git-svn-id: svn://tug.org/texlive/trunk@32823 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/mplibdir/pngout.w | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Build/source/texk/web2c/mplibdir/pngout.w') diff --git a/Build/source/texk/web2c/mplibdir/pngout.w b/Build/source/texk/web2c/mplibdir/pngout.w index c4ce4d82567..7255baec115 100644 --- a/Build/source/texk/web2c/mplibdir/pngout.w +++ b/Build/source/texk/web2c/mplibdir/pngout.w @@ -340,13 +340,19 @@ boolean mp_is_curved(mp_gr_knot p, mp_gr_knot q) { } -@ @c +@ Cairo does not want to draw a path that consists of only a moveto, +so make sure there is some kind of line even for single-pair paths. +@c static void mp_png_path_out (MP mp, mp_gr_knot h) { mp_gr_knot p, q; /* for scanning the path */ + int steps = 0; cairo_move_to (mp->png->cr, gr_x_coord(h),gr_y_coord(h)); p=h; do { if ( gr_right_type(p)==mp_endpoint ) { + if (steps==0) { + cairo_line_to (mp->png->cr, gr_x_coord(p),gr_y_coord(p)); + } return; } q=gr_next_knot(p); @@ -358,6 +364,7 @@ static void mp_png_path_out (MP mp, mp_gr_knot h) { cairo_line_to (mp->png->cr, gr_x_coord(q),gr_y_coord(q)); } p=q; + steps++; } while (p!=h); } -- cgit v1.2.3