summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/web2c/mplibdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/mplibdir/mp.w16
-rw-r--r--Build/source/texk/web2c/mplibdir/mpxout.w13
-rw-r--r--Build/source/texk/web2c/mplibdir/psout.w17
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)