Index: kit/CHANGELOG
diff -u kit/CHANGELOG:1.9 kit/CHANGELOG:removed
--- kit/CHANGELOG:1.9	Sat Sep  5 00:11:21 1998
+++ kit/CHANGELOG	Mon Nov  1 05:10:02 1999
@@ -1,51 +0,0 @@
-CHANGELOG for magicpoint
-$Id: CHANGELOG,v 1.9 1998/09/04 15:11:21 onoe Exp $
-
-Fri Sep  5 1998  onoe@sm.sony.co.jp
-	* handle key inputs from invoked terminal as pressed on Xserver,
-	  even if the Xserver is running on a remote host.
-
-Mon Aug 26 1998  itojun@iijlab.net
-	* new copyright. (BSDish copyright without clause 3)
-
-Mon Aug 25 1998  itojun@iijlab.net
-	* print.c: better x11/freetype/vflib -> postscript font mapping.
-
-Mon Aug 23 1998  kato@wide.ad.jp
-	* embedded image support (added mgpembed.pl and embed.c)
-
-Mon Aug 22 1998  itojun@iijlab.net
-	* added contrib/xmindpath, MindPath PocketPoint user-level driver.
-
-Fri Jul 10 11:57:59 JST 1998  itojun@iijlab.net
-	* cache gs-generated image file.
-	  Suggested by: luigi@FreeBSD.org
-
-Mon Jul  6 11:38:32 JST 1998  itojun@iijlab.net
-	* capable of handling GB2312 and KSC5601 encoding.
-	  they must be encoded by using iso-2022 like escape sequences.
-	  EUC-cn or EUC-kr does not work.
-	* -x option is added.
-
-Thu Jul  2 18:04:16 JST 1998  itojun@iijlab.net
-	* eliminate gsview.
-	* revamp "xfont" directive. (see SYNTAX for detail)
-
-Thu Jun 25 13:10:28 JST 1998  itojun@iijlab.net
-	* print.c: color postscript support by "mgp2ps -c".
-
-changes between 1.02a and 1.03a:
-	* To allow color name that has space inbetween ("dark blue"), 
-	  color name after directives SHOULD come with doublequote.
-	  Therefore,
-		%fore blue
-	  should be
-		%fore "blue"
-	  At this moment, doublequote can be ommitted for backward
-	  compatibility.  We may require to have doublequote in the future.
-	  Font names and other string parameter obeys the same rule.
-	* %image is now capable of rendering encapsulated postscript files
-	  (*.eps).
-		%image foo.eps
-	  should work fine.
-	  By using -X option, you can specify device name for ghostscript.
Index: kit/ctlwords.pl
diff -u kit/ctlwords.pl:1.2 kit/ctlwords.pl:removed
--- kit/ctlwords.pl:1.2	Sat Sep  5 06:05:08 1998
+++ kit/ctlwords.pl	Mon Nov  1 05:10:04 1999
@@ -1,12 +0,0 @@
-#! /usr/bin/perl
-$counter = 0;	# 0 origin
-print "/* generated by ctlwords.awk. do not edit by hand. */\n";
-
-while (<>) {
-	next if (!/^\/\*CTL\*\//);
-	next if ($_ !~ /(CTL_[A-Z0-9]+)/);
-
-	$word = $1;
-	print "#define $word\t$counter\n";
-	$counter++;
-}
Index: kit/print.c
diff -u kit/print.c:1.82 kit/print.c:1.83
--- kit/print.c:1.82	Fri Sep 10 16:13:43 1999
+++ kit/print.c	Sun Oct 31 03:41:36 1999
@@ -26,7 +26,7 @@
  * SUCH DAMAGE.
  */
 /*
- * $Id: print.c,v 1.82 1999/09/10 07:13:43 itojun Exp $
+ * $Id: print.c,v 1.83 1999/10/30 18:41:36 nishida Exp $
  */
 /*
  * Paper size selection code is based on psutil.c by Angus J. C. Duggan
@@ -448,6 +448,12 @@
 	fprintf(fp, "/XBODY WIDTH XMARGIN 2 mul sub def\n");
 	fprintf(fp, "/vertgap %d def /horizgap %d def\n", vert_gap[0], horiz_gap[0]);
 
+	fprintf(fp, "/resety {/ymin 0 def /ymax 0 def} def\n");
+	fprintf(fp, "/setymax {dup ymax gt {dup /ymax exch def} if pop} def\n");
+	fprintf(fp, "/setymin {dup ymin lt {dup /ymin exch def} if pop} def\n");
+	fprintf(fp, "/calcy {false charpath flattenpath pathbbox setymax pop setymin pop} def\n");
+	fprintf(fp, "resety\n");
+
 	/* define writebox */
 	fprintf(fp, "/writebox {\n");
 	fprintf(fp, "  XMARGIN YMARGIN -1 mul moveto "
@@ -467,8 +473,10 @@
 	/* ypos = ypos - (charsize * (1 + vert_gap / 100)) */
 	fprintf(fp, "/NL {\n");
 	fprintf(fp, "  charsize imgsize gt\n");
-	fprintf(fp, "    { vertgap 100 div 1 add charsize mul }\n");
-	fprintf(fp, "    { vertgap 100 div charsize mul imgsize add }\n");
+	fprintf(fp, "	ymax ymin sub /csize exch def\n");
+	fprintf(fp, "	csize 0 eq {/csize charsize def} if\n");
+	fprintf(fp, "    { vertgap 100 div 1 add csize mul }\n");
+	fprintf(fp, "    { vertgap 100 div csize mul imgsize add }\n");
 	fprintf(fp, "  ifelse\n");
 	fprintf(fp, "  ypos exch sub /ypos exch def\n");
 	fprintf(fp, "} bind def\n");
@@ -794,6 +802,7 @@
 	 */
 	fprintf(fp, "initcharsize\n");
 	fprintf(fp, "0 %% sentinel for text width computation\n");
+	fprintf(fp, "gsave newpath 0 0 moveto resety\n");
 
 	for (i = ntextpool - 1; 0 <= i; i--) {
 		if (!textpool[i].text) {
@@ -803,12 +812,20 @@
 #if 0
 		loadfont(textpool[i].font, textpool[i].charset);
 #endif
+
+		fprintf(fp, "%d setcharsize %d %s %s calcy\n",
+			textpool[i].size, textpool[i].size,
+			fontstring(textpool[i].font),
+			textpool[i].text);
+
 		fprintf(fp, "%d setcharsize %d %s %s "
 			"1 copy stringwidth pop 3 2 roll add\n",
 			textpool[i].size, textpool[i].size,
 			fontstring(textpool[i].font),
 			textpool[i].text);
 	}
+	fprintf(fp, "grestore\n");
+
 	if (mgp_flag & FL_VERBOSE) {
 		fprintf(fp, "%% stack should have: str3 str2 str1 width\n");
 		fprintf(fp, "%% alignment: %s\n", alignstr);
@@ -829,7 +846,7 @@
 	fprintf(fp, "/totlen exch def\n");
 	fprintf(fp, "/inmargin true def /fillzero XMARGIN def\n");
 	fprintf(fp, "%sdefxpos ", alignstr);
-	fprintf(fp, "xpos ypos charsize sub moveto\n");
+	fprintf(fp, "xpos ypos ymax sub moveto\n");
 
 	for (i = 0; i < ntextpool; i++) {
 		if (textpool[i].text) {
Index: kit/sample/cloud.gif
Index: kit/sample/dad.gif
Index: kit/sample/mgp-old1.gif
Index: kit/sample/mgp-old2.gif
Index: kit/sample/mgp-old3.gif
Index: kit/sample/mgp1.gif
Index: kit/sample/mgp2.gif
Index: kit/sample/mgp3.gif
Index: kit/sample/v6header.gif
