diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2014-01-30 14:57:09 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2014-01-30 14:57:09 +0000 |
commit | a2f64a193fa3d36e97770a8254b905bd2d009d05 (patch) | |
tree | c14b54cd6b5a5590a5bf37485e8a22c16c6a2fd4 /Build/source/texk/web2c/mplibdir/pngout.w | |
parent | 32b702a53c4af5beb62fcc2915147b8202ead01f (diff) |
Import from MetaPost trunk
git-svn-id: svn://tug.org/texlive/trunk@32823 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/mplibdir/pngout.w')
-rw-r--r-- | Build/source/texk/web2c/mplibdir/pngout.w | 9 |
1 files changed, 8 insertions, 1 deletions
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); } |