diff options
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/web2c/mplibdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/mplibdir/mp.w | 16 | ||||
-rw-r--r-- | Build/source/texk/web2c/mplibdir/mpxout.w | 13 | ||||
-rw-r--r-- | Build/source/texk/web2c/mplibdir/psout.w | 17 |
4 files changed, 37 insertions, 13 deletions
diff --git a/Build/source/texk/web2c/mplibdir/ChangeLog b/Build/source/texk/web2c/mplibdir/ChangeLog index 5113fae75af..6c4997a752f 100644 --- a/Build/source/texk/web2c/mplibdir/ChangeLog +++ b/Build/source/texk/web2c/mplibdir/ChangeLog @@ -1,3 +1,7 @@ +2009-05-11 Taco Hoekwater <taco@elvenkind.com> + + * Released version of MPLib 1.200 + 2009-05-08 Taco Hoekwater <taco@elvenkind.com> * Recent MPlib updates diff --git a/Build/source/texk/web2c/mplibdir/mp.w b/Build/source/texk/web2c/mplibdir/mp.w index 6c56da8e3e0..d8a89517356 100644 --- a/Build/source/texk/web2c/mplibdir/mp.w +++ b/Build/source/texk/web2c/mplibdir/mp.w @@ -1,4 +1,4 @@ -% $Id: mp.w 999 2009-04-29 09:05:32Z taco $ +% $Id: mp.w 1016 2009-05-09 12:51:56Z taco $ % % Copyright 2008 Taco Hoekwater. % @@ -26278,11 +26278,12 @@ in the output of |mp_ps_font_charstring|. @c pointer mp_gr_unexport(MP mp, struct mp_edge_object *hh) { pointer h; /* the edge object */ - pointer ph, pn; /* for adding items */ + pointer ph, pn, pt; /* for adding items */ mp_graphic_object *p; /* the current graphical object */ h = mp_get_node(mp, edge_header_size); mp_init_edges(mp, h); ph = dummy_loc(h); + pt = ph; p = hh->body; minx_val(h) = hh->minx; miny_val(h) = hh->miny; @@ -26293,13 +26294,16 @@ pointer mp_gr_unexport(MP mp, struct mp_edge_object *hh) { case mp_fill_code: if ( gr_pen_p((mp_fill_object *)p)==NULL ) { pn = mp_new_fill_node (mp, null); - mp_path_p(pn) = mp_import_knot_list(mp,gr_path_p((mp_fill_object *)p)); + mp_path_p(pn) = mp_import_knot_list(mp,gr_path_p((mp_fill_object *)p)); + mp_color_model(pn)=mp_grey_model; if (mp_new_turn_cycles(mp, mp_path_p(pn))<0) { - mp_color_model(pn)=mp_grey_model; grey_val(pn) = unity; + mp_link(pt) = pn; + pt = mp_link(pt); + } else { + mp_link(pn) = mp_link(ph); + mp_link(ph) = pn; } - mp_link(ph) = pn; - ph = mp_link(ph); } break; case mp_stroked_code: diff --git a/Build/source/texk/web2c/mplibdir/mpxout.w b/Build/source/texk/web2c/mplibdir/mpxout.w index 3c7edb2f531..963237492d1 100644 --- a/Build/source/texk/web2c/mplibdir/mpxout.w +++ b/Build/source/texk/web2c/mplibdir/mpxout.w @@ -1,4 +1,4 @@ -% $Id: mpxout.w 997 2009-04-27 19:31:57Z taco $
+% $Id: mpxout.w 1024 2009-05-11 08:22:49Z taco $
%
% Copyright 2008 Taco Hoekwater.
%
@@ -513,14 +513,17 @@ static void mpx_copy_mpto (MPX mpx, FILE *outfile) { if (mpx_getbta(mpx, mpx->aa) && *(mpx->tt) == 'e') {
s = mpx->tt;
} else {
- if (mpx->tt == NULL)
+ if (mpx->tt == NULL) {
mpx_error(mpx,"btex section does not end");
- else if (*(mpx->tt) == 'b')
+ return;
+ } else if (*(mpx->tt) == 'b') {
mpx_error(mpx,"btex in TeX mode");
- else if (*(mpx->tt) == 'v')
+ return;
+ } else if (*(mpx->tt) == 'v') {
mpx_error(mpx,"verbatimtex in TeX mode");
+ return;
+ }
s = mpx->aa;
- return;
}
c = *s;
*s = 0;
diff --git a/Build/source/texk/web2c/mplibdir/psout.w b/Build/source/texk/web2c/mplibdir/psout.w index 87be9dc25e4..4f532c38846 100644 --- a/Build/source/texk/web2c/mplibdir/psout.w +++ b/Build/source/texk/web2c/mplibdir/psout.w @@ -1,4 +1,4 @@ -% $Id: psout.w 963 2009-04-21 13:35:03Z taco $ +% $Id: psout.w 1017 2009-05-09 16:40:50Z taco $ % % Copyright 2008 Taco Hoekwater. % @@ -1307,7 +1307,7 @@ static int check_fm_entry (MP mp, fm_entry * fm, boolean warn) { mp->selector = save_selector; mp->ps->fm_file = NULL; } - mp_xfree(n); + /* mp_xfree(n); */ break; case MAPLINE: fm_scan_line (mp); @@ -3509,6 +3509,19 @@ boolean cs_parse (MP mp, mp_ps_font *f, const char *cs_name, int subr); q->next = f->p; } } + if (f->p!=NULL) { + mp_knot *r, *rr; + r = gr_path_p((mp_fill_object *)f->p); + rr = r; + if (r && r->x_coord == f->pp->x_coord && r->y_coord == f->pp->y_coord ) { + while ( rr->next != f->pp) + rr = rr->next; + rr->next = r; + r->left_x = f->pp->left_x; + r->left_y = f->pp->left_y; + mp_xfree(f->pp); + } + } f->p = NULL; f->pp = NULL; } while (0) |