diff -u mgp-snap-20000228-vanilla/draw.c mgp-snap-20000228/draw.c
--- mgp-snap-20000228-vanilla/draw.c	Tue Feb 22 17:34:18 2000
+++ mgp-snap-20000228/draw.c	Fri Mar  3 19:35:50 2000
@@ -2070,10 +2070,20 @@
 			strcpy(buf, seed);
 			break;
 		}
-		sprintf(tmp, "%s-*-*", seed);
+		sprintf(tmp, "-*-%s-*-*", seed);
 		sprintf(buf, FONT_FORMAT, tmp, tmp2, registry);
 		break;
 	case 2:
+		if (seed[0] == '-') {
+			/* "-foundry-name" */
+			sprintf(tmp, "%s-*-*", seed);
+		} else {
+			/* "name-weight-slant" */
+			sprintf(tmp, "-*-%s", seed);
+		}
+		sprintf(buf, FONT_FORMAT, tmp, tmp2, registry);
+		break;
+	case 4:
 		sprintf(buf, FONT_FORMAT, seed, tmp2, registry);
 		break;
 	case XLFD_HYPHEN:
@@ -3795,6 +3805,7 @@
 		seed = tmp1;
 		break;
 	case 2:
+	case 4:
 	case XLFD_HYPHEN:
 		/* as is */
 		break;
diff -u mgp-snap-20000228-vanilla/grammar.y mgp-snap-20000228/grammar.y
--- mgp-snap-20000228-vanilla/grammar.y	Fri Sep 10 09:13:41 1999
+++ mgp-snap-20000228/grammar.y	Fri Mar  3 21:45:58 2000
@@ -614,6 +614,7 @@
 	case 0:
 	case 1:
 	case 2:
+	case 4:
 	case XLFD_HYPHEN:
 		break;
 	default:
diff -u mgp-snap-20000228-vanilla/mgp.h mgp-snap-20000228/mgp.h
--- mgp-snap-20000228-vanilla/mgp.h	Fri Dec 17 20:21:16 1999
+++ mgp-snap-20000228/mgp.h	Fri Mar  3 19:25:55 2000
@@ -106,7 +106,7 @@
 #define DEFAULT_BQUALITY	100
 
 #define XLFD_HYPHEN	14
-#define FONT_FORMAT	"-*-%s-*-*-%s-*-*-*-*-*-%s"
+#define FONT_FORMAT	"%s-*-*-%s-*-*-*-*-*-%s"
 #define DEFAULT_X_FONT	"times-medium-r"
 #define CUTIN_DELAY	15000
 #define SHRINK_DELAY	00500
diff -u mgp-snap-20000228-vanilla/print.c mgp-snap-20000228/print.c
--- mgp-snap-20000228-vanilla/print.c	Sun Nov 28 15:35:09 1999
+++ mgp-snap-20000228/print.c	Fri Mar  3 23:00:20 2000
@@ -1942,6 +1990,12 @@
 		if ((p = findttfont(ctrl, lang, font))) goto found;
 #endif
 
+	if ((ctrl == CTL_XFONT2) && (*font == '-')) {
+		font++;
+		while (*font != '-') font++;
+		font++;
+	}
+		
 	for (p = fontmap; 0 <= p->ctrl; p++) {
 		if (p->ctrl != ctrl || p->lang != lang)
 			continue;

